...

Source file src/github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts/models.go

Documentation: github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts

     1  package artifacts
     2  
     3  // Copyright (c) Microsoft Corporation. All rights reserved.
     4  // Licensed under the MIT License. See License.txt in the project root for license information.
     5  //
     6  // Code generated by Microsoft (R) AutoRest Code Generator.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  import (
    10  	"context"
    11  	"encoding/json"
    12  	"github.com/Azure/go-autorest/autorest"
    13  	"github.com/Azure/go-autorest/autorest/azure"
    14  	"github.com/Azure/go-autorest/autorest/date"
    15  	"github.com/Azure/go-autorest/autorest/to"
    16  	"github.com/Azure/go-autorest/tracing"
    17  	"github.com/gofrs/uuid"
    18  	"net/http"
    19  )
    20  
    21  // The package's fully qualified name.
    22  const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/synapse/2019-06-01-preview/artifacts"
    23  
    24  // BasicActivity a pipeline activity.
    25  type BasicActivity interface {
    26  	AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool)
    27  	AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool)
    28  	AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool)
    29  	AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool)
    30  	AsAzureFunctionActivity() (*AzureFunctionActivity, bool)
    31  	AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool)
    32  	AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool)
    33  	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
    34  	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
    35  	AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool)
    36  	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
    37  	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
    38  	AsGetMetadataActivity() (*GetMetadataActivity, bool)
    39  	AsWebActivity() (*WebActivity, bool)
    40  	AsLookupActivity() (*LookupActivity, bool)
    41  	AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool)
    42  	AsDeleteActivity() (*DeleteActivity, bool)
    43  	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
    44  	AsCustomActivity() (*CustomActivity, bool)
    45  	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
    46  	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
    47  	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
    48  	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
    49  	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
    50  	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
    51  	AsCopyActivity() (*CopyActivity, bool)
    52  	AsExecutionActivity() (*ExecutionActivity, bool)
    53  	AsBasicExecutionActivity() (BasicExecutionActivity, bool)
    54  	AsWebHookActivity() (*WebHookActivity, bool)
    55  	AsAppendVariableActivity() (*AppendVariableActivity, bool)
    56  	AsSetVariableActivity() (*SetVariableActivity, bool)
    57  	AsFilterActivity() (*FilterActivity, bool)
    58  	AsValidationActivity() (*ValidationActivity, bool)
    59  	AsUntilActivity() (*UntilActivity, bool)
    60  	AsWaitActivity() (*WaitActivity, bool)
    61  	AsForEachActivity() (*ForEachActivity, bool)
    62  	AsSwitchActivity() (*SwitchActivity, bool)
    63  	AsIfConditionActivity() (*IfConditionActivity, bool)
    64  	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
    65  	AsControlActivity() (*ControlActivity, bool)
    66  	AsBasicControlActivity() (BasicControlActivity, bool)
    67  	AsActivity() (*Activity, bool)
    68  }
    69  
    70  // Activity a pipeline activity.
    71  type Activity struct {
    72  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
    73  	AdditionalProperties map[string]interface{} `json:""`
    74  	// Name - Activity name.
    75  	Name *string `json:"name,omitempty"`
    76  	// Description - Activity description.
    77  	Description *string `json:"description,omitempty"`
    78  	// DependsOn - Activity depends on condition.
    79  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
    80  	// UserProperties - Activity user properties.
    81  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
    82  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
    83  	Type TypeBasicActivity `json:"type,omitempty"`
    84  }
    85  
    86  func unmarshalBasicActivity(body []byte) (BasicActivity, error) {
    87  	var m map[string]interface{}
    88  	err := json.Unmarshal(body, &m)
    89  	if err != nil {
    90  		return nil, err
    91  	}
    92  
    93  	switch m["type"] {
    94  	case string(TypeSQLPoolStoredProcedure):
    95  		var spspa SQLPoolStoredProcedureActivity
    96  		err := json.Unmarshal(body, &spspa)
    97  		return spspa, err
    98  	case string(TypeSparkJob):
    99  		var ssjda SynapseSparkJobDefinitionActivity
   100  		err := json.Unmarshal(body, &ssjda)
   101  		return ssjda, err
   102  	case string(TypeSynapseNotebook):
   103  		var sna SynapseNotebookActivity
   104  		err := json.Unmarshal(body, &sna)
   105  		return sna, err
   106  	case string(TypeExecuteDataFlow):
   107  		var edfa ExecuteDataFlowActivity
   108  		err := json.Unmarshal(body, &edfa)
   109  		return edfa, err
   110  	case string(TypeAzureFunctionActivity):
   111  		var afa AzureFunctionActivity
   112  		err := json.Unmarshal(body, &afa)
   113  		return afa, err
   114  	case string(TypeDatabricksSparkPython):
   115  		var dspa DatabricksSparkPythonActivity
   116  		err := json.Unmarshal(body, &dspa)
   117  		return dspa, err
   118  	case string(TypeDatabricksSparkJar):
   119  		var dsja DatabricksSparkJarActivity
   120  		err := json.Unmarshal(body, &dsja)
   121  		return dsja, err
   122  	case string(TypeDatabricksNotebook):
   123  		var dna DatabricksNotebookActivity
   124  		err := json.Unmarshal(body, &dna)
   125  		return dna, err
   126  	case string(TypeDataLakeAnalyticsUSQL):
   127  		var dlaua DataLakeAnalyticsUSQLActivity
   128  		err := json.Unmarshal(body, &dlaua)
   129  		return dlaua, err
   130  	case string(TypeAzureMLExecutePipeline):
   131  		var amepa AzureMLExecutePipelineActivity
   132  		err := json.Unmarshal(body, &amepa)
   133  		return amepa, err
   134  	case string(TypeAzureMLUpdateResource):
   135  		var amura AzureMLUpdateResourceActivity
   136  		err := json.Unmarshal(body, &amura)
   137  		return amura, err
   138  	case string(TypeAzureMLBatchExecution):
   139  		var ambea AzureMLBatchExecutionActivity
   140  		err := json.Unmarshal(body, &ambea)
   141  		return ambea, err
   142  	case string(TypeGetMetadata):
   143  		var gma GetMetadataActivity
   144  		err := json.Unmarshal(body, &gma)
   145  		return gma, err
   146  	case string(TypeWebActivity):
   147  		var wa WebActivity
   148  		err := json.Unmarshal(body, &wa)
   149  		return wa, err
   150  	case string(TypeLookup):
   151  		var la LookupActivity
   152  		err := json.Unmarshal(body, &la)
   153  		return la, err
   154  	case string(TypeAzureDataExplorerCommand):
   155  		var adeca AzureDataExplorerCommandActivity
   156  		err := json.Unmarshal(body, &adeca)
   157  		return adeca, err
   158  	case string(TypeDelete):
   159  		var da DeleteActivity
   160  		err := json.Unmarshal(body, &da)
   161  		return da, err
   162  	case string(TypeSQLServerStoredProcedure):
   163  		var ssspa SQLServerStoredProcedureActivity
   164  		err := json.Unmarshal(body, &ssspa)
   165  		return ssspa, err
   166  	case string(TypeCustom):
   167  		var ca CustomActivity
   168  		err := json.Unmarshal(body, &ca)
   169  		return ca, err
   170  	case string(TypeExecuteSSISPackage):
   171  		var espa ExecuteSSISPackageActivity
   172  		err := json.Unmarshal(body, &espa)
   173  		return espa, err
   174  	case string(TypeHDInsightSpark):
   175  		var hisa HDInsightSparkActivity
   176  		err := json.Unmarshal(body, &hisa)
   177  		return hisa, err
   178  	case string(TypeHDInsightStreaming):
   179  		var hisa HDInsightStreamingActivity
   180  		err := json.Unmarshal(body, &hisa)
   181  		return hisa, err
   182  	case string(TypeHDInsightMapReduce):
   183  		var himra HDInsightMapReduceActivity
   184  		err := json.Unmarshal(body, &himra)
   185  		return himra, err
   186  	case string(TypeHDInsightPig):
   187  		var hipa HDInsightPigActivity
   188  		err := json.Unmarshal(body, &hipa)
   189  		return hipa, err
   190  	case string(TypeHDInsightHive):
   191  		var hiha HDInsightHiveActivity
   192  		err := json.Unmarshal(body, &hiha)
   193  		return hiha, err
   194  	case string(TypeCopy):
   195  		var ca CopyActivity
   196  		err := json.Unmarshal(body, &ca)
   197  		return ca, err
   198  	case string(TypeExecution):
   199  		var ea ExecutionActivity
   200  		err := json.Unmarshal(body, &ea)
   201  		return ea, err
   202  	case string(TypeWebHook):
   203  		var wha WebHookActivity
   204  		err := json.Unmarshal(body, &wha)
   205  		return wha, err
   206  	case string(TypeAppendVariable):
   207  		var ava AppendVariableActivity
   208  		err := json.Unmarshal(body, &ava)
   209  		return ava, err
   210  	case string(TypeSetVariable):
   211  		var sva SetVariableActivity
   212  		err := json.Unmarshal(body, &sva)
   213  		return sva, err
   214  	case string(TypeFilter):
   215  		var fa FilterActivity
   216  		err := json.Unmarshal(body, &fa)
   217  		return fa, err
   218  	case string(TypeValidation):
   219  		var va ValidationActivity
   220  		err := json.Unmarshal(body, &va)
   221  		return va, err
   222  	case string(TypeUntil):
   223  		var ua UntilActivity
   224  		err := json.Unmarshal(body, &ua)
   225  		return ua, err
   226  	case string(TypeWait):
   227  		var wa WaitActivity
   228  		err := json.Unmarshal(body, &wa)
   229  		return wa, err
   230  	case string(TypeForEach):
   231  		var fea ForEachActivity
   232  		err := json.Unmarshal(body, &fea)
   233  		return fea, err
   234  	case string(TypeSwitch):
   235  		var sa SwitchActivity
   236  		err := json.Unmarshal(body, &sa)
   237  		return sa, err
   238  	case string(TypeIfCondition):
   239  		var ica IfConditionActivity
   240  		err := json.Unmarshal(body, &ica)
   241  		return ica, err
   242  	case string(TypeExecutePipeline):
   243  		var epa ExecutePipelineActivity
   244  		err := json.Unmarshal(body, &epa)
   245  		return epa, err
   246  	case string(TypeContainer):
   247  		var ca ControlActivity
   248  		err := json.Unmarshal(body, &ca)
   249  		return ca, err
   250  	default:
   251  		var a Activity
   252  		err := json.Unmarshal(body, &a)
   253  		return a, err
   254  	}
   255  }
   256  func unmarshalBasicActivityArray(body []byte) ([]BasicActivity, error) {
   257  	var rawMessages []*json.RawMessage
   258  	err := json.Unmarshal(body, &rawMessages)
   259  	if err != nil {
   260  		return nil, err
   261  	}
   262  
   263  	aArray := make([]BasicActivity, len(rawMessages))
   264  
   265  	for index, rawMessage := range rawMessages {
   266  		a, err := unmarshalBasicActivity(*rawMessage)
   267  		if err != nil {
   268  			return nil, err
   269  		}
   270  		aArray[index] = a
   271  	}
   272  	return aArray, nil
   273  }
   274  
   275  // MarshalJSON is the custom marshaler for Activity.
   276  func (a Activity) MarshalJSON() ([]byte, error) {
   277  	a.Type = TypeActivity
   278  	objectMap := make(map[string]interface{})
   279  	if a.Name != nil {
   280  		objectMap["name"] = a.Name
   281  	}
   282  	if a.Description != nil {
   283  		objectMap["description"] = a.Description
   284  	}
   285  	if a.DependsOn != nil {
   286  		objectMap["dependsOn"] = a.DependsOn
   287  	}
   288  	if a.UserProperties != nil {
   289  		objectMap["userProperties"] = a.UserProperties
   290  	}
   291  	if a.Type != "" {
   292  		objectMap["type"] = a.Type
   293  	}
   294  	for k, v := range a.AdditionalProperties {
   295  		objectMap[k] = v
   296  	}
   297  	return json.Marshal(objectMap)
   298  }
   299  
   300  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for Activity.
   301  func (a Activity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
   302  	return nil, false
   303  }
   304  
   305  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for Activity.
   306  func (a Activity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
   307  	return nil, false
   308  }
   309  
   310  // AsSynapseNotebookActivity is the BasicActivity implementation for Activity.
   311  func (a Activity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
   312  	return nil, false
   313  }
   314  
   315  // AsExecuteDataFlowActivity is the BasicActivity implementation for Activity.
   316  func (a Activity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
   317  	return nil, false
   318  }
   319  
   320  // AsAzureFunctionActivity is the BasicActivity implementation for Activity.
   321  func (a Activity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
   322  	return nil, false
   323  }
   324  
   325  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for Activity.
   326  func (a Activity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
   327  	return nil, false
   328  }
   329  
   330  // AsDatabricksSparkJarActivity is the BasicActivity implementation for Activity.
   331  func (a Activity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
   332  	return nil, false
   333  }
   334  
   335  // AsDatabricksNotebookActivity is the BasicActivity implementation for Activity.
   336  func (a Activity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
   337  	return nil, false
   338  }
   339  
   340  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for Activity.
   341  func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
   342  	return nil, false
   343  }
   344  
   345  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for Activity.
   346  func (a Activity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
   347  	return nil, false
   348  }
   349  
   350  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity.
   351  func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
   352  	return nil, false
   353  }
   354  
   355  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for Activity.
   356  func (a Activity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
   357  	return nil, false
   358  }
   359  
   360  // AsGetMetadataActivity is the BasicActivity implementation for Activity.
   361  func (a Activity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
   362  	return nil, false
   363  }
   364  
   365  // AsWebActivity is the BasicActivity implementation for Activity.
   366  func (a Activity) AsWebActivity() (*WebActivity, bool) {
   367  	return nil, false
   368  }
   369  
   370  // AsLookupActivity is the BasicActivity implementation for Activity.
   371  func (a Activity) AsLookupActivity() (*LookupActivity, bool) {
   372  	return nil, false
   373  }
   374  
   375  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for Activity.
   376  func (a Activity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
   377  	return nil, false
   378  }
   379  
   380  // AsDeleteActivity is the BasicActivity implementation for Activity.
   381  func (a Activity) AsDeleteActivity() (*DeleteActivity, bool) {
   382  	return nil, false
   383  }
   384  
   385  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for Activity.
   386  func (a Activity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
   387  	return nil, false
   388  }
   389  
   390  // AsCustomActivity is the BasicActivity implementation for Activity.
   391  func (a Activity) AsCustomActivity() (*CustomActivity, bool) {
   392  	return nil, false
   393  }
   394  
   395  // AsExecuteSSISPackageActivity is the BasicActivity implementation for Activity.
   396  func (a Activity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
   397  	return nil, false
   398  }
   399  
   400  // AsHDInsightSparkActivity is the BasicActivity implementation for Activity.
   401  func (a Activity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
   402  	return nil, false
   403  }
   404  
   405  // AsHDInsightStreamingActivity is the BasicActivity implementation for Activity.
   406  func (a Activity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
   407  	return nil, false
   408  }
   409  
   410  // AsHDInsightMapReduceActivity is the BasicActivity implementation for Activity.
   411  func (a Activity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
   412  	return nil, false
   413  }
   414  
   415  // AsHDInsightPigActivity is the BasicActivity implementation for Activity.
   416  func (a Activity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
   417  	return nil, false
   418  }
   419  
   420  // AsHDInsightHiveActivity is the BasicActivity implementation for Activity.
   421  func (a Activity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
   422  	return nil, false
   423  }
   424  
   425  // AsCopyActivity is the BasicActivity implementation for Activity.
   426  func (a Activity) AsCopyActivity() (*CopyActivity, bool) {
   427  	return nil, false
   428  }
   429  
   430  // AsExecutionActivity is the BasicActivity implementation for Activity.
   431  func (a Activity) AsExecutionActivity() (*ExecutionActivity, bool) {
   432  	return nil, false
   433  }
   434  
   435  // AsBasicExecutionActivity is the BasicActivity implementation for Activity.
   436  func (a Activity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
   437  	return nil, false
   438  }
   439  
   440  // AsWebHookActivity is the BasicActivity implementation for Activity.
   441  func (a Activity) AsWebHookActivity() (*WebHookActivity, bool) {
   442  	return nil, false
   443  }
   444  
   445  // AsAppendVariableActivity is the BasicActivity implementation for Activity.
   446  func (a Activity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
   447  	return nil, false
   448  }
   449  
   450  // AsSetVariableActivity is the BasicActivity implementation for Activity.
   451  func (a Activity) AsSetVariableActivity() (*SetVariableActivity, bool) {
   452  	return nil, false
   453  }
   454  
   455  // AsFilterActivity is the BasicActivity implementation for Activity.
   456  func (a Activity) AsFilterActivity() (*FilterActivity, bool) {
   457  	return nil, false
   458  }
   459  
   460  // AsValidationActivity is the BasicActivity implementation for Activity.
   461  func (a Activity) AsValidationActivity() (*ValidationActivity, bool) {
   462  	return nil, false
   463  }
   464  
   465  // AsUntilActivity is the BasicActivity implementation for Activity.
   466  func (a Activity) AsUntilActivity() (*UntilActivity, bool) {
   467  	return nil, false
   468  }
   469  
   470  // AsWaitActivity is the BasicActivity implementation for Activity.
   471  func (a Activity) AsWaitActivity() (*WaitActivity, bool) {
   472  	return nil, false
   473  }
   474  
   475  // AsForEachActivity is the BasicActivity implementation for Activity.
   476  func (a Activity) AsForEachActivity() (*ForEachActivity, bool) {
   477  	return nil, false
   478  }
   479  
   480  // AsSwitchActivity is the BasicActivity implementation for Activity.
   481  func (a Activity) AsSwitchActivity() (*SwitchActivity, bool) {
   482  	return nil, false
   483  }
   484  
   485  // AsIfConditionActivity is the BasicActivity implementation for Activity.
   486  func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) {
   487  	return nil, false
   488  }
   489  
   490  // AsExecutePipelineActivity is the BasicActivity implementation for Activity.
   491  func (a Activity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
   492  	return nil, false
   493  }
   494  
   495  // AsControlActivity is the BasicActivity implementation for Activity.
   496  func (a Activity) AsControlActivity() (*ControlActivity, bool) {
   497  	return nil, false
   498  }
   499  
   500  // AsBasicControlActivity is the BasicActivity implementation for Activity.
   501  func (a Activity) AsBasicControlActivity() (BasicControlActivity, bool) {
   502  	return nil, false
   503  }
   504  
   505  // AsActivity is the BasicActivity implementation for Activity.
   506  func (a Activity) AsActivity() (*Activity, bool) {
   507  	return &a, true
   508  }
   509  
   510  // AsBasicActivity is the BasicActivity implementation for Activity.
   511  func (a Activity) AsBasicActivity() (BasicActivity, bool) {
   512  	return &a, true
   513  }
   514  
   515  // UnmarshalJSON is the custom unmarshaler for Activity struct.
   516  func (a *Activity) UnmarshalJSON(body []byte) error {
   517  	var m map[string]*json.RawMessage
   518  	err := json.Unmarshal(body, &m)
   519  	if err != nil {
   520  		return err
   521  	}
   522  	for k, v := range m {
   523  		switch k {
   524  		default:
   525  			if v != nil {
   526  				var additionalProperties interface{}
   527  				err = json.Unmarshal(*v, &additionalProperties)
   528  				if err != nil {
   529  					return err
   530  				}
   531  				if a.AdditionalProperties == nil {
   532  					a.AdditionalProperties = make(map[string]interface{})
   533  				}
   534  				a.AdditionalProperties[k] = additionalProperties
   535  			}
   536  		case "name":
   537  			if v != nil {
   538  				var name string
   539  				err = json.Unmarshal(*v, &name)
   540  				if err != nil {
   541  					return err
   542  				}
   543  				a.Name = &name
   544  			}
   545  		case "description":
   546  			if v != nil {
   547  				var description string
   548  				err = json.Unmarshal(*v, &description)
   549  				if err != nil {
   550  					return err
   551  				}
   552  				a.Description = &description
   553  			}
   554  		case "dependsOn":
   555  			if v != nil {
   556  				var dependsOn []ActivityDependency
   557  				err = json.Unmarshal(*v, &dependsOn)
   558  				if err != nil {
   559  					return err
   560  				}
   561  				a.DependsOn = &dependsOn
   562  			}
   563  		case "userProperties":
   564  			if v != nil {
   565  				var userProperties []UserProperty
   566  				err = json.Unmarshal(*v, &userProperties)
   567  				if err != nil {
   568  					return err
   569  				}
   570  				a.UserProperties = &userProperties
   571  			}
   572  		case "type":
   573  			if v != nil {
   574  				var typeVar TypeBasicActivity
   575  				err = json.Unmarshal(*v, &typeVar)
   576  				if err != nil {
   577  					return err
   578  				}
   579  				a.Type = typeVar
   580  			}
   581  		}
   582  	}
   583  
   584  	return nil
   585  }
   586  
   587  // ActivityDependency activity dependency information.
   588  type ActivityDependency struct {
   589  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
   590  	AdditionalProperties map[string]interface{} `json:""`
   591  	// Activity - Activity name.
   592  	Activity *string `json:"activity,omitempty"`
   593  	// DependencyConditions - Match-Condition for the dependency.
   594  	DependencyConditions *[]DependencyCondition `json:"dependencyConditions,omitempty"`
   595  }
   596  
   597  // MarshalJSON is the custom marshaler for ActivityDependency.
   598  func (ad ActivityDependency) MarshalJSON() ([]byte, error) {
   599  	objectMap := make(map[string]interface{})
   600  	if ad.Activity != nil {
   601  		objectMap["activity"] = ad.Activity
   602  	}
   603  	if ad.DependencyConditions != nil {
   604  		objectMap["dependencyConditions"] = ad.DependencyConditions
   605  	}
   606  	for k, v := range ad.AdditionalProperties {
   607  		objectMap[k] = v
   608  	}
   609  	return json.Marshal(objectMap)
   610  }
   611  
   612  // UnmarshalJSON is the custom unmarshaler for ActivityDependency struct.
   613  func (ad *ActivityDependency) UnmarshalJSON(body []byte) error {
   614  	var m map[string]*json.RawMessage
   615  	err := json.Unmarshal(body, &m)
   616  	if err != nil {
   617  		return err
   618  	}
   619  	for k, v := range m {
   620  		switch k {
   621  		default:
   622  			if v != nil {
   623  				var additionalProperties interface{}
   624  				err = json.Unmarshal(*v, &additionalProperties)
   625  				if err != nil {
   626  					return err
   627  				}
   628  				if ad.AdditionalProperties == nil {
   629  					ad.AdditionalProperties = make(map[string]interface{})
   630  				}
   631  				ad.AdditionalProperties[k] = additionalProperties
   632  			}
   633  		case "activity":
   634  			if v != nil {
   635  				var activity string
   636  				err = json.Unmarshal(*v, &activity)
   637  				if err != nil {
   638  					return err
   639  				}
   640  				ad.Activity = &activity
   641  			}
   642  		case "dependencyConditions":
   643  			if v != nil {
   644  				var dependencyConditions []DependencyCondition
   645  				err = json.Unmarshal(*v, &dependencyConditions)
   646  				if err != nil {
   647  					return err
   648  				}
   649  				ad.DependencyConditions = &dependencyConditions
   650  			}
   651  		}
   652  	}
   653  
   654  	return nil
   655  }
   656  
   657  // ActivityPolicy execution policy for an activity.
   658  type ActivityPolicy struct {
   659  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
   660  	AdditionalProperties map[string]interface{} `json:""`
   661  	// 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])).
   662  	Timeout interface{} `json:"timeout,omitempty"`
   663  	// Retry - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
   664  	Retry interface{} `json:"retry,omitempty"`
   665  	// RetryIntervalInSeconds - Interval between each retry attempt (in seconds). The default is 30 sec.
   666  	RetryIntervalInSeconds *int32 `json:"retryIntervalInSeconds,omitempty"`
   667  	// SecureInput - When set to true, Input from activity is considered as secure and will not be logged to monitoring.
   668  	SecureInput *bool `json:"secureInput,omitempty"`
   669  	// SecureOutput - When set to true, Output from activity is considered as secure and will not be logged to monitoring.
   670  	SecureOutput *bool `json:"secureOutput,omitempty"`
   671  }
   672  
   673  // MarshalJSON is the custom marshaler for ActivityPolicy.
   674  func (ap ActivityPolicy) MarshalJSON() ([]byte, error) {
   675  	objectMap := make(map[string]interface{})
   676  	if ap.Timeout != nil {
   677  		objectMap["timeout"] = ap.Timeout
   678  	}
   679  	if ap.Retry != nil {
   680  		objectMap["retry"] = ap.Retry
   681  	}
   682  	if ap.RetryIntervalInSeconds != nil {
   683  		objectMap["retryIntervalInSeconds"] = ap.RetryIntervalInSeconds
   684  	}
   685  	if ap.SecureInput != nil {
   686  		objectMap["secureInput"] = ap.SecureInput
   687  	}
   688  	if ap.SecureOutput != nil {
   689  		objectMap["secureOutput"] = ap.SecureOutput
   690  	}
   691  	for k, v := range ap.AdditionalProperties {
   692  		objectMap[k] = v
   693  	}
   694  	return json.Marshal(objectMap)
   695  }
   696  
   697  // UnmarshalJSON is the custom unmarshaler for ActivityPolicy struct.
   698  func (ap *ActivityPolicy) UnmarshalJSON(body []byte) error {
   699  	var m map[string]*json.RawMessage
   700  	err := json.Unmarshal(body, &m)
   701  	if err != nil {
   702  		return err
   703  	}
   704  	for k, v := range m {
   705  		switch k {
   706  		default:
   707  			if v != nil {
   708  				var additionalProperties interface{}
   709  				err = json.Unmarshal(*v, &additionalProperties)
   710  				if err != nil {
   711  					return err
   712  				}
   713  				if ap.AdditionalProperties == nil {
   714  					ap.AdditionalProperties = make(map[string]interface{})
   715  				}
   716  				ap.AdditionalProperties[k] = additionalProperties
   717  			}
   718  		case "timeout":
   719  			if v != nil {
   720  				var timeout interface{}
   721  				err = json.Unmarshal(*v, &timeout)
   722  				if err != nil {
   723  					return err
   724  				}
   725  				ap.Timeout = timeout
   726  			}
   727  		case "retry":
   728  			if v != nil {
   729  				var retry interface{}
   730  				err = json.Unmarshal(*v, &retry)
   731  				if err != nil {
   732  					return err
   733  				}
   734  				ap.Retry = retry
   735  			}
   736  		case "retryIntervalInSeconds":
   737  			if v != nil {
   738  				var retryIntervalInSeconds int32
   739  				err = json.Unmarshal(*v, &retryIntervalInSeconds)
   740  				if err != nil {
   741  					return err
   742  				}
   743  				ap.RetryIntervalInSeconds = &retryIntervalInSeconds
   744  			}
   745  		case "secureInput":
   746  			if v != nil {
   747  				var secureInput bool
   748  				err = json.Unmarshal(*v, &secureInput)
   749  				if err != nil {
   750  					return err
   751  				}
   752  				ap.SecureInput = &secureInput
   753  			}
   754  		case "secureOutput":
   755  			if v != nil {
   756  				var secureOutput bool
   757  				err = json.Unmarshal(*v, &secureOutput)
   758  				if err != nil {
   759  					return err
   760  				}
   761  				ap.SecureOutput = &secureOutput
   762  			}
   763  		}
   764  	}
   765  
   766  	return nil
   767  }
   768  
   769  // ActivityRun information about an activity run in a pipeline.
   770  type ActivityRun struct {
   771  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
   772  	AdditionalProperties map[string]interface{} `json:""`
   773  	// PipelineName - READ-ONLY; The name of the pipeline.
   774  	PipelineName *string `json:"pipelineName,omitempty"`
   775  	// PipelineRunID - READ-ONLY; The id of the pipeline run.
   776  	PipelineRunID *string `json:"pipelineRunId,omitempty"`
   777  	// ActivityName - READ-ONLY; The name of the activity.
   778  	ActivityName *string `json:"activityName,omitempty"`
   779  	// ActivityType - READ-ONLY; The type of the activity.
   780  	ActivityType *string `json:"activityType,omitempty"`
   781  	// ActivityRunID - READ-ONLY; The id of the activity run.
   782  	ActivityRunID *string `json:"activityRunId,omitempty"`
   783  	// LinkedServiceName - READ-ONLY; The name of the compute linked service.
   784  	LinkedServiceName *string `json:"linkedServiceName,omitempty"`
   785  	// Status - READ-ONLY; The status of the activity run.
   786  	Status *string `json:"status,omitempty"`
   787  	// ActivityRunStart - READ-ONLY; The start time of the activity run in 'ISO 8601' format.
   788  	ActivityRunStart *date.Time `json:"activityRunStart,omitempty"`
   789  	// ActivityRunEnd - READ-ONLY; The end time of the activity run in 'ISO 8601' format.
   790  	ActivityRunEnd *date.Time `json:"activityRunEnd,omitempty"`
   791  	// DurationInMs - READ-ONLY; The duration of the activity run.
   792  	DurationInMs *int32 `json:"durationInMs,omitempty"`
   793  	// Input - READ-ONLY; The input for the activity.
   794  	Input interface{} `json:"input,omitempty"`
   795  	// Output - READ-ONLY; The output for the activity.
   796  	Output interface{} `json:"output,omitempty"`
   797  	// Error - READ-ONLY; The error if any from the activity run.
   798  	Error interface{} `json:"error,omitempty"`
   799  }
   800  
   801  // MarshalJSON is the custom marshaler for ActivityRun.
   802  func (ar ActivityRun) MarshalJSON() ([]byte, error) {
   803  	objectMap := make(map[string]interface{})
   804  	for k, v := range ar.AdditionalProperties {
   805  		objectMap[k] = v
   806  	}
   807  	return json.Marshal(objectMap)
   808  }
   809  
   810  // UnmarshalJSON is the custom unmarshaler for ActivityRun struct.
   811  func (ar *ActivityRun) UnmarshalJSON(body []byte) error {
   812  	var m map[string]*json.RawMessage
   813  	err := json.Unmarshal(body, &m)
   814  	if err != nil {
   815  		return err
   816  	}
   817  	for k, v := range m {
   818  		switch k {
   819  		default:
   820  			if v != nil {
   821  				var additionalProperties interface{}
   822  				err = json.Unmarshal(*v, &additionalProperties)
   823  				if err != nil {
   824  					return err
   825  				}
   826  				if ar.AdditionalProperties == nil {
   827  					ar.AdditionalProperties = make(map[string]interface{})
   828  				}
   829  				ar.AdditionalProperties[k] = additionalProperties
   830  			}
   831  		case "pipelineName":
   832  			if v != nil {
   833  				var pipelineName string
   834  				err = json.Unmarshal(*v, &pipelineName)
   835  				if err != nil {
   836  					return err
   837  				}
   838  				ar.PipelineName = &pipelineName
   839  			}
   840  		case "pipelineRunId":
   841  			if v != nil {
   842  				var pipelineRunID string
   843  				err = json.Unmarshal(*v, &pipelineRunID)
   844  				if err != nil {
   845  					return err
   846  				}
   847  				ar.PipelineRunID = &pipelineRunID
   848  			}
   849  		case "activityName":
   850  			if v != nil {
   851  				var activityName string
   852  				err = json.Unmarshal(*v, &activityName)
   853  				if err != nil {
   854  					return err
   855  				}
   856  				ar.ActivityName = &activityName
   857  			}
   858  		case "activityType":
   859  			if v != nil {
   860  				var activityType string
   861  				err = json.Unmarshal(*v, &activityType)
   862  				if err != nil {
   863  					return err
   864  				}
   865  				ar.ActivityType = &activityType
   866  			}
   867  		case "activityRunId":
   868  			if v != nil {
   869  				var activityRunID string
   870  				err = json.Unmarshal(*v, &activityRunID)
   871  				if err != nil {
   872  					return err
   873  				}
   874  				ar.ActivityRunID = &activityRunID
   875  			}
   876  		case "linkedServiceName":
   877  			if v != nil {
   878  				var linkedServiceName string
   879  				err = json.Unmarshal(*v, &linkedServiceName)
   880  				if err != nil {
   881  					return err
   882  				}
   883  				ar.LinkedServiceName = &linkedServiceName
   884  			}
   885  		case "status":
   886  			if v != nil {
   887  				var status string
   888  				err = json.Unmarshal(*v, &status)
   889  				if err != nil {
   890  					return err
   891  				}
   892  				ar.Status = &status
   893  			}
   894  		case "activityRunStart":
   895  			if v != nil {
   896  				var activityRunStart date.Time
   897  				err = json.Unmarshal(*v, &activityRunStart)
   898  				if err != nil {
   899  					return err
   900  				}
   901  				ar.ActivityRunStart = &activityRunStart
   902  			}
   903  		case "activityRunEnd":
   904  			if v != nil {
   905  				var activityRunEnd date.Time
   906  				err = json.Unmarshal(*v, &activityRunEnd)
   907  				if err != nil {
   908  					return err
   909  				}
   910  				ar.ActivityRunEnd = &activityRunEnd
   911  			}
   912  		case "durationInMs":
   913  			if v != nil {
   914  				var durationInMs int32
   915  				err = json.Unmarshal(*v, &durationInMs)
   916  				if err != nil {
   917  					return err
   918  				}
   919  				ar.DurationInMs = &durationInMs
   920  			}
   921  		case "input":
   922  			if v != nil {
   923  				var input interface{}
   924  				err = json.Unmarshal(*v, &input)
   925  				if err != nil {
   926  					return err
   927  				}
   928  				ar.Input = input
   929  			}
   930  		case "output":
   931  			if v != nil {
   932  				var output interface{}
   933  				err = json.Unmarshal(*v, &output)
   934  				if err != nil {
   935  					return err
   936  				}
   937  				ar.Output = output
   938  			}
   939  		case "error":
   940  			if v != nil {
   941  				var errorVar interface{}
   942  				err = json.Unmarshal(*v, &errorVar)
   943  				if err != nil {
   944  					return err
   945  				}
   946  				ar.Error = errorVar
   947  			}
   948  		}
   949  	}
   950  
   951  	return nil
   952  }
   953  
   954  // ActivityRunsQueryResponse a list activity runs.
   955  type ActivityRunsQueryResponse struct {
   956  	autorest.Response `json:"-"`
   957  	// Value - List of activity runs.
   958  	Value *[]ActivityRun `json:"value,omitempty"`
   959  	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
   960  	ContinuationToken *string `json:"continuationToken,omitempty"`
   961  }
   962  
   963  // AddDataFlowToDebugSessionResponse response body structure for starting data flow debug session.
   964  type AddDataFlowToDebugSessionResponse struct {
   965  	autorest.Response `json:"-"`
   966  	// JobVersion - The ID of data flow debug job version.
   967  	JobVersion *string `json:"jobVersion,omitempty"`
   968  }
   969  
   970  // AmazonMWSLinkedService amazon Marketplace Web Service linked service.
   971  type AmazonMWSLinkedService struct {
   972  	// AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties.
   973  	*AmazonMWSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
   974  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
   975  	AdditionalProperties map[string]interface{} `json:""`
   976  	// ConnectVia - The integration runtime reference.
   977  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
   978  	// Description - Linked service description.
   979  	Description *string `json:"description,omitempty"`
   980  	// Parameters - Parameters for linked service.
   981  	Parameters map[string]*ParameterSpecification `json:"parameters"`
   982  	// Annotations - List of tags that can be used for describing the linked service.
   983  	Annotations *[]interface{} `json:"annotations,omitempty"`
   984  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
   985  	Type TypeBasicLinkedService `json:"type,omitempty"`
   986  }
   987  
   988  // MarshalJSON is the custom marshaler for AmazonMWSLinkedService.
   989  func (amls AmazonMWSLinkedService) MarshalJSON() ([]byte, error) {
   990  	amls.Type = TypeAmazonMWS
   991  	objectMap := make(map[string]interface{})
   992  	if amls.AmazonMWSLinkedServiceTypeProperties != nil {
   993  		objectMap["typeProperties"] = amls.AmazonMWSLinkedServiceTypeProperties
   994  	}
   995  	if amls.ConnectVia != nil {
   996  		objectMap["connectVia"] = amls.ConnectVia
   997  	}
   998  	if amls.Description != nil {
   999  		objectMap["description"] = amls.Description
  1000  	}
  1001  	if amls.Parameters != nil {
  1002  		objectMap["parameters"] = amls.Parameters
  1003  	}
  1004  	if amls.Annotations != nil {
  1005  		objectMap["annotations"] = amls.Annotations
  1006  	}
  1007  	if amls.Type != "" {
  1008  		objectMap["type"] = amls.Type
  1009  	}
  1010  	for k, v := range amls.AdditionalProperties {
  1011  		objectMap[k] = v
  1012  	}
  1013  	return json.Marshal(objectMap)
  1014  }
  1015  
  1016  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1017  func (amls AmazonMWSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
  1018  	return nil, false
  1019  }
  1020  
  1021  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1022  func (amls AmazonMWSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
  1023  	return nil, false
  1024  }
  1025  
  1026  // AsSapTableLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1027  func (amls AmazonMWSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
  1028  	return nil, false
  1029  }
  1030  
  1031  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1032  func (amls AmazonMWSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
  1033  	return nil, false
  1034  }
  1035  
  1036  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1037  func (amls AmazonMWSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
  1038  	return nil, false
  1039  }
  1040  
  1041  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1042  func (amls AmazonMWSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
  1043  	return nil, false
  1044  }
  1045  
  1046  // AsResponsysLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1047  func (amls AmazonMWSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
  1048  	return nil, false
  1049  }
  1050  
  1051  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1052  func (amls AmazonMWSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
  1053  	return nil, false
  1054  }
  1055  
  1056  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1057  func (amls AmazonMWSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
  1058  	return nil, false
  1059  }
  1060  
  1061  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1062  func (amls AmazonMWSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
  1063  	return nil, false
  1064  }
  1065  
  1066  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1067  func (amls AmazonMWSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
  1068  	return nil, false
  1069  }
  1070  
  1071  // AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1072  func (amls AmazonMWSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
  1073  	return nil, false
  1074  }
  1075  
  1076  // AsVerticaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1077  func (amls AmazonMWSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
  1078  	return nil, false
  1079  }
  1080  
  1081  // AsZohoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1082  func (amls AmazonMWSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
  1083  	return nil, false
  1084  }
  1085  
  1086  // AsXeroLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1087  func (amls AmazonMWSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
  1088  	return nil, false
  1089  }
  1090  
  1091  // AsSquareLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1092  func (amls AmazonMWSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
  1093  	return nil, false
  1094  }
  1095  
  1096  // AsSparkLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1097  func (amls AmazonMWSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
  1098  	return nil, false
  1099  }
  1100  
  1101  // AsShopifyLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1102  func (amls AmazonMWSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
  1103  	return nil, false
  1104  }
  1105  
  1106  // AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1107  func (amls AmazonMWSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
  1108  	return nil, false
  1109  }
  1110  
  1111  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1112  func (amls AmazonMWSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
  1113  	return nil, false
  1114  }
  1115  
  1116  // AsPrestoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1117  func (amls AmazonMWSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
  1118  	return nil, false
  1119  }
  1120  
  1121  // AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1122  func (amls AmazonMWSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
  1123  	return nil, false
  1124  }
  1125  
  1126  // AsPaypalLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1127  func (amls AmazonMWSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
  1128  	return nil, false
  1129  }
  1130  
  1131  // AsMarketoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1132  func (amls AmazonMWSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
  1133  	return nil, false
  1134  }
  1135  
  1136  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1137  func (amls AmazonMWSLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
  1138  	return nil, false
  1139  }
  1140  
  1141  // AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1142  func (amls AmazonMWSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
  1143  	return nil, false
  1144  }
  1145  
  1146  // AsMagentoLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1147  func (amls AmazonMWSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
  1148  	return nil, false
  1149  }
  1150  
  1151  // AsJiraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1152  func (amls AmazonMWSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
  1153  	return nil, false
  1154  }
  1155  
  1156  // AsImpalaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1157  func (amls AmazonMWSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
  1158  	return nil, false
  1159  }
  1160  
  1161  // AsHubspotLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1162  func (amls AmazonMWSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
  1163  	return nil, false
  1164  }
  1165  
  1166  // AsHiveLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1167  func (amls AmazonMWSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
  1168  	return nil, false
  1169  }
  1170  
  1171  // AsHBaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1172  func (amls AmazonMWSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
  1173  	return nil, false
  1174  }
  1175  
  1176  // AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1177  func (amls AmazonMWSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
  1178  	return nil, false
  1179  }
  1180  
  1181  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1182  func (amls AmazonMWSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
  1183  	return nil, false
  1184  }
  1185  
  1186  // AsEloquaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1187  func (amls AmazonMWSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
  1188  	return nil, false
  1189  }
  1190  
  1191  // AsDrillLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1192  func (amls AmazonMWSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
  1193  	return nil, false
  1194  }
  1195  
  1196  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1197  func (amls AmazonMWSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
  1198  	return nil, false
  1199  }
  1200  
  1201  // AsConcurLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1202  func (amls AmazonMWSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
  1203  	return nil, false
  1204  }
  1205  
  1206  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1207  func (amls AmazonMWSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
  1208  	return nil, false
  1209  }
  1210  
  1211  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1212  func (amls AmazonMWSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
  1213  	return &amls, true
  1214  }
  1215  
  1216  // AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1217  func (amls AmazonMWSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
  1218  	return nil, false
  1219  }
  1220  
  1221  // AsSapBWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1222  func (amls AmazonMWSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
  1223  	return nil, false
  1224  }
  1225  
  1226  // AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1227  func (amls AmazonMWSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
  1228  	return nil, false
  1229  }
  1230  
  1231  // AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1232  func (amls AmazonMWSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
  1233  	return nil, false
  1234  }
  1235  
  1236  // AsHTTPLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1237  func (amls AmazonMWSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
  1238  	return nil, false
  1239  }
  1240  
  1241  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1242  func (amls AmazonMWSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
  1243  	return nil, false
  1244  }
  1245  
  1246  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1247  func (amls AmazonMWSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
  1248  	return nil, false
  1249  }
  1250  
  1251  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1252  func (amls AmazonMWSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
  1253  	return nil, false
  1254  }
  1255  
  1256  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1257  func (amls AmazonMWSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
  1258  	return nil, false
  1259  }
  1260  
  1261  // AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1262  func (amls AmazonMWSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
  1263  	return nil, false
  1264  }
  1265  
  1266  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1267  func (amls AmazonMWSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
  1268  	return nil, false
  1269  }
  1270  
  1271  // AsSapEccLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1272  func (amls AmazonMWSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
  1273  	return nil, false
  1274  }
  1275  
  1276  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1277  func (amls AmazonMWSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
  1278  	return nil, false
  1279  }
  1280  
  1281  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1282  func (amls AmazonMWSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
  1283  	return nil, false
  1284  }
  1285  
  1286  // AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1287  func (amls AmazonMWSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
  1288  	return nil, false
  1289  }
  1290  
  1291  // AsOffice365LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1292  func (amls AmazonMWSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
  1293  	return nil, false
  1294  }
  1295  
  1296  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1297  func (amls AmazonMWSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
  1298  	return nil, false
  1299  }
  1300  
  1301  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1302  func (amls AmazonMWSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
  1303  	return nil, false
  1304  }
  1305  
  1306  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1307  func (amls AmazonMWSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
  1308  	return nil, false
  1309  }
  1310  
  1311  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1312  func (amls AmazonMWSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
  1313  	return nil, false
  1314  }
  1315  
  1316  // AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1317  func (amls AmazonMWSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
  1318  	return nil, false
  1319  }
  1320  
  1321  // AsCassandraLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1322  func (amls AmazonMWSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
  1323  	return nil, false
  1324  }
  1325  
  1326  // AsWebLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1327  func (amls AmazonMWSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
  1328  	return nil, false
  1329  }
  1330  
  1331  // AsODataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1332  func (amls AmazonMWSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
  1333  	return nil, false
  1334  }
  1335  
  1336  // AsHdfsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1337  func (amls AmazonMWSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
  1338  	return nil, false
  1339  }
  1340  
  1341  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1342  func (amls AmazonMWSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
  1343  	return nil, false
  1344  }
  1345  
  1346  // AsInformixLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1347  func (amls AmazonMWSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
  1348  	return nil, false
  1349  }
  1350  
  1351  // AsOdbcLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1352  func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
  1353  	return nil, false
  1354  }
  1355  
  1356  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1357  func (amls AmazonMWSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
  1358  	return nil, false
  1359  }
  1360  
  1361  // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1362  func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
  1363  	return nil, false
  1364  }
  1365  
  1366  // AsTeradataLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1367  func (amls AmazonMWSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
  1368  	return nil, false
  1369  }
  1370  
  1371  // AsDb2LinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1372  func (amls AmazonMWSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
  1373  	return nil, false
  1374  }
  1375  
  1376  // AsSybaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1377  func (amls AmazonMWSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
  1378  	return nil, false
  1379  }
  1380  
  1381  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1382  func (amls AmazonMWSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
  1383  	return nil, false
  1384  }
  1385  
  1386  // AsMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1387  func (amls AmazonMWSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
  1388  	return nil, false
  1389  }
  1390  
  1391  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1392  func (amls AmazonMWSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
  1393  	return nil, false
  1394  }
  1395  
  1396  // AsOracleLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1397  func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
  1398  	return nil, false
  1399  }
  1400  
  1401  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1402  func (amls AmazonMWSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
  1403  	return nil, false
  1404  }
  1405  
  1406  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1407  func (amls AmazonMWSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
  1408  	return nil, false
  1409  }
  1410  
  1411  // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1412  func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
  1413  	return nil, false
  1414  }
  1415  
  1416  // AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1417  func (amls AmazonMWSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
  1418  	return nil, false
  1419  }
  1420  
  1421  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1422  func (amls AmazonMWSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
  1423  	return nil, false
  1424  }
  1425  
  1426  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1427  func (amls AmazonMWSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
  1428  	return nil, false
  1429  }
  1430  
  1431  // AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1432  func (amls AmazonMWSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
  1433  	return nil, false
  1434  }
  1435  
  1436  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1437  func (amls AmazonMWSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
  1438  	return nil, false
  1439  }
  1440  
  1441  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1442  func (amls AmazonMWSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
  1443  	return nil, false
  1444  }
  1445  
  1446  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1447  func (amls AmazonMWSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
  1448  	return nil, false
  1449  }
  1450  
  1451  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1452  func (amls AmazonMWSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
  1453  	return nil, false
  1454  }
  1455  
  1456  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1457  func (amls AmazonMWSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
  1458  	return nil, false
  1459  }
  1460  
  1461  // AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1462  func (amls AmazonMWSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
  1463  	return nil, false
  1464  }
  1465  
  1466  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1467  func (amls AmazonMWSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
  1468  	return nil, false
  1469  }
  1470  
  1471  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1472  func (amls AmazonMWSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
  1473  	return nil, false
  1474  }
  1475  
  1476  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1477  func (amls AmazonMWSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
  1478  	return nil, false
  1479  }
  1480  
  1481  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1482  func (amls AmazonMWSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
  1483  	return nil, false
  1484  }
  1485  
  1486  // AsLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1487  func (amls AmazonMWSLinkedService) AsLinkedService() (*LinkedService, bool) {
  1488  	return nil, false
  1489  }
  1490  
  1491  // AsBasicLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService.
  1492  func (amls AmazonMWSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
  1493  	return &amls, true
  1494  }
  1495  
  1496  // UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedService struct.
  1497  func (amls *AmazonMWSLinkedService) UnmarshalJSON(body []byte) error {
  1498  	var m map[string]*json.RawMessage
  1499  	err := json.Unmarshal(body, &m)
  1500  	if err != nil {
  1501  		return err
  1502  	}
  1503  	for k, v := range m {
  1504  		switch k {
  1505  		case "typeProperties":
  1506  			if v != nil {
  1507  				var amazonMWSLinkedServiceTypeProperties AmazonMWSLinkedServiceTypeProperties
  1508  				err = json.Unmarshal(*v, &amazonMWSLinkedServiceTypeProperties)
  1509  				if err != nil {
  1510  					return err
  1511  				}
  1512  				amls.AmazonMWSLinkedServiceTypeProperties = &amazonMWSLinkedServiceTypeProperties
  1513  			}
  1514  		default:
  1515  			if v != nil {
  1516  				var additionalProperties interface{}
  1517  				err = json.Unmarshal(*v, &additionalProperties)
  1518  				if err != nil {
  1519  					return err
  1520  				}
  1521  				if amls.AdditionalProperties == nil {
  1522  					amls.AdditionalProperties = make(map[string]interface{})
  1523  				}
  1524  				amls.AdditionalProperties[k] = additionalProperties
  1525  			}
  1526  		case "connectVia":
  1527  			if v != nil {
  1528  				var connectVia IntegrationRuntimeReference
  1529  				err = json.Unmarshal(*v, &connectVia)
  1530  				if err != nil {
  1531  					return err
  1532  				}
  1533  				amls.ConnectVia = &connectVia
  1534  			}
  1535  		case "description":
  1536  			if v != nil {
  1537  				var description string
  1538  				err = json.Unmarshal(*v, &description)
  1539  				if err != nil {
  1540  					return err
  1541  				}
  1542  				amls.Description = &description
  1543  			}
  1544  		case "parameters":
  1545  			if v != nil {
  1546  				var parameters map[string]*ParameterSpecification
  1547  				err = json.Unmarshal(*v, &parameters)
  1548  				if err != nil {
  1549  					return err
  1550  				}
  1551  				amls.Parameters = parameters
  1552  			}
  1553  		case "annotations":
  1554  			if v != nil {
  1555  				var annotations []interface{}
  1556  				err = json.Unmarshal(*v, &annotations)
  1557  				if err != nil {
  1558  					return err
  1559  				}
  1560  				amls.Annotations = &annotations
  1561  			}
  1562  		case "type":
  1563  			if v != nil {
  1564  				var typeVar TypeBasicLinkedService
  1565  				err = json.Unmarshal(*v, &typeVar)
  1566  				if err != nil {
  1567  					return err
  1568  				}
  1569  				amls.Type = typeVar
  1570  			}
  1571  		}
  1572  	}
  1573  
  1574  	return nil
  1575  }
  1576  
  1577  // AmazonMWSLinkedServiceTypeProperties amazon Marketplace Web Service linked service properties.
  1578  type AmazonMWSLinkedServiceTypeProperties struct {
  1579  	// Endpoint - The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)
  1580  	Endpoint interface{} `json:"endpoint,omitempty"`
  1581  	// 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)
  1582  	MarketplaceID interface{} `json:"marketplaceID,omitempty"`
  1583  	// SellerID - The Amazon seller ID.
  1584  	SellerID interface{} `json:"sellerID,omitempty"`
  1585  	// MwsAuthToken - The Amazon MWS authentication token.
  1586  	MwsAuthToken BasicSecretBase `json:"mwsAuthToken,omitempty"`
  1587  	// AccessKeyID - The access key id used to access data.
  1588  	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
  1589  	// SecretKey - The secret key used to access data.
  1590  	SecretKey BasicSecretBase `json:"secretKey,omitempty"`
  1591  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
  1592  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
  1593  	// 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.
  1594  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
  1595  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
  1596  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
  1597  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
  1598  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
  1599  }
  1600  
  1601  // UnmarshalJSON is the custom unmarshaler for AmazonMWSLinkedServiceTypeProperties struct.
  1602  func (amlstp *AmazonMWSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
  1603  	var m map[string]*json.RawMessage
  1604  	err := json.Unmarshal(body, &m)
  1605  	if err != nil {
  1606  		return err
  1607  	}
  1608  	for k, v := range m {
  1609  		switch k {
  1610  		case "endpoint":
  1611  			if v != nil {
  1612  				var endpoint interface{}
  1613  				err = json.Unmarshal(*v, &endpoint)
  1614  				if err != nil {
  1615  					return err
  1616  				}
  1617  				amlstp.Endpoint = endpoint
  1618  			}
  1619  		case "marketplaceID":
  1620  			if v != nil {
  1621  				var marketplaceID interface{}
  1622  				err = json.Unmarshal(*v, &marketplaceID)
  1623  				if err != nil {
  1624  					return err
  1625  				}
  1626  				amlstp.MarketplaceID = marketplaceID
  1627  			}
  1628  		case "sellerID":
  1629  			if v != nil {
  1630  				var sellerID interface{}
  1631  				err = json.Unmarshal(*v, &sellerID)
  1632  				if err != nil {
  1633  					return err
  1634  				}
  1635  				amlstp.SellerID = sellerID
  1636  			}
  1637  		case "mwsAuthToken":
  1638  			if v != nil {
  1639  				mwsAuthToken, err := unmarshalBasicSecretBase(*v)
  1640  				if err != nil {
  1641  					return err
  1642  				}
  1643  				amlstp.MwsAuthToken = mwsAuthToken
  1644  			}
  1645  		case "accessKeyId":
  1646  			if v != nil {
  1647  				var accessKeyID interface{}
  1648  				err = json.Unmarshal(*v, &accessKeyID)
  1649  				if err != nil {
  1650  					return err
  1651  				}
  1652  				amlstp.AccessKeyID = accessKeyID
  1653  			}
  1654  		case "secretKey":
  1655  			if v != nil {
  1656  				secretKey, err := unmarshalBasicSecretBase(*v)
  1657  				if err != nil {
  1658  					return err
  1659  				}
  1660  				amlstp.SecretKey = secretKey
  1661  			}
  1662  		case "useEncryptedEndpoints":
  1663  			if v != nil {
  1664  				var useEncryptedEndpoints interface{}
  1665  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
  1666  				if err != nil {
  1667  					return err
  1668  				}
  1669  				amlstp.UseEncryptedEndpoints = useEncryptedEndpoints
  1670  			}
  1671  		case "useHostVerification":
  1672  			if v != nil {
  1673  				var useHostVerification interface{}
  1674  				err = json.Unmarshal(*v, &useHostVerification)
  1675  				if err != nil {
  1676  					return err
  1677  				}
  1678  				amlstp.UseHostVerification = useHostVerification
  1679  			}
  1680  		case "usePeerVerification":
  1681  			if v != nil {
  1682  				var usePeerVerification interface{}
  1683  				err = json.Unmarshal(*v, &usePeerVerification)
  1684  				if err != nil {
  1685  					return err
  1686  				}
  1687  				amlstp.UsePeerVerification = usePeerVerification
  1688  			}
  1689  		case "encryptedCredential":
  1690  			if v != nil {
  1691  				var encryptedCredential interface{}
  1692  				err = json.Unmarshal(*v, &encryptedCredential)
  1693  				if err != nil {
  1694  					return err
  1695  				}
  1696  				amlstp.EncryptedCredential = encryptedCredential
  1697  			}
  1698  		}
  1699  	}
  1700  
  1701  	return nil
  1702  }
  1703  
  1704  // AmazonMWSObjectDataset amazon Marketplace Web Service dataset.
  1705  type AmazonMWSObjectDataset struct {
  1706  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
  1707  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
  1708  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  1709  	AdditionalProperties map[string]interface{} `json:""`
  1710  	// Description - Dataset description.
  1711  	Description *string `json:"description,omitempty"`
  1712  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
  1713  	Structure interface{} `json:"structure,omitempty"`
  1714  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
  1715  	Schema interface{} `json:"schema,omitempty"`
  1716  	// LinkedServiceName - Linked service reference.
  1717  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
  1718  	// Parameters - Parameters for dataset.
  1719  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  1720  	// Annotations - List of tags that can be used for describing the Dataset.
  1721  	Annotations *[]interface{} `json:"annotations,omitempty"`
  1722  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
  1723  	Folder *DatasetFolder `json:"folder,omitempty"`
  1724  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
  1725  	Type TypeBasicDataset `json:"type,omitempty"`
  1726  }
  1727  
  1728  // MarshalJSON is the custom marshaler for AmazonMWSObjectDataset.
  1729  func (amod AmazonMWSObjectDataset) MarshalJSON() ([]byte, error) {
  1730  	amod.Type = TypeAmazonMWSObject
  1731  	objectMap := make(map[string]interface{})
  1732  	if amod.GenericDatasetTypeProperties != nil {
  1733  		objectMap["typeProperties"] = amod.GenericDatasetTypeProperties
  1734  	}
  1735  	if amod.Description != nil {
  1736  		objectMap["description"] = amod.Description
  1737  	}
  1738  	if amod.Structure != nil {
  1739  		objectMap["structure"] = amod.Structure
  1740  	}
  1741  	if amod.Schema != nil {
  1742  		objectMap["schema"] = amod.Schema
  1743  	}
  1744  	if amod.LinkedServiceName != nil {
  1745  		objectMap["linkedServiceName"] = amod.LinkedServiceName
  1746  	}
  1747  	if amod.Parameters != nil {
  1748  		objectMap["parameters"] = amod.Parameters
  1749  	}
  1750  	if amod.Annotations != nil {
  1751  		objectMap["annotations"] = amod.Annotations
  1752  	}
  1753  	if amod.Folder != nil {
  1754  		objectMap["folder"] = amod.Folder
  1755  	}
  1756  	if amod.Type != "" {
  1757  		objectMap["type"] = amod.Type
  1758  	}
  1759  	for k, v := range amod.AdditionalProperties {
  1760  		objectMap[k] = v
  1761  	}
  1762  	return json.Marshal(objectMap)
  1763  }
  1764  
  1765  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1766  func (amod AmazonMWSObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
  1767  	return nil, false
  1768  }
  1769  
  1770  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1771  func (amod AmazonMWSObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
  1772  	return nil, false
  1773  }
  1774  
  1775  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1776  func (amod AmazonMWSObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
  1777  	return nil, false
  1778  }
  1779  
  1780  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1781  func (amod AmazonMWSObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
  1782  	return nil, false
  1783  }
  1784  
  1785  // AsResponsysObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1786  func (amod AmazonMWSObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
  1787  	return nil, false
  1788  }
  1789  
  1790  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1791  func (amod AmazonMWSObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
  1792  	return nil, false
  1793  }
  1794  
  1795  // AsVerticaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1796  func (amod AmazonMWSObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
  1797  	return nil, false
  1798  }
  1799  
  1800  // AsNetezzaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1801  func (amod AmazonMWSObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
  1802  	return nil, false
  1803  }
  1804  
  1805  // AsZohoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1806  func (amod AmazonMWSObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
  1807  	return nil, false
  1808  }
  1809  
  1810  // AsXeroObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1811  func (amod AmazonMWSObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
  1812  	return nil, false
  1813  }
  1814  
  1815  // AsSquareObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1816  func (amod AmazonMWSObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
  1817  	return nil, false
  1818  }
  1819  
  1820  // AsSparkObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1821  func (amod AmazonMWSObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
  1822  	return nil, false
  1823  }
  1824  
  1825  // AsShopifyObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1826  func (amod AmazonMWSObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
  1827  	return nil, false
  1828  }
  1829  
  1830  // AsServiceNowObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1831  func (amod AmazonMWSObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
  1832  	return nil, false
  1833  }
  1834  
  1835  // AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1836  func (amod AmazonMWSObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
  1837  	return nil, false
  1838  }
  1839  
  1840  // AsPrestoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1841  func (amod AmazonMWSObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
  1842  	return nil, false
  1843  }
  1844  
  1845  // AsPhoenixObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1846  func (amod AmazonMWSObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
  1847  	return nil, false
  1848  }
  1849  
  1850  // AsPaypalObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1851  func (amod AmazonMWSObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
  1852  	return nil, false
  1853  }
  1854  
  1855  // AsMarketoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1856  func (amod AmazonMWSObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
  1857  	return nil, false
  1858  }
  1859  
  1860  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1861  func (amod AmazonMWSObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
  1862  	return nil, false
  1863  }
  1864  
  1865  // AsMariaDBTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1866  func (amod AmazonMWSObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
  1867  	return nil, false
  1868  }
  1869  
  1870  // AsMagentoObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1871  func (amod AmazonMWSObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
  1872  	return nil, false
  1873  }
  1874  
  1875  // AsJiraObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1876  func (amod AmazonMWSObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
  1877  	return nil, false
  1878  }
  1879  
  1880  // AsImpalaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1881  func (amod AmazonMWSObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
  1882  	return nil, false
  1883  }
  1884  
  1885  // AsHubspotObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1886  func (amod AmazonMWSObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
  1887  	return nil, false
  1888  }
  1889  
  1890  // AsHiveObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1891  func (amod AmazonMWSObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
  1892  	return nil, false
  1893  }
  1894  
  1895  // AsHBaseObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1896  func (amod AmazonMWSObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
  1897  	return nil, false
  1898  }
  1899  
  1900  // AsGreenplumTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1901  func (amod AmazonMWSObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
  1902  	return nil, false
  1903  }
  1904  
  1905  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1906  func (amod AmazonMWSObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
  1907  	return nil, false
  1908  }
  1909  
  1910  // AsEloquaObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1911  func (amod AmazonMWSObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
  1912  	return nil, false
  1913  }
  1914  
  1915  // AsDrillTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1916  func (amod AmazonMWSObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
  1917  	return nil, false
  1918  }
  1919  
  1920  // AsCouchbaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1921  func (amod AmazonMWSObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
  1922  	return nil, false
  1923  }
  1924  
  1925  // AsConcurObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1926  func (amod AmazonMWSObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
  1927  	return nil, false
  1928  }
  1929  
  1930  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1931  func (amod AmazonMWSObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
  1932  	return nil, false
  1933  }
  1934  
  1935  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1936  func (amod AmazonMWSObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
  1937  	return &amod, true
  1938  }
  1939  
  1940  // AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1941  func (amod AmazonMWSObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
  1942  	return nil, false
  1943  }
  1944  
  1945  // AsWebTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1946  func (amod AmazonMWSObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
  1947  	return nil, false
  1948  }
  1949  
  1950  // AsSapTableResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1951  func (amod AmazonMWSObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
  1952  	return nil, false
  1953  }
  1954  
  1955  // AsRestResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1956  func (amod AmazonMWSObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
  1957  	return nil, false
  1958  }
  1959  
  1960  // AsSQLServerTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1961  func (amod AmazonMWSObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
  1962  	return nil, false
  1963  }
  1964  
  1965  // AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1966  func (amod AmazonMWSObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
  1967  	return nil, false
  1968  }
  1969  
  1970  // AsSapHanaTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1971  func (amod AmazonMWSObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
  1972  	return nil, false
  1973  }
  1974  
  1975  // AsSapEccResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1976  func (amod AmazonMWSObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
  1977  	return nil, false
  1978  }
  1979  
  1980  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1981  func (amod AmazonMWSObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
  1982  	return nil, false
  1983  }
  1984  
  1985  // AsSapBwCubeDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1986  func (amod AmazonMWSObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
  1987  	return nil, false
  1988  }
  1989  
  1990  // AsSybaseTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1991  func (amod AmazonMWSObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
  1992  	return nil, false
  1993  }
  1994  
  1995  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  1996  func (amod AmazonMWSObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
  1997  	return nil, false
  1998  }
  1999  
  2000  // AsSalesforceObjectDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2001  func (amod AmazonMWSObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
  2002  	return nil, false
  2003  }
  2004  
  2005  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2006  func (amod AmazonMWSObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
  2007  	return nil, false
  2008  }
  2009  
  2010  // AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2011  func (amod AmazonMWSObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
  2012  	return nil, false
  2013  }
  2014  
  2015  // AsMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2016  func (amod AmazonMWSObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
  2017  	return nil, false
  2018  }
  2019  
  2020  // AsOdbcTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2021  func (amod AmazonMWSObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
  2022  	return nil, false
  2023  }
  2024  
  2025  // AsInformixTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2026  func (amod AmazonMWSObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
  2027  	return nil, false
  2028  }
  2029  
  2030  // AsRelationalTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2031  func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
  2032  	return nil, false
  2033  }
  2034  
  2035  // AsDb2TableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2036  func (amod AmazonMWSObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
  2037  	return nil, false
  2038  }
  2039  
  2040  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2041  func (amod AmazonMWSObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
  2042  	return nil, false
  2043  }
  2044  
  2045  // AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2046  func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
  2047  	return nil, false
  2048  }
  2049  
  2050  // AsTeradataTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2051  func (amod AmazonMWSObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
  2052  	return nil, false
  2053  }
  2054  
  2055  // AsOracleTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2056  func (amod AmazonMWSObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
  2057  	return nil, false
  2058  }
  2059  
  2060  // AsODataResourceDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2061  func (amod AmazonMWSObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
  2062  	return nil, false
  2063  }
  2064  
  2065  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2066  func (amod AmazonMWSObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
  2067  	return nil, false
  2068  }
  2069  
  2070  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2071  func (amod AmazonMWSObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
  2072  	return nil, false
  2073  }
  2074  
  2075  // AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2076  func (amod AmazonMWSObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
  2077  	return nil, false
  2078  }
  2079  
  2080  // AsOffice365Dataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2081  func (amod AmazonMWSObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
  2082  	return nil, false
  2083  }
  2084  
  2085  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2086  func (amod AmazonMWSObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
  2087  	return nil, false
  2088  }
  2089  
  2090  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2091  func (amod AmazonMWSObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
  2092  	return nil, false
  2093  }
  2094  
  2095  // AsDynamicsEntityDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2096  func (amod AmazonMWSObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
  2097  	return nil, false
  2098  }
  2099  
  2100  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2101  func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
  2102  	return nil, false
  2103  }
  2104  
  2105  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2106  func (amod AmazonMWSObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
  2107  	return nil, false
  2108  }
  2109  
  2110  // AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2111  func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
  2112  	return nil, false
  2113  }
  2114  
  2115  // AsCassandraTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2116  func (amod AmazonMWSObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
  2117  	return nil, false
  2118  }
  2119  
  2120  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2121  func (amod AmazonMWSObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
  2122  	return nil, false
  2123  }
  2124  
  2125  // AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2126  func (amod AmazonMWSObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
  2127  	return nil, false
  2128  }
  2129  
  2130  // AsAzureSQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2131  func (amod AmazonMWSObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
  2132  	return nil, false
  2133  }
  2134  
  2135  // AsAzureTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2136  func (amod AmazonMWSObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
  2137  	return nil, false
  2138  }
  2139  
  2140  // AsBinaryDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2141  func (amod AmazonMWSObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
  2142  	return nil, false
  2143  }
  2144  
  2145  // AsOrcDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2146  func (amod AmazonMWSObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
  2147  	return nil, false
  2148  }
  2149  
  2150  // AsJSONDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2151  func (amod AmazonMWSObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
  2152  	return nil, false
  2153  }
  2154  
  2155  // AsDelimitedTextDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2156  func (amod AmazonMWSObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
  2157  	return nil, false
  2158  }
  2159  
  2160  // AsParquetDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2161  func (amod AmazonMWSObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
  2162  	return nil, false
  2163  }
  2164  
  2165  // AsAvroDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2166  func (amod AmazonMWSObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
  2167  	return nil, false
  2168  }
  2169  
  2170  // AsDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2171  func (amod AmazonMWSObjectDataset) AsDataset() (*Dataset, bool) {
  2172  	return nil, false
  2173  }
  2174  
  2175  // AsBasicDataset is the BasicDataset implementation for AmazonMWSObjectDataset.
  2176  func (amod AmazonMWSObjectDataset) AsBasicDataset() (BasicDataset, bool) {
  2177  	return &amod, true
  2178  }
  2179  
  2180  // UnmarshalJSON is the custom unmarshaler for AmazonMWSObjectDataset struct.
  2181  func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error {
  2182  	var m map[string]*json.RawMessage
  2183  	err := json.Unmarshal(body, &m)
  2184  	if err != nil {
  2185  		return err
  2186  	}
  2187  	for k, v := range m {
  2188  		switch k {
  2189  		case "typeProperties":
  2190  			if v != nil {
  2191  				var genericDatasetTypeProperties GenericDatasetTypeProperties
  2192  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
  2193  				if err != nil {
  2194  					return err
  2195  				}
  2196  				amod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
  2197  			}
  2198  		default:
  2199  			if v != nil {
  2200  				var additionalProperties interface{}
  2201  				err = json.Unmarshal(*v, &additionalProperties)
  2202  				if err != nil {
  2203  					return err
  2204  				}
  2205  				if amod.AdditionalProperties == nil {
  2206  					amod.AdditionalProperties = make(map[string]interface{})
  2207  				}
  2208  				amod.AdditionalProperties[k] = additionalProperties
  2209  			}
  2210  		case "description":
  2211  			if v != nil {
  2212  				var description string
  2213  				err = json.Unmarshal(*v, &description)
  2214  				if err != nil {
  2215  					return err
  2216  				}
  2217  				amod.Description = &description
  2218  			}
  2219  		case "structure":
  2220  			if v != nil {
  2221  				var structure interface{}
  2222  				err = json.Unmarshal(*v, &structure)
  2223  				if err != nil {
  2224  					return err
  2225  				}
  2226  				amod.Structure = structure
  2227  			}
  2228  		case "schema":
  2229  			if v != nil {
  2230  				var schema interface{}
  2231  				err = json.Unmarshal(*v, &schema)
  2232  				if err != nil {
  2233  					return err
  2234  				}
  2235  				amod.Schema = schema
  2236  			}
  2237  		case "linkedServiceName":
  2238  			if v != nil {
  2239  				var linkedServiceName LinkedServiceReference
  2240  				err = json.Unmarshal(*v, &linkedServiceName)
  2241  				if err != nil {
  2242  					return err
  2243  				}
  2244  				amod.LinkedServiceName = &linkedServiceName
  2245  			}
  2246  		case "parameters":
  2247  			if v != nil {
  2248  				var parameters map[string]*ParameterSpecification
  2249  				err = json.Unmarshal(*v, &parameters)
  2250  				if err != nil {
  2251  					return err
  2252  				}
  2253  				amod.Parameters = parameters
  2254  			}
  2255  		case "annotations":
  2256  			if v != nil {
  2257  				var annotations []interface{}
  2258  				err = json.Unmarshal(*v, &annotations)
  2259  				if err != nil {
  2260  					return err
  2261  				}
  2262  				amod.Annotations = &annotations
  2263  			}
  2264  		case "folder":
  2265  			if v != nil {
  2266  				var folder DatasetFolder
  2267  				err = json.Unmarshal(*v, &folder)
  2268  				if err != nil {
  2269  					return err
  2270  				}
  2271  				amod.Folder = &folder
  2272  			}
  2273  		case "type":
  2274  			if v != nil {
  2275  				var typeVar TypeBasicDataset
  2276  				err = json.Unmarshal(*v, &typeVar)
  2277  				if err != nil {
  2278  					return err
  2279  				}
  2280  				amod.Type = typeVar
  2281  			}
  2282  		}
  2283  	}
  2284  
  2285  	return nil
  2286  }
  2287  
  2288  // AmazonMWSSource a copy activity Amazon Marketplace Web Service source.
  2289  type AmazonMWSSource struct {
  2290  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
  2291  	Query interface{} `json:"query,omitempty"`
  2292  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
  2293  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
  2294  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  2295  	AdditionalProperties map[string]interface{} `json:""`
  2296  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
  2297  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
  2298  	// 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])).
  2299  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
  2300  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
  2301  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  2302  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
  2303  	Type TypeBasicCopySource `json:"type,omitempty"`
  2304  }
  2305  
  2306  // MarshalJSON is the custom marshaler for AmazonMWSSource.
  2307  func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) {
  2308  	ams.Type = TypeAmazonMWSSource
  2309  	objectMap := make(map[string]interface{})
  2310  	if ams.Query != nil {
  2311  		objectMap["query"] = ams.Query
  2312  	}
  2313  	if ams.QueryTimeout != nil {
  2314  		objectMap["queryTimeout"] = ams.QueryTimeout
  2315  	}
  2316  	if ams.SourceRetryCount != nil {
  2317  		objectMap["sourceRetryCount"] = ams.SourceRetryCount
  2318  	}
  2319  	if ams.SourceRetryWait != nil {
  2320  		objectMap["sourceRetryWait"] = ams.SourceRetryWait
  2321  	}
  2322  	if ams.MaxConcurrentConnections != nil {
  2323  		objectMap["maxConcurrentConnections"] = ams.MaxConcurrentConnections
  2324  	}
  2325  	if ams.Type != "" {
  2326  		objectMap["type"] = ams.Type
  2327  	}
  2328  	for k, v := range ams.AdditionalProperties {
  2329  		objectMap[k] = v
  2330  	}
  2331  	return json.Marshal(objectMap)
  2332  }
  2333  
  2334  // AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource.
  2335  func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) {
  2336  	return nil, false
  2337  }
  2338  
  2339  // AsAzureBlobFSSource is the BasicCopySource implementation for AmazonMWSSource.
  2340  func (ams AmazonMWSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
  2341  	return nil, false
  2342  }
  2343  
  2344  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource.
  2345  func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
  2346  	return nil, false
  2347  }
  2348  
  2349  // AsOffice365Source is the BasicCopySource implementation for AmazonMWSSource.
  2350  func (ams AmazonMWSSource) AsOffice365Source() (*Office365Source, bool) {
  2351  	return nil, false
  2352  }
  2353  
  2354  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonMWSSource.
  2355  func (ams AmazonMWSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
  2356  	return nil, false
  2357  }
  2358  
  2359  // AsMongoDbV2Source is the BasicCopySource implementation for AmazonMWSSource.
  2360  func (ams AmazonMWSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
  2361  	return nil, false
  2362  }
  2363  
  2364  // AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource.
  2365  func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) {
  2366  	return nil, false
  2367  }
  2368  
  2369  // AsWebSource is the BasicCopySource implementation for AmazonMWSSource.
  2370  func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) {
  2371  	return nil, false
  2372  }
  2373  
  2374  // AsOracleSource is the BasicCopySource implementation for AmazonMWSSource.
  2375  func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) {
  2376  	return nil, false
  2377  }
  2378  
  2379  // AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonMWSSource.
  2380  func (ams AmazonMWSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
  2381  	return nil, false
  2382  }
  2383  
  2384  // AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource.
  2385  func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) {
  2386  	return nil, false
  2387  }
  2388  
  2389  // AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource.
  2390  func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) {
  2391  	return nil, false
  2392  }
  2393  
  2394  // AsRestSource is the BasicCopySource implementation for AmazonMWSSource.
  2395  func (ams AmazonMWSSource) AsRestSource() (*RestSource, bool) {
  2396  	return nil, false
  2397  }
  2398  
  2399  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource.
  2400  func (ams AmazonMWSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
  2401  	return nil, false
  2402  }
  2403  
  2404  // AsODataSource is the BasicCopySource implementation for AmazonMWSSource.
  2405  func (ams AmazonMWSSource) AsODataSource() (*ODataSource, bool) {
  2406  	return nil, false
  2407  }
  2408  
  2409  // AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonMWSSource.
  2410  func (ams AmazonMWSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
  2411  	return nil, false
  2412  }
  2413  
  2414  // AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource.
  2415  func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) {
  2416  	return nil, false
  2417  }
  2418  
  2419  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonMWSSource.
  2420  func (ams AmazonMWSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
  2421  	return nil, false
  2422  }
  2423  
  2424  // AsDynamicsCrmSource is the BasicCopySource implementation for AmazonMWSSource.
  2425  func (ams AmazonMWSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
  2426  	return nil, false
  2427  }
  2428  
  2429  // AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource.
  2430  func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) {
  2431  	return nil, false
  2432  }
  2433  
  2434  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonMWSSource.
  2435  func (ams AmazonMWSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
  2436  	return nil, false
  2437  }
  2438  
  2439  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource.
  2440  func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
  2441  	return nil, false
  2442  }
  2443  
  2444  // AsBlobSource is the BasicCopySource implementation for AmazonMWSSource.
  2445  func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) {
  2446  	return nil, false
  2447  }
  2448  
  2449  // AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource.
  2450  func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
  2451  	return nil, false
  2452  }
  2453  
  2454  // AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonMWSSource.
  2455  func (ams AmazonMWSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
  2456  	return nil, false
  2457  }
  2458  
  2459  // AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource.
  2460  func (ams AmazonMWSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
  2461  	return nil, false
  2462  }
  2463  
  2464  // AsDynamicsAXSource is the BasicCopySource implementation for AmazonMWSSource.
  2465  func (ams AmazonMWSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
  2466  	return nil, false
  2467  }
  2468  
  2469  // AsResponsysSource is the BasicCopySource implementation for AmazonMWSSource.
  2470  func (ams AmazonMWSSource) AsResponsysSource() (*ResponsysSource, bool) {
  2471  	return nil, false
  2472  }
  2473  
  2474  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonMWSSource.
  2475  func (ams AmazonMWSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
  2476  	return nil, false
  2477  }
  2478  
  2479  // AsVerticaSource is the BasicCopySource implementation for AmazonMWSSource.
  2480  func (ams AmazonMWSSource) AsVerticaSource() (*VerticaSource, bool) {
  2481  	return nil, false
  2482  }
  2483  
  2484  // AsNetezzaSource is the BasicCopySource implementation for AmazonMWSSource.
  2485  func (ams AmazonMWSSource) AsNetezzaSource() (*NetezzaSource, bool) {
  2486  	return nil, false
  2487  }
  2488  
  2489  // AsZohoSource is the BasicCopySource implementation for AmazonMWSSource.
  2490  func (ams AmazonMWSSource) AsZohoSource() (*ZohoSource, bool) {
  2491  	return nil, false
  2492  }
  2493  
  2494  // AsXeroSource is the BasicCopySource implementation for AmazonMWSSource.
  2495  func (ams AmazonMWSSource) AsXeroSource() (*XeroSource, bool) {
  2496  	return nil, false
  2497  }
  2498  
  2499  // AsSquareSource is the BasicCopySource implementation for AmazonMWSSource.
  2500  func (ams AmazonMWSSource) AsSquareSource() (*SquareSource, bool) {
  2501  	return nil, false
  2502  }
  2503  
  2504  // AsSparkSource is the BasicCopySource implementation for AmazonMWSSource.
  2505  func (ams AmazonMWSSource) AsSparkSource() (*SparkSource, bool) {
  2506  	return nil, false
  2507  }
  2508  
  2509  // AsShopifySource is the BasicCopySource implementation for AmazonMWSSource.
  2510  func (ams AmazonMWSSource) AsShopifySource() (*ShopifySource, bool) {
  2511  	return nil, false
  2512  }
  2513  
  2514  // AsServiceNowSource is the BasicCopySource implementation for AmazonMWSSource.
  2515  func (ams AmazonMWSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
  2516  	return nil, false
  2517  }
  2518  
  2519  // AsQuickBooksSource is the BasicCopySource implementation for AmazonMWSSource.
  2520  func (ams AmazonMWSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
  2521  	return nil, false
  2522  }
  2523  
  2524  // AsPrestoSource is the BasicCopySource implementation for AmazonMWSSource.
  2525  func (ams AmazonMWSSource) AsPrestoSource() (*PrestoSource, bool) {
  2526  	return nil, false
  2527  }
  2528  
  2529  // AsPhoenixSource is the BasicCopySource implementation for AmazonMWSSource.
  2530  func (ams AmazonMWSSource) AsPhoenixSource() (*PhoenixSource, bool) {
  2531  	return nil, false
  2532  }
  2533  
  2534  // AsPaypalSource is the BasicCopySource implementation for AmazonMWSSource.
  2535  func (ams AmazonMWSSource) AsPaypalSource() (*PaypalSource, bool) {
  2536  	return nil, false
  2537  }
  2538  
  2539  // AsMarketoSource is the BasicCopySource implementation for AmazonMWSSource.
  2540  func (ams AmazonMWSSource) AsMarketoSource() (*MarketoSource, bool) {
  2541  	return nil, false
  2542  }
  2543  
  2544  // AsAzureMariaDBSource is the BasicCopySource implementation for AmazonMWSSource.
  2545  func (ams AmazonMWSSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
  2546  	return nil, false
  2547  }
  2548  
  2549  // AsMariaDBSource is the BasicCopySource implementation for AmazonMWSSource.
  2550  func (ams AmazonMWSSource) AsMariaDBSource() (*MariaDBSource, bool) {
  2551  	return nil, false
  2552  }
  2553  
  2554  // AsMagentoSource is the BasicCopySource implementation for AmazonMWSSource.
  2555  func (ams AmazonMWSSource) AsMagentoSource() (*MagentoSource, bool) {
  2556  	return nil, false
  2557  }
  2558  
  2559  // AsJiraSource is the BasicCopySource implementation for AmazonMWSSource.
  2560  func (ams AmazonMWSSource) AsJiraSource() (*JiraSource, bool) {
  2561  	return nil, false
  2562  }
  2563  
  2564  // AsImpalaSource is the BasicCopySource implementation for AmazonMWSSource.
  2565  func (ams AmazonMWSSource) AsImpalaSource() (*ImpalaSource, bool) {
  2566  	return nil, false
  2567  }
  2568  
  2569  // AsHubspotSource is the BasicCopySource implementation for AmazonMWSSource.
  2570  func (ams AmazonMWSSource) AsHubspotSource() (*HubspotSource, bool) {
  2571  	return nil, false
  2572  }
  2573  
  2574  // AsHiveSource is the BasicCopySource implementation for AmazonMWSSource.
  2575  func (ams AmazonMWSSource) AsHiveSource() (*HiveSource, bool) {
  2576  	return nil, false
  2577  }
  2578  
  2579  // AsHBaseSource is the BasicCopySource implementation for AmazonMWSSource.
  2580  func (ams AmazonMWSSource) AsHBaseSource() (*HBaseSource, bool) {
  2581  	return nil, false
  2582  }
  2583  
  2584  // AsGreenplumSource is the BasicCopySource implementation for AmazonMWSSource.
  2585  func (ams AmazonMWSSource) AsGreenplumSource() (*GreenplumSource, bool) {
  2586  	return nil, false
  2587  }
  2588  
  2589  // AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonMWSSource.
  2590  func (ams AmazonMWSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
  2591  	return nil, false
  2592  }
  2593  
  2594  // AsEloquaSource is the BasicCopySource implementation for AmazonMWSSource.
  2595  func (ams AmazonMWSSource) AsEloquaSource() (*EloquaSource, bool) {
  2596  	return nil, false
  2597  }
  2598  
  2599  // AsDrillSource is the BasicCopySource implementation for AmazonMWSSource.
  2600  func (ams AmazonMWSSource) AsDrillSource() (*DrillSource, bool) {
  2601  	return nil, false
  2602  }
  2603  
  2604  // AsCouchbaseSource is the BasicCopySource implementation for AmazonMWSSource.
  2605  func (ams AmazonMWSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
  2606  	return nil, false
  2607  }
  2608  
  2609  // AsConcurSource is the BasicCopySource implementation for AmazonMWSSource.
  2610  func (ams AmazonMWSSource) AsConcurSource() (*ConcurSource, bool) {
  2611  	return nil, false
  2612  }
  2613  
  2614  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2615  func (ams AmazonMWSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
  2616  	return nil, false
  2617  }
  2618  
  2619  // AsAmazonMWSSource is the BasicCopySource implementation for AmazonMWSSource.
  2620  func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
  2621  	return &ams, true
  2622  }
  2623  
  2624  // AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource.
  2625  func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) {
  2626  	return nil, false
  2627  }
  2628  
  2629  // AsTeradataSource is the BasicCopySource implementation for AmazonMWSSource.
  2630  func (ams AmazonMWSSource) AsTeradataSource() (*TeradataSource, bool) {
  2631  	return nil, false
  2632  }
  2633  
  2634  // AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2635  func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
  2636  	return nil, false
  2637  }
  2638  
  2639  // AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource.
  2640  func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) {
  2641  	return nil, false
  2642  }
  2643  
  2644  // AsSQLMISource is the BasicCopySource implementation for AmazonMWSSource.
  2645  func (ams AmazonMWSSource) AsSQLMISource() (*SQLMISource, bool) {
  2646  	return nil, false
  2647  }
  2648  
  2649  // AsAzureSQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2650  func (ams AmazonMWSSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
  2651  	return nil, false
  2652  }
  2653  
  2654  // AsSQLServerSource is the BasicCopySource implementation for AmazonMWSSource.
  2655  func (ams AmazonMWSSource) AsSQLServerSource() (*SQLServerSource, bool) {
  2656  	return nil, false
  2657  }
  2658  
  2659  // AsSQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2660  func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) {
  2661  	return nil, false
  2662  }
  2663  
  2664  // AsSapTableSource is the BasicCopySource implementation for AmazonMWSSource.
  2665  func (ams AmazonMWSSource) AsSapTableSource() (*SapTableSource, bool) {
  2666  	return nil, false
  2667  }
  2668  
  2669  // AsSapOpenHubSource is the BasicCopySource implementation for AmazonMWSSource.
  2670  func (ams AmazonMWSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
  2671  	return nil, false
  2672  }
  2673  
  2674  // AsSapHanaSource is the BasicCopySource implementation for AmazonMWSSource.
  2675  func (ams AmazonMWSSource) AsSapHanaSource() (*SapHanaSource, bool) {
  2676  	return nil, false
  2677  }
  2678  
  2679  // AsSapEccSource is the BasicCopySource implementation for AmazonMWSSource.
  2680  func (ams AmazonMWSSource) AsSapEccSource() (*SapEccSource, bool) {
  2681  	return nil, false
  2682  }
  2683  
  2684  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonMWSSource.
  2685  func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
  2686  	return nil, false
  2687  }
  2688  
  2689  // AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource.
  2690  func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) {
  2691  	return nil, false
  2692  }
  2693  
  2694  // AsSapBwSource is the BasicCopySource implementation for AmazonMWSSource.
  2695  func (ams AmazonMWSSource) AsSapBwSource() (*SapBwSource, bool) {
  2696  	return nil, false
  2697  }
  2698  
  2699  // AsSybaseSource is the BasicCopySource implementation for AmazonMWSSource.
  2700  func (ams AmazonMWSSource) AsSybaseSource() (*SybaseSource, bool) {
  2701  	return nil, false
  2702  }
  2703  
  2704  // AsPostgreSQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2705  func (ams AmazonMWSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
  2706  	return nil, false
  2707  }
  2708  
  2709  // AsMySQLSource is the BasicCopySource implementation for AmazonMWSSource.
  2710  func (ams AmazonMWSSource) AsMySQLSource() (*MySQLSource, bool) {
  2711  	return nil, false
  2712  }
  2713  
  2714  // AsOdbcSource is the BasicCopySource implementation for AmazonMWSSource.
  2715  func (ams AmazonMWSSource) AsOdbcSource() (*OdbcSource, bool) {
  2716  	return nil, false
  2717  }
  2718  
  2719  // AsDb2Source is the BasicCopySource implementation for AmazonMWSSource.
  2720  func (ams AmazonMWSSource) AsDb2Source() (*Db2Source, bool) {
  2721  	return nil, false
  2722  }
  2723  
  2724  // AsInformixSource is the BasicCopySource implementation for AmazonMWSSource.
  2725  func (ams AmazonMWSSource) AsInformixSource() (*InformixSource, bool) {
  2726  	return nil, false
  2727  }
  2728  
  2729  // AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource.
  2730  func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) {
  2731  	return nil, false
  2732  }
  2733  
  2734  // AsTabularSource is the BasicCopySource implementation for AmazonMWSSource.
  2735  func (ams AmazonMWSSource) AsTabularSource() (*TabularSource, bool) {
  2736  	return nil, false
  2737  }
  2738  
  2739  // AsBasicTabularSource is the BasicCopySource implementation for AmazonMWSSource.
  2740  func (ams AmazonMWSSource) AsBasicTabularSource() (BasicTabularSource, bool) {
  2741  	return &ams, true
  2742  }
  2743  
  2744  // AsBinarySource is the BasicCopySource implementation for AmazonMWSSource.
  2745  func (ams AmazonMWSSource) AsBinarySource() (*BinarySource, bool) {
  2746  	return nil, false
  2747  }
  2748  
  2749  // AsOrcSource is the BasicCopySource implementation for AmazonMWSSource.
  2750  func (ams AmazonMWSSource) AsOrcSource() (*OrcSource, bool) {
  2751  	return nil, false
  2752  }
  2753  
  2754  // AsJSONSource is the BasicCopySource implementation for AmazonMWSSource.
  2755  func (ams AmazonMWSSource) AsJSONSource() (*JSONSource, bool) {
  2756  	return nil, false
  2757  }
  2758  
  2759  // AsDelimitedTextSource is the BasicCopySource implementation for AmazonMWSSource.
  2760  func (ams AmazonMWSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
  2761  	return nil, false
  2762  }
  2763  
  2764  // AsParquetSource is the BasicCopySource implementation for AmazonMWSSource.
  2765  func (ams AmazonMWSSource) AsParquetSource() (*ParquetSource, bool) {
  2766  	return nil, false
  2767  }
  2768  
  2769  // AsAvroSource is the BasicCopySource implementation for AmazonMWSSource.
  2770  func (ams AmazonMWSSource) AsAvroSource() (*AvroSource, bool) {
  2771  	return nil, false
  2772  }
  2773  
  2774  // AsCopySource is the BasicCopySource implementation for AmazonMWSSource.
  2775  func (ams AmazonMWSSource) AsCopySource() (*CopySource, bool) {
  2776  	return nil, false
  2777  }
  2778  
  2779  // AsBasicCopySource is the BasicCopySource implementation for AmazonMWSSource.
  2780  func (ams AmazonMWSSource) AsBasicCopySource() (BasicCopySource, bool) {
  2781  	return &ams, true
  2782  }
  2783  
  2784  // UnmarshalJSON is the custom unmarshaler for AmazonMWSSource struct.
  2785  func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error {
  2786  	var m map[string]*json.RawMessage
  2787  	err := json.Unmarshal(body, &m)
  2788  	if err != nil {
  2789  		return err
  2790  	}
  2791  	for k, v := range m {
  2792  		switch k {
  2793  		case "query":
  2794  			if v != nil {
  2795  				var query interface{}
  2796  				err = json.Unmarshal(*v, &query)
  2797  				if err != nil {
  2798  					return err
  2799  				}
  2800  				ams.Query = query
  2801  			}
  2802  		case "queryTimeout":
  2803  			if v != nil {
  2804  				var queryTimeout interface{}
  2805  				err = json.Unmarshal(*v, &queryTimeout)
  2806  				if err != nil {
  2807  					return err
  2808  				}
  2809  				ams.QueryTimeout = queryTimeout
  2810  			}
  2811  		default:
  2812  			if v != nil {
  2813  				var additionalProperties interface{}
  2814  				err = json.Unmarshal(*v, &additionalProperties)
  2815  				if err != nil {
  2816  					return err
  2817  				}
  2818  				if ams.AdditionalProperties == nil {
  2819  					ams.AdditionalProperties = make(map[string]interface{})
  2820  				}
  2821  				ams.AdditionalProperties[k] = additionalProperties
  2822  			}
  2823  		case "sourceRetryCount":
  2824  			if v != nil {
  2825  				var sourceRetryCount interface{}
  2826  				err = json.Unmarshal(*v, &sourceRetryCount)
  2827  				if err != nil {
  2828  					return err
  2829  				}
  2830  				ams.SourceRetryCount = sourceRetryCount
  2831  			}
  2832  		case "sourceRetryWait":
  2833  			if v != nil {
  2834  				var sourceRetryWait interface{}
  2835  				err = json.Unmarshal(*v, &sourceRetryWait)
  2836  				if err != nil {
  2837  					return err
  2838  				}
  2839  				ams.SourceRetryWait = sourceRetryWait
  2840  			}
  2841  		case "maxConcurrentConnections":
  2842  			if v != nil {
  2843  				var maxConcurrentConnections interface{}
  2844  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  2845  				if err != nil {
  2846  					return err
  2847  				}
  2848  				ams.MaxConcurrentConnections = maxConcurrentConnections
  2849  			}
  2850  		case "type":
  2851  			if v != nil {
  2852  				var typeVar TypeBasicCopySource
  2853  				err = json.Unmarshal(*v, &typeVar)
  2854  				if err != nil {
  2855  					return err
  2856  				}
  2857  				ams.Type = typeVar
  2858  			}
  2859  		}
  2860  	}
  2861  
  2862  	return nil
  2863  }
  2864  
  2865  // AmazonRedshiftLinkedService linked service for Amazon Redshift.
  2866  type AmazonRedshiftLinkedService struct {
  2867  	// AmazonRedshiftLinkedServiceTypeProperties - Amazon Redshift linked service properties.
  2868  	*AmazonRedshiftLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
  2869  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  2870  	AdditionalProperties map[string]interface{} `json:""`
  2871  	// ConnectVia - The integration runtime reference.
  2872  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
  2873  	// Description - Linked service description.
  2874  	Description *string `json:"description,omitempty"`
  2875  	// Parameters - Parameters for linked service.
  2876  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  2877  	// Annotations - List of tags that can be used for describing the linked service.
  2878  	Annotations *[]interface{} `json:"annotations,omitempty"`
  2879  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
  2880  	Type TypeBasicLinkedService `json:"type,omitempty"`
  2881  }
  2882  
  2883  // MarshalJSON is the custom marshaler for AmazonRedshiftLinkedService.
  2884  func (arls AmazonRedshiftLinkedService) MarshalJSON() ([]byte, error) {
  2885  	arls.Type = TypeAmazonRedshift
  2886  	objectMap := make(map[string]interface{})
  2887  	if arls.AmazonRedshiftLinkedServiceTypeProperties != nil {
  2888  		objectMap["typeProperties"] = arls.AmazonRedshiftLinkedServiceTypeProperties
  2889  	}
  2890  	if arls.ConnectVia != nil {
  2891  		objectMap["connectVia"] = arls.ConnectVia
  2892  	}
  2893  	if arls.Description != nil {
  2894  		objectMap["description"] = arls.Description
  2895  	}
  2896  	if arls.Parameters != nil {
  2897  		objectMap["parameters"] = arls.Parameters
  2898  	}
  2899  	if arls.Annotations != nil {
  2900  		objectMap["annotations"] = arls.Annotations
  2901  	}
  2902  	if arls.Type != "" {
  2903  		objectMap["type"] = arls.Type
  2904  	}
  2905  	for k, v := range arls.AdditionalProperties {
  2906  		objectMap[k] = v
  2907  	}
  2908  	return json.Marshal(objectMap)
  2909  }
  2910  
  2911  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2912  func (arls AmazonRedshiftLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
  2913  	return nil, false
  2914  }
  2915  
  2916  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2917  func (arls AmazonRedshiftLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
  2918  	return nil, false
  2919  }
  2920  
  2921  // AsSapTableLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2922  func (arls AmazonRedshiftLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
  2923  	return nil, false
  2924  }
  2925  
  2926  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2927  func (arls AmazonRedshiftLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
  2928  	return nil, false
  2929  }
  2930  
  2931  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2932  func (arls AmazonRedshiftLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
  2933  	return nil, false
  2934  }
  2935  
  2936  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2937  func (arls AmazonRedshiftLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
  2938  	return nil, false
  2939  }
  2940  
  2941  // AsResponsysLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2942  func (arls AmazonRedshiftLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
  2943  	return nil, false
  2944  }
  2945  
  2946  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2947  func (arls AmazonRedshiftLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
  2948  	return nil, false
  2949  }
  2950  
  2951  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2952  func (arls AmazonRedshiftLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
  2953  	return nil, false
  2954  }
  2955  
  2956  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2957  func (arls AmazonRedshiftLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
  2958  	return nil, false
  2959  }
  2960  
  2961  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2962  func (arls AmazonRedshiftLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
  2963  	return nil, false
  2964  }
  2965  
  2966  // AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2967  func (arls AmazonRedshiftLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
  2968  	return nil, false
  2969  }
  2970  
  2971  // AsVerticaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2972  func (arls AmazonRedshiftLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
  2973  	return nil, false
  2974  }
  2975  
  2976  // AsZohoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2977  func (arls AmazonRedshiftLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
  2978  	return nil, false
  2979  }
  2980  
  2981  // AsXeroLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2982  func (arls AmazonRedshiftLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
  2983  	return nil, false
  2984  }
  2985  
  2986  // AsSquareLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2987  func (arls AmazonRedshiftLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
  2988  	return nil, false
  2989  }
  2990  
  2991  // AsSparkLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2992  func (arls AmazonRedshiftLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
  2993  	return nil, false
  2994  }
  2995  
  2996  // AsShopifyLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  2997  func (arls AmazonRedshiftLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
  2998  	return nil, false
  2999  }
  3000  
  3001  // AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3002  func (arls AmazonRedshiftLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
  3003  	return nil, false
  3004  }
  3005  
  3006  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3007  func (arls AmazonRedshiftLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
  3008  	return nil, false
  3009  }
  3010  
  3011  // AsPrestoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3012  func (arls AmazonRedshiftLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
  3013  	return nil, false
  3014  }
  3015  
  3016  // AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3017  func (arls AmazonRedshiftLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
  3018  	return nil, false
  3019  }
  3020  
  3021  // AsPaypalLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3022  func (arls AmazonRedshiftLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
  3023  	return nil, false
  3024  }
  3025  
  3026  // AsMarketoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3027  func (arls AmazonRedshiftLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
  3028  	return nil, false
  3029  }
  3030  
  3031  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3032  func (arls AmazonRedshiftLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
  3033  	return nil, false
  3034  }
  3035  
  3036  // AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3037  func (arls AmazonRedshiftLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
  3038  	return nil, false
  3039  }
  3040  
  3041  // AsMagentoLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3042  func (arls AmazonRedshiftLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
  3043  	return nil, false
  3044  }
  3045  
  3046  // AsJiraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3047  func (arls AmazonRedshiftLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
  3048  	return nil, false
  3049  }
  3050  
  3051  // AsImpalaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3052  func (arls AmazonRedshiftLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
  3053  	return nil, false
  3054  }
  3055  
  3056  // AsHubspotLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3057  func (arls AmazonRedshiftLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
  3058  	return nil, false
  3059  }
  3060  
  3061  // AsHiveLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3062  func (arls AmazonRedshiftLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
  3063  	return nil, false
  3064  }
  3065  
  3066  // AsHBaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3067  func (arls AmazonRedshiftLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
  3068  	return nil, false
  3069  }
  3070  
  3071  // AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3072  func (arls AmazonRedshiftLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
  3073  	return nil, false
  3074  }
  3075  
  3076  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3077  func (arls AmazonRedshiftLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
  3078  	return nil, false
  3079  }
  3080  
  3081  // AsEloquaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3082  func (arls AmazonRedshiftLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
  3083  	return nil, false
  3084  }
  3085  
  3086  // AsDrillLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3087  func (arls AmazonRedshiftLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
  3088  	return nil, false
  3089  }
  3090  
  3091  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3092  func (arls AmazonRedshiftLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
  3093  	return nil, false
  3094  }
  3095  
  3096  // AsConcurLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3097  func (arls AmazonRedshiftLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
  3098  	return nil, false
  3099  }
  3100  
  3101  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3102  func (arls AmazonRedshiftLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
  3103  	return nil, false
  3104  }
  3105  
  3106  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3107  func (arls AmazonRedshiftLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
  3108  	return nil, false
  3109  }
  3110  
  3111  // AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3112  func (arls AmazonRedshiftLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
  3113  	return nil, false
  3114  }
  3115  
  3116  // AsSapBWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3117  func (arls AmazonRedshiftLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
  3118  	return nil, false
  3119  }
  3120  
  3121  // AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3122  func (arls AmazonRedshiftLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
  3123  	return nil, false
  3124  }
  3125  
  3126  // AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3127  func (arls AmazonRedshiftLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
  3128  	return nil, false
  3129  }
  3130  
  3131  // AsHTTPLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3132  func (arls AmazonRedshiftLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
  3133  	return nil, false
  3134  }
  3135  
  3136  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3137  func (arls AmazonRedshiftLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
  3138  	return nil, false
  3139  }
  3140  
  3141  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3142  func (arls AmazonRedshiftLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
  3143  	return nil, false
  3144  }
  3145  
  3146  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3147  func (arls AmazonRedshiftLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
  3148  	return &arls, true
  3149  }
  3150  
  3151  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3152  func (arls AmazonRedshiftLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
  3153  	return nil, false
  3154  }
  3155  
  3156  // AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3157  func (arls AmazonRedshiftLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
  3158  	return nil, false
  3159  }
  3160  
  3161  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3162  func (arls AmazonRedshiftLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
  3163  	return nil, false
  3164  }
  3165  
  3166  // AsSapEccLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3167  func (arls AmazonRedshiftLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
  3168  	return nil, false
  3169  }
  3170  
  3171  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3172  func (arls AmazonRedshiftLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
  3173  	return nil, false
  3174  }
  3175  
  3176  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3177  func (arls AmazonRedshiftLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
  3178  	return nil, false
  3179  }
  3180  
  3181  // AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3182  func (arls AmazonRedshiftLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
  3183  	return nil, false
  3184  }
  3185  
  3186  // AsOffice365LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3187  func (arls AmazonRedshiftLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
  3188  	return nil, false
  3189  }
  3190  
  3191  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3192  func (arls AmazonRedshiftLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
  3193  	return nil, false
  3194  }
  3195  
  3196  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3197  func (arls AmazonRedshiftLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
  3198  	return nil, false
  3199  }
  3200  
  3201  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3202  func (arls AmazonRedshiftLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
  3203  	return nil, false
  3204  }
  3205  
  3206  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3207  func (arls AmazonRedshiftLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
  3208  	return nil, false
  3209  }
  3210  
  3211  // AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3212  func (arls AmazonRedshiftLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
  3213  	return nil, false
  3214  }
  3215  
  3216  // AsCassandraLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3217  func (arls AmazonRedshiftLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
  3218  	return nil, false
  3219  }
  3220  
  3221  // AsWebLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3222  func (arls AmazonRedshiftLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
  3223  	return nil, false
  3224  }
  3225  
  3226  // AsODataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3227  func (arls AmazonRedshiftLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
  3228  	return nil, false
  3229  }
  3230  
  3231  // AsHdfsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3232  func (arls AmazonRedshiftLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
  3233  	return nil, false
  3234  }
  3235  
  3236  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3237  func (arls AmazonRedshiftLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
  3238  	return nil, false
  3239  }
  3240  
  3241  // AsInformixLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3242  func (arls AmazonRedshiftLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
  3243  	return nil, false
  3244  }
  3245  
  3246  // AsOdbcLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3247  func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
  3248  	return nil, false
  3249  }
  3250  
  3251  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3252  func (arls AmazonRedshiftLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
  3253  	return nil, false
  3254  }
  3255  
  3256  // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3257  func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
  3258  	return nil, false
  3259  }
  3260  
  3261  // AsTeradataLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3262  func (arls AmazonRedshiftLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
  3263  	return nil, false
  3264  }
  3265  
  3266  // AsDb2LinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3267  func (arls AmazonRedshiftLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
  3268  	return nil, false
  3269  }
  3270  
  3271  // AsSybaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3272  func (arls AmazonRedshiftLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
  3273  	return nil, false
  3274  }
  3275  
  3276  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3277  func (arls AmazonRedshiftLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
  3278  	return nil, false
  3279  }
  3280  
  3281  // AsMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3282  func (arls AmazonRedshiftLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
  3283  	return nil, false
  3284  }
  3285  
  3286  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3287  func (arls AmazonRedshiftLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
  3288  	return nil, false
  3289  }
  3290  
  3291  // AsOracleLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3292  func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
  3293  	return nil, false
  3294  }
  3295  
  3296  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3297  func (arls AmazonRedshiftLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
  3298  	return nil, false
  3299  }
  3300  
  3301  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3302  func (arls AmazonRedshiftLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
  3303  	return nil, false
  3304  }
  3305  
  3306  // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3307  func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
  3308  	return nil, false
  3309  }
  3310  
  3311  // AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3312  func (arls AmazonRedshiftLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
  3313  	return nil, false
  3314  }
  3315  
  3316  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3317  func (arls AmazonRedshiftLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
  3318  	return nil, false
  3319  }
  3320  
  3321  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3322  func (arls AmazonRedshiftLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
  3323  	return nil, false
  3324  }
  3325  
  3326  // AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3327  func (arls AmazonRedshiftLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
  3328  	return nil, false
  3329  }
  3330  
  3331  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3332  func (arls AmazonRedshiftLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
  3333  	return nil, false
  3334  }
  3335  
  3336  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3337  func (arls AmazonRedshiftLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
  3338  	return nil, false
  3339  }
  3340  
  3341  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3342  func (arls AmazonRedshiftLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
  3343  	return nil, false
  3344  }
  3345  
  3346  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3347  func (arls AmazonRedshiftLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
  3348  	return nil, false
  3349  }
  3350  
  3351  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3352  func (arls AmazonRedshiftLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
  3353  	return nil, false
  3354  }
  3355  
  3356  // AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3357  func (arls AmazonRedshiftLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
  3358  	return nil, false
  3359  }
  3360  
  3361  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3362  func (arls AmazonRedshiftLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
  3363  	return nil, false
  3364  }
  3365  
  3366  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3367  func (arls AmazonRedshiftLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
  3368  	return nil, false
  3369  }
  3370  
  3371  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3372  func (arls AmazonRedshiftLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
  3373  	return nil, false
  3374  }
  3375  
  3376  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3377  func (arls AmazonRedshiftLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
  3378  	return nil, false
  3379  }
  3380  
  3381  // AsLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3382  func (arls AmazonRedshiftLinkedService) AsLinkedService() (*LinkedService, bool) {
  3383  	return nil, false
  3384  }
  3385  
  3386  // AsBasicLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService.
  3387  func (arls AmazonRedshiftLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
  3388  	return &arls, true
  3389  }
  3390  
  3391  // UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedService struct.
  3392  func (arls *AmazonRedshiftLinkedService) UnmarshalJSON(body []byte) error {
  3393  	var m map[string]*json.RawMessage
  3394  	err := json.Unmarshal(body, &m)
  3395  	if err != nil {
  3396  		return err
  3397  	}
  3398  	for k, v := range m {
  3399  		switch k {
  3400  		case "typeProperties":
  3401  			if v != nil {
  3402  				var amazonRedshiftLinkedServiceTypeProperties AmazonRedshiftLinkedServiceTypeProperties
  3403  				err = json.Unmarshal(*v, &amazonRedshiftLinkedServiceTypeProperties)
  3404  				if err != nil {
  3405  					return err
  3406  				}
  3407  				arls.AmazonRedshiftLinkedServiceTypeProperties = &amazonRedshiftLinkedServiceTypeProperties
  3408  			}
  3409  		default:
  3410  			if v != nil {
  3411  				var additionalProperties interface{}
  3412  				err = json.Unmarshal(*v, &additionalProperties)
  3413  				if err != nil {
  3414  					return err
  3415  				}
  3416  				if arls.AdditionalProperties == nil {
  3417  					arls.AdditionalProperties = make(map[string]interface{})
  3418  				}
  3419  				arls.AdditionalProperties[k] = additionalProperties
  3420  			}
  3421  		case "connectVia":
  3422  			if v != nil {
  3423  				var connectVia IntegrationRuntimeReference
  3424  				err = json.Unmarshal(*v, &connectVia)
  3425  				if err != nil {
  3426  					return err
  3427  				}
  3428  				arls.ConnectVia = &connectVia
  3429  			}
  3430  		case "description":
  3431  			if v != nil {
  3432  				var description string
  3433  				err = json.Unmarshal(*v, &description)
  3434  				if err != nil {
  3435  					return err
  3436  				}
  3437  				arls.Description = &description
  3438  			}
  3439  		case "parameters":
  3440  			if v != nil {
  3441  				var parameters map[string]*ParameterSpecification
  3442  				err = json.Unmarshal(*v, &parameters)
  3443  				if err != nil {
  3444  					return err
  3445  				}
  3446  				arls.Parameters = parameters
  3447  			}
  3448  		case "annotations":
  3449  			if v != nil {
  3450  				var annotations []interface{}
  3451  				err = json.Unmarshal(*v, &annotations)
  3452  				if err != nil {
  3453  					return err
  3454  				}
  3455  				arls.Annotations = &annotations
  3456  			}
  3457  		case "type":
  3458  			if v != nil {
  3459  				var typeVar TypeBasicLinkedService
  3460  				err = json.Unmarshal(*v, &typeVar)
  3461  				if err != nil {
  3462  					return err
  3463  				}
  3464  				arls.Type = typeVar
  3465  			}
  3466  		}
  3467  	}
  3468  
  3469  	return nil
  3470  }
  3471  
  3472  // AmazonRedshiftLinkedServiceTypeProperties amazon Redshift linked service properties.
  3473  type AmazonRedshiftLinkedServiceTypeProperties struct {
  3474  	// Server - The name of the Amazon Redshift server. Type: string (or Expression with resultType string).
  3475  	Server interface{} `json:"server,omitempty"`
  3476  	// Username - The username of the Amazon Redshift source. Type: string (or Expression with resultType string).
  3477  	Username interface{} `json:"username,omitempty"`
  3478  	// Password - The password of the Amazon Redshift source.
  3479  	Password BasicSecretBase `json:"password,omitempty"`
  3480  	// Database - The database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
  3481  	Database interface{} `json:"database,omitempty"`
  3482  	// 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).
  3483  	Port interface{} `json:"port,omitempty"`
  3484  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
  3485  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
  3486  }
  3487  
  3488  // UnmarshalJSON is the custom unmarshaler for AmazonRedshiftLinkedServiceTypeProperties struct.
  3489  func (arlstp *AmazonRedshiftLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
  3490  	var m map[string]*json.RawMessage
  3491  	err := json.Unmarshal(body, &m)
  3492  	if err != nil {
  3493  		return err
  3494  	}
  3495  	for k, v := range m {
  3496  		switch k {
  3497  		case "server":
  3498  			if v != nil {
  3499  				var server interface{}
  3500  				err = json.Unmarshal(*v, &server)
  3501  				if err != nil {
  3502  					return err
  3503  				}
  3504  				arlstp.Server = server
  3505  			}
  3506  		case "username":
  3507  			if v != nil {
  3508  				var username interface{}
  3509  				err = json.Unmarshal(*v, &username)
  3510  				if err != nil {
  3511  					return err
  3512  				}
  3513  				arlstp.Username = username
  3514  			}
  3515  		case "password":
  3516  			if v != nil {
  3517  				password, err := unmarshalBasicSecretBase(*v)
  3518  				if err != nil {
  3519  					return err
  3520  				}
  3521  				arlstp.Password = password
  3522  			}
  3523  		case "database":
  3524  			if v != nil {
  3525  				var databaseVar interface{}
  3526  				err = json.Unmarshal(*v, &databaseVar)
  3527  				if err != nil {
  3528  					return err
  3529  				}
  3530  				arlstp.Database = databaseVar
  3531  			}
  3532  		case "port":
  3533  			if v != nil {
  3534  				var port interface{}
  3535  				err = json.Unmarshal(*v, &port)
  3536  				if err != nil {
  3537  					return err
  3538  				}
  3539  				arlstp.Port = port
  3540  			}
  3541  		case "encryptedCredential":
  3542  			if v != nil {
  3543  				var encryptedCredential interface{}
  3544  				err = json.Unmarshal(*v, &encryptedCredential)
  3545  				if err != nil {
  3546  					return err
  3547  				}
  3548  				arlstp.EncryptedCredential = encryptedCredential
  3549  			}
  3550  		}
  3551  	}
  3552  
  3553  	return nil
  3554  }
  3555  
  3556  // AmazonRedshiftSource a copy activity source for Amazon Redshift Source.
  3557  type AmazonRedshiftSource struct {
  3558  	// Query - Database query. Type: string (or Expression with resultType string).
  3559  	Query interface{} `json:"query,omitempty"`
  3560  	// 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.
  3561  	RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"`
  3562  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
  3563  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
  3564  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  3565  	AdditionalProperties map[string]interface{} `json:""`
  3566  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
  3567  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
  3568  	// 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])).
  3569  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
  3570  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
  3571  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  3572  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
  3573  	Type TypeBasicCopySource `json:"type,omitempty"`
  3574  }
  3575  
  3576  // MarshalJSON is the custom marshaler for AmazonRedshiftSource.
  3577  func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) {
  3578  	ars.Type = TypeAmazonRedshiftSource
  3579  	objectMap := make(map[string]interface{})
  3580  	if ars.Query != nil {
  3581  		objectMap["query"] = ars.Query
  3582  	}
  3583  	if ars.RedshiftUnloadSettings != nil {
  3584  		objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings
  3585  	}
  3586  	if ars.QueryTimeout != nil {
  3587  		objectMap["queryTimeout"] = ars.QueryTimeout
  3588  	}
  3589  	if ars.SourceRetryCount != nil {
  3590  		objectMap["sourceRetryCount"] = ars.SourceRetryCount
  3591  	}
  3592  	if ars.SourceRetryWait != nil {
  3593  		objectMap["sourceRetryWait"] = ars.SourceRetryWait
  3594  	}
  3595  	if ars.MaxConcurrentConnections != nil {
  3596  		objectMap["maxConcurrentConnections"] = ars.MaxConcurrentConnections
  3597  	}
  3598  	if ars.Type != "" {
  3599  		objectMap["type"] = ars.Type
  3600  	}
  3601  	for k, v := range ars.AdditionalProperties {
  3602  		objectMap[k] = v
  3603  	}
  3604  	return json.Marshal(objectMap)
  3605  }
  3606  
  3607  // AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3608  func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) {
  3609  	return nil, false
  3610  }
  3611  
  3612  // AsAzureBlobFSSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3613  func (ars AmazonRedshiftSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
  3614  	return nil, false
  3615  }
  3616  
  3617  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3618  func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
  3619  	return nil, false
  3620  }
  3621  
  3622  // AsOffice365Source is the BasicCopySource implementation for AmazonRedshiftSource.
  3623  func (ars AmazonRedshiftSource) AsOffice365Source() (*Office365Source, bool) {
  3624  	return nil, false
  3625  }
  3626  
  3627  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonRedshiftSource.
  3628  func (ars AmazonRedshiftSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
  3629  	return nil, false
  3630  }
  3631  
  3632  // AsMongoDbV2Source is the BasicCopySource implementation for AmazonRedshiftSource.
  3633  func (ars AmazonRedshiftSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
  3634  	return nil, false
  3635  }
  3636  
  3637  // AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3638  func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) {
  3639  	return nil, false
  3640  }
  3641  
  3642  // AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3643  func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) {
  3644  	return nil, false
  3645  }
  3646  
  3647  // AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3648  func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) {
  3649  	return nil, false
  3650  }
  3651  
  3652  // AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3653  func (ars AmazonRedshiftSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
  3654  	return nil, false
  3655  }
  3656  
  3657  // AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3658  func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) {
  3659  	return nil, false
  3660  }
  3661  
  3662  // AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3663  func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) {
  3664  	return nil, false
  3665  }
  3666  
  3667  // AsRestSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3668  func (ars AmazonRedshiftSource) AsRestSource() (*RestSource, bool) {
  3669  	return nil, false
  3670  }
  3671  
  3672  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3673  func (ars AmazonRedshiftSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
  3674  	return nil, false
  3675  }
  3676  
  3677  // AsODataSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3678  func (ars AmazonRedshiftSource) AsODataSource() (*ODataSource, bool) {
  3679  	return nil, false
  3680  }
  3681  
  3682  // AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3683  func (ars AmazonRedshiftSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
  3684  	return nil, false
  3685  }
  3686  
  3687  // AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3688  func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) {
  3689  	return nil, false
  3690  }
  3691  
  3692  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3693  func (ars AmazonRedshiftSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
  3694  	return nil, false
  3695  }
  3696  
  3697  // AsDynamicsCrmSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3698  func (ars AmazonRedshiftSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
  3699  	return nil, false
  3700  }
  3701  
  3702  // AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3703  func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) {
  3704  	return nil, false
  3705  }
  3706  
  3707  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonRedshiftSource.
  3708  func (ars AmazonRedshiftSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
  3709  	return nil, false
  3710  }
  3711  
  3712  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3713  func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
  3714  	return nil, false
  3715  }
  3716  
  3717  // AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3718  func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) {
  3719  	return nil, false
  3720  }
  3721  
  3722  // AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3723  func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
  3724  	return &ars, true
  3725  }
  3726  
  3727  // AsGoogleAdWordsSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3728  func (ars AmazonRedshiftSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
  3729  	return nil, false
  3730  }
  3731  
  3732  // AsOracleServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3733  func (ars AmazonRedshiftSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
  3734  	return nil, false
  3735  }
  3736  
  3737  // AsDynamicsAXSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3738  func (ars AmazonRedshiftSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
  3739  	return nil, false
  3740  }
  3741  
  3742  // AsResponsysSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3743  func (ars AmazonRedshiftSource) AsResponsysSource() (*ResponsysSource, bool) {
  3744  	return nil, false
  3745  }
  3746  
  3747  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3748  func (ars AmazonRedshiftSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
  3749  	return nil, false
  3750  }
  3751  
  3752  // AsVerticaSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3753  func (ars AmazonRedshiftSource) AsVerticaSource() (*VerticaSource, bool) {
  3754  	return nil, false
  3755  }
  3756  
  3757  // AsNetezzaSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3758  func (ars AmazonRedshiftSource) AsNetezzaSource() (*NetezzaSource, bool) {
  3759  	return nil, false
  3760  }
  3761  
  3762  // AsZohoSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3763  func (ars AmazonRedshiftSource) AsZohoSource() (*ZohoSource, bool) {
  3764  	return nil, false
  3765  }
  3766  
  3767  // AsXeroSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3768  func (ars AmazonRedshiftSource) AsXeroSource() (*XeroSource, bool) {
  3769  	return nil, false
  3770  }
  3771  
  3772  // AsSquareSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3773  func (ars AmazonRedshiftSource) AsSquareSource() (*SquareSource, bool) {
  3774  	return nil, false
  3775  }
  3776  
  3777  // AsSparkSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3778  func (ars AmazonRedshiftSource) AsSparkSource() (*SparkSource, bool) {
  3779  	return nil, false
  3780  }
  3781  
  3782  // AsShopifySource is the BasicCopySource implementation for AmazonRedshiftSource.
  3783  func (ars AmazonRedshiftSource) AsShopifySource() (*ShopifySource, bool) {
  3784  	return nil, false
  3785  }
  3786  
  3787  // AsServiceNowSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3788  func (ars AmazonRedshiftSource) AsServiceNowSource() (*ServiceNowSource, bool) {
  3789  	return nil, false
  3790  }
  3791  
  3792  // AsQuickBooksSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3793  func (ars AmazonRedshiftSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
  3794  	return nil, false
  3795  }
  3796  
  3797  // AsPrestoSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3798  func (ars AmazonRedshiftSource) AsPrestoSource() (*PrestoSource, bool) {
  3799  	return nil, false
  3800  }
  3801  
  3802  // AsPhoenixSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3803  func (ars AmazonRedshiftSource) AsPhoenixSource() (*PhoenixSource, bool) {
  3804  	return nil, false
  3805  }
  3806  
  3807  // AsPaypalSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3808  func (ars AmazonRedshiftSource) AsPaypalSource() (*PaypalSource, bool) {
  3809  	return nil, false
  3810  }
  3811  
  3812  // AsMarketoSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3813  func (ars AmazonRedshiftSource) AsMarketoSource() (*MarketoSource, bool) {
  3814  	return nil, false
  3815  }
  3816  
  3817  // AsAzureMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3818  func (ars AmazonRedshiftSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
  3819  	return nil, false
  3820  }
  3821  
  3822  // AsMariaDBSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3823  func (ars AmazonRedshiftSource) AsMariaDBSource() (*MariaDBSource, bool) {
  3824  	return nil, false
  3825  }
  3826  
  3827  // AsMagentoSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3828  func (ars AmazonRedshiftSource) AsMagentoSource() (*MagentoSource, bool) {
  3829  	return nil, false
  3830  }
  3831  
  3832  // AsJiraSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3833  func (ars AmazonRedshiftSource) AsJiraSource() (*JiraSource, bool) {
  3834  	return nil, false
  3835  }
  3836  
  3837  // AsImpalaSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3838  func (ars AmazonRedshiftSource) AsImpalaSource() (*ImpalaSource, bool) {
  3839  	return nil, false
  3840  }
  3841  
  3842  // AsHubspotSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3843  func (ars AmazonRedshiftSource) AsHubspotSource() (*HubspotSource, bool) {
  3844  	return nil, false
  3845  }
  3846  
  3847  // AsHiveSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3848  func (ars AmazonRedshiftSource) AsHiveSource() (*HiveSource, bool) {
  3849  	return nil, false
  3850  }
  3851  
  3852  // AsHBaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3853  func (ars AmazonRedshiftSource) AsHBaseSource() (*HBaseSource, bool) {
  3854  	return nil, false
  3855  }
  3856  
  3857  // AsGreenplumSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3858  func (ars AmazonRedshiftSource) AsGreenplumSource() (*GreenplumSource, bool) {
  3859  	return nil, false
  3860  }
  3861  
  3862  // AsGoogleBigQuerySource is the BasicCopySource implementation for AmazonRedshiftSource.
  3863  func (ars AmazonRedshiftSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
  3864  	return nil, false
  3865  }
  3866  
  3867  // AsEloquaSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3868  func (ars AmazonRedshiftSource) AsEloquaSource() (*EloquaSource, bool) {
  3869  	return nil, false
  3870  }
  3871  
  3872  // AsDrillSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3873  func (ars AmazonRedshiftSource) AsDrillSource() (*DrillSource, bool) {
  3874  	return nil, false
  3875  }
  3876  
  3877  // AsCouchbaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3878  func (ars AmazonRedshiftSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
  3879  	return nil, false
  3880  }
  3881  
  3882  // AsConcurSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3883  func (ars AmazonRedshiftSource) AsConcurSource() (*ConcurSource, bool) {
  3884  	return nil, false
  3885  }
  3886  
  3887  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3888  func (ars AmazonRedshiftSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
  3889  	return nil, false
  3890  }
  3891  
  3892  // AsAmazonMWSSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3893  func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
  3894  	return nil, false
  3895  }
  3896  
  3897  // AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3898  func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) {
  3899  	return nil, false
  3900  }
  3901  
  3902  // AsTeradataSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3903  func (ars AmazonRedshiftSource) AsTeradataSource() (*TeradataSource, bool) {
  3904  	return nil, false
  3905  }
  3906  
  3907  // AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3908  func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
  3909  	return nil, false
  3910  }
  3911  
  3912  // AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3913  func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) {
  3914  	return nil, false
  3915  }
  3916  
  3917  // AsSQLMISource is the BasicCopySource implementation for AmazonRedshiftSource.
  3918  func (ars AmazonRedshiftSource) AsSQLMISource() (*SQLMISource, bool) {
  3919  	return nil, false
  3920  }
  3921  
  3922  // AsAzureSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3923  func (ars AmazonRedshiftSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
  3924  	return nil, false
  3925  }
  3926  
  3927  // AsSQLServerSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3928  func (ars AmazonRedshiftSource) AsSQLServerSource() (*SQLServerSource, bool) {
  3929  	return nil, false
  3930  }
  3931  
  3932  // AsSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3933  func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) {
  3934  	return nil, false
  3935  }
  3936  
  3937  // AsSapTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3938  func (ars AmazonRedshiftSource) AsSapTableSource() (*SapTableSource, bool) {
  3939  	return nil, false
  3940  }
  3941  
  3942  // AsSapOpenHubSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3943  func (ars AmazonRedshiftSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
  3944  	return nil, false
  3945  }
  3946  
  3947  // AsSapHanaSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3948  func (ars AmazonRedshiftSource) AsSapHanaSource() (*SapHanaSource, bool) {
  3949  	return nil, false
  3950  }
  3951  
  3952  // AsSapEccSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3953  func (ars AmazonRedshiftSource) AsSapEccSource() (*SapEccSource, bool) {
  3954  	return nil, false
  3955  }
  3956  
  3957  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3958  func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
  3959  	return nil, false
  3960  }
  3961  
  3962  // AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3963  func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) {
  3964  	return nil, false
  3965  }
  3966  
  3967  // AsSapBwSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3968  func (ars AmazonRedshiftSource) AsSapBwSource() (*SapBwSource, bool) {
  3969  	return nil, false
  3970  }
  3971  
  3972  // AsSybaseSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3973  func (ars AmazonRedshiftSource) AsSybaseSource() (*SybaseSource, bool) {
  3974  	return nil, false
  3975  }
  3976  
  3977  // AsPostgreSQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3978  func (ars AmazonRedshiftSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
  3979  	return nil, false
  3980  }
  3981  
  3982  // AsMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3983  func (ars AmazonRedshiftSource) AsMySQLSource() (*MySQLSource, bool) {
  3984  	return nil, false
  3985  }
  3986  
  3987  // AsOdbcSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3988  func (ars AmazonRedshiftSource) AsOdbcSource() (*OdbcSource, bool) {
  3989  	return nil, false
  3990  }
  3991  
  3992  // AsDb2Source is the BasicCopySource implementation for AmazonRedshiftSource.
  3993  func (ars AmazonRedshiftSource) AsDb2Source() (*Db2Source, bool) {
  3994  	return nil, false
  3995  }
  3996  
  3997  // AsInformixSource is the BasicCopySource implementation for AmazonRedshiftSource.
  3998  func (ars AmazonRedshiftSource) AsInformixSource() (*InformixSource, bool) {
  3999  	return nil, false
  4000  }
  4001  
  4002  // AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4003  func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) {
  4004  	return nil, false
  4005  }
  4006  
  4007  // AsTabularSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4008  func (ars AmazonRedshiftSource) AsTabularSource() (*TabularSource, bool) {
  4009  	return nil, false
  4010  }
  4011  
  4012  // AsBasicTabularSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4013  func (ars AmazonRedshiftSource) AsBasicTabularSource() (BasicTabularSource, bool) {
  4014  	return &ars, true
  4015  }
  4016  
  4017  // AsBinarySource is the BasicCopySource implementation for AmazonRedshiftSource.
  4018  func (ars AmazonRedshiftSource) AsBinarySource() (*BinarySource, bool) {
  4019  	return nil, false
  4020  }
  4021  
  4022  // AsOrcSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4023  func (ars AmazonRedshiftSource) AsOrcSource() (*OrcSource, bool) {
  4024  	return nil, false
  4025  }
  4026  
  4027  // AsJSONSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4028  func (ars AmazonRedshiftSource) AsJSONSource() (*JSONSource, bool) {
  4029  	return nil, false
  4030  }
  4031  
  4032  // AsDelimitedTextSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4033  func (ars AmazonRedshiftSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
  4034  	return nil, false
  4035  }
  4036  
  4037  // AsParquetSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4038  func (ars AmazonRedshiftSource) AsParquetSource() (*ParquetSource, bool) {
  4039  	return nil, false
  4040  }
  4041  
  4042  // AsAvroSource is the BasicCopySource implementation for AmazonRedshiftSource.
  4043  func (ars AmazonRedshiftSource) AsAvroSource() (*AvroSource, bool) {
  4044  	return nil, false
  4045  }
  4046  
  4047  // AsCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
  4048  func (ars AmazonRedshiftSource) AsCopySource() (*CopySource, bool) {
  4049  	return nil, false
  4050  }
  4051  
  4052  // AsBasicCopySource is the BasicCopySource implementation for AmazonRedshiftSource.
  4053  func (ars AmazonRedshiftSource) AsBasicCopySource() (BasicCopySource, bool) {
  4054  	return &ars, true
  4055  }
  4056  
  4057  // UnmarshalJSON is the custom unmarshaler for AmazonRedshiftSource struct.
  4058  func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error {
  4059  	var m map[string]*json.RawMessage
  4060  	err := json.Unmarshal(body, &m)
  4061  	if err != nil {
  4062  		return err
  4063  	}
  4064  	for k, v := range m {
  4065  		switch k {
  4066  		case "query":
  4067  			if v != nil {
  4068  				var query interface{}
  4069  				err = json.Unmarshal(*v, &query)
  4070  				if err != nil {
  4071  					return err
  4072  				}
  4073  				ars.Query = query
  4074  			}
  4075  		case "redshiftUnloadSettings":
  4076  			if v != nil {
  4077  				var redshiftUnloadSettings RedshiftUnloadSettings
  4078  				err = json.Unmarshal(*v, &redshiftUnloadSettings)
  4079  				if err != nil {
  4080  					return err
  4081  				}
  4082  				ars.RedshiftUnloadSettings = &redshiftUnloadSettings
  4083  			}
  4084  		case "queryTimeout":
  4085  			if v != nil {
  4086  				var queryTimeout interface{}
  4087  				err = json.Unmarshal(*v, &queryTimeout)
  4088  				if err != nil {
  4089  					return err
  4090  				}
  4091  				ars.QueryTimeout = queryTimeout
  4092  			}
  4093  		default:
  4094  			if v != nil {
  4095  				var additionalProperties interface{}
  4096  				err = json.Unmarshal(*v, &additionalProperties)
  4097  				if err != nil {
  4098  					return err
  4099  				}
  4100  				if ars.AdditionalProperties == nil {
  4101  					ars.AdditionalProperties = make(map[string]interface{})
  4102  				}
  4103  				ars.AdditionalProperties[k] = additionalProperties
  4104  			}
  4105  		case "sourceRetryCount":
  4106  			if v != nil {
  4107  				var sourceRetryCount interface{}
  4108  				err = json.Unmarshal(*v, &sourceRetryCount)
  4109  				if err != nil {
  4110  					return err
  4111  				}
  4112  				ars.SourceRetryCount = sourceRetryCount
  4113  			}
  4114  		case "sourceRetryWait":
  4115  			if v != nil {
  4116  				var sourceRetryWait interface{}
  4117  				err = json.Unmarshal(*v, &sourceRetryWait)
  4118  				if err != nil {
  4119  					return err
  4120  				}
  4121  				ars.SourceRetryWait = sourceRetryWait
  4122  			}
  4123  		case "maxConcurrentConnections":
  4124  			if v != nil {
  4125  				var maxConcurrentConnections interface{}
  4126  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  4127  				if err != nil {
  4128  					return err
  4129  				}
  4130  				ars.MaxConcurrentConnections = maxConcurrentConnections
  4131  			}
  4132  		case "type":
  4133  			if v != nil {
  4134  				var typeVar TypeBasicCopySource
  4135  				err = json.Unmarshal(*v, &typeVar)
  4136  				if err != nil {
  4137  					return err
  4138  				}
  4139  				ars.Type = typeVar
  4140  			}
  4141  		}
  4142  	}
  4143  
  4144  	return nil
  4145  }
  4146  
  4147  // AmazonRedshiftTableDataset the Amazon Redshift table dataset.
  4148  type AmazonRedshiftTableDataset struct {
  4149  	// AmazonRedshiftTableDatasetTypeProperties - Amazon Redshift table dataset properties.
  4150  	*AmazonRedshiftTableDatasetTypeProperties `json:"typeProperties,omitempty"`
  4151  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  4152  	AdditionalProperties map[string]interface{} `json:""`
  4153  	// Description - Dataset description.
  4154  	Description *string `json:"description,omitempty"`
  4155  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
  4156  	Structure interface{} `json:"structure,omitempty"`
  4157  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
  4158  	Schema interface{} `json:"schema,omitempty"`
  4159  	// LinkedServiceName - Linked service reference.
  4160  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
  4161  	// Parameters - Parameters for dataset.
  4162  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  4163  	// Annotations - List of tags that can be used for describing the Dataset.
  4164  	Annotations *[]interface{} `json:"annotations,omitempty"`
  4165  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
  4166  	Folder *DatasetFolder `json:"folder,omitempty"`
  4167  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
  4168  	Type TypeBasicDataset `json:"type,omitempty"`
  4169  }
  4170  
  4171  // MarshalJSON is the custom marshaler for AmazonRedshiftTableDataset.
  4172  func (artd AmazonRedshiftTableDataset) MarshalJSON() ([]byte, error) {
  4173  	artd.Type = TypeAmazonRedshiftTable
  4174  	objectMap := make(map[string]interface{})
  4175  	if artd.AmazonRedshiftTableDatasetTypeProperties != nil {
  4176  		objectMap["typeProperties"] = artd.AmazonRedshiftTableDatasetTypeProperties
  4177  	}
  4178  	if artd.Description != nil {
  4179  		objectMap["description"] = artd.Description
  4180  	}
  4181  	if artd.Structure != nil {
  4182  		objectMap["structure"] = artd.Structure
  4183  	}
  4184  	if artd.Schema != nil {
  4185  		objectMap["schema"] = artd.Schema
  4186  	}
  4187  	if artd.LinkedServiceName != nil {
  4188  		objectMap["linkedServiceName"] = artd.LinkedServiceName
  4189  	}
  4190  	if artd.Parameters != nil {
  4191  		objectMap["parameters"] = artd.Parameters
  4192  	}
  4193  	if artd.Annotations != nil {
  4194  		objectMap["annotations"] = artd.Annotations
  4195  	}
  4196  	if artd.Folder != nil {
  4197  		objectMap["folder"] = artd.Folder
  4198  	}
  4199  	if artd.Type != "" {
  4200  		objectMap["type"] = artd.Type
  4201  	}
  4202  	for k, v := range artd.AdditionalProperties {
  4203  		objectMap[k] = v
  4204  	}
  4205  	return json.Marshal(objectMap)
  4206  }
  4207  
  4208  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4209  func (artd AmazonRedshiftTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
  4210  	return nil, false
  4211  }
  4212  
  4213  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4214  func (artd AmazonRedshiftTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
  4215  	return nil, false
  4216  }
  4217  
  4218  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4219  func (artd AmazonRedshiftTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
  4220  	return nil, false
  4221  }
  4222  
  4223  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4224  func (artd AmazonRedshiftTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
  4225  	return nil, false
  4226  }
  4227  
  4228  // AsResponsysObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4229  func (artd AmazonRedshiftTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
  4230  	return nil, false
  4231  }
  4232  
  4233  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4234  func (artd AmazonRedshiftTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
  4235  	return nil, false
  4236  }
  4237  
  4238  // AsVerticaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4239  func (artd AmazonRedshiftTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
  4240  	return nil, false
  4241  }
  4242  
  4243  // AsNetezzaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4244  func (artd AmazonRedshiftTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
  4245  	return nil, false
  4246  }
  4247  
  4248  // AsZohoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4249  func (artd AmazonRedshiftTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
  4250  	return nil, false
  4251  }
  4252  
  4253  // AsXeroObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4254  func (artd AmazonRedshiftTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
  4255  	return nil, false
  4256  }
  4257  
  4258  // AsSquareObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4259  func (artd AmazonRedshiftTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
  4260  	return nil, false
  4261  }
  4262  
  4263  // AsSparkObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4264  func (artd AmazonRedshiftTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
  4265  	return nil, false
  4266  }
  4267  
  4268  // AsShopifyObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4269  func (artd AmazonRedshiftTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
  4270  	return nil, false
  4271  }
  4272  
  4273  // AsServiceNowObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4274  func (artd AmazonRedshiftTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
  4275  	return nil, false
  4276  }
  4277  
  4278  // AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4279  func (artd AmazonRedshiftTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
  4280  	return nil, false
  4281  }
  4282  
  4283  // AsPrestoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4284  func (artd AmazonRedshiftTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
  4285  	return nil, false
  4286  }
  4287  
  4288  // AsPhoenixObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4289  func (artd AmazonRedshiftTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
  4290  	return nil, false
  4291  }
  4292  
  4293  // AsPaypalObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4294  func (artd AmazonRedshiftTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
  4295  	return nil, false
  4296  }
  4297  
  4298  // AsMarketoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4299  func (artd AmazonRedshiftTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
  4300  	return nil, false
  4301  }
  4302  
  4303  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4304  func (artd AmazonRedshiftTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
  4305  	return nil, false
  4306  }
  4307  
  4308  // AsMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4309  func (artd AmazonRedshiftTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
  4310  	return nil, false
  4311  }
  4312  
  4313  // AsMagentoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4314  func (artd AmazonRedshiftTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
  4315  	return nil, false
  4316  }
  4317  
  4318  // AsJiraObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4319  func (artd AmazonRedshiftTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
  4320  	return nil, false
  4321  }
  4322  
  4323  // AsImpalaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4324  func (artd AmazonRedshiftTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
  4325  	return nil, false
  4326  }
  4327  
  4328  // AsHubspotObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4329  func (artd AmazonRedshiftTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
  4330  	return nil, false
  4331  }
  4332  
  4333  // AsHiveObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4334  func (artd AmazonRedshiftTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
  4335  	return nil, false
  4336  }
  4337  
  4338  // AsHBaseObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4339  func (artd AmazonRedshiftTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
  4340  	return nil, false
  4341  }
  4342  
  4343  // AsGreenplumTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4344  func (artd AmazonRedshiftTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
  4345  	return nil, false
  4346  }
  4347  
  4348  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4349  func (artd AmazonRedshiftTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
  4350  	return nil, false
  4351  }
  4352  
  4353  // AsEloquaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4354  func (artd AmazonRedshiftTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
  4355  	return nil, false
  4356  }
  4357  
  4358  // AsDrillTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4359  func (artd AmazonRedshiftTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
  4360  	return nil, false
  4361  }
  4362  
  4363  // AsCouchbaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4364  func (artd AmazonRedshiftTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
  4365  	return nil, false
  4366  }
  4367  
  4368  // AsConcurObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4369  func (artd AmazonRedshiftTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
  4370  	return nil, false
  4371  }
  4372  
  4373  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4374  func (artd AmazonRedshiftTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
  4375  	return nil, false
  4376  }
  4377  
  4378  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4379  func (artd AmazonRedshiftTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
  4380  	return nil, false
  4381  }
  4382  
  4383  // AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4384  func (artd AmazonRedshiftTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
  4385  	return nil, false
  4386  }
  4387  
  4388  // AsWebTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4389  func (artd AmazonRedshiftTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
  4390  	return nil, false
  4391  }
  4392  
  4393  // AsSapTableResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4394  func (artd AmazonRedshiftTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
  4395  	return nil, false
  4396  }
  4397  
  4398  // AsRestResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4399  func (artd AmazonRedshiftTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
  4400  	return nil, false
  4401  }
  4402  
  4403  // AsSQLServerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4404  func (artd AmazonRedshiftTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
  4405  	return nil, false
  4406  }
  4407  
  4408  // AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4409  func (artd AmazonRedshiftTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
  4410  	return nil, false
  4411  }
  4412  
  4413  // AsSapHanaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4414  func (artd AmazonRedshiftTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
  4415  	return nil, false
  4416  }
  4417  
  4418  // AsSapEccResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4419  func (artd AmazonRedshiftTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
  4420  	return nil, false
  4421  }
  4422  
  4423  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4424  func (artd AmazonRedshiftTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
  4425  	return nil, false
  4426  }
  4427  
  4428  // AsSapBwCubeDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4429  func (artd AmazonRedshiftTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
  4430  	return nil, false
  4431  }
  4432  
  4433  // AsSybaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4434  func (artd AmazonRedshiftTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
  4435  	return nil, false
  4436  }
  4437  
  4438  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4439  func (artd AmazonRedshiftTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
  4440  	return nil, false
  4441  }
  4442  
  4443  // AsSalesforceObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4444  func (artd AmazonRedshiftTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
  4445  	return nil, false
  4446  }
  4447  
  4448  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4449  func (artd AmazonRedshiftTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
  4450  	return nil, false
  4451  }
  4452  
  4453  // AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4454  func (artd AmazonRedshiftTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
  4455  	return nil, false
  4456  }
  4457  
  4458  // AsMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4459  func (artd AmazonRedshiftTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
  4460  	return nil, false
  4461  }
  4462  
  4463  // AsOdbcTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4464  func (artd AmazonRedshiftTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
  4465  	return nil, false
  4466  }
  4467  
  4468  // AsInformixTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4469  func (artd AmazonRedshiftTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
  4470  	return nil, false
  4471  }
  4472  
  4473  // AsRelationalTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4474  func (artd AmazonRedshiftTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
  4475  	return nil, false
  4476  }
  4477  
  4478  // AsDb2TableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4479  func (artd AmazonRedshiftTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
  4480  	return nil, false
  4481  }
  4482  
  4483  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4484  func (artd AmazonRedshiftTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
  4485  	return &artd, true
  4486  }
  4487  
  4488  // AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4489  func (artd AmazonRedshiftTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
  4490  	return nil, false
  4491  }
  4492  
  4493  // AsTeradataTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4494  func (artd AmazonRedshiftTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
  4495  	return nil, false
  4496  }
  4497  
  4498  // AsOracleTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4499  func (artd AmazonRedshiftTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
  4500  	return nil, false
  4501  }
  4502  
  4503  // AsODataResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4504  func (artd AmazonRedshiftTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
  4505  	return nil, false
  4506  }
  4507  
  4508  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4509  func (artd AmazonRedshiftTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
  4510  	return nil, false
  4511  }
  4512  
  4513  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4514  func (artd AmazonRedshiftTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
  4515  	return nil, false
  4516  }
  4517  
  4518  // AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4519  func (artd AmazonRedshiftTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
  4520  	return nil, false
  4521  }
  4522  
  4523  // AsOffice365Dataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4524  func (artd AmazonRedshiftTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
  4525  	return nil, false
  4526  }
  4527  
  4528  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4529  func (artd AmazonRedshiftTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
  4530  	return nil, false
  4531  }
  4532  
  4533  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4534  func (artd AmazonRedshiftTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
  4535  	return nil, false
  4536  }
  4537  
  4538  // AsDynamicsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4539  func (artd AmazonRedshiftTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
  4540  	return nil, false
  4541  }
  4542  
  4543  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4544  func (artd AmazonRedshiftTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
  4545  	return nil, false
  4546  }
  4547  
  4548  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4549  func (artd AmazonRedshiftTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
  4550  	return nil, false
  4551  }
  4552  
  4553  // AsCustomDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4554  func (artd AmazonRedshiftTableDataset) AsCustomDataset() (*CustomDataset, bool) {
  4555  	return nil, false
  4556  }
  4557  
  4558  // AsCassandraTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4559  func (artd AmazonRedshiftTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
  4560  	return nil, false
  4561  }
  4562  
  4563  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4564  func (artd AmazonRedshiftTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
  4565  	return nil, false
  4566  }
  4567  
  4568  // AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4569  func (artd AmazonRedshiftTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
  4570  	return nil, false
  4571  }
  4572  
  4573  // AsAzureSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4574  func (artd AmazonRedshiftTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
  4575  	return nil, false
  4576  }
  4577  
  4578  // AsAzureTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4579  func (artd AmazonRedshiftTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
  4580  	return nil, false
  4581  }
  4582  
  4583  // AsBinaryDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4584  func (artd AmazonRedshiftTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
  4585  	return nil, false
  4586  }
  4587  
  4588  // AsOrcDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4589  func (artd AmazonRedshiftTableDataset) AsOrcDataset() (*OrcDataset, bool) {
  4590  	return nil, false
  4591  }
  4592  
  4593  // AsJSONDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4594  func (artd AmazonRedshiftTableDataset) AsJSONDataset() (*JSONDataset, bool) {
  4595  	return nil, false
  4596  }
  4597  
  4598  // AsDelimitedTextDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4599  func (artd AmazonRedshiftTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
  4600  	return nil, false
  4601  }
  4602  
  4603  // AsParquetDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4604  func (artd AmazonRedshiftTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
  4605  	return nil, false
  4606  }
  4607  
  4608  // AsAvroDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4609  func (artd AmazonRedshiftTableDataset) AsAvroDataset() (*AvroDataset, bool) {
  4610  	return nil, false
  4611  }
  4612  
  4613  // AsDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4614  func (artd AmazonRedshiftTableDataset) AsDataset() (*Dataset, bool) {
  4615  	return nil, false
  4616  }
  4617  
  4618  // AsBasicDataset is the BasicDataset implementation for AmazonRedshiftTableDataset.
  4619  func (artd AmazonRedshiftTableDataset) AsBasicDataset() (BasicDataset, bool) {
  4620  	return &artd, true
  4621  }
  4622  
  4623  // UnmarshalJSON is the custom unmarshaler for AmazonRedshiftTableDataset struct.
  4624  func (artd *AmazonRedshiftTableDataset) UnmarshalJSON(body []byte) error {
  4625  	var m map[string]*json.RawMessage
  4626  	err := json.Unmarshal(body, &m)
  4627  	if err != nil {
  4628  		return err
  4629  	}
  4630  	for k, v := range m {
  4631  		switch k {
  4632  		case "typeProperties":
  4633  			if v != nil {
  4634  				var amazonRedshiftTableDatasetTypeProperties AmazonRedshiftTableDatasetTypeProperties
  4635  				err = json.Unmarshal(*v, &amazonRedshiftTableDatasetTypeProperties)
  4636  				if err != nil {
  4637  					return err
  4638  				}
  4639  				artd.AmazonRedshiftTableDatasetTypeProperties = &amazonRedshiftTableDatasetTypeProperties
  4640  			}
  4641  		default:
  4642  			if v != nil {
  4643  				var additionalProperties interface{}
  4644  				err = json.Unmarshal(*v, &additionalProperties)
  4645  				if err != nil {
  4646  					return err
  4647  				}
  4648  				if artd.AdditionalProperties == nil {
  4649  					artd.AdditionalProperties = make(map[string]interface{})
  4650  				}
  4651  				artd.AdditionalProperties[k] = additionalProperties
  4652  			}
  4653  		case "description":
  4654  			if v != nil {
  4655  				var description string
  4656  				err = json.Unmarshal(*v, &description)
  4657  				if err != nil {
  4658  					return err
  4659  				}
  4660  				artd.Description = &description
  4661  			}
  4662  		case "structure":
  4663  			if v != nil {
  4664  				var structure interface{}
  4665  				err = json.Unmarshal(*v, &structure)
  4666  				if err != nil {
  4667  					return err
  4668  				}
  4669  				artd.Structure = structure
  4670  			}
  4671  		case "schema":
  4672  			if v != nil {
  4673  				var schema interface{}
  4674  				err = json.Unmarshal(*v, &schema)
  4675  				if err != nil {
  4676  					return err
  4677  				}
  4678  				artd.Schema = schema
  4679  			}
  4680  		case "linkedServiceName":
  4681  			if v != nil {
  4682  				var linkedServiceName LinkedServiceReference
  4683  				err = json.Unmarshal(*v, &linkedServiceName)
  4684  				if err != nil {
  4685  					return err
  4686  				}
  4687  				artd.LinkedServiceName = &linkedServiceName
  4688  			}
  4689  		case "parameters":
  4690  			if v != nil {
  4691  				var parameters map[string]*ParameterSpecification
  4692  				err = json.Unmarshal(*v, &parameters)
  4693  				if err != nil {
  4694  					return err
  4695  				}
  4696  				artd.Parameters = parameters
  4697  			}
  4698  		case "annotations":
  4699  			if v != nil {
  4700  				var annotations []interface{}
  4701  				err = json.Unmarshal(*v, &annotations)
  4702  				if err != nil {
  4703  					return err
  4704  				}
  4705  				artd.Annotations = &annotations
  4706  			}
  4707  		case "folder":
  4708  			if v != nil {
  4709  				var folder DatasetFolder
  4710  				err = json.Unmarshal(*v, &folder)
  4711  				if err != nil {
  4712  					return err
  4713  				}
  4714  				artd.Folder = &folder
  4715  			}
  4716  		case "type":
  4717  			if v != nil {
  4718  				var typeVar TypeBasicDataset
  4719  				err = json.Unmarshal(*v, &typeVar)
  4720  				if err != nil {
  4721  					return err
  4722  				}
  4723  				artd.Type = typeVar
  4724  			}
  4725  		}
  4726  	}
  4727  
  4728  	return nil
  4729  }
  4730  
  4731  // AmazonRedshiftTableDatasetTypeProperties amazon Redshift table dataset properties.
  4732  type AmazonRedshiftTableDatasetTypeProperties struct {
  4733  	// TableName - This property will be retired. Please consider using schema + table properties instead.
  4734  	TableName interface{} `json:"tableName,omitempty"`
  4735  	// Table - The Amazon Redshift table name. Type: string (or Expression with resultType string).
  4736  	Table interface{} `json:"table,omitempty"`
  4737  	// Schema - The Amazon Redshift schema name. Type: string (or Expression with resultType string).
  4738  	Schema interface{} `json:"schema,omitempty"`
  4739  }
  4740  
  4741  // AmazonS3LinkedService linked service for Amazon S3.
  4742  type AmazonS3LinkedService struct {
  4743  	// AmazonS3LinkedServiceTypeProperties - Amazon S3 linked service properties.
  4744  	*AmazonS3LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
  4745  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  4746  	AdditionalProperties map[string]interface{} `json:""`
  4747  	// ConnectVia - The integration runtime reference.
  4748  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
  4749  	// Description - Linked service description.
  4750  	Description *string `json:"description,omitempty"`
  4751  	// Parameters - Parameters for linked service.
  4752  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  4753  	// Annotations - List of tags that can be used for describing the linked service.
  4754  	Annotations *[]interface{} `json:"annotations,omitempty"`
  4755  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
  4756  	Type TypeBasicLinkedService `json:"type,omitempty"`
  4757  }
  4758  
  4759  // MarshalJSON is the custom marshaler for AmazonS3LinkedService.
  4760  func (asls AmazonS3LinkedService) MarshalJSON() ([]byte, error) {
  4761  	asls.Type = TypeAmazonS3
  4762  	objectMap := make(map[string]interface{})
  4763  	if asls.AmazonS3LinkedServiceTypeProperties != nil {
  4764  		objectMap["typeProperties"] = asls.AmazonS3LinkedServiceTypeProperties
  4765  	}
  4766  	if asls.ConnectVia != nil {
  4767  		objectMap["connectVia"] = asls.ConnectVia
  4768  	}
  4769  	if asls.Description != nil {
  4770  		objectMap["description"] = asls.Description
  4771  	}
  4772  	if asls.Parameters != nil {
  4773  		objectMap["parameters"] = asls.Parameters
  4774  	}
  4775  	if asls.Annotations != nil {
  4776  		objectMap["annotations"] = asls.Annotations
  4777  	}
  4778  	if asls.Type != "" {
  4779  		objectMap["type"] = asls.Type
  4780  	}
  4781  	for k, v := range asls.AdditionalProperties {
  4782  		objectMap[k] = v
  4783  	}
  4784  	return json.Marshal(objectMap)
  4785  }
  4786  
  4787  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4788  func (asls AmazonS3LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
  4789  	return nil, false
  4790  }
  4791  
  4792  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4793  func (asls AmazonS3LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
  4794  	return nil, false
  4795  }
  4796  
  4797  // AsSapTableLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4798  func (asls AmazonS3LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
  4799  	return nil, false
  4800  }
  4801  
  4802  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4803  func (asls AmazonS3LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
  4804  	return nil, false
  4805  }
  4806  
  4807  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4808  func (asls AmazonS3LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
  4809  	return nil, false
  4810  }
  4811  
  4812  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4813  func (asls AmazonS3LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
  4814  	return nil, false
  4815  }
  4816  
  4817  // AsResponsysLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4818  func (asls AmazonS3LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
  4819  	return nil, false
  4820  }
  4821  
  4822  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4823  func (asls AmazonS3LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
  4824  	return nil, false
  4825  }
  4826  
  4827  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4828  func (asls AmazonS3LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
  4829  	return nil, false
  4830  }
  4831  
  4832  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4833  func (asls AmazonS3LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
  4834  	return nil, false
  4835  }
  4836  
  4837  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4838  func (asls AmazonS3LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
  4839  	return nil, false
  4840  }
  4841  
  4842  // AsNetezzaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4843  func (asls AmazonS3LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
  4844  	return nil, false
  4845  }
  4846  
  4847  // AsVerticaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4848  func (asls AmazonS3LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
  4849  	return nil, false
  4850  }
  4851  
  4852  // AsZohoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4853  func (asls AmazonS3LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
  4854  	return nil, false
  4855  }
  4856  
  4857  // AsXeroLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4858  func (asls AmazonS3LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
  4859  	return nil, false
  4860  }
  4861  
  4862  // AsSquareLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4863  func (asls AmazonS3LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
  4864  	return nil, false
  4865  }
  4866  
  4867  // AsSparkLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4868  func (asls AmazonS3LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
  4869  	return nil, false
  4870  }
  4871  
  4872  // AsShopifyLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4873  func (asls AmazonS3LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
  4874  	return nil, false
  4875  }
  4876  
  4877  // AsServiceNowLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4878  func (asls AmazonS3LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
  4879  	return nil, false
  4880  }
  4881  
  4882  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4883  func (asls AmazonS3LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
  4884  	return nil, false
  4885  }
  4886  
  4887  // AsPrestoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4888  func (asls AmazonS3LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
  4889  	return nil, false
  4890  }
  4891  
  4892  // AsPhoenixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4893  func (asls AmazonS3LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
  4894  	return nil, false
  4895  }
  4896  
  4897  // AsPaypalLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4898  func (asls AmazonS3LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
  4899  	return nil, false
  4900  }
  4901  
  4902  // AsMarketoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4903  func (asls AmazonS3LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
  4904  	return nil, false
  4905  }
  4906  
  4907  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4908  func (asls AmazonS3LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
  4909  	return nil, false
  4910  }
  4911  
  4912  // AsMariaDBLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4913  func (asls AmazonS3LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
  4914  	return nil, false
  4915  }
  4916  
  4917  // AsMagentoLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4918  func (asls AmazonS3LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
  4919  	return nil, false
  4920  }
  4921  
  4922  // AsJiraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4923  func (asls AmazonS3LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
  4924  	return nil, false
  4925  }
  4926  
  4927  // AsImpalaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4928  func (asls AmazonS3LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
  4929  	return nil, false
  4930  }
  4931  
  4932  // AsHubspotLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4933  func (asls AmazonS3LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
  4934  	return nil, false
  4935  }
  4936  
  4937  // AsHiveLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4938  func (asls AmazonS3LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
  4939  	return nil, false
  4940  }
  4941  
  4942  // AsHBaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4943  func (asls AmazonS3LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
  4944  	return nil, false
  4945  }
  4946  
  4947  // AsGreenplumLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4948  func (asls AmazonS3LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
  4949  	return nil, false
  4950  }
  4951  
  4952  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4953  func (asls AmazonS3LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
  4954  	return nil, false
  4955  }
  4956  
  4957  // AsEloquaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4958  func (asls AmazonS3LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
  4959  	return nil, false
  4960  }
  4961  
  4962  // AsDrillLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4963  func (asls AmazonS3LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
  4964  	return nil, false
  4965  }
  4966  
  4967  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4968  func (asls AmazonS3LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
  4969  	return nil, false
  4970  }
  4971  
  4972  // AsConcurLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4973  func (asls AmazonS3LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
  4974  	return nil, false
  4975  }
  4976  
  4977  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4978  func (asls AmazonS3LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
  4979  	return nil, false
  4980  }
  4981  
  4982  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4983  func (asls AmazonS3LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
  4984  	return nil, false
  4985  }
  4986  
  4987  // AsSapHanaLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4988  func (asls AmazonS3LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
  4989  	return nil, false
  4990  }
  4991  
  4992  // AsSapBWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4993  func (asls AmazonS3LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
  4994  	return nil, false
  4995  }
  4996  
  4997  // AsSftpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  4998  func (asls AmazonS3LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
  4999  	return nil, false
  5000  }
  5001  
  5002  // AsFtpServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5003  func (asls AmazonS3LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
  5004  	return nil, false
  5005  }
  5006  
  5007  // AsHTTPLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5008  func (asls AmazonS3LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
  5009  	return nil, false
  5010  }
  5011  
  5012  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5013  func (asls AmazonS3LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
  5014  	return nil, false
  5015  }
  5016  
  5017  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5018  func (asls AmazonS3LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
  5019  	return nil, false
  5020  }
  5021  
  5022  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5023  func (asls AmazonS3LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
  5024  	return nil, false
  5025  }
  5026  
  5027  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5028  func (asls AmazonS3LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
  5029  	return &asls, true
  5030  }
  5031  
  5032  // AsRestServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5033  func (asls AmazonS3LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
  5034  	return nil, false
  5035  }
  5036  
  5037  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5038  func (asls AmazonS3LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
  5039  	return nil, false
  5040  }
  5041  
  5042  // AsSapEccLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5043  func (asls AmazonS3LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
  5044  	return nil, false
  5045  }
  5046  
  5047  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5048  func (asls AmazonS3LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
  5049  	return nil, false
  5050  }
  5051  
  5052  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5053  func (asls AmazonS3LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
  5054  	return nil, false
  5055  }
  5056  
  5057  // AsSalesforceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5058  func (asls AmazonS3LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
  5059  	return nil, false
  5060  }
  5061  
  5062  // AsOffice365LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5063  func (asls AmazonS3LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
  5064  	return nil, false
  5065  }
  5066  
  5067  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5068  func (asls AmazonS3LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
  5069  	return nil, false
  5070  }
  5071  
  5072  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5073  func (asls AmazonS3LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
  5074  	return nil, false
  5075  }
  5076  
  5077  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5078  func (asls AmazonS3LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
  5079  	return nil, false
  5080  }
  5081  
  5082  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5083  func (asls AmazonS3LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
  5084  	return nil, false
  5085  }
  5086  
  5087  // AsMongoDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5088  func (asls AmazonS3LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
  5089  	return nil, false
  5090  }
  5091  
  5092  // AsCassandraLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5093  func (asls AmazonS3LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
  5094  	return nil, false
  5095  }
  5096  
  5097  // AsWebLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5098  func (asls AmazonS3LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
  5099  	return nil, false
  5100  }
  5101  
  5102  // AsODataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5103  func (asls AmazonS3LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
  5104  	return nil, false
  5105  }
  5106  
  5107  // AsHdfsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5108  func (asls AmazonS3LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
  5109  	return nil, false
  5110  }
  5111  
  5112  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5113  func (asls AmazonS3LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
  5114  	return nil, false
  5115  }
  5116  
  5117  // AsInformixLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5118  func (asls AmazonS3LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
  5119  	return nil, false
  5120  }
  5121  
  5122  // AsOdbcLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5123  func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
  5124  	return nil, false
  5125  }
  5126  
  5127  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5128  func (asls AmazonS3LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
  5129  	return nil, false
  5130  }
  5131  
  5132  // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5133  func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
  5134  	return nil, false
  5135  }
  5136  
  5137  // AsTeradataLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5138  func (asls AmazonS3LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
  5139  	return nil, false
  5140  }
  5141  
  5142  // AsDb2LinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5143  func (asls AmazonS3LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
  5144  	return nil, false
  5145  }
  5146  
  5147  // AsSybaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5148  func (asls AmazonS3LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
  5149  	return nil, false
  5150  }
  5151  
  5152  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5153  func (asls AmazonS3LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
  5154  	return nil, false
  5155  }
  5156  
  5157  // AsMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5158  func (asls AmazonS3LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
  5159  	return nil, false
  5160  }
  5161  
  5162  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5163  func (asls AmazonS3LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
  5164  	return nil, false
  5165  }
  5166  
  5167  // AsOracleLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5168  func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
  5169  	return nil, false
  5170  }
  5171  
  5172  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5173  func (asls AmazonS3LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
  5174  	return nil, false
  5175  }
  5176  
  5177  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5178  func (asls AmazonS3LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
  5179  	return nil, false
  5180  }
  5181  
  5182  // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5183  func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
  5184  	return nil, false
  5185  }
  5186  
  5187  // AsHDInsightLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5188  func (asls AmazonS3LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
  5189  	return nil, false
  5190  }
  5191  
  5192  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5193  func (asls AmazonS3LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
  5194  	return nil, false
  5195  }
  5196  
  5197  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5198  func (asls AmazonS3LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
  5199  	return nil, false
  5200  }
  5201  
  5202  // AsDynamicsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5203  func (asls AmazonS3LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
  5204  	return nil, false
  5205  }
  5206  
  5207  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5208  func (asls AmazonS3LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
  5209  	return nil, false
  5210  }
  5211  
  5212  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5213  func (asls AmazonS3LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
  5214  	return nil, false
  5215  }
  5216  
  5217  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5218  func (asls AmazonS3LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
  5219  	return nil, false
  5220  }
  5221  
  5222  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5223  func (asls AmazonS3LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
  5224  	return nil, false
  5225  }
  5226  
  5227  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5228  func (asls AmazonS3LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
  5229  	return nil, false
  5230  }
  5231  
  5232  // AsSQLServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5233  func (asls AmazonS3LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
  5234  	return nil, false
  5235  }
  5236  
  5237  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5238  func (asls AmazonS3LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
  5239  	return nil, false
  5240  }
  5241  
  5242  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5243  func (asls AmazonS3LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
  5244  	return nil, false
  5245  }
  5246  
  5247  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5248  func (asls AmazonS3LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
  5249  	return nil, false
  5250  }
  5251  
  5252  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5253  func (asls AmazonS3LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
  5254  	return nil, false
  5255  }
  5256  
  5257  // AsLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5258  func (asls AmazonS3LinkedService) AsLinkedService() (*LinkedService, bool) {
  5259  	return nil, false
  5260  }
  5261  
  5262  // AsBasicLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService.
  5263  func (asls AmazonS3LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
  5264  	return &asls, true
  5265  }
  5266  
  5267  // UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedService struct.
  5268  func (asls *AmazonS3LinkedService) UnmarshalJSON(body []byte) error {
  5269  	var m map[string]*json.RawMessage
  5270  	err := json.Unmarshal(body, &m)
  5271  	if err != nil {
  5272  		return err
  5273  	}
  5274  	for k, v := range m {
  5275  		switch k {
  5276  		case "typeProperties":
  5277  			if v != nil {
  5278  				var amazonS3LinkedServiceTypeProperties AmazonS3LinkedServiceTypeProperties
  5279  				err = json.Unmarshal(*v, &amazonS3LinkedServiceTypeProperties)
  5280  				if err != nil {
  5281  					return err
  5282  				}
  5283  				asls.AmazonS3LinkedServiceTypeProperties = &amazonS3LinkedServiceTypeProperties
  5284  			}
  5285  		default:
  5286  			if v != nil {
  5287  				var additionalProperties interface{}
  5288  				err = json.Unmarshal(*v, &additionalProperties)
  5289  				if err != nil {
  5290  					return err
  5291  				}
  5292  				if asls.AdditionalProperties == nil {
  5293  					asls.AdditionalProperties = make(map[string]interface{})
  5294  				}
  5295  				asls.AdditionalProperties[k] = additionalProperties
  5296  			}
  5297  		case "connectVia":
  5298  			if v != nil {
  5299  				var connectVia IntegrationRuntimeReference
  5300  				err = json.Unmarshal(*v, &connectVia)
  5301  				if err != nil {
  5302  					return err
  5303  				}
  5304  				asls.ConnectVia = &connectVia
  5305  			}
  5306  		case "description":
  5307  			if v != nil {
  5308  				var description string
  5309  				err = json.Unmarshal(*v, &description)
  5310  				if err != nil {
  5311  					return err
  5312  				}
  5313  				asls.Description = &description
  5314  			}
  5315  		case "parameters":
  5316  			if v != nil {
  5317  				var parameters map[string]*ParameterSpecification
  5318  				err = json.Unmarshal(*v, &parameters)
  5319  				if err != nil {
  5320  					return err
  5321  				}
  5322  				asls.Parameters = parameters
  5323  			}
  5324  		case "annotations":
  5325  			if v != nil {
  5326  				var annotations []interface{}
  5327  				err = json.Unmarshal(*v, &annotations)
  5328  				if err != nil {
  5329  					return err
  5330  				}
  5331  				asls.Annotations = &annotations
  5332  			}
  5333  		case "type":
  5334  			if v != nil {
  5335  				var typeVar TypeBasicLinkedService
  5336  				err = json.Unmarshal(*v, &typeVar)
  5337  				if err != nil {
  5338  					return err
  5339  				}
  5340  				asls.Type = typeVar
  5341  			}
  5342  		}
  5343  	}
  5344  
  5345  	return nil
  5346  }
  5347  
  5348  // AmazonS3LinkedServiceTypeProperties amazon S3 linked service properties.
  5349  type AmazonS3LinkedServiceTypeProperties struct {
  5350  	// AccessKeyID - The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
  5351  	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
  5352  	// SecretAccessKey - The secret access key of the Amazon S3 Identity and Access Management (IAM) user.
  5353  	SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"`
  5354  	// 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).
  5355  	ServiceURL interface{} `json:"serviceUrl,omitempty"`
  5356  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
  5357  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
  5358  }
  5359  
  5360  // UnmarshalJSON is the custom unmarshaler for AmazonS3LinkedServiceTypeProperties struct.
  5361  func (aslstp *AmazonS3LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
  5362  	var m map[string]*json.RawMessage
  5363  	err := json.Unmarshal(body, &m)
  5364  	if err != nil {
  5365  		return err
  5366  	}
  5367  	for k, v := range m {
  5368  		switch k {
  5369  		case "accessKeyId":
  5370  			if v != nil {
  5371  				var accessKeyID interface{}
  5372  				err = json.Unmarshal(*v, &accessKeyID)
  5373  				if err != nil {
  5374  					return err
  5375  				}
  5376  				aslstp.AccessKeyID = accessKeyID
  5377  			}
  5378  		case "secretAccessKey":
  5379  			if v != nil {
  5380  				secretAccessKey, err := unmarshalBasicSecretBase(*v)
  5381  				if err != nil {
  5382  					return err
  5383  				}
  5384  				aslstp.SecretAccessKey = secretAccessKey
  5385  			}
  5386  		case "serviceUrl":
  5387  			if v != nil {
  5388  				var serviceURL interface{}
  5389  				err = json.Unmarshal(*v, &serviceURL)
  5390  				if err != nil {
  5391  					return err
  5392  				}
  5393  				aslstp.ServiceURL = serviceURL
  5394  			}
  5395  		case "encryptedCredential":
  5396  			if v != nil {
  5397  				var encryptedCredential interface{}
  5398  				err = json.Unmarshal(*v, &encryptedCredential)
  5399  				if err != nil {
  5400  					return err
  5401  				}
  5402  				aslstp.EncryptedCredential = encryptedCredential
  5403  			}
  5404  		}
  5405  	}
  5406  
  5407  	return nil
  5408  }
  5409  
  5410  // AmazonS3Location the location of amazon S3 dataset.
  5411  type AmazonS3Location struct {
  5412  	// BucketName - Specify the bucketName of amazon S3. Type: string (or Expression with resultType string)
  5413  	BucketName interface{} `json:"bucketName,omitempty"`
  5414  	// Version - Specify the version of amazon S3. Type: string (or Expression with resultType string).
  5415  	Version interface{} `json:"version,omitempty"`
  5416  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  5417  	AdditionalProperties map[string]interface{} `json:""`
  5418  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
  5419  	FolderPath interface{} `json:"folderPath,omitempty"`
  5420  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
  5421  	FileName interface{} `json:"fileName,omitempty"`
  5422  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
  5423  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
  5424  }
  5425  
  5426  // MarshalJSON is the custom marshaler for AmazonS3Location.
  5427  func (asl AmazonS3Location) MarshalJSON() ([]byte, error) {
  5428  	asl.Type = TypeAmazonS3Location
  5429  	objectMap := make(map[string]interface{})
  5430  	if asl.BucketName != nil {
  5431  		objectMap["bucketName"] = asl.BucketName
  5432  	}
  5433  	if asl.Version != nil {
  5434  		objectMap["version"] = asl.Version
  5435  	}
  5436  	if asl.FolderPath != nil {
  5437  		objectMap["folderPath"] = asl.FolderPath
  5438  	}
  5439  	if asl.FileName != nil {
  5440  		objectMap["fileName"] = asl.FileName
  5441  	}
  5442  	if asl.Type != "" {
  5443  		objectMap["type"] = asl.Type
  5444  	}
  5445  	for k, v := range asl.AdditionalProperties {
  5446  		objectMap[k] = v
  5447  	}
  5448  	return json.Marshal(objectMap)
  5449  }
  5450  
  5451  // AsHdfsLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5452  func (asl AmazonS3Location) AsHdfsLocation() (*HdfsLocation, bool) {
  5453  	return nil, false
  5454  }
  5455  
  5456  // AsHTTPServerLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5457  func (asl AmazonS3Location) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
  5458  	return nil, false
  5459  }
  5460  
  5461  // AsSftpLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5462  func (asl AmazonS3Location) AsSftpLocation() (*SftpLocation, bool) {
  5463  	return nil, false
  5464  }
  5465  
  5466  // AsFtpServerLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5467  func (asl AmazonS3Location) AsFtpServerLocation() (*FtpServerLocation, bool) {
  5468  	return nil, false
  5469  }
  5470  
  5471  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5472  func (asl AmazonS3Location) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
  5473  	return nil, false
  5474  }
  5475  
  5476  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5477  func (asl AmazonS3Location) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
  5478  	return nil, false
  5479  }
  5480  
  5481  // AsFileServerLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5482  func (asl AmazonS3Location) AsFileServerLocation() (*FileServerLocation, bool) {
  5483  	return nil, false
  5484  }
  5485  
  5486  // AsAmazonS3Location is the BasicDatasetLocation implementation for AmazonS3Location.
  5487  func (asl AmazonS3Location) AsAmazonS3Location() (*AmazonS3Location, bool) {
  5488  	return &asl, true
  5489  }
  5490  
  5491  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5492  func (asl AmazonS3Location) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
  5493  	return nil, false
  5494  }
  5495  
  5496  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5497  func (asl AmazonS3Location) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
  5498  	return nil, false
  5499  }
  5500  
  5501  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5502  func (asl AmazonS3Location) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
  5503  	return nil, false
  5504  }
  5505  
  5506  // AsDatasetLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5507  func (asl AmazonS3Location) AsDatasetLocation() (*DatasetLocation, bool) {
  5508  	return nil, false
  5509  }
  5510  
  5511  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for AmazonS3Location.
  5512  func (asl AmazonS3Location) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
  5513  	return &asl, true
  5514  }
  5515  
  5516  // UnmarshalJSON is the custom unmarshaler for AmazonS3Location struct.
  5517  func (asl *AmazonS3Location) UnmarshalJSON(body []byte) error {
  5518  	var m map[string]*json.RawMessage
  5519  	err := json.Unmarshal(body, &m)
  5520  	if err != nil {
  5521  		return err
  5522  	}
  5523  	for k, v := range m {
  5524  		switch k {
  5525  		case "bucketName":
  5526  			if v != nil {
  5527  				var bucketName interface{}
  5528  				err = json.Unmarshal(*v, &bucketName)
  5529  				if err != nil {
  5530  					return err
  5531  				}
  5532  				asl.BucketName = bucketName
  5533  			}
  5534  		case "version":
  5535  			if v != nil {
  5536  				var version interface{}
  5537  				err = json.Unmarshal(*v, &version)
  5538  				if err != nil {
  5539  					return err
  5540  				}
  5541  				asl.Version = version
  5542  			}
  5543  		default:
  5544  			if v != nil {
  5545  				var additionalProperties interface{}
  5546  				err = json.Unmarshal(*v, &additionalProperties)
  5547  				if err != nil {
  5548  					return err
  5549  				}
  5550  				if asl.AdditionalProperties == nil {
  5551  					asl.AdditionalProperties = make(map[string]interface{})
  5552  				}
  5553  				asl.AdditionalProperties[k] = additionalProperties
  5554  			}
  5555  		case "folderPath":
  5556  			if v != nil {
  5557  				var folderPath interface{}
  5558  				err = json.Unmarshal(*v, &folderPath)
  5559  				if err != nil {
  5560  					return err
  5561  				}
  5562  				asl.FolderPath = folderPath
  5563  			}
  5564  		case "fileName":
  5565  			if v != nil {
  5566  				var fileName interface{}
  5567  				err = json.Unmarshal(*v, &fileName)
  5568  				if err != nil {
  5569  					return err
  5570  				}
  5571  				asl.FileName = fileName
  5572  			}
  5573  		case "type":
  5574  			if v != nil {
  5575  				var typeVar TypeBasicDatasetLocation
  5576  				err = json.Unmarshal(*v, &typeVar)
  5577  				if err != nil {
  5578  					return err
  5579  				}
  5580  				asl.Type = typeVar
  5581  			}
  5582  		}
  5583  	}
  5584  
  5585  	return nil
  5586  }
  5587  
  5588  // AmazonS3ReadSettings azure data lake store read settings.
  5589  type AmazonS3ReadSettings struct {
  5590  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
  5591  	Recursive interface{} `json:"recursive,omitempty"`
  5592  	// WildcardFolderPath - AmazonS3 wildcardFolderPath. Type: string (or Expression with resultType string).
  5593  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
  5594  	// WildcardFileName - AmazonS3 wildcardFileName. Type: string (or Expression with resultType string).
  5595  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
  5596  	// Prefix - The prefix filter for the S3 object name. Type: string (or Expression with resultType string).
  5597  	Prefix interface{} `json:"prefix,omitempty"`
  5598  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
  5599  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
  5600  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
  5601  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
  5602  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
  5603  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
  5604  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  5605  	AdditionalProperties map[string]interface{} `json:""`
  5606  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
  5607  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  5608  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
  5609  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
  5610  }
  5611  
  5612  // MarshalJSON is the custom marshaler for AmazonS3ReadSettings.
  5613  func (asrs AmazonS3ReadSettings) MarshalJSON() ([]byte, error) {
  5614  	asrs.Type = TypeAmazonS3ReadSettings
  5615  	objectMap := make(map[string]interface{})
  5616  	if asrs.Recursive != nil {
  5617  		objectMap["recursive"] = asrs.Recursive
  5618  	}
  5619  	if asrs.WildcardFolderPath != nil {
  5620  		objectMap["wildcardFolderPath"] = asrs.WildcardFolderPath
  5621  	}
  5622  	if asrs.WildcardFileName != nil {
  5623  		objectMap["wildcardFileName"] = asrs.WildcardFileName
  5624  	}
  5625  	if asrs.Prefix != nil {
  5626  		objectMap["prefix"] = asrs.Prefix
  5627  	}
  5628  	if asrs.EnablePartitionDiscovery != nil {
  5629  		objectMap["enablePartitionDiscovery"] = asrs.EnablePartitionDiscovery
  5630  	}
  5631  	if asrs.ModifiedDatetimeStart != nil {
  5632  		objectMap["modifiedDatetimeStart"] = asrs.ModifiedDatetimeStart
  5633  	}
  5634  	if asrs.ModifiedDatetimeEnd != nil {
  5635  		objectMap["modifiedDatetimeEnd"] = asrs.ModifiedDatetimeEnd
  5636  	}
  5637  	if asrs.MaxConcurrentConnections != nil {
  5638  		objectMap["maxConcurrentConnections"] = asrs.MaxConcurrentConnections
  5639  	}
  5640  	if asrs.Type != "" {
  5641  		objectMap["type"] = asrs.Type
  5642  	}
  5643  	for k, v := range asrs.AdditionalProperties {
  5644  		objectMap[k] = v
  5645  	}
  5646  	return json.Marshal(objectMap)
  5647  }
  5648  
  5649  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5650  func (asrs AmazonS3ReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
  5651  	return nil, false
  5652  }
  5653  
  5654  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5655  func (asrs AmazonS3ReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
  5656  	return nil, false
  5657  }
  5658  
  5659  // AsSftpReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5660  func (asrs AmazonS3ReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
  5661  	return nil, false
  5662  }
  5663  
  5664  // AsFtpReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5665  func (asrs AmazonS3ReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
  5666  	return nil, false
  5667  }
  5668  
  5669  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5670  func (asrs AmazonS3ReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
  5671  	return nil, false
  5672  }
  5673  
  5674  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5675  func (asrs AmazonS3ReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
  5676  	return nil, false
  5677  }
  5678  
  5679  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5680  func (asrs AmazonS3ReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
  5681  	return nil, false
  5682  }
  5683  
  5684  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5685  func (asrs AmazonS3ReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
  5686  	return &asrs, true
  5687  }
  5688  
  5689  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5690  func (asrs AmazonS3ReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
  5691  	return nil, false
  5692  }
  5693  
  5694  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5695  func (asrs AmazonS3ReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
  5696  	return nil, false
  5697  }
  5698  
  5699  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5700  func (asrs AmazonS3ReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
  5701  	return nil, false
  5702  }
  5703  
  5704  // AsStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5705  func (asrs AmazonS3ReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
  5706  	return nil, false
  5707  }
  5708  
  5709  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AmazonS3ReadSettings.
  5710  func (asrs AmazonS3ReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
  5711  	return &asrs, true
  5712  }
  5713  
  5714  // UnmarshalJSON is the custom unmarshaler for AmazonS3ReadSettings struct.
  5715  func (asrs *AmazonS3ReadSettings) UnmarshalJSON(body []byte) error {
  5716  	var m map[string]*json.RawMessage
  5717  	err := json.Unmarshal(body, &m)
  5718  	if err != nil {
  5719  		return err
  5720  	}
  5721  	for k, v := range m {
  5722  		switch k {
  5723  		case "recursive":
  5724  			if v != nil {
  5725  				var recursive interface{}
  5726  				err = json.Unmarshal(*v, &recursive)
  5727  				if err != nil {
  5728  					return err
  5729  				}
  5730  				asrs.Recursive = recursive
  5731  			}
  5732  		case "wildcardFolderPath":
  5733  			if v != nil {
  5734  				var wildcardFolderPath interface{}
  5735  				err = json.Unmarshal(*v, &wildcardFolderPath)
  5736  				if err != nil {
  5737  					return err
  5738  				}
  5739  				asrs.WildcardFolderPath = wildcardFolderPath
  5740  			}
  5741  		case "wildcardFileName":
  5742  			if v != nil {
  5743  				var wildcardFileName interface{}
  5744  				err = json.Unmarshal(*v, &wildcardFileName)
  5745  				if err != nil {
  5746  					return err
  5747  				}
  5748  				asrs.WildcardFileName = wildcardFileName
  5749  			}
  5750  		case "prefix":
  5751  			if v != nil {
  5752  				var prefix interface{}
  5753  				err = json.Unmarshal(*v, &prefix)
  5754  				if err != nil {
  5755  					return err
  5756  				}
  5757  				asrs.Prefix = prefix
  5758  			}
  5759  		case "enablePartitionDiscovery":
  5760  			if v != nil {
  5761  				var enablePartitionDiscovery bool
  5762  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
  5763  				if err != nil {
  5764  					return err
  5765  				}
  5766  				asrs.EnablePartitionDiscovery = &enablePartitionDiscovery
  5767  			}
  5768  		case "modifiedDatetimeStart":
  5769  			if v != nil {
  5770  				var modifiedDatetimeStart interface{}
  5771  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
  5772  				if err != nil {
  5773  					return err
  5774  				}
  5775  				asrs.ModifiedDatetimeStart = modifiedDatetimeStart
  5776  			}
  5777  		case "modifiedDatetimeEnd":
  5778  			if v != nil {
  5779  				var modifiedDatetimeEnd interface{}
  5780  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
  5781  				if err != nil {
  5782  					return err
  5783  				}
  5784  				asrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
  5785  			}
  5786  		default:
  5787  			if v != nil {
  5788  				var additionalProperties interface{}
  5789  				err = json.Unmarshal(*v, &additionalProperties)
  5790  				if err != nil {
  5791  					return err
  5792  				}
  5793  				if asrs.AdditionalProperties == nil {
  5794  					asrs.AdditionalProperties = make(map[string]interface{})
  5795  				}
  5796  				asrs.AdditionalProperties[k] = additionalProperties
  5797  			}
  5798  		case "maxConcurrentConnections":
  5799  			if v != nil {
  5800  				var maxConcurrentConnections interface{}
  5801  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  5802  				if err != nil {
  5803  					return err
  5804  				}
  5805  				asrs.MaxConcurrentConnections = maxConcurrentConnections
  5806  			}
  5807  		case "type":
  5808  			if v != nil {
  5809  				var typeVar TypeBasicStoreReadSettings
  5810  				err = json.Unmarshal(*v, &typeVar)
  5811  				if err != nil {
  5812  					return err
  5813  				}
  5814  				asrs.Type = typeVar
  5815  			}
  5816  		}
  5817  	}
  5818  
  5819  	return nil
  5820  }
  5821  
  5822  // AppendVariableActivity append value for a Variable of type Array.
  5823  type AppendVariableActivity struct {
  5824  	// AppendVariableActivityTypeProperties - Append Variable activity properties.
  5825  	*AppendVariableActivityTypeProperties `json:"typeProperties,omitempty"`
  5826  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  5827  	AdditionalProperties map[string]interface{} `json:""`
  5828  	// Name - Activity name.
  5829  	Name *string `json:"name,omitempty"`
  5830  	// Description - Activity description.
  5831  	Description *string `json:"description,omitempty"`
  5832  	// DependsOn - Activity depends on condition.
  5833  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
  5834  	// UserProperties - Activity user properties.
  5835  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
  5836  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
  5837  	Type TypeBasicActivity `json:"type,omitempty"`
  5838  }
  5839  
  5840  // MarshalJSON is the custom marshaler for AppendVariableActivity.
  5841  func (ava AppendVariableActivity) MarshalJSON() ([]byte, error) {
  5842  	ava.Type = TypeAppendVariable
  5843  	objectMap := make(map[string]interface{})
  5844  	if ava.AppendVariableActivityTypeProperties != nil {
  5845  		objectMap["typeProperties"] = ava.AppendVariableActivityTypeProperties
  5846  	}
  5847  	if ava.Name != nil {
  5848  		objectMap["name"] = ava.Name
  5849  	}
  5850  	if ava.Description != nil {
  5851  		objectMap["description"] = ava.Description
  5852  	}
  5853  	if ava.DependsOn != nil {
  5854  		objectMap["dependsOn"] = ava.DependsOn
  5855  	}
  5856  	if ava.UserProperties != nil {
  5857  		objectMap["userProperties"] = ava.UserProperties
  5858  	}
  5859  	if ava.Type != "" {
  5860  		objectMap["type"] = ava.Type
  5861  	}
  5862  	for k, v := range ava.AdditionalProperties {
  5863  		objectMap[k] = v
  5864  	}
  5865  	return json.Marshal(objectMap)
  5866  }
  5867  
  5868  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AppendVariableActivity.
  5869  func (ava AppendVariableActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
  5870  	return nil, false
  5871  }
  5872  
  5873  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AppendVariableActivity.
  5874  func (ava AppendVariableActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
  5875  	return nil, false
  5876  }
  5877  
  5878  // AsSynapseNotebookActivity is the BasicActivity implementation for AppendVariableActivity.
  5879  func (ava AppendVariableActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
  5880  	return nil, false
  5881  }
  5882  
  5883  // AsExecuteDataFlowActivity is the BasicActivity implementation for AppendVariableActivity.
  5884  func (ava AppendVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
  5885  	return nil, false
  5886  }
  5887  
  5888  // AsAzureFunctionActivity is the BasicActivity implementation for AppendVariableActivity.
  5889  func (ava AppendVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
  5890  	return nil, false
  5891  }
  5892  
  5893  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AppendVariableActivity.
  5894  func (ava AppendVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
  5895  	return nil, false
  5896  }
  5897  
  5898  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AppendVariableActivity.
  5899  func (ava AppendVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
  5900  	return nil, false
  5901  }
  5902  
  5903  // AsDatabricksNotebookActivity is the BasicActivity implementation for AppendVariableActivity.
  5904  func (ava AppendVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
  5905  	return nil, false
  5906  }
  5907  
  5908  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AppendVariableActivity.
  5909  func (ava AppendVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
  5910  	return nil, false
  5911  }
  5912  
  5913  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity.
  5914  func (ava AppendVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
  5915  	return nil, false
  5916  }
  5917  
  5918  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AppendVariableActivity.
  5919  func (ava AppendVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
  5920  	return nil, false
  5921  }
  5922  
  5923  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
  5924  func (ava AppendVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
  5925  	return nil, false
  5926  }
  5927  
  5928  // AsGetMetadataActivity is the BasicActivity implementation for AppendVariableActivity.
  5929  func (ava AppendVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
  5930  	return nil, false
  5931  }
  5932  
  5933  // AsWebActivity is the BasicActivity implementation for AppendVariableActivity.
  5934  func (ava AppendVariableActivity) AsWebActivity() (*WebActivity, bool) {
  5935  	return nil, false
  5936  }
  5937  
  5938  // AsLookupActivity is the BasicActivity implementation for AppendVariableActivity.
  5939  func (ava AppendVariableActivity) AsLookupActivity() (*LookupActivity, bool) {
  5940  	return nil, false
  5941  }
  5942  
  5943  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AppendVariableActivity.
  5944  func (ava AppendVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
  5945  	return nil, false
  5946  }
  5947  
  5948  // AsDeleteActivity is the BasicActivity implementation for AppendVariableActivity.
  5949  func (ava AppendVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) {
  5950  	return nil, false
  5951  }
  5952  
  5953  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AppendVariableActivity.
  5954  func (ava AppendVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
  5955  	return nil, false
  5956  }
  5957  
  5958  // AsCustomActivity is the BasicActivity implementation for AppendVariableActivity.
  5959  func (ava AppendVariableActivity) AsCustomActivity() (*CustomActivity, bool) {
  5960  	return nil, false
  5961  }
  5962  
  5963  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AppendVariableActivity.
  5964  func (ava AppendVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
  5965  	return nil, false
  5966  }
  5967  
  5968  // AsHDInsightSparkActivity is the BasicActivity implementation for AppendVariableActivity.
  5969  func (ava AppendVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
  5970  	return nil, false
  5971  }
  5972  
  5973  // AsHDInsightStreamingActivity is the BasicActivity implementation for AppendVariableActivity.
  5974  func (ava AppendVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
  5975  	return nil, false
  5976  }
  5977  
  5978  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AppendVariableActivity.
  5979  func (ava AppendVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
  5980  	return nil, false
  5981  }
  5982  
  5983  // AsHDInsightPigActivity is the BasicActivity implementation for AppendVariableActivity.
  5984  func (ava AppendVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
  5985  	return nil, false
  5986  }
  5987  
  5988  // AsHDInsightHiveActivity is the BasicActivity implementation for AppendVariableActivity.
  5989  func (ava AppendVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
  5990  	return nil, false
  5991  }
  5992  
  5993  // AsCopyActivity is the BasicActivity implementation for AppendVariableActivity.
  5994  func (ava AppendVariableActivity) AsCopyActivity() (*CopyActivity, bool) {
  5995  	return nil, false
  5996  }
  5997  
  5998  // AsExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
  5999  func (ava AppendVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
  6000  	return nil, false
  6001  }
  6002  
  6003  // AsBasicExecutionActivity is the BasicActivity implementation for AppendVariableActivity.
  6004  func (ava AppendVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
  6005  	return nil, false
  6006  }
  6007  
  6008  // AsWebHookActivity is the BasicActivity implementation for AppendVariableActivity.
  6009  func (ava AppendVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) {
  6010  	return nil, false
  6011  }
  6012  
  6013  // AsAppendVariableActivity is the BasicActivity implementation for AppendVariableActivity.
  6014  func (ava AppendVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
  6015  	return &ava, true
  6016  }
  6017  
  6018  // AsSetVariableActivity is the BasicActivity implementation for AppendVariableActivity.
  6019  func (ava AppendVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
  6020  	return nil, false
  6021  }
  6022  
  6023  // AsFilterActivity is the BasicActivity implementation for AppendVariableActivity.
  6024  func (ava AppendVariableActivity) AsFilterActivity() (*FilterActivity, bool) {
  6025  	return nil, false
  6026  }
  6027  
  6028  // AsValidationActivity is the BasicActivity implementation for AppendVariableActivity.
  6029  func (ava AppendVariableActivity) AsValidationActivity() (*ValidationActivity, bool) {
  6030  	return nil, false
  6031  }
  6032  
  6033  // AsUntilActivity is the BasicActivity implementation for AppendVariableActivity.
  6034  func (ava AppendVariableActivity) AsUntilActivity() (*UntilActivity, bool) {
  6035  	return nil, false
  6036  }
  6037  
  6038  // AsWaitActivity is the BasicActivity implementation for AppendVariableActivity.
  6039  func (ava AppendVariableActivity) AsWaitActivity() (*WaitActivity, bool) {
  6040  	return nil, false
  6041  }
  6042  
  6043  // AsForEachActivity is the BasicActivity implementation for AppendVariableActivity.
  6044  func (ava AppendVariableActivity) AsForEachActivity() (*ForEachActivity, bool) {
  6045  	return nil, false
  6046  }
  6047  
  6048  // AsSwitchActivity is the BasicActivity implementation for AppendVariableActivity.
  6049  func (ava AppendVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) {
  6050  	return nil, false
  6051  }
  6052  
  6053  // AsIfConditionActivity is the BasicActivity implementation for AppendVariableActivity.
  6054  func (ava AppendVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
  6055  	return nil, false
  6056  }
  6057  
  6058  // AsExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity.
  6059  func (ava AppendVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
  6060  	return nil, false
  6061  }
  6062  
  6063  // AsControlActivity is the BasicActivity implementation for AppendVariableActivity.
  6064  func (ava AppendVariableActivity) AsControlActivity() (*ControlActivity, bool) {
  6065  	return nil, false
  6066  }
  6067  
  6068  // AsBasicControlActivity is the BasicActivity implementation for AppendVariableActivity.
  6069  func (ava AppendVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
  6070  	return &ava, true
  6071  }
  6072  
  6073  // AsActivity is the BasicActivity implementation for AppendVariableActivity.
  6074  func (ava AppendVariableActivity) AsActivity() (*Activity, bool) {
  6075  	return nil, false
  6076  }
  6077  
  6078  // AsBasicActivity is the BasicActivity implementation for AppendVariableActivity.
  6079  func (ava AppendVariableActivity) AsBasicActivity() (BasicActivity, bool) {
  6080  	return &ava, true
  6081  }
  6082  
  6083  // UnmarshalJSON is the custom unmarshaler for AppendVariableActivity struct.
  6084  func (ava *AppendVariableActivity) UnmarshalJSON(body []byte) error {
  6085  	var m map[string]*json.RawMessage
  6086  	err := json.Unmarshal(body, &m)
  6087  	if err != nil {
  6088  		return err
  6089  	}
  6090  	for k, v := range m {
  6091  		switch k {
  6092  		case "typeProperties":
  6093  			if v != nil {
  6094  				var appendVariableActivityTypeProperties AppendVariableActivityTypeProperties
  6095  				err = json.Unmarshal(*v, &appendVariableActivityTypeProperties)
  6096  				if err != nil {
  6097  					return err
  6098  				}
  6099  				ava.AppendVariableActivityTypeProperties = &appendVariableActivityTypeProperties
  6100  			}
  6101  		default:
  6102  			if v != nil {
  6103  				var additionalProperties interface{}
  6104  				err = json.Unmarshal(*v, &additionalProperties)
  6105  				if err != nil {
  6106  					return err
  6107  				}
  6108  				if ava.AdditionalProperties == nil {
  6109  					ava.AdditionalProperties = make(map[string]interface{})
  6110  				}
  6111  				ava.AdditionalProperties[k] = additionalProperties
  6112  			}
  6113  		case "name":
  6114  			if v != nil {
  6115  				var name string
  6116  				err = json.Unmarshal(*v, &name)
  6117  				if err != nil {
  6118  					return err
  6119  				}
  6120  				ava.Name = &name
  6121  			}
  6122  		case "description":
  6123  			if v != nil {
  6124  				var description string
  6125  				err = json.Unmarshal(*v, &description)
  6126  				if err != nil {
  6127  					return err
  6128  				}
  6129  				ava.Description = &description
  6130  			}
  6131  		case "dependsOn":
  6132  			if v != nil {
  6133  				var dependsOn []ActivityDependency
  6134  				err = json.Unmarshal(*v, &dependsOn)
  6135  				if err != nil {
  6136  					return err
  6137  				}
  6138  				ava.DependsOn = &dependsOn
  6139  			}
  6140  		case "userProperties":
  6141  			if v != nil {
  6142  				var userProperties []UserProperty
  6143  				err = json.Unmarshal(*v, &userProperties)
  6144  				if err != nil {
  6145  					return err
  6146  				}
  6147  				ava.UserProperties = &userProperties
  6148  			}
  6149  		case "type":
  6150  			if v != nil {
  6151  				var typeVar TypeBasicActivity
  6152  				err = json.Unmarshal(*v, &typeVar)
  6153  				if err != nil {
  6154  					return err
  6155  				}
  6156  				ava.Type = typeVar
  6157  			}
  6158  		}
  6159  	}
  6160  
  6161  	return nil
  6162  }
  6163  
  6164  // AppendVariableActivityTypeProperties appendVariable activity properties.
  6165  type AppendVariableActivityTypeProperties struct {
  6166  	// VariableName - Name of the variable whose value needs to be appended to.
  6167  	VariableName *string `json:"variableName,omitempty"`
  6168  	// Value - Value to be appended. Could be a static value or Expression
  6169  	Value interface{} `json:"value,omitempty"`
  6170  }
  6171  
  6172  // AutoPauseProperties auto-pausing properties of a Big Data pool powered by Apache Spark
  6173  type AutoPauseProperties struct {
  6174  	// DelayInMinutes - Number of minutes of idle time before the Big Data pool is automatically paused.
  6175  	DelayInMinutes *int32 `json:"delayInMinutes,omitempty"`
  6176  	// Enabled - Whether auto-pausing is enabled for the Big Data pool.
  6177  	Enabled *bool `json:"enabled,omitempty"`
  6178  }
  6179  
  6180  // AutoScaleProperties auto-scaling properties of a Big Data pool powered by Apache Spark
  6181  type AutoScaleProperties struct {
  6182  	// MinNodeCount - The minimum number of nodes the Big Data pool can support.
  6183  	MinNodeCount *int32 `json:"minNodeCount,omitempty"`
  6184  	// Enabled - Whether automatic scaling is enabled for the Big Data pool.
  6185  	Enabled *bool `json:"enabled,omitempty"`
  6186  	// MaxNodeCount - The maximum number of nodes the Big Data pool can support.
  6187  	MaxNodeCount *int32 `json:"maxNodeCount,omitempty"`
  6188  }
  6189  
  6190  // AvroDataset avro dataset.
  6191  type AvroDataset struct {
  6192  	// AvroDatasetTypeProperties - Avro dataset properties.
  6193  	*AvroDatasetTypeProperties `json:"typeProperties,omitempty"`
  6194  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  6195  	AdditionalProperties map[string]interface{} `json:""`
  6196  	// Description - Dataset description.
  6197  	Description *string `json:"description,omitempty"`
  6198  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
  6199  	Structure interface{} `json:"structure,omitempty"`
  6200  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
  6201  	Schema interface{} `json:"schema,omitempty"`
  6202  	// LinkedServiceName - Linked service reference.
  6203  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
  6204  	// Parameters - Parameters for dataset.
  6205  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  6206  	// Annotations - List of tags that can be used for describing the Dataset.
  6207  	Annotations *[]interface{} `json:"annotations,omitempty"`
  6208  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
  6209  	Folder *DatasetFolder `json:"folder,omitempty"`
  6210  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
  6211  	Type TypeBasicDataset `json:"type,omitempty"`
  6212  }
  6213  
  6214  // MarshalJSON is the custom marshaler for AvroDataset.
  6215  func (ad AvroDataset) MarshalJSON() ([]byte, error) {
  6216  	ad.Type = TypeAvro
  6217  	objectMap := make(map[string]interface{})
  6218  	if ad.AvroDatasetTypeProperties != nil {
  6219  		objectMap["typeProperties"] = ad.AvroDatasetTypeProperties
  6220  	}
  6221  	if ad.Description != nil {
  6222  		objectMap["description"] = ad.Description
  6223  	}
  6224  	if ad.Structure != nil {
  6225  		objectMap["structure"] = ad.Structure
  6226  	}
  6227  	if ad.Schema != nil {
  6228  		objectMap["schema"] = ad.Schema
  6229  	}
  6230  	if ad.LinkedServiceName != nil {
  6231  		objectMap["linkedServiceName"] = ad.LinkedServiceName
  6232  	}
  6233  	if ad.Parameters != nil {
  6234  		objectMap["parameters"] = ad.Parameters
  6235  	}
  6236  	if ad.Annotations != nil {
  6237  		objectMap["annotations"] = ad.Annotations
  6238  	}
  6239  	if ad.Folder != nil {
  6240  		objectMap["folder"] = ad.Folder
  6241  	}
  6242  	if ad.Type != "" {
  6243  		objectMap["type"] = ad.Type
  6244  	}
  6245  	for k, v := range ad.AdditionalProperties {
  6246  		objectMap[k] = v
  6247  	}
  6248  	return json.Marshal(objectMap)
  6249  }
  6250  
  6251  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AvroDataset.
  6252  func (ad AvroDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
  6253  	return nil, false
  6254  }
  6255  
  6256  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AvroDataset.
  6257  func (ad AvroDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
  6258  	return nil, false
  6259  }
  6260  
  6261  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AvroDataset.
  6262  func (ad AvroDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
  6263  	return nil, false
  6264  }
  6265  
  6266  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AvroDataset.
  6267  func (ad AvroDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
  6268  	return nil, false
  6269  }
  6270  
  6271  // AsResponsysObjectDataset is the BasicDataset implementation for AvroDataset.
  6272  func (ad AvroDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
  6273  	return nil, false
  6274  }
  6275  
  6276  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AvroDataset.
  6277  func (ad AvroDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
  6278  	return nil, false
  6279  }
  6280  
  6281  // AsVerticaTableDataset is the BasicDataset implementation for AvroDataset.
  6282  func (ad AvroDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
  6283  	return nil, false
  6284  }
  6285  
  6286  // AsNetezzaTableDataset is the BasicDataset implementation for AvroDataset.
  6287  func (ad AvroDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
  6288  	return nil, false
  6289  }
  6290  
  6291  // AsZohoObjectDataset is the BasicDataset implementation for AvroDataset.
  6292  func (ad AvroDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
  6293  	return nil, false
  6294  }
  6295  
  6296  // AsXeroObjectDataset is the BasicDataset implementation for AvroDataset.
  6297  func (ad AvroDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
  6298  	return nil, false
  6299  }
  6300  
  6301  // AsSquareObjectDataset is the BasicDataset implementation for AvroDataset.
  6302  func (ad AvroDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
  6303  	return nil, false
  6304  }
  6305  
  6306  // AsSparkObjectDataset is the BasicDataset implementation for AvroDataset.
  6307  func (ad AvroDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
  6308  	return nil, false
  6309  }
  6310  
  6311  // AsShopifyObjectDataset is the BasicDataset implementation for AvroDataset.
  6312  func (ad AvroDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
  6313  	return nil, false
  6314  }
  6315  
  6316  // AsServiceNowObjectDataset is the BasicDataset implementation for AvroDataset.
  6317  func (ad AvroDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
  6318  	return nil, false
  6319  }
  6320  
  6321  // AsQuickBooksObjectDataset is the BasicDataset implementation for AvroDataset.
  6322  func (ad AvroDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
  6323  	return nil, false
  6324  }
  6325  
  6326  // AsPrestoObjectDataset is the BasicDataset implementation for AvroDataset.
  6327  func (ad AvroDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
  6328  	return nil, false
  6329  }
  6330  
  6331  // AsPhoenixObjectDataset is the BasicDataset implementation for AvroDataset.
  6332  func (ad AvroDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
  6333  	return nil, false
  6334  }
  6335  
  6336  // AsPaypalObjectDataset is the BasicDataset implementation for AvroDataset.
  6337  func (ad AvroDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
  6338  	return nil, false
  6339  }
  6340  
  6341  // AsMarketoObjectDataset is the BasicDataset implementation for AvroDataset.
  6342  func (ad AvroDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
  6343  	return nil, false
  6344  }
  6345  
  6346  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AvroDataset.
  6347  func (ad AvroDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
  6348  	return nil, false
  6349  }
  6350  
  6351  // AsMariaDBTableDataset is the BasicDataset implementation for AvroDataset.
  6352  func (ad AvroDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
  6353  	return nil, false
  6354  }
  6355  
  6356  // AsMagentoObjectDataset is the BasicDataset implementation for AvroDataset.
  6357  func (ad AvroDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
  6358  	return nil, false
  6359  }
  6360  
  6361  // AsJiraObjectDataset is the BasicDataset implementation for AvroDataset.
  6362  func (ad AvroDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
  6363  	return nil, false
  6364  }
  6365  
  6366  // AsImpalaObjectDataset is the BasicDataset implementation for AvroDataset.
  6367  func (ad AvroDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
  6368  	return nil, false
  6369  }
  6370  
  6371  // AsHubspotObjectDataset is the BasicDataset implementation for AvroDataset.
  6372  func (ad AvroDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
  6373  	return nil, false
  6374  }
  6375  
  6376  // AsHiveObjectDataset is the BasicDataset implementation for AvroDataset.
  6377  func (ad AvroDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
  6378  	return nil, false
  6379  }
  6380  
  6381  // AsHBaseObjectDataset is the BasicDataset implementation for AvroDataset.
  6382  func (ad AvroDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
  6383  	return nil, false
  6384  }
  6385  
  6386  // AsGreenplumTableDataset is the BasicDataset implementation for AvroDataset.
  6387  func (ad AvroDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
  6388  	return nil, false
  6389  }
  6390  
  6391  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AvroDataset.
  6392  func (ad AvroDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
  6393  	return nil, false
  6394  }
  6395  
  6396  // AsEloquaObjectDataset is the BasicDataset implementation for AvroDataset.
  6397  func (ad AvroDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
  6398  	return nil, false
  6399  }
  6400  
  6401  // AsDrillTableDataset is the BasicDataset implementation for AvroDataset.
  6402  func (ad AvroDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
  6403  	return nil, false
  6404  }
  6405  
  6406  // AsCouchbaseTableDataset is the BasicDataset implementation for AvroDataset.
  6407  func (ad AvroDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
  6408  	return nil, false
  6409  }
  6410  
  6411  // AsConcurObjectDataset is the BasicDataset implementation for AvroDataset.
  6412  func (ad AvroDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
  6413  	return nil, false
  6414  }
  6415  
  6416  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AvroDataset.
  6417  func (ad AvroDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
  6418  	return nil, false
  6419  }
  6420  
  6421  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AvroDataset.
  6422  func (ad AvroDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
  6423  	return nil, false
  6424  }
  6425  
  6426  // AsAzureSearchIndexDataset is the BasicDataset implementation for AvroDataset.
  6427  func (ad AvroDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
  6428  	return nil, false
  6429  }
  6430  
  6431  // AsWebTableDataset is the BasicDataset implementation for AvroDataset.
  6432  func (ad AvroDataset) AsWebTableDataset() (*WebTableDataset, bool) {
  6433  	return nil, false
  6434  }
  6435  
  6436  // AsSapTableResourceDataset is the BasicDataset implementation for AvroDataset.
  6437  func (ad AvroDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
  6438  	return nil, false
  6439  }
  6440  
  6441  // AsRestResourceDataset is the BasicDataset implementation for AvroDataset.
  6442  func (ad AvroDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
  6443  	return nil, false
  6444  }
  6445  
  6446  // AsSQLServerTableDataset is the BasicDataset implementation for AvroDataset.
  6447  func (ad AvroDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
  6448  	return nil, false
  6449  }
  6450  
  6451  // AsSapOpenHubTableDataset is the BasicDataset implementation for AvroDataset.
  6452  func (ad AvroDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
  6453  	return nil, false
  6454  }
  6455  
  6456  // AsSapHanaTableDataset is the BasicDataset implementation for AvroDataset.
  6457  func (ad AvroDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
  6458  	return nil, false
  6459  }
  6460  
  6461  // AsSapEccResourceDataset is the BasicDataset implementation for AvroDataset.
  6462  func (ad AvroDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
  6463  	return nil, false
  6464  }
  6465  
  6466  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AvroDataset.
  6467  func (ad AvroDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
  6468  	return nil, false
  6469  }
  6470  
  6471  // AsSapBwCubeDataset is the BasicDataset implementation for AvroDataset.
  6472  func (ad AvroDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
  6473  	return nil, false
  6474  }
  6475  
  6476  // AsSybaseTableDataset is the BasicDataset implementation for AvroDataset.
  6477  func (ad AvroDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
  6478  	return nil, false
  6479  }
  6480  
  6481  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AvroDataset.
  6482  func (ad AvroDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
  6483  	return nil, false
  6484  }
  6485  
  6486  // AsSalesforceObjectDataset is the BasicDataset implementation for AvroDataset.
  6487  func (ad AvroDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
  6488  	return nil, false
  6489  }
  6490  
  6491  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AvroDataset.
  6492  func (ad AvroDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
  6493  	return nil, false
  6494  }
  6495  
  6496  // AsPostgreSQLTableDataset is the BasicDataset implementation for AvroDataset.
  6497  func (ad AvroDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
  6498  	return nil, false
  6499  }
  6500  
  6501  // AsMySQLTableDataset is the BasicDataset implementation for AvroDataset.
  6502  func (ad AvroDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
  6503  	return nil, false
  6504  }
  6505  
  6506  // AsOdbcTableDataset is the BasicDataset implementation for AvroDataset.
  6507  func (ad AvroDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
  6508  	return nil, false
  6509  }
  6510  
  6511  // AsInformixTableDataset is the BasicDataset implementation for AvroDataset.
  6512  func (ad AvroDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
  6513  	return nil, false
  6514  }
  6515  
  6516  // AsRelationalTableDataset is the BasicDataset implementation for AvroDataset.
  6517  func (ad AvroDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
  6518  	return nil, false
  6519  }
  6520  
  6521  // AsDb2TableDataset is the BasicDataset implementation for AvroDataset.
  6522  func (ad AvroDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
  6523  	return nil, false
  6524  }
  6525  
  6526  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AvroDataset.
  6527  func (ad AvroDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
  6528  	return nil, false
  6529  }
  6530  
  6531  // AsAzureMySQLTableDataset is the BasicDataset implementation for AvroDataset.
  6532  func (ad AvroDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
  6533  	return nil, false
  6534  }
  6535  
  6536  // AsTeradataTableDataset is the BasicDataset implementation for AvroDataset.
  6537  func (ad AvroDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
  6538  	return nil, false
  6539  }
  6540  
  6541  // AsOracleTableDataset is the BasicDataset implementation for AvroDataset.
  6542  func (ad AvroDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
  6543  	return nil, false
  6544  }
  6545  
  6546  // AsODataResourceDataset is the BasicDataset implementation for AvroDataset.
  6547  func (ad AvroDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
  6548  	return nil, false
  6549  }
  6550  
  6551  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AvroDataset.
  6552  func (ad AvroDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
  6553  	return nil, false
  6554  }
  6555  
  6556  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AvroDataset.
  6557  func (ad AvroDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
  6558  	return nil, false
  6559  }
  6560  
  6561  // AsMongoDbCollectionDataset is the BasicDataset implementation for AvroDataset.
  6562  func (ad AvroDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
  6563  	return nil, false
  6564  }
  6565  
  6566  // AsOffice365Dataset is the BasicDataset implementation for AvroDataset.
  6567  func (ad AvroDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
  6568  	return nil, false
  6569  }
  6570  
  6571  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AvroDataset.
  6572  func (ad AvroDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
  6573  	return nil, false
  6574  }
  6575  
  6576  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AvroDataset.
  6577  func (ad AvroDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
  6578  	return nil, false
  6579  }
  6580  
  6581  // AsDynamicsEntityDataset is the BasicDataset implementation for AvroDataset.
  6582  func (ad AvroDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
  6583  	return nil, false
  6584  }
  6585  
  6586  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AvroDataset.
  6587  func (ad AvroDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
  6588  	return nil, false
  6589  }
  6590  
  6591  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AvroDataset.
  6592  func (ad AvroDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
  6593  	return nil, false
  6594  }
  6595  
  6596  // AsCustomDataset is the BasicDataset implementation for AvroDataset.
  6597  func (ad AvroDataset) AsCustomDataset() (*CustomDataset, bool) {
  6598  	return nil, false
  6599  }
  6600  
  6601  // AsCassandraTableDataset is the BasicDataset implementation for AvroDataset.
  6602  func (ad AvroDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
  6603  	return nil, false
  6604  }
  6605  
  6606  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AvroDataset.
  6607  func (ad AvroDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
  6608  	return nil, false
  6609  }
  6610  
  6611  // AsAzureSQLMITableDataset is the BasicDataset implementation for AvroDataset.
  6612  func (ad AvroDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
  6613  	return nil, false
  6614  }
  6615  
  6616  // AsAzureSQLTableDataset is the BasicDataset implementation for AvroDataset.
  6617  func (ad AvroDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
  6618  	return nil, false
  6619  }
  6620  
  6621  // AsAzureTableDataset is the BasicDataset implementation for AvroDataset.
  6622  func (ad AvroDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
  6623  	return nil, false
  6624  }
  6625  
  6626  // AsBinaryDataset is the BasicDataset implementation for AvroDataset.
  6627  func (ad AvroDataset) AsBinaryDataset() (*BinaryDataset, bool) {
  6628  	return nil, false
  6629  }
  6630  
  6631  // AsOrcDataset is the BasicDataset implementation for AvroDataset.
  6632  func (ad AvroDataset) AsOrcDataset() (*OrcDataset, bool) {
  6633  	return nil, false
  6634  }
  6635  
  6636  // AsJSONDataset is the BasicDataset implementation for AvroDataset.
  6637  func (ad AvroDataset) AsJSONDataset() (*JSONDataset, bool) {
  6638  	return nil, false
  6639  }
  6640  
  6641  // AsDelimitedTextDataset is the BasicDataset implementation for AvroDataset.
  6642  func (ad AvroDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
  6643  	return nil, false
  6644  }
  6645  
  6646  // AsParquetDataset is the BasicDataset implementation for AvroDataset.
  6647  func (ad AvroDataset) AsParquetDataset() (*ParquetDataset, bool) {
  6648  	return nil, false
  6649  }
  6650  
  6651  // AsAvroDataset is the BasicDataset implementation for AvroDataset.
  6652  func (ad AvroDataset) AsAvroDataset() (*AvroDataset, bool) {
  6653  	return &ad, true
  6654  }
  6655  
  6656  // AsDataset is the BasicDataset implementation for AvroDataset.
  6657  func (ad AvroDataset) AsDataset() (*Dataset, bool) {
  6658  	return nil, false
  6659  }
  6660  
  6661  // AsBasicDataset is the BasicDataset implementation for AvroDataset.
  6662  func (ad AvroDataset) AsBasicDataset() (BasicDataset, bool) {
  6663  	return &ad, true
  6664  }
  6665  
  6666  // UnmarshalJSON is the custom unmarshaler for AvroDataset struct.
  6667  func (ad *AvroDataset) UnmarshalJSON(body []byte) error {
  6668  	var m map[string]*json.RawMessage
  6669  	err := json.Unmarshal(body, &m)
  6670  	if err != nil {
  6671  		return err
  6672  	}
  6673  	for k, v := range m {
  6674  		switch k {
  6675  		case "typeProperties":
  6676  			if v != nil {
  6677  				var avroDatasetTypeProperties AvroDatasetTypeProperties
  6678  				err = json.Unmarshal(*v, &avroDatasetTypeProperties)
  6679  				if err != nil {
  6680  					return err
  6681  				}
  6682  				ad.AvroDatasetTypeProperties = &avroDatasetTypeProperties
  6683  			}
  6684  		default:
  6685  			if v != nil {
  6686  				var additionalProperties interface{}
  6687  				err = json.Unmarshal(*v, &additionalProperties)
  6688  				if err != nil {
  6689  					return err
  6690  				}
  6691  				if ad.AdditionalProperties == nil {
  6692  					ad.AdditionalProperties = make(map[string]interface{})
  6693  				}
  6694  				ad.AdditionalProperties[k] = additionalProperties
  6695  			}
  6696  		case "description":
  6697  			if v != nil {
  6698  				var description string
  6699  				err = json.Unmarshal(*v, &description)
  6700  				if err != nil {
  6701  					return err
  6702  				}
  6703  				ad.Description = &description
  6704  			}
  6705  		case "structure":
  6706  			if v != nil {
  6707  				var structure interface{}
  6708  				err = json.Unmarshal(*v, &structure)
  6709  				if err != nil {
  6710  					return err
  6711  				}
  6712  				ad.Structure = structure
  6713  			}
  6714  		case "schema":
  6715  			if v != nil {
  6716  				var schema interface{}
  6717  				err = json.Unmarshal(*v, &schema)
  6718  				if err != nil {
  6719  					return err
  6720  				}
  6721  				ad.Schema = schema
  6722  			}
  6723  		case "linkedServiceName":
  6724  			if v != nil {
  6725  				var linkedServiceName LinkedServiceReference
  6726  				err = json.Unmarshal(*v, &linkedServiceName)
  6727  				if err != nil {
  6728  					return err
  6729  				}
  6730  				ad.LinkedServiceName = &linkedServiceName
  6731  			}
  6732  		case "parameters":
  6733  			if v != nil {
  6734  				var parameters map[string]*ParameterSpecification
  6735  				err = json.Unmarshal(*v, &parameters)
  6736  				if err != nil {
  6737  					return err
  6738  				}
  6739  				ad.Parameters = parameters
  6740  			}
  6741  		case "annotations":
  6742  			if v != nil {
  6743  				var annotations []interface{}
  6744  				err = json.Unmarshal(*v, &annotations)
  6745  				if err != nil {
  6746  					return err
  6747  				}
  6748  				ad.Annotations = &annotations
  6749  			}
  6750  		case "folder":
  6751  			if v != nil {
  6752  				var folder DatasetFolder
  6753  				err = json.Unmarshal(*v, &folder)
  6754  				if err != nil {
  6755  					return err
  6756  				}
  6757  				ad.Folder = &folder
  6758  			}
  6759  		case "type":
  6760  			if v != nil {
  6761  				var typeVar TypeBasicDataset
  6762  				err = json.Unmarshal(*v, &typeVar)
  6763  				if err != nil {
  6764  					return err
  6765  				}
  6766  				ad.Type = typeVar
  6767  			}
  6768  		}
  6769  	}
  6770  
  6771  	return nil
  6772  }
  6773  
  6774  // AvroDatasetTypeProperties avro dataset properties.
  6775  type AvroDatasetTypeProperties struct {
  6776  	// Location - The location of the avro storage.
  6777  	Location BasicDatasetLocation `json:"location,omitempty"`
  6778  	// AvroCompressionCodec - Possible values include: 'None', 'Deflate', 'Snappy', 'Xz', 'Bzip2'
  6779  	AvroCompressionCodec AvroCompressionCodec `json:"avroCompressionCodec,omitempty"`
  6780  	AvroCompressionLevel *int32               `json:"avroCompressionLevel,omitempty"`
  6781  }
  6782  
  6783  // UnmarshalJSON is the custom unmarshaler for AvroDatasetTypeProperties struct.
  6784  func (adtp *AvroDatasetTypeProperties) UnmarshalJSON(body []byte) error {
  6785  	var m map[string]*json.RawMessage
  6786  	err := json.Unmarshal(body, &m)
  6787  	if err != nil {
  6788  		return err
  6789  	}
  6790  	for k, v := range m {
  6791  		switch k {
  6792  		case "location":
  6793  			if v != nil {
  6794  				location, err := unmarshalBasicDatasetLocation(*v)
  6795  				if err != nil {
  6796  					return err
  6797  				}
  6798  				adtp.Location = location
  6799  			}
  6800  		case "avroCompressionCodec":
  6801  			if v != nil {
  6802  				var avroCompressionCodec AvroCompressionCodec
  6803  				err = json.Unmarshal(*v, &avroCompressionCodec)
  6804  				if err != nil {
  6805  					return err
  6806  				}
  6807  				adtp.AvroCompressionCodec = avroCompressionCodec
  6808  			}
  6809  		case "avroCompressionLevel":
  6810  			if v != nil {
  6811  				var avroCompressionLevel int32
  6812  				err = json.Unmarshal(*v, &avroCompressionLevel)
  6813  				if err != nil {
  6814  					return err
  6815  				}
  6816  				adtp.AvroCompressionLevel = &avroCompressionLevel
  6817  			}
  6818  		}
  6819  	}
  6820  
  6821  	return nil
  6822  }
  6823  
  6824  // AvroFormat the data stored in Avro format.
  6825  type AvroFormat struct {
  6826  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  6827  	AdditionalProperties map[string]interface{} `json:""`
  6828  	// Serializer - Serializer. Type: string (or Expression with resultType string).
  6829  	Serializer interface{} `json:"serializer,omitempty"`
  6830  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
  6831  	Deserializer interface{} `json:"deserializer,omitempty"`
  6832  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
  6833  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
  6834  }
  6835  
  6836  // MarshalJSON is the custom marshaler for AvroFormat.
  6837  func (af AvroFormat) MarshalJSON() ([]byte, error) {
  6838  	af.Type = TypeAvroFormat
  6839  	objectMap := make(map[string]interface{})
  6840  	if af.Serializer != nil {
  6841  		objectMap["serializer"] = af.Serializer
  6842  	}
  6843  	if af.Deserializer != nil {
  6844  		objectMap["deserializer"] = af.Deserializer
  6845  	}
  6846  	if af.Type != "" {
  6847  		objectMap["type"] = af.Type
  6848  	}
  6849  	for k, v := range af.AdditionalProperties {
  6850  		objectMap[k] = v
  6851  	}
  6852  	return json.Marshal(objectMap)
  6853  }
  6854  
  6855  // AsTextFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6856  func (af AvroFormat) AsTextFormat() (*TextFormat, bool) {
  6857  	return nil, false
  6858  }
  6859  
  6860  // AsJSONFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6861  func (af AvroFormat) AsJSONFormat() (*JSONFormat, bool) {
  6862  	return nil, false
  6863  }
  6864  
  6865  // AsAvroFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6866  func (af AvroFormat) AsAvroFormat() (*AvroFormat, bool) {
  6867  	return &af, true
  6868  }
  6869  
  6870  // AsOrcFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6871  func (af AvroFormat) AsOrcFormat() (*OrcFormat, bool) {
  6872  	return nil, false
  6873  }
  6874  
  6875  // AsParquetFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6876  func (af AvroFormat) AsParquetFormat() (*ParquetFormat, bool) {
  6877  	return nil, false
  6878  }
  6879  
  6880  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6881  func (af AvroFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
  6882  	return nil, false
  6883  }
  6884  
  6885  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for AvroFormat.
  6886  func (af AvroFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
  6887  	return &af, true
  6888  }
  6889  
  6890  // UnmarshalJSON is the custom unmarshaler for AvroFormat struct.
  6891  func (af *AvroFormat) UnmarshalJSON(body []byte) error {
  6892  	var m map[string]*json.RawMessage
  6893  	err := json.Unmarshal(body, &m)
  6894  	if err != nil {
  6895  		return err
  6896  	}
  6897  	for k, v := range m {
  6898  		switch k {
  6899  		default:
  6900  			if v != nil {
  6901  				var additionalProperties interface{}
  6902  				err = json.Unmarshal(*v, &additionalProperties)
  6903  				if err != nil {
  6904  					return err
  6905  				}
  6906  				if af.AdditionalProperties == nil {
  6907  					af.AdditionalProperties = make(map[string]interface{})
  6908  				}
  6909  				af.AdditionalProperties[k] = additionalProperties
  6910  			}
  6911  		case "serializer":
  6912  			if v != nil {
  6913  				var serializer interface{}
  6914  				err = json.Unmarshal(*v, &serializer)
  6915  				if err != nil {
  6916  					return err
  6917  				}
  6918  				af.Serializer = serializer
  6919  			}
  6920  		case "deserializer":
  6921  			if v != nil {
  6922  				var deserializer interface{}
  6923  				err = json.Unmarshal(*v, &deserializer)
  6924  				if err != nil {
  6925  					return err
  6926  				}
  6927  				af.Deserializer = deserializer
  6928  			}
  6929  		case "type":
  6930  			if v != nil {
  6931  				var typeVar TypeBasicDatasetStorageFormat
  6932  				err = json.Unmarshal(*v, &typeVar)
  6933  				if err != nil {
  6934  					return err
  6935  				}
  6936  				af.Type = typeVar
  6937  			}
  6938  		}
  6939  	}
  6940  
  6941  	return nil
  6942  }
  6943  
  6944  // AvroSink a copy activity Avro sink.
  6945  type AvroSink struct {
  6946  	// StoreSettings - Avro store settings.
  6947  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
  6948  	// FormatSettings - Avro format settings.
  6949  	FormatSettings *AvroWriteSettings `json:"formatSettings,omitempty"`
  6950  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  6951  	AdditionalProperties map[string]interface{} `json:""`
  6952  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
  6953  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
  6954  	// 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])).
  6955  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
  6956  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
  6957  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
  6958  	// 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])).
  6959  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
  6960  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
  6961  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  6962  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
  6963  	Type TypeBasicCopySink `json:"type,omitempty"`
  6964  }
  6965  
  6966  // MarshalJSON is the custom marshaler for AvroSink.
  6967  func (as AvroSink) MarshalJSON() ([]byte, error) {
  6968  	as.Type = TypeAvroSink
  6969  	objectMap := make(map[string]interface{})
  6970  	objectMap["storeSettings"] = as.StoreSettings
  6971  	if as.FormatSettings != nil {
  6972  		objectMap["formatSettings"] = as.FormatSettings
  6973  	}
  6974  	if as.WriteBatchSize != nil {
  6975  		objectMap["writeBatchSize"] = as.WriteBatchSize
  6976  	}
  6977  	if as.WriteBatchTimeout != nil {
  6978  		objectMap["writeBatchTimeout"] = as.WriteBatchTimeout
  6979  	}
  6980  	if as.SinkRetryCount != nil {
  6981  		objectMap["sinkRetryCount"] = as.SinkRetryCount
  6982  	}
  6983  	if as.SinkRetryWait != nil {
  6984  		objectMap["sinkRetryWait"] = as.SinkRetryWait
  6985  	}
  6986  	if as.MaxConcurrentConnections != nil {
  6987  		objectMap["maxConcurrentConnections"] = as.MaxConcurrentConnections
  6988  	}
  6989  	if as.Type != "" {
  6990  		objectMap["type"] = as.Type
  6991  	}
  6992  	for k, v := range as.AdditionalProperties {
  6993  		objectMap[k] = v
  6994  	}
  6995  	return json.Marshal(objectMap)
  6996  }
  6997  
  6998  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AvroSink.
  6999  func (as AvroSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
  7000  	return nil, false
  7001  }
  7002  
  7003  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AvroSink.
  7004  func (as AvroSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
  7005  	return nil, false
  7006  }
  7007  
  7008  // AsSalesforceSink is the BasicCopySink implementation for AvroSink.
  7009  func (as AvroSink) AsSalesforceSink() (*SalesforceSink, bool) {
  7010  	return nil, false
  7011  }
  7012  
  7013  // AsAzureDataExplorerSink is the BasicCopySink implementation for AvroSink.
  7014  func (as AvroSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
  7015  	return nil, false
  7016  }
  7017  
  7018  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AvroSink.
  7019  func (as AvroSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
  7020  	return nil, false
  7021  }
  7022  
  7023  // AsDynamicsCrmSink is the BasicCopySink implementation for AvroSink.
  7024  func (as AvroSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
  7025  	return nil, false
  7026  }
  7027  
  7028  // AsDynamicsSink is the BasicCopySink implementation for AvroSink.
  7029  func (as AvroSink) AsDynamicsSink() (*DynamicsSink, bool) {
  7030  	return nil, false
  7031  }
  7032  
  7033  // AsMicrosoftAccessSink is the BasicCopySink implementation for AvroSink.
  7034  func (as AvroSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
  7035  	return nil, false
  7036  }
  7037  
  7038  // AsInformixSink is the BasicCopySink implementation for AvroSink.
  7039  func (as AvroSink) AsInformixSink() (*InformixSink, bool) {
  7040  	return nil, false
  7041  }
  7042  
  7043  // AsOdbcSink is the BasicCopySink implementation for AvroSink.
  7044  func (as AvroSink) AsOdbcSink() (*OdbcSink, bool) {
  7045  	return nil, false
  7046  }
  7047  
  7048  // AsAzureSearchIndexSink is the BasicCopySink implementation for AvroSink.
  7049  func (as AvroSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
  7050  	return nil, false
  7051  }
  7052  
  7053  // AsAzureBlobFSSink is the BasicCopySink implementation for AvroSink.
  7054  func (as AvroSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
  7055  	return nil, false
  7056  }
  7057  
  7058  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AvroSink.
  7059  func (as AvroSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
  7060  	return nil, false
  7061  }
  7062  
  7063  // AsOracleSink is the BasicCopySink implementation for AvroSink.
  7064  func (as AvroSink) AsOracleSink() (*OracleSink, bool) {
  7065  	return nil, false
  7066  }
  7067  
  7068  // AsSQLDWSink is the BasicCopySink implementation for AvroSink.
  7069  func (as AvroSink) AsSQLDWSink() (*SQLDWSink, bool) {
  7070  	return nil, false
  7071  }
  7072  
  7073  // AsSQLMISink is the BasicCopySink implementation for AvroSink.
  7074  func (as AvroSink) AsSQLMISink() (*SQLMISink, bool) {
  7075  	return nil, false
  7076  }
  7077  
  7078  // AsAzureSQLSink is the BasicCopySink implementation for AvroSink.
  7079  func (as AvroSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
  7080  	return nil, false
  7081  }
  7082  
  7083  // AsSQLServerSink is the BasicCopySink implementation for AvroSink.
  7084  func (as AvroSink) AsSQLServerSink() (*SQLServerSink, bool) {
  7085  	return nil, false
  7086  }
  7087  
  7088  // AsSQLSink is the BasicCopySink implementation for AvroSink.
  7089  func (as AvroSink) AsSQLSink() (*SQLSink, bool) {
  7090  	return nil, false
  7091  }
  7092  
  7093  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AvroSink.
  7094  func (as AvroSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
  7095  	return nil, false
  7096  }
  7097  
  7098  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AvroSink.
  7099  func (as AvroSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
  7100  	return nil, false
  7101  }
  7102  
  7103  // AsFileSystemSink is the BasicCopySink implementation for AvroSink.
  7104  func (as AvroSink) AsFileSystemSink() (*FileSystemSink, bool) {
  7105  	return nil, false
  7106  }
  7107  
  7108  // AsBlobSink is the BasicCopySink implementation for AvroSink.
  7109  func (as AvroSink) AsBlobSink() (*BlobSink, bool) {
  7110  	return nil, false
  7111  }
  7112  
  7113  // AsBinarySink is the BasicCopySink implementation for AvroSink.
  7114  func (as AvroSink) AsBinarySink() (*BinarySink, bool) {
  7115  	return nil, false
  7116  }
  7117  
  7118  // AsParquetSink is the BasicCopySink implementation for AvroSink.
  7119  func (as AvroSink) AsParquetSink() (*ParquetSink, bool) {
  7120  	return nil, false
  7121  }
  7122  
  7123  // AsAvroSink is the BasicCopySink implementation for AvroSink.
  7124  func (as AvroSink) AsAvroSink() (*AvroSink, bool) {
  7125  	return &as, true
  7126  }
  7127  
  7128  // AsAzureTableSink is the BasicCopySink implementation for AvroSink.
  7129  func (as AvroSink) AsAzureTableSink() (*AzureTableSink, bool) {
  7130  	return nil, false
  7131  }
  7132  
  7133  // AsAzureQueueSink is the BasicCopySink implementation for AvroSink.
  7134  func (as AvroSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
  7135  	return nil, false
  7136  }
  7137  
  7138  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AvroSink.
  7139  func (as AvroSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
  7140  	return nil, false
  7141  }
  7142  
  7143  // AsAzureMySQLSink is the BasicCopySink implementation for AvroSink.
  7144  func (as AvroSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
  7145  	return nil, false
  7146  }
  7147  
  7148  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AvroSink.
  7149  func (as AvroSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
  7150  	return nil, false
  7151  }
  7152  
  7153  // AsOrcSink is the BasicCopySink implementation for AvroSink.
  7154  func (as AvroSink) AsOrcSink() (*OrcSink, bool) {
  7155  	return nil, false
  7156  }
  7157  
  7158  // AsJSONSink is the BasicCopySink implementation for AvroSink.
  7159  func (as AvroSink) AsJSONSink() (*JSONSink, bool) {
  7160  	return nil, false
  7161  }
  7162  
  7163  // AsDelimitedTextSink is the BasicCopySink implementation for AvroSink.
  7164  func (as AvroSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
  7165  	return nil, false
  7166  }
  7167  
  7168  // AsCopySink is the BasicCopySink implementation for AvroSink.
  7169  func (as AvroSink) AsCopySink() (*CopySink, bool) {
  7170  	return nil, false
  7171  }
  7172  
  7173  // AsBasicCopySink is the BasicCopySink implementation for AvroSink.
  7174  func (as AvroSink) AsBasicCopySink() (BasicCopySink, bool) {
  7175  	return &as, true
  7176  }
  7177  
  7178  // UnmarshalJSON is the custom unmarshaler for AvroSink struct.
  7179  func (as *AvroSink) UnmarshalJSON(body []byte) error {
  7180  	var m map[string]*json.RawMessage
  7181  	err := json.Unmarshal(body, &m)
  7182  	if err != nil {
  7183  		return err
  7184  	}
  7185  	for k, v := range m {
  7186  		switch k {
  7187  		case "storeSettings":
  7188  			if v != nil {
  7189  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
  7190  				if err != nil {
  7191  					return err
  7192  				}
  7193  				as.StoreSettings = storeSettings
  7194  			}
  7195  		case "formatSettings":
  7196  			if v != nil {
  7197  				var formatSettings AvroWriteSettings
  7198  				err = json.Unmarshal(*v, &formatSettings)
  7199  				if err != nil {
  7200  					return err
  7201  				}
  7202  				as.FormatSettings = &formatSettings
  7203  			}
  7204  		default:
  7205  			if v != nil {
  7206  				var additionalProperties interface{}
  7207  				err = json.Unmarshal(*v, &additionalProperties)
  7208  				if err != nil {
  7209  					return err
  7210  				}
  7211  				if as.AdditionalProperties == nil {
  7212  					as.AdditionalProperties = make(map[string]interface{})
  7213  				}
  7214  				as.AdditionalProperties[k] = additionalProperties
  7215  			}
  7216  		case "writeBatchSize":
  7217  			if v != nil {
  7218  				var writeBatchSize interface{}
  7219  				err = json.Unmarshal(*v, &writeBatchSize)
  7220  				if err != nil {
  7221  					return err
  7222  				}
  7223  				as.WriteBatchSize = writeBatchSize
  7224  			}
  7225  		case "writeBatchTimeout":
  7226  			if v != nil {
  7227  				var writeBatchTimeout interface{}
  7228  				err = json.Unmarshal(*v, &writeBatchTimeout)
  7229  				if err != nil {
  7230  					return err
  7231  				}
  7232  				as.WriteBatchTimeout = writeBatchTimeout
  7233  			}
  7234  		case "sinkRetryCount":
  7235  			if v != nil {
  7236  				var sinkRetryCount interface{}
  7237  				err = json.Unmarshal(*v, &sinkRetryCount)
  7238  				if err != nil {
  7239  					return err
  7240  				}
  7241  				as.SinkRetryCount = sinkRetryCount
  7242  			}
  7243  		case "sinkRetryWait":
  7244  			if v != nil {
  7245  				var sinkRetryWait interface{}
  7246  				err = json.Unmarshal(*v, &sinkRetryWait)
  7247  				if err != nil {
  7248  					return err
  7249  				}
  7250  				as.SinkRetryWait = sinkRetryWait
  7251  			}
  7252  		case "maxConcurrentConnections":
  7253  			if v != nil {
  7254  				var maxConcurrentConnections interface{}
  7255  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  7256  				if err != nil {
  7257  					return err
  7258  				}
  7259  				as.MaxConcurrentConnections = maxConcurrentConnections
  7260  			}
  7261  		case "type":
  7262  			if v != nil {
  7263  				var typeVar TypeBasicCopySink
  7264  				err = json.Unmarshal(*v, &typeVar)
  7265  				if err != nil {
  7266  					return err
  7267  				}
  7268  				as.Type = typeVar
  7269  			}
  7270  		}
  7271  	}
  7272  
  7273  	return nil
  7274  }
  7275  
  7276  // AvroSource a copy activity Avro source.
  7277  type AvroSource struct {
  7278  	// StoreSettings - Avro store settings.
  7279  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
  7280  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  7281  	AdditionalProperties map[string]interface{} `json:""`
  7282  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
  7283  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
  7284  	// 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])).
  7285  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
  7286  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
  7287  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  7288  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
  7289  	Type TypeBasicCopySource `json:"type,omitempty"`
  7290  }
  7291  
  7292  // MarshalJSON is the custom marshaler for AvroSource.
  7293  func (as AvroSource) MarshalJSON() ([]byte, error) {
  7294  	as.Type = TypeAvroSource
  7295  	objectMap := make(map[string]interface{})
  7296  	objectMap["storeSettings"] = as.StoreSettings
  7297  	if as.SourceRetryCount != nil {
  7298  		objectMap["sourceRetryCount"] = as.SourceRetryCount
  7299  	}
  7300  	if as.SourceRetryWait != nil {
  7301  		objectMap["sourceRetryWait"] = as.SourceRetryWait
  7302  	}
  7303  	if as.MaxConcurrentConnections != nil {
  7304  		objectMap["maxConcurrentConnections"] = as.MaxConcurrentConnections
  7305  	}
  7306  	if as.Type != "" {
  7307  		objectMap["type"] = as.Type
  7308  	}
  7309  	for k, v := range as.AdditionalProperties {
  7310  		objectMap[k] = v
  7311  	}
  7312  	return json.Marshal(objectMap)
  7313  }
  7314  
  7315  // AsHTTPSource is the BasicCopySource implementation for AvroSource.
  7316  func (as AvroSource) AsHTTPSource() (*HTTPSource, bool) {
  7317  	return nil, false
  7318  }
  7319  
  7320  // AsAzureBlobFSSource is the BasicCopySource implementation for AvroSource.
  7321  func (as AvroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
  7322  	return nil, false
  7323  }
  7324  
  7325  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AvroSource.
  7326  func (as AvroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
  7327  	return nil, false
  7328  }
  7329  
  7330  // AsOffice365Source is the BasicCopySource implementation for AvroSource.
  7331  func (as AvroSource) AsOffice365Source() (*Office365Source, bool) {
  7332  	return nil, false
  7333  }
  7334  
  7335  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AvroSource.
  7336  func (as AvroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
  7337  	return nil, false
  7338  }
  7339  
  7340  // AsMongoDbV2Source is the BasicCopySource implementation for AvroSource.
  7341  func (as AvroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
  7342  	return nil, false
  7343  }
  7344  
  7345  // AsMongoDbSource is the BasicCopySource implementation for AvroSource.
  7346  func (as AvroSource) AsMongoDbSource() (*MongoDbSource, bool) {
  7347  	return nil, false
  7348  }
  7349  
  7350  // AsWebSource is the BasicCopySource implementation for AvroSource.
  7351  func (as AvroSource) AsWebSource() (*WebSource, bool) {
  7352  	return nil, false
  7353  }
  7354  
  7355  // AsOracleSource is the BasicCopySource implementation for AvroSource.
  7356  func (as AvroSource) AsOracleSource() (*OracleSource, bool) {
  7357  	return nil, false
  7358  }
  7359  
  7360  // AsAzureDataExplorerSource is the BasicCopySource implementation for AvroSource.
  7361  func (as AvroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
  7362  	return nil, false
  7363  }
  7364  
  7365  // AsHdfsSource is the BasicCopySource implementation for AvroSource.
  7366  func (as AvroSource) AsHdfsSource() (*HdfsSource, bool) {
  7367  	return nil, false
  7368  }
  7369  
  7370  // AsFileSystemSource is the BasicCopySource implementation for AvroSource.
  7371  func (as AvroSource) AsFileSystemSource() (*FileSystemSource, bool) {
  7372  	return nil, false
  7373  }
  7374  
  7375  // AsRestSource is the BasicCopySource implementation for AvroSource.
  7376  func (as AvroSource) AsRestSource() (*RestSource, bool) {
  7377  	return nil, false
  7378  }
  7379  
  7380  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AvroSource.
  7381  func (as AvroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
  7382  	return nil, false
  7383  }
  7384  
  7385  // AsODataSource is the BasicCopySource implementation for AvroSource.
  7386  func (as AvroSource) AsODataSource() (*ODataSource, bool) {
  7387  	return nil, false
  7388  }
  7389  
  7390  // AsMicrosoftAccessSource is the BasicCopySource implementation for AvroSource.
  7391  func (as AvroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
  7392  	return nil, false
  7393  }
  7394  
  7395  // AsRelationalSource is the BasicCopySource implementation for AvroSource.
  7396  func (as AvroSource) AsRelationalSource() (*RelationalSource, bool) {
  7397  	return nil, false
  7398  }
  7399  
  7400  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AvroSource.
  7401  func (as AvroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
  7402  	return nil, false
  7403  }
  7404  
  7405  // AsDynamicsCrmSource is the BasicCopySource implementation for AvroSource.
  7406  func (as AvroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
  7407  	return nil, false
  7408  }
  7409  
  7410  // AsDynamicsSource is the BasicCopySource implementation for AvroSource.
  7411  func (as AvroSource) AsDynamicsSource() (*DynamicsSource, bool) {
  7412  	return nil, false
  7413  }
  7414  
  7415  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AvroSource.
  7416  func (as AvroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
  7417  	return nil, false
  7418  }
  7419  
  7420  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AvroSource.
  7421  func (as AvroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
  7422  	return nil, false
  7423  }
  7424  
  7425  // AsBlobSource is the BasicCopySource implementation for AvroSource.
  7426  func (as AvroSource) AsBlobSource() (*BlobSource, bool) {
  7427  	return nil, false
  7428  }
  7429  
  7430  // AsAmazonRedshiftSource is the BasicCopySource implementation for AvroSource.
  7431  func (as AvroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
  7432  	return nil, false
  7433  }
  7434  
  7435  // AsGoogleAdWordsSource is the BasicCopySource implementation for AvroSource.
  7436  func (as AvroSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
  7437  	return nil, false
  7438  }
  7439  
  7440  // AsOracleServiceCloudSource is the BasicCopySource implementation for AvroSource.
  7441  func (as AvroSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
  7442  	return nil, false
  7443  }
  7444  
  7445  // AsDynamicsAXSource is the BasicCopySource implementation for AvroSource.
  7446  func (as AvroSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
  7447  	return nil, false
  7448  }
  7449  
  7450  // AsResponsysSource is the BasicCopySource implementation for AvroSource.
  7451  func (as AvroSource) AsResponsysSource() (*ResponsysSource, bool) {
  7452  	return nil, false
  7453  }
  7454  
  7455  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AvroSource.
  7456  func (as AvroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
  7457  	return nil, false
  7458  }
  7459  
  7460  // AsVerticaSource is the BasicCopySource implementation for AvroSource.
  7461  func (as AvroSource) AsVerticaSource() (*VerticaSource, bool) {
  7462  	return nil, false
  7463  }
  7464  
  7465  // AsNetezzaSource is the BasicCopySource implementation for AvroSource.
  7466  func (as AvroSource) AsNetezzaSource() (*NetezzaSource, bool) {
  7467  	return nil, false
  7468  }
  7469  
  7470  // AsZohoSource is the BasicCopySource implementation for AvroSource.
  7471  func (as AvroSource) AsZohoSource() (*ZohoSource, bool) {
  7472  	return nil, false
  7473  }
  7474  
  7475  // AsXeroSource is the BasicCopySource implementation for AvroSource.
  7476  func (as AvroSource) AsXeroSource() (*XeroSource, bool) {
  7477  	return nil, false
  7478  }
  7479  
  7480  // AsSquareSource is the BasicCopySource implementation for AvroSource.
  7481  func (as AvroSource) AsSquareSource() (*SquareSource, bool) {
  7482  	return nil, false
  7483  }
  7484  
  7485  // AsSparkSource is the BasicCopySource implementation for AvroSource.
  7486  func (as AvroSource) AsSparkSource() (*SparkSource, bool) {
  7487  	return nil, false
  7488  }
  7489  
  7490  // AsShopifySource is the BasicCopySource implementation for AvroSource.
  7491  func (as AvroSource) AsShopifySource() (*ShopifySource, bool) {
  7492  	return nil, false
  7493  }
  7494  
  7495  // AsServiceNowSource is the BasicCopySource implementation for AvroSource.
  7496  func (as AvroSource) AsServiceNowSource() (*ServiceNowSource, bool) {
  7497  	return nil, false
  7498  }
  7499  
  7500  // AsQuickBooksSource is the BasicCopySource implementation for AvroSource.
  7501  func (as AvroSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
  7502  	return nil, false
  7503  }
  7504  
  7505  // AsPrestoSource is the BasicCopySource implementation for AvroSource.
  7506  func (as AvroSource) AsPrestoSource() (*PrestoSource, bool) {
  7507  	return nil, false
  7508  }
  7509  
  7510  // AsPhoenixSource is the BasicCopySource implementation for AvroSource.
  7511  func (as AvroSource) AsPhoenixSource() (*PhoenixSource, bool) {
  7512  	return nil, false
  7513  }
  7514  
  7515  // AsPaypalSource is the BasicCopySource implementation for AvroSource.
  7516  func (as AvroSource) AsPaypalSource() (*PaypalSource, bool) {
  7517  	return nil, false
  7518  }
  7519  
  7520  // AsMarketoSource is the BasicCopySource implementation for AvroSource.
  7521  func (as AvroSource) AsMarketoSource() (*MarketoSource, bool) {
  7522  	return nil, false
  7523  }
  7524  
  7525  // AsAzureMariaDBSource is the BasicCopySource implementation for AvroSource.
  7526  func (as AvroSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
  7527  	return nil, false
  7528  }
  7529  
  7530  // AsMariaDBSource is the BasicCopySource implementation for AvroSource.
  7531  func (as AvroSource) AsMariaDBSource() (*MariaDBSource, bool) {
  7532  	return nil, false
  7533  }
  7534  
  7535  // AsMagentoSource is the BasicCopySource implementation for AvroSource.
  7536  func (as AvroSource) AsMagentoSource() (*MagentoSource, bool) {
  7537  	return nil, false
  7538  }
  7539  
  7540  // AsJiraSource is the BasicCopySource implementation for AvroSource.
  7541  func (as AvroSource) AsJiraSource() (*JiraSource, bool) {
  7542  	return nil, false
  7543  }
  7544  
  7545  // AsImpalaSource is the BasicCopySource implementation for AvroSource.
  7546  func (as AvroSource) AsImpalaSource() (*ImpalaSource, bool) {
  7547  	return nil, false
  7548  }
  7549  
  7550  // AsHubspotSource is the BasicCopySource implementation for AvroSource.
  7551  func (as AvroSource) AsHubspotSource() (*HubspotSource, bool) {
  7552  	return nil, false
  7553  }
  7554  
  7555  // AsHiveSource is the BasicCopySource implementation for AvroSource.
  7556  func (as AvroSource) AsHiveSource() (*HiveSource, bool) {
  7557  	return nil, false
  7558  }
  7559  
  7560  // AsHBaseSource is the BasicCopySource implementation for AvroSource.
  7561  func (as AvroSource) AsHBaseSource() (*HBaseSource, bool) {
  7562  	return nil, false
  7563  }
  7564  
  7565  // AsGreenplumSource is the BasicCopySource implementation for AvroSource.
  7566  func (as AvroSource) AsGreenplumSource() (*GreenplumSource, bool) {
  7567  	return nil, false
  7568  }
  7569  
  7570  // AsGoogleBigQuerySource is the BasicCopySource implementation for AvroSource.
  7571  func (as AvroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
  7572  	return nil, false
  7573  }
  7574  
  7575  // AsEloquaSource is the BasicCopySource implementation for AvroSource.
  7576  func (as AvroSource) AsEloquaSource() (*EloquaSource, bool) {
  7577  	return nil, false
  7578  }
  7579  
  7580  // AsDrillSource is the BasicCopySource implementation for AvroSource.
  7581  func (as AvroSource) AsDrillSource() (*DrillSource, bool) {
  7582  	return nil, false
  7583  }
  7584  
  7585  // AsCouchbaseSource is the BasicCopySource implementation for AvroSource.
  7586  func (as AvroSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
  7587  	return nil, false
  7588  }
  7589  
  7590  // AsConcurSource is the BasicCopySource implementation for AvroSource.
  7591  func (as AvroSource) AsConcurSource() (*ConcurSource, bool) {
  7592  	return nil, false
  7593  }
  7594  
  7595  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AvroSource.
  7596  func (as AvroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
  7597  	return nil, false
  7598  }
  7599  
  7600  // AsAmazonMWSSource is the BasicCopySource implementation for AvroSource.
  7601  func (as AvroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
  7602  	return nil, false
  7603  }
  7604  
  7605  // AsCassandraSource is the BasicCopySource implementation for AvroSource.
  7606  func (as AvroSource) AsCassandraSource() (*CassandraSource, bool) {
  7607  	return nil, false
  7608  }
  7609  
  7610  // AsTeradataSource is the BasicCopySource implementation for AvroSource.
  7611  func (as AvroSource) AsTeradataSource() (*TeradataSource, bool) {
  7612  	return nil, false
  7613  }
  7614  
  7615  // AsAzureMySQLSource is the BasicCopySource implementation for AvroSource.
  7616  func (as AvroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
  7617  	return nil, false
  7618  }
  7619  
  7620  // AsSQLDWSource is the BasicCopySource implementation for AvroSource.
  7621  func (as AvroSource) AsSQLDWSource() (*SQLDWSource, bool) {
  7622  	return nil, false
  7623  }
  7624  
  7625  // AsSQLMISource is the BasicCopySource implementation for AvroSource.
  7626  func (as AvroSource) AsSQLMISource() (*SQLMISource, bool) {
  7627  	return nil, false
  7628  }
  7629  
  7630  // AsAzureSQLSource is the BasicCopySource implementation for AvroSource.
  7631  func (as AvroSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
  7632  	return nil, false
  7633  }
  7634  
  7635  // AsSQLServerSource is the BasicCopySource implementation for AvroSource.
  7636  func (as AvroSource) AsSQLServerSource() (*SQLServerSource, bool) {
  7637  	return nil, false
  7638  }
  7639  
  7640  // AsSQLSource is the BasicCopySource implementation for AvroSource.
  7641  func (as AvroSource) AsSQLSource() (*SQLSource, bool) {
  7642  	return nil, false
  7643  }
  7644  
  7645  // AsSapTableSource is the BasicCopySource implementation for AvroSource.
  7646  func (as AvroSource) AsSapTableSource() (*SapTableSource, bool) {
  7647  	return nil, false
  7648  }
  7649  
  7650  // AsSapOpenHubSource is the BasicCopySource implementation for AvroSource.
  7651  func (as AvroSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
  7652  	return nil, false
  7653  }
  7654  
  7655  // AsSapHanaSource is the BasicCopySource implementation for AvroSource.
  7656  func (as AvroSource) AsSapHanaSource() (*SapHanaSource, bool) {
  7657  	return nil, false
  7658  }
  7659  
  7660  // AsSapEccSource is the BasicCopySource implementation for AvroSource.
  7661  func (as AvroSource) AsSapEccSource() (*SapEccSource, bool) {
  7662  	return nil, false
  7663  }
  7664  
  7665  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AvroSource.
  7666  func (as AvroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
  7667  	return nil, false
  7668  }
  7669  
  7670  // AsSalesforceSource is the BasicCopySource implementation for AvroSource.
  7671  func (as AvroSource) AsSalesforceSource() (*SalesforceSource, bool) {
  7672  	return nil, false
  7673  }
  7674  
  7675  // AsSapBwSource is the BasicCopySource implementation for AvroSource.
  7676  func (as AvroSource) AsSapBwSource() (*SapBwSource, bool) {
  7677  	return nil, false
  7678  }
  7679  
  7680  // AsSybaseSource is the BasicCopySource implementation for AvroSource.
  7681  func (as AvroSource) AsSybaseSource() (*SybaseSource, bool) {
  7682  	return nil, false
  7683  }
  7684  
  7685  // AsPostgreSQLSource is the BasicCopySource implementation for AvroSource.
  7686  func (as AvroSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
  7687  	return nil, false
  7688  }
  7689  
  7690  // AsMySQLSource is the BasicCopySource implementation for AvroSource.
  7691  func (as AvroSource) AsMySQLSource() (*MySQLSource, bool) {
  7692  	return nil, false
  7693  }
  7694  
  7695  // AsOdbcSource is the BasicCopySource implementation for AvroSource.
  7696  func (as AvroSource) AsOdbcSource() (*OdbcSource, bool) {
  7697  	return nil, false
  7698  }
  7699  
  7700  // AsDb2Source is the BasicCopySource implementation for AvroSource.
  7701  func (as AvroSource) AsDb2Source() (*Db2Source, bool) {
  7702  	return nil, false
  7703  }
  7704  
  7705  // AsInformixSource is the BasicCopySource implementation for AvroSource.
  7706  func (as AvroSource) AsInformixSource() (*InformixSource, bool) {
  7707  	return nil, false
  7708  }
  7709  
  7710  // AsAzureTableSource is the BasicCopySource implementation for AvroSource.
  7711  func (as AvroSource) AsAzureTableSource() (*AzureTableSource, bool) {
  7712  	return nil, false
  7713  }
  7714  
  7715  // AsTabularSource is the BasicCopySource implementation for AvroSource.
  7716  func (as AvroSource) AsTabularSource() (*TabularSource, bool) {
  7717  	return nil, false
  7718  }
  7719  
  7720  // AsBasicTabularSource is the BasicCopySource implementation for AvroSource.
  7721  func (as AvroSource) AsBasicTabularSource() (BasicTabularSource, bool) {
  7722  	return nil, false
  7723  }
  7724  
  7725  // AsBinarySource is the BasicCopySource implementation for AvroSource.
  7726  func (as AvroSource) AsBinarySource() (*BinarySource, bool) {
  7727  	return nil, false
  7728  }
  7729  
  7730  // AsOrcSource is the BasicCopySource implementation for AvroSource.
  7731  func (as AvroSource) AsOrcSource() (*OrcSource, bool) {
  7732  	return nil, false
  7733  }
  7734  
  7735  // AsJSONSource is the BasicCopySource implementation for AvroSource.
  7736  func (as AvroSource) AsJSONSource() (*JSONSource, bool) {
  7737  	return nil, false
  7738  }
  7739  
  7740  // AsDelimitedTextSource is the BasicCopySource implementation for AvroSource.
  7741  func (as AvroSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
  7742  	return nil, false
  7743  }
  7744  
  7745  // AsParquetSource is the BasicCopySource implementation for AvroSource.
  7746  func (as AvroSource) AsParquetSource() (*ParquetSource, bool) {
  7747  	return nil, false
  7748  }
  7749  
  7750  // AsAvroSource is the BasicCopySource implementation for AvroSource.
  7751  func (as AvroSource) AsAvroSource() (*AvroSource, bool) {
  7752  	return &as, true
  7753  }
  7754  
  7755  // AsCopySource is the BasicCopySource implementation for AvroSource.
  7756  func (as AvroSource) AsCopySource() (*CopySource, bool) {
  7757  	return nil, false
  7758  }
  7759  
  7760  // AsBasicCopySource is the BasicCopySource implementation for AvroSource.
  7761  func (as AvroSource) AsBasicCopySource() (BasicCopySource, bool) {
  7762  	return &as, true
  7763  }
  7764  
  7765  // UnmarshalJSON is the custom unmarshaler for AvroSource struct.
  7766  func (as *AvroSource) UnmarshalJSON(body []byte) error {
  7767  	var m map[string]*json.RawMessage
  7768  	err := json.Unmarshal(body, &m)
  7769  	if err != nil {
  7770  		return err
  7771  	}
  7772  	for k, v := range m {
  7773  		switch k {
  7774  		case "storeSettings":
  7775  			if v != nil {
  7776  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
  7777  				if err != nil {
  7778  					return err
  7779  				}
  7780  				as.StoreSettings = storeSettings
  7781  			}
  7782  		default:
  7783  			if v != nil {
  7784  				var additionalProperties interface{}
  7785  				err = json.Unmarshal(*v, &additionalProperties)
  7786  				if err != nil {
  7787  					return err
  7788  				}
  7789  				if as.AdditionalProperties == nil {
  7790  					as.AdditionalProperties = make(map[string]interface{})
  7791  				}
  7792  				as.AdditionalProperties[k] = additionalProperties
  7793  			}
  7794  		case "sourceRetryCount":
  7795  			if v != nil {
  7796  				var sourceRetryCount interface{}
  7797  				err = json.Unmarshal(*v, &sourceRetryCount)
  7798  				if err != nil {
  7799  					return err
  7800  				}
  7801  				as.SourceRetryCount = sourceRetryCount
  7802  			}
  7803  		case "sourceRetryWait":
  7804  			if v != nil {
  7805  				var sourceRetryWait interface{}
  7806  				err = json.Unmarshal(*v, &sourceRetryWait)
  7807  				if err != nil {
  7808  					return err
  7809  				}
  7810  				as.SourceRetryWait = sourceRetryWait
  7811  			}
  7812  		case "maxConcurrentConnections":
  7813  			if v != nil {
  7814  				var maxConcurrentConnections interface{}
  7815  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  7816  				if err != nil {
  7817  					return err
  7818  				}
  7819  				as.MaxConcurrentConnections = maxConcurrentConnections
  7820  			}
  7821  		case "type":
  7822  			if v != nil {
  7823  				var typeVar TypeBasicCopySource
  7824  				err = json.Unmarshal(*v, &typeVar)
  7825  				if err != nil {
  7826  					return err
  7827  				}
  7828  				as.Type = typeVar
  7829  			}
  7830  		}
  7831  	}
  7832  
  7833  	return nil
  7834  }
  7835  
  7836  // AvroWriteSettings avro write settings.
  7837  type AvroWriteSettings struct {
  7838  	// RecordName - Top level record name in write result, which is required in AVRO spec.
  7839  	RecordName *string `json:"recordName,omitempty"`
  7840  	// RecordNamespace - Record namespace in the write result.
  7841  	RecordNamespace *string `json:"recordNamespace,omitempty"`
  7842  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  7843  	AdditionalProperties map[string]interface{} `json:""`
  7844  	// Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings'
  7845  	Type TypeBasicFormatWriteSettings `json:"type,omitempty"`
  7846  }
  7847  
  7848  // MarshalJSON is the custom marshaler for AvroWriteSettings.
  7849  func (aws AvroWriteSettings) MarshalJSON() ([]byte, error) {
  7850  	aws.Type = TypeAvroWriteSettings
  7851  	objectMap := make(map[string]interface{})
  7852  	if aws.RecordName != nil {
  7853  		objectMap["recordName"] = aws.RecordName
  7854  	}
  7855  	if aws.RecordNamespace != nil {
  7856  		objectMap["recordNamespace"] = aws.RecordNamespace
  7857  	}
  7858  	if aws.Type != "" {
  7859  		objectMap["type"] = aws.Type
  7860  	}
  7861  	for k, v := range aws.AdditionalProperties {
  7862  		objectMap[k] = v
  7863  	}
  7864  	return json.Marshal(objectMap)
  7865  }
  7866  
  7867  // AsJSONWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings.
  7868  func (aws AvroWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) {
  7869  	return nil, false
  7870  }
  7871  
  7872  // AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings.
  7873  func (aws AvroWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) {
  7874  	return nil, false
  7875  }
  7876  
  7877  // AsAvroWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings.
  7878  func (aws AvroWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) {
  7879  	return &aws, true
  7880  }
  7881  
  7882  // AsFormatWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings.
  7883  func (aws AvroWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) {
  7884  	return nil, false
  7885  }
  7886  
  7887  // AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for AvroWriteSettings.
  7888  func (aws AvroWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) {
  7889  	return &aws, true
  7890  }
  7891  
  7892  // UnmarshalJSON is the custom unmarshaler for AvroWriteSettings struct.
  7893  func (aws *AvroWriteSettings) UnmarshalJSON(body []byte) error {
  7894  	var m map[string]*json.RawMessage
  7895  	err := json.Unmarshal(body, &m)
  7896  	if err != nil {
  7897  		return err
  7898  	}
  7899  	for k, v := range m {
  7900  		switch k {
  7901  		case "recordName":
  7902  			if v != nil {
  7903  				var recordName string
  7904  				err = json.Unmarshal(*v, &recordName)
  7905  				if err != nil {
  7906  					return err
  7907  				}
  7908  				aws.RecordName = &recordName
  7909  			}
  7910  		case "recordNamespace":
  7911  			if v != nil {
  7912  				var recordNamespace string
  7913  				err = json.Unmarshal(*v, &recordNamespace)
  7914  				if err != nil {
  7915  					return err
  7916  				}
  7917  				aws.RecordNamespace = &recordNamespace
  7918  			}
  7919  		default:
  7920  			if v != nil {
  7921  				var additionalProperties interface{}
  7922  				err = json.Unmarshal(*v, &additionalProperties)
  7923  				if err != nil {
  7924  					return err
  7925  				}
  7926  				if aws.AdditionalProperties == nil {
  7927  					aws.AdditionalProperties = make(map[string]interface{})
  7928  				}
  7929  				aws.AdditionalProperties[k] = additionalProperties
  7930  			}
  7931  		case "type":
  7932  			if v != nil {
  7933  				var typeVar TypeBasicFormatWriteSettings
  7934  				err = json.Unmarshal(*v, &typeVar)
  7935  				if err != nil {
  7936  					return err
  7937  				}
  7938  				aws.Type = typeVar
  7939  			}
  7940  		}
  7941  	}
  7942  
  7943  	return nil
  7944  }
  7945  
  7946  // AzureBatchLinkedService azure Batch linked service.
  7947  type AzureBatchLinkedService struct {
  7948  	// AzureBatchLinkedServiceTypeProperties - Azure Batch linked service properties.
  7949  	*AzureBatchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
  7950  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  7951  	AdditionalProperties map[string]interface{} `json:""`
  7952  	// ConnectVia - The integration runtime reference.
  7953  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
  7954  	// Description - Linked service description.
  7955  	Description *string `json:"description,omitempty"`
  7956  	// Parameters - Parameters for linked service.
  7957  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  7958  	// Annotations - List of tags that can be used for describing the linked service.
  7959  	Annotations *[]interface{} `json:"annotations,omitempty"`
  7960  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
  7961  	Type TypeBasicLinkedService `json:"type,omitempty"`
  7962  }
  7963  
  7964  // MarshalJSON is the custom marshaler for AzureBatchLinkedService.
  7965  func (abls AzureBatchLinkedService) MarshalJSON() ([]byte, error) {
  7966  	abls.Type = TypeAzureBatch
  7967  	objectMap := make(map[string]interface{})
  7968  	if abls.AzureBatchLinkedServiceTypeProperties != nil {
  7969  		objectMap["typeProperties"] = abls.AzureBatchLinkedServiceTypeProperties
  7970  	}
  7971  	if abls.ConnectVia != nil {
  7972  		objectMap["connectVia"] = abls.ConnectVia
  7973  	}
  7974  	if abls.Description != nil {
  7975  		objectMap["description"] = abls.Description
  7976  	}
  7977  	if abls.Parameters != nil {
  7978  		objectMap["parameters"] = abls.Parameters
  7979  	}
  7980  	if abls.Annotations != nil {
  7981  		objectMap["annotations"] = abls.Annotations
  7982  	}
  7983  	if abls.Type != "" {
  7984  		objectMap["type"] = abls.Type
  7985  	}
  7986  	for k, v := range abls.AdditionalProperties {
  7987  		objectMap[k] = v
  7988  	}
  7989  	return json.Marshal(objectMap)
  7990  }
  7991  
  7992  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  7993  func (abls AzureBatchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
  7994  	return nil, false
  7995  }
  7996  
  7997  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  7998  func (abls AzureBatchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
  7999  	return nil, false
  8000  }
  8001  
  8002  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8003  func (abls AzureBatchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
  8004  	return nil, false
  8005  }
  8006  
  8007  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8008  func (abls AzureBatchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
  8009  	return nil, false
  8010  }
  8011  
  8012  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8013  func (abls AzureBatchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
  8014  	return nil, false
  8015  }
  8016  
  8017  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8018  func (abls AzureBatchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
  8019  	return nil, false
  8020  }
  8021  
  8022  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8023  func (abls AzureBatchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
  8024  	return nil, false
  8025  }
  8026  
  8027  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8028  func (abls AzureBatchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
  8029  	return nil, false
  8030  }
  8031  
  8032  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8033  func (abls AzureBatchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
  8034  	return nil, false
  8035  }
  8036  
  8037  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8038  func (abls AzureBatchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
  8039  	return nil, false
  8040  }
  8041  
  8042  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8043  func (abls AzureBatchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
  8044  	return nil, false
  8045  }
  8046  
  8047  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8048  func (abls AzureBatchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
  8049  	return nil, false
  8050  }
  8051  
  8052  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8053  func (abls AzureBatchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
  8054  	return nil, false
  8055  }
  8056  
  8057  // AsZohoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8058  func (abls AzureBatchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
  8059  	return nil, false
  8060  }
  8061  
  8062  // AsXeroLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8063  func (abls AzureBatchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
  8064  	return nil, false
  8065  }
  8066  
  8067  // AsSquareLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8068  func (abls AzureBatchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
  8069  	return nil, false
  8070  }
  8071  
  8072  // AsSparkLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8073  func (abls AzureBatchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
  8074  	return nil, false
  8075  }
  8076  
  8077  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8078  func (abls AzureBatchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
  8079  	return nil, false
  8080  }
  8081  
  8082  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8083  func (abls AzureBatchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
  8084  	return nil, false
  8085  }
  8086  
  8087  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8088  func (abls AzureBatchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
  8089  	return nil, false
  8090  }
  8091  
  8092  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8093  func (abls AzureBatchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
  8094  	return nil, false
  8095  }
  8096  
  8097  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8098  func (abls AzureBatchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
  8099  	return nil, false
  8100  }
  8101  
  8102  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8103  func (abls AzureBatchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
  8104  	return nil, false
  8105  }
  8106  
  8107  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8108  func (abls AzureBatchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
  8109  	return nil, false
  8110  }
  8111  
  8112  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8113  func (abls AzureBatchLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
  8114  	return nil, false
  8115  }
  8116  
  8117  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8118  func (abls AzureBatchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
  8119  	return nil, false
  8120  }
  8121  
  8122  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8123  func (abls AzureBatchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
  8124  	return nil, false
  8125  }
  8126  
  8127  // AsJiraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8128  func (abls AzureBatchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
  8129  	return nil, false
  8130  }
  8131  
  8132  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8133  func (abls AzureBatchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
  8134  	return nil, false
  8135  }
  8136  
  8137  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8138  func (abls AzureBatchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
  8139  	return nil, false
  8140  }
  8141  
  8142  // AsHiveLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8143  func (abls AzureBatchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
  8144  	return nil, false
  8145  }
  8146  
  8147  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8148  func (abls AzureBatchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
  8149  	return nil, false
  8150  }
  8151  
  8152  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8153  func (abls AzureBatchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
  8154  	return nil, false
  8155  }
  8156  
  8157  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8158  func (abls AzureBatchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
  8159  	return nil, false
  8160  }
  8161  
  8162  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8163  func (abls AzureBatchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
  8164  	return nil, false
  8165  }
  8166  
  8167  // AsDrillLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8168  func (abls AzureBatchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
  8169  	return nil, false
  8170  }
  8171  
  8172  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8173  func (abls AzureBatchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
  8174  	return nil, false
  8175  }
  8176  
  8177  // AsConcurLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8178  func (abls AzureBatchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
  8179  	return nil, false
  8180  }
  8181  
  8182  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8183  func (abls AzureBatchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
  8184  	return nil, false
  8185  }
  8186  
  8187  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8188  func (abls AzureBatchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
  8189  	return nil, false
  8190  }
  8191  
  8192  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8193  func (abls AzureBatchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
  8194  	return nil, false
  8195  }
  8196  
  8197  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8198  func (abls AzureBatchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
  8199  	return nil, false
  8200  }
  8201  
  8202  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8203  func (abls AzureBatchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
  8204  	return nil, false
  8205  }
  8206  
  8207  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8208  func (abls AzureBatchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
  8209  	return nil, false
  8210  }
  8211  
  8212  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8213  func (abls AzureBatchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
  8214  	return nil, false
  8215  }
  8216  
  8217  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8218  func (abls AzureBatchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
  8219  	return nil, false
  8220  }
  8221  
  8222  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8223  func (abls AzureBatchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
  8224  	return nil, false
  8225  }
  8226  
  8227  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8228  func (abls AzureBatchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
  8229  	return nil, false
  8230  }
  8231  
  8232  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8233  func (abls AzureBatchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
  8234  	return nil, false
  8235  }
  8236  
  8237  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8238  func (abls AzureBatchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
  8239  	return nil, false
  8240  }
  8241  
  8242  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8243  func (abls AzureBatchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
  8244  	return nil, false
  8245  }
  8246  
  8247  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8248  func (abls AzureBatchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
  8249  	return nil, false
  8250  }
  8251  
  8252  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8253  func (abls AzureBatchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
  8254  	return nil, false
  8255  }
  8256  
  8257  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8258  func (abls AzureBatchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
  8259  	return nil, false
  8260  }
  8261  
  8262  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8263  func (abls AzureBatchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
  8264  	return nil, false
  8265  }
  8266  
  8267  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8268  func (abls AzureBatchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
  8269  	return nil, false
  8270  }
  8271  
  8272  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8273  func (abls AzureBatchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
  8274  	return nil, false
  8275  }
  8276  
  8277  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8278  func (abls AzureBatchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
  8279  	return nil, false
  8280  }
  8281  
  8282  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8283  func (abls AzureBatchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
  8284  	return nil, false
  8285  }
  8286  
  8287  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8288  func (abls AzureBatchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
  8289  	return nil, false
  8290  }
  8291  
  8292  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8293  func (abls AzureBatchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
  8294  	return nil, false
  8295  }
  8296  
  8297  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8298  func (abls AzureBatchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
  8299  	return nil, false
  8300  }
  8301  
  8302  // AsWebLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8303  func (abls AzureBatchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
  8304  	return nil, false
  8305  }
  8306  
  8307  // AsODataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8308  func (abls AzureBatchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
  8309  	return nil, false
  8310  }
  8311  
  8312  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8313  func (abls AzureBatchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
  8314  	return nil, false
  8315  }
  8316  
  8317  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8318  func (abls AzureBatchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
  8319  	return nil, false
  8320  }
  8321  
  8322  // AsInformixLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8323  func (abls AzureBatchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
  8324  	return nil, false
  8325  }
  8326  
  8327  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8328  func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
  8329  	return nil, false
  8330  }
  8331  
  8332  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8333  func (abls AzureBatchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
  8334  	return nil, false
  8335  }
  8336  
  8337  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8338  func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
  8339  	return nil, false
  8340  }
  8341  
  8342  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8343  func (abls AzureBatchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
  8344  	return nil, false
  8345  }
  8346  
  8347  // AsDb2LinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8348  func (abls AzureBatchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
  8349  	return nil, false
  8350  }
  8351  
  8352  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8353  func (abls AzureBatchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
  8354  	return nil, false
  8355  }
  8356  
  8357  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8358  func (abls AzureBatchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
  8359  	return nil, false
  8360  }
  8361  
  8362  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8363  func (abls AzureBatchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
  8364  	return nil, false
  8365  }
  8366  
  8367  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8368  func (abls AzureBatchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
  8369  	return nil, false
  8370  }
  8371  
  8372  // AsOracleLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8373  func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
  8374  	return nil, false
  8375  }
  8376  
  8377  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8378  func (abls AzureBatchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
  8379  	return nil, false
  8380  }
  8381  
  8382  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8383  func (abls AzureBatchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
  8384  	return nil, false
  8385  }
  8386  
  8387  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8388  func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
  8389  	return nil, false
  8390  }
  8391  
  8392  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8393  func (abls AzureBatchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
  8394  	return nil, false
  8395  }
  8396  
  8397  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8398  func (abls AzureBatchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
  8399  	return nil, false
  8400  }
  8401  
  8402  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8403  func (abls AzureBatchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
  8404  	return nil, false
  8405  }
  8406  
  8407  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8408  func (abls AzureBatchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
  8409  	return nil, false
  8410  }
  8411  
  8412  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8413  func (abls AzureBatchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
  8414  	return nil, false
  8415  }
  8416  
  8417  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8418  func (abls AzureBatchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
  8419  	return nil, false
  8420  }
  8421  
  8422  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8423  func (abls AzureBatchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
  8424  	return &abls, true
  8425  }
  8426  
  8427  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8428  func (abls AzureBatchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
  8429  	return nil, false
  8430  }
  8431  
  8432  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8433  func (abls AzureBatchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
  8434  	return nil, false
  8435  }
  8436  
  8437  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8438  func (abls AzureBatchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
  8439  	return nil, false
  8440  }
  8441  
  8442  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8443  func (abls AzureBatchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
  8444  	return nil, false
  8445  }
  8446  
  8447  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8448  func (abls AzureBatchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
  8449  	return nil, false
  8450  }
  8451  
  8452  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8453  func (abls AzureBatchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
  8454  	return nil, false
  8455  }
  8456  
  8457  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8458  func (abls AzureBatchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
  8459  	return nil, false
  8460  }
  8461  
  8462  // AsLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8463  func (abls AzureBatchLinkedService) AsLinkedService() (*LinkedService, bool) {
  8464  	return nil, false
  8465  }
  8466  
  8467  // AsBasicLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService.
  8468  func (abls AzureBatchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
  8469  	return &abls, true
  8470  }
  8471  
  8472  // UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedService struct.
  8473  func (abls *AzureBatchLinkedService) UnmarshalJSON(body []byte) error {
  8474  	var m map[string]*json.RawMessage
  8475  	err := json.Unmarshal(body, &m)
  8476  	if err != nil {
  8477  		return err
  8478  	}
  8479  	for k, v := range m {
  8480  		switch k {
  8481  		case "typeProperties":
  8482  			if v != nil {
  8483  				var azureBatchLinkedServiceTypeProperties AzureBatchLinkedServiceTypeProperties
  8484  				err = json.Unmarshal(*v, &azureBatchLinkedServiceTypeProperties)
  8485  				if err != nil {
  8486  					return err
  8487  				}
  8488  				abls.AzureBatchLinkedServiceTypeProperties = &azureBatchLinkedServiceTypeProperties
  8489  			}
  8490  		default:
  8491  			if v != nil {
  8492  				var additionalProperties interface{}
  8493  				err = json.Unmarshal(*v, &additionalProperties)
  8494  				if err != nil {
  8495  					return err
  8496  				}
  8497  				if abls.AdditionalProperties == nil {
  8498  					abls.AdditionalProperties = make(map[string]interface{})
  8499  				}
  8500  				abls.AdditionalProperties[k] = additionalProperties
  8501  			}
  8502  		case "connectVia":
  8503  			if v != nil {
  8504  				var connectVia IntegrationRuntimeReference
  8505  				err = json.Unmarshal(*v, &connectVia)
  8506  				if err != nil {
  8507  					return err
  8508  				}
  8509  				abls.ConnectVia = &connectVia
  8510  			}
  8511  		case "description":
  8512  			if v != nil {
  8513  				var description string
  8514  				err = json.Unmarshal(*v, &description)
  8515  				if err != nil {
  8516  					return err
  8517  				}
  8518  				abls.Description = &description
  8519  			}
  8520  		case "parameters":
  8521  			if v != nil {
  8522  				var parameters map[string]*ParameterSpecification
  8523  				err = json.Unmarshal(*v, &parameters)
  8524  				if err != nil {
  8525  					return err
  8526  				}
  8527  				abls.Parameters = parameters
  8528  			}
  8529  		case "annotations":
  8530  			if v != nil {
  8531  				var annotations []interface{}
  8532  				err = json.Unmarshal(*v, &annotations)
  8533  				if err != nil {
  8534  					return err
  8535  				}
  8536  				abls.Annotations = &annotations
  8537  			}
  8538  		case "type":
  8539  			if v != nil {
  8540  				var typeVar TypeBasicLinkedService
  8541  				err = json.Unmarshal(*v, &typeVar)
  8542  				if err != nil {
  8543  					return err
  8544  				}
  8545  				abls.Type = typeVar
  8546  			}
  8547  		}
  8548  	}
  8549  
  8550  	return nil
  8551  }
  8552  
  8553  // AzureBatchLinkedServiceTypeProperties azure Batch linked service properties.
  8554  type AzureBatchLinkedServiceTypeProperties struct {
  8555  	// AccountName - The Azure Batch account name. Type: string (or Expression with resultType string).
  8556  	AccountName interface{} `json:"accountName,omitempty"`
  8557  	// AccessKey - The Azure Batch account access key.
  8558  	AccessKey BasicSecretBase `json:"accessKey,omitempty"`
  8559  	// BatchURI - The Azure Batch URI. Type: string (or Expression with resultType string).
  8560  	BatchURI interface{} `json:"batchUri,omitempty"`
  8561  	// PoolName - The Azure Batch pool name. Type: string (or Expression with resultType string).
  8562  	PoolName interface{} `json:"poolName,omitempty"`
  8563  	// LinkedServiceName - The Azure Storage linked service reference.
  8564  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
  8565  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
  8566  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
  8567  }
  8568  
  8569  // UnmarshalJSON is the custom unmarshaler for AzureBatchLinkedServiceTypeProperties struct.
  8570  func (ablstp *AzureBatchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
  8571  	var m map[string]*json.RawMessage
  8572  	err := json.Unmarshal(body, &m)
  8573  	if err != nil {
  8574  		return err
  8575  	}
  8576  	for k, v := range m {
  8577  		switch k {
  8578  		case "accountName":
  8579  			if v != nil {
  8580  				var accountName interface{}
  8581  				err = json.Unmarshal(*v, &accountName)
  8582  				if err != nil {
  8583  					return err
  8584  				}
  8585  				ablstp.AccountName = accountName
  8586  			}
  8587  		case "accessKey":
  8588  			if v != nil {
  8589  				accessKey, err := unmarshalBasicSecretBase(*v)
  8590  				if err != nil {
  8591  					return err
  8592  				}
  8593  				ablstp.AccessKey = accessKey
  8594  			}
  8595  		case "batchUri":
  8596  			if v != nil {
  8597  				var batchURI interface{}
  8598  				err = json.Unmarshal(*v, &batchURI)
  8599  				if err != nil {
  8600  					return err
  8601  				}
  8602  				ablstp.BatchURI = batchURI
  8603  			}
  8604  		case "poolName":
  8605  			if v != nil {
  8606  				var poolName interface{}
  8607  				err = json.Unmarshal(*v, &poolName)
  8608  				if err != nil {
  8609  					return err
  8610  				}
  8611  				ablstp.PoolName = poolName
  8612  			}
  8613  		case "linkedServiceName":
  8614  			if v != nil {
  8615  				var linkedServiceName LinkedServiceReference
  8616  				err = json.Unmarshal(*v, &linkedServiceName)
  8617  				if err != nil {
  8618  					return err
  8619  				}
  8620  				ablstp.LinkedServiceName = &linkedServiceName
  8621  			}
  8622  		case "encryptedCredential":
  8623  			if v != nil {
  8624  				var encryptedCredential interface{}
  8625  				err = json.Unmarshal(*v, &encryptedCredential)
  8626  				if err != nil {
  8627  					return err
  8628  				}
  8629  				ablstp.EncryptedCredential = encryptedCredential
  8630  			}
  8631  		}
  8632  	}
  8633  
  8634  	return nil
  8635  }
  8636  
  8637  // AzureBlobFSLinkedService azure Data Lake Storage Gen2 linked service.
  8638  type AzureBlobFSLinkedService struct {
  8639  	// AzureBlobFSLinkedServiceTypeProperties - Azure Data Lake Storage Gen2 linked service properties.
  8640  	*AzureBlobFSLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
  8641  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  8642  	AdditionalProperties map[string]interface{} `json:""`
  8643  	// ConnectVia - The integration runtime reference.
  8644  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
  8645  	// Description - Linked service description.
  8646  	Description *string `json:"description,omitempty"`
  8647  	// Parameters - Parameters for linked service.
  8648  	Parameters map[string]*ParameterSpecification `json:"parameters"`
  8649  	// Annotations - List of tags that can be used for describing the linked service.
  8650  	Annotations *[]interface{} `json:"annotations,omitempty"`
  8651  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
  8652  	Type TypeBasicLinkedService `json:"type,omitempty"`
  8653  }
  8654  
  8655  // MarshalJSON is the custom marshaler for AzureBlobFSLinkedService.
  8656  func (abfls AzureBlobFSLinkedService) MarshalJSON() ([]byte, error) {
  8657  	abfls.Type = TypeAzureBlobFS
  8658  	objectMap := make(map[string]interface{})
  8659  	if abfls.AzureBlobFSLinkedServiceTypeProperties != nil {
  8660  		objectMap["typeProperties"] = abfls.AzureBlobFSLinkedServiceTypeProperties
  8661  	}
  8662  	if abfls.ConnectVia != nil {
  8663  		objectMap["connectVia"] = abfls.ConnectVia
  8664  	}
  8665  	if abfls.Description != nil {
  8666  		objectMap["description"] = abfls.Description
  8667  	}
  8668  	if abfls.Parameters != nil {
  8669  		objectMap["parameters"] = abfls.Parameters
  8670  	}
  8671  	if abfls.Annotations != nil {
  8672  		objectMap["annotations"] = abfls.Annotations
  8673  	}
  8674  	if abfls.Type != "" {
  8675  		objectMap["type"] = abfls.Type
  8676  	}
  8677  	for k, v := range abfls.AdditionalProperties {
  8678  		objectMap[k] = v
  8679  	}
  8680  	return json.Marshal(objectMap)
  8681  }
  8682  
  8683  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8684  func (abfls AzureBlobFSLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
  8685  	return nil, false
  8686  }
  8687  
  8688  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8689  func (abfls AzureBlobFSLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
  8690  	return nil, false
  8691  }
  8692  
  8693  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8694  func (abfls AzureBlobFSLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
  8695  	return nil, false
  8696  }
  8697  
  8698  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8699  func (abfls AzureBlobFSLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
  8700  	return nil, false
  8701  }
  8702  
  8703  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8704  func (abfls AzureBlobFSLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
  8705  	return nil, false
  8706  }
  8707  
  8708  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8709  func (abfls AzureBlobFSLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
  8710  	return nil, false
  8711  }
  8712  
  8713  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8714  func (abfls AzureBlobFSLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
  8715  	return nil, false
  8716  }
  8717  
  8718  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8719  func (abfls AzureBlobFSLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
  8720  	return nil, false
  8721  }
  8722  
  8723  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8724  func (abfls AzureBlobFSLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
  8725  	return nil, false
  8726  }
  8727  
  8728  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8729  func (abfls AzureBlobFSLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
  8730  	return nil, false
  8731  }
  8732  
  8733  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8734  func (abfls AzureBlobFSLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
  8735  	return nil, false
  8736  }
  8737  
  8738  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8739  func (abfls AzureBlobFSLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
  8740  	return nil, false
  8741  }
  8742  
  8743  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8744  func (abfls AzureBlobFSLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
  8745  	return nil, false
  8746  }
  8747  
  8748  // AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8749  func (abfls AzureBlobFSLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
  8750  	return nil, false
  8751  }
  8752  
  8753  // AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8754  func (abfls AzureBlobFSLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
  8755  	return nil, false
  8756  }
  8757  
  8758  // AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8759  func (abfls AzureBlobFSLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
  8760  	return nil, false
  8761  }
  8762  
  8763  // AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8764  func (abfls AzureBlobFSLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
  8765  	return nil, false
  8766  }
  8767  
  8768  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8769  func (abfls AzureBlobFSLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
  8770  	return nil, false
  8771  }
  8772  
  8773  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8774  func (abfls AzureBlobFSLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
  8775  	return nil, false
  8776  }
  8777  
  8778  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8779  func (abfls AzureBlobFSLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
  8780  	return nil, false
  8781  }
  8782  
  8783  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8784  func (abfls AzureBlobFSLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
  8785  	return nil, false
  8786  }
  8787  
  8788  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8789  func (abfls AzureBlobFSLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
  8790  	return nil, false
  8791  }
  8792  
  8793  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8794  func (abfls AzureBlobFSLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
  8795  	return nil, false
  8796  }
  8797  
  8798  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8799  func (abfls AzureBlobFSLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
  8800  	return nil, false
  8801  }
  8802  
  8803  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8804  func (abfls AzureBlobFSLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
  8805  	return nil, false
  8806  }
  8807  
  8808  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8809  func (abfls AzureBlobFSLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
  8810  	return nil, false
  8811  }
  8812  
  8813  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8814  func (abfls AzureBlobFSLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
  8815  	return nil, false
  8816  }
  8817  
  8818  // AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8819  func (abfls AzureBlobFSLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
  8820  	return nil, false
  8821  }
  8822  
  8823  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8824  func (abfls AzureBlobFSLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
  8825  	return nil, false
  8826  }
  8827  
  8828  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8829  func (abfls AzureBlobFSLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
  8830  	return nil, false
  8831  }
  8832  
  8833  // AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8834  func (abfls AzureBlobFSLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
  8835  	return nil, false
  8836  }
  8837  
  8838  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8839  func (abfls AzureBlobFSLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
  8840  	return nil, false
  8841  }
  8842  
  8843  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8844  func (abfls AzureBlobFSLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
  8845  	return nil, false
  8846  }
  8847  
  8848  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8849  func (abfls AzureBlobFSLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
  8850  	return nil, false
  8851  }
  8852  
  8853  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8854  func (abfls AzureBlobFSLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
  8855  	return nil, false
  8856  }
  8857  
  8858  // AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8859  func (abfls AzureBlobFSLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
  8860  	return nil, false
  8861  }
  8862  
  8863  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8864  func (abfls AzureBlobFSLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
  8865  	return nil, false
  8866  }
  8867  
  8868  // AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8869  func (abfls AzureBlobFSLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
  8870  	return nil, false
  8871  }
  8872  
  8873  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8874  func (abfls AzureBlobFSLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
  8875  	return nil, false
  8876  }
  8877  
  8878  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8879  func (abfls AzureBlobFSLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
  8880  	return nil, false
  8881  }
  8882  
  8883  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8884  func (abfls AzureBlobFSLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
  8885  	return nil, false
  8886  }
  8887  
  8888  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8889  func (abfls AzureBlobFSLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
  8890  	return nil, false
  8891  }
  8892  
  8893  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8894  func (abfls AzureBlobFSLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
  8895  	return nil, false
  8896  }
  8897  
  8898  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8899  func (abfls AzureBlobFSLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
  8900  	return nil, false
  8901  }
  8902  
  8903  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8904  func (abfls AzureBlobFSLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
  8905  	return nil, false
  8906  }
  8907  
  8908  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8909  func (abfls AzureBlobFSLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
  8910  	return nil, false
  8911  }
  8912  
  8913  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8914  func (abfls AzureBlobFSLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
  8915  	return nil, false
  8916  }
  8917  
  8918  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8919  func (abfls AzureBlobFSLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
  8920  	return nil, false
  8921  }
  8922  
  8923  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8924  func (abfls AzureBlobFSLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
  8925  	return nil, false
  8926  }
  8927  
  8928  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8929  func (abfls AzureBlobFSLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
  8930  	return nil, false
  8931  }
  8932  
  8933  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8934  func (abfls AzureBlobFSLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
  8935  	return nil, false
  8936  }
  8937  
  8938  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8939  func (abfls AzureBlobFSLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
  8940  	return nil, false
  8941  }
  8942  
  8943  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8944  func (abfls AzureBlobFSLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
  8945  	return nil, false
  8946  }
  8947  
  8948  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8949  func (abfls AzureBlobFSLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
  8950  	return nil, false
  8951  }
  8952  
  8953  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8954  func (abfls AzureBlobFSLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
  8955  	return nil, false
  8956  }
  8957  
  8958  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8959  func (abfls AzureBlobFSLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
  8960  	return nil, false
  8961  }
  8962  
  8963  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8964  func (abfls AzureBlobFSLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
  8965  	return &abfls, true
  8966  }
  8967  
  8968  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8969  func (abfls AzureBlobFSLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
  8970  	return nil, false
  8971  }
  8972  
  8973  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8974  func (abfls AzureBlobFSLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
  8975  	return nil, false
  8976  }
  8977  
  8978  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8979  func (abfls AzureBlobFSLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
  8980  	return nil, false
  8981  }
  8982  
  8983  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8984  func (abfls AzureBlobFSLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
  8985  	return nil, false
  8986  }
  8987  
  8988  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8989  func (abfls AzureBlobFSLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
  8990  	return nil, false
  8991  }
  8992  
  8993  // AsWebLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8994  func (abfls AzureBlobFSLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
  8995  	return nil, false
  8996  }
  8997  
  8998  // AsODataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  8999  func (abfls AzureBlobFSLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
  9000  	return nil, false
  9001  }
  9002  
  9003  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9004  func (abfls AzureBlobFSLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
  9005  	return nil, false
  9006  }
  9007  
  9008  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9009  func (abfls AzureBlobFSLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
  9010  	return nil, false
  9011  }
  9012  
  9013  // AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9014  func (abfls AzureBlobFSLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
  9015  	return nil, false
  9016  }
  9017  
  9018  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9019  func (abfls AzureBlobFSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
  9020  	return nil, false
  9021  }
  9022  
  9023  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9024  func (abfls AzureBlobFSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
  9025  	return nil, false
  9026  }
  9027  
  9028  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9029  func (abfls AzureBlobFSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
  9030  	return nil, false
  9031  }
  9032  
  9033  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9034  func (abfls AzureBlobFSLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
  9035  	return nil, false
  9036  }
  9037  
  9038  // AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9039  func (abfls AzureBlobFSLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
  9040  	return nil, false
  9041  }
  9042  
  9043  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9044  func (abfls AzureBlobFSLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
  9045  	return nil, false
  9046  }
  9047  
  9048  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9049  func (abfls AzureBlobFSLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
  9050  	return nil, false
  9051  }
  9052  
  9053  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9054  func (abfls AzureBlobFSLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
  9055  	return nil, false
  9056  }
  9057  
  9058  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9059  func (abfls AzureBlobFSLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
  9060  	return nil, false
  9061  }
  9062  
  9063  // AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9064  func (abfls AzureBlobFSLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
  9065  	return nil, false
  9066  }
  9067  
  9068  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9069  func (abfls AzureBlobFSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
  9070  	return nil, false
  9071  }
  9072  
  9073  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9074  func (abfls AzureBlobFSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
  9075  	return nil, false
  9076  }
  9077  
  9078  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9079  func (abfls AzureBlobFSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
  9080  	return nil, false
  9081  }
  9082  
  9083  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9084  func (abfls AzureBlobFSLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
  9085  	return nil, false
  9086  }
  9087  
  9088  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9089  func (abfls AzureBlobFSLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
  9090  	return nil, false
  9091  }
  9092  
  9093  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9094  func (abfls AzureBlobFSLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
  9095  	return nil, false
  9096  }
  9097  
  9098  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9099  func (abfls AzureBlobFSLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
  9100  	return nil, false
  9101  }
  9102  
  9103  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9104  func (abfls AzureBlobFSLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
  9105  	return nil, false
  9106  }
  9107  
  9108  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9109  func (abfls AzureBlobFSLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
  9110  	return nil, false
  9111  }
  9112  
  9113  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9114  func (abfls AzureBlobFSLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
  9115  	return nil, false
  9116  }
  9117  
  9118  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9119  func (abfls AzureBlobFSLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
  9120  	return nil, false
  9121  }
  9122  
  9123  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9124  func (abfls AzureBlobFSLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
  9125  	return nil, false
  9126  }
  9127  
  9128  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9129  func (abfls AzureBlobFSLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
  9130  	return nil, false
  9131  }
  9132  
  9133  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9134  func (abfls AzureBlobFSLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
  9135  	return nil, false
  9136  }
  9137  
  9138  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9139  func (abfls AzureBlobFSLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
  9140  	return nil, false
  9141  }
  9142  
  9143  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9144  func (abfls AzureBlobFSLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
  9145  	return nil, false
  9146  }
  9147  
  9148  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9149  func (abfls AzureBlobFSLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
  9150  	return nil, false
  9151  }
  9152  
  9153  // AsLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9154  func (abfls AzureBlobFSLinkedService) AsLinkedService() (*LinkedService, bool) {
  9155  	return nil, false
  9156  }
  9157  
  9158  // AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService.
  9159  func (abfls AzureBlobFSLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
  9160  	return &abfls, true
  9161  }
  9162  
  9163  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedService struct.
  9164  func (abfls *AzureBlobFSLinkedService) UnmarshalJSON(body []byte) error {
  9165  	var m map[string]*json.RawMessage
  9166  	err := json.Unmarshal(body, &m)
  9167  	if err != nil {
  9168  		return err
  9169  	}
  9170  	for k, v := range m {
  9171  		switch k {
  9172  		case "typeProperties":
  9173  			if v != nil {
  9174  				var azureBlobFSLinkedServiceTypeProperties AzureBlobFSLinkedServiceTypeProperties
  9175  				err = json.Unmarshal(*v, &azureBlobFSLinkedServiceTypeProperties)
  9176  				if err != nil {
  9177  					return err
  9178  				}
  9179  				abfls.AzureBlobFSLinkedServiceTypeProperties = &azureBlobFSLinkedServiceTypeProperties
  9180  			}
  9181  		default:
  9182  			if v != nil {
  9183  				var additionalProperties interface{}
  9184  				err = json.Unmarshal(*v, &additionalProperties)
  9185  				if err != nil {
  9186  					return err
  9187  				}
  9188  				if abfls.AdditionalProperties == nil {
  9189  					abfls.AdditionalProperties = make(map[string]interface{})
  9190  				}
  9191  				abfls.AdditionalProperties[k] = additionalProperties
  9192  			}
  9193  		case "connectVia":
  9194  			if v != nil {
  9195  				var connectVia IntegrationRuntimeReference
  9196  				err = json.Unmarshal(*v, &connectVia)
  9197  				if err != nil {
  9198  					return err
  9199  				}
  9200  				abfls.ConnectVia = &connectVia
  9201  			}
  9202  		case "description":
  9203  			if v != nil {
  9204  				var description string
  9205  				err = json.Unmarshal(*v, &description)
  9206  				if err != nil {
  9207  					return err
  9208  				}
  9209  				abfls.Description = &description
  9210  			}
  9211  		case "parameters":
  9212  			if v != nil {
  9213  				var parameters map[string]*ParameterSpecification
  9214  				err = json.Unmarshal(*v, &parameters)
  9215  				if err != nil {
  9216  					return err
  9217  				}
  9218  				abfls.Parameters = parameters
  9219  			}
  9220  		case "annotations":
  9221  			if v != nil {
  9222  				var annotations []interface{}
  9223  				err = json.Unmarshal(*v, &annotations)
  9224  				if err != nil {
  9225  					return err
  9226  				}
  9227  				abfls.Annotations = &annotations
  9228  			}
  9229  		case "type":
  9230  			if v != nil {
  9231  				var typeVar TypeBasicLinkedService
  9232  				err = json.Unmarshal(*v, &typeVar)
  9233  				if err != nil {
  9234  					return err
  9235  				}
  9236  				abfls.Type = typeVar
  9237  			}
  9238  		}
  9239  	}
  9240  
  9241  	return nil
  9242  }
  9243  
  9244  // AzureBlobFSLinkedServiceTypeProperties azure Data Lake Storage Gen2 linked service properties.
  9245  type AzureBlobFSLinkedServiceTypeProperties struct {
  9246  	// URL - Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
  9247  	URL interface{} `json:"url,omitempty"`
  9248  	// AccountKey - Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string).
  9249  	AccountKey interface{} `json:"accountKey,omitempty"`
  9250  	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
  9251  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
  9252  	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.
  9253  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
  9254  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
  9255  	Tenant interface{} `json:"tenant,omitempty"`
  9256  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
  9257  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
  9258  }
  9259  
  9260  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSLinkedServiceTypeProperties struct.
  9261  func (abflstp *AzureBlobFSLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
  9262  	var m map[string]*json.RawMessage
  9263  	err := json.Unmarshal(body, &m)
  9264  	if err != nil {
  9265  		return err
  9266  	}
  9267  	for k, v := range m {
  9268  		switch k {
  9269  		case "url":
  9270  			if v != nil {
  9271  				var URL interface{}
  9272  				err = json.Unmarshal(*v, &URL)
  9273  				if err != nil {
  9274  					return err
  9275  				}
  9276  				abflstp.URL = URL
  9277  			}
  9278  		case "accountKey":
  9279  			if v != nil {
  9280  				var accountKey interface{}
  9281  				err = json.Unmarshal(*v, &accountKey)
  9282  				if err != nil {
  9283  					return err
  9284  				}
  9285  				abflstp.AccountKey = accountKey
  9286  			}
  9287  		case "servicePrincipalId":
  9288  			if v != nil {
  9289  				var servicePrincipalID interface{}
  9290  				err = json.Unmarshal(*v, &servicePrincipalID)
  9291  				if err != nil {
  9292  					return err
  9293  				}
  9294  				abflstp.ServicePrincipalID = servicePrincipalID
  9295  			}
  9296  		case "servicePrincipalKey":
  9297  			if v != nil {
  9298  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
  9299  				if err != nil {
  9300  					return err
  9301  				}
  9302  				abflstp.ServicePrincipalKey = servicePrincipalKey
  9303  			}
  9304  		case "tenant":
  9305  			if v != nil {
  9306  				var tenant interface{}
  9307  				err = json.Unmarshal(*v, &tenant)
  9308  				if err != nil {
  9309  					return err
  9310  				}
  9311  				abflstp.Tenant = tenant
  9312  			}
  9313  		case "encryptedCredential":
  9314  			if v != nil {
  9315  				var encryptedCredential interface{}
  9316  				err = json.Unmarshal(*v, &encryptedCredential)
  9317  				if err != nil {
  9318  					return err
  9319  				}
  9320  				abflstp.EncryptedCredential = encryptedCredential
  9321  			}
  9322  		}
  9323  	}
  9324  
  9325  	return nil
  9326  }
  9327  
  9328  // AzureBlobFSLocation the location of azure blobFS dataset.
  9329  type AzureBlobFSLocation struct {
  9330  	// FileSystem - Specify the fileSystem of azure blobFS. Type: string (or Expression with resultType string).
  9331  	FileSystem interface{} `json:"fileSystem,omitempty"`
  9332  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  9333  	AdditionalProperties map[string]interface{} `json:""`
  9334  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
  9335  	FolderPath interface{} `json:"folderPath,omitempty"`
  9336  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
  9337  	FileName interface{} `json:"fileName,omitempty"`
  9338  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
  9339  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
  9340  }
  9341  
  9342  // MarshalJSON is the custom marshaler for AzureBlobFSLocation.
  9343  func (abfl AzureBlobFSLocation) MarshalJSON() ([]byte, error) {
  9344  	abfl.Type = TypeAzureBlobFSLocation
  9345  	objectMap := make(map[string]interface{})
  9346  	if abfl.FileSystem != nil {
  9347  		objectMap["fileSystem"] = abfl.FileSystem
  9348  	}
  9349  	if abfl.FolderPath != nil {
  9350  		objectMap["folderPath"] = abfl.FolderPath
  9351  	}
  9352  	if abfl.FileName != nil {
  9353  		objectMap["fileName"] = abfl.FileName
  9354  	}
  9355  	if abfl.Type != "" {
  9356  		objectMap["type"] = abfl.Type
  9357  	}
  9358  	for k, v := range abfl.AdditionalProperties {
  9359  		objectMap[k] = v
  9360  	}
  9361  	return json.Marshal(objectMap)
  9362  }
  9363  
  9364  // AsHdfsLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9365  func (abfl AzureBlobFSLocation) AsHdfsLocation() (*HdfsLocation, bool) {
  9366  	return nil, false
  9367  }
  9368  
  9369  // AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9370  func (abfl AzureBlobFSLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
  9371  	return nil, false
  9372  }
  9373  
  9374  // AsSftpLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9375  func (abfl AzureBlobFSLocation) AsSftpLocation() (*SftpLocation, bool) {
  9376  	return nil, false
  9377  }
  9378  
  9379  // AsFtpServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9380  func (abfl AzureBlobFSLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
  9381  	return nil, false
  9382  }
  9383  
  9384  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9385  func (abfl AzureBlobFSLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
  9386  	return nil, false
  9387  }
  9388  
  9389  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9390  func (abfl AzureBlobFSLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
  9391  	return nil, false
  9392  }
  9393  
  9394  // AsFileServerLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9395  func (abfl AzureBlobFSLocation) AsFileServerLocation() (*FileServerLocation, bool) {
  9396  	return nil, false
  9397  }
  9398  
  9399  // AsAmazonS3Location is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9400  func (abfl AzureBlobFSLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
  9401  	return nil, false
  9402  }
  9403  
  9404  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9405  func (abfl AzureBlobFSLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
  9406  	return nil, false
  9407  }
  9408  
  9409  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9410  func (abfl AzureBlobFSLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
  9411  	return &abfl, true
  9412  }
  9413  
  9414  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9415  func (abfl AzureBlobFSLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
  9416  	return nil, false
  9417  }
  9418  
  9419  // AsDatasetLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9420  func (abfl AzureBlobFSLocation) AsDatasetLocation() (*DatasetLocation, bool) {
  9421  	return nil, false
  9422  }
  9423  
  9424  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureBlobFSLocation.
  9425  func (abfl AzureBlobFSLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
  9426  	return &abfl, true
  9427  }
  9428  
  9429  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSLocation struct.
  9430  func (abfl *AzureBlobFSLocation) UnmarshalJSON(body []byte) error {
  9431  	var m map[string]*json.RawMessage
  9432  	err := json.Unmarshal(body, &m)
  9433  	if err != nil {
  9434  		return err
  9435  	}
  9436  	for k, v := range m {
  9437  		switch k {
  9438  		case "fileSystem":
  9439  			if v != nil {
  9440  				var fileSystem interface{}
  9441  				err = json.Unmarshal(*v, &fileSystem)
  9442  				if err != nil {
  9443  					return err
  9444  				}
  9445  				abfl.FileSystem = fileSystem
  9446  			}
  9447  		default:
  9448  			if v != nil {
  9449  				var additionalProperties interface{}
  9450  				err = json.Unmarshal(*v, &additionalProperties)
  9451  				if err != nil {
  9452  					return err
  9453  				}
  9454  				if abfl.AdditionalProperties == nil {
  9455  					abfl.AdditionalProperties = make(map[string]interface{})
  9456  				}
  9457  				abfl.AdditionalProperties[k] = additionalProperties
  9458  			}
  9459  		case "folderPath":
  9460  			if v != nil {
  9461  				var folderPath interface{}
  9462  				err = json.Unmarshal(*v, &folderPath)
  9463  				if err != nil {
  9464  					return err
  9465  				}
  9466  				abfl.FolderPath = folderPath
  9467  			}
  9468  		case "fileName":
  9469  			if v != nil {
  9470  				var fileName interface{}
  9471  				err = json.Unmarshal(*v, &fileName)
  9472  				if err != nil {
  9473  					return err
  9474  				}
  9475  				abfl.FileName = fileName
  9476  			}
  9477  		case "type":
  9478  			if v != nil {
  9479  				var typeVar TypeBasicDatasetLocation
  9480  				err = json.Unmarshal(*v, &typeVar)
  9481  				if err != nil {
  9482  					return err
  9483  				}
  9484  				abfl.Type = typeVar
  9485  			}
  9486  		}
  9487  	}
  9488  
  9489  	return nil
  9490  }
  9491  
  9492  // AzureBlobFSReadSettings azure blobFS read settings.
  9493  type AzureBlobFSReadSettings struct {
  9494  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
  9495  	Recursive interface{} `json:"recursive,omitempty"`
  9496  	// WildcardFolderPath - Azure blobFS wildcardFolderPath. Type: string (or Expression with resultType string).
  9497  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
  9498  	// WildcardFileName - Azure blobFS wildcardFileName. Type: string (or Expression with resultType string).
  9499  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
  9500  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
  9501  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
  9502  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
  9503  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
  9504  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
  9505  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
  9506  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  9507  	AdditionalProperties map[string]interface{} `json:""`
  9508  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
  9509  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  9510  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
  9511  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
  9512  }
  9513  
  9514  // MarshalJSON is the custom marshaler for AzureBlobFSReadSettings.
  9515  func (abfrs AzureBlobFSReadSettings) MarshalJSON() ([]byte, error) {
  9516  	abfrs.Type = TypeAzureBlobFSReadSettings
  9517  	objectMap := make(map[string]interface{})
  9518  	if abfrs.Recursive != nil {
  9519  		objectMap["recursive"] = abfrs.Recursive
  9520  	}
  9521  	if abfrs.WildcardFolderPath != nil {
  9522  		objectMap["wildcardFolderPath"] = abfrs.WildcardFolderPath
  9523  	}
  9524  	if abfrs.WildcardFileName != nil {
  9525  		objectMap["wildcardFileName"] = abfrs.WildcardFileName
  9526  	}
  9527  	if abfrs.EnablePartitionDiscovery != nil {
  9528  		objectMap["enablePartitionDiscovery"] = abfrs.EnablePartitionDiscovery
  9529  	}
  9530  	if abfrs.ModifiedDatetimeStart != nil {
  9531  		objectMap["modifiedDatetimeStart"] = abfrs.ModifiedDatetimeStart
  9532  	}
  9533  	if abfrs.ModifiedDatetimeEnd != nil {
  9534  		objectMap["modifiedDatetimeEnd"] = abfrs.ModifiedDatetimeEnd
  9535  	}
  9536  	if abfrs.MaxConcurrentConnections != nil {
  9537  		objectMap["maxConcurrentConnections"] = abfrs.MaxConcurrentConnections
  9538  	}
  9539  	if abfrs.Type != "" {
  9540  		objectMap["type"] = abfrs.Type
  9541  	}
  9542  	for k, v := range abfrs.AdditionalProperties {
  9543  		objectMap[k] = v
  9544  	}
  9545  	return json.Marshal(objectMap)
  9546  }
  9547  
  9548  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9549  func (abfrs AzureBlobFSReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
  9550  	return nil, false
  9551  }
  9552  
  9553  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9554  func (abfrs AzureBlobFSReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
  9555  	return nil, false
  9556  }
  9557  
  9558  // AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9559  func (abfrs AzureBlobFSReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
  9560  	return nil, false
  9561  }
  9562  
  9563  // AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9564  func (abfrs AzureBlobFSReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
  9565  	return nil, false
  9566  }
  9567  
  9568  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9569  func (abfrs AzureBlobFSReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
  9570  	return nil, false
  9571  }
  9572  
  9573  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9574  func (abfrs AzureBlobFSReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
  9575  	return nil, false
  9576  }
  9577  
  9578  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9579  func (abfrs AzureBlobFSReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
  9580  	return nil, false
  9581  }
  9582  
  9583  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9584  func (abfrs AzureBlobFSReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
  9585  	return nil, false
  9586  }
  9587  
  9588  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9589  func (abfrs AzureBlobFSReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
  9590  	return nil, false
  9591  }
  9592  
  9593  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9594  func (abfrs AzureBlobFSReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
  9595  	return &abfrs, true
  9596  }
  9597  
  9598  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9599  func (abfrs AzureBlobFSReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
  9600  	return nil, false
  9601  }
  9602  
  9603  // AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9604  func (abfrs AzureBlobFSReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
  9605  	return nil, false
  9606  }
  9607  
  9608  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobFSReadSettings.
  9609  func (abfrs AzureBlobFSReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
  9610  	return &abfrs, true
  9611  }
  9612  
  9613  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSReadSettings struct.
  9614  func (abfrs *AzureBlobFSReadSettings) UnmarshalJSON(body []byte) error {
  9615  	var m map[string]*json.RawMessage
  9616  	err := json.Unmarshal(body, &m)
  9617  	if err != nil {
  9618  		return err
  9619  	}
  9620  	for k, v := range m {
  9621  		switch k {
  9622  		case "recursive":
  9623  			if v != nil {
  9624  				var recursive interface{}
  9625  				err = json.Unmarshal(*v, &recursive)
  9626  				if err != nil {
  9627  					return err
  9628  				}
  9629  				abfrs.Recursive = recursive
  9630  			}
  9631  		case "wildcardFolderPath":
  9632  			if v != nil {
  9633  				var wildcardFolderPath interface{}
  9634  				err = json.Unmarshal(*v, &wildcardFolderPath)
  9635  				if err != nil {
  9636  					return err
  9637  				}
  9638  				abfrs.WildcardFolderPath = wildcardFolderPath
  9639  			}
  9640  		case "wildcardFileName":
  9641  			if v != nil {
  9642  				var wildcardFileName interface{}
  9643  				err = json.Unmarshal(*v, &wildcardFileName)
  9644  				if err != nil {
  9645  					return err
  9646  				}
  9647  				abfrs.WildcardFileName = wildcardFileName
  9648  			}
  9649  		case "enablePartitionDiscovery":
  9650  			if v != nil {
  9651  				var enablePartitionDiscovery bool
  9652  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
  9653  				if err != nil {
  9654  					return err
  9655  				}
  9656  				abfrs.EnablePartitionDiscovery = &enablePartitionDiscovery
  9657  			}
  9658  		case "modifiedDatetimeStart":
  9659  			if v != nil {
  9660  				var modifiedDatetimeStart interface{}
  9661  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
  9662  				if err != nil {
  9663  					return err
  9664  				}
  9665  				abfrs.ModifiedDatetimeStart = modifiedDatetimeStart
  9666  			}
  9667  		case "modifiedDatetimeEnd":
  9668  			if v != nil {
  9669  				var modifiedDatetimeEnd interface{}
  9670  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
  9671  				if err != nil {
  9672  					return err
  9673  				}
  9674  				abfrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
  9675  			}
  9676  		default:
  9677  			if v != nil {
  9678  				var additionalProperties interface{}
  9679  				err = json.Unmarshal(*v, &additionalProperties)
  9680  				if err != nil {
  9681  					return err
  9682  				}
  9683  				if abfrs.AdditionalProperties == nil {
  9684  					abfrs.AdditionalProperties = make(map[string]interface{})
  9685  				}
  9686  				abfrs.AdditionalProperties[k] = additionalProperties
  9687  			}
  9688  		case "maxConcurrentConnections":
  9689  			if v != nil {
  9690  				var maxConcurrentConnections interface{}
  9691  				err = json.Unmarshal(*v, &maxConcurrentConnections)
  9692  				if err != nil {
  9693  					return err
  9694  				}
  9695  				abfrs.MaxConcurrentConnections = maxConcurrentConnections
  9696  			}
  9697  		case "type":
  9698  			if v != nil {
  9699  				var typeVar TypeBasicStoreReadSettings
  9700  				err = json.Unmarshal(*v, &typeVar)
  9701  				if err != nil {
  9702  					return err
  9703  				}
  9704  				abfrs.Type = typeVar
  9705  			}
  9706  		}
  9707  	}
  9708  
  9709  	return nil
  9710  }
  9711  
  9712  // AzureBlobFSSink a copy activity Azure Data Lake Storage Gen2 sink.
  9713  type AzureBlobFSSink struct {
  9714  	// CopyBehavior - The type of copy behavior for copy sink.
  9715  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
  9716  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
  9717  	AdditionalProperties map[string]interface{} `json:""`
  9718  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
  9719  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
  9720  	// 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])).
  9721  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
  9722  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
  9723  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
  9724  	// 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])).
  9725  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
  9726  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
  9727  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
  9728  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
  9729  	Type TypeBasicCopySink `json:"type,omitempty"`
  9730  }
  9731  
  9732  // MarshalJSON is the custom marshaler for AzureBlobFSSink.
  9733  func (abfs AzureBlobFSSink) MarshalJSON() ([]byte, error) {
  9734  	abfs.Type = TypeAzureBlobFSSink
  9735  	objectMap := make(map[string]interface{})
  9736  	if abfs.CopyBehavior != nil {
  9737  		objectMap["copyBehavior"] = abfs.CopyBehavior
  9738  	}
  9739  	if abfs.WriteBatchSize != nil {
  9740  		objectMap["writeBatchSize"] = abfs.WriteBatchSize
  9741  	}
  9742  	if abfs.WriteBatchTimeout != nil {
  9743  		objectMap["writeBatchTimeout"] = abfs.WriteBatchTimeout
  9744  	}
  9745  	if abfs.SinkRetryCount != nil {
  9746  		objectMap["sinkRetryCount"] = abfs.SinkRetryCount
  9747  	}
  9748  	if abfs.SinkRetryWait != nil {
  9749  		objectMap["sinkRetryWait"] = abfs.SinkRetryWait
  9750  	}
  9751  	if abfs.MaxConcurrentConnections != nil {
  9752  		objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections
  9753  	}
  9754  	if abfs.Type != "" {
  9755  		objectMap["type"] = abfs.Type
  9756  	}
  9757  	for k, v := range abfs.AdditionalProperties {
  9758  		objectMap[k] = v
  9759  	}
  9760  	return json.Marshal(objectMap)
  9761  }
  9762  
  9763  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureBlobFSSink.
  9764  func (abfs AzureBlobFSSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
  9765  	return nil, false
  9766  }
  9767  
  9768  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureBlobFSSink.
  9769  func (abfs AzureBlobFSSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
  9770  	return nil, false
  9771  }
  9772  
  9773  // AsSalesforceSink is the BasicCopySink implementation for AzureBlobFSSink.
  9774  func (abfs AzureBlobFSSink) AsSalesforceSink() (*SalesforceSink, bool) {
  9775  	return nil, false
  9776  }
  9777  
  9778  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureBlobFSSink.
  9779  func (abfs AzureBlobFSSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
  9780  	return nil, false
  9781  }
  9782  
  9783  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureBlobFSSink.
  9784  func (abfs AzureBlobFSSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
  9785  	return nil, false
  9786  }
  9787  
  9788  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureBlobFSSink.
  9789  func (abfs AzureBlobFSSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
  9790  	return nil, false
  9791  }
  9792  
  9793  // AsDynamicsSink is the BasicCopySink implementation for AzureBlobFSSink.
  9794  func (abfs AzureBlobFSSink) AsDynamicsSink() (*DynamicsSink, bool) {
  9795  	return nil, false
  9796  }
  9797  
  9798  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureBlobFSSink.
  9799  func (abfs AzureBlobFSSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
  9800  	return nil, false
  9801  }
  9802  
  9803  // AsInformixSink is the BasicCopySink implementation for AzureBlobFSSink.
  9804  func (abfs AzureBlobFSSink) AsInformixSink() (*InformixSink, bool) {
  9805  	return nil, false
  9806  }
  9807  
  9808  // AsOdbcSink is the BasicCopySink implementation for AzureBlobFSSink.
  9809  func (abfs AzureBlobFSSink) AsOdbcSink() (*OdbcSink, bool) {
  9810  	return nil, false
  9811  }
  9812  
  9813  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureBlobFSSink.
  9814  func (abfs AzureBlobFSSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
  9815  	return nil, false
  9816  }
  9817  
  9818  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureBlobFSSink.
  9819  func (abfs AzureBlobFSSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
  9820  	return &abfs, true
  9821  }
  9822  
  9823  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureBlobFSSink.
  9824  func (abfs AzureBlobFSSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
  9825  	return nil, false
  9826  }
  9827  
  9828  // AsOracleSink is the BasicCopySink implementation for AzureBlobFSSink.
  9829  func (abfs AzureBlobFSSink) AsOracleSink() (*OracleSink, bool) {
  9830  	return nil, false
  9831  }
  9832  
  9833  // AsSQLDWSink is the BasicCopySink implementation for AzureBlobFSSink.
  9834  func (abfs AzureBlobFSSink) AsSQLDWSink() (*SQLDWSink, bool) {
  9835  	return nil, false
  9836  }
  9837  
  9838  // AsSQLMISink is the BasicCopySink implementation for AzureBlobFSSink.
  9839  func (abfs AzureBlobFSSink) AsSQLMISink() (*SQLMISink, bool) {
  9840  	return nil, false
  9841  }
  9842  
  9843  // AsAzureSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
  9844  func (abfs AzureBlobFSSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
  9845  	return nil, false
  9846  }
  9847  
  9848  // AsSQLServerSink is the BasicCopySink implementation for AzureBlobFSSink.
  9849  func (abfs AzureBlobFSSink) AsSQLServerSink() (*SQLServerSink, bool) {
  9850  	return nil, false
  9851  }
  9852  
  9853  // AsSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
  9854  func (abfs AzureBlobFSSink) AsSQLSink() (*SQLSink, bool) {
  9855  	return nil, false
  9856  }
  9857  
  9858  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureBlobFSSink.
  9859  func (abfs AzureBlobFSSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
  9860  	return nil, false
  9861  }
  9862  
  9863  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureBlobFSSink.
  9864  func (abfs AzureBlobFSSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
  9865  	return nil, false
  9866  }
  9867  
  9868  // AsFileSystemSink is the BasicCopySink implementation for AzureBlobFSSink.
  9869  func (abfs AzureBlobFSSink) AsFileSystemSink() (*FileSystemSink, bool) {
  9870  	return nil, false
  9871  }
  9872  
  9873  // AsBlobSink is the BasicCopySink implementation for AzureBlobFSSink.
  9874  func (abfs AzureBlobFSSink) AsBlobSink() (*BlobSink, bool) {
  9875  	return nil, false
  9876  }
  9877  
  9878  // AsBinarySink is the BasicCopySink implementation for AzureBlobFSSink.
  9879  func (abfs AzureBlobFSSink) AsBinarySink() (*BinarySink, bool) {
  9880  	return nil, false
  9881  }
  9882  
  9883  // AsParquetSink is the BasicCopySink implementation for AzureBlobFSSink.
  9884  func (abfs AzureBlobFSSink) AsParquetSink() (*ParquetSink, bool) {
  9885  	return nil, false
  9886  }
  9887  
  9888  // AsAvroSink is the BasicCopySink implementation for AzureBlobFSSink.
  9889  func (abfs AzureBlobFSSink) AsAvroSink() (*AvroSink, bool) {
  9890  	return nil, false
  9891  }
  9892  
  9893  // AsAzureTableSink is the BasicCopySink implementation for AzureBlobFSSink.
  9894  func (abfs AzureBlobFSSink) AsAzureTableSink() (*AzureTableSink, bool) {
  9895  	return nil, false
  9896  }
  9897  
  9898  // AsAzureQueueSink is the BasicCopySink implementation for AzureBlobFSSink.
  9899  func (abfs AzureBlobFSSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
  9900  	return nil, false
  9901  }
  9902  
  9903  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureBlobFSSink.
  9904  func (abfs AzureBlobFSSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
  9905  	return nil, false
  9906  }
  9907  
  9908  // AsAzureMySQLSink is the BasicCopySink implementation for AzureBlobFSSink.
  9909  func (abfs AzureBlobFSSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
  9910  	return nil, false
  9911  }
  9912  
  9913  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureBlobFSSink.
  9914  func (abfs AzureBlobFSSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
  9915  	return nil, false
  9916  }
  9917  
  9918  // AsOrcSink is the BasicCopySink implementation for AzureBlobFSSink.
  9919  func (abfs AzureBlobFSSink) AsOrcSink() (*OrcSink, bool) {
  9920  	return nil, false
  9921  }
  9922  
  9923  // AsJSONSink is the BasicCopySink implementation for AzureBlobFSSink.
  9924  func (abfs AzureBlobFSSink) AsJSONSink() (*JSONSink, bool) {
  9925  	return nil, false
  9926  }
  9927  
  9928  // AsDelimitedTextSink is the BasicCopySink implementation for AzureBlobFSSink.
  9929  func (abfs AzureBlobFSSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
  9930  	return nil, false
  9931  }
  9932  
  9933  // AsCopySink is the BasicCopySink implementation for AzureBlobFSSink.
  9934  func (abfs AzureBlobFSSink) AsCopySink() (*CopySink, bool) {
  9935  	return nil, false
  9936  }
  9937  
  9938  // AsBasicCopySink is the BasicCopySink implementation for AzureBlobFSSink.
  9939  func (abfs AzureBlobFSSink) AsBasicCopySink() (BasicCopySink, bool) {
  9940  	return &abfs, true
  9941  }
  9942  
  9943  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSSink struct.
  9944  func (abfs *AzureBlobFSSink) UnmarshalJSON(body []byte) error {
  9945  	var m map[string]*json.RawMessage
  9946  	err := json.Unmarshal(body, &m)
  9947  	if err != nil {
  9948  		return err
  9949  	}
  9950  	for k, v := range m {
  9951  		switch k {
  9952  		case "copyBehavior":
  9953  			if v != nil {
  9954  				var copyBehavior interface{}
  9955  				err = json.Unmarshal(*v, &copyBehavior)
  9956  				if err != nil {
  9957  					return err
  9958  				}
  9959  				abfs.CopyBehavior = copyBehavior
  9960  			}
  9961  		default:
  9962  			if v != nil {
  9963  				var additionalProperties interface{}
  9964  				err = json.Unmarshal(*v, &additionalProperties)
  9965  				if err != nil {
  9966  					return err
  9967  				}
  9968  				if abfs.AdditionalProperties == nil {
  9969  					abfs.AdditionalProperties = make(map[string]interface{})
  9970  				}
  9971  				abfs.AdditionalProperties[k] = additionalProperties
  9972  			}
  9973  		case "writeBatchSize":
  9974  			if v != nil {
  9975  				var writeBatchSize interface{}
  9976  				err = json.Unmarshal(*v, &writeBatchSize)
  9977  				if err != nil {
  9978  					return err
  9979  				}
  9980  				abfs.WriteBatchSize = writeBatchSize
  9981  			}
  9982  		case "writeBatchTimeout":
  9983  			if v != nil {
  9984  				var writeBatchTimeout interface{}
  9985  				err = json.Unmarshal(*v, &writeBatchTimeout)
  9986  				if err != nil {
  9987  					return err
  9988  				}
  9989  				abfs.WriteBatchTimeout = writeBatchTimeout
  9990  			}
  9991  		case "sinkRetryCount":
  9992  			if v != nil {
  9993  				var sinkRetryCount interface{}
  9994  				err = json.Unmarshal(*v, &sinkRetryCount)
  9995  				if err != nil {
  9996  					return err
  9997  				}
  9998  				abfs.SinkRetryCount = sinkRetryCount
  9999  			}
 10000  		case "sinkRetryWait":
 10001  			if v != nil {
 10002  				var sinkRetryWait interface{}
 10003  				err = json.Unmarshal(*v, &sinkRetryWait)
 10004  				if err != nil {
 10005  					return err
 10006  				}
 10007  				abfs.SinkRetryWait = sinkRetryWait
 10008  			}
 10009  		case "maxConcurrentConnections":
 10010  			if v != nil {
 10011  				var maxConcurrentConnections interface{}
 10012  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 10013  				if err != nil {
 10014  					return err
 10015  				}
 10016  				abfs.MaxConcurrentConnections = maxConcurrentConnections
 10017  			}
 10018  		case "type":
 10019  			if v != nil {
 10020  				var typeVar TypeBasicCopySink
 10021  				err = json.Unmarshal(*v, &typeVar)
 10022  				if err != nil {
 10023  					return err
 10024  				}
 10025  				abfs.Type = typeVar
 10026  			}
 10027  		}
 10028  	}
 10029  
 10030  	return nil
 10031  }
 10032  
 10033  // AzureBlobFSSource a copy activity Azure BlobFS source.
 10034  type AzureBlobFSSource struct {
 10035  	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
 10036  	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
 10037  	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
 10038  	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
 10039  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 10040  	Recursive interface{} `json:"recursive,omitempty"`
 10041  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 10042  	AdditionalProperties map[string]interface{} `json:""`
 10043  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 10044  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 10045  	// 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])).
 10046  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 10047  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 10048  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 10049  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 10050  	Type TypeBasicCopySource `json:"type,omitempty"`
 10051  }
 10052  
 10053  // MarshalJSON is the custom marshaler for AzureBlobFSSource.
 10054  func (abfs AzureBlobFSSource) MarshalJSON() ([]byte, error) {
 10055  	abfs.Type = TypeAzureBlobFSSource
 10056  	objectMap := make(map[string]interface{})
 10057  	if abfs.TreatEmptyAsNull != nil {
 10058  		objectMap["treatEmptyAsNull"] = abfs.TreatEmptyAsNull
 10059  	}
 10060  	if abfs.SkipHeaderLineCount != nil {
 10061  		objectMap["skipHeaderLineCount"] = abfs.SkipHeaderLineCount
 10062  	}
 10063  	if abfs.Recursive != nil {
 10064  		objectMap["recursive"] = abfs.Recursive
 10065  	}
 10066  	if abfs.SourceRetryCount != nil {
 10067  		objectMap["sourceRetryCount"] = abfs.SourceRetryCount
 10068  	}
 10069  	if abfs.SourceRetryWait != nil {
 10070  		objectMap["sourceRetryWait"] = abfs.SourceRetryWait
 10071  	}
 10072  	if abfs.MaxConcurrentConnections != nil {
 10073  		objectMap["maxConcurrentConnections"] = abfs.MaxConcurrentConnections
 10074  	}
 10075  	if abfs.Type != "" {
 10076  		objectMap["type"] = abfs.Type
 10077  	}
 10078  	for k, v := range abfs.AdditionalProperties {
 10079  		objectMap[k] = v
 10080  	}
 10081  	return json.Marshal(objectMap)
 10082  }
 10083  
 10084  // AsHTTPSource is the BasicCopySource implementation for AzureBlobFSSource.
 10085  func (abfs AzureBlobFSSource) AsHTTPSource() (*HTTPSource, bool) {
 10086  	return nil, false
 10087  }
 10088  
 10089  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureBlobFSSource.
 10090  func (abfs AzureBlobFSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 10091  	return &abfs, true
 10092  }
 10093  
 10094  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureBlobFSSource.
 10095  func (abfs AzureBlobFSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 10096  	return nil, false
 10097  }
 10098  
 10099  // AsOffice365Source is the BasicCopySource implementation for AzureBlobFSSource.
 10100  func (abfs AzureBlobFSSource) AsOffice365Source() (*Office365Source, bool) {
 10101  	return nil, false
 10102  }
 10103  
 10104  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureBlobFSSource.
 10105  func (abfs AzureBlobFSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 10106  	return nil, false
 10107  }
 10108  
 10109  // AsMongoDbV2Source is the BasicCopySource implementation for AzureBlobFSSource.
 10110  func (abfs AzureBlobFSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 10111  	return nil, false
 10112  }
 10113  
 10114  // AsMongoDbSource is the BasicCopySource implementation for AzureBlobFSSource.
 10115  func (abfs AzureBlobFSSource) AsMongoDbSource() (*MongoDbSource, bool) {
 10116  	return nil, false
 10117  }
 10118  
 10119  // AsWebSource is the BasicCopySource implementation for AzureBlobFSSource.
 10120  func (abfs AzureBlobFSSource) AsWebSource() (*WebSource, bool) {
 10121  	return nil, false
 10122  }
 10123  
 10124  // AsOracleSource is the BasicCopySource implementation for AzureBlobFSSource.
 10125  func (abfs AzureBlobFSSource) AsOracleSource() (*OracleSource, bool) {
 10126  	return nil, false
 10127  }
 10128  
 10129  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureBlobFSSource.
 10130  func (abfs AzureBlobFSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 10131  	return nil, false
 10132  }
 10133  
 10134  // AsHdfsSource is the BasicCopySource implementation for AzureBlobFSSource.
 10135  func (abfs AzureBlobFSSource) AsHdfsSource() (*HdfsSource, bool) {
 10136  	return nil, false
 10137  }
 10138  
 10139  // AsFileSystemSource is the BasicCopySource implementation for AzureBlobFSSource.
 10140  func (abfs AzureBlobFSSource) AsFileSystemSource() (*FileSystemSource, bool) {
 10141  	return nil, false
 10142  }
 10143  
 10144  // AsRestSource is the BasicCopySource implementation for AzureBlobFSSource.
 10145  func (abfs AzureBlobFSSource) AsRestSource() (*RestSource, bool) {
 10146  	return nil, false
 10147  }
 10148  
 10149  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
 10150  func (abfs AzureBlobFSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 10151  	return nil, false
 10152  }
 10153  
 10154  // AsODataSource is the BasicCopySource implementation for AzureBlobFSSource.
 10155  func (abfs AzureBlobFSSource) AsODataSource() (*ODataSource, bool) {
 10156  	return nil, false
 10157  }
 10158  
 10159  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureBlobFSSource.
 10160  func (abfs AzureBlobFSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 10161  	return nil, false
 10162  }
 10163  
 10164  // AsRelationalSource is the BasicCopySource implementation for AzureBlobFSSource.
 10165  func (abfs AzureBlobFSSource) AsRelationalSource() (*RelationalSource, bool) {
 10166  	return nil, false
 10167  }
 10168  
 10169  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureBlobFSSource.
 10170  func (abfs AzureBlobFSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 10171  	return nil, false
 10172  }
 10173  
 10174  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureBlobFSSource.
 10175  func (abfs AzureBlobFSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 10176  	return nil, false
 10177  }
 10178  
 10179  // AsDynamicsSource is the BasicCopySource implementation for AzureBlobFSSource.
 10180  func (abfs AzureBlobFSSource) AsDynamicsSource() (*DynamicsSource, bool) {
 10181  	return nil, false
 10182  }
 10183  
 10184  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureBlobFSSource.
 10185  func (abfs AzureBlobFSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 10186  	return nil, false
 10187  }
 10188  
 10189  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureBlobFSSource.
 10190  func (abfs AzureBlobFSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 10191  	return nil, false
 10192  }
 10193  
 10194  // AsBlobSource is the BasicCopySource implementation for AzureBlobFSSource.
 10195  func (abfs AzureBlobFSSource) AsBlobSource() (*BlobSource, bool) {
 10196  	return nil, false
 10197  }
 10198  
 10199  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureBlobFSSource.
 10200  func (abfs AzureBlobFSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 10201  	return nil, false
 10202  }
 10203  
 10204  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureBlobFSSource.
 10205  func (abfs AzureBlobFSSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 10206  	return nil, false
 10207  }
 10208  
 10209  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
 10210  func (abfs AzureBlobFSSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 10211  	return nil, false
 10212  }
 10213  
 10214  // AsDynamicsAXSource is the BasicCopySource implementation for AzureBlobFSSource.
 10215  func (abfs AzureBlobFSSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 10216  	return nil, false
 10217  }
 10218  
 10219  // AsResponsysSource is the BasicCopySource implementation for AzureBlobFSSource.
 10220  func (abfs AzureBlobFSSource) AsResponsysSource() (*ResponsysSource, bool) {
 10221  	return nil, false
 10222  }
 10223  
 10224  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureBlobFSSource.
 10225  func (abfs AzureBlobFSSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 10226  	return nil, false
 10227  }
 10228  
 10229  // AsVerticaSource is the BasicCopySource implementation for AzureBlobFSSource.
 10230  func (abfs AzureBlobFSSource) AsVerticaSource() (*VerticaSource, bool) {
 10231  	return nil, false
 10232  }
 10233  
 10234  // AsNetezzaSource is the BasicCopySource implementation for AzureBlobFSSource.
 10235  func (abfs AzureBlobFSSource) AsNetezzaSource() (*NetezzaSource, bool) {
 10236  	return nil, false
 10237  }
 10238  
 10239  // AsZohoSource is the BasicCopySource implementation for AzureBlobFSSource.
 10240  func (abfs AzureBlobFSSource) AsZohoSource() (*ZohoSource, bool) {
 10241  	return nil, false
 10242  }
 10243  
 10244  // AsXeroSource is the BasicCopySource implementation for AzureBlobFSSource.
 10245  func (abfs AzureBlobFSSource) AsXeroSource() (*XeroSource, bool) {
 10246  	return nil, false
 10247  }
 10248  
 10249  // AsSquareSource is the BasicCopySource implementation for AzureBlobFSSource.
 10250  func (abfs AzureBlobFSSource) AsSquareSource() (*SquareSource, bool) {
 10251  	return nil, false
 10252  }
 10253  
 10254  // AsSparkSource is the BasicCopySource implementation for AzureBlobFSSource.
 10255  func (abfs AzureBlobFSSource) AsSparkSource() (*SparkSource, bool) {
 10256  	return nil, false
 10257  }
 10258  
 10259  // AsShopifySource is the BasicCopySource implementation for AzureBlobFSSource.
 10260  func (abfs AzureBlobFSSource) AsShopifySource() (*ShopifySource, bool) {
 10261  	return nil, false
 10262  }
 10263  
 10264  // AsServiceNowSource is the BasicCopySource implementation for AzureBlobFSSource.
 10265  func (abfs AzureBlobFSSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 10266  	return nil, false
 10267  }
 10268  
 10269  // AsQuickBooksSource is the BasicCopySource implementation for AzureBlobFSSource.
 10270  func (abfs AzureBlobFSSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 10271  	return nil, false
 10272  }
 10273  
 10274  // AsPrestoSource is the BasicCopySource implementation for AzureBlobFSSource.
 10275  func (abfs AzureBlobFSSource) AsPrestoSource() (*PrestoSource, bool) {
 10276  	return nil, false
 10277  }
 10278  
 10279  // AsPhoenixSource is the BasicCopySource implementation for AzureBlobFSSource.
 10280  func (abfs AzureBlobFSSource) AsPhoenixSource() (*PhoenixSource, bool) {
 10281  	return nil, false
 10282  }
 10283  
 10284  // AsPaypalSource is the BasicCopySource implementation for AzureBlobFSSource.
 10285  func (abfs AzureBlobFSSource) AsPaypalSource() (*PaypalSource, bool) {
 10286  	return nil, false
 10287  }
 10288  
 10289  // AsMarketoSource is the BasicCopySource implementation for AzureBlobFSSource.
 10290  func (abfs AzureBlobFSSource) AsMarketoSource() (*MarketoSource, bool) {
 10291  	return nil, false
 10292  }
 10293  
 10294  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureBlobFSSource.
 10295  func (abfs AzureBlobFSSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 10296  	return nil, false
 10297  }
 10298  
 10299  // AsMariaDBSource is the BasicCopySource implementation for AzureBlobFSSource.
 10300  func (abfs AzureBlobFSSource) AsMariaDBSource() (*MariaDBSource, bool) {
 10301  	return nil, false
 10302  }
 10303  
 10304  // AsMagentoSource is the BasicCopySource implementation for AzureBlobFSSource.
 10305  func (abfs AzureBlobFSSource) AsMagentoSource() (*MagentoSource, bool) {
 10306  	return nil, false
 10307  }
 10308  
 10309  // AsJiraSource is the BasicCopySource implementation for AzureBlobFSSource.
 10310  func (abfs AzureBlobFSSource) AsJiraSource() (*JiraSource, bool) {
 10311  	return nil, false
 10312  }
 10313  
 10314  // AsImpalaSource is the BasicCopySource implementation for AzureBlobFSSource.
 10315  func (abfs AzureBlobFSSource) AsImpalaSource() (*ImpalaSource, bool) {
 10316  	return nil, false
 10317  }
 10318  
 10319  // AsHubspotSource is the BasicCopySource implementation for AzureBlobFSSource.
 10320  func (abfs AzureBlobFSSource) AsHubspotSource() (*HubspotSource, bool) {
 10321  	return nil, false
 10322  }
 10323  
 10324  // AsHiveSource is the BasicCopySource implementation for AzureBlobFSSource.
 10325  func (abfs AzureBlobFSSource) AsHiveSource() (*HiveSource, bool) {
 10326  	return nil, false
 10327  }
 10328  
 10329  // AsHBaseSource is the BasicCopySource implementation for AzureBlobFSSource.
 10330  func (abfs AzureBlobFSSource) AsHBaseSource() (*HBaseSource, bool) {
 10331  	return nil, false
 10332  }
 10333  
 10334  // AsGreenplumSource is the BasicCopySource implementation for AzureBlobFSSource.
 10335  func (abfs AzureBlobFSSource) AsGreenplumSource() (*GreenplumSource, bool) {
 10336  	return nil, false
 10337  }
 10338  
 10339  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureBlobFSSource.
 10340  func (abfs AzureBlobFSSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 10341  	return nil, false
 10342  }
 10343  
 10344  // AsEloquaSource is the BasicCopySource implementation for AzureBlobFSSource.
 10345  func (abfs AzureBlobFSSource) AsEloquaSource() (*EloquaSource, bool) {
 10346  	return nil, false
 10347  }
 10348  
 10349  // AsDrillSource is the BasicCopySource implementation for AzureBlobFSSource.
 10350  func (abfs AzureBlobFSSource) AsDrillSource() (*DrillSource, bool) {
 10351  	return nil, false
 10352  }
 10353  
 10354  // AsCouchbaseSource is the BasicCopySource implementation for AzureBlobFSSource.
 10355  func (abfs AzureBlobFSSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 10356  	return nil, false
 10357  }
 10358  
 10359  // AsConcurSource is the BasicCopySource implementation for AzureBlobFSSource.
 10360  func (abfs AzureBlobFSSource) AsConcurSource() (*ConcurSource, bool) {
 10361  	return nil, false
 10362  }
 10363  
 10364  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10365  func (abfs AzureBlobFSSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 10366  	return nil, false
 10367  }
 10368  
 10369  // AsAmazonMWSSource is the BasicCopySource implementation for AzureBlobFSSource.
 10370  func (abfs AzureBlobFSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 10371  	return nil, false
 10372  }
 10373  
 10374  // AsCassandraSource is the BasicCopySource implementation for AzureBlobFSSource.
 10375  func (abfs AzureBlobFSSource) AsCassandraSource() (*CassandraSource, bool) {
 10376  	return nil, false
 10377  }
 10378  
 10379  // AsTeradataSource is the BasicCopySource implementation for AzureBlobFSSource.
 10380  func (abfs AzureBlobFSSource) AsTeradataSource() (*TeradataSource, bool) {
 10381  	return nil, false
 10382  }
 10383  
 10384  // AsAzureMySQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10385  func (abfs AzureBlobFSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 10386  	return nil, false
 10387  }
 10388  
 10389  // AsSQLDWSource is the BasicCopySource implementation for AzureBlobFSSource.
 10390  func (abfs AzureBlobFSSource) AsSQLDWSource() (*SQLDWSource, bool) {
 10391  	return nil, false
 10392  }
 10393  
 10394  // AsSQLMISource is the BasicCopySource implementation for AzureBlobFSSource.
 10395  func (abfs AzureBlobFSSource) AsSQLMISource() (*SQLMISource, bool) {
 10396  	return nil, false
 10397  }
 10398  
 10399  // AsAzureSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10400  func (abfs AzureBlobFSSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 10401  	return nil, false
 10402  }
 10403  
 10404  // AsSQLServerSource is the BasicCopySource implementation for AzureBlobFSSource.
 10405  func (abfs AzureBlobFSSource) AsSQLServerSource() (*SQLServerSource, bool) {
 10406  	return nil, false
 10407  }
 10408  
 10409  // AsSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10410  func (abfs AzureBlobFSSource) AsSQLSource() (*SQLSource, bool) {
 10411  	return nil, false
 10412  }
 10413  
 10414  // AsSapTableSource is the BasicCopySource implementation for AzureBlobFSSource.
 10415  func (abfs AzureBlobFSSource) AsSapTableSource() (*SapTableSource, bool) {
 10416  	return nil, false
 10417  }
 10418  
 10419  // AsSapOpenHubSource is the BasicCopySource implementation for AzureBlobFSSource.
 10420  func (abfs AzureBlobFSSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 10421  	return nil, false
 10422  }
 10423  
 10424  // AsSapHanaSource is the BasicCopySource implementation for AzureBlobFSSource.
 10425  func (abfs AzureBlobFSSource) AsSapHanaSource() (*SapHanaSource, bool) {
 10426  	return nil, false
 10427  }
 10428  
 10429  // AsSapEccSource is the BasicCopySource implementation for AzureBlobFSSource.
 10430  func (abfs AzureBlobFSSource) AsSapEccSource() (*SapEccSource, bool) {
 10431  	return nil, false
 10432  }
 10433  
 10434  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureBlobFSSource.
 10435  func (abfs AzureBlobFSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 10436  	return nil, false
 10437  }
 10438  
 10439  // AsSalesforceSource is the BasicCopySource implementation for AzureBlobFSSource.
 10440  func (abfs AzureBlobFSSource) AsSalesforceSource() (*SalesforceSource, bool) {
 10441  	return nil, false
 10442  }
 10443  
 10444  // AsSapBwSource is the BasicCopySource implementation for AzureBlobFSSource.
 10445  func (abfs AzureBlobFSSource) AsSapBwSource() (*SapBwSource, bool) {
 10446  	return nil, false
 10447  }
 10448  
 10449  // AsSybaseSource is the BasicCopySource implementation for AzureBlobFSSource.
 10450  func (abfs AzureBlobFSSource) AsSybaseSource() (*SybaseSource, bool) {
 10451  	return nil, false
 10452  }
 10453  
 10454  // AsPostgreSQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10455  func (abfs AzureBlobFSSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 10456  	return nil, false
 10457  }
 10458  
 10459  // AsMySQLSource is the BasicCopySource implementation for AzureBlobFSSource.
 10460  func (abfs AzureBlobFSSource) AsMySQLSource() (*MySQLSource, bool) {
 10461  	return nil, false
 10462  }
 10463  
 10464  // AsOdbcSource is the BasicCopySource implementation for AzureBlobFSSource.
 10465  func (abfs AzureBlobFSSource) AsOdbcSource() (*OdbcSource, bool) {
 10466  	return nil, false
 10467  }
 10468  
 10469  // AsDb2Source is the BasicCopySource implementation for AzureBlobFSSource.
 10470  func (abfs AzureBlobFSSource) AsDb2Source() (*Db2Source, bool) {
 10471  	return nil, false
 10472  }
 10473  
 10474  // AsInformixSource is the BasicCopySource implementation for AzureBlobFSSource.
 10475  func (abfs AzureBlobFSSource) AsInformixSource() (*InformixSource, bool) {
 10476  	return nil, false
 10477  }
 10478  
 10479  // AsAzureTableSource is the BasicCopySource implementation for AzureBlobFSSource.
 10480  func (abfs AzureBlobFSSource) AsAzureTableSource() (*AzureTableSource, bool) {
 10481  	return nil, false
 10482  }
 10483  
 10484  // AsTabularSource is the BasicCopySource implementation for AzureBlobFSSource.
 10485  func (abfs AzureBlobFSSource) AsTabularSource() (*TabularSource, bool) {
 10486  	return nil, false
 10487  }
 10488  
 10489  // AsBasicTabularSource is the BasicCopySource implementation for AzureBlobFSSource.
 10490  func (abfs AzureBlobFSSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 10491  	return nil, false
 10492  }
 10493  
 10494  // AsBinarySource is the BasicCopySource implementation for AzureBlobFSSource.
 10495  func (abfs AzureBlobFSSource) AsBinarySource() (*BinarySource, bool) {
 10496  	return nil, false
 10497  }
 10498  
 10499  // AsOrcSource is the BasicCopySource implementation for AzureBlobFSSource.
 10500  func (abfs AzureBlobFSSource) AsOrcSource() (*OrcSource, bool) {
 10501  	return nil, false
 10502  }
 10503  
 10504  // AsJSONSource is the BasicCopySource implementation for AzureBlobFSSource.
 10505  func (abfs AzureBlobFSSource) AsJSONSource() (*JSONSource, bool) {
 10506  	return nil, false
 10507  }
 10508  
 10509  // AsDelimitedTextSource is the BasicCopySource implementation for AzureBlobFSSource.
 10510  func (abfs AzureBlobFSSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 10511  	return nil, false
 10512  }
 10513  
 10514  // AsParquetSource is the BasicCopySource implementation for AzureBlobFSSource.
 10515  func (abfs AzureBlobFSSource) AsParquetSource() (*ParquetSource, bool) {
 10516  	return nil, false
 10517  }
 10518  
 10519  // AsAvroSource is the BasicCopySource implementation for AzureBlobFSSource.
 10520  func (abfs AzureBlobFSSource) AsAvroSource() (*AvroSource, bool) {
 10521  	return nil, false
 10522  }
 10523  
 10524  // AsCopySource is the BasicCopySource implementation for AzureBlobFSSource.
 10525  func (abfs AzureBlobFSSource) AsCopySource() (*CopySource, bool) {
 10526  	return nil, false
 10527  }
 10528  
 10529  // AsBasicCopySource is the BasicCopySource implementation for AzureBlobFSSource.
 10530  func (abfs AzureBlobFSSource) AsBasicCopySource() (BasicCopySource, bool) {
 10531  	return &abfs, true
 10532  }
 10533  
 10534  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSSource struct.
 10535  func (abfs *AzureBlobFSSource) UnmarshalJSON(body []byte) error {
 10536  	var m map[string]*json.RawMessage
 10537  	err := json.Unmarshal(body, &m)
 10538  	if err != nil {
 10539  		return err
 10540  	}
 10541  	for k, v := range m {
 10542  		switch k {
 10543  		case "treatEmptyAsNull":
 10544  			if v != nil {
 10545  				var treatEmptyAsNull interface{}
 10546  				err = json.Unmarshal(*v, &treatEmptyAsNull)
 10547  				if err != nil {
 10548  					return err
 10549  				}
 10550  				abfs.TreatEmptyAsNull = treatEmptyAsNull
 10551  			}
 10552  		case "skipHeaderLineCount":
 10553  			if v != nil {
 10554  				var skipHeaderLineCount interface{}
 10555  				err = json.Unmarshal(*v, &skipHeaderLineCount)
 10556  				if err != nil {
 10557  					return err
 10558  				}
 10559  				abfs.SkipHeaderLineCount = skipHeaderLineCount
 10560  			}
 10561  		case "recursive":
 10562  			if v != nil {
 10563  				var recursive interface{}
 10564  				err = json.Unmarshal(*v, &recursive)
 10565  				if err != nil {
 10566  					return err
 10567  				}
 10568  				abfs.Recursive = recursive
 10569  			}
 10570  		default:
 10571  			if v != nil {
 10572  				var additionalProperties interface{}
 10573  				err = json.Unmarshal(*v, &additionalProperties)
 10574  				if err != nil {
 10575  					return err
 10576  				}
 10577  				if abfs.AdditionalProperties == nil {
 10578  					abfs.AdditionalProperties = make(map[string]interface{})
 10579  				}
 10580  				abfs.AdditionalProperties[k] = additionalProperties
 10581  			}
 10582  		case "sourceRetryCount":
 10583  			if v != nil {
 10584  				var sourceRetryCount interface{}
 10585  				err = json.Unmarshal(*v, &sourceRetryCount)
 10586  				if err != nil {
 10587  					return err
 10588  				}
 10589  				abfs.SourceRetryCount = sourceRetryCount
 10590  			}
 10591  		case "sourceRetryWait":
 10592  			if v != nil {
 10593  				var sourceRetryWait interface{}
 10594  				err = json.Unmarshal(*v, &sourceRetryWait)
 10595  				if err != nil {
 10596  					return err
 10597  				}
 10598  				abfs.SourceRetryWait = sourceRetryWait
 10599  			}
 10600  		case "maxConcurrentConnections":
 10601  			if v != nil {
 10602  				var maxConcurrentConnections interface{}
 10603  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 10604  				if err != nil {
 10605  					return err
 10606  				}
 10607  				abfs.MaxConcurrentConnections = maxConcurrentConnections
 10608  			}
 10609  		case "type":
 10610  			if v != nil {
 10611  				var typeVar TypeBasicCopySource
 10612  				err = json.Unmarshal(*v, &typeVar)
 10613  				if err != nil {
 10614  					return err
 10615  				}
 10616  				abfs.Type = typeVar
 10617  			}
 10618  		}
 10619  	}
 10620  
 10621  	return nil
 10622  }
 10623  
 10624  // AzureBlobFSWriteSettings azure blobFS write settings.
 10625  type AzureBlobFSWriteSettings struct {
 10626  	// BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer).
 10627  	BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"`
 10628  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 10629  	AdditionalProperties map[string]interface{} `json:""`
 10630  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 10631  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 10632  	// CopyBehavior - The type of copy behavior for copy sink.
 10633  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 10634  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
 10635  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
 10636  }
 10637  
 10638  // MarshalJSON is the custom marshaler for AzureBlobFSWriteSettings.
 10639  func (abfws AzureBlobFSWriteSettings) MarshalJSON() ([]byte, error) {
 10640  	abfws.Type = TypeAzureBlobFSWriteSettings
 10641  	objectMap := make(map[string]interface{})
 10642  	if abfws.BlockSizeInMB != nil {
 10643  		objectMap["blockSizeInMB"] = abfws.BlockSizeInMB
 10644  	}
 10645  	if abfws.MaxConcurrentConnections != nil {
 10646  		objectMap["maxConcurrentConnections"] = abfws.MaxConcurrentConnections
 10647  	}
 10648  	if abfws.CopyBehavior != nil {
 10649  		objectMap["copyBehavior"] = abfws.CopyBehavior
 10650  	}
 10651  	if abfws.Type != "" {
 10652  		objectMap["type"] = abfws.Type
 10653  	}
 10654  	for k, v := range abfws.AdditionalProperties {
 10655  		objectMap[k] = v
 10656  	}
 10657  	return json.Marshal(objectMap)
 10658  }
 10659  
 10660  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10661  func (abfws AzureBlobFSWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
 10662  	return nil, false
 10663  }
 10664  
 10665  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10666  func (abfws AzureBlobFSWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
 10667  	return nil, false
 10668  }
 10669  
 10670  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10671  func (abfws AzureBlobFSWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
 10672  	return &abfws, true
 10673  }
 10674  
 10675  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10676  func (abfws AzureBlobFSWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
 10677  	return nil, false
 10678  }
 10679  
 10680  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10681  func (abfws AzureBlobFSWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
 10682  	return nil, false
 10683  }
 10684  
 10685  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10686  func (abfws AzureBlobFSWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
 10687  	return nil, false
 10688  }
 10689  
 10690  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings.
 10691  func (abfws AzureBlobFSWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
 10692  	return &abfws, true
 10693  }
 10694  
 10695  // UnmarshalJSON is the custom unmarshaler for AzureBlobFSWriteSettings struct.
 10696  func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error {
 10697  	var m map[string]*json.RawMessage
 10698  	err := json.Unmarshal(body, &m)
 10699  	if err != nil {
 10700  		return err
 10701  	}
 10702  	for k, v := range m {
 10703  		switch k {
 10704  		case "blockSizeInMB":
 10705  			if v != nil {
 10706  				var blockSizeInMB interface{}
 10707  				err = json.Unmarshal(*v, &blockSizeInMB)
 10708  				if err != nil {
 10709  					return err
 10710  				}
 10711  				abfws.BlockSizeInMB = blockSizeInMB
 10712  			}
 10713  		default:
 10714  			if v != nil {
 10715  				var additionalProperties interface{}
 10716  				err = json.Unmarshal(*v, &additionalProperties)
 10717  				if err != nil {
 10718  					return err
 10719  				}
 10720  				if abfws.AdditionalProperties == nil {
 10721  					abfws.AdditionalProperties = make(map[string]interface{})
 10722  				}
 10723  				abfws.AdditionalProperties[k] = additionalProperties
 10724  			}
 10725  		case "maxConcurrentConnections":
 10726  			if v != nil {
 10727  				var maxConcurrentConnections interface{}
 10728  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 10729  				if err != nil {
 10730  					return err
 10731  				}
 10732  				abfws.MaxConcurrentConnections = maxConcurrentConnections
 10733  			}
 10734  		case "copyBehavior":
 10735  			if v != nil {
 10736  				var copyBehavior interface{}
 10737  				err = json.Unmarshal(*v, &copyBehavior)
 10738  				if err != nil {
 10739  					return err
 10740  				}
 10741  				abfws.CopyBehavior = copyBehavior
 10742  			}
 10743  		case "type":
 10744  			if v != nil {
 10745  				var typeVar TypeBasicStoreWriteSettings
 10746  				err = json.Unmarshal(*v, &typeVar)
 10747  				if err != nil {
 10748  					return err
 10749  				}
 10750  				abfws.Type = typeVar
 10751  			}
 10752  		}
 10753  	}
 10754  
 10755  	return nil
 10756  }
 10757  
 10758  // AzureBlobStorageLinkedService the azure blob storage linked service.
 10759  type AzureBlobStorageLinkedService struct {
 10760  	// AzureBlobStorageLinkedServiceTypeProperties - Azure Blob Storage linked service properties.
 10761  	*AzureBlobStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 10762  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 10763  	AdditionalProperties map[string]interface{} `json:""`
 10764  	// ConnectVia - The integration runtime reference.
 10765  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 10766  	// Description - Linked service description.
 10767  	Description *string `json:"description,omitempty"`
 10768  	// Parameters - Parameters for linked service.
 10769  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 10770  	// Annotations - List of tags that can be used for describing the linked service.
 10771  	Annotations *[]interface{} `json:"annotations,omitempty"`
 10772  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 10773  	Type TypeBasicLinkedService `json:"type,omitempty"`
 10774  }
 10775  
 10776  // MarshalJSON is the custom marshaler for AzureBlobStorageLinkedService.
 10777  func (absls AzureBlobStorageLinkedService) MarshalJSON() ([]byte, error) {
 10778  	absls.Type = TypeAzureBlobStorage
 10779  	objectMap := make(map[string]interface{})
 10780  	if absls.AzureBlobStorageLinkedServiceTypeProperties != nil {
 10781  		objectMap["typeProperties"] = absls.AzureBlobStorageLinkedServiceTypeProperties
 10782  	}
 10783  	if absls.ConnectVia != nil {
 10784  		objectMap["connectVia"] = absls.ConnectVia
 10785  	}
 10786  	if absls.Description != nil {
 10787  		objectMap["description"] = absls.Description
 10788  	}
 10789  	if absls.Parameters != nil {
 10790  		objectMap["parameters"] = absls.Parameters
 10791  	}
 10792  	if absls.Annotations != nil {
 10793  		objectMap["annotations"] = absls.Annotations
 10794  	}
 10795  	if absls.Type != "" {
 10796  		objectMap["type"] = absls.Type
 10797  	}
 10798  	for k, v := range absls.AdditionalProperties {
 10799  		objectMap[k] = v
 10800  	}
 10801  	return json.Marshal(objectMap)
 10802  }
 10803  
 10804  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10805  func (absls AzureBlobStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 10806  	return nil, false
 10807  }
 10808  
 10809  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10810  func (absls AzureBlobStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 10811  	return nil, false
 10812  }
 10813  
 10814  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10815  func (absls AzureBlobStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 10816  	return nil, false
 10817  }
 10818  
 10819  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10820  func (absls AzureBlobStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 10821  	return nil, false
 10822  }
 10823  
 10824  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10825  func (absls AzureBlobStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 10826  	return nil, false
 10827  }
 10828  
 10829  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10830  func (absls AzureBlobStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 10831  	return nil, false
 10832  }
 10833  
 10834  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10835  func (absls AzureBlobStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 10836  	return nil, false
 10837  }
 10838  
 10839  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10840  func (absls AzureBlobStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 10841  	return nil, false
 10842  }
 10843  
 10844  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10845  func (absls AzureBlobStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 10846  	return nil, false
 10847  }
 10848  
 10849  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10850  func (absls AzureBlobStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 10851  	return nil, false
 10852  }
 10853  
 10854  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10855  func (absls AzureBlobStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 10856  	return nil, false
 10857  }
 10858  
 10859  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10860  func (absls AzureBlobStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 10861  	return nil, false
 10862  }
 10863  
 10864  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10865  func (absls AzureBlobStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 10866  	return nil, false
 10867  }
 10868  
 10869  // AsZohoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10870  func (absls AzureBlobStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 10871  	return nil, false
 10872  }
 10873  
 10874  // AsXeroLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10875  func (absls AzureBlobStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 10876  	return nil, false
 10877  }
 10878  
 10879  // AsSquareLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10880  func (absls AzureBlobStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 10881  	return nil, false
 10882  }
 10883  
 10884  // AsSparkLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10885  func (absls AzureBlobStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 10886  	return nil, false
 10887  }
 10888  
 10889  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10890  func (absls AzureBlobStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 10891  	return nil, false
 10892  }
 10893  
 10894  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10895  func (absls AzureBlobStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 10896  	return nil, false
 10897  }
 10898  
 10899  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10900  func (absls AzureBlobStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 10901  	return nil, false
 10902  }
 10903  
 10904  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10905  func (absls AzureBlobStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 10906  	return nil, false
 10907  }
 10908  
 10909  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10910  func (absls AzureBlobStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 10911  	return nil, false
 10912  }
 10913  
 10914  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10915  func (absls AzureBlobStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 10916  	return nil, false
 10917  }
 10918  
 10919  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10920  func (absls AzureBlobStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 10921  	return nil, false
 10922  }
 10923  
 10924  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10925  func (absls AzureBlobStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 10926  	return nil, false
 10927  }
 10928  
 10929  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10930  func (absls AzureBlobStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 10931  	return nil, false
 10932  }
 10933  
 10934  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10935  func (absls AzureBlobStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 10936  	return nil, false
 10937  }
 10938  
 10939  // AsJiraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10940  func (absls AzureBlobStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 10941  	return nil, false
 10942  }
 10943  
 10944  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10945  func (absls AzureBlobStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 10946  	return nil, false
 10947  }
 10948  
 10949  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10950  func (absls AzureBlobStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 10951  	return nil, false
 10952  }
 10953  
 10954  // AsHiveLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10955  func (absls AzureBlobStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 10956  	return nil, false
 10957  }
 10958  
 10959  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10960  func (absls AzureBlobStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 10961  	return nil, false
 10962  }
 10963  
 10964  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10965  func (absls AzureBlobStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 10966  	return nil, false
 10967  }
 10968  
 10969  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10970  func (absls AzureBlobStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 10971  	return nil, false
 10972  }
 10973  
 10974  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10975  func (absls AzureBlobStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 10976  	return nil, false
 10977  }
 10978  
 10979  // AsDrillLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10980  func (absls AzureBlobStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 10981  	return nil, false
 10982  }
 10983  
 10984  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10985  func (absls AzureBlobStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 10986  	return nil, false
 10987  }
 10988  
 10989  // AsConcurLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10990  func (absls AzureBlobStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 10991  	return nil, false
 10992  }
 10993  
 10994  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 10995  func (absls AzureBlobStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 10996  	return nil, false
 10997  }
 10998  
 10999  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11000  func (absls AzureBlobStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 11001  	return nil, false
 11002  }
 11003  
 11004  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11005  func (absls AzureBlobStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 11006  	return nil, false
 11007  }
 11008  
 11009  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11010  func (absls AzureBlobStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 11011  	return nil, false
 11012  }
 11013  
 11014  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11015  func (absls AzureBlobStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 11016  	return nil, false
 11017  }
 11018  
 11019  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11020  func (absls AzureBlobStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 11021  	return nil, false
 11022  }
 11023  
 11024  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11025  func (absls AzureBlobStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 11026  	return nil, false
 11027  }
 11028  
 11029  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11030  func (absls AzureBlobStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 11031  	return nil, false
 11032  }
 11033  
 11034  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11035  func (absls AzureBlobStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 11036  	return nil, false
 11037  }
 11038  
 11039  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11040  func (absls AzureBlobStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 11041  	return nil, false
 11042  }
 11043  
 11044  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11045  func (absls AzureBlobStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 11046  	return nil, false
 11047  }
 11048  
 11049  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11050  func (absls AzureBlobStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 11051  	return nil, false
 11052  }
 11053  
 11054  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11055  func (absls AzureBlobStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 11056  	return nil, false
 11057  }
 11058  
 11059  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11060  func (absls AzureBlobStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 11061  	return nil, false
 11062  }
 11063  
 11064  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11065  func (absls AzureBlobStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 11066  	return nil, false
 11067  }
 11068  
 11069  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11070  func (absls AzureBlobStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 11071  	return nil, false
 11072  }
 11073  
 11074  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11075  func (absls AzureBlobStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 11076  	return nil, false
 11077  }
 11078  
 11079  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11080  func (absls AzureBlobStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 11081  	return nil, false
 11082  }
 11083  
 11084  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11085  func (absls AzureBlobStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 11086  	return nil, false
 11087  }
 11088  
 11089  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11090  func (absls AzureBlobStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 11091  	return nil, false
 11092  }
 11093  
 11094  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11095  func (absls AzureBlobStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 11096  	return nil, false
 11097  }
 11098  
 11099  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11100  func (absls AzureBlobStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 11101  	return nil, false
 11102  }
 11103  
 11104  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11105  func (absls AzureBlobStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 11106  	return nil, false
 11107  }
 11108  
 11109  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11110  func (absls AzureBlobStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 11111  	return nil, false
 11112  }
 11113  
 11114  // AsWebLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11115  func (absls AzureBlobStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 11116  	return nil, false
 11117  }
 11118  
 11119  // AsODataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11120  func (absls AzureBlobStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 11121  	return nil, false
 11122  }
 11123  
 11124  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11125  func (absls AzureBlobStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 11126  	return nil, false
 11127  }
 11128  
 11129  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11130  func (absls AzureBlobStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 11131  	return nil, false
 11132  }
 11133  
 11134  // AsInformixLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11135  func (absls AzureBlobStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 11136  	return nil, false
 11137  }
 11138  
 11139  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11140  func (absls AzureBlobStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 11141  	return nil, false
 11142  }
 11143  
 11144  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11145  func (absls AzureBlobStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 11146  	return nil, false
 11147  }
 11148  
 11149  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11150  func (absls AzureBlobStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 11151  	return nil, false
 11152  }
 11153  
 11154  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11155  func (absls AzureBlobStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 11156  	return nil, false
 11157  }
 11158  
 11159  // AsDb2LinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11160  func (absls AzureBlobStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 11161  	return nil, false
 11162  }
 11163  
 11164  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11165  func (absls AzureBlobStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 11166  	return nil, false
 11167  }
 11168  
 11169  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11170  func (absls AzureBlobStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 11171  	return nil, false
 11172  }
 11173  
 11174  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11175  func (absls AzureBlobStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 11176  	return nil, false
 11177  }
 11178  
 11179  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11180  func (absls AzureBlobStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 11181  	return nil, false
 11182  }
 11183  
 11184  // AsOracleLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11185  func (absls AzureBlobStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 11186  	return nil, false
 11187  }
 11188  
 11189  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11190  func (absls AzureBlobStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 11191  	return nil, false
 11192  }
 11193  
 11194  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11195  func (absls AzureBlobStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 11196  	return nil, false
 11197  }
 11198  
 11199  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11200  func (absls AzureBlobStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 11201  	return nil, false
 11202  }
 11203  
 11204  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11205  func (absls AzureBlobStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 11206  	return nil, false
 11207  }
 11208  
 11209  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11210  func (absls AzureBlobStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 11211  	return nil, false
 11212  }
 11213  
 11214  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11215  func (absls AzureBlobStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 11216  	return nil, false
 11217  }
 11218  
 11219  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11220  func (absls AzureBlobStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 11221  	return nil, false
 11222  }
 11223  
 11224  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11225  func (absls AzureBlobStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 11226  	return nil, false
 11227  }
 11228  
 11229  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11230  func (absls AzureBlobStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 11231  	return nil, false
 11232  }
 11233  
 11234  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11235  func (absls AzureBlobStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 11236  	return nil, false
 11237  }
 11238  
 11239  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11240  func (absls AzureBlobStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 11241  	return nil, false
 11242  }
 11243  
 11244  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11245  func (absls AzureBlobStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 11246  	return nil, false
 11247  }
 11248  
 11249  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11250  func (absls AzureBlobStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 11251  	return nil, false
 11252  }
 11253  
 11254  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11255  func (absls AzureBlobStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 11256  	return nil, false
 11257  }
 11258  
 11259  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11260  func (absls AzureBlobStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 11261  	return nil, false
 11262  }
 11263  
 11264  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11265  func (absls AzureBlobStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 11266  	return &absls, true
 11267  }
 11268  
 11269  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11270  func (absls AzureBlobStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 11271  	return nil, false
 11272  }
 11273  
 11274  // AsLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11275  func (absls AzureBlobStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
 11276  	return nil, false
 11277  }
 11278  
 11279  // AsBasicLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService.
 11280  func (absls AzureBlobStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 11281  	return &absls, true
 11282  }
 11283  
 11284  // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedService struct.
 11285  func (absls *AzureBlobStorageLinkedService) UnmarshalJSON(body []byte) error {
 11286  	var m map[string]*json.RawMessage
 11287  	err := json.Unmarshal(body, &m)
 11288  	if err != nil {
 11289  		return err
 11290  	}
 11291  	for k, v := range m {
 11292  		switch k {
 11293  		case "typeProperties":
 11294  			if v != nil {
 11295  				var azureBlobStorageLinkedServiceTypeProperties AzureBlobStorageLinkedServiceTypeProperties
 11296  				err = json.Unmarshal(*v, &azureBlobStorageLinkedServiceTypeProperties)
 11297  				if err != nil {
 11298  					return err
 11299  				}
 11300  				absls.AzureBlobStorageLinkedServiceTypeProperties = &azureBlobStorageLinkedServiceTypeProperties
 11301  			}
 11302  		default:
 11303  			if v != nil {
 11304  				var additionalProperties interface{}
 11305  				err = json.Unmarshal(*v, &additionalProperties)
 11306  				if err != nil {
 11307  					return err
 11308  				}
 11309  				if absls.AdditionalProperties == nil {
 11310  					absls.AdditionalProperties = make(map[string]interface{})
 11311  				}
 11312  				absls.AdditionalProperties[k] = additionalProperties
 11313  			}
 11314  		case "connectVia":
 11315  			if v != nil {
 11316  				var connectVia IntegrationRuntimeReference
 11317  				err = json.Unmarshal(*v, &connectVia)
 11318  				if err != nil {
 11319  					return err
 11320  				}
 11321  				absls.ConnectVia = &connectVia
 11322  			}
 11323  		case "description":
 11324  			if v != nil {
 11325  				var description string
 11326  				err = json.Unmarshal(*v, &description)
 11327  				if err != nil {
 11328  					return err
 11329  				}
 11330  				absls.Description = &description
 11331  			}
 11332  		case "parameters":
 11333  			if v != nil {
 11334  				var parameters map[string]*ParameterSpecification
 11335  				err = json.Unmarshal(*v, &parameters)
 11336  				if err != nil {
 11337  					return err
 11338  				}
 11339  				absls.Parameters = parameters
 11340  			}
 11341  		case "annotations":
 11342  			if v != nil {
 11343  				var annotations []interface{}
 11344  				err = json.Unmarshal(*v, &annotations)
 11345  				if err != nil {
 11346  					return err
 11347  				}
 11348  				absls.Annotations = &annotations
 11349  			}
 11350  		case "type":
 11351  			if v != nil {
 11352  				var typeVar TypeBasicLinkedService
 11353  				err = json.Unmarshal(*v, &typeVar)
 11354  				if err != nil {
 11355  					return err
 11356  				}
 11357  				absls.Type = typeVar
 11358  			}
 11359  		}
 11360  	}
 11361  
 11362  	return nil
 11363  }
 11364  
 11365  // AzureBlobStorageLinkedServiceTypeProperties azure Blob Storage linked service properties.
 11366  type AzureBlobStorageLinkedServiceTypeProperties struct {
 11367  	// ConnectionString - The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
 11368  	ConnectionString interface{} `json:"connectionString,omitempty"`
 11369  	// AccountKey - The Azure key vault secret reference of accountKey in connection string.
 11370  	AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"`
 11371  	// SasURI - SAS URI of the Azure Blob Storage resource. It is mutually exclusive with connectionString, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
 11372  	SasURI interface{} `json:"sasUri,omitempty"`
 11373  	// SasToken - The Azure key vault secret reference of sasToken in sas uri.
 11374  	SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"`
 11375  	// ServiceEndpoint - Blob service endpoint of the Azure Blob Storage resource. It is mutually exclusive with connectionString, sasUri property.
 11376  	ServiceEndpoint *string `json:"serviceEndpoint,omitempty"`
 11377  	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
 11378  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 11379  	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
 11380  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 11381  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 11382  	Tenant interface{} `json:"tenant,omitempty"`
 11383  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 11384  	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
 11385  }
 11386  
 11387  // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLinkedServiceTypeProperties struct.
 11388  func (abslstp *AzureBlobStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 11389  	var m map[string]*json.RawMessage
 11390  	err := json.Unmarshal(body, &m)
 11391  	if err != nil {
 11392  		return err
 11393  	}
 11394  	for k, v := range m {
 11395  		switch k {
 11396  		case "connectionString":
 11397  			if v != nil {
 11398  				var connectionString interface{}
 11399  				err = json.Unmarshal(*v, &connectionString)
 11400  				if err != nil {
 11401  					return err
 11402  				}
 11403  				abslstp.ConnectionString = connectionString
 11404  			}
 11405  		case "accountKey":
 11406  			if v != nil {
 11407  				var accountKey AzureKeyVaultSecretReference
 11408  				err = json.Unmarshal(*v, &accountKey)
 11409  				if err != nil {
 11410  					return err
 11411  				}
 11412  				abslstp.AccountKey = &accountKey
 11413  			}
 11414  		case "sasUri":
 11415  			if v != nil {
 11416  				var sasURI interface{}
 11417  				err = json.Unmarshal(*v, &sasURI)
 11418  				if err != nil {
 11419  					return err
 11420  				}
 11421  				abslstp.SasURI = sasURI
 11422  			}
 11423  		case "sasToken":
 11424  			if v != nil {
 11425  				var sasToken AzureKeyVaultSecretReference
 11426  				err = json.Unmarshal(*v, &sasToken)
 11427  				if err != nil {
 11428  					return err
 11429  				}
 11430  				abslstp.SasToken = &sasToken
 11431  			}
 11432  		case "serviceEndpoint":
 11433  			if v != nil {
 11434  				var serviceEndpoint string
 11435  				err = json.Unmarshal(*v, &serviceEndpoint)
 11436  				if err != nil {
 11437  					return err
 11438  				}
 11439  				abslstp.ServiceEndpoint = &serviceEndpoint
 11440  			}
 11441  		case "servicePrincipalId":
 11442  			if v != nil {
 11443  				var servicePrincipalID interface{}
 11444  				err = json.Unmarshal(*v, &servicePrincipalID)
 11445  				if err != nil {
 11446  					return err
 11447  				}
 11448  				abslstp.ServicePrincipalID = servicePrincipalID
 11449  			}
 11450  		case "servicePrincipalKey":
 11451  			if v != nil {
 11452  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 11453  				if err != nil {
 11454  					return err
 11455  				}
 11456  				abslstp.ServicePrincipalKey = servicePrincipalKey
 11457  			}
 11458  		case "tenant":
 11459  			if v != nil {
 11460  				var tenant interface{}
 11461  				err = json.Unmarshal(*v, &tenant)
 11462  				if err != nil {
 11463  					return err
 11464  				}
 11465  				abslstp.Tenant = tenant
 11466  			}
 11467  		case "encryptedCredential":
 11468  			if v != nil {
 11469  				var encryptedCredential string
 11470  				err = json.Unmarshal(*v, &encryptedCredential)
 11471  				if err != nil {
 11472  					return err
 11473  				}
 11474  				abslstp.EncryptedCredential = &encryptedCredential
 11475  			}
 11476  		}
 11477  	}
 11478  
 11479  	return nil
 11480  }
 11481  
 11482  // AzureBlobStorageLocation the location of azure blob dataset.
 11483  type AzureBlobStorageLocation struct {
 11484  	// Container - Specify the container of azure blob. Type: string (or Expression with resultType string).
 11485  	Container interface{} `json:"container,omitempty"`
 11486  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 11487  	AdditionalProperties map[string]interface{} `json:""`
 11488  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 11489  	FolderPath interface{} `json:"folderPath,omitempty"`
 11490  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 11491  	FileName interface{} `json:"fileName,omitempty"`
 11492  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 11493  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 11494  }
 11495  
 11496  // MarshalJSON is the custom marshaler for AzureBlobStorageLocation.
 11497  func (absl AzureBlobStorageLocation) MarshalJSON() ([]byte, error) {
 11498  	absl.Type = TypeAzureBlobStorageLocation
 11499  	objectMap := make(map[string]interface{})
 11500  	if absl.Container != nil {
 11501  		objectMap["container"] = absl.Container
 11502  	}
 11503  	if absl.FolderPath != nil {
 11504  		objectMap["folderPath"] = absl.FolderPath
 11505  	}
 11506  	if absl.FileName != nil {
 11507  		objectMap["fileName"] = absl.FileName
 11508  	}
 11509  	if absl.Type != "" {
 11510  		objectMap["type"] = absl.Type
 11511  	}
 11512  	for k, v := range absl.AdditionalProperties {
 11513  		objectMap[k] = v
 11514  	}
 11515  	return json.Marshal(objectMap)
 11516  }
 11517  
 11518  // AsHdfsLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11519  func (absl AzureBlobStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 11520  	return nil, false
 11521  }
 11522  
 11523  // AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11524  func (absl AzureBlobStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 11525  	return nil, false
 11526  }
 11527  
 11528  // AsSftpLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11529  func (absl AzureBlobStorageLocation) AsSftpLocation() (*SftpLocation, bool) {
 11530  	return nil, false
 11531  }
 11532  
 11533  // AsFtpServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11534  func (absl AzureBlobStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 11535  	return nil, false
 11536  }
 11537  
 11538  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11539  func (absl AzureBlobStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 11540  	return nil, false
 11541  }
 11542  
 11543  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11544  func (absl AzureBlobStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 11545  	return nil, false
 11546  }
 11547  
 11548  // AsFileServerLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11549  func (absl AzureBlobStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 11550  	return nil, false
 11551  }
 11552  
 11553  // AsAmazonS3Location is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11554  func (absl AzureBlobStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 11555  	return nil, false
 11556  }
 11557  
 11558  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11559  func (absl AzureBlobStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 11560  	return nil, false
 11561  }
 11562  
 11563  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11564  func (absl AzureBlobStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 11565  	return nil, false
 11566  }
 11567  
 11568  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11569  func (absl AzureBlobStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 11570  	return &absl, true
 11571  }
 11572  
 11573  // AsDatasetLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11574  func (absl AzureBlobStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 11575  	return nil, false
 11576  }
 11577  
 11578  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureBlobStorageLocation.
 11579  func (absl AzureBlobStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 11580  	return &absl, true
 11581  }
 11582  
 11583  // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageLocation struct.
 11584  func (absl *AzureBlobStorageLocation) UnmarshalJSON(body []byte) error {
 11585  	var m map[string]*json.RawMessage
 11586  	err := json.Unmarshal(body, &m)
 11587  	if err != nil {
 11588  		return err
 11589  	}
 11590  	for k, v := range m {
 11591  		switch k {
 11592  		case "container":
 11593  			if v != nil {
 11594  				var containerVar interface{}
 11595  				err = json.Unmarshal(*v, &containerVar)
 11596  				if err != nil {
 11597  					return err
 11598  				}
 11599  				absl.Container = containerVar
 11600  			}
 11601  		default:
 11602  			if v != nil {
 11603  				var additionalProperties interface{}
 11604  				err = json.Unmarshal(*v, &additionalProperties)
 11605  				if err != nil {
 11606  					return err
 11607  				}
 11608  				if absl.AdditionalProperties == nil {
 11609  					absl.AdditionalProperties = make(map[string]interface{})
 11610  				}
 11611  				absl.AdditionalProperties[k] = additionalProperties
 11612  			}
 11613  		case "folderPath":
 11614  			if v != nil {
 11615  				var folderPath interface{}
 11616  				err = json.Unmarshal(*v, &folderPath)
 11617  				if err != nil {
 11618  					return err
 11619  				}
 11620  				absl.FolderPath = folderPath
 11621  			}
 11622  		case "fileName":
 11623  			if v != nil {
 11624  				var fileName interface{}
 11625  				err = json.Unmarshal(*v, &fileName)
 11626  				if err != nil {
 11627  					return err
 11628  				}
 11629  				absl.FileName = fileName
 11630  			}
 11631  		case "type":
 11632  			if v != nil {
 11633  				var typeVar TypeBasicDatasetLocation
 11634  				err = json.Unmarshal(*v, &typeVar)
 11635  				if err != nil {
 11636  					return err
 11637  				}
 11638  				absl.Type = typeVar
 11639  			}
 11640  		}
 11641  	}
 11642  
 11643  	return nil
 11644  }
 11645  
 11646  // AzureBlobStorageReadSettings azure blob read settings.
 11647  type AzureBlobStorageReadSettings struct {
 11648  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 11649  	Recursive interface{} `json:"recursive,omitempty"`
 11650  	// WildcardFolderPath - Azure blob wildcardFolderPath. Type: string (or Expression with resultType string).
 11651  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 11652  	// WildcardFileName - Azure blob wildcardFileName. Type: string (or Expression with resultType string).
 11653  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 11654  	// Prefix - The prefix filter for the Azure Blob name. Type: string (or Expression with resultType string).
 11655  	Prefix interface{} `json:"prefix,omitempty"`
 11656  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 11657  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 11658  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 11659  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 11660  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 11661  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 11662  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 11663  	AdditionalProperties map[string]interface{} `json:""`
 11664  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 11665  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 11666  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 11667  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 11668  }
 11669  
 11670  // MarshalJSON is the custom marshaler for AzureBlobStorageReadSettings.
 11671  func (absrs AzureBlobStorageReadSettings) MarshalJSON() ([]byte, error) {
 11672  	absrs.Type = TypeAzureBlobStorageReadSettings
 11673  	objectMap := make(map[string]interface{})
 11674  	if absrs.Recursive != nil {
 11675  		objectMap["recursive"] = absrs.Recursive
 11676  	}
 11677  	if absrs.WildcardFolderPath != nil {
 11678  		objectMap["wildcardFolderPath"] = absrs.WildcardFolderPath
 11679  	}
 11680  	if absrs.WildcardFileName != nil {
 11681  		objectMap["wildcardFileName"] = absrs.WildcardFileName
 11682  	}
 11683  	if absrs.Prefix != nil {
 11684  		objectMap["prefix"] = absrs.Prefix
 11685  	}
 11686  	if absrs.EnablePartitionDiscovery != nil {
 11687  		objectMap["enablePartitionDiscovery"] = absrs.EnablePartitionDiscovery
 11688  	}
 11689  	if absrs.ModifiedDatetimeStart != nil {
 11690  		objectMap["modifiedDatetimeStart"] = absrs.ModifiedDatetimeStart
 11691  	}
 11692  	if absrs.ModifiedDatetimeEnd != nil {
 11693  		objectMap["modifiedDatetimeEnd"] = absrs.ModifiedDatetimeEnd
 11694  	}
 11695  	if absrs.MaxConcurrentConnections != nil {
 11696  		objectMap["maxConcurrentConnections"] = absrs.MaxConcurrentConnections
 11697  	}
 11698  	if absrs.Type != "" {
 11699  		objectMap["type"] = absrs.Type
 11700  	}
 11701  	for k, v := range absrs.AdditionalProperties {
 11702  		objectMap[k] = v
 11703  	}
 11704  	return json.Marshal(objectMap)
 11705  }
 11706  
 11707  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11708  func (absrs AzureBlobStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 11709  	return nil, false
 11710  }
 11711  
 11712  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11713  func (absrs AzureBlobStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 11714  	return nil, false
 11715  }
 11716  
 11717  // AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11718  func (absrs AzureBlobStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 11719  	return nil, false
 11720  }
 11721  
 11722  // AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11723  func (absrs AzureBlobStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 11724  	return nil, false
 11725  }
 11726  
 11727  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11728  func (absrs AzureBlobStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 11729  	return nil, false
 11730  }
 11731  
 11732  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11733  func (absrs AzureBlobStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 11734  	return nil, false
 11735  }
 11736  
 11737  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11738  func (absrs AzureBlobStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 11739  	return nil, false
 11740  }
 11741  
 11742  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11743  func (absrs AzureBlobStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 11744  	return nil, false
 11745  }
 11746  
 11747  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11748  func (absrs AzureBlobStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 11749  	return nil, false
 11750  }
 11751  
 11752  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11753  func (absrs AzureBlobStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 11754  	return nil, false
 11755  }
 11756  
 11757  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11758  func (absrs AzureBlobStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 11759  	return &absrs, true
 11760  }
 11761  
 11762  // AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11763  func (absrs AzureBlobStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 11764  	return nil, false
 11765  }
 11766  
 11767  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureBlobStorageReadSettings.
 11768  func (absrs AzureBlobStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 11769  	return &absrs, true
 11770  }
 11771  
 11772  // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageReadSettings struct.
 11773  func (absrs *AzureBlobStorageReadSettings) UnmarshalJSON(body []byte) error {
 11774  	var m map[string]*json.RawMessage
 11775  	err := json.Unmarshal(body, &m)
 11776  	if err != nil {
 11777  		return err
 11778  	}
 11779  	for k, v := range m {
 11780  		switch k {
 11781  		case "recursive":
 11782  			if v != nil {
 11783  				var recursive interface{}
 11784  				err = json.Unmarshal(*v, &recursive)
 11785  				if err != nil {
 11786  					return err
 11787  				}
 11788  				absrs.Recursive = recursive
 11789  			}
 11790  		case "wildcardFolderPath":
 11791  			if v != nil {
 11792  				var wildcardFolderPath interface{}
 11793  				err = json.Unmarshal(*v, &wildcardFolderPath)
 11794  				if err != nil {
 11795  					return err
 11796  				}
 11797  				absrs.WildcardFolderPath = wildcardFolderPath
 11798  			}
 11799  		case "wildcardFileName":
 11800  			if v != nil {
 11801  				var wildcardFileName interface{}
 11802  				err = json.Unmarshal(*v, &wildcardFileName)
 11803  				if err != nil {
 11804  					return err
 11805  				}
 11806  				absrs.WildcardFileName = wildcardFileName
 11807  			}
 11808  		case "prefix":
 11809  			if v != nil {
 11810  				var prefix interface{}
 11811  				err = json.Unmarshal(*v, &prefix)
 11812  				if err != nil {
 11813  					return err
 11814  				}
 11815  				absrs.Prefix = prefix
 11816  			}
 11817  		case "enablePartitionDiscovery":
 11818  			if v != nil {
 11819  				var enablePartitionDiscovery bool
 11820  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 11821  				if err != nil {
 11822  					return err
 11823  				}
 11824  				absrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 11825  			}
 11826  		case "modifiedDatetimeStart":
 11827  			if v != nil {
 11828  				var modifiedDatetimeStart interface{}
 11829  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 11830  				if err != nil {
 11831  					return err
 11832  				}
 11833  				absrs.ModifiedDatetimeStart = modifiedDatetimeStart
 11834  			}
 11835  		case "modifiedDatetimeEnd":
 11836  			if v != nil {
 11837  				var modifiedDatetimeEnd interface{}
 11838  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 11839  				if err != nil {
 11840  					return err
 11841  				}
 11842  				absrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 11843  			}
 11844  		default:
 11845  			if v != nil {
 11846  				var additionalProperties interface{}
 11847  				err = json.Unmarshal(*v, &additionalProperties)
 11848  				if err != nil {
 11849  					return err
 11850  				}
 11851  				if absrs.AdditionalProperties == nil {
 11852  					absrs.AdditionalProperties = make(map[string]interface{})
 11853  				}
 11854  				absrs.AdditionalProperties[k] = additionalProperties
 11855  			}
 11856  		case "maxConcurrentConnections":
 11857  			if v != nil {
 11858  				var maxConcurrentConnections interface{}
 11859  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 11860  				if err != nil {
 11861  					return err
 11862  				}
 11863  				absrs.MaxConcurrentConnections = maxConcurrentConnections
 11864  			}
 11865  		case "type":
 11866  			if v != nil {
 11867  				var typeVar TypeBasicStoreReadSettings
 11868  				err = json.Unmarshal(*v, &typeVar)
 11869  				if err != nil {
 11870  					return err
 11871  				}
 11872  				absrs.Type = typeVar
 11873  			}
 11874  		}
 11875  	}
 11876  
 11877  	return nil
 11878  }
 11879  
 11880  // AzureBlobStorageWriteSettings azure blob write settings.
 11881  type AzureBlobStorageWriteSettings struct {
 11882  	// BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer).
 11883  	BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"`
 11884  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 11885  	AdditionalProperties map[string]interface{} `json:""`
 11886  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 11887  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 11888  	// CopyBehavior - The type of copy behavior for copy sink.
 11889  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 11890  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
 11891  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
 11892  }
 11893  
 11894  // MarshalJSON is the custom marshaler for AzureBlobStorageWriteSettings.
 11895  func (absws AzureBlobStorageWriteSettings) MarshalJSON() ([]byte, error) {
 11896  	absws.Type = TypeAzureBlobStorageWriteSettings
 11897  	objectMap := make(map[string]interface{})
 11898  	if absws.BlockSizeInMB != nil {
 11899  		objectMap["blockSizeInMB"] = absws.BlockSizeInMB
 11900  	}
 11901  	if absws.MaxConcurrentConnections != nil {
 11902  		objectMap["maxConcurrentConnections"] = absws.MaxConcurrentConnections
 11903  	}
 11904  	if absws.CopyBehavior != nil {
 11905  		objectMap["copyBehavior"] = absws.CopyBehavior
 11906  	}
 11907  	if absws.Type != "" {
 11908  		objectMap["type"] = absws.Type
 11909  	}
 11910  	for k, v := range absws.AdditionalProperties {
 11911  		objectMap[k] = v
 11912  	}
 11913  	return json.Marshal(objectMap)
 11914  }
 11915  
 11916  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11917  func (absws AzureBlobStorageWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
 11918  	return nil, false
 11919  }
 11920  
 11921  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11922  func (absws AzureBlobStorageWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
 11923  	return nil, false
 11924  }
 11925  
 11926  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11927  func (absws AzureBlobStorageWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
 11928  	return nil, false
 11929  }
 11930  
 11931  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11932  func (absws AzureBlobStorageWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
 11933  	return &absws, true
 11934  }
 11935  
 11936  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11937  func (absws AzureBlobStorageWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
 11938  	return nil, false
 11939  }
 11940  
 11941  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11942  func (absws AzureBlobStorageWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
 11943  	return nil, false
 11944  }
 11945  
 11946  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings.
 11947  func (absws AzureBlobStorageWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
 11948  	return &absws, true
 11949  }
 11950  
 11951  // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageWriteSettings struct.
 11952  func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error {
 11953  	var m map[string]*json.RawMessage
 11954  	err := json.Unmarshal(body, &m)
 11955  	if err != nil {
 11956  		return err
 11957  	}
 11958  	for k, v := range m {
 11959  		switch k {
 11960  		case "blockSizeInMB":
 11961  			if v != nil {
 11962  				var blockSizeInMB interface{}
 11963  				err = json.Unmarshal(*v, &blockSizeInMB)
 11964  				if err != nil {
 11965  					return err
 11966  				}
 11967  				absws.BlockSizeInMB = blockSizeInMB
 11968  			}
 11969  		default:
 11970  			if v != nil {
 11971  				var additionalProperties interface{}
 11972  				err = json.Unmarshal(*v, &additionalProperties)
 11973  				if err != nil {
 11974  					return err
 11975  				}
 11976  				if absws.AdditionalProperties == nil {
 11977  					absws.AdditionalProperties = make(map[string]interface{})
 11978  				}
 11979  				absws.AdditionalProperties[k] = additionalProperties
 11980  			}
 11981  		case "maxConcurrentConnections":
 11982  			if v != nil {
 11983  				var maxConcurrentConnections interface{}
 11984  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 11985  				if err != nil {
 11986  					return err
 11987  				}
 11988  				absws.MaxConcurrentConnections = maxConcurrentConnections
 11989  			}
 11990  		case "copyBehavior":
 11991  			if v != nil {
 11992  				var copyBehavior interface{}
 11993  				err = json.Unmarshal(*v, &copyBehavior)
 11994  				if err != nil {
 11995  					return err
 11996  				}
 11997  				absws.CopyBehavior = copyBehavior
 11998  			}
 11999  		case "type":
 12000  			if v != nil {
 12001  				var typeVar TypeBasicStoreWriteSettings
 12002  				err = json.Unmarshal(*v, &typeVar)
 12003  				if err != nil {
 12004  					return err
 12005  				}
 12006  				absws.Type = typeVar
 12007  			}
 12008  		}
 12009  	}
 12010  
 12011  	return nil
 12012  }
 12013  
 12014  // AzureDatabricksLinkedService azure Databricks linked service.
 12015  type AzureDatabricksLinkedService struct {
 12016  	// AzureDatabricksLinkedServiceTypeProperties - Azure Databricks linked service properties.
 12017  	*AzureDatabricksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 12018  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 12019  	AdditionalProperties map[string]interface{} `json:""`
 12020  	// ConnectVia - The integration runtime reference.
 12021  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 12022  	// Description - Linked service description.
 12023  	Description *string `json:"description,omitempty"`
 12024  	// Parameters - Parameters for linked service.
 12025  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 12026  	// Annotations - List of tags that can be used for describing the linked service.
 12027  	Annotations *[]interface{} `json:"annotations,omitempty"`
 12028  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 12029  	Type TypeBasicLinkedService `json:"type,omitempty"`
 12030  }
 12031  
 12032  // MarshalJSON is the custom marshaler for AzureDatabricksLinkedService.
 12033  func (adls AzureDatabricksLinkedService) MarshalJSON() ([]byte, error) {
 12034  	adls.Type = TypeAzureDatabricks
 12035  	objectMap := make(map[string]interface{})
 12036  	if adls.AzureDatabricksLinkedServiceTypeProperties != nil {
 12037  		objectMap["typeProperties"] = adls.AzureDatabricksLinkedServiceTypeProperties
 12038  	}
 12039  	if adls.ConnectVia != nil {
 12040  		objectMap["connectVia"] = adls.ConnectVia
 12041  	}
 12042  	if adls.Description != nil {
 12043  		objectMap["description"] = adls.Description
 12044  	}
 12045  	if adls.Parameters != nil {
 12046  		objectMap["parameters"] = adls.Parameters
 12047  	}
 12048  	if adls.Annotations != nil {
 12049  		objectMap["annotations"] = adls.Annotations
 12050  	}
 12051  	if adls.Type != "" {
 12052  		objectMap["type"] = adls.Type
 12053  	}
 12054  	for k, v := range adls.AdditionalProperties {
 12055  		objectMap[k] = v
 12056  	}
 12057  	return json.Marshal(objectMap)
 12058  }
 12059  
 12060  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12061  func (adls AzureDatabricksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 12062  	return nil, false
 12063  }
 12064  
 12065  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12066  func (adls AzureDatabricksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 12067  	return nil, false
 12068  }
 12069  
 12070  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12071  func (adls AzureDatabricksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 12072  	return nil, false
 12073  }
 12074  
 12075  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12076  func (adls AzureDatabricksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 12077  	return nil, false
 12078  }
 12079  
 12080  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12081  func (adls AzureDatabricksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 12082  	return nil, false
 12083  }
 12084  
 12085  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12086  func (adls AzureDatabricksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 12087  	return nil, false
 12088  }
 12089  
 12090  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12091  func (adls AzureDatabricksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 12092  	return nil, false
 12093  }
 12094  
 12095  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12096  func (adls AzureDatabricksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 12097  	return &adls, true
 12098  }
 12099  
 12100  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12101  func (adls AzureDatabricksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 12102  	return nil, false
 12103  }
 12104  
 12105  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12106  func (adls AzureDatabricksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 12107  	return nil, false
 12108  }
 12109  
 12110  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12111  func (adls AzureDatabricksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 12112  	return nil, false
 12113  }
 12114  
 12115  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12116  func (adls AzureDatabricksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 12117  	return nil, false
 12118  }
 12119  
 12120  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12121  func (adls AzureDatabricksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 12122  	return nil, false
 12123  }
 12124  
 12125  // AsZohoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12126  func (adls AzureDatabricksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 12127  	return nil, false
 12128  }
 12129  
 12130  // AsXeroLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12131  func (adls AzureDatabricksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 12132  	return nil, false
 12133  }
 12134  
 12135  // AsSquareLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12136  func (adls AzureDatabricksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 12137  	return nil, false
 12138  }
 12139  
 12140  // AsSparkLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12141  func (adls AzureDatabricksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 12142  	return nil, false
 12143  }
 12144  
 12145  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12146  func (adls AzureDatabricksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 12147  	return nil, false
 12148  }
 12149  
 12150  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12151  func (adls AzureDatabricksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 12152  	return nil, false
 12153  }
 12154  
 12155  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12156  func (adls AzureDatabricksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 12157  	return nil, false
 12158  }
 12159  
 12160  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12161  func (adls AzureDatabricksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 12162  	return nil, false
 12163  }
 12164  
 12165  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12166  func (adls AzureDatabricksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 12167  	return nil, false
 12168  }
 12169  
 12170  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12171  func (adls AzureDatabricksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 12172  	return nil, false
 12173  }
 12174  
 12175  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12176  func (adls AzureDatabricksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 12177  	return nil, false
 12178  }
 12179  
 12180  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12181  func (adls AzureDatabricksLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 12182  	return nil, false
 12183  }
 12184  
 12185  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12186  func (adls AzureDatabricksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 12187  	return nil, false
 12188  }
 12189  
 12190  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12191  func (adls AzureDatabricksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 12192  	return nil, false
 12193  }
 12194  
 12195  // AsJiraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12196  func (adls AzureDatabricksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 12197  	return nil, false
 12198  }
 12199  
 12200  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12201  func (adls AzureDatabricksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 12202  	return nil, false
 12203  }
 12204  
 12205  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12206  func (adls AzureDatabricksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 12207  	return nil, false
 12208  }
 12209  
 12210  // AsHiveLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12211  func (adls AzureDatabricksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 12212  	return nil, false
 12213  }
 12214  
 12215  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12216  func (adls AzureDatabricksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 12217  	return nil, false
 12218  }
 12219  
 12220  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12221  func (adls AzureDatabricksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 12222  	return nil, false
 12223  }
 12224  
 12225  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12226  func (adls AzureDatabricksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 12227  	return nil, false
 12228  }
 12229  
 12230  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12231  func (adls AzureDatabricksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 12232  	return nil, false
 12233  }
 12234  
 12235  // AsDrillLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12236  func (adls AzureDatabricksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 12237  	return nil, false
 12238  }
 12239  
 12240  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12241  func (adls AzureDatabricksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 12242  	return nil, false
 12243  }
 12244  
 12245  // AsConcurLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12246  func (adls AzureDatabricksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 12247  	return nil, false
 12248  }
 12249  
 12250  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12251  func (adls AzureDatabricksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 12252  	return nil, false
 12253  }
 12254  
 12255  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12256  func (adls AzureDatabricksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 12257  	return nil, false
 12258  }
 12259  
 12260  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12261  func (adls AzureDatabricksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 12262  	return nil, false
 12263  }
 12264  
 12265  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12266  func (adls AzureDatabricksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 12267  	return nil, false
 12268  }
 12269  
 12270  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12271  func (adls AzureDatabricksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 12272  	return nil, false
 12273  }
 12274  
 12275  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12276  func (adls AzureDatabricksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 12277  	return nil, false
 12278  }
 12279  
 12280  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12281  func (adls AzureDatabricksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 12282  	return nil, false
 12283  }
 12284  
 12285  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12286  func (adls AzureDatabricksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 12287  	return nil, false
 12288  }
 12289  
 12290  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12291  func (adls AzureDatabricksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 12292  	return nil, false
 12293  }
 12294  
 12295  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12296  func (adls AzureDatabricksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 12297  	return nil, false
 12298  }
 12299  
 12300  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12301  func (adls AzureDatabricksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 12302  	return nil, false
 12303  }
 12304  
 12305  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12306  func (adls AzureDatabricksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 12307  	return nil, false
 12308  }
 12309  
 12310  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12311  func (adls AzureDatabricksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 12312  	return nil, false
 12313  }
 12314  
 12315  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12316  func (adls AzureDatabricksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 12317  	return nil, false
 12318  }
 12319  
 12320  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12321  func (adls AzureDatabricksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 12322  	return nil, false
 12323  }
 12324  
 12325  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12326  func (adls AzureDatabricksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 12327  	return nil, false
 12328  }
 12329  
 12330  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12331  func (adls AzureDatabricksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 12332  	return nil, false
 12333  }
 12334  
 12335  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12336  func (adls AzureDatabricksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 12337  	return nil, false
 12338  }
 12339  
 12340  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12341  func (adls AzureDatabricksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 12342  	return nil, false
 12343  }
 12344  
 12345  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12346  func (adls AzureDatabricksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 12347  	return nil, false
 12348  }
 12349  
 12350  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12351  func (adls AzureDatabricksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 12352  	return nil, false
 12353  }
 12354  
 12355  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12356  func (adls AzureDatabricksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 12357  	return nil, false
 12358  }
 12359  
 12360  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12361  func (adls AzureDatabricksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 12362  	return nil, false
 12363  }
 12364  
 12365  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12366  func (adls AzureDatabricksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 12367  	return nil, false
 12368  }
 12369  
 12370  // AsWebLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12371  func (adls AzureDatabricksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 12372  	return nil, false
 12373  }
 12374  
 12375  // AsODataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12376  func (adls AzureDatabricksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 12377  	return nil, false
 12378  }
 12379  
 12380  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12381  func (adls AzureDatabricksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 12382  	return nil, false
 12383  }
 12384  
 12385  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12386  func (adls AzureDatabricksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 12387  	return nil, false
 12388  }
 12389  
 12390  // AsInformixLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12391  func (adls AzureDatabricksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 12392  	return nil, false
 12393  }
 12394  
 12395  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12396  func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 12397  	return nil, false
 12398  }
 12399  
 12400  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12401  func (adls AzureDatabricksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 12402  	return nil, false
 12403  }
 12404  
 12405  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12406  func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 12407  	return nil, false
 12408  }
 12409  
 12410  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12411  func (adls AzureDatabricksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 12412  	return nil, false
 12413  }
 12414  
 12415  // AsDb2LinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12416  func (adls AzureDatabricksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 12417  	return nil, false
 12418  }
 12419  
 12420  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12421  func (adls AzureDatabricksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 12422  	return nil, false
 12423  }
 12424  
 12425  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12426  func (adls AzureDatabricksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 12427  	return nil, false
 12428  }
 12429  
 12430  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12431  func (adls AzureDatabricksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 12432  	return nil, false
 12433  }
 12434  
 12435  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12436  func (adls AzureDatabricksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 12437  	return nil, false
 12438  }
 12439  
 12440  // AsOracleLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12441  func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 12442  	return nil, false
 12443  }
 12444  
 12445  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12446  func (adls AzureDatabricksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 12447  	return nil, false
 12448  }
 12449  
 12450  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12451  func (adls AzureDatabricksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 12452  	return nil, false
 12453  }
 12454  
 12455  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12456  func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 12457  	return nil, false
 12458  }
 12459  
 12460  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12461  func (adls AzureDatabricksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 12462  	return nil, false
 12463  }
 12464  
 12465  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12466  func (adls AzureDatabricksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 12467  	return nil, false
 12468  }
 12469  
 12470  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12471  func (adls AzureDatabricksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 12472  	return nil, false
 12473  }
 12474  
 12475  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12476  func (adls AzureDatabricksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 12477  	return nil, false
 12478  }
 12479  
 12480  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12481  func (adls AzureDatabricksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 12482  	return nil, false
 12483  }
 12484  
 12485  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12486  func (adls AzureDatabricksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 12487  	return nil, false
 12488  }
 12489  
 12490  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12491  func (adls AzureDatabricksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 12492  	return nil, false
 12493  }
 12494  
 12495  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12496  func (adls AzureDatabricksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 12497  	return nil, false
 12498  }
 12499  
 12500  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12501  func (adls AzureDatabricksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 12502  	return nil, false
 12503  }
 12504  
 12505  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12506  func (adls AzureDatabricksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 12507  	return nil, false
 12508  }
 12509  
 12510  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12511  func (adls AzureDatabricksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 12512  	return nil, false
 12513  }
 12514  
 12515  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12516  func (adls AzureDatabricksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 12517  	return nil, false
 12518  }
 12519  
 12520  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12521  func (adls AzureDatabricksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 12522  	return nil, false
 12523  }
 12524  
 12525  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12526  func (adls AzureDatabricksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 12527  	return nil, false
 12528  }
 12529  
 12530  // AsLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12531  func (adls AzureDatabricksLinkedService) AsLinkedService() (*LinkedService, bool) {
 12532  	return nil, false
 12533  }
 12534  
 12535  // AsBasicLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService.
 12536  func (adls AzureDatabricksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 12537  	return &adls, true
 12538  }
 12539  
 12540  // UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedService struct.
 12541  func (adls *AzureDatabricksLinkedService) UnmarshalJSON(body []byte) error {
 12542  	var m map[string]*json.RawMessage
 12543  	err := json.Unmarshal(body, &m)
 12544  	if err != nil {
 12545  		return err
 12546  	}
 12547  	for k, v := range m {
 12548  		switch k {
 12549  		case "typeProperties":
 12550  			if v != nil {
 12551  				var azureDatabricksLinkedServiceTypeProperties AzureDatabricksLinkedServiceTypeProperties
 12552  				err = json.Unmarshal(*v, &azureDatabricksLinkedServiceTypeProperties)
 12553  				if err != nil {
 12554  					return err
 12555  				}
 12556  				adls.AzureDatabricksLinkedServiceTypeProperties = &azureDatabricksLinkedServiceTypeProperties
 12557  			}
 12558  		default:
 12559  			if v != nil {
 12560  				var additionalProperties interface{}
 12561  				err = json.Unmarshal(*v, &additionalProperties)
 12562  				if err != nil {
 12563  					return err
 12564  				}
 12565  				if adls.AdditionalProperties == nil {
 12566  					adls.AdditionalProperties = make(map[string]interface{})
 12567  				}
 12568  				adls.AdditionalProperties[k] = additionalProperties
 12569  			}
 12570  		case "connectVia":
 12571  			if v != nil {
 12572  				var connectVia IntegrationRuntimeReference
 12573  				err = json.Unmarshal(*v, &connectVia)
 12574  				if err != nil {
 12575  					return err
 12576  				}
 12577  				adls.ConnectVia = &connectVia
 12578  			}
 12579  		case "description":
 12580  			if v != nil {
 12581  				var description string
 12582  				err = json.Unmarshal(*v, &description)
 12583  				if err != nil {
 12584  					return err
 12585  				}
 12586  				adls.Description = &description
 12587  			}
 12588  		case "parameters":
 12589  			if v != nil {
 12590  				var parameters map[string]*ParameterSpecification
 12591  				err = json.Unmarshal(*v, &parameters)
 12592  				if err != nil {
 12593  					return err
 12594  				}
 12595  				adls.Parameters = parameters
 12596  			}
 12597  		case "annotations":
 12598  			if v != nil {
 12599  				var annotations []interface{}
 12600  				err = json.Unmarshal(*v, &annotations)
 12601  				if err != nil {
 12602  					return err
 12603  				}
 12604  				adls.Annotations = &annotations
 12605  			}
 12606  		case "type":
 12607  			if v != nil {
 12608  				var typeVar TypeBasicLinkedService
 12609  				err = json.Unmarshal(*v, &typeVar)
 12610  				if err != nil {
 12611  					return err
 12612  				}
 12613  				adls.Type = typeVar
 12614  			}
 12615  		}
 12616  	}
 12617  
 12618  	return nil
 12619  }
 12620  
 12621  // AzureDatabricksLinkedServiceTypeProperties azure Databricks linked service properties.
 12622  type AzureDatabricksLinkedServiceTypeProperties struct {
 12623  	// Domain - <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
 12624  	Domain interface{} `json:"domain,omitempty"`
 12625  	// AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
 12626  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
 12627  	// ExistingClusterID - The id of an existing interactive cluster that will be used for all runs of this activity. Type: string (or Expression with resultType string).
 12628  	ExistingClusterID interface{} `json:"existingClusterId,omitempty"`
 12629  	// InstancePoolID - The id of an existing instance pool that will be used for all runs of this activity. Type: string (or Expression with resultType string).
 12630  	InstancePoolID interface{} `json:"instancePoolId,omitempty"`
 12631  	// NewClusterVersion - If not using an existing interactive cluster, this specifies the Spark version of a new job cluster or instance pool nodes created for each run of this activity. Required if instancePoolId is specified. Type: string (or Expression with resultType string).
 12632  	NewClusterVersion interface{} `json:"newClusterVersion,omitempty"`
 12633  	// NewClusterNumOfWorker - If not using an existing interactive cluster, this specifies the number of worker nodes to use for the new job cluster or instance pool. For new job clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and can only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is specified. Type: string (or Expression with resultType string).
 12634  	NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"`
 12635  	// NewClusterNodeType - The node type of the new job cluster. This property is required if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is specified, this property is ignored. Type: string (or Expression with resultType string).
 12636  	NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"`
 12637  	// NewClusterSparkConf - A set of optional, user-specified Spark configuration key-value pairs.
 12638  	NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"`
 12639  	// NewClusterSparkEnvVars - A set of optional, user-specified Spark environment variables key-value pairs.
 12640  	NewClusterSparkEnvVars map[string]interface{} `json:"newClusterSparkEnvVars"`
 12641  	// NewClusterCustomTags - Additional tags for cluster resources. This property is ignored in instance pool configurations.
 12642  	NewClusterCustomTags map[string]interface{} `json:"newClusterCustomTags"`
 12643  	// NewClusterDriverNodeType - The driver node type for the new job cluster. This property is ignored in instance pool configurations. Type: string (or Expression with resultType string).
 12644  	NewClusterDriverNodeType interface{} `json:"newClusterDriverNodeType,omitempty"`
 12645  	// NewClusterInitScripts - User-defined initialization scripts for the new cluster. Type: array of strings (or Expression with resultType array of strings).
 12646  	NewClusterInitScripts interface{} `json:"newClusterInitScripts,omitempty"`
 12647  	// NewClusterEnableElasticDisk - Enable the elastic disk on the new cluster. This property is now ignored, and takes the default elastic disk behavior in Databricks (elastic disks are always enabled). Type: boolean (or Expression with resultType boolean).
 12648  	NewClusterEnableElasticDisk interface{} `json:"newClusterEnableElasticDisk,omitempty"`
 12649  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 12650  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 12651  }
 12652  
 12653  // MarshalJSON is the custom marshaler for AzureDatabricksLinkedServiceTypeProperties.
 12654  func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
 12655  	objectMap := make(map[string]interface{})
 12656  	if adlstp.Domain != nil {
 12657  		objectMap["domain"] = adlstp.Domain
 12658  	}
 12659  	objectMap["accessToken"] = adlstp.AccessToken
 12660  	if adlstp.ExistingClusterID != nil {
 12661  		objectMap["existingClusterId"] = adlstp.ExistingClusterID
 12662  	}
 12663  	if adlstp.InstancePoolID != nil {
 12664  		objectMap["instancePoolId"] = adlstp.InstancePoolID
 12665  	}
 12666  	if adlstp.NewClusterVersion != nil {
 12667  		objectMap["newClusterVersion"] = adlstp.NewClusterVersion
 12668  	}
 12669  	if adlstp.NewClusterNumOfWorker != nil {
 12670  		objectMap["newClusterNumOfWorker"] = adlstp.NewClusterNumOfWorker
 12671  	}
 12672  	if adlstp.NewClusterNodeType != nil {
 12673  		objectMap["newClusterNodeType"] = adlstp.NewClusterNodeType
 12674  	}
 12675  	if adlstp.NewClusterSparkConf != nil {
 12676  		objectMap["newClusterSparkConf"] = adlstp.NewClusterSparkConf
 12677  	}
 12678  	if adlstp.NewClusterSparkEnvVars != nil {
 12679  		objectMap["newClusterSparkEnvVars"] = adlstp.NewClusterSparkEnvVars
 12680  	}
 12681  	if adlstp.NewClusterCustomTags != nil {
 12682  		objectMap["newClusterCustomTags"] = adlstp.NewClusterCustomTags
 12683  	}
 12684  	if adlstp.NewClusterDriverNodeType != nil {
 12685  		objectMap["newClusterDriverNodeType"] = adlstp.NewClusterDriverNodeType
 12686  	}
 12687  	if adlstp.NewClusterInitScripts != nil {
 12688  		objectMap["newClusterInitScripts"] = adlstp.NewClusterInitScripts
 12689  	}
 12690  	if adlstp.NewClusterEnableElasticDisk != nil {
 12691  		objectMap["newClusterEnableElasticDisk"] = adlstp.NewClusterEnableElasticDisk
 12692  	}
 12693  	if adlstp.EncryptedCredential != nil {
 12694  		objectMap["encryptedCredential"] = adlstp.EncryptedCredential
 12695  	}
 12696  	return json.Marshal(objectMap)
 12697  }
 12698  
 12699  // UnmarshalJSON is the custom unmarshaler for AzureDatabricksLinkedServiceTypeProperties struct.
 12700  func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 12701  	var m map[string]*json.RawMessage
 12702  	err := json.Unmarshal(body, &m)
 12703  	if err != nil {
 12704  		return err
 12705  	}
 12706  	for k, v := range m {
 12707  		switch k {
 12708  		case "domain":
 12709  			if v != nil {
 12710  				var domain interface{}
 12711  				err = json.Unmarshal(*v, &domain)
 12712  				if err != nil {
 12713  					return err
 12714  				}
 12715  				adlstp.Domain = domain
 12716  			}
 12717  		case "accessToken":
 12718  			if v != nil {
 12719  				accessToken, err := unmarshalBasicSecretBase(*v)
 12720  				if err != nil {
 12721  					return err
 12722  				}
 12723  				adlstp.AccessToken = accessToken
 12724  			}
 12725  		case "existingClusterId":
 12726  			if v != nil {
 12727  				var existingClusterID interface{}
 12728  				err = json.Unmarshal(*v, &existingClusterID)
 12729  				if err != nil {
 12730  					return err
 12731  				}
 12732  				adlstp.ExistingClusterID = existingClusterID
 12733  			}
 12734  		case "instancePoolId":
 12735  			if v != nil {
 12736  				var instancePoolID interface{}
 12737  				err = json.Unmarshal(*v, &instancePoolID)
 12738  				if err != nil {
 12739  					return err
 12740  				}
 12741  				adlstp.InstancePoolID = instancePoolID
 12742  			}
 12743  		case "newClusterVersion":
 12744  			if v != nil {
 12745  				var newClusterVersion interface{}
 12746  				err = json.Unmarshal(*v, &newClusterVersion)
 12747  				if err != nil {
 12748  					return err
 12749  				}
 12750  				adlstp.NewClusterVersion = newClusterVersion
 12751  			}
 12752  		case "newClusterNumOfWorker":
 12753  			if v != nil {
 12754  				var newClusterNumOfWorker interface{}
 12755  				err = json.Unmarshal(*v, &newClusterNumOfWorker)
 12756  				if err != nil {
 12757  					return err
 12758  				}
 12759  				adlstp.NewClusterNumOfWorker = newClusterNumOfWorker
 12760  			}
 12761  		case "newClusterNodeType":
 12762  			if v != nil {
 12763  				var newClusterNodeType interface{}
 12764  				err = json.Unmarshal(*v, &newClusterNodeType)
 12765  				if err != nil {
 12766  					return err
 12767  				}
 12768  				adlstp.NewClusterNodeType = newClusterNodeType
 12769  			}
 12770  		case "newClusterSparkConf":
 12771  			if v != nil {
 12772  				var newClusterSparkConf map[string]interface{}
 12773  				err = json.Unmarshal(*v, &newClusterSparkConf)
 12774  				if err != nil {
 12775  					return err
 12776  				}
 12777  				adlstp.NewClusterSparkConf = newClusterSparkConf
 12778  			}
 12779  		case "newClusterSparkEnvVars":
 12780  			if v != nil {
 12781  				var newClusterSparkEnvVars map[string]interface{}
 12782  				err = json.Unmarshal(*v, &newClusterSparkEnvVars)
 12783  				if err != nil {
 12784  					return err
 12785  				}
 12786  				adlstp.NewClusterSparkEnvVars = newClusterSparkEnvVars
 12787  			}
 12788  		case "newClusterCustomTags":
 12789  			if v != nil {
 12790  				var newClusterCustomTags map[string]interface{}
 12791  				err = json.Unmarshal(*v, &newClusterCustomTags)
 12792  				if err != nil {
 12793  					return err
 12794  				}
 12795  				adlstp.NewClusterCustomTags = newClusterCustomTags
 12796  			}
 12797  		case "newClusterDriverNodeType":
 12798  			if v != nil {
 12799  				var newClusterDriverNodeType interface{}
 12800  				err = json.Unmarshal(*v, &newClusterDriverNodeType)
 12801  				if err != nil {
 12802  					return err
 12803  				}
 12804  				adlstp.NewClusterDriverNodeType = newClusterDriverNodeType
 12805  			}
 12806  		case "newClusterInitScripts":
 12807  			if v != nil {
 12808  				var newClusterInitScripts interface{}
 12809  				err = json.Unmarshal(*v, &newClusterInitScripts)
 12810  				if err != nil {
 12811  					return err
 12812  				}
 12813  				adlstp.NewClusterInitScripts = newClusterInitScripts
 12814  			}
 12815  		case "newClusterEnableElasticDisk":
 12816  			if v != nil {
 12817  				var newClusterEnableElasticDisk interface{}
 12818  				err = json.Unmarshal(*v, &newClusterEnableElasticDisk)
 12819  				if err != nil {
 12820  					return err
 12821  				}
 12822  				adlstp.NewClusterEnableElasticDisk = newClusterEnableElasticDisk
 12823  			}
 12824  		case "encryptedCredential":
 12825  			if v != nil {
 12826  				var encryptedCredential interface{}
 12827  				err = json.Unmarshal(*v, &encryptedCredential)
 12828  				if err != nil {
 12829  					return err
 12830  				}
 12831  				adlstp.EncryptedCredential = encryptedCredential
 12832  			}
 12833  		}
 12834  	}
 12835  
 12836  	return nil
 12837  }
 12838  
 12839  // AzureDataExplorerCommandActivity azure Data Explorer command activity.
 12840  type AzureDataExplorerCommandActivity struct {
 12841  	// AzureDataExplorerCommandActivityTypeProperties - Azure Data Explorer command activity properties.
 12842  	*AzureDataExplorerCommandActivityTypeProperties `json:"typeProperties,omitempty"`
 12843  	// LinkedServiceName - Linked service reference.
 12844  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 12845  	// Policy - Activity policy.
 12846  	Policy *ActivityPolicy `json:"policy,omitempty"`
 12847  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 12848  	AdditionalProperties map[string]interface{} `json:""`
 12849  	// Name - Activity name.
 12850  	Name *string `json:"name,omitempty"`
 12851  	// Description - Activity description.
 12852  	Description *string `json:"description,omitempty"`
 12853  	// DependsOn - Activity depends on condition.
 12854  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 12855  	// UserProperties - Activity user properties.
 12856  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 12857  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 12858  	Type TypeBasicActivity `json:"type,omitempty"`
 12859  }
 12860  
 12861  // MarshalJSON is the custom marshaler for AzureDataExplorerCommandActivity.
 12862  func (adeca AzureDataExplorerCommandActivity) MarshalJSON() ([]byte, error) {
 12863  	adeca.Type = TypeAzureDataExplorerCommand
 12864  	objectMap := make(map[string]interface{})
 12865  	if adeca.AzureDataExplorerCommandActivityTypeProperties != nil {
 12866  		objectMap["typeProperties"] = adeca.AzureDataExplorerCommandActivityTypeProperties
 12867  	}
 12868  	if adeca.LinkedServiceName != nil {
 12869  		objectMap["linkedServiceName"] = adeca.LinkedServiceName
 12870  	}
 12871  	if adeca.Policy != nil {
 12872  		objectMap["policy"] = adeca.Policy
 12873  	}
 12874  	if adeca.Name != nil {
 12875  		objectMap["name"] = adeca.Name
 12876  	}
 12877  	if adeca.Description != nil {
 12878  		objectMap["description"] = adeca.Description
 12879  	}
 12880  	if adeca.DependsOn != nil {
 12881  		objectMap["dependsOn"] = adeca.DependsOn
 12882  	}
 12883  	if adeca.UserProperties != nil {
 12884  		objectMap["userProperties"] = adeca.UserProperties
 12885  	}
 12886  	if adeca.Type != "" {
 12887  		objectMap["type"] = adeca.Type
 12888  	}
 12889  	for k, v := range adeca.AdditionalProperties {
 12890  		objectMap[k] = v
 12891  	}
 12892  	return json.Marshal(objectMap)
 12893  }
 12894  
 12895  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12896  func (adeca AzureDataExplorerCommandActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 12897  	return nil, false
 12898  }
 12899  
 12900  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12901  func (adeca AzureDataExplorerCommandActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 12902  	return nil, false
 12903  }
 12904  
 12905  // AsSynapseNotebookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12906  func (adeca AzureDataExplorerCommandActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 12907  	return nil, false
 12908  }
 12909  
 12910  // AsExecuteDataFlowActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12911  func (adeca AzureDataExplorerCommandActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 12912  	return nil, false
 12913  }
 12914  
 12915  // AsAzureFunctionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12916  func (adeca AzureDataExplorerCommandActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 12917  	return nil, false
 12918  }
 12919  
 12920  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12921  func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 12922  	return nil, false
 12923  }
 12924  
 12925  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12926  func (adeca AzureDataExplorerCommandActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 12927  	return nil, false
 12928  }
 12929  
 12930  // AsDatabricksNotebookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12931  func (adeca AzureDataExplorerCommandActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 12932  	return nil, false
 12933  }
 12934  
 12935  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12936  func (adeca AzureDataExplorerCommandActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 12937  	return nil, false
 12938  }
 12939  
 12940  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12941  func (adeca AzureDataExplorerCommandActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 12942  	return nil, false
 12943  }
 12944  
 12945  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12946  func (adeca AzureDataExplorerCommandActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 12947  	return nil, false
 12948  }
 12949  
 12950  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12951  func (adeca AzureDataExplorerCommandActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 12952  	return nil, false
 12953  }
 12954  
 12955  // AsGetMetadataActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12956  func (adeca AzureDataExplorerCommandActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 12957  	return nil, false
 12958  }
 12959  
 12960  // AsWebActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12961  func (adeca AzureDataExplorerCommandActivity) AsWebActivity() (*WebActivity, bool) {
 12962  	return nil, false
 12963  }
 12964  
 12965  // AsLookupActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12966  func (adeca AzureDataExplorerCommandActivity) AsLookupActivity() (*LookupActivity, bool) {
 12967  	return nil, false
 12968  }
 12969  
 12970  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12971  func (adeca AzureDataExplorerCommandActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 12972  	return &adeca, true
 12973  }
 12974  
 12975  // AsDeleteActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12976  func (adeca AzureDataExplorerCommandActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 12977  	return nil, false
 12978  }
 12979  
 12980  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12981  func (adeca AzureDataExplorerCommandActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 12982  	return nil, false
 12983  }
 12984  
 12985  // AsCustomActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12986  func (adeca AzureDataExplorerCommandActivity) AsCustomActivity() (*CustomActivity, bool) {
 12987  	return nil, false
 12988  }
 12989  
 12990  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12991  func (adeca AzureDataExplorerCommandActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 12992  	return nil, false
 12993  }
 12994  
 12995  // AsHDInsightSparkActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 12996  func (adeca AzureDataExplorerCommandActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 12997  	return nil, false
 12998  }
 12999  
 13000  // AsHDInsightStreamingActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13001  func (adeca AzureDataExplorerCommandActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 13002  	return nil, false
 13003  }
 13004  
 13005  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13006  func (adeca AzureDataExplorerCommandActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 13007  	return nil, false
 13008  }
 13009  
 13010  // AsHDInsightPigActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13011  func (adeca AzureDataExplorerCommandActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 13012  	return nil, false
 13013  }
 13014  
 13015  // AsHDInsightHiveActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13016  func (adeca AzureDataExplorerCommandActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 13017  	return nil, false
 13018  }
 13019  
 13020  // AsCopyActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13021  func (adeca AzureDataExplorerCommandActivity) AsCopyActivity() (*CopyActivity, bool) {
 13022  	return nil, false
 13023  }
 13024  
 13025  // AsExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13026  func (adeca AzureDataExplorerCommandActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 13027  	return nil, false
 13028  }
 13029  
 13030  // AsBasicExecutionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13031  func (adeca AzureDataExplorerCommandActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 13032  	return &adeca, true
 13033  }
 13034  
 13035  // AsWebHookActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13036  func (adeca AzureDataExplorerCommandActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 13037  	return nil, false
 13038  }
 13039  
 13040  // AsAppendVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13041  func (adeca AzureDataExplorerCommandActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 13042  	return nil, false
 13043  }
 13044  
 13045  // AsSetVariableActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13046  func (adeca AzureDataExplorerCommandActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 13047  	return nil, false
 13048  }
 13049  
 13050  // AsFilterActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13051  func (adeca AzureDataExplorerCommandActivity) AsFilterActivity() (*FilterActivity, bool) {
 13052  	return nil, false
 13053  }
 13054  
 13055  // AsValidationActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13056  func (adeca AzureDataExplorerCommandActivity) AsValidationActivity() (*ValidationActivity, bool) {
 13057  	return nil, false
 13058  }
 13059  
 13060  // AsUntilActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13061  func (adeca AzureDataExplorerCommandActivity) AsUntilActivity() (*UntilActivity, bool) {
 13062  	return nil, false
 13063  }
 13064  
 13065  // AsWaitActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13066  func (adeca AzureDataExplorerCommandActivity) AsWaitActivity() (*WaitActivity, bool) {
 13067  	return nil, false
 13068  }
 13069  
 13070  // AsForEachActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13071  func (adeca AzureDataExplorerCommandActivity) AsForEachActivity() (*ForEachActivity, bool) {
 13072  	return nil, false
 13073  }
 13074  
 13075  // AsSwitchActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13076  func (adeca AzureDataExplorerCommandActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 13077  	return nil, false
 13078  }
 13079  
 13080  // AsIfConditionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13081  func (adeca AzureDataExplorerCommandActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 13082  	return nil, false
 13083  }
 13084  
 13085  // AsExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13086  func (adeca AzureDataExplorerCommandActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 13087  	return nil, false
 13088  }
 13089  
 13090  // AsControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13091  func (adeca AzureDataExplorerCommandActivity) AsControlActivity() (*ControlActivity, bool) {
 13092  	return nil, false
 13093  }
 13094  
 13095  // AsBasicControlActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13096  func (adeca AzureDataExplorerCommandActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 13097  	return nil, false
 13098  }
 13099  
 13100  // AsActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13101  func (adeca AzureDataExplorerCommandActivity) AsActivity() (*Activity, bool) {
 13102  	return nil, false
 13103  }
 13104  
 13105  // AsBasicActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity.
 13106  func (adeca AzureDataExplorerCommandActivity) AsBasicActivity() (BasicActivity, bool) {
 13107  	return &adeca, true
 13108  }
 13109  
 13110  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerCommandActivity struct.
 13111  func (adeca *AzureDataExplorerCommandActivity) UnmarshalJSON(body []byte) error {
 13112  	var m map[string]*json.RawMessage
 13113  	err := json.Unmarshal(body, &m)
 13114  	if err != nil {
 13115  		return err
 13116  	}
 13117  	for k, v := range m {
 13118  		switch k {
 13119  		case "typeProperties":
 13120  			if v != nil {
 13121  				var azureDataExplorerCommandActivityTypeProperties AzureDataExplorerCommandActivityTypeProperties
 13122  				err = json.Unmarshal(*v, &azureDataExplorerCommandActivityTypeProperties)
 13123  				if err != nil {
 13124  					return err
 13125  				}
 13126  				adeca.AzureDataExplorerCommandActivityTypeProperties = &azureDataExplorerCommandActivityTypeProperties
 13127  			}
 13128  		case "linkedServiceName":
 13129  			if v != nil {
 13130  				var linkedServiceName LinkedServiceReference
 13131  				err = json.Unmarshal(*v, &linkedServiceName)
 13132  				if err != nil {
 13133  					return err
 13134  				}
 13135  				adeca.LinkedServiceName = &linkedServiceName
 13136  			}
 13137  		case "policy":
 13138  			if v != nil {
 13139  				var policy ActivityPolicy
 13140  				err = json.Unmarshal(*v, &policy)
 13141  				if err != nil {
 13142  					return err
 13143  				}
 13144  				adeca.Policy = &policy
 13145  			}
 13146  		default:
 13147  			if v != nil {
 13148  				var additionalProperties interface{}
 13149  				err = json.Unmarshal(*v, &additionalProperties)
 13150  				if err != nil {
 13151  					return err
 13152  				}
 13153  				if adeca.AdditionalProperties == nil {
 13154  					adeca.AdditionalProperties = make(map[string]interface{})
 13155  				}
 13156  				adeca.AdditionalProperties[k] = additionalProperties
 13157  			}
 13158  		case "name":
 13159  			if v != nil {
 13160  				var name string
 13161  				err = json.Unmarshal(*v, &name)
 13162  				if err != nil {
 13163  					return err
 13164  				}
 13165  				adeca.Name = &name
 13166  			}
 13167  		case "description":
 13168  			if v != nil {
 13169  				var description string
 13170  				err = json.Unmarshal(*v, &description)
 13171  				if err != nil {
 13172  					return err
 13173  				}
 13174  				adeca.Description = &description
 13175  			}
 13176  		case "dependsOn":
 13177  			if v != nil {
 13178  				var dependsOn []ActivityDependency
 13179  				err = json.Unmarshal(*v, &dependsOn)
 13180  				if err != nil {
 13181  					return err
 13182  				}
 13183  				adeca.DependsOn = &dependsOn
 13184  			}
 13185  		case "userProperties":
 13186  			if v != nil {
 13187  				var userProperties []UserProperty
 13188  				err = json.Unmarshal(*v, &userProperties)
 13189  				if err != nil {
 13190  					return err
 13191  				}
 13192  				adeca.UserProperties = &userProperties
 13193  			}
 13194  		case "type":
 13195  			if v != nil {
 13196  				var typeVar TypeBasicActivity
 13197  				err = json.Unmarshal(*v, &typeVar)
 13198  				if err != nil {
 13199  					return err
 13200  				}
 13201  				adeca.Type = typeVar
 13202  			}
 13203  		}
 13204  	}
 13205  
 13206  	return nil
 13207  }
 13208  
 13209  // AzureDataExplorerCommandActivityTypeProperties azure Data Explorer command activity properties.
 13210  type AzureDataExplorerCommandActivityTypeProperties struct {
 13211  	// Command - A control command, according to the Azure Data Explorer command syntax. Type: string (or Expression with resultType string).
 13212  	Command interface{} `json:"command,omitempty"`
 13213  	// 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]))..)
 13214  	CommandTimeout interface{} `json:"commandTimeout,omitempty"`
 13215  }
 13216  
 13217  // AzureDataExplorerDatasetTypeProperties azure Data Explorer (Kusto) dataset properties.
 13218  type AzureDataExplorerDatasetTypeProperties struct {
 13219  	// Table - The table name of the Azure Data Explorer database. Type: string (or Expression with resultType string).
 13220  	Table interface{} `json:"table,omitempty"`
 13221  }
 13222  
 13223  // AzureDataExplorerLinkedService azure Data Explorer (Kusto) linked service.
 13224  type AzureDataExplorerLinkedService struct {
 13225  	// AzureDataExplorerLinkedServiceTypeProperties - Azure Data Explorer (Kusto) linked service properties.
 13226  	*AzureDataExplorerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 13227  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 13228  	AdditionalProperties map[string]interface{} `json:""`
 13229  	// ConnectVia - The integration runtime reference.
 13230  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 13231  	// Description - Linked service description.
 13232  	Description *string `json:"description,omitempty"`
 13233  	// Parameters - Parameters for linked service.
 13234  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 13235  	// Annotations - List of tags that can be used for describing the linked service.
 13236  	Annotations *[]interface{} `json:"annotations,omitempty"`
 13237  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 13238  	Type TypeBasicLinkedService `json:"type,omitempty"`
 13239  }
 13240  
 13241  // MarshalJSON is the custom marshaler for AzureDataExplorerLinkedService.
 13242  func (adels AzureDataExplorerLinkedService) MarshalJSON() ([]byte, error) {
 13243  	adels.Type = TypeAzureDataExplorer
 13244  	objectMap := make(map[string]interface{})
 13245  	if adels.AzureDataExplorerLinkedServiceTypeProperties != nil {
 13246  		objectMap["typeProperties"] = adels.AzureDataExplorerLinkedServiceTypeProperties
 13247  	}
 13248  	if adels.ConnectVia != nil {
 13249  		objectMap["connectVia"] = adels.ConnectVia
 13250  	}
 13251  	if adels.Description != nil {
 13252  		objectMap["description"] = adels.Description
 13253  	}
 13254  	if adels.Parameters != nil {
 13255  		objectMap["parameters"] = adels.Parameters
 13256  	}
 13257  	if adels.Annotations != nil {
 13258  		objectMap["annotations"] = adels.Annotations
 13259  	}
 13260  	if adels.Type != "" {
 13261  		objectMap["type"] = adels.Type
 13262  	}
 13263  	for k, v := range adels.AdditionalProperties {
 13264  		objectMap[k] = v
 13265  	}
 13266  	return json.Marshal(objectMap)
 13267  }
 13268  
 13269  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13270  func (adels AzureDataExplorerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 13271  	return nil, false
 13272  }
 13273  
 13274  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13275  func (adels AzureDataExplorerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 13276  	return &adels, true
 13277  }
 13278  
 13279  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13280  func (adels AzureDataExplorerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 13281  	return nil, false
 13282  }
 13283  
 13284  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13285  func (adels AzureDataExplorerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 13286  	return nil, false
 13287  }
 13288  
 13289  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13290  func (adels AzureDataExplorerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 13291  	return nil, false
 13292  }
 13293  
 13294  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13295  func (adels AzureDataExplorerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 13296  	return nil, false
 13297  }
 13298  
 13299  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13300  func (adels AzureDataExplorerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 13301  	return nil, false
 13302  }
 13303  
 13304  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13305  func (adels AzureDataExplorerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 13306  	return nil, false
 13307  }
 13308  
 13309  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13310  func (adels AzureDataExplorerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 13311  	return nil, false
 13312  }
 13313  
 13314  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13315  func (adels AzureDataExplorerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 13316  	return nil, false
 13317  }
 13318  
 13319  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13320  func (adels AzureDataExplorerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 13321  	return nil, false
 13322  }
 13323  
 13324  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13325  func (adels AzureDataExplorerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 13326  	return nil, false
 13327  }
 13328  
 13329  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13330  func (adels AzureDataExplorerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 13331  	return nil, false
 13332  }
 13333  
 13334  // AsZohoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13335  func (adels AzureDataExplorerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 13336  	return nil, false
 13337  }
 13338  
 13339  // AsXeroLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13340  func (adels AzureDataExplorerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 13341  	return nil, false
 13342  }
 13343  
 13344  // AsSquareLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13345  func (adels AzureDataExplorerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 13346  	return nil, false
 13347  }
 13348  
 13349  // AsSparkLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13350  func (adels AzureDataExplorerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 13351  	return nil, false
 13352  }
 13353  
 13354  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13355  func (adels AzureDataExplorerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 13356  	return nil, false
 13357  }
 13358  
 13359  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13360  func (adels AzureDataExplorerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 13361  	return nil, false
 13362  }
 13363  
 13364  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13365  func (adels AzureDataExplorerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 13366  	return nil, false
 13367  }
 13368  
 13369  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13370  func (adels AzureDataExplorerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 13371  	return nil, false
 13372  }
 13373  
 13374  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13375  func (adels AzureDataExplorerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 13376  	return nil, false
 13377  }
 13378  
 13379  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13380  func (adels AzureDataExplorerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 13381  	return nil, false
 13382  }
 13383  
 13384  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13385  func (adels AzureDataExplorerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 13386  	return nil, false
 13387  }
 13388  
 13389  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13390  func (adels AzureDataExplorerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 13391  	return nil, false
 13392  }
 13393  
 13394  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13395  func (adels AzureDataExplorerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 13396  	return nil, false
 13397  }
 13398  
 13399  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13400  func (adels AzureDataExplorerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 13401  	return nil, false
 13402  }
 13403  
 13404  // AsJiraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13405  func (adels AzureDataExplorerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 13406  	return nil, false
 13407  }
 13408  
 13409  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13410  func (adels AzureDataExplorerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 13411  	return nil, false
 13412  }
 13413  
 13414  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13415  func (adels AzureDataExplorerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 13416  	return nil, false
 13417  }
 13418  
 13419  // AsHiveLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13420  func (adels AzureDataExplorerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 13421  	return nil, false
 13422  }
 13423  
 13424  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13425  func (adels AzureDataExplorerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 13426  	return nil, false
 13427  }
 13428  
 13429  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13430  func (adels AzureDataExplorerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 13431  	return nil, false
 13432  }
 13433  
 13434  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13435  func (adels AzureDataExplorerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 13436  	return nil, false
 13437  }
 13438  
 13439  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13440  func (adels AzureDataExplorerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 13441  	return nil, false
 13442  }
 13443  
 13444  // AsDrillLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13445  func (adels AzureDataExplorerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 13446  	return nil, false
 13447  }
 13448  
 13449  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13450  func (adels AzureDataExplorerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 13451  	return nil, false
 13452  }
 13453  
 13454  // AsConcurLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13455  func (adels AzureDataExplorerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 13456  	return nil, false
 13457  }
 13458  
 13459  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13460  func (adels AzureDataExplorerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 13461  	return nil, false
 13462  }
 13463  
 13464  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13465  func (adels AzureDataExplorerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 13466  	return nil, false
 13467  }
 13468  
 13469  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13470  func (adels AzureDataExplorerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 13471  	return nil, false
 13472  }
 13473  
 13474  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13475  func (adels AzureDataExplorerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 13476  	return nil, false
 13477  }
 13478  
 13479  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13480  func (adels AzureDataExplorerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 13481  	return nil, false
 13482  }
 13483  
 13484  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13485  func (adels AzureDataExplorerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 13486  	return nil, false
 13487  }
 13488  
 13489  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13490  func (adels AzureDataExplorerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 13491  	return nil, false
 13492  }
 13493  
 13494  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13495  func (adels AzureDataExplorerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 13496  	return nil, false
 13497  }
 13498  
 13499  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13500  func (adels AzureDataExplorerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 13501  	return nil, false
 13502  }
 13503  
 13504  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13505  func (adels AzureDataExplorerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 13506  	return nil, false
 13507  }
 13508  
 13509  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13510  func (adels AzureDataExplorerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 13511  	return nil, false
 13512  }
 13513  
 13514  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13515  func (adels AzureDataExplorerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 13516  	return nil, false
 13517  }
 13518  
 13519  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13520  func (adels AzureDataExplorerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 13521  	return nil, false
 13522  }
 13523  
 13524  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13525  func (adels AzureDataExplorerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 13526  	return nil, false
 13527  }
 13528  
 13529  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13530  func (adels AzureDataExplorerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 13531  	return nil, false
 13532  }
 13533  
 13534  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13535  func (adels AzureDataExplorerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 13536  	return nil, false
 13537  }
 13538  
 13539  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13540  func (adels AzureDataExplorerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 13541  	return nil, false
 13542  }
 13543  
 13544  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13545  func (adels AzureDataExplorerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 13546  	return nil, false
 13547  }
 13548  
 13549  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13550  func (adels AzureDataExplorerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 13551  	return nil, false
 13552  }
 13553  
 13554  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13555  func (adels AzureDataExplorerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 13556  	return nil, false
 13557  }
 13558  
 13559  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13560  func (adels AzureDataExplorerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 13561  	return nil, false
 13562  }
 13563  
 13564  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13565  func (adels AzureDataExplorerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 13566  	return nil, false
 13567  }
 13568  
 13569  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13570  func (adels AzureDataExplorerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 13571  	return nil, false
 13572  }
 13573  
 13574  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13575  func (adels AzureDataExplorerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 13576  	return nil, false
 13577  }
 13578  
 13579  // AsWebLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13580  func (adels AzureDataExplorerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 13581  	return nil, false
 13582  }
 13583  
 13584  // AsODataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13585  func (adels AzureDataExplorerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 13586  	return nil, false
 13587  }
 13588  
 13589  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13590  func (adels AzureDataExplorerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 13591  	return nil, false
 13592  }
 13593  
 13594  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13595  func (adels AzureDataExplorerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 13596  	return nil, false
 13597  }
 13598  
 13599  // AsInformixLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13600  func (adels AzureDataExplorerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 13601  	return nil, false
 13602  }
 13603  
 13604  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13605  func (adels AzureDataExplorerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 13606  	return nil, false
 13607  }
 13608  
 13609  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13610  func (adels AzureDataExplorerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 13611  	return nil, false
 13612  }
 13613  
 13614  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13615  func (adels AzureDataExplorerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 13616  	return nil, false
 13617  }
 13618  
 13619  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13620  func (adels AzureDataExplorerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 13621  	return nil, false
 13622  }
 13623  
 13624  // AsDb2LinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13625  func (adels AzureDataExplorerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 13626  	return nil, false
 13627  }
 13628  
 13629  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13630  func (adels AzureDataExplorerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 13631  	return nil, false
 13632  }
 13633  
 13634  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13635  func (adels AzureDataExplorerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 13636  	return nil, false
 13637  }
 13638  
 13639  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13640  func (adels AzureDataExplorerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 13641  	return nil, false
 13642  }
 13643  
 13644  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13645  func (adels AzureDataExplorerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 13646  	return nil, false
 13647  }
 13648  
 13649  // AsOracleLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13650  func (adels AzureDataExplorerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 13651  	return nil, false
 13652  }
 13653  
 13654  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13655  func (adels AzureDataExplorerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 13656  	return nil, false
 13657  }
 13658  
 13659  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13660  func (adels AzureDataExplorerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 13661  	return nil, false
 13662  }
 13663  
 13664  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13665  func (adels AzureDataExplorerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 13666  	return nil, false
 13667  }
 13668  
 13669  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13670  func (adels AzureDataExplorerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 13671  	return nil, false
 13672  }
 13673  
 13674  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13675  func (adels AzureDataExplorerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 13676  	return nil, false
 13677  }
 13678  
 13679  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13680  func (adels AzureDataExplorerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 13681  	return nil, false
 13682  }
 13683  
 13684  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13685  func (adels AzureDataExplorerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 13686  	return nil, false
 13687  }
 13688  
 13689  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13690  func (adels AzureDataExplorerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 13691  	return nil, false
 13692  }
 13693  
 13694  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13695  func (adels AzureDataExplorerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 13696  	return nil, false
 13697  }
 13698  
 13699  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13700  func (adels AzureDataExplorerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 13701  	return nil, false
 13702  }
 13703  
 13704  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13705  func (adels AzureDataExplorerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 13706  	return nil, false
 13707  }
 13708  
 13709  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13710  func (adels AzureDataExplorerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 13711  	return nil, false
 13712  }
 13713  
 13714  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13715  func (adels AzureDataExplorerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 13716  	return nil, false
 13717  }
 13718  
 13719  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13720  func (adels AzureDataExplorerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 13721  	return nil, false
 13722  }
 13723  
 13724  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13725  func (adels AzureDataExplorerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 13726  	return nil, false
 13727  }
 13728  
 13729  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13730  func (adels AzureDataExplorerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 13731  	return nil, false
 13732  }
 13733  
 13734  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13735  func (adels AzureDataExplorerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 13736  	return nil, false
 13737  }
 13738  
 13739  // AsLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13740  func (adels AzureDataExplorerLinkedService) AsLinkedService() (*LinkedService, bool) {
 13741  	return nil, false
 13742  }
 13743  
 13744  // AsBasicLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService.
 13745  func (adels AzureDataExplorerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 13746  	return &adels, true
 13747  }
 13748  
 13749  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedService struct.
 13750  func (adels *AzureDataExplorerLinkedService) UnmarshalJSON(body []byte) error {
 13751  	var m map[string]*json.RawMessage
 13752  	err := json.Unmarshal(body, &m)
 13753  	if err != nil {
 13754  		return err
 13755  	}
 13756  	for k, v := range m {
 13757  		switch k {
 13758  		case "typeProperties":
 13759  			if v != nil {
 13760  				var azureDataExplorerLinkedServiceTypeProperties AzureDataExplorerLinkedServiceTypeProperties
 13761  				err = json.Unmarshal(*v, &azureDataExplorerLinkedServiceTypeProperties)
 13762  				if err != nil {
 13763  					return err
 13764  				}
 13765  				adels.AzureDataExplorerLinkedServiceTypeProperties = &azureDataExplorerLinkedServiceTypeProperties
 13766  			}
 13767  		default:
 13768  			if v != nil {
 13769  				var additionalProperties interface{}
 13770  				err = json.Unmarshal(*v, &additionalProperties)
 13771  				if err != nil {
 13772  					return err
 13773  				}
 13774  				if adels.AdditionalProperties == nil {
 13775  					adels.AdditionalProperties = make(map[string]interface{})
 13776  				}
 13777  				adels.AdditionalProperties[k] = additionalProperties
 13778  			}
 13779  		case "connectVia":
 13780  			if v != nil {
 13781  				var connectVia IntegrationRuntimeReference
 13782  				err = json.Unmarshal(*v, &connectVia)
 13783  				if err != nil {
 13784  					return err
 13785  				}
 13786  				adels.ConnectVia = &connectVia
 13787  			}
 13788  		case "description":
 13789  			if v != nil {
 13790  				var description string
 13791  				err = json.Unmarshal(*v, &description)
 13792  				if err != nil {
 13793  					return err
 13794  				}
 13795  				adels.Description = &description
 13796  			}
 13797  		case "parameters":
 13798  			if v != nil {
 13799  				var parameters map[string]*ParameterSpecification
 13800  				err = json.Unmarshal(*v, &parameters)
 13801  				if err != nil {
 13802  					return err
 13803  				}
 13804  				adels.Parameters = parameters
 13805  			}
 13806  		case "annotations":
 13807  			if v != nil {
 13808  				var annotations []interface{}
 13809  				err = json.Unmarshal(*v, &annotations)
 13810  				if err != nil {
 13811  					return err
 13812  				}
 13813  				adels.Annotations = &annotations
 13814  			}
 13815  		case "type":
 13816  			if v != nil {
 13817  				var typeVar TypeBasicLinkedService
 13818  				err = json.Unmarshal(*v, &typeVar)
 13819  				if err != nil {
 13820  					return err
 13821  				}
 13822  				adels.Type = typeVar
 13823  			}
 13824  		}
 13825  	}
 13826  
 13827  	return nil
 13828  }
 13829  
 13830  // AzureDataExplorerLinkedServiceTypeProperties azure Data Explorer (Kusto) linked service properties.
 13831  type AzureDataExplorerLinkedServiceTypeProperties struct {
 13832  	// 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)
 13833  	Endpoint interface{} `json:"endpoint,omitempty"`
 13834  	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure Data Explorer. Type: string (or Expression with resultType string).
 13835  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 13836  	// ServicePrincipalKey - The key of the service principal used to authenticate against Kusto.
 13837  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 13838  	// Database - Database name for connection. Type: string (or Expression with resultType string).
 13839  	Database interface{} `json:"database,omitempty"`
 13840  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 13841  	Tenant interface{} `json:"tenant,omitempty"`
 13842  }
 13843  
 13844  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerLinkedServiceTypeProperties struct.
 13845  func (adelstp *AzureDataExplorerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 13846  	var m map[string]*json.RawMessage
 13847  	err := json.Unmarshal(body, &m)
 13848  	if err != nil {
 13849  		return err
 13850  	}
 13851  	for k, v := range m {
 13852  		switch k {
 13853  		case "endpoint":
 13854  			if v != nil {
 13855  				var endpoint interface{}
 13856  				err = json.Unmarshal(*v, &endpoint)
 13857  				if err != nil {
 13858  					return err
 13859  				}
 13860  				adelstp.Endpoint = endpoint
 13861  			}
 13862  		case "servicePrincipalId":
 13863  			if v != nil {
 13864  				var servicePrincipalID interface{}
 13865  				err = json.Unmarshal(*v, &servicePrincipalID)
 13866  				if err != nil {
 13867  					return err
 13868  				}
 13869  				adelstp.ServicePrincipalID = servicePrincipalID
 13870  			}
 13871  		case "servicePrincipalKey":
 13872  			if v != nil {
 13873  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 13874  				if err != nil {
 13875  					return err
 13876  				}
 13877  				adelstp.ServicePrincipalKey = servicePrincipalKey
 13878  			}
 13879  		case "database":
 13880  			if v != nil {
 13881  				var databaseVar interface{}
 13882  				err = json.Unmarshal(*v, &databaseVar)
 13883  				if err != nil {
 13884  					return err
 13885  				}
 13886  				adelstp.Database = databaseVar
 13887  			}
 13888  		case "tenant":
 13889  			if v != nil {
 13890  				var tenant interface{}
 13891  				err = json.Unmarshal(*v, &tenant)
 13892  				if err != nil {
 13893  					return err
 13894  				}
 13895  				adelstp.Tenant = tenant
 13896  			}
 13897  		}
 13898  	}
 13899  
 13900  	return nil
 13901  }
 13902  
 13903  // AzureDataExplorerSink a copy activity Azure Data Explorer sink.
 13904  type AzureDataExplorerSink struct {
 13905  	// IngestionMappingName - A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string.
 13906  	IngestionMappingName interface{} `json:"ingestionMappingName,omitempty"`
 13907  	// IngestionMappingAsJSON - An explicit column mapping description provided in a json format. Type: string.
 13908  	IngestionMappingAsJSON interface{} `json:"ingestionMappingAsJson,omitempty"`
 13909  	// FlushImmediately - If set to true, any aggregation will be skipped. Default is false. Type: boolean.
 13910  	FlushImmediately interface{} `json:"flushImmediately,omitempty"`
 13911  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 13912  	AdditionalProperties map[string]interface{} `json:""`
 13913  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 13914  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 13915  	// 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])).
 13916  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 13917  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 13918  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 13919  	// 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])).
 13920  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 13921  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 13922  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 13923  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 13924  	Type TypeBasicCopySink `json:"type,omitempty"`
 13925  }
 13926  
 13927  // MarshalJSON is the custom marshaler for AzureDataExplorerSink.
 13928  func (ades AzureDataExplorerSink) MarshalJSON() ([]byte, error) {
 13929  	ades.Type = TypeAzureDataExplorerSink
 13930  	objectMap := make(map[string]interface{})
 13931  	if ades.IngestionMappingName != nil {
 13932  		objectMap["ingestionMappingName"] = ades.IngestionMappingName
 13933  	}
 13934  	if ades.IngestionMappingAsJSON != nil {
 13935  		objectMap["ingestionMappingAsJson"] = ades.IngestionMappingAsJSON
 13936  	}
 13937  	if ades.FlushImmediately != nil {
 13938  		objectMap["flushImmediately"] = ades.FlushImmediately
 13939  	}
 13940  	if ades.WriteBatchSize != nil {
 13941  		objectMap["writeBatchSize"] = ades.WriteBatchSize
 13942  	}
 13943  	if ades.WriteBatchTimeout != nil {
 13944  		objectMap["writeBatchTimeout"] = ades.WriteBatchTimeout
 13945  	}
 13946  	if ades.SinkRetryCount != nil {
 13947  		objectMap["sinkRetryCount"] = ades.SinkRetryCount
 13948  	}
 13949  	if ades.SinkRetryWait != nil {
 13950  		objectMap["sinkRetryWait"] = ades.SinkRetryWait
 13951  	}
 13952  	if ades.MaxConcurrentConnections != nil {
 13953  		objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections
 13954  	}
 13955  	if ades.Type != "" {
 13956  		objectMap["type"] = ades.Type
 13957  	}
 13958  	for k, v := range ades.AdditionalProperties {
 13959  		objectMap[k] = v
 13960  	}
 13961  	return json.Marshal(objectMap)
 13962  }
 13963  
 13964  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataExplorerSink.
 13965  func (ades AzureDataExplorerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 13966  	return nil, false
 13967  }
 13968  
 13969  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13970  func (ades AzureDataExplorerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 13971  	return nil, false
 13972  }
 13973  
 13974  // AsSalesforceSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13975  func (ades AzureDataExplorerSink) AsSalesforceSink() (*SalesforceSink, bool) {
 13976  	return nil, false
 13977  }
 13978  
 13979  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13980  func (ades AzureDataExplorerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 13981  	return &ades, true
 13982  }
 13983  
 13984  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13985  func (ades AzureDataExplorerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 13986  	return nil, false
 13987  }
 13988  
 13989  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13990  func (ades AzureDataExplorerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 13991  	return nil, false
 13992  }
 13993  
 13994  // AsDynamicsSink is the BasicCopySink implementation for AzureDataExplorerSink.
 13995  func (ades AzureDataExplorerSink) AsDynamicsSink() (*DynamicsSink, bool) {
 13996  	return nil, false
 13997  }
 13998  
 13999  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14000  func (ades AzureDataExplorerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 14001  	return nil, false
 14002  }
 14003  
 14004  // AsInformixSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14005  func (ades AzureDataExplorerSink) AsInformixSink() (*InformixSink, bool) {
 14006  	return nil, false
 14007  }
 14008  
 14009  // AsOdbcSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14010  func (ades AzureDataExplorerSink) AsOdbcSink() (*OdbcSink, bool) {
 14011  	return nil, false
 14012  }
 14013  
 14014  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14015  func (ades AzureDataExplorerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 14016  	return nil, false
 14017  }
 14018  
 14019  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14020  func (ades AzureDataExplorerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 14021  	return nil, false
 14022  }
 14023  
 14024  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14025  func (ades AzureDataExplorerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 14026  	return nil, false
 14027  }
 14028  
 14029  // AsOracleSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14030  func (ades AzureDataExplorerSink) AsOracleSink() (*OracleSink, bool) {
 14031  	return nil, false
 14032  }
 14033  
 14034  // AsSQLDWSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14035  func (ades AzureDataExplorerSink) AsSQLDWSink() (*SQLDWSink, bool) {
 14036  	return nil, false
 14037  }
 14038  
 14039  // AsSQLMISink is the BasicCopySink implementation for AzureDataExplorerSink.
 14040  func (ades AzureDataExplorerSink) AsSQLMISink() (*SQLMISink, bool) {
 14041  	return nil, false
 14042  }
 14043  
 14044  // AsAzureSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14045  func (ades AzureDataExplorerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 14046  	return nil, false
 14047  }
 14048  
 14049  // AsSQLServerSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14050  func (ades AzureDataExplorerSink) AsSQLServerSink() (*SQLServerSink, bool) {
 14051  	return nil, false
 14052  }
 14053  
 14054  // AsSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14055  func (ades AzureDataExplorerSink) AsSQLSink() (*SQLSink, bool) {
 14056  	return nil, false
 14057  }
 14058  
 14059  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataExplorerSink.
 14060  func (ades AzureDataExplorerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 14061  	return nil, false
 14062  }
 14063  
 14064  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14065  func (ades AzureDataExplorerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 14066  	return nil, false
 14067  }
 14068  
 14069  // AsFileSystemSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14070  func (ades AzureDataExplorerSink) AsFileSystemSink() (*FileSystemSink, bool) {
 14071  	return nil, false
 14072  }
 14073  
 14074  // AsBlobSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14075  func (ades AzureDataExplorerSink) AsBlobSink() (*BlobSink, bool) {
 14076  	return nil, false
 14077  }
 14078  
 14079  // AsBinarySink is the BasicCopySink implementation for AzureDataExplorerSink.
 14080  func (ades AzureDataExplorerSink) AsBinarySink() (*BinarySink, bool) {
 14081  	return nil, false
 14082  }
 14083  
 14084  // AsParquetSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14085  func (ades AzureDataExplorerSink) AsParquetSink() (*ParquetSink, bool) {
 14086  	return nil, false
 14087  }
 14088  
 14089  // AsAvroSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14090  func (ades AzureDataExplorerSink) AsAvroSink() (*AvroSink, bool) {
 14091  	return nil, false
 14092  }
 14093  
 14094  // AsAzureTableSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14095  func (ades AzureDataExplorerSink) AsAzureTableSink() (*AzureTableSink, bool) {
 14096  	return nil, false
 14097  }
 14098  
 14099  // AsAzureQueueSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14100  func (ades AzureDataExplorerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 14101  	return nil, false
 14102  }
 14103  
 14104  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14105  func (ades AzureDataExplorerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 14106  	return nil, false
 14107  }
 14108  
 14109  // AsAzureMySQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14110  func (ades AzureDataExplorerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 14111  	return nil, false
 14112  }
 14113  
 14114  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14115  func (ades AzureDataExplorerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 14116  	return nil, false
 14117  }
 14118  
 14119  // AsOrcSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14120  func (ades AzureDataExplorerSink) AsOrcSink() (*OrcSink, bool) {
 14121  	return nil, false
 14122  }
 14123  
 14124  // AsJSONSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14125  func (ades AzureDataExplorerSink) AsJSONSink() (*JSONSink, bool) {
 14126  	return nil, false
 14127  }
 14128  
 14129  // AsDelimitedTextSink is the BasicCopySink implementation for AzureDataExplorerSink.
 14130  func (ades AzureDataExplorerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 14131  	return nil, false
 14132  }
 14133  
 14134  // AsCopySink is the BasicCopySink implementation for AzureDataExplorerSink.
 14135  func (ades AzureDataExplorerSink) AsCopySink() (*CopySink, bool) {
 14136  	return nil, false
 14137  }
 14138  
 14139  // AsBasicCopySink is the BasicCopySink implementation for AzureDataExplorerSink.
 14140  func (ades AzureDataExplorerSink) AsBasicCopySink() (BasicCopySink, bool) {
 14141  	return &ades, true
 14142  }
 14143  
 14144  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSink struct.
 14145  func (ades *AzureDataExplorerSink) UnmarshalJSON(body []byte) error {
 14146  	var m map[string]*json.RawMessage
 14147  	err := json.Unmarshal(body, &m)
 14148  	if err != nil {
 14149  		return err
 14150  	}
 14151  	for k, v := range m {
 14152  		switch k {
 14153  		case "ingestionMappingName":
 14154  			if v != nil {
 14155  				var ingestionMappingName interface{}
 14156  				err = json.Unmarshal(*v, &ingestionMappingName)
 14157  				if err != nil {
 14158  					return err
 14159  				}
 14160  				ades.IngestionMappingName = ingestionMappingName
 14161  			}
 14162  		case "ingestionMappingAsJson":
 14163  			if v != nil {
 14164  				var ingestionMappingAsJSON interface{}
 14165  				err = json.Unmarshal(*v, &ingestionMappingAsJSON)
 14166  				if err != nil {
 14167  					return err
 14168  				}
 14169  				ades.IngestionMappingAsJSON = ingestionMappingAsJSON
 14170  			}
 14171  		case "flushImmediately":
 14172  			if v != nil {
 14173  				var flushImmediately interface{}
 14174  				err = json.Unmarshal(*v, &flushImmediately)
 14175  				if err != nil {
 14176  					return err
 14177  				}
 14178  				ades.FlushImmediately = flushImmediately
 14179  			}
 14180  		default:
 14181  			if v != nil {
 14182  				var additionalProperties interface{}
 14183  				err = json.Unmarshal(*v, &additionalProperties)
 14184  				if err != nil {
 14185  					return err
 14186  				}
 14187  				if ades.AdditionalProperties == nil {
 14188  					ades.AdditionalProperties = make(map[string]interface{})
 14189  				}
 14190  				ades.AdditionalProperties[k] = additionalProperties
 14191  			}
 14192  		case "writeBatchSize":
 14193  			if v != nil {
 14194  				var writeBatchSize interface{}
 14195  				err = json.Unmarshal(*v, &writeBatchSize)
 14196  				if err != nil {
 14197  					return err
 14198  				}
 14199  				ades.WriteBatchSize = writeBatchSize
 14200  			}
 14201  		case "writeBatchTimeout":
 14202  			if v != nil {
 14203  				var writeBatchTimeout interface{}
 14204  				err = json.Unmarshal(*v, &writeBatchTimeout)
 14205  				if err != nil {
 14206  					return err
 14207  				}
 14208  				ades.WriteBatchTimeout = writeBatchTimeout
 14209  			}
 14210  		case "sinkRetryCount":
 14211  			if v != nil {
 14212  				var sinkRetryCount interface{}
 14213  				err = json.Unmarshal(*v, &sinkRetryCount)
 14214  				if err != nil {
 14215  					return err
 14216  				}
 14217  				ades.SinkRetryCount = sinkRetryCount
 14218  			}
 14219  		case "sinkRetryWait":
 14220  			if v != nil {
 14221  				var sinkRetryWait interface{}
 14222  				err = json.Unmarshal(*v, &sinkRetryWait)
 14223  				if err != nil {
 14224  					return err
 14225  				}
 14226  				ades.SinkRetryWait = sinkRetryWait
 14227  			}
 14228  		case "maxConcurrentConnections":
 14229  			if v != nil {
 14230  				var maxConcurrentConnections interface{}
 14231  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 14232  				if err != nil {
 14233  					return err
 14234  				}
 14235  				ades.MaxConcurrentConnections = maxConcurrentConnections
 14236  			}
 14237  		case "type":
 14238  			if v != nil {
 14239  				var typeVar TypeBasicCopySink
 14240  				err = json.Unmarshal(*v, &typeVar)
 14241  				if err != nil {
 14242  					return err
 14243  				}
 14244  				ades.Type = typeVar
 14245  			}
 14246  		}
 14247  	}
 14248  
 14249  	return nil
 14250  }
 14251  
 14252  // AzureDataExplorerSource a copy activity Azure Data Explorer (Kusto) source.
 14253  type AzureDataExplorerSource struct {
 14254  	// Query - Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string).
 14255  	Query interface{} `json:"query,omitempty"`
 14256  	// NoTruncation - The name of the Boolean option that controls whether truncation is applied to result-sets that go beyond a certain row-count limit.
 14257  	NoTruncation interface{} `json:"noTruncation,omitempty"`
 14258  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..
 14259  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 14260  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 14261  	AdditionalProperties map[string]interface{} `json:""`
 14262  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 14263  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 14264  	// 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])).
 14265  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 14266  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 14267  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 14268  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 14269  	Type TypeBasicCopySource `json:"type,omitempty"`
 14270  }
 14271  
 14272  // MarshalJSON is the custom marshaler for AzureDataExplorerSource.
 14273  func (ades AzureDataExplorerSource) MarshalJSON() ([]byte, error) {
 14274  	ades.Type = TypeAzureDataExplorerSource
 14275  	objectMap := make(map[string]interface{})
 14276  	if ades.Query != nil {
 14277  		objectMap["query"] = ades.Query
 14278  	}
 14279  	if ades.NoTruncation != nil {
 14280  		objectMap["noTruncation"] = ades.NoTruncation
 14281  	}
 14282  	if ades.QueryTimeout != nil {
 14283  		objectMap["queryTimeout"] = ades.QueryTimeout
 14284  	}
 14285  	if ades.SourceRetryCount != nil {
 14286  		objectMap["sourceRetryCount"] = ades.SourceRetryCount
 14287  	}
 14288  	if ades.SourceRetryWait != nil {
 14289  		objectMap["sourceRetryWait"] = ades.SourceRetryWait
 14290  	}
 14291  	if ades.MaxConcurrentConnections != nil {
 14292  		objectMap["maxConcurrentConnections"] = ades.MaxConcurrentConnections
 14293  	}
 14294  	if ades.Type != "" {
 14295  		objectMap["type"] = ades.Type
 14296  	}
 14297  	for k, v := range ades.AdditionalProperties {
 14298  		objectMap[k] = v
 14299  	}
 14300  	return json.Marshal(objectMap)
 14301  }
 14302  
 14303  // AsHTTPSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14304  func (ades AzureDataExplorerSource) AsHTTPSource() (*HTTPSource, bool) {
 14305  	return nil, false
 14306  }
 14307  
 14308  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14309  func (ades AzureDataExplorerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 14310  	return nil, false
 14311  }
 14312  
 14313  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14314  func (ades AzureDataExplorerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 14315  	return nil, false
 14316  }
 14317  
 14318  // AsOffice365Source is the BasicCopySource implementation for AzureDataExplorerSource.
 14319  func (ades AzureDataExplorerSource) AsOffice365Source() (*Office365Source, bool) {
 14320  	return nil, false
 14321  }
 14322  
 14323  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataExplorerSource.
 14324  func (ades AzureDataExplorerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 14325  	return nil, false
 14326  }
 14327  
 14328  // AsMongoDbV2Source is the BasicCopySource implementation for AzureDataExplorerSource.
 14329  func (ades AzureDataExplorerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 14330  	return nil, false
 14331  }
 14332  
 14333  // AsMongoDbSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14334  func (ades AzureDataExplorerSource) AsMongoDbSource() (*MongoDbSource, bool) {
 14335  	return nil, false
 14336  }
 14337  
 14338  // AsWebSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14339  func (ades AzureDataExplorerSource) AsWebSource() (*WebSource, bool) {
 14340  	return nil, false
 14341  }
 14342  
 14343  // AsOracleSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14344  func (ades AzureDataExplorerSource) AsOracleSource() (*OracleSource, bool) {
 14345  	return nil, false
 14346  }
 14347  
 14348  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14349  func (ades AzureDataExplorerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 14350  	return &ades, true
 14351  }
 14352  
 14353  // AsHdfsSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14354  func (ades AzureDataExplorerSource) AsHdfsSource() (*HdfsSource, bool) {
 14355  	return nil, false
 14356  }
 14357  
 14358  // AsFileSystemSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14359  func (ades AzureDataExplorerSource) AsFileSystemSource() (*FileSystemSource, bool) {
 14360  	return nil, false
 14361  }
 14362  
 14363  // AsRestSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14364  func (ades AzureDataExplorerSource) AsRestSource() (*RestSource, bool) {
 14365  	return nil, false
 14366  }
 14367  
 14368  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14369  func (ades AzureDataExplorerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 14370  	return nil, false
 14371  }
 14372  
 14373  // AsODataSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14374  func (ades AzureDataExplorerSource) AsODataSource() (*ODataSource, bool) {
 14375  	return nil, false
 14376  }
 14377  
 14378  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14379  func (ades AzureDataExplorerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 14380  	return nil, false
 14381  }
 14382  
 14383  // AsRelationalSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14384  func (ades AzureDataExplorerSource) AsRelationalSource() (*RelationalSource, bool) {
 14385  	return nil, false
 14386  }
 14387  
 14388  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14389  func (ades AzureDataExplorerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 14390  	return nil, false
 14391  }
 14392  
 14393  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14394  func (ades AzureDataExplorerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 14395  	return nil, false
 14396  }
 14397  
 14398  // AsDynamicsSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14399  func (ades AzureDataExplorerSource) AsDynamicsSource() (*DynamicsSource, bool) {
 14400  	return nil, false
 14401  }
 14402  
 14403  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataExplorerSource.
 14404  func (ades AzureDataExplorerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 14405  	return nil, false
 14406  }
 14407  
 14408  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14409  func (ades AzureDataExplorerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 14410  	return nil, false
 14411  }
 14412  
 14413  // AsBlobSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14414  func (ades AzureDataExplorerSource) AsBlobSource() (*BlobSource, bool) {
 14415  	return nil, false
 14416  }
 14417  
 14418  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14419  func (ades AzureDataExplorerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 14420  	return nil, false
 14421  }
 14422  
 14423  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14424  func (ades AzureDataExplorerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 14425  	return nil, false
 14426  }
 14427  
 14428  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14429  func (ades AzureDataExplorerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 14430  	return nil, false
 14431  }
 14432  
 14433  // AsDynamicsAXSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14434  func (ades AzureDataExplorerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 14435  	return nil, false
 14436  }
 14437  
 14438  // AsResponsysSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14439  func (ades AzureDataExplorerSource) AsResponsysSource() (*ResponsysSource, bool) {
 14440  	return nil, false
 14441  }
 14442  
 14443  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14444  func (ades AzureDataExplorerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 14445  	return nil, false
 14446  }
 14447  
 14448  // AsVerticaSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14449  func (ades AzureDataExplorerSource) AsVerticaSource() (*VerticaSource, bool) {
 14450  	return nil, false
 14451  }
 14452  
 14453  // AsNetezzaSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14454  func (ades AzureDataExplorerSource) AsNetezzaSource() (*NetezzaSource, bool) {
 14455  	return nil, false
 14456  }
 14457  
 14458  // AsZohoSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14459  func (ades AzureDataExplorerSource) AsZohoSource() (*ZohoSource, bool) {
 14460  	return nil, false
 14461  }
 14462  
 14463  // AsXeroSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14464  func (ades AzureDataExplorerSource) AsXeroSource() (*XeroSource, bool) {
 14465  	return nil, false
 14466  }
 14467  
 14468  // AsSquareSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14469  func (ades AzureDataExplorerSource) AsSquareSource() (*SquareSource, bool) {
 14470  	return nil, false
 14471  }
 14472  
 14473  // AsSparkSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14474  func (ades AzureDataExplorerSource) AsSparkSource() (*SparkSource, bool) {
 14475  	return nil, false
 14476  }
 14477  
 14478  // AsShopifySource is the BasicCopySource implementation for AzureDataExplorerSource.
 14479  func (ades AzureDataExplorerSource) AsShopifySource() (*ShopifySource, bool) {
 14480  	return nil, false
 14481  }
 14482  
 14483  // AsServiceNowSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14484  func (ades AzureDataExplorerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 14485  	return nil, false
 14486  }
 14487  
 14488  // AsQuickBooksSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14489  func (ades AzureDataExplorerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 14490  	return nil, false
 14491  }
 14492  
 14493  // AsPrestoSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14494  func (ades AzureDataExplorerSource) AsPrestoSource() (*PrestoSource, bool) {
 14495  	return nil, false
 14496  }
 14497  
 14498  // AsPhoenixSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14499  func (ades AzureDataExplorerSource) AsPhoenixSource() (*PhoenixSource, bool) {
 14500  	return nil, false
 14501  }
 14502  
 14503  // AsPaypalSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14504  func (ades AzureDataExplorerSource) AsPaypalSource() (*PaypalSource, bool) {
 14505  	return nil, false
 14506  }
 14507  
 14508  // AsMarketoSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14509  func (ades AzureDataExplorerSource) AsMarketoSource() (*MarketoSource, bool) {
 14510  	return nil, false
 14511  }
 14512  
 14513  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14514  func (ades AzureDataExplorerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 14515  	return nil, false
 14516  }
 14517  
 14518  // AsMariaDBSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14519  func (ades AzureDataExplorerSource) AsMariaDBSource() (*MariaDBSource, bool) {
 14520  	return nil, false
 14521  }
 14522  
 14523  // AsMagentoSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14524  func (ades AzureDataExplorerSource) AsMagentoSource() (*MagentoSource, bool) {
 14525  	return nil, false
 14526  }
 14527  
 14528  // AsJiraSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14529  func (ades AzureDataExplorerSource) AsJiraSource() (*JiraSource, bool) {
 14530  	return nil, false
 14531  }
 14532  
 14533  // AsImpalaSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14534  func (ades AzureDataExplorerSource) AsImpalaSource() (*ImpalaSource, bool) {
 14535  	return nil, false
 14536  }
 14537  
 14538  // AsHubspotSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14539  func (ades AzureDataExplorerSource) AsHubspotSource() (*HubspotSource, bool) {
 14540  	return nil, false
 14541  }
 14542  
 14543  // AsHiveSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14544  func (ades AzureDataExplorerSource) AsHiveSource() (*HiveSource, bool) {
 14545  	return nil, false
 14546  }
 14547  
 14548  // AsHBaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14549  func (ades AzureDataExplorerSource) AsHBaseSource() (*HBaseSource, bool) {
 14550  	return nil, false
 14551  }
 14552  
 14553  // AsGreenplumSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14554  func (ades AzureDataExplorerSource) AsGreenplumSource() (*GreenplumSource, bool) {
 14555  	return nil, false
 14556  }
 14557  
 14558  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataExplorerSource.
 14559  func (ades AzureDataExplorerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 14560  	return nil, false
 14561  }
 14562  
 14563  // AsEloquaSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14564  func (ades AzureDataExplorerSource) AsEloquaSource() (*EloquaSource, bool) {
 14565  	return nil, false
 14566  }
 14567  
 14568  // AsDrillSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14569  func (ades AzureDataExplorerSource) AsDrillSource() (*DrillSource, bool) {
 14570  	return nil, false
 14571  }
 14572  
 14573  // AsCouchbaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14574  func (ades AzureDataExplorerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 14575  	return nil, false
 14576  }
 14577  
 14578  // AsConcurSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14579  func (ades AzureDataExplorerSource) AsConcurSource() (*ConcurSource, bool) {
 14580  	return nil, false
 14581  }
 14582  
 14583  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14584  func (ades AzureDataExplorerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 14585  	return nil, false
 14586  }
 14587  
 14588  // AsAmazonMWSSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14589  func (ades AzureDataExplorerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 14590  	return nil, false
 14591  }
 14592  
 14593  // AsCassandraSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14594  func (ades AzureDataExplorerSource) AsCassandraSource() (*CassandraSource, bool) {
 14595  	return nil, false
 14596  }
 14597  
 14598  // AsTeradataSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14599  func (ades AzureDataExplorerSource) AsTeradataSource() (*TeradataSource, bool) {
 14600  	return nil, false
 14601  }
 14602  
 14603  // AsAzureMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14604  func (ades AzureDataExplorerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 14605  	return nil, false
 14606  }
 14607  
 14608  // AsSQLDWSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14609  func (ades AzureDataExplorerSource) AsSQLDWSource() (*SQLDWSource, bool) {
 14610  	return nil, false
 14611  }
 14612  
 14613  // AsSQLMISource is the BasicCopySource implementation for AzureDataExplorerSource.
 14614  func (ades AzureDataExplorerSource) AsSQLMISource() (*SQLMISource, bool) {
 14615  	return nil, false
 14616  }
 14617  
 14618  // AsAzureSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14619  func (ades AzureDataExplorerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 14620  	return nil, false
 14621  }
 14622  
 14623  // AsSQLServerSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14624  func (ades AzureDataExplorerSource) AsSQLServerSource() (*SQLServerSource, bool) {
 14625  	return nil, false
 14626  }
 14627  
 14628  // AsSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14629  func (ades AzureDataExplorerSource) AsSQLSource() (*SQLSource, bool) {
 14630  	return nil, false
 14631  }
 14632  
 14633  // AsSapTableSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14634  func (ades AzureDataExplorerSource) AsSapTableSource() (*SapTableSource, bool) {
 14635  	return nil, false
 14636  }
 14637  
 14638  // AsSapOpenHubSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14639  func (ades AzureDataExplorerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 14640  	return nil, false
 14641  }
 14642  
 14643  // AsSapHanaSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14644  func (ades AzureDataExplorerSource) AsSapHanaSource() (*SapHanaSource, bool) {
 14645  	return nil, false
 14646  }
 14647  
 14648  // AsSapEccSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14649  func (ades AzureDataExplorerSource) AsSapEccSource() (*SapEccSource, bool) {
 14650  	return nil, false
 14651  }
 14652  
 14653  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14654  func (ades AzureDataExplorerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 14655  	return nil, false
 14656  }
 14657  
 14658  // AsSalesforceSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14659  func (ades AzureDataExplorerSource) AsSalesforceSource() (*SalesforceSource, bool) {
 14660  	return nil, false
 14661  }
 14662  
 14663  // AsSapBwSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14664  func (ades AzureDataExplorerSource) AsSapBwSource() (*SapBwSource, bool) {
 14665  	return nil, false
 14666  }
 14667  
 14668  // AsSybaseSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14669  func (ades AzureDataExplorerSource) AsSybaseSource() (*SybaseSource, bool) {
 14670  	return nil, false
 14671  }
 14672  
 14673  // AsPostgreSQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14674  func (ades AzureDataExplorerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 14675  	return nil, false
 14676  }
 14677  
 14678  // AsMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14679  func (ades AzureDataExplorerSource) AsMySQLSource() (*MySQLSource, bool) {
 14680  	return nil, false
 14681  }
 14682  
 14683  // AsOdbcSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14684  func (ades AzureDataExplorerSource) AsOdbcSource() (*OdbcSource, bool) {
 14685  	return nil, false
 14686  }
 14687  
 14688  // AsDb2Source is the BasicCopySource implementation for AzureDataExplorerSource.
 14689  func (ades AzureDataExplorerSource) AsDb2Source() (*Db2Source, bool) {
 14690  	return nil, false
 14691  }
 14692  
 14693  // AsInformixSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14694  func (ades AzureDataExplorerSource) AsInformixSource() (*InformixSource, bool) {
 14695  	return nil, false
 14696  }
 14697  
 14698  // AsAzureTableSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14699  func (ades AzureDataExplorerSource) AsAzureTableSource() (*AzureTableSource, bool) {
 14700  	return nil, false
 14701  }
 14702  
 14703  // AsTabularSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14704  func (ades AzureDataExplorerSource) AsTabularSource() (*TabularSource, bool) {
 14705  	return nil, false
 14706  }
 14707  
 14708  // AsBasicTabularSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14709  func (ades AzureDataExplorerSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 14710  	return nil, false
 14711  }
 14712  
 14713  // AsBinarySource is the BasicCopySource implementation for AzureDataExplorerSource.
 14714  func (ades AzureDataExplorerSource) AsBinarySource() (*BinarySource, bool) {
 14715  	return nil, false
 14716  }
 14717  
 14718  // AsOrcSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14719  func (ades AzureDataExplorerSource) AsOrcSource() (*OrcSource, bool) {
 14720  	return nil, false
 14721  }
 14722  
 14723  // AsJSONSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14724  func (ades AzureDataExplorerSource) AsJSONSource() (*JSONSource, bool) {
 14725  	return nil, false
 14726  }
 14727  
 14728  // AsDelimitedTextSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14729  func (ades AzureDataExplorerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 14730  	return nil, false
 14731  }
 14732  
 14733  // AsParquetSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14734  func (ades AzureDataExplorerSource) AsParquetSource() (*ParquetSource, bool) {
 14735  	return nil, false
 14736  }
 14737  
 14738  // AsAvroSource is the BasicCopySource implementation for AzureDataExplorerSource.
 14739  func (ades AzureDataExplorerSource) AsAvroSource() (*AvroSource, bool) {
 14740  	return nil, false
 14741  }
 14742  
 14743  // AsCopySource is the BasicCopySource implementation for AzureDataExplorerSource.
 14744  func (ades AzureDataExplorerSource) AsCopySource() (*CopySource, bool) {
 14745  	return nil, false
 14746  }
 14747  
 14748  // AsBasicCopySource is the BasicCopySource implementation for AzureDataExplorerSource.
 14749  func (ades AzureDataExplorerSource) AsBasicCopySource() (BasicCopySource, bool) {
 14750  	return &ades, true
 14751  }
 14752  
 14753  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerSource struct.
 14754  func (ades *AzureDataExplorerSource) UnmarshalJSON(body []byte) error {
 14755  	var m map[string]*json.RawMessage
 14756  	err := json.Unmarshal(body, &m)
 14757  	if err != nil {
 14758  		return err
 14759  	}
 14760  	for k, v := range m {
 14761  		switch k {
 14762  		case "query":
 14763  			if v != nil {
 14764  				var query interface{}
 14765  				err = json.Unmarshal(*v, &query)
 14766  				if err != nil {
 14767  					return err
 14768  				}
 14769  				ades.Query = query
 14770  			}
 14771  		case "noTruncation":
 14772  			if v != nil {
 14773  				var noTruncation interface{}
 14774  				err = json.Unmarshal(*v, &noTruncation)
 14775  				if err != nil {
 14776  					return err
 14777  				}
 14778  				ades.NoTruncation = noTruncation
 14779  			}
 14780  		case "queryTimeout":
 14781  			if v != nil {
 14782  				var queryTimeout interface{}
 14783  				err = json.Unmarshal(*v, &queryTimeout)
 14784  				if err != nil {
 14785  					return err
 14786  				}
 14787  				ades.QueryTimeout = queryTimeout
 14788  			}
 14789  		default:
 14790  			if v != nil {
 14791  				var additionalProperties interface{}
 14792  				err = json.Unmarshal(*v, &additionalProperties)
 14793  				if err != nil {
 14794  					return err
 14795  				}
 14796  				if ades.AdditionalProperties == nil {
 14797  					ades.AdditionalProperties = make(map[string]interface{})
 14798  				}
 14799  				ades.AdditionalProperties[k] = additionalProperties
 14800  			}
 14801  		case "sourceRetryCount":
 14802  			if v != nil {
 14803  				var sourceRetryCount interface{}
 14804  				err = json.Unmarshal(*v, &sourceRetryCount)
 14805  				if err != nil {
 14806  					return err
 14807  				}
 14808  				ades.SourceRetryCount = sourceRetryCount
 14809  			}
 14810  		case "sourceRetryWait":
 14811  			if v != nil {
 14812  				var sourceRetryWait interface{}
 14813  				err = json.Unmarshal(*v, &sourceRetryWait)
 14814  				if err != nil {
 14815  					return err
 14816  				}
 14817  				ades.SourceRetryWait = sourceRetryWait
 14818  			}
 14819  		case "maxConcurrentConnections":
 14820  			if v != nil {
 14821  				var maxConcurrentConnections interface{}
 14822  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 14823  				if err != nil {
 14824  					return err
 14825  				}
 14826  				ades.MaxConcurrentConnections = maxConcurrentConnections
 14827  			}
 14828  		case "type":
 14829  			if v != nil {
 14830  				var typeVar TypeBasicCopySource
 14831  				err = json.Unmarshal(*v, &typeVar)
 14832  				if err != nil {
 14833  					return err
 14834  				}
 14835  				ades.Type = typeVar
 14836  			}
 14837  		}
 14838  	}
 14839  
 14840  	return nil
 14841  }
 14842  
 14843  // AzureDataExplorerTableDataset the Azure Data Explorer (Kusto) dataset.
 14844  type AzureDataExplorerTableDataset struct {
 14845  	// AzureDataExplorerDatasetTypeProperties - Azure Data Explorer (Kusto) dataset properties.
 14846  	*AzureDataExplorerDatasetTypeProperties `json:"typeProperties,omitempty"`
 14847  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 14848  	AdditionalProperties map[string]interface{} `json:""`
 14849  	// Description - Dataset description.
 14850  	Description *string `json:"description,omitempty"`
 14851  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 14852  	Structure interface{} `json:"structure,omitempty"`
 14853  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 14854  	Schema interface{} `json:"schema,omitempty"`
 14855  	// LinkedServiceName - Linked service reference.
 14856  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 14857  	// Parameters - Parameters for dataset.
 14858  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 14859  	// Annotations - List of tags that can be used for describing the Dataset.
 14860  	Annotations *[]interface{} `json:"annotations,omitempty"`
 14861  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 14862  	Folder *DatasetFolder `json:"folder,omitempty"`
 14863  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 14864  	Type TypeBasicDataset `json:"type,omitempty"`
 14865  }
 14866  
 14867  // MarshalJSON is the custom marshaler for AzureDataExplorerTableDataset.
 14868  func (adetd AzureDataExplorerTableDataset) MarshalJSON() ([]byte, error) {
 14869  	adetd.Type = TypeAzureDataExplorerTable
 14870  	objectMap := make(map[string]interface{})
 14871  	if adetd.AzureDataExplorerDatasetTypeProperties != nil {
 14872  		objectMap["typeProperties"] = adetd.AzureDataExplorerDatasetTypeProperties
 14873  	}
 14874  	if adetd.Description != nil {
 14875  		objectMap["description"] = adetd.Description
 14876  	}
 14877  	if adetd.Structure != nil {
 14878  		objectMap["structure"] = adetd.Structure
 14879  	}
 14880  	if adetd.Schema != nil {
 14881  		objectMap["schema"] = adetd.Schema
 14882  	}
 14883  	if adetd.LinkedServiceName != nil {
 14884  		objectMap["linkedServiceName"] = adetd.LinkedServiceName
 14885  	}
 14886  	if adetd.Parameters != nil {
 14887  		objectMap["parameters"] = adetd.Parameters
 14888  	}
 14889  	if adetd.Annotations != nil {
 14890  		objectMap["annotations"] = adetd.Annotations
 14891  	}
 14892  	if adetd.Folder != nil {
 14893  		objectMap["folder"] = adetd.Folder
 14894  	}
 14895  	if adetd.Type != "" {
 14896  		objectMap["type"] = adetd.Type
 14897  	}
 14898  	for k, v := range adetd.AdditionalProperties {
 14899  		objectMap[k] = v
 14900  	}
 14901  	return json.Marshal(objectMap)
 14902  }
 14903  
 14904  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14905  func (adetd AzureDataExplorerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 14906  	return nil, false
 14907  }
 14908  
 14909  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14910  func (adetd AzureDataExplorerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 14911  	return &adetd, true
 14912  }
 14913  
 14914  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14915  func (adetd AzureDataExplorerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 14916  	return nil, false
 14917  }
 14918  
 14919  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14920  func (adetd AzureDataExplorerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 14921  	return nil, false
 14922  }
 14923  
 14924  // AsResponsysObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14925  func (adetd AzureDataExplorerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 14926  	return nil, false
 14927  }
 14928  
 14929  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14930  func (adetd AzureDataExplorerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 14931  	return nil, false
 14932  }
 14933  
 14934  // AsVerticaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14935  func (adetd AzureDataExplorerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 14936  	return nil, false
 14937  }
 14938  
 14939  // AsNetezzaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14940  func (adetd AzureDataExplorerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 14941  	return nil, false
 14942  }
 14943  
 14944  // AsZohoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14945  func (adetd AzureDataExplorerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 14946  	return nil, false
 14947  }
 14948  
 14949  // AsXeroObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14950  func (adetd AzureDataExplorerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 14951  	return nil, false
 14952  }
 14953  
 14954  // AsSquareObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14955  func (adetd AzureDataExplorerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 14956  	return nil, false
 14957  }
 14958  
 14959  // AsSparkObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14960  func (adetd AzureDataExplorerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 14961  	return nil, false
 14962  }
 14963  
 14964  // AsShopifyObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14965  func (adetd AzureDataExplorerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 14966  	return nil, false
 14967  }
 14968  
 14969  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14970  func (adetd AzureDataExplorerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 14971  	return nil, false
 14972  }
 14973  
 14974  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14975  func (adetd AzureDataExplorerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 14976  	return nil, false
 14977  }
 14978  
 14979  // AsPrestoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14980  func (adetd AzureDataExplorerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 14981  	return nil, false
 14982  }
 14983  
 14984  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14985  func (adetd AzureDataExplorerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 14986  	return nil, false
 14987  }
 14988  
 14989  // AsPaypalObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14990  func (adetd AzureDataExplorerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 14991  	return nil, false
 14992  }
 14993  
 14994  // AsMarketoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 14995  func (adetd AzureDataExplorerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 14996  	return nil, false
 14997  }
 14998  
 14999  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15000  func (adetd AzureDataExplorerTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 15001  	return nil, false
 15002  }
 15003  
 15004  // AsMariaDBTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15005  func (adetd AzureDataExplorerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 15006  	return nil, false
 15007  }
 15008  
 15009  // AsMagentoObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15010  func (adetd AzureDataExplorerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 15011  	return nil, false
 15012  }
 15013  
 15014  // AsJiraObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15015  func (adetd AzureDataExplorerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 15016  	return nil, false
 15017  }
 15018  
 15019  // AsImpalaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15020  func (adetd AzureDataExplorerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 15021  	return nil, false
 15022  }
 15023  
 15024  // AsHubspotObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15025  func (adetd AzureDataExplorerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 15026  	return nil, false
 15027  }
 15028  
 15029  // AsHiveObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15030  func (adetd AzureDataExplorerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 15031  	return nil, false
 15032  }
 15033  
 15034  // AsHBaseObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15035  func (adetd AzureDataExplorerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 15036  	return nil, false
 15037  }
 15038  
 15039  // AsGreenplumTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15040  func (adetd AzureDataExplorerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 15041  	return nil, false
 15042  }
 15043  
 15044  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15045  func (adetd AzureDataExplorerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 15046  	return nil, false
 15047  }
 15048  
 15049  // AsEloquaObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15050  func (adetd AzureDataExplorerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 15051  	return nil, false
 15052  }
 15053  
 15054  // AsDrillTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15055  func (adetd AzureDataExplorerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 15056  	return nil, false
 15057  }
 15058  
 15059  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15060  func (adetd AzureDataExplorerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 15061  	return nil, false
 15062  }
 15063  
 15064  // AsConcurObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15065  func (adetd AzureDataExplorerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 15066  	return nil, false
 15067  }
 15068  
 15069  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15070  func (adetd AzureDataExplorerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 15071  	return nil, false
 15072  }
 15073  
 15074  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15075  func (adetd AzureDataExplorerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 15076  	return nil, false
 15077  }
 15078  
 15079  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15080  func (adetd AzureDataExplorerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 15081  	return nil, false
 15082  }
 15083  
 15084  // AsWebTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15085  func (adetd AzureDataExplorerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 15086  	return nil, false
 15087  }
 15088  
 15089  // AsSapTableResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15090  func (adetd AzureDataExplorerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 15091  	return nil, false
 15092  }
 15093  
 15094  // AsRestResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15095  func (adetd AzureDataExplorerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 15096  	return nil, false
 15097  }
 15098  
 15099  // AsSQLServerTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15100  func (adetd AzureDataExplorerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 15101  	return nil, false
 15102  }
 15103  
 15104  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15105  func (adetd AzureDataExplorerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 15106  	return nil, false
 15107  }
 15108  
 15109  // AsSapHanaTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15110  func (adetd AzureDataExplorerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 15111  	return nil, false
 15112  }
 15113  
 15114  // AsSapEccResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15115  func (adetd AzureDataExplorerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 15116  	return nil, false
 15117  }
 15118  
 15119  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15120  func (adetd AzureDataExplorerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 15121  	return nil, false
 15122  }
 15123  
 15124  // AsSapBwCubeDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15125  func (adetd AzureDataExplorerTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 15126  	return nil, false
 15127  }
 15128  
 15129  // AsSybaseTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15130  func (adetd AzureDataExplorerTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 15131  	return nil, false
 15132  }
 15133  
 15134  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15135  func (adetd AzureDataExplorerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 15136  	return nil, false
 15137  }
 15138  
 15139  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15140  func (adetd AzureDataExplorerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 15141  	return nil, false
 15142  }
 15143  
 15144  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15145  func (adetd AzureDataExplorerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 15146  	return nil, false
 15147  }
 15148  
 15149  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15150  func (adetd AzureDataExplorerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 15151  	return nil, false
 15152  }
 15153  
 15154  // AsMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15155  func (adetd AzureDataExplorerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 15156  	return nil, false
 15157  }
 15158  
 15159  // AsOdbcTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15160  func (adetd AzureDataExplorerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 15161  	return nil, false
 15162  }
 15163  
 15164  // AsInformixTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15165  func (adetd AzureDataExplorerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 15166  	return nil, false
 15167  }
 15168  
 15169  // AsRelationalTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15170  func (adetd AzureDataExplorerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 15171  	return nil, false
 15172  }
 15173  
 15174  // AsDb2TableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15175  func (adetd AzureDataExplorerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 15176  	return nil, false
 15177  }
 15178  
 15179  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15180  func (adetd AzureDataExplorerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 15181  	return nil, false
 15182  }
 15183  
 15184  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15185  func (adetd AzureDataExplorerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 15186  	return nil, false
 15187  }
 15188  
 15189  // AsTeradataTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15190  func (adetd AzureDataExplorerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 15191  	return nil, false
 15192  }
 15193  
 15194  // AsOracleTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15195  func (adetd AzureDataExplorerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 15196  	return nil, false
 15197  }
 15198  
 15199  // AsODataResourceDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15200  func (adetd AzureDataExplorerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 15201  	return nil, false
 15202  }
 15203  
 15204  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15205  func (adetd AzureDataExplorerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 15206  	return nil, false
 15207  }
 15208  
 15209  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15210  func (adetd AzureDataExplorerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 15211  	return nil, false
 15212  }
 15213  
 15214  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15215  func (adetd AzureDataExplorerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 15216  	return nil, false
 15217  }
 15218  
 15219  // AsOffice365Dataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15220  func (adetd AzureDataExplorerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 15221  	return nil, false
 15222  }
 15223  
 15224  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15225  func (adetd AzureDataExplorerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 15226  	return nil, false
 15227  }
 15228  
 15229  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15230  func (adetd AzureDataExplorerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 15231  	return nil, false
 15232  }
 15233  
 15234  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15235  func (adetd AzureDataExplorerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 15236  	return nil, false
 15237  }
 15238  
 15239  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15240  func (adetd AzureDataExplorerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 15241  	return nil, false
 15242  }
 15243  
 15244  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15245  func (adetd AzureDataExplorerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 15246  	return nil, false
 15247  }
 15248  
 15249  // AsCustomDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15250  func (adetd AzureDataExplorerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 15251  	return nil, false
 15252  }
 15253  
 15254  // AsCassandraTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15255  func (adetd AzureDataExplorerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 15256  	return nil, false
 15257  }
 15258  
 15259  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15260  func (adetd AzureDataExplorerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 15261  	return nil, false
 15262  }
 15263  
 15264  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15265  func (adetd AzureDataExplorerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 15266  	return nil, false
 15267  }
 15268  
 15269  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15270  func (adetd AzureDataExplorerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 15271  	return nil, false
 15272  }
 15273  
 15274  // AsAzureTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15275  func (adetd AzureDataExplorerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 15276  	return nil, false
 15277  }
 15278  
 15279  // AsBinaryDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15280  func (adetd AzureDataExplorerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 15281  	return nil, false
 15282  }
 15283  
 15284  // AsOrcDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15285  func (adetd AzureDataExplorerTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 15286  	return nil, false
 15287  }
 15288  
 15289  // AsJSONDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15290  func (adetd AzureDataExplorerTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 15291  	return nil, false
 15292  }
 15293  
 15294  // AsDelimitedTextDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15295  func (adetd AzureDataExplorerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 15296  	return nil, false
 15297  }
 15298  
 15299  // AsParquetDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15300  func (adetd AzureDataExplorerTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 15301  	return nil, false
 15302  }
 15303  
 15304  // AsAvroDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15305  func (adetd AzureDataExplorerTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 15306  	return nil, false
 15307  }
 15308  
 15309  // AsDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15310  func (adetd AzureDataExplorerTableDataset) AsDataset() (*Dataset, bool) {
 15311  	return nil, false
 15312  }
 15313  
 15314  // AsBasicDataset is the BasicDataset implementation for AzureDataExplorerTableDataset.
 15315  func (adetd AzureDataExplorerTableDataset) AsBasicDataset() (BasicDataset, bool) {
 15316  	return &adetd, true
 15317  }
 15318  
 15319  // UnmarshalJSON is the custom unmarshaler for AzureDataExplorerTableDataset struct.
 15320  func (adetd *AzureDataExplorerTableDataset) UnmarshalJSON(body []byte) error {
 15321  	var m map[string]*json.RawMessage
 15322  	err := json.Unmarshal(body, &m)
 15323  	if err != nil {
 15324  		return err
 15325  	}
 15326  	for k, v := range m {
 15327  		switch k {
 15328  		case "typeProperties":
 15329  			if v != nil {
 15330  				var azureDataExplorerDatasetTypeProperties AzureDataExplorerDatasetTypeProperties
 15331  				err = json.Unmarshal(*v, &azureDataExplorerDatasetTypeProperties)
 15332  				if err != nil {
 15333  					return err
 15334  				}
 15335  				adetd.AzureDataExplorerDatasetTypeProperties = &azureDataExplorerDatasetTypeProperties
 15336  			}
 15337  		default:
 15338  			if v != nil {
 15339  				var additionalProperties interface{}
 15340  				err = json.Unmarshal(*v, &additionalProperties)
 15341  				if err != nil {
 15342  					return err
 15343  				}
 15344  				if adetd.AdditionalProperties == nil {
 15345  					adetd.AdditionalProperties = make(map[string]interface{})
 15346  				}
 15347  				adetd.AdditionalProperties[k] = additionalProperties
 15348  			}
 15349  		case "description":
 15350  			if v != nil {
 15351  				var description string
 15352  				err = json.Unmarshal(*v, &description)
 15353  				if err != nil {
 15354  					return err
 15355  				}
 15356  				adetd.Description = &description
 15357  			}
 15358  		case "structure":
 15359  			if v != nil {
 15360  				var structure interface{}
 15361  				err = json.Unmarshal(*v, &structure)
 15362  				if err != nil {
 15363  					return err
 15364  				}
 15365  				adetd.Structure = structure
 15366  			}
 15367  		case "schema":
 15368  			if v != nil {
 15369  				var schema interface{}
 15370  				err = json.Unmarshal(*v, &schema)
 15371  				if err != nil {
 15372  					return err
 15373  				}
 15374  				adetd.Schema = schema
 15375  			}
 15376  		case "linkedServiceName":
 15377  			if v != nil {
 15378  				var linkedServiceName LinkedServiceReference
 15379  				err = json.Unmarshal(*v, &linkedServiceName)
 15380  				if err != nil {
 15381  					return err
 15382  				}
 15383  				adetd.LinkedServiceName = &linkedServiceName
 15384  			}
 15385  		case "parameters":
 15386  			if v != nil {
 15387  				var parameters map[string]*ParameterSpecification
 15388  				err = json.Unmarshal(*v, &parameters)
 15389  				if err != nil {
 15390  					return err
 15391  				}
 15392  				adetd.Parameters = parameters
 15393  			}
 15394  		case "annotations":
 15395  			if v != nil {
 15396  				var annotations []interface{}
 15397  				err = json.Unmarshal(*v, &annotations)
 15398  				if err != nil {
 15399  					return err
 15400  				}
 15401  				adetd.Annotations = &annotations
 15402  			}
 15403  		case "folder":
 15404  			if v != nil {
 15405  				var folder DatasetFolder
 15406  				err = json.Unmarshal(*v, &folder)
 15407  				if err != nil {
 15408  					return err
 15409  				}
 15410  				adetd.Folder = &folder
 15411  			}
 15412  		case "type":
 15413  			if v != nil {
 15414  				var typeVar TypeBasicDataset
 15415  				err = json.Unmarshal(*v, &typeVar)
 15416  				if err != nil {
 15417  					return err
 15418  				}
 15419  				adetd.Type = typeVar
 15420  			}
 15421  		}
 15422  	}
 15423  
 15424  	return nil
 15425  }
 15426  
 15427  // AzureDataLakeAnalyticsLinkedService azure Data Lake Analytics linked service.
 15428  type AzureDataLakeAnalyticsLinkedService struct {
 15429  	// AzureDataLakeAnalyticsLinkedServiceTypeProperties - Azure Data Lake Analytics linked service properties.
 15430  	*AzureDataLakeAnalyticsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 15431  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 15432  	AdditionalProperties map[string]interface{} `json:""`
 15433  	// ConnectVia - The integration runtime reference.
 15434  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 15435  	// Description - Linked service description.
 15436  	Description *string `json:"description,omitempty"`
 15437  	// Parameters - Parameters for linked service.
 15438  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 15439  	// Annotations - List of tags that can be used for describing the linked service.
 15440  	Annotations *[]interface{} `json:"annotations,omitempty"`
 15441  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 15442  	Type TypeBasicLinkedService `json:"type,omitempty"`
 15443  }
 15444  
 15445  // MarshalJSON is the custom marshaler for AzureDataLakeAnalyticsLinkedService.
 15446  func (adlals AzureDataLakeAnalyticsLinkedService) MarshalJSON() ([]byte, error) {
 15447  	adlals.Type = TypeAzureDataLakeAnalytics
 15448  	objectMap := make(map[string]interface{})
 15449  	if adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties != nil {
 15450  		objectMap["typeProperties"] = adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties
 15451  	}
 15452  	if adlals.ConnectVia != nil {
 15453  		objectMap["connectVia"] = adlals.ConnectVia
 15454  	}
 15455  	if adlals.Description != nil {
 15456  		objectMap["description"] = adlals.Description
 15457  	}
 15458  	if adlals.Parameters != nil {
 15459  		objectMap["parameters"] = adlals.Parameters
 15460  	}
 15461  	if adlals.Annotations != nil {
 15462  		objectMap["annotations"] = adlals.Annotations
 15463  	}
 15464  	if adlals.Type != "" {
 15465  		objectMap["type"] = adlals.Type
 15466  	}
 15467  	for k, v := range adlals.AdditionalProperties {
 15468  		objectMap[k] = v
 15469  	}
 15470  	return json.Marshal(objectMap)
 15471  }
 15472  
 15473  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15474  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 15475  	return nil, false
 15476  }
 15477  
 15478  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15479  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 15480  	return nil, false
 15481  }
 15482  
 15483  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15484  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 15485  	return nil, false
 15486  }
 15487  
 15488  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15489  func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 15490  	return nil, false
 15491  }
 15492  
 15493  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15494  func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 15495  	return nil, false
 15496  }
 15497  
 15498  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15499  func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 15500  	return nil, false
 15501  }
 15502  
 15503  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15504  func (adlals AzureDataLakeAnalyticsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 15505  	return nil, false
 15506  }
 15507  
 15508  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15509  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 15510  	return nil, false
 15511  }
 15512  
 15513  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15514  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 15515  	return &adlals, true
 15516  }
 15517  
 15518  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15519  func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 15520  	return nil, false
 15521  }
 15522  
 15523  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15524  func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 15525  	return nil, false
 15526  }
 15527  
 15528  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15529  func (adlals AzureDataLakeAnalyticsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 15530  	return nil, false
 15531  }
 15532  
 15533  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15534  func (adlals AzureDataLakeAnalyticsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 15535  	return nil, false
 15536  }
 15537  
 15538  // AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15539  func (adlals AzureDataLakeAnalyticsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 15540  	return nil, false
 15541  }
 15542  
 15543  // AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15544  func (adlals AzureDataLakeAnalyticsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 15545  	return nil, false
 15546  }
 15547  
 15548  // AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15549  func (adlals AzureDataLakeAnalyticsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 15550  	return nil, false
 15551  }
 15552  
 15553  // AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15554  func (adlals AzureDataLakeAnalyticsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 15555  	return nil, false
 15556  }
 15557  
 15558  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15559  func (adlals AzureDataLakeAnalyticsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 15560  	return nil, false
 15561  }
 15562  
 15563  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15564  func (adlals AzureDataLakeAnalyticsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 15565  	return nil, false
 15566  }
 15567  
 15568  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15569  func (adlals AzureDataLakeAnalyticsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 15570  	return nil, false
 15571  }
 15572  
 15573  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15574  func (adlals AzureDataLakeAnalyticsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 15575  	return nil, false
 15576  }
 15577  
 15578  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15579  func (adlals AzureDataLakeAnalyticsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 15580  	return nil, false
 15581  }
 15582  
 15583  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15584  func (adlals AzureDataLakeAnalyticsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 15585  	return nil, false
 15586  }
 15587  
 15588  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15589  func (adlals AzureDataLakeAnalyticsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 15590  	return nil, false
 15591  }
 15592  
 15593  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15594  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 15595  	return nil, false
 15596  }
 15597  
 15598  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15599  func (adlals AzureDataLakeAnalyticsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 15600  	return nil, false
 15601  }
 15602  
 15603  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15604  func (adlals AzureDataLakeAnalyticsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 15605  	return nil, false
 15606  }
 15607  
 15608  // AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15609  func (adlals AzureDataLakeAnalyticsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 15610  	return nil, false
 15611  }
 15612  
 15613  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15614  func (adlals AzureDataLakeAnalyticsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 15615  	return nil, false
 15616  }
 15617  
 15618  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15619  func (adlals AzureDataLakeAnalyticsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 15620  	return nil, false
 15621  }
 15622  
 15623  // AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15624  func (adlals AzureDataLakeAnalyticsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 15625  	return nil, false
 15626  }
 15627  
 15628  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15629  func (adlals AzureDataLakeAnalyticsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 15630  	return nil, false
 15631  }
 15632  
 15633  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15634  func (adlals AzureDataLakeAnalyticsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 15635  	return nil, false
 15636  }
 15637  
 15638  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15639  func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 15640  	return nil, false
 15641  }
 15642  
 15643  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15644  func (adlals AzureDataLakeAnalyticsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 15645  	return nil, false
 15646  }
 15647  
 15648  // AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15649  func (adlals AzureDataLakeAnalyticsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 15650  	return nil, false
 15651  }
 15652  
 15653  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15654  func (adlals AzureDataLakeAnalyticsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 15655  	return nil, false
 15656  }
 15657  
 15658  // AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15659  func (adlals AzureDataLakeAnalyticsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 15660  	return nil, false
 15661  }
 15662  
 15663  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15664  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 15665  	return nil, false
 15666  }
 15667  
 15668  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15669  func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 15670  	return nil, false
 15671  }
 15672  
 15673  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15674  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 15675  	return nil, false
 15676  }
 15677  
 15678  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15679  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 15680  	return nil, false
 15681  }
 15682  
 15683  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15684  func (adlals AzureDataLakeAnalyticsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 15685  	return nil, false
 15686  }
 15687  
 15688  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15689  func (adlals AzureDataLakeAnalyticsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 15690  	return nil, false
 15691  }
 15692  
 15693  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15694  func (adlals AzureDataLakeAnalyticsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 15695  	return nil, false
 15696  }
 15697  
 15698  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15699  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 15700  	return nil, false
 15701  }
 15702  
 15703  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15704  func (adlals AzureDataLakeAnalyticsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 15705  	return nil, false
 15706  }
 15707  
 15708  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15709  func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 15710  	return nil, false
 15711  }
 15712  
 15713  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15714  func (adlals AzureDataLakeAnalyticsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 15715  	return nil, false
 15716  }
 15717  
 15718  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15719  func (adlals AzureDataLakeAnalyticsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 15720  	return nil, false
 15721  }
 15722  
 15723  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15724  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 15725  	return nil, false
 15726  }
 15727  
 15728  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15729  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 15730  	return nil, false
 15731  }
 15732  
 15733  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15734  func (adlals AzureDataLakeAnalyticsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 15735  	return nil, false
 15736  }
 15737  
 15738  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15739  func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 15740  	return nil, false
 15741  }
 15742  
 15743  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15744  func (adlals AzureDataLakeAnalyticsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 15745  	return nil, false
 15746  }
 15747  
 15748  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15749  func (adlals AzureDataLakeAnalyticsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 15750  	return nil, false
 15751  }
 15752  
 15753  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15754  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 15755  	return nil, false
 15756  }
 15757  
 15758  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15759  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 15760  	return nil, false
 15761  }
 15762  
 15763  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15764  func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 15765  	return nil, false
 15766  }
 15767  
 15768  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15769  func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 15770  	return nil, false
 15771  }
 15772  
 15773  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15774  func (adlals AzureDataLakeAnalyticsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 15775  	return nil, false
 15776  }
 15777  
 15778  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15779  func (adlals AzureDataLakeAnalyticsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 15780  	return nil, false
 15781  }
 15782  
 15783  // AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15784  func (adlals AzureDataLakeAnalyticsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 15785  	return nil, false
 15786  }
 15787  
 15788  // AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15789  func (adlals AzureDataLakeAnalyticsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 15790  	return nil, false
 15791  }
 15792  
 15793  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15794  func (adlals AzureDataLakeAnalyticsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 15795  	return nil, false
 15796  }
 15797  
 15798  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15799  func (adlals AzureDataLakeAnalyticsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 15800  	return nil, false
 15801  }
 15802  
 15803  // AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15804  func (adlals AzureDataLakeAnalyticsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 15805  	return nil, false
 15806  }
 15807  
 15808  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15809  func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 15810  	return nil, false
 15811  }
 15812  
 15813  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15814  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 15815  	return nil, false
 15816  }
 15817  
 15818  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15819  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 15820  	return nil, false
 15821  }
 15822  
 15823  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15824  func (adlals AzureDataLakeAnalyticsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 15825  	return nil, false
 15826  }
 15827  
 15828  // AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15829  func (adlals AzureDataLakeAnalyticsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 15830  	return nil, false
 15831  }
 15832  
 15833  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15834  func (adlals AzureDataLakeAnalyticsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 15835  	return nil, false
 15836  }
 15837  
 15838  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15839  func (adlals AzureDataLakeAnalyticsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 15840  	return nil, false
 15841  }
 15842  
 15843  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15844  func (adlals AzureDataLakeAnalyticsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 15845  	return nil, false
 15846  }
 15847  
 15848  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15849  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 15850  	return nil, false
 15851  }
 15852  
 15853  // AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15854  func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 15855  	return nil, false
 15856  }
 15857  
 15858  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15859  func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 15860  	return nil, false
 15861  }
 15862  
 15863  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15864  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 15865  	return nil, false
 15866  }
 15867  
 15868  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15869  func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 15870  	return nil, false
 15871  }
 15872  
 15873  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15874  func (adlals AzureDataLakeAnalyticsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 15875  	return nil, false
 15876  }
 15877  
 15878  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15879  func (adlals AzureDataLakeAnalyticsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 15880  	return nil, false
 15881  }
 15882  
 15883  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15884  func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 15885  	return nil, false
 15886  }
 15887  
 15888  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15889  func (adlals AzureDataLakeAnalyticsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 15890  	return nil, false
 15891  }
 15892  
 15893  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15894  func (adlals AzureDataLakeAnalyticsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 15895  	return nil, false
 15896  }
 15897  
 15898  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15899  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 15900  	return nil, false
 15901  }
 15902  
 15903  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15904  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 15905  	return nil, false
 15906  }
 15907  
 15908  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15909  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 15910  	return nil, false
 15911  }
 15912  
 15913  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15914  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 15915  	return nil, false
 15916  }
 15917  
 15918  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15919  func (adlals AzureDataLakeAnalyticsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 15920  	return nil, false
 15921  }
 15922  
 15923  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15924  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 15925  	return nil, false
 15926  }
 15927  
 15928  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15929  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 15930  	return nil, false
 15931  }
 15932  
 15933  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15934  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 15935  	return nil, false
 15936  }
 15937  
 15938  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15939  func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 15940  	return nil, false
 15941  }
 15942  
 15943  // AsLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15944  func (adlals AzureDataLakeAnalyticsLinkedService) AsLinkedService() (*LinkedService, bool) {
 15945  	return nil, false
 15946  }
 15947  
 15948  // AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService.
 15949  func (adlals AzureDataLakeAnalyticsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 15950  	return &adlals, true
 15951  }
 15952  
 15953  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedService struct.
 15954  func (adlals *AzureDataLakeAnalyticsLinkedService) UnmarshalJSON(body []byte) error {
 15955  	var m map[string]*json.RawMessage
 15956  	err := json.Unmarshal(body, &m)
 15957  	if err != nil {
 15958  		return err
 15959  	}
 15960  	for k, v := range m {
 15961  		switch k {
 15962  		case "typeProperties":
 15963  			if v != nil {
 15964  				var azureDataLakeAnalyticsLinkedServiceTypeProperties AzureDataLakeAnalyticsLinkedServiceTypeProperties
 15965  				err = json.Unmarshal(*v, &azureDataLakeAnalyticsLinkedServiceTypeProperties)
 15966  				if err != nil {
 15967  					return err
 15968  				}
 15969  				adlals.AzureDataLakeAnalyticsLinkedServiceTypeProperties = &azureDataLakeAnalyticsLinkedServiceTypeProperties
 15970  			}
 15971  		default:
 15972  			if v != nil {
 15973  				var additionalProperties interface{}
 15974  				err = json.Unmarshal(*v, &additionalProperties)
 15975  				if err != nil {
 15976  					return err
 15977  				}
 15978  				if adlals.AdditionalProperties == nil {
 15979  					adlals.AdditionalProperties = make(map[string]interface{})
 15980  				}
 15981  				adlals.AdditionalProperties[k] = additionalProperties
 15982  			}
 15983  		case "connectVia":
 15984  			if v != nil {
 15985  				var connectVia IntegrationRuntimeReference
 15986  				err = json.Unmarshal(*v, &connectVia)
 15987  				if err != nil {
 15988  					return err
 15989  				}
 15990  				adlals.ConnectVia = &connectVia
 15991  			}
 15992  		case "description":
 15993  			if v != nil {
 15994  				var description string
 15995  				err = json.Unmarshal(*v, &description)
 15996  				if err != nil {
 15997  					return err
 15998  				}
 15999  				adlals.Description = &description
 16000  			}
 16001  		case "parameters":
 16002  			if v != nil {
 16003  				var parameters map[string]*ParameterSpecification
 16004  				err = json.Unmarshal(*v, &parameters)
 16005  				if err != nil {
 16006  					return err
 16007  				}
 16008  				adlals.Parameters = parameters
 16009  			}
 16010  		case "annotations":
 16011  			if v != nil {
 16012  				var annotations []interface{}
 16013  				err = json.Unmarshal(*v, &annotations)
 16014  				if err != nil {
 16015  					return err
 16016  				}
 16017  				adlals.Annotations = &annotations
 16018  			}
 16019  		case "type":
 16020  			if v != nil {
 16021  				var typeVar TypeBasicLinkedService
 16022  				err = json.Unmarshal(*v, &typeVar)
 16023  				if err != nil {
 16024  					return err
 16025  				}
 16026  				adlals.Type = typeVar
 16027  			}
 16028  		}
 16029  	}
 16030  
 16031  	return nil
 16032  }
 16033  
 16034  // AzureDataLakeAnalyticsLinkedServiceTypeProperties azure Data Lake Analytics linked service properties.
 16035  type AzureDataLakeAnalyticsLinkedServiceTypeProperties struct {
 16036  	// AccountName - The Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
 16037  	AccountName interface{} `json:"accountName,omitempty"`
 16038  	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
 16039  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 16040  	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Analytics account.
 16041  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 16042  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 16043  	Tenant interface{} `json:"tenant,omitempty"`
 16044  	// SubscriptionID - Data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
 16045  	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
 16046  	// ResourceGroupName - Data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
 16047  	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
 16048  	// DataLakeAnalyticsURI - Azure Data Lake Analytics URI Type: string (or Expression with resultType string).
 16049  	DataLakeAnalyticsURI interface{} `json:"dataLakeAnalyticsUri,omitempty"`
 16050  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 16051  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 16052  }
 16053  
 16054  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeAnalyticsLinkedServiceTypeProperties struct.
 16055  func (adlalstp *AzureDataLakeAnalyticsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 16056  	var m map[string]*json.RawMessage
 16057  	err := json.Unmarshal(body, &m)
 16058  	if err != nil {
 16059  		return err
 16060  	}
 16061  	for k, v := range m {
 16062  		switch k {
 16063  		case "accountName":
 16064  			if v != nil {
 16065  				var accountName interface{}
 16066  				err = json.Unmarshal(*v, &accountName)
 16067  				if err != nil {
 16068  					return err
 16069  				}
 16070  				adlalstp.AccountName = accountName
 16071  			}
 16072  		case "servicePrincipalId":
 16073  			if v != nil {
 16074  				var servicePrincipalID interface{}
 16075  				err = json.Unmarshal(*v, &servicePrincipalID)
 16076  				if err != nil {
 16077  					return err
 16078  				}
 16079  				adlalstp.ServicePrincipalID = servicePrincipalID
 16080  			}
 16081  		case "servicePrincipalKey":
 16082  			if v != nil {
 16083  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 16084  				if err != nil {
 16085  					return err
 16086  				}
 16087  				adlalstp.ServicePrincipalKey = servicePrincipalKey
 16088  			}
 16089  		case "tenant":
 16090  			if v != nil {
 16091  				var tenant interface{}
 16092  				err = json.Unmarshal(*v, &tenant)
 16093  				if err != nil {
 16094  					return err
 16095  				}
 16096  				adlalstp.Tenant = tenant
 16097  			}
 16098  		case "subscriptionId":
 16099  			if v != nil {
 16100  				var subscriptionID interface{}
 16101  				err = json.Unmarshal(*v, &subscriptionID)
 16102  				if err != nil {
 16103  					return err
 16104  				}
 16105  				adlalstp.SubscriptionID = subscriptionID
 16106  			}
 16107  		case "resourceGroupName":
 16108  			if v != nil {
 16109  				var resourceGroupName interface{}
 16110  				err = json.Unmarshal(*v, &resourceGroupName)
 16111  				if err != nil {
 16112  					return err
 16113  				}
 16114  				adlalstp.ResourceGroupName = resourceGroupName
 16115  			}
 16116  		case "dataLakeAnalyticsUri":
 16117  			if v != nil {
 16118  				var dataLakeAnalyticsURI interface{}
 16119  				err = json.Unmarshal(*v, &dataLakeAnalyticsURI)
 16120  				if err != nil {
 16121  					return err
 16122  				}
 16123  				adlalstp.DataLakeAnalyticsURI = dataLakeAnalyticsURI
 16124  			}
 16125  		case "encryptedCredential":
 16126  			if v != nil {
 16127  				var encryptedCredential interface{}
 16128  				err = json.Unmarshal(*v, &encryptedCredential)
 16129  				if err != nil {
 16130  					return err
 16131  				}
 16132  				adlalstp.EncryptedCredential = encryptedCredential
 16133  			}
 16134  		}
 16135  	}
 16136  
 16137  	return nil
 16138  }
 16139  
 16140  // AzureDataLakeStoreLinkedService azure Data Lake Store linked service.
 16141  type AzureDataLakeStoreLinkedService struct {
 16142  	// AzureDataLakeStoreLinkedServiceTypeProperties - Azure Data Lake Store linked service properties.
 16143  	*AzureDataLakeStoreLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 16144  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 16145  	AdditionalProperties map[string]interface{} `json:""`
 16146  	// ConnectVia - The integration runtime reference.
 16147  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 16148  	// Description - Linked service description.
 16149  	Description *string `json:"description,omitempty"`
 16150  	// Parameters - Parameters for linked service.
 16151  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 16152  	// Annotations - List of tags that can be used for describing the linked service.
 16153  	Annotations *[]interface{} `json:"annotations,omitempty"`
 16154  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 16155  	Type TypeBasicLinkedService `json:"type,omitempty"`
 16156  }
 16157  
 16158  // MarshalJSON is the custom marshaler for AzureDataLakeStoreLinkedService.
 16159  func (adlsls AzureDataLakeStoreLinkedService) MarshalJSON() ([]byte, error) {
 16160  	adlsls.Type = TypeAzureDataLakeStore
 16161  	objectMap := make(map[string]interface{})
 16162  	if adlsls.AzureDataLakeStoreLinkedServiceTypeProperties != nil {
 16163  		objectMap["typeProperties"] = adlsls.AzureDataLakeStoreLinkedServiceTypeProperties
 16164  	}
 16165  	if adlsls.ConnectVia != nil {
 16166  		objectMap["connectVia"] = adlsls.ConnectVia
 16167  	}
 16168  	if adlsls.Description != nil {
 16169  		objectMap["description"] = adlsls.Description
 16170  	}
 16171  	if adlsls.Parameters != nil {
 16172  		objectMap["parameters"] = adlsls.Parameters
 16173  	}
 16174  	if adlsls.Annotations != nil {
 16175  		objectMap["annotations"] = adlsls.Annotations
 16176  	}
 16177  	if adlsls.Type != "" {
 16178  		objectMap["type"] = adlsls.Type
 16179  	}
 16180  	for k, v := range adlsls.AdditionalProperties {
 16181  		objectMap[k] = v
 16182  	}
 16183  	return json.Marshal(objectMap)
 16184  }
 16185  
 16186  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16187  func (adlsls AzureDataLakeStoreLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 16188  	return nil, false
 16189  }
 16190  
 16191  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16192  func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 16193  	return nil, false
 16194  }
 16195  
 16196  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16197  func (adlsls AzureDataLakeStoreLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 16198  	return nil, false
 16199  }
 16200  
 16201  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16202  func (adlsls AzureDataLakeStoreLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 16203  	return nil, false
 16204  }
 16205  
 16206  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16207  func (adlsls AzureDataLakeStoreLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 16208  	return nil, false
 16209  }
 16210  
 16211  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16212  func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 16213  	return nil, false
 16214  }
 16215  
 16216  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16217  func (adlsls AzureDataLakeStoreLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 16218  	return nil, false
 16219  }
 16220  
 16221  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16222  func (adlsls AzureDataLakeStoreLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 16223  	return nil, false
 16224  }
 16225  
 16226  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16227  func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 16228  	return nil, false
 16229  }
 16230  
 16231  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16232  func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 16233  	return nil, false
 16234  }
 16235  
 16236  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16237  func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 16238  	return nil, false
 16239  }
 16240  
 16241  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16242  func (adlsls AzureDataLakeStoreLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 16243  	return nil, false
 16244  }
 16245  
 16246  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16247  func (adlsls AzureDataLakeStoreLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 16248  	return nil, false
 16249  }
 16250  
 16251  // AsZohoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16252  func (adlsls AzureDataLakeStoreLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 16253  	return nil, false
 16254  }
 16255  
 16256  // AsXeroLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16257  func (adlsls AzureDataLakeStoreLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 16258  	return nil, false
 16259  }
 16260  
 16261  // AsSquareLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16262  func (adlsls AzureDataLakeStoreLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 16263  	return nil, false
 16264  }
 16265  
 16266  // AsSparkLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16267  func (adlsls AzureDataLakeStoreLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 16268  	return nil, false
 16269  }
 16270  
 16271  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16272  func (adlsls AzureDataLakeStoreLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 16273  	return nil, false
 16274  }
 16275  
 16276  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16277  func (adlsls AzureDataLakeStoreLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 16278  	return nil, false
 16279  }
 16280  
 16281  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16282  func (adlsls AzureDataLakeStoreLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 16283  	return nil, false
 16284  }
 16285  
 16286  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16287  func (adlsls AzureDataLakeStoreLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 16288  	return nil, false
 16289  }
 16290  
 16291  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16292  func (adlsls AzureDataLakeStoreLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 16293  	return nil, false
 16294  }
 16295  
 16296  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16297  func (adlsls AzureDataLakeStoreLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 16298  	return nil, false
 16299  }
 16300  
 16301  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16302  func (adlsls AzureDataLakeStoreLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 16303  	return nil, false
 16304  }
 16305  
 16306  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16307  func (adlsls AzureDataLakeStoreLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 16308  	return nil, false
 16309  }
 16310  
 16311  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16312  func (adlsls AzureDataLakeStoreLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 16313  	return nil, false
 16314  }
 16315  
 16316  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16317  func (adlsls AzureDataLakeStoreLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 16318  	return nil, false
 16319  }
 16320  
 16321  // AsJiraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16322  func (adlsls AzureDataLakeStoreLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 16323  	return nil, false
 16324  }
 16325  
 16326  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16327  func (adlsls AzureDataLakeStoreLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 16328  	return nil, false
 16329  }
 16330  
 16331  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16332  func (adlsls AzureDataLakeStoreLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 16333  	return nil, false
 16334  }
 16335  
 16336  // AsHiveLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16337  func (adlsls AzureDataLakeStoreLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 16338  	return nil, false
 16339  }
 16340  
 16341  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16342  func (adlsls AzureDataLakeStoreLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 16343  	return nil, false
 16344  }
 16345  
 16346  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16347  func (adlsls AzureDataLakeStoreLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 16348  	return nil, false
 16349  }
 16350  
 16351  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16352  func (adlsls AzureDataLakeStoreLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 16353  	return nil, false
 16354  }
 16355  
 16356  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16357  func (adlsls AzureDataLakeStoreLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 16358  	return nil, false
 16359  }
 16360  
 16361  // AsDrillLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16362  func (adlsls AzureDataLakeStoreLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 16363  	return nil, false
 16364  }
 16365  
 16366  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16367  func (adlsls AzureDataLakeStoreLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 16368  	return nil, false
 16369  }
 16370  
 16371  // AsConcurLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16372  func (adlsls AzureDataLakeStoreLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 16373  	return nil, false
 16374  }
 16375  
 16376  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16377  func (adlsls AzureDataLakeStoreLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 16378  	return nil, false
 16379  }
 16380  
 16381  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16382  func (adlsls AzureDataLakeStoreLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 16383  	return nil, false
 16384  }
 16385  
 16386  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16387  func (adlsls AzureDataLakeStoreLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 16388  	return nil, false
 16389  }
 16390  
 16391  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16392  func (adlsls AzureDataLakeStoreLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 16393  	return nil, false
 16394  }
 16395  
 16396  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16397  func (adlsls AzureDataLakeStoreLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 16398  	return nil, false
 16399  }
 16400  
 16401  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16402  func (adlsls AzureDataLakeStoreLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 16403  	return nil, false
 16404  }
 16405  
 16406  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16407  func (adlsls AzureDataLakeStoreLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 16408  	return nil, false
 16409  }
 16410  
 16411  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16412  func (adlsls AzureDataLakeStoreLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 16413  	return nil, false
 16414  }
 16415  
 16416  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16417  func (adlsls AzureDataLakeStoreLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 16418  	return nil, false
 16419  }
 16420  
 16421  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16422  func (adlsls AzureDataLakeStoreLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 16423  	return nil, false
 16424  }
 16425  
 16426  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16427  func (adlsls AzureDataLakeStoreLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 16428  	return nil, false
 16429  }
 16430  
 16431  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16432  func (adlsls AzureDataLakeStoreLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 16433  	return nil, false
 16434  }
 16435  
 16436  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16437  func (adlsls AzureDataLakeStoreLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 16438  	return nil, false
 16439  }
 16440  
 16441  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16442  func (adlsls AzureDataLakeStoreLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 16443  	return nil, false
 16444  }
 16445  
 16446  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16447  func (adlsls AzureDataLakeStoreLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 16448  	return nil, false
 16449  }
 16450  
 16451  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16452  func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 16453  	return nil, false
 16454  }
 16455  
 16456  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16457  func (adlsls AzureDataLakeStoreLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 16458  	return nil, false
 16459  }
 16460  
 16461  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16462  func (adlsls AzureDataLakeStoreLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 16463  	return nil, false
 16464  }
 16465  
 16466  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16467  func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 16468  	return nil, false
 16469  }
 16470  
 16471  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16472  func (adlsls AzureDataLakeStoreLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 16473  	return &adlsls, true
 16474  }
 16475  
 16476  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16477  func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 16478  	return nil, false
 16479  }
 16480  
 16481  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16482  func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 16483  	return nil, false
 16484  }
 16485  
 16486  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16487  func (adlsls AzureDataLakeStoreLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 16488  	return nil, false
 16489  }
 16490  
 16491  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16492  func (adlsls AzureDataLakeStoreLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 16493  	return nil, false
 16494  }
 16495  
 16496  // AsWebLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16497  func (adlsls AzureDataLakeStoreLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 16498  	return nil, false
 16499  }
 16500  
 16501  // AsODataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16502  func (adlsls AzureDataLakeStoreLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 16503  	return nil, false
 16504  }
 16505  
 16506  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16507  func (adlsls AzureDataLakeStoreLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 16508  	return nil, false
 16509  }
 16510  
 16511  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16512  func (adlsls AzureDataLakeStoreLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 16513  	return nil, false
 16514  }
 16515  
 16516  // AsInformixLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16517  func (adlsls AzureDataLakeStoreLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 16518  	return nil, false
 16519  }
 16520  
 16521  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16522  func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 16523  	return nil, false
 16524  }
 16525  
 16526  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16527  func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 16528  	return nil, false
 16529  }
 16530  
 16531  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16532  func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 16533  	return nil, false
 16534  }
 16535  
 16536  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16537  func (adlsls AzureDataLakeStoreLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 16538  	return nil, false
 16539  }
 16540  
 16541  // AsDb2LinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16542  func (adlsls AzureDataLakeStoreLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 16543  	return nil, false
 16544  }
 16545  
 16546  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16547  func (adlsls AzureDataLakeStoreLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 16548  	return nil, false
 16549  }
 16550  
 16551  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16552  func (adlsls AzureDataLakeStoreLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 16553  	return nil, false
 16554  }
 16555  
 16556  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16557  func (adlsls AzureDataLakeStoreLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 16558  	return nil, false
 16559  }
 16560  
 16561  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16562  func (adlsls AzureDataLakeStoreLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 16563  	return nil, false
 16564  }
 16565  
 16566  // AsOracleLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16567  func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 16568  	return nil, false
 16569  }
 16570  
 16571  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16572  func (adlsls AzureDataLakeStoreLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 16573  	return nil, false
 16574  }
 16575  
 16576  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16577  func (adlsls AzureDataLakeStoreLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 16578  	return nil, false
 16579  }
 16580  
 16581  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16582  func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 16583  	return nil, false
 16584  }
 16585  
 16586  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16587  func (adlsls AzureDataLakeStoreLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 16588  	return nil, false
 16589  }
 16590  
 16591  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16592  func (adlsls AzureDataLakeStoreLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 16593  	return nil, false
 16594  }
 16595  
 16596  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16597  func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 16598  	return nil, false
 16599  }
 16600  
 16601  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16602  func (adlsls AzureDataLakeStoreLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 16603  	return nil, false
 16604  }
 16605  
 16606  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16607  func (adlsls AzureDataLakeStoreLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 16608  	return nil, false
 16609  }
 16610  
 16611  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16612  func (adlsls AzureDataLakeStoreLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 16613  	return nil, false
 16614  }
 16615  
 16616  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16617  func (adlsls AzureDataLakeStoreLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 16618  	return nil, false
 16619  }
 16620  
 16621  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16622  func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 16623  	return nil, false
 16624  }
 16625  
 16626  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16627  func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 16628  	return nil, false
 16629  }
 16630  
 16631  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16632  func (adlsls AzureDataLakeStoreLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 16633  	return nil, false
 16634  }
 16635  
 16636  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16637  func (adlsls AzureDataLakeStoreLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 16638  	return nil, false
 16639  }
 16640  
 16641  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16642  func (adlsls AzureDataLakeStoreLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 16643  	return nil, false
 16644  }
 16645  
 16646  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16647  func (adlsls AzureDataLakeStoreLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 16648  	return nil, false
 16649  }
 16650  
 16651  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16652  func (adlsls AzureDataLakeStoreLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 16653  	return nil, false
 16654  }
 16655  
 16656  // AsLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16657  func (adlsls AzureDataLakeStoreLinkedService) AsLinkedService() (*LinkedService, bool) {
 16658  	return nil, false
 16659  }
 16660  
 16661  // AsBasicLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService.
 16662  func (adlsls AzureDataLakeStoreLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 16663  	return &adlsls, true
 16664  }
 16665  
 16666  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedService struct.
 16667  func (adlsls *AzureDataLakeStoreLinkedService) UnmarshalJSON(body []byte) error {
 16668  	var m map[string]*json.RawMessage
 16669  	err := json.Unmarshal(body, &m)
 16670  	if err != nil {
 16671  		return err
 16672  	}
 16673  	for k, v := range m {
 16674  		switch k {
 16675  		case "typeProperties":
 16676  			if v != nil {
 16677  				var azureDataLakeStoreLinkedServiceTypeProperties AzureDataLakeStoreLinkedServiceTypeProperties
 16678  				err = json.Unmarshal(*v, &azureDataLakeStoreLinkedServiceTypeProperties)
 16679  				if err != nil {
 16680  					return err
 16681  				}
 16682  				adlsls.AzureDataLakeStoreLinkedServiceTypeProperties = &azureDataLakeStoreLinkedServiceTypeProperties
 16683  			}
 16684  		default:
 16685  			if v != nil {
 16686  				var additionalProperties interface{}
 16687  				err = json.Unmarshal(*v, &additionalProperties)
 16688  				if err != nil {
 16689  					return err
 16690  				}
 16691  				if adlsls.AdditionalProperties == nil {
 16692  					adlsls.AdditionalProperties = make(map[string]interface{})
 16693  				}
 16694  				adlsls.AdditionalProperties[k] = additionalProperties
 16695  			}
 16696  		case "connectVia":
 16697  			if v != nil {
 16698  				var connectVia IntegrationRuntimeReference
 16699  				err = json.Unmarshal(*v, &connectVia)
 16700  				if err != nil {
 16701  					return err
 16702  				}
 16703  				adlsls.ConnectVia = &connectVia
 16704  			}
 16705  		case "description":
 16706  			if v != nil {
 16707  				var description string
 16708  				err = json.Unmarshal(*v, &description)
 16709  				if err != nil {
 16710  					return err
 16711  				}
 16712  				adlsls.Description = &description
 16713  			}
 16714  		case "parameters":
 16715  			if v != nil {
 16716  				var parameters map[string]*ParameterSpecification
 16717  				err = json.Unmarshal(*v, &parameters)
 16718  				if err != nil {
 16719  					return err
 16720  				}
 16721  				adlsls.Parameters = parameters
 16722  			}
 16723  		case "annotations":
 16724  			if v != nil {
 16725  				var annotations []interface{}
 16726  				err = json.Unmarshal(*v, &annotations)
 16727  				if err != nil {
 16728  					return err
 16729  				}
 16730  				adlsls.Annotations = &annotations
 16731  			}
 16732  		case "type":
 16733  			if v != nil {
 16734  				var typeVar TypeBasicLinkedService
 16735  				err = json.Unmarshal(*v, &typeVar)
 16736  				if err != nil {
 16737  					return err
 16738  				}
 16739  				adlsls.Type = typeVar
 16740  			}
 16741  		}
 16742  	}
 16743  
 16744  	return nil
 16745  }
 16746  
 16747  // AzureDataLakeStoreLinkedServiceTypeProperties azure Data Lake Store linked service properties.
 16748  type AzureDataLakeStoreLinkedServiceTypeProperties struct {
 16749  	// DataLakeStoreURI - Data Lake Store service URI. Type: string (or Expression with resultType string).
 16750  	DataLakeStoreURI interface{} `json:"dataLakeStoreUri,omitempty"`
 16751  	// ServicePrincipalID - The ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
 16752  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 16753  	// ServicePrincipalKey - The Key of the application used to authenticate against the Azure Data Lake Store account.
 16754  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 16755  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 16756  	Tenant interface{} `json:"tenant,omitempty"`
 16757  	// AccountName - Data Lake Store account name. Type: string (or Expression with resultType string).
 16758  	AccountName interface{} `json:"accountName,omitempty"`
 16759  	// SubscriptionID - Data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
 16760  	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
 16761  	// ResourceGroupName - Data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
 16762  	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
 16763  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 16764  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 16765  }
 16766  
 16767  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLinkedServiceTypeProperties struct.
 16768  func (adlslstp *AzureDataLakeStoreLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 16769  	var m map[string]*json.RawMessage
 16770  	err := json.Unmarshal(body, &m)
 16771  	if err != nil {
 16772  		return err
 16773  	}
 16774  	for k, v := range m {
 16775  		switch k {
 16776  		case "dataLakeStoreUri":
 16777  			if v != nil {
 16778  				var dataLakeStoreURI interface{}
 16779  				err = json.Unmarshal(*v, &dataLakeStoreURI)
 16780  				if err != nil {
 16781  					return err
 16782  				}
 16783  				adlslstp.DataLakeStoreURI = dataLakeStoreURI
 16784  			}
 16785  		case "servicePrincipalId":
 16786  			if v != nil {
 16787  				var servicePrincipalID interface{}
 16788  				err = json.Unmarshal(*v, &servicePrincipalID)
 16789  				if err != nil {
 16790  					return err
 16791  				}
 16792  				adlslstp.ServicePrincipalID = servicePrincipalID
 16793  			}
 16794  		case "servicePrincipalKey":
 16795  			if v != nil {
 16796  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 16797  				if err != nil {
 16798  					return err
 16799  				}
 16800  				adlslstp.ServicePrincipalKey = servicePrincipalKey
 16801  			}
 16802  		case "tenant":
 16803  			if v != nil {
 16804  				var tenant interface{}
 16805  				err = json.Unmarshal(*v, &tenant)
 16806  				if err != nil {
 16807  					return err
 16808  				}
 16809  				adlslstp.Tenant = tenant
 16810  			}
 16811  		case "accountName":
 16812  			if v != nil {
 16813  				var accountName interface{}
 16814  				err = json.Unmarshal(*v, &accountName)
 16815  				if err != nil {
 16816  					return err
 16817  				}
 16818  				adlslstp.AccountName = accountName
 16819  			}
 16820  		case "subscriptionId":
 16821  			if v != nil {
 16822  				var subscriptionID interface{}
 16823  				err = json.Unmarshal(*v, &subscriptionID)
 16824  				if err != nil {
 16825  					return err
 16826  				}
 16827  				adlslstp.SubscriptionID = subscriptionID
 16828  			}
 16829  		case "resourceGroupName":
 16830  			if v != nil {
 16831  				var resourceGroupName interface{}
 16832  				err = json.Unmarshal(*v, &resourceGroupName)
 16833  				if err != nil {
 16834  					return err
 16835  				}
 16836  				adlslstp.ResourceGroupName = resourceGroupName
 16837  			}
 16838  		case "encryptedCredential":
 16839  			if v != nil {
 16840  				var encryptedCredential interface{}
 16841  				err = json.Unmarshal(*v, &encryptedCredential)
 16842  				if err != nil {
 16843  					return err
 16844  				}
 16845  				adlslstp.EncryptedCredential = encryptedCredential
 16846  			}
 16847  		}
 16848  	}
 16849  
 16850  	return nil
 16851  }
 16852  
 16853  // AzureDataLakeStoreLocation the location of azure data lake store dataset.
 16854  type AzureDataLakeStoreLocation struct {
 16855  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 16856  	AdditionalProperties map[string]interface{} `json:""`
 16857  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 16858  	FolderPath interface{} `json:"folderPath,omitempty"`
 16859  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 16860  	FileName interface{} `json:"fileName,omitempty"`
 16861  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 16862  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 16863  }
 16864  
 16865  // MarshalJSON is the custom marshaler for AzureDataLakeStoreLocation.
 16866  func (adlsl AzureDataLakeStoreLocation) MarshalJSON() ([]byte, error) {
 16867  	adlsl.Type = TypeAzureDataLakeStoreLocation
 16868  	objectMap := make(map[string]interface{})
 16869  	if adlsl.FolderPath != nil {
 16870  		objectMap["folderPath"] = adlsl.FolderPath
 16871  	}
 16872  	if adlsl.FileName != nil {
 16873  		objectMap["fileName"] = adlsl.FileName
 16874  	}
 16875  	if adlsl.Type != "" {
 16876  		objectMap["type"] = adlsl.Type
 16877  	}
 16878  	for k, v := range adlsl.AdditionalProperties {
 16879  		objectMap[k] = v
 16880  	}
 16881  	return json.Marshal(objectMap)
 16882  }
 16883  
 16884  // AsHdfsLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16885  func (adlsl AzureDataLakeStoreLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 16886  	return nil, false
 16887  }
 16888  
 16889  // AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16890  func (adlsl AzureDataLakeStoreLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 16891  	return nil, false
 16892  }
 16893  
 16894  // AsSftpLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16895  func (adlsl AzureDataLakeStoreLocation) AsSftpLocation() (*SftpLocation, bool) {
 16896  	return nil, false
 16897  }
 16898  
 16899  // AsFtpServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16900  func (adlsl AzureDataLakeStoreLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 16901  	return nil, false
 16902  }
 16903  
 16904  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16905  func (adlsl AzureDataLakeStoreLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 16906  	return nil, false
 16907  }
 16908  
 16909  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16910  func (adlsl AzureDataLakeStoreLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 16911  	return nil, false
 16912  }
 16913  
 16914  // AsFileServerLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16915  func (adlsl AzureDataLakeStoreLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 16916  	return nil, false
 16917  }
 16918  
 16919  // AsAmazonS3Location is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16920  func (adlsl AzureDataLakeStoreLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 16921  	return nil, false
 16922  }
 16923  
 16924  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16925  func (adlsl AzureDataLakeStoreLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 16926  	return &adlsl, true
 16927  }
 16928  
 16929  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16930  func (adlsl AzureDataLakeStoreLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 16931  	return nil, false
 16932  }
 16933  
 16934  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16935  func (adlsl AzureDataLakeStoreLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 16936  	return nil, false
 16937  }
 16938  
 16939  // AsDatasetLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16940  func (adlsl AzureDataLakeStoreLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 16941  	return nil, false
 16942  }
 16943  
 16944  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureDataLakeStoreLocation.
 16945  func (adlsl AzureDataLakeStoreLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 16946  	return &adlsl, true
 16947  }
 16948  
 16949  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreLocation struct.
 16950  func (adlsl *AzureDataLakeStoreLocation) UnmarshalJSON(body []byte) error {
 16951  	var m map[string]*json.RawMessage
 16952  	err := json.Unmarshal(body, &m)
 16953  	if err != nil {
 16954  		return err
 16955  	}
 16956  	for k, v := range m {
 16957  		switch k {
 16958  		default:
 16959  			if v != nil {
 16960  				var additionalProperties interface{}
 16961  				err = json.Unmarshal(*v, &additionalProperties)
 16962  				if err != nil {
 16963  					return err
 16964  				}
 16965  				if adlsl.AdditionalProperties == nil {
 16966  					adlsl.AdditionalProperties = make(map[string]interface{})
 16967  				}
 16968  				adlsl.AdditionalProperties[k] = additionalProperties
 16969  			}
 16970  		case "folderPath":
 16971  			if v != nil {
 16972  				var folderPath interface{}
 16973  				err = json.Unmarshal(*v, &folderPath)
 16974  				if err != nil {
 16975  					return err
 16976  				}
 16977  				adlsl.FolderPath = folderPath
 16978  			}
 16979  		case "fileName":
 16980  			if v != nil {
 16981  				var fileName interface{}
 16982  				err = json.Unmarshal(*v, &fileName)
 16983  				if err != nil {
 16984  					return err
 16985  				}
 16986  				adlsl.FileName = fileName
 16987  			}
 16988  		case "type":
 16989  			if v != nil {
 16990  				var typeVar TypeBasicDatasetLocation
 16991  				err = json.Unmarshal(*v, &typeVar)
 16992  				if err != nil {
 16993  					return err
 16994  				}
 16995  				adlsl.Type = typeVar
 16996  			}
 16997  		}
 16998  	}
 16999  
 17000  	return nil
 17001  }
 17002  
 17003  // AzureDataLakeStoreReadSettings azure data lake store read settings.
 17004  type AzureDataLakeStoreReadSettings struct {
 17005  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 17006  	Recursive interface{} `json:"recursive,omitempty"`
 17007  	// WildcardFolderPath - ADLS wildcardFolderPath. Type: string (or Expression with resultType string).
 17008  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 17009  	// WildcardFileName - ADLS wildcardFileName. Type: string (or Expression with resultType string).
 17010  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 17011  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 17012  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 17013  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 17014  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 17015  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 17016  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 17017  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 17018  	AdditionalProperties map[string]interface{} `json:""`
 17019  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 17020  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 17021  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 17022  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 17023  }
 17024  
 17025  // MarshalJSON is the custom marshaler for AzureDataLakeStoreReadSettings.
 17026  func (adlsrs AzureDataLakeStoreReadSettings) MarshalJSON() ([]byte, error) {
 17027  	adlsrs.Type = TypeAzureDataLakeStoreReadSettings
 17028  	objectMap := make(map[string]interface{})
 17029  	if adlsrs.Recursive != nil {
 17030  		objectMap["recursive"] = adlsrs.Recursive
 17031  	}
 17032  	if adlsrs.WildcardFolderPath != nil {
 17033  		objectMap["wildcardFolderPath"] = adlsrs.WildcardFolderPath
 17034  	}
 17035  	if adlsrs.WildcardFileName != nil {
 17036  		objectMap["wildcardFileName"] = adlsrs.WildcardFileName
 17037  	}
 17038  	if adlsrs.EnablePartitionDiscovery != nil {
 17039  		objectMap["enablePartitionDiscovery"] = adlsrs.EnablePartitionDiscovery
 17040  	}
 17041  	if adlsrs.ModifiedDatetimeStart != nil {
 17042  		objectMap["modifiedDatetimeStart"] = adlsrs.ModifiedDatetimeStart
 17043  	}
 17044  	if adlsrs.ModifiedDatetimeEnd != nil {
 17045  		objectMap["modifiedDatetimeEnd"] = adlsrs.ModifiedDatetimeEnd
 17046  	}
 17047  	if adlsrs.MaxConcurrentConnections != nil {
 17048  		objectMap["maxConcurrentConnections"] = adlsrs.MaxConcurrentConnections
 17049  	}
 17050  	if adlsrs.Type != "" {
 17051  		objectMap["type"] = adlsrs.Type
 17052  	}
 17053  	for k, v := range adlsrs.AdditionalProperties {
 17054  		objectMap[k] = v
 17055  	}
 17056  	return json.Marshal(objectMap)
 17057  }
 17058  
 17059  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17060  func (adlsrs AzureDataLakeStoreReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 17061  	return nil, false
 17062  }
 17063  
 17064  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17065  func (adlsrs AzureDataLakeStoreReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 17066  	return nil, false
 17067  }
 17068  
 17069  // AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17070  func (adlsrs AzureDataLakeStoreReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 17071  	return nil, false
 17072  }
 17073  
 17074  // AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17075  func (adlsrs AzureDataLakeStoreReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 17076  	return nil, false
 17077  }
 17078  
 17079  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17080  func (adlsrs AzureDataLakeStoreReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 17081  	return nil, false
 17082  }
 17083  
 17084  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17085  func (adlsrs AzureDataLakeStoreReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 17086  	return nil, false
 17087  }
 17088  
 17089  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17090  func (adlsrs AzureDataLakeStoreReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 17091  	return nil, false
 17092  }
 17093  
 17094  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17095  func (adlsrs AzureDataLakeStoreReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 17096  	return nil, false
 17097  }
 17098  
 17099  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17100  func (adlsrs AzureDataLakeStoreReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 17101  	return &adlsrs, true
 17102  }
 17103  
 17104  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17105  func (adlsrs AzureDataLakeStoreReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 17106  	return nil, false
 17107  }
 17108  
 17109  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17110  func (adlsrs AzureDataLakeStoreReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 17111  	return nil, false
 17112  }
 17113  
 17114  // AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17115  func (adlsrs AzureDataLakeStoreReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 17116  	return nil, false
 17117  }
 17118  
 17119  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureDataLakeStoreReadSettings.
 17120  func (adlsrs AzureDataLakeStoreReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 17121  	return &adlsrs, true
 17122  }
 17123  
 17124  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreReadSettings struct.
 17125  func (adlsrs *AzureDataLakeStoreReadSettings) UnmarshalJSON(body []byte) error {
 17126  	var m map[string]*json.RawMessage
 17127  	err := json.Unmarshal(body, &m)
 17128  	if err != nil {
 17129  		return err
 17130  	}
 17131  	for k, v := range m {
 17132  		switch k {
 17133  		case "recursive":
 17134  			if v != nil {
 17135  				var recursive interface{}
 17136  				err = json.Unmarshal(*v, &recursive)
 17137  				if err != nil {
 17138  					return err
 17139  				}
 17140  				adlsrs.Recursive = recursive
 17141  			}
 17142  		case "wildcardFolderPath":
 17143  			if v != nil {
 17144  				var wildcardFolderPath interface{}
 17145  				err = json.Unmarshal(*v, &wildcardFolderPath)
 17146  				if err != nil {
 17147  					return err
 17148  				}
 17149  				adlsrs.WildcardFolderPath = wildcardFolderPath
 17150  			}
 17151  		case "wildcardFileName":
 17152  			if v != nil {
 17153  				var wildcardFileName interface{}
 17154  				err = json.Unmarshal(*v, &wildcardFileName)
 17155  				if err != nil {
 17156  					return err
 17157  				}
 17158  				adlsrs.WildcardFileName = wildcardFileName
 17159  			}
 17160  		case "enablePartitionDiscovery":
 17161  			if v != nil {
 17162  				var enablePartitionDiscovery bool
 17163  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 17164  				if err != nil {
 17165  					return err
 17166  				}
 17167  				adlsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 17168  			}
 17169  		case "modifiedDatetimeStart":
 17170  			if v != nil {
 17171  				var modifiedDatetimeStart interface{}
 17172  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 17173  				if err != nil {
 17174  					return err
 17175  				}
 17176  				adlsrs.ModifiedDatetimeStart = modifiedDatetimeStart
 17177  			}
 17178  		case "modifiedDatetimeEnd":
 17179  			if v != nil {
 17180  				var modifiedDatetimeEnd interface{}
 17181  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 17182  				if err != nil {
 17183  					return err
 17184  				}
 17185  				adlsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 17186  			}
 17187  		default:
 17188  			if v != nil {
 17189  				var additionalProperties interface{}
 17190  				err = json.Unmarshal(*v, &additionalProperties)
 17191  				if err != nil {
 17192  					return err
 17193  				}
 17194  				if adlsrs.AdditionalProperties == nil {
 17195  					adlsrs.AdditionalProperties = make(map[string]interface{})
 17196  				}
 17197  				adlsrs.AdditionalProperties[k] = additionalProperties
 17198  			}
 17199  		case "maxConcurrentConnections":
 17200  			if v != nil {
 17201  				var maxConcurrentConnections interface{}
 17202  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 17203  				if err != nil {
 17204  					return err
 17205  				}
 17206  				adlsrs.MaxConcurrentConnections = maxConcurrentConnections
 17207  			}
 17208  		case "type":
 17209  			if v != nil {
 17210  				var typeVar TypeBasicStoreReadSettings
 17211  				err = json.Unmarshal(*v, &typeVar)
 17212  				if err != nil {
 17213  					return err
 17214  				}
 17215  				adlsrs.Type = typeVar
 17216  			}
 17217  		}
 17218  	}
 17219  
 17220  	return nil
 17221  }
 17222  
 17223  // AzureDataLakeStoreSink a copy activity Azure Data Lake Store sink.
 17224  type AzureDataLakeStoreSink struct {
 17225  	// CopyBehavior - The type of copy behavior for copy sink.
 17226  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 17227  	// EnableAdlsSingleFileParallel - Single File Parallel.
 17228  	EnableAdlsSingleFileParallel interface{} `json:"enableAdlsSingleFileParallel,omitempty"`
 17229  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 17230  	AdditionalProperties map[string]interface{} `json:""`
 17231  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 17232  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 17233  	// 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])).
 17234  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 17235  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 17236  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 17237  	// 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])).
 17238  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 17239  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 17240  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 17241  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 17242  	Type TypeBasicCopySink `json:"type,omitempty"`
 17243  }
 17244  
 17245  // MarshalJSON is the custom marshaler for AzureDataLakeStoreSink.
 17246  func (adlss AzureDataLakeStoreSink) MarshalJSON() ([]byte, error) {
 17247  	adlss.Type = TypeAzureDataLakeStoreSink
 17248  	objectMap := make(map[string]interface{})
 17249  	if adlss.CopyBehavior != nil {
 17250  		objectMap["copyBehavior"] = adlss.CopyBehavior
 17251  	}
 17252  	if adlss.EnableAdlsSingleFileParallel != nil {
 17253  		objectMap["enableAdlsSingleFileParallel"] = adlss.EnableAdlsSingleFileParallel
 17254  	}
 17255  	if adlss.WriteBatchSize != nil {
 17256  		objectMap["writeBatchSize"] = adlss.WriteBatchSize
 17257  	}
 17258  	if adlss.WriteBatchTimeout != nil {
 17259  		objectMap["writeBatchTimeout"] = adlss.WriteBatchTimeout
 17260  	}
 17261  	if adlss.SinkRetryCount != nil {
 17262  		objectMap["sinkRetryCount"] = adlss.SinkRetryCount
 17263  	}
 17264  	if adlss.SinkRetryWait != nil {
 17265  		objectMap["sinkRetryWait"] = adlss.SinkRetryWait
 17266  	}
 17267  	if adlss.MaxConcurrentConnections != nil {
 17268  		objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections
 17269  	}
 17270  	if adlss.Type != "" {
 17271  		objectMap["type"] = adlss.Type
 17272  	}
 17273  	for k, v := range adlss.AdditionalProperties {
 17274  		objectMap[k] = v
 17275  	}
 17276  	return json.Marshal(objectMap)
 17277  }
 17278  
 17279  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17280  func (adlss AzureDataLakeStoreSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 17281  	return nil, false
 17282  }
 17283  
 17284  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17285  func (adlss AzureDataLakeStoreSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 17286  	return nil, false
 17287  }
 17288  
 17289  // AsSalesforceSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17290  func (adlss AzureDataLakeStoreSink) AsSalesforceSink() (*SalesforceSink, bool) {
 17291  	return nil, false
 17292  }
 17293  
 17294  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17295  func (adlss AzureDataLakeStoreSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 17296  	return nil, false
 17297  }
 17298  
 17299  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17300  func (adlss AzureDataLakeStoreSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 17301  	return nil, false
 17302  }
 17303  
 17304  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17305  func (adlss AzureDataLakeStoreSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 17306  	return nil, false
 17307  }
 17308  
 17309  // AsDynamicsSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17310  func (adlss AzureDataLakeStoreSink) AsDynamicsSink() (*DynamicsSink, bool) {
 17311  	return nil, false
 17312  }
 17313  
 17314  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17315  func (adlss AzureDataLakeStoreSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 17316  	return nil, false
 17317  }
 17318  
 17319  // AsInformixSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17320  func (adlss AzureDataLakeStoreSink) AsInformixSink() (*InformixSink, bool) {
 17321  	return nil, false
 17322  }
 17323  
 17324  // AsOdbcSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17325  func (adlss AzureDataLakeStoreSink) AsOdbcSink() (*OdbcSink, bool) {
 17326  	return nil, false
 17327  }
 17328  
 17329  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17330  func (adlss AzureDataLakeStoreSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 17331  	return nil, false
 17332  }
 17333  
 17334  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17335  func (adlss AzureDataLakeStoreSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 17336  	return nil, false
 17337  }
 17338  
 17339  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17340  func (adlss AzureDataLakeStoreSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 17341  	return &adlss, true
 17342  }
 17343  
 17344  // AsOracleSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17345  func (adlss AzureDataLakeStoreSink) AsOracleSink() (*OracleSink, bool) {
 17346  	return nil, false
 17347  }
 17348  
 17349  // AsSQLDWSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17350  func (adlss AzureDataLakeStoreSink) AsSQLDWSink() (*SQLDWSink, bool) {
 17351  	return nil, false
 17352  }
 17353  
 17354  // AsSQLMISink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17355  func (adlss AzureDataLakeStoreSink) AsSQLMISink() (*SQLMISink, bool) {
 17356  	return nil, false
 17357  }
 17358  
 17359  // AsAzureSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17360  func (adlss AzureDataLakeStoreSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 17361  	return nil, false
 17362  }
 17363  
 17364  // AsSQLServerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17365  func (adlss AzureDataLakeStoreSink) AsSQLServerSink() (*SQLServerSink, bool) {
 17366  	return nil, false
 17367  }
 17368  
 17369  // AsSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17370  func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) {
 17371  	return nil, false
 17372  }
 17373  
 17374  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17375  func (adlss AzureDataLakeStoreSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 17376  	return nil, false
 17377  }
 17378  
 17379  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17380  func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 17381  	return nil, false
 17382  }
 17383  
 17384  // AsFileSystemSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17385  func (adlss AzureDataLakeStoreSink) AsFileSystemSink() (*FileSystemSink, bool) {
 17386  	return nil, false
 17387  }
 17388  
 17389  // AsBlobSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17390  func (adlss AzureDataLakeStoreSink) AsBlobSink() (*BlobSink, bool) {
 17391  	return nil, false
 17392  }
 17393  
 17394  // AsBinarySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17395  func (adlss AzureDataLakeStoreSink) AsBinarySink() (*BinarySink, bool) {
 17396  	return nil, false
 17397  }
 17398  
 17399  // AsParquetSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17400  func (adlss AzureDataLakeStoreSink) AsParquetSink() (*ParquetSink, bool) {
 17401  	return nil, false
 17402  }
 17403  
 17404  // AsAvroSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17405  func (adlss AzureDataLakeStoreSink) AsAvroSink() (*AvroSink, bool) {
 17406  	return nil, false
 17407  }
 17408  
 17409  // AsAzureTableSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17410  func (adlss AzureDataLakeStoreSink) AsAzureTableSink() (*AzureTableSink, bool) {
 17411  	return nil, false
 17412  }
 17413  
 17414  // AsAzureQueueSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17415  func (adlss AzureDataLakeStoreSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 17416  	return nil, false
 17417  }
 17418  
 17419  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17420  func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 17421  	return nil, false
 17422  }
 17423  
 17424  // AsAzureMySQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17425  func (adlss AzureDataLakeStoreSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 17426  	return nil, false
 17427  }
 17428  
 17429  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17430  func (adlss AzureDataLakeStoreSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 17431  	return nil, false
 17432  }
 17433  
 17434  // AsOrcSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17435  func (adlss AzureDataLakeStoreSink) AsOrcSink() (*OrcSink, bool) {
 17436  	return nil, false
 17437  }
 17438  
 17439  // AsJSONSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17440  func (adlss AzureDataLakeStoreSink) AsJSONSink() (*JSONSink, bool) {
 17441  	return nil, false
 17442  }
 17443  
 17444  // AsDelimitedTextSink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17445  func (adlss AzureDataLakeStoreSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 17446  	return nil, false
 17447  }
 17448  
 17449  // AsCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17450  func (adlss AzureDataLakeStoreSink) AsCopySink() (*CopySink, bool) {
 17451  	return nil, false
 17452  }
 17453  
 17454  // AsBasicCopySink is the BasicCopySink implementation for AzureDataLakeStoreSink.
 17455  func (adlss AzureDataLakeStoreSink) AsBasicCopySink() (BasicCopySink, bool) {
 17456  	return &adlss, true
 17457  }
 17458  
 17459  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSink struct.
 17460  func (adlss *AzureDataLakeStoreSink) UnmarshalJSON(body []byte) error {
 17461  	var m map[string]*json.RawMessage
 17462  	err := json.Unmarshal(body, &m)
 17463  	if err != nil {
 17464  		return err
 17465  	}
 17466  	for k, v := range m {
 17467  		switch k {
 17468  		case "copyBehavior":
 17469  			if v != nil {
 17470  				var copyBehavior interface{}
 17471  				err = json.Unmarshal(*v, &copyBehavior)
 17472  				if err != nil {
 17473  					return err
 17474  				}
 17475  				adlss.CopyBehavior = copyBehavior
 17476  			}
 17477  		case "enableAdlsSingleFileParallel":
 17478  			if v != nil {
 17479  				var enableAdlsSingleFileParallel interface{}
 17480  				err = json.Unmarshal(*v, &enableAdlsSingleFileParallel)
 17481  				if err != nil {
 17482  					return err
 17483  				}
 17484  				adlss.EnableAdlsSingleFileParallel = enableAdlsSingleFileParallel
 17485  			}
 17486  		default:
 17487  			if v != nil {
 17488  				var additionalProperties interface{}
 17489  				err = json.Unmarshal(*v, &additionalProperties)
 17490  				if err != nil {
 17491  					return err
 17492  				}
 17493  				if adlss.AdditionalProperties == nil {
 17494  					adlss.AdditionalProperties = make(map[string]interface{})
 17495  				}
 17496  				adlss.AdditionalProperties[k] = additionalProperties
 17497  			}
 17498  		case "writeBatchSize":
 17499  			if v != nil {
 17500  				var writeBatchSize interface{}
 17501  				err = json.Unmarshal(*v, &writeBatchSize)
 17502  				if err != nil {
 17503  					return err
 17504  				}
 17505  				adlss.WriteBatchSize = writeBatchSize
 17506  			}
 17507  		case "writeBatchTimeout":
 17508  			if v != nil {
 17509  				var writeBatchTimeout interface{}
 17510  				err = json.Unmarshal(*v, &writeBatchTimeout)
 17511  				if err != nil {
 17512  					return err
 17513  				}
 17514  				adlss.WriteBatchTimeout = writeBatchTimeout
 17515  			}
 17516  		case "sinkRetryCount":
 17517  			if v != nil {
 17518  				var sinkRetryCount interface{}
 17519  				err = json.Unmarshal(*v, &sinkRetryCount)
 17520  				if err != nil {
 17521  					return err
 17522  				}
 17523  				adlss.SinkRetryCount = sinkRetryCount
 17524  			}
 17525  		case "sinkRetryWait":
 17526  			if v != nil {
 17527  				var sinkRetryWait interface{}
 17528  				err = json.Unmarshal(*v, &sinkRetryWait)
 17529  				if err != nil {
 17530  					return err
 17531  				}
 17532  				adlss.SinkRetryWait = sinkRetryWait
 17533  			}
 17534  		case "maxConcurrentConnections":
 17535  			if v != nil {
 17536  				var maxConcurrentConnections interface{}
 17537  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 17538  				if err != nil {
 17539  					return err
 17540  				}
 17541  				adlss.MaxConcurrentConnections = maxConcurrentConnections
 17542  			}
 17543  		case "type":
 17544  			if v != nil {
 17545  				var typeVar TypeBasicCopySink
 17546  				err = json.Unmarshal(*v, &typeVar)
 17547  				if err != nil {
 17548  					return err
 17549  				}
 17550  				adlss.Type = typeVar
 17551  			}
 17552  		}
 17553  	}
 17554  
 17555  	return nil
 17556  }
 17557  
 17558  // AzureDataLakeStoreSource a copy activity Azure Data Lake source.
 17559  type AzureDataLakeStoreSource struct {
 17560  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 17561  	Recursive interface{} `json:"recursive,omitempty"`
 17562  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 17563  	AdditionalProperties map[string]interface{} `json:""`
 17564  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 17565  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 17566  	// 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])).
 17567  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 17568  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 17569  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 17570  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 17571  	Type TypeBasicCopySource `json:"type,omitempty"`
 17572  }
 17573  
 17574  // MarshalJSON is the custom marshaler for AzureDataLakeStoreSource.
 17575  func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) {
 17576  	adlss.Type = TypeAzureDataLakeStoreSource
 17577  	objectMap := make(map[string]interface{})
 17578  	if adlss.Recursive != nil {
 17579  		objectMap["recursive"] = adlss.Recursive
 17580  	}
 17581  	if adlss.SourceRetryCount != nil {
 17582  		objectMap["sourceRetryCount"] = adlss.SourceRetryCount
 17583  	}
 17584  	if adlss.SourceRetryWait != nil {
 17585  		objectMap["sourceRetryWait"] = adlss.SourceRetryWait
 17586  	}
 17587  	if adlss.MaxConcurrentConnections != nil {
 17588  		objectMap["maxConcurrentConnections"] = adlss.MaxConcurrentConnections
 17589  	}
 17590  	if adlss.Type != "" {
 17591  		objectMap["type"] = adlss.Type
 17592  	}
 17593  	for k, v := range adlss.AdditionalProperties {
 17594  		objectMap[k] = v
 17595  	}
 17596  	return json.Marshal(objectMap)
 17597  }
 17598  
 17599  // AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17600  func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) {
 17601  	return nil, false
 17602  }
 17603  
 17604  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17605  func (adlss AzureDataLakeStoreSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 17606  	return nil, false
 17607  }
 17608  
 17609  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17610  func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 17611  	return &adlss, true
 17612  }
 17613  
 17614  // AsOffice365Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17615  func (adlss AzureDataLakeStoreSource) AsOffice365Source() (*Office365Source, bool) {
 17616  	return nil, false
 17617  }
 17618  
 17619  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17620  func (adlss AzureDataLakeStoreSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 17621  	return nil, false
 17622  }
 17623  
 17624  // AsMongoDbV2Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17625  func (adlss AzureDataLakeStoreSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 17626  	return nil, false
 17627  }
 17628  
 17629  // AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17630  func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) {
 17631  	return nil, false
 17632  }
 17633  
 17634  // AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17635  func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) {
 17636  	return nil, false
 17637  }
 17638  
 17639  // AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17640  func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) {
 17641  	return nil, false
 17642  }
 17643  
 17644  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17645  func (adlss AzureDataLakeStoreSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 17646  	return nil, false
 17647  }
 17648  
 17649  // AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17650  func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) {
 17651  	return nil, false
 17652  }
 17653  
 17654  // AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17655  func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) {
 17656  	return nil, false
 17657  }
 17658  
 17659  // AsRestSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17660  func (adlss AzureDataLakeStoreSource) AsRestSource() (*RestSource, bool) {
 17661  	return nil, false
 17662  }
 17663  
 17664  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17665  func (adlss AzureDataLakeStoreSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 17666  	return nil, false
 17667  }
 17668  
 17669  // AsODataSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17670  func (adlss AzureDataLakeStoreSource) AsODataSource() (*ODataSource, bool) {
 17671  	return nil, false
 17672  }
 17673  
 17674  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17675  func (adlss AzureDataLakeStoreSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 17676  	return nil, false
 17677  }
 17678  
 17679  // AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17680  func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) {
 17681  	return nil, false
 17682  }
 17683  
 17684  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17685  func (adlss AzureDataLakeStoreSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 17686  	return nil, false
 17687  }
 17688  
 17689  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17690  func (adlss AzureDataLakeStoreSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 17691  	return nil, false
 17692  }
 17693  
 17694  // AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17695  func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) {
 17696  	return nil, false
 17697  }
 17698  
 17699  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17700  func (adlss AzureDataLakeStoreSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 17701  	return nil, false
 17702  }
 17703  
 17704  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17705  func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 17706  	return nil, false
 17707  }
 17708  
 17709  // AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17710  func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) {
 17711  	return nil, false
 17712  }
 17713  
 17714  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17715  func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 17716  	return nil, false
 17717  }
 17718  
 17719  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17720  func (adlss AzureDataLakeStoreSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 17721  	return nil, false
 17722  }
 17723  
 17724  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17725  func (adlss AzureDataLakeStoreSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 17726  	return nil, false
 17727  }
 17728  
 17729  // AsDynamicsAXSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17730  func (adlss AzureDataLakeStoreSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 17731  	return nil, false
 17732  }
 17733  
 17734  // AsResponsysSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17735  func (adlss AzureDataLakeStoreSource) AsResponsysSource() (*ResponsysSource, bool) {
 17736  	return nil, false
 17737  }
 17738  
 17739  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17740  func (adlss AzureDataLakeStoreSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 17741  	return nil, false
 17742  }
 17743  
 17744  // AsVerticaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17745  func (adlss AzureDataLakeStoreSource) AsVerticaSource() (*VerticaSource, bool) {
 17746  	return nil, false
 17747  }
 17748  
 17749  // AsNetezzaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17750  func (adlss AzureDataLakeStoreSource) AsNetezzaSource() (*NetezzaSource, bool) {
 17751  	return nil, false
 17752  }
 17753  
 17754  // AsZohoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17755  func (adlss AzureDataLakeStoreSource) AsZohoSource() (*ZohoSource, bool) {
 17756  	return nil, false
 17757  }
 17758  
 17759  // AsXeroSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17760  func (adlss AzureDataLakeStoreSource) AsXeroSource() (*XeroSource, bool) {
 17761  	return nil, false
 17762  }
 17763  
 17764  // AsSquareSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17765  func (adlss AzureDataLakeStoreSource) AsSquareSource() (*SquareSource, bool) {
 17766  	return nil, false
 17767  }
 17768  
 17769  // AsSparkSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17770  func (adlss AzureDataLakeStoreSource) AsSparkSource() (*SparkSource, bool) {
 17771  	return nil, false
 17772  }
 17773  
 17774  // AsShopifySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17775  func (adlss AzureDataLakeStoreSource) AsShopifySource() (*ShopifySource, bool) {
 17776  	return nil, false
 17777  }
 17778  
 17779  // AsServiceNowSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17780  func (adlss AzureDataLakeStoreSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 17781  	return nil, false
 17782  }
 17783  
 17784  // AsQuickBooksSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17785  func (adlss AzureDataLakeStoreSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 17786  	return nil, false
 17787  }
 17788  
 17789  // AsPrestoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17790  func (adlss AzureDataLakeStoreSource) AsPrestoSource() (*PrestoSource, bool) {
 17791  	return nil, false
 17792  }
 17793  
 17794  // AsPhoenixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17795  func (adlss AzureDataLakeStoreSource) AsPhoenixSource() (*PhoenixSource, bool) {
 17796  	return nil, false
 17797  }
 17798  
 17799  // AsPaypalSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17800  func (adlss AzureDataLakeStoreSource) AsPaypalSource() (*PaypalSource, bool) {
 17801  	return nil, false
 17802  }
 17803  
 17804  // AsMarketoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17805  func (adlss AzureDataLakeStoreSource) AsMarketoSource() (*MarketoSource, bool) {
 17806  	return nil, false
 17807  }
 17808  
 17809  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17810  func (adlss AzureDataLakeStoreSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 17811  	return nil, false
 17812  }
 17813  
 17814  // AsMariaDBSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17815  func (adlss AzureDataLakeStoreSource) AsMariaDBSource() (*MariaDBSource, bool) {
 17816  	return nil, false
 17817  }
 17818  
 17819  // AsMagentoSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17820  func (adlss AzureDataLakeStoreSource) AsMagentoSource() (*MagentoSource, bool) {
 17821  	return nil, false
 17822  }
 17823  
 17824  // AsJiraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17825  func (adlss AzureDataLakeStoreSource) AsJiraSource() (*JiraSource, bool) {
 17826  	return nil, false
 17827  }
 17828  
 17829  // AsImpalaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17830  func (adlss AzureDataLakeStoreSource) AsImpalaSource() (*ImpalaSource, bool) {
 17831  	return nil, false
 17832  }
 17833  
 17834  // AsHubspotSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17835  func (adlss AzureDataLakeStoreSource) AsHubspotSource() (*HubspotSource, bool) {
 17836  	return nil, false
 17837  }
 17838  
 17839  // AsHiveSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17840  func (adlss AzureDataLakeStoreSource) AsHiveSource() (*HiveSource, bool) {
 17841  	return nil, false
 17842  }
 17843  
 17844  // AsHBaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17845  func (adlss AzureDataLakeStoreSource) AsHBaseSource() (*HBaseSource, bool) {
 17846  	return nil, false
 17847  }
 17848  
 17849  // AsGreenplumSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17850  func (adlss AzureDataLakeStoreSource) AsGreenplumSource() (*GreenplumSource, bool) {
 17851  	return nil, false
 17852  }
 17853  
 17854  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17855  func (adlss AzureDataLakeStoreSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 17856  	return nil, false
 17857  }
 17858  
 17859  // AsEloquaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17860  func (adlss AzureDataLakeStoreSource) AsEloquaSource() (*EloquaSource, bool) {
 17861  	return nil, false
 17862  }
 17863  
 17864  // AsDrillSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17865  func (adlss AzureDataLakeStoreSource) AsDrillSource() (*DrillSource, bool) {
 17866  	return nil, false
 17867  }
 17868  
 17869  // AsCouchbaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17870  func (adlss AzureDataLakeStoreSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 17871  	return nil, false
 17872  }
 17873  
 17874  // AsConcurSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17875  func (adlss AzureDataLakeStoreSource) AsConcurSource() (*ConcurSource, bool) {
 17876  	return nil, false
 17877  }
 17878  
 17879  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17880  func (adlss AzureDataLakeStoreSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 17881  	return nil, false
 17882  }
 17883  
 17884  // AsAmazonMWSSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17885  func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 17886  	return nil, false
 17887  }
 17888  
 17889  // AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17890  func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) {
 17891  	return nil, false
 17892  }
 17893  
 17894  // AsTeradataSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17895  func (adlss AzureDataLakeStoreSource) AsTeradataSource() (*TeradataSource, bool) {
 17896  	return nil, false
 17897  }
 17898  
 17899  // AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17900  func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 17901  	return nil, false
 17902  }
 17903  
 17904  // AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17905  func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) {
 17906  	return nil, false
 17907  }
 17908  
 17909  // AsSQLMISource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17910  func (adlss AzureDataLakeStoreSource) AsSQLMISource() (*SQLMISource, bool) {
 17911  	return nil, false
 17912  }
 17913  
 17914  // AsAzureSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17915  func (adlss AzureDataLakeStoreSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 17916  	return nil, false
 17917  }
 17918  
 17919  // AsSQLServerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17920  func (adlss AzureDataLakeStoreSource) AsSQLServerSource() (*SQLServerSource, bool) {
 17921  	return nil, false
 17922  }
 17923  
 17924  // AsSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17925  func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) {
 17926  	return nil, false
 17927  }
 17928  
 17929  // AsSapTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17930  func (adlss AzureDataLakeStoreSource) AsSapTableSource() (*SapTableSource, bool) {
 17931  	return nil, false
 17932  }
 17933  
 17934  // AsSapOpenHubSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17935  func (adlss AzureDataLakeStoreSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 17936  	return nil, false
 17937  }
 17938  
 17939  // AsSapHanaSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17940  func (adlss AzureDataLakeStoreSource) AsSapHanaSource() (*SapHanaSource, bool) {
 17941  	return nil, false
 17942  }
 17943  
 17944  // AsSapEccSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17945  func (adlss AzureDataLakeStoreSource) AsSapEccSource() (*SapEccSource, bool) {
 17946  	return nil, false
 17947  }
 17948  
 17949  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17950  func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 17951  	return nil, false
 17952  }
 17953  
 17954  // AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17955  func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) {
 17956  	return nil, false
 17957  }
 17958  
 17959  // AsSapBwSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17960  func (adlss AzureDataLakeStoreSource) AsSapBwSource() (*SapBwSource, bool) {
 17961  	return nil, false
 17962  }
 17963  
 17964  // AsSybaseSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17965  func (adlss AzureDataLakeStoreSource) AsSybaseSource() (*SybaseSource, bool) {
 17966  	return nil, false
 17967  }
 17968  
 17969  // AsPostgreSQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17970  func (adlss AzureDataLakeStoreSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 17971  	return nil, false
 17972  }
 17973  
 17974  // AsMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17975  func (adlss AzureDataLakeStoreSource) AsMySQLSource() (*MySQLSource, bool) {
 17976  	return nil, false
 17977  }
 17978  
 17979  // AsOdbcSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17980  func (adlss AzureDataLakeStoreSource) AsOdbcSource() (*OdbcSource, bool) {
 17981  	return nil, false
 17982  }
 17983  
 17984  // AsDb2Source is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17985  func (adlss AzureDataLakeStoreSource) AsDb2Source() (*Db2Source, bool) {
 17986  	return nil, false
 17987  }
 17988  
 17989  // AsInformixSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17990  func (adlss AzureDataLakeStoreSource) AsInformixSource() (*InformixSource, bool) {
 17991  	return nil, false
 17992  }
 17993  
 17994  // AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 17995  func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) {
 17996  	return nil, false
 17997  }
 17998  
 17999  // AsTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18000  func (adlss AzureDataLakeStoreSource) AsTabularSource() (*TabularSource, bool) {
 18001  	return nil, false
 18002  }
 18003  
 18004  // AsBasicTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18005  func (adlss AzureDataLakeStoreSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 18006  	return nil, false
 18007  }
 18008  
 18009  // AsBinarySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18010  func (adlss AzureDataLakeStoreSource) AsBinarySource() (*BinarySource, bool) {
 18011  	return nil, false
 18012  }
 18013  
 18014  // AsOrcSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18015  func (adlss AzureDataLakeStoreSource) AsOrcSource() (*OrcSource, bool) {
 18016  	return nil, false
 18017  }
 18018  
 18019  // AsJSONSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18020  func (adlss AzureDataLakeStoreSource) AsJSONSource() (*JSONSource, bool) {
 18021  	return nil, false
 18022  }
 18023  
 18024  // AsDelimitedTextSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18025  func (adlss AzureDataLakeStoreSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 18026  	return nil, false
 18027  }
 18028  
 18029  // AsParquetSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18030  func (adlss AzureDataLakeStoreSource) AsParquetSource() (*ParquetSource, bool) {
 18031  	return nil, false
 18032  }
 18033  
 18034  // AsAvroSource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18035  func (adlss AzureDataLakeStoreSource) AsAvroSource() (*AvroSource, bool) {
 18036  	return nil, false
 18037  }
 18038  
 18039  // AsCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18040  func (adlss AzureDataLakeStoreSource) AsCopySource() (*CopySource, bool) {
 18041  	return nil, false
 18042  }
 18043  
 18044  // AsBasicCopySource is the BasicCopySource implementation for AzureDataLakeStoreSource.
 18045  func (adlss AzureDataLakeStoreSource) AsBasicCopySource() (BasicCopySource, bool) {
 18046  	return &adlss, true
 18047  }
 18048  
 18049  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreSource struct.
 18050  func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error {
 18051  	var m map[string]*json.RawMessage
 18052  	err := json.Unmarshal(body, &m)
 18053  	if err != nil {
 18054  		return err
 18055  	}
 18056  	for k, v := range m {
 18057  		switch k {
 18058  		case "recursive":
 18059  			if v != nil {
 18060  				var recursive interface{}
 18061  				err = json.Unmarshal(*v, &recursive)
 18062  				if err != nil {
 18063  					return err
 18064  				}
 18065  				adlss.Recursive = recursive
 18066  			}
 18067  		default:
 18068  			if v != nil {
 18069  				var additionalProperties interface{}
 18070  				err = json.Unmarshal(*v, &additionalProperties)
 18071  				if err != nil {
 18072  					return err
 18073  				}
 18074  				if adlss.AdditionalProperties == nil {
 18075  					adlss.AdditionalProperties = make(map[string]interface{})
 18076  				}
 18077  				adlss.AdditionalProperties[k] = additionalProperties
 18078  			}
 18079  		case "sourceRetryCount":
 18080  			if v != nil {
 18081  				var sourceRetryCount interface{}
 18082  				err = json.Unmarshal(*v, &sourceRetryCount)
 18083  				if err != nil {
 18084  					return err
 18085  				}
 18086  				adlss.SourceRetryCount = sourceRetryCount
 18087  			}
 18088  		case "sourceRetryWait":
 18089  			if v != nil {
 18090  				var sourceRetryWait interface{}
 18091  				err = json.Unmarshal(*v, &sourceRetryWait)
 18092  				if err != nil {
 18093  					return err
 18094  				}
 18095  				adlss.SourceRetryWait = sourceRetryWait
 18096  			}
 18097  		case "maxConcurrentConnections":
 18098  			if v != nil {
 18099  				var maxConcurrentConnections interface{}
 18100  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 18101  				if err != nil {
 18102  					return err
 18103  				}
 18104  				adlss.MaxConcurrentConnections = maxConcurrentConnections
 18105  			}
 18106  		case "type":
 18107  			if v != nil {
 18108  				var typeVar TypeBasicCopySource
 18109  				err = json.Unmarshal(*v, &typeVar)
 18110  				if err != nil {
 18111  					return err
 18112  				}
 18113  				adlss.Type = typeVar
 18114  			}
 18115  		}
 18116  	}
 18117  
 18118  	return nil
 18119  }
 18120  
 18121  // AzureDataLakeStoreWriteSettings azure data lake store write settings.
 18122  type AzureDataLakeStoreWriteSettings struct {
 18123  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 18124  	AdditionalProperties map[string]interface{} `json:""`
 18125  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 18126  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 18127  	// CopyBehavior - The type of copy behavior for copy sink.
 18128  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 18129  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
 18130  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
 18131  }
 18132  
 18133  // MarshalJSON is the custom marshaler for AzureDataLakeStoreWriteSettings.
 18134  func (adlsws AzureDataLakeStoreWriteSettings) MarshalJSON() ([]byte, error) {
 18135  	adlsws.Type = TypeAzureDataLakeStoreWriteSettings
 18136  	objectMap := make(map[string]interface{})
 18137  	if adlsws.MaxConcurrentConnections != nil {
 18138  		objectMap["maxConcurrentConnections"] = adlsws.MaxConcurrentConnections
 18139  	}
 18140  	if adlsws.CopyBehavior != nil {
 18141  		objectMap["copyBehavior"] = adlsws.CopyBehavior
 18142  	}
 18143  	if adlsws.Type != "" {
 18144  		objectMap["type"] = adlsws.Type
 18145  	}
 18146  	for k, v := range adlsws.AdditionalProperties {
 18147  		objectMap[k] = v
 18148  	}
 18149  	return json.Marshal(objectMap)
 18150  }
 18151  
 18152  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18153  func (adlsws AzureDataLakeStoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
 18154  	return nil, false
 18155  }
 18156  
 18157  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18158  func (adlsws AzureDataLakeStoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
 18159  	return &adlsws, true
 18160  }
 18161  
 18162  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18163  func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
 18164  	return nil, false
 18165  }
 18166  
 18167  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18168  func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
 18169  	return nil, false
 18170  }
 18171  
 18172  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18173  func (adlsws AzureDataLakeStoreWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
 18174  	return nil, false
 18175  }
 18176  
 18177  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18178  func (adlsws AzureDataLakeStoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
 18179  	return nil, false
 18180  }
 18181  
 18182  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings.
 18183  func (adlsws AzureDataLakeStoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
 18184  	return &adlsws, true
 18185  }
 18186  
 18187  // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreWriteSettings struct.
 18188  func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error {
 18189  	var m map[string]*json.RawMessage
 18190  	err := json.Unmarshal(body, &m)
 18191  	if err != nil {
 18192  		return err
 18193  	}
 18194  	for k, v := range m {
 18195  		switch k {
 18196  		default:
 18197  			if v != nil {
 18198  				var additionalProperties interface{}
 18199  				err = json.Unmarshal(*v, &additionalProperties)
 18200  				if err != nil {
 18201  					return err
 18202  				}
 18203  				if adlsws.AdditionalProperties == nil {
 18204  					adlsws.AdditionalProperties = make(map[string]interface{})
 18205  				}
 18206  				adlsws.AdditionalProperties[k] = additionalProperties
 18207  			}
 18208  		case "maxConcurrentConnections":
 18209  			if v != nil {
 18210  				var maxConcurrentConnections interface{}
 18211  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 18212  				if err != nil {
 18213  					return err
 18214  				}
 18215  				adlsws.MaxConcurrentConnections = maxConcurrentConnections
 18216  			}
 18217  		case "copyBehavior":
 18218  			if v != nil {
 18219  				var copyBehavior interface{}
 18220  				err = json.Unmarshal(*v, &copyBehavior)
 18221  				if err != nil {
 18222  					return err
 18223  				}
 18224  				adlsws.CopyBehavior = copyBehavior
 18225  			}
 18226  		case "type":
 18227  			if v != nil {
 18228  				var typeVar TypeBasicStoreWriteSettings
 18229  				err = json.Unmarshal(*v, &typeVar)
 18230  				if err != nil {
 18231  					return err
 18232  				}
 18233  				adlsws.Type = typeVar
 18234  			}
 18235  		}
 18236  	}
 18237  
 18238  	return nil
 18239  }
 18240  
 18241  // AzureEntityResource the resource model definition for an Azure Resource Manager resource with an etag.
 18242  type AzureEntityResource struct {
 18243  	// Etag - READ-ONLY; Resource Etag.
 18244  	Etag *string `json:"etag,omitempty"`
 18245  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
 18246  	ID *string `json:"id,omitempty"`
 18247  	// Name - READ-ONLY; The name of the resource
 18248  	Name *string `json:"name,omitempty"`
 18249  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 18250  	Type *string `json:"type,omitempty"`
 18251  }
 18252  
 18253  // MarshalJSON is the custom marshaler for AzureEntityResource.
 18254  func (aer AzureEntityResource) MarshalJSON() ([]byte, error) {
 18255  	objectMap := make(map[string]interface{})
 18256  	return json.Marshal(objectMap)
 18257  }
 18258  
 18259  // AzureFileStorageLinkedService azure File Storage linked service.
 18260  type AzureFileStorageLinkedService struct {
 18261  	// AzureFileStorageLinkedServiceTypeProperties - Azure File Storage linked service properties.
 18262  	*AzureFileStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 18263  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 18264  	AdditionalProperties map[string]interface{} `json:""`
 18265  	// ConnectVia - The integration runtime reference.
 18266  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 18267  	// Description - Linked service description.
 18268  	Description *string `json:"description,omitempty"`
 18269  	// Parameters - Parameters for linked service.
 18270  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 18271  	// Annotations - List of tags that can be used for describing the linked service.
 18272  	Annotations *[]interface{} `json:"annotations,omitempty"`
 18273  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 18274  	Type TypeBasicLinkedService `json:"type,omitempty"`
 18275  }
 18276  
 18277  // MarshalJSON is the custom marshaler for AzureFileStorageLinkedService.
 18278  func (afsls AzureFileStorageLinkedService) MarshalJSON() ([]byte, error) {
 18279  	afsls.Type = TypeAzureFileStorage
 18280  	objectMap := make(map[string]interface{})
 18281  	if afsls.AzureFileStorageLinkedServiceTypeProperties != nil {
 18282  		objectMap["typeProperties"] = afsls.AzureFileStorageLinkedServiceTypeProperties
 18283  	}
 18284  	if afsls.ConnectVia != nil {
 18285  		objectMap["connectVia"] = afsls.ConnectVia
 18286  	}
 18287  	if afsls.Description != nil {
 18288  		objectMap["description"] = afsls.Description
 18289  	}
 18290  	if afsls.Parameters != nil {
 18291  		objectMap["parameters"] = afsls.Parameters
 18292  	}
 18293  	if afsls.Annotations != nil {
 18294  		objectMap["annotations"] = afsls.Annotations
 18295  	}
 18296  	if afsls.Type != "" {
 18297  		objectMap["type"] = afsls.Type
 18298  	}
 18299  	for k, v := range afsls.AdditionalProperties {
 18300  		objectMap[k] = v
 18301  	}
 18302  	return json.Marshal(objectMap)
 18303  }
 18304  
 18305  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18306  func (afsls AzureFileStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 18307  	return nil, false
 18308  }
 18309  
 18310  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18311  func (afsls AzureFileStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 18312  	return nil, false
 18313  }
 18314  
 18315  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18316  func (afsls AzureFileStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 18317  	return nil, false
 18318  }
 18319  
 18320  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18321  func (afsls AzureFileStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 18322  	return nil, false
 18323  }
 18324  
 18325  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18326  func (afsls AzureFileStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 18327  	return nil, false
 18328  }
 18329  
 18330  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18331  func (afsls AzureFileStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 18332  	return nil, false
 18333  }
 18334  
 18335  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18336  func (afsls AzureFileStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 18337  	return nil, false
 18338  }
 18339  
 18340  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18341  func (afsls AzureFileStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 18342  	return nil, false
 18343  }
 18344  
 18345  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18346  func (afsls AzureFileStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 18347  	return nil, false
 18348  }
 18349  
 18350  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18351  func (afsls AzureFileStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 18352  	return nil, false
 18353  }
 18354  
 18355  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18356  func (afsls AzureFileStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 18357  	return nil, false
 18358  }
 18359  
 18360  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18361  func (afsls AzureFileStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 18362  	return nil, false
 18363  }
 18364  
 18365  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18366  func (afsls AzureFileStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 18367  	return nil, false
 18368  }
 18369  
 18370  // AsZohoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18371  func (afsls AzureFileStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 18372  	return nil, false
 18373  }
 18374  
 18375  // AsXeroLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18376  func (afsls AzureFileStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 18377  	return nil, false
 18378  }
 18379  
 18380  // AsSquareLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18381  func (afsls AzureFileStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 18382  	return nil, false
 18383  }
 18384  
 18385  // AsSparkLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18386  func (afsls AzureFileStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 18387  	return nil, false
 18388  }
 18389  
 18390  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18391  func (afsls AzureFileStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 18392  	return nil, false
 18393  }
 18394  
 18395  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18396  func (afsls AzureFileStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 18397  	return nil, false
 18398  }
 18399  
 18400  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18401  func (afsls AzureFileStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 18402  	return nil, false
 18403  }
 18404  
 18405  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18406  func (afsls AzureFileStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 18407  	return nil, false
 18408  }
 18409  
 18410  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18411  func (afsls AzureFileStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 18412  	return nil, false
 18413  }
 18414  
 18415  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18416  func (afsls AzureFileStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 18417  	return nil, false
 18418  }
 18419  
 18420  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18421  func (afsls AzureFileStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 18422  	return nil, false
 18423  }
 18424  
 18425  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18426  func (afsls AzureFileStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 18427  	return nil, false
 18428  }
 18429  
 18430  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18431  func (afsls AzureFileStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 18432  	return nil, false
 18433  }
 18434  
 18435  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18436  func (afsls AzureFileStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 18437  	return nil, false
 18438  }
 18439  
 18440  // AsJiraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18441  func (afsls AzureFileStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 18442  	return nil, false
 18443  }
 18444  
 18445  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18446  func (afsls AzureFileStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 18447  	return nil, false
 18448  }
 18449  
 18450  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18451  func (afsls AzureFileStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 18452  	return nil, false
 18453  }
 18454  
 18455  // AsHiveLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18456  func (afsls AzureFileStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 18457  	return nil, false
 18458  }
 18459  
 18460  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18461  func (afsls AzureFileStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 18462  	return nil, false
 18463  }
 18464  
 18465  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18466  func (afsls AzureFileStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 18467  	return nil, false
 18468  }
 18469  
 18470  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18471  func (afsls AzureFileStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 18472  	return nil, false
 18473  }
 18474  
 18475  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18476  func (afsls AzureFileStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 18477  	return nil, false
 18478  }
 18479  
 18480  // AsDrillLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18481  func (afsls AzureFileStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 18482  	return nil, false
 18483  }
 18484  
 18485  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18486  func (afsls AzureFileStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 18487  	return nil, false
 18488  }
 18489  
 18490  // AsConcurLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18491  func (afsls AzureFileStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 18492  	return nil, false
 18493  }
 18494  
 18495  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18496  func (afsls AzureFileStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 18497  	return nil, false
 18498  }
 18499  
 18500  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18501  func (afsls AzureFileStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 18502  	return nil, false
 18503  }
 18504  
 18505  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18506  func (afsls AzureFileStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 18507  	return nil, false
 18508  }
 18509  
 18510  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18511  func (afsls AzureFileStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 18512  	return nil, false
 18513  }
 18514  
 18515  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18516  func (afsls AzureFileStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 18517  	return nil, false
 18518  }
 18519  
 18520  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18521  func (afsls AzureFileStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 18522  	return nil, false
 18523  }
 18524  
 18525  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18526  func (afsls AzureFileStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 18527  	return nil, false
 18528  }
 18529  
 18530  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18531  func (afsls AzureFileStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 18532  	return nil, false
 18533  }
 18534  
 18535  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18536  func (afsls AzureFileStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 18537  	return nil, false
 18538  }
 18539  
 18540  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18541  func (afsls AzureFileStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 18542  	return nil, false
 18543  }
 18544  
 18545  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18546  func (afsls AzureFileStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 18547  	return nil, false
 18548  }
 18549  
 18550  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18551  func (afsls AzureFileStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 18552  	return nil, false
 18553  }
 18554  
 18555  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18556  func (afsls AzureFileStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 18557  	return nil, false
 18558  }
 18559  
 18560  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18561  func (afsls AzureFileStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 18562  	return nil, false
 18563  }
 18564  
 18565  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18566  func (afsls AzureFileStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 18567  	return nil, false
 18568  }
 18569  
 18570  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18571  func (afsls AzureFileStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 18572  	return nil, false
 18573  }
 18574  
 18575  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18576  func (afsls AzureFileStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 18577  	return nil, false
 18578  }
 18579  
 18580  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18581  func (afsls AzureFileStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 18582  	return nil, false
 18583  }
 18584  
 18585  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18586  func (afsls AzureFileStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 18587  	return nil, false
 18588  }
 18589  
 18590  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18591  func (afsls AzureFileStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 18592  	return nil, false
 18593  }
 18594  
 18595  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18596  func (afsls AzureFileStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 18597  	return nil, false
 18598  }
 18599  
 18600  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18601  func (afsls AzureFileStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 18602  	return nil, false
 18603  }
 18604  
 18605  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18606  func (afsls AzureFileStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 18607  	return nil, false
 18608  }
 18609  
 18610  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18611  func (afsls AzureFileStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 18612  	return nil, false
 18613  }
 18614  
 18615  // AsWebLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18616  func (afsls AzureFileStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 18617  	return nil, false
 18618  }
 18619  
 18620  // AsODataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18621  func (afsls AzureFileStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 18622  	return nil, false
 18623  }
 18624  
 18625  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18626  func (afsls AzureFileStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 18627  	return nil, false
 18628  }
 18629  
 18630  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18631  func (afsls AzureFileStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 18632  	return nil, false
 18633  }
 18634  
 18635  // AsInformixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18636  func (afsls AzureFileStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 18637  	return nil, false
 18638  }
 18639  
 18640  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18641  func (afsls AzureFileStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 18642  	return nil, false
 18643  }
 18644  
 18645  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18646  func (afsls AzureFileStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 18647  	return nil, false
 18648  }
 18649  
 18650  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18651  func (afsls AzureFileStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 18652  	return nil, false
 18653  }
 18654  
 18655  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18656  func (afsls AzureFileStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 18657  	return nil, false
 18658  }
 18659  
 18660  // AsDb2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18661  func (afsls AzureFileStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 18662  	return nil, false
 18663  }
 18664  
 18665  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18666  func (afsls AzureFileStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 18667  	return nil, false
 18668  }
 18669  
 18670  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18671  func (afsls AzureFileStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 18672  	return nil, false
 18673  }
 18674  
 18675  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18676  func (afsls AzureFileStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 18677  	return nil, false
 18678  }
 18679  
 18680  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18681  func (afsls AzureFileStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 18682  	return nil, false
 18683  }
 18684  
 18685  // AsOracleLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18686  func (afsls AzureFileStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 18687  	return nil, false
 18688  }
 18689  
 18690  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18691  func (afsls AzureFileStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 18692  	return nil, false
 18693  }
 18694  
 18695  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18696  func (afsls AzureFileStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 18697  	return &afsls, true
 18698  }
 18699  
 18700  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18701  func (afsls AzureFileStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 18702  	return nil, false
 18703  }
 18704  
 18705  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18706  func (afsls AzureFileStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 18707  	return nil, false
 18708  }
 18709  
 18710  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18711  func (afsls AzureFileStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 18712  	return nil, false
 18713  }
 18714  
 18715  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18716  func (afsls AzureFileStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 18717  	return nil, false
 18718  }
 18719  
 18720  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18721  func (afsls AzureFileStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 18722  	return nil, false
 18723  }
 18724  
 18725  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18726  func (afsls AzureFileStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 18727  	return nil, false
 18728  }
 18729  
 18730  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18731  func (afsls AzureFileStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 18732  	return nil, false
 18733  }
 18734  
 18735  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18736  func (afsls AzureFileStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 18737  	return nil, false
 18738  }
 18739  
 18740  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18741  func (afsls AzureFileStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 18742  	return nil, false
 18743  }
 18744  
 18745  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18746  func (afsls AzureFileStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 18747  	return nil, false
 18748  }
 18749  
 18750  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18751  func (afsls AzureFileStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 18752  	return nil, false
 18753  }
 18754  
 18755  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18756  func (afsls AzureFileStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 18757  	return nil, false
 18758  }
 18759  
 18760  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18761  func (afsls AzureFileStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 18762  	return nil, false
 18763  }
 18764  
 18765  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18766  func (afsls AzureFileStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 18767  	return nil, false
 18768  }
 18769  
 18770  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18771  func (afsls AzureFileStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 18772  	return nil, false
 18773  }
 18774  
 18775  // AsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18776  func (afsls AzureFileStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
 18777  	return nil, false
 18778  }
 18779  
 18780  // AsBasicLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService.
 18781  func (afsls AzureFileStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 18782  	return &afsls, true
 18783  }
 18784  
 18785  // UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedService struct.
 18786  func (afsls *AzureFileStorageLinkedService) UnmarshalJSON(body []byte) error {
 18787  	var m map[string]*json.RawMessage
 18788  	err := json.Unmarshal(body, &m)
 18789  	if err != nil {
 18790  		return err
 18791  	}
 18792  	for k, v := range m {
 18793  		switch k {
 18794  		case "typeProperties":
 18795  			if v != nil {
 18796  				var azureFileStorageLinkedServiceTypeProperties AzureFileStorageLinkedServiceTypeProperties
 18797  				err = json.Unmarshal(*v, &azureFileStorageLinkedServiceTypeProperties)
 18798  				if err != nil {
 18799  					return err
 18800  				}
 18801  				afsls.AzureFileStorageLinkedServiceTypeProperties = &azureFileStorageLinkedServiceTypeProperties
 18802  			}
 18803  		default:
 18804  			if v != nil {
 18805  				var additionalProperties interface{}
 18806  				err = json.Unmarshal(*v, &additionalProperties)
 18807  				if err != nil {
 18808  					return err
 18809  				}
 18810  				if afsls.AdditionalProperties == nil {
 18811  					afsls.AdditionalProperties = make(map[string]interface{})
 18812  				}
 18813  				afsls.AdditionalProperties[k] = additionalProperties
 18814  			}
 18815  		case "connectVia":
 18816  			if v != nil {
 18817  				var connectVia IntegrationRuntimeReference
 18818  				err = json.Unmarshal(*v, &connectVia)
 18819  				if err != nil {
 18820  					return err
 18821  				}
 18822  				afsls.ConnectVia = &connectVia
 18823  			}
 18824  		case "description":
 18825  			if v != nil {
 18826  				var description string
 18827  				err = json.Unmarshal(*v, &description)
 18828  				if err != nil {
 18829  					return err
 18830  				}
 18831  				afsls.Description = &description
 18832  			}
 18833  		case "parameters":
 18834  			if v != nil {
 18835  				var parameters map[string]*ParameterSpecification
 18836  				err = json.Unmarshal(*v, &parameters)
 18837  				if err != nil {
 18838  					return err
 18839  				}
 18840  				afsls.Parameters = parameters
 18841  			}
 18842  		case "annotations":
 18843  			if v != nil {
 18844  				var annotations []interface{}
 18845  				err = json.Unmarshal(*v, &annotations)
 18846  				if err != nil {
 18847  					return err
 18848  				}
 18849  				afsls.Annotations = &annotations
 18850  			}
 18851  		case "type":
 18852  			if v != nil {
 18853  				var typeVar TypeBasicLinkedService
 18854  				err = json.Unmarshal(*v, &typeVar)
 18855  				if err != nil {
 18856  					return err
 18857  				}
 18858  				afsls.Type = typeVar
 18859  			}
 18860  		}
 18861  	}
 18862  
 18863  	return nil
 18864  }
 18865  
 18866  // AzureFileStorageLinkedServiceTypeProperties azure File Storage linked service properties.
 18867  type AzureFileStorageLinkedServiceTypeProperties struct {
 18868  	// Host - Host name of the server. Type: string (or Expression with resultType string).
 18869  	Host interface{} `json:"host,omitempty"`
 18870  	// UserID - User ID to logon the server. Type: string (or Expression with resultType string).
 18871  	UserID interface{} `json:"userId,omitempty"`
 18872  	// Password - Password to logon the server.
 18873  	Password BasicSecretBase `json:"password,omitempty"`
 18874  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 18875  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 18876  }
 18877  
 18878  // UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedServiceTypeProperties struct.
 18879  func (afslstp *AzureFileStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 18880  	var m map[string]*json.RawMessage
 18881  	err := json.Unmarshal(body, &m)
 18882  	if err != nil {
 18883  		return err
 18884  	}
 18885  	for k, v := range m {
 18886  		switch k {
 18887  		case "host":
 18888  			if v != nil {
 18889  				var host interface{}
 18890  				err = json.Unmarshal(*v, &host)
 18891  				if err != nil {
 18892  					return err
 18893  				}
 18894  				afslstp.Host = host
 18895  			}
 18896  		case "userId":
 18897  			if v != nil {
 18898  				var userID interface{}
 18899  				err = json.Unmarshal(*v, &userID)
 18900  				if err != nil {
 18901  					return err
 18902  				}
 18903  				afslstp.UserID = userID
 18904  			}
 18905  		case "password":
 18906  			if v != nil {
 18907  				password, err := unmarshalBasicSecretBase(*v)
 18908  				if err != nil {
 18909  					return err
 18910  				}
 18911  				afslstp.Password = password
 18912  			}
 18913  		case "encryptedCredential":
 18914  			if v != nil {
 18915  				var encryptedCredential interface{}
 18916  				err = json.Unmarshal(*v, &encryptedCredential)
 18917  				if err != nil {
 18918  					return err
 18919  				}
 18920  				afslstp.EncryptedCredential = encryptedCredential
 18921  			}
 18922  		}
 18923  	}
 18924  
 18925  	return nil
 18926  }
 18927  
 18928  // AzureFileStorageLocation the location of file server dataset.
 18929  type AzureFileStorageLocation struct {
 18930  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 18931  	AdditionalProperties map[string]interface{} `json:""`
 18932  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 18933  	FolderPath interface{} `json:"folderPath,omitempty"`
 18934  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 18935  	FileName interface{} `json:"fileName,omitempty"`
 18936  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 18937  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 18938  }
 18939  
 18940  // MarshalJSON is the custom marshaler for AzureFileStorageLocation.
 18941  func (afsl AzureFileStorageLocation) MarshalJSON() ([]byte, error) {
 18942  	afsl.Type = TypeAzureFileStorageLocation
 18943  	objectMap := make(map[string]interface{})
 18944  	if afsl.FolderPath != nil {
 18945  		objectMap["folderPath"] = afsl.FolderPath
 18946  	}
 18947  	if afsl.FileName != nil {
 18948  		objectMap["fileName"] = afsl.FileName
 18949  	}
 18950  	if afsl.Type != "" {
 18951  		objectMap["type"] = afsl.Type
 18952  	}
 18953  	for k, v := range afsl.AdditionalProperties {
 18954  		objectMap[k] = v
 18955  	}
 18956  	return json.Marshal(objectMap)
 18957  }
 18958  
 18959  // AsHdfsLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18960  func (afsl AzureFileStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 18961  	return nil, false
 18962  }
 18963  
 18964  // AsHTTPServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18965  func (afsl AzureFileStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 18966  	return nil, false
 18967  }
 18968  
 18969  // AsSftpLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18970  func (afsl AzureFileStorageLocation) AsSftpLocation() (*SftpLocation, bool) {
 18971  	return nil, false
 18972  }
 18973  
 18974  // AsFtpServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18975  func (afsl AzureFileStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 18976  	return nil, false
 18977  }
 18978  
 18979  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18980  func (afsl AzureFileStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 18981  	return nil, false
 18982  }
 18983  
 18984  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18985  func (afsl AzureFileStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 18986  	return &afsl, true
 18987  }
 18988  
 18989  // AsFileServerLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18990  func (afsl AzureFileStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 18991  	return nil, false
 18992  }
 18993  
 18994  // AsAmazonS3Location is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 18995  func (afsl AzureFileStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 18996  	return nil, false
 18997  }
 18998  
 18999  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 19000  func (afsl AzureFileStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 19001  	return nil, false
 19002  }
 19003  
 19004  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 19005  func (afsl AzureFileStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 19006  	return nil, false
 19007  }
 19008  
 19009  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 19010  func (afsl AzureFileStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 19011  	return nil, false
 19012  }
 19013  
 19014  // AsDatasetLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 19015  func (afsl AzureFileStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 19016  	return nil, false
 19017  }
 19018  
 19019  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for AzureFileStorageLocation.
 19020  func (afsl AzureFileStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 19021  	return &afsl, true
 19022  }
 19023  
 19024  // UnmarshalJSON is the custom unmarshaler for AzureFileStorageLocation struct.
 19025  func (afsl *AzureFileStorageLocation) UnmarshalJSON(body []byte) error {
 19026  	var m map[string]*json.RawMessage
 19027  	err := json.Unmarshal(body, &m)
 19028  	if err != nil {
 19029  		return err
 19030  	}
 19031  	for k, v := range m {
 19032  		switch k {
 19033  		default:
 19034  			if v != nil {
 19035  				var additionalProperties interface{}
 19036  				err = json.Unmarshal(*v, &additionalProperties)
 19037  				if err != nil {
 19038  					return err
 19039  				}
 19040  				if afsl.AdditionalProperties == nil {
 19041  					afsl.AdditionalProperties = make(map[string]interface{})
 19042  				}
 19043  				afsl.AdditionalProperties[k] = additionalProperties
 19044  			}
 19045  		case "folderPath":
 19046  			if v != nil {
 19047  				var folderPath interface{}
 19048  				err = json.Unmarshal(*v, &folderPath)
 19049  				if err != nil {
 19050  					return err
 19051  				}
 19052  				afsl.FolderPath = folderPath
 19053  			}
 19054  		case "fileName":
 19055  			if v != nil {
 19056  				var fileName interface{}
 19057  				err = json.Unmarshal(*v, &fileName)
 19058  				if err != nil {
 19059  					return err
 19060  				}
 19061  				afsl.FileName = fileName
 19062  			}
 19063  		case "type":
 19064  			if v != nil {
 19065  				var typeVar TypeBasicDatasetLocation
 19066  				err = json.Unmarshal(*v, &typeVar)
 19067  				if err != nil {
 19068  					return err
 19069  				}
 19070  				afsl.Type = typeVar
 19071  			}
 19072  		}
 19073  	}
 19074  
 19075  	return nil
 19076  }
 19077  
 19078  // AzureFileStorageReadSettings azure File Storage read settings.
 19079  type AzureFileStorageReadSettings struct {
 19080  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 19081  	Recursive interface{} `json:"recursive,omitempty"`
 19082  	// WildcardFolderPath - Azure File Storage wildcardFolderPath. Type: string (or Expression with resultType string).
 19083  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 19084  	// WildcardFileName - Azure File Storage wildcardFileName. Type: string (or Expression with resultType string).
 19085  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 19086  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 19087  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 19088  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 19089  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 19090  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 19091  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 19092  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 19093  	AdditionalProperties map[string]interface{} `json:""`
 19094  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 19095  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 19096  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 19097  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 19098  }
 19099  
 19100  // MarshalJSON is the custom marshaler for AzureFileStorageReadSettings.
 19101  func (afsrs AzureFileStorageReadSettings) MarshalJSON() ([]byte, error) {
 19102  	afsrs.Type = TypeAzureFileStorageReadSettings
 19103  	objectMap := make(map[string]interface{})
 19104  	if afsrs.Recursive != nil {
 19105  		objectMap["recursive"] = afsrs.Recursive
 19106  	}
 19107  	if afsrs.WildcardFolderPath != nil {
 19108  		objectMap["wildcardFolderPath"] = afsrs.WildcardFolderPath
 19109  	}
 19110  	if afsrs.WildcardFileName != nil {
 19111  		objectMap["wildcardFileName"] = afsrs.WildcardFileName
 19112  	}
 19113  	if afsrs.EnablePartitionDiscovery != nil {
 19114  		objectMap["enablePartitionDiscovery"] = afsrs.EnablePartitionDiscovery
 19115  	}
 19116  	if afsrs.ModifiedDatetimeStart != nil {
 19117  		objectMap["modifiedDatetimeStart"] = afsrs.ModifiedDatetimeStart
 19118  	}
 19119  	if afsrs.ModifiedDatetimeEnd != nil {
 19120  		objectMap["modifiedDatetimeEnd"] = afsrs.ModifiedDatetimeEnd
 19121  	}
 19122  	if afsrs.MaxConcurrentConnections != nil {
 19123  		objectMap["maxConcurrentConnections"] = afsrs.MaxConcurrentConnections
 19124  	}
 19125  	if afsrs.Type != "" {
 19126  		objectMap["type"] = afsrs.Type
 19127  	}
 19128  	for k, v := range afsrs.AdditionalProperties {
 19129  		objectMap[k] = v
 19130  	}
 19131  	return json.Marshal(objectMap)
 19132  }
 19133  
 19134  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19135  func (afsrs AzureFileStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 19136  	return nil, false
 19137  }
 19138  
 19139  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19140  func (afsrs AzureFileStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 19141  	return nil, false
 19142  }
 19143  
 19144  // AsSftpReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19145  func (afsrs AzureFileStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 19146  	return nil, false
 19147  }
 19148  
 19149  // AsFtpReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19150  func (afsrs AzureFileStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 19151  	return nil, false
 19152  }
 19153  
 19154  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19155  func (afsrs AzureFileStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 19156  	return nil, false
 19157  }
 19158  
 19159  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19160  func (afsrs AzureFileStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 19161  	return &afsrs, true
 19162  }
 19163  
 19164  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19165  func (afsrs AzureFileStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 19166  	return nil, false
 19167  }
 19168  
 19169  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19170  func (afsrs AzureFileStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 19171  	return nil, false
 19172  }
 19173  
 19174  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19175  func (afsrs AzureFileStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 19176  	return nil, false
 19177  }
 19178  
 19179  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19180  func (afsrs AzureFileStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 19181  	return nil, false
 19182  }
 19183  
 19184  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19185  func (afsrs AzureFileStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 19186  	return nil, false
 19187  }
 19188  
 19189  // AsStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19190  func (afsrs AzureFileStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 19191  	return nil, false
 19192  }
 19193  
 19194  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for AzureFileStorageReadSettings.
 19195  func (afsrs AzureFileStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 19196  	return &afsrs, true
 19197  }
 19198  
 19199  // UnmarshalJSON is the custom unmarshaler for AzureFileStorageReadSettings struct.
 19200  func (afsrs *AzureFileStorageReadSettings) UnmarshalJSON(body []byte) error {
 19201  	var m map[string]*json.RawMessage
 19202  	err := json.Unmarshal(body, &m)
 19203  	if err != nil {
 19204  		return err
 19205  	}
 19206  	for k, v := range m {
 19207  		switch k {
 19208  		case "recursive":
 19209  			if v != nil {
 19210  				var recursive interface{}
 19211  				err = json.Unmarshal(*v, &recursive)
 19212  				if err != nil {
 19213  					return err
 19214  				}
 19215  				afsrs.Recursive = recursive
 19216  			}
 19217  		case "wildcardFolderPath":
 19218  			if v != nil {
 19219  				var wildcardFolderPath interface{}
 19220  				err = json.Unmarshal(*v, &wildcardFolderPath)
 19221  				if err != nil {
 19222  					return err
 19223  				}
 19224  				afsrs.WildcardFolderPath = wildcardFolderPath
 19225  			}
 19226  		case "wildcardFileName":
 19227  			if v != nil {
 19228  				var wildcardFileName interface{}
 19229  				err = json.Unmarshal(*v, &wildcardFileName)
 19230  				if err != nil {
 19231  					return err
 19232  				}
 19233  				afsrs.WildcardFileName = wildcardFileName
 19234  			}
 19235  		case "enablePartitionDiscovery":
 19236  			if v != nil {
 19237  				var enablePartitionDiscovery bool
 19238  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 19239  				if err != nil {
 19240  					return err
 19241  				}
 19242  				afsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 19243  			}
 19244  		case "modifiedDatetimeStart":
 19245  			if v != nil {
 19246  				var modifiedDatetimeStart interface{}
 19247  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 19248  				if err != nil {
 19249  					return err
 19250  				}
 19251  				afsrs.ModifiedDatetimeStart = modifiedDatetimeStart
 19252  			}
 19253  		case "modifiedDatetimeEnd":
 19254  			if v != nil {
 19255  				var modifiedDatetimeEnd interface{}
 19256  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 19257  				if err != nil {
 19258  					return err
 19259  				}
 19260  				afsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 19261  			}
 19262  		default:
 19263  			if v != nil {
 19264  				var additionalProperties interface{}
 19265  				err = json.Unmarshal(*v, &additionalProperties)
 19266  				if err != nil {
 19267  					return err
 19268  				}
 19269  				if afsrs.AdditionalProperties == nil {
 19270  					afsrs.AdditionalProperties = make(map[string]interface{})
 19271  				}
 19272  				afsrs.AdditionalProperties[k] = additionalProperties
 19273  			}
 19274  		case "maxConcurrentConnections":
 19275  			if v != nil {
 19276  				var maxConcurrentConnections interface{}
 19277  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 19278  				if err != nil {
 19279  					return err
 19280  				}
 19281  				afsrs.MaxConcurrentConnections = maxConcurrentConnections
 19282  			}
 19283  		case "type":
 19284  			if v != nil {
 19285  				var typeVar TypeBasicStoreReadSettings
 19286  				err = json.Unmarshal(*v, &typeVar)
 19287  				if err != nil {
 19288  					return err
 19289  				}
 19290  				afsrs.Type = typeVar
 19291  			}
 19292  		}
 19293  	}
 19294  
 19295  	return nil
 19296  }
 19297  
 19298  // AzureFunctionActivity azure Function activity.
 19299  type AzureFunctionActivity struct {
 19300  	// AzureFunctionActivityTypeProperties - Azure Function activity properties.
 19301  	*AzureFunctionActivityTypeProperties `json:"typeProperties,omitempty"`
 19302  	// LinkedServiceName - Linked service reference.
 19303  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 19304  	// Policy - Activity policy.
 19305  	Policy *ActivityPolicy `json:"policy,omitempty"`
 19306  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 19307  	AdditionalProperties map[string]interface{} `json:""`
 19308  	// Name - Activity name.
 19309  	Name *string `json:"name,omitempty"`
 19310  	// Description - Activity description.
 19311  	Description *string `json:"description,omitempty"`
 19312  	// DependsOn - Activity depends on condition.
 19313  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 19314  	// UserProperties - Activity user properties.
 19315  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 19316  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 19317  	Type TypeBasicActivity `json:"type,omitempty"`
 19318  }
 19319  
 19320  // MarshalJSON is the custom marshaler for AzureFunctionActivity.
 19321  func (afa AzureFunctionActivity) MarshalJSON() ([]byte, error) {
 19322  	afa.Type = TypeAzureFunctionActivity
 19323  	objectMap := make(map[string]interface{})
 19324  	if afa.AzureFunctionActivityTypeProperties != nil {
 19325  		objectMap["typeProperties"] = afa.AzureFunctionActivityTypeProperties
 19326  	}
 19327  	if afa.LinkedServiceName != nil {
 19328  		objectMap["linkedServiceName"] = afa.LinkedServiceName
 19329  	}
 19330  	if afa.Policy != nil {
 19331  		objectMap["policy"] = afa.Policy
 19332  	}
 19333  	if afa.Name != nil {
 19334  		objectMap["name"] = afa.Name
 19335  	}
 19336  	if afa.Description != nil {
 19337  		objectMap["description"] = afa.Description
 19338  	}
 19339  	if afa.DependsOn != nil {
 19340  		objectMap["dependsOn"] = afa.DependsOn
 19341  	}
 19342  	if afa.UserProperties != nil {
 19343  		objectMap["userProperties"] = afa.UserProperties
 19344  	}
 19345  	if afa.Type != "" {
 19346  		objectMap["type"] = afa.Type
 19347  	}
 19348  	for k, v := range afa.AdditionalProperties {
 19349  		objectMap[k] = v
 19350  	}
 19351  	return json.Marshal(objectMap)
 19352  }
 19353  
 19354  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AzureFunctionActivity.
 19355  func (afa AzureFunctionActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 19356  	return nil, false
 19357  }
 19358  
 19359  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19360  func (afa AzureFunctionActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 19361  	return nil, false
 19362  }
 19363  
 19364  // AsSynapseNotebookActivity is the BasicActivity implementation for AzureFunctionActivity.
 19365  func (afa AzureFunctionActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 19366  	return nil, false
 19367  }
 19368  
 19369  // AsExecuteDataFlowActivity is the BasicActivity implementation for AzureFunctionActivity.
 19370  func (afa AzureFunctionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 19371  	return nil, false
 19372  }
 19373  
 19374  // AsAzureFunctionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19375  func (afa AzureFunctionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 19376  	return &afa, true
 19377  }
 19378  
 19379  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureFunctionActivity.
 19380  func (afa AzureFunctionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 19381  	return nil, false
 19382  }
 19383  
 19384  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureFunctionActivity.
 19385  func (afa AzureFunctionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 19386  	return nil, false
 19387  }
 19388  
 19389  // AsDatabricksNotebookActivity is the BasicActivity implementation for AzureFunctionActivity.
 19390  func (afa AzureFunctionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 19391  	return nil, false
 19392  }
 19393  
 19394  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureFunctionActivity.
 19395  func (afa AzureFunctionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 19396  	return nil, false
 19397  }
 19398  
 19399  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity.
 19400  func (afa AzureFunctionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 19401  	return nil, false
 19402  }
 19403  
 19404  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureFunctionActivity.
 19405  func (afa AzureFunctionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 19406  	return nil, false
 19407  }
 19408  
 19409  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19410  func (afa AzureFunctionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 19411  	return nil, false
 19412  }
 19413  
 19414  // AsGetMetadataActivity is the BasicActivity implementation for AzureFunctionActivity.
 19415  func (afa AzureFunctionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 19416  	return nil, false
 19417  }
 19418  
 19419  // AsWebActivity is the BasicActivity implementation for AzureFunctionActivity.
 19420  func (afa AzureFunctionActivity) AsWebActivity() (*WebActivity, bool) {
 19421  	return nil, false
 19422  }
 19423  
 19424  // AsLookupActivity is the BasicActivity implementation for AzureFunctionActivity.
 19425  func (afa AzureFunctionActivity) AsLookupActivity() (*LookupActivity, bool) {
 19426  	return nil, false
 19427  }
 19428  
 19429  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureFunctionActivity.
 19430  func (afa AzureFunctionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 19431  	return nil, false
 19432  }
 19433  
 19434  // AsDeleteActivity is the BasicActivity implementation for AzureFunctionActivity.
 19435  func (afa AzureFunctionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 19436  	return nil, false
 19437  }
 19438  
 19439  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureFunctionActivity.
 19440  func (afa AzureFunctionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 19441  	return nil, false
 19442  }
 19443  
 19444  // AsCustomActivity is the BasicActivity implementation for AzureFunctionActivity.
 19445  func (afa AzureFunctionActivity) AsCustomActivity() (*CustomActivity, bool) {
 19446  	return nil, false
 19447  }
 19448  
 19449  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureFunctionActivity.
 19450  func (afa AzureFunctionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 19451  	return nil, false
 19452  }
 19453  
 19454  // AsHDInsightSparkActivity is the BasicActivity implementation for AzureFunctionActivity.
 19455  func (afa AzureFunctionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 19456  	return nil, false
 19457  }
 19458  
 19459  // AsHDInsightStreamingActivity is the BasicActivity implementation for AzureFunctionActivity.
 19460  func (afa AzureFunctionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 19461  	return nil, false
 19462  }
 19463  
 19464  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureFunctionActivity.
 19465  func (afa AzureFunctionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 19466  	return nil, false
 19467  }
 19468  
 19469  // AsHDInsightPigActivity is the BasicActivity implementation for AzureFunctionActivity.
 19470  func (afa AzureFunctionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 19471  	return nil, false
 19472  }
 19473  
 19474  // AsHDInsightHiveActivity is the BasicActivity implementation for AzureFunctionActivity.
 19475  func (afa AzureFunctionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 19476  	return nil, false
 19477  }
 19478  
 19479  // AsCopyActivity is the BasicActivity implementation for AzureFunctionActivity.
 19480  func (afa AzureFunctionActivity) AsCopyActivity() (*CopyActivity, bool) {
 19481  	return nil, false
 19482  }
 19483  
 19484  // AsExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19485  func (afa AzureFunctionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 19486  	return nil, false
 19487  }
 19488  
 19489  // AsBasicExecutionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19490  func (afa AzureFunctionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 19491  	return &afa, true
 19492  }
 19493  
 19494  // AsWebHookActivity is the BasicActivity implementation for AzureFunctionActivity.
 19495  func (afa AzureFunctionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 19496  	return nil, false
 19497  }
 19498  
 19499  // AsAppendVariableActivity is the BasicActivity implementation for AzureFunctionActivity.
 19500  func (afa AzureFunctionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 19501  	return nil, false
 19502  }
 19503  
 19504  // AsSetVariableActivity is the BasicActivity implementation for AzureFunctionActivity.
 19505  func (afa AzureFunctionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 19506  	return nil, false
 19507  }
 19508  
 19509  // AsFilterActivity is the BasicActivity implementation for AzureFunctionActivity.
 19510  func (afa AzureFunctionActivity) AsFilterActivity() (*FilterActivity, bool) {
 19511  	return nil, false
 19512  }
 19513  
 19514  // AsValidationActivity is the BasicActivity implementation for AzureFunctionActivity.
 19515  func (afa AzureFunctionActivity) AsValidationActivity() (*ValidationActivity, bool) {
 19516  	return nil, false
 19517  }
 19518  
 19519  // AsUntilActivity is the BasicActivity implementation for AzureFunctionActivity.
 19520  func (afa AzureFunctionActivity) AsUntilActivity() (*UntilActivity, bool) {
 19521  	return nil, false
 19522  }
 19523  
 19524  // AsWaitActivity is the BasicActivity implementation for AzureFunctionActivity.
 19525  func (afa AzureFunctionActivity) AsWaitActivity() (*WaitActivity, bool) {
 19526  	return nil, false
 19527  }
 19528  
 19529  // AsForEachActivity is the BasicActivity implementation for AzureFunctionActivity.
 19530  func (afa AzureFunctionActivity) AsForEachActivity() (*ForEachActivity, bool) {
 19531  	return nil, false
 19532  }
 19533  
 19534  // AsSwitchActivity is the BasicActivity implementation for AzureFunctionActivity.
 19535  func (afa AzureFunctionActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 19536  	return nil, false
 19537  }
 19538  
 19539  // AsIfConditionActivity is the BasicActivity implementation for AzureFunctionActivity.
 19540  func (afa AzureFunctionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 19541  	return nil, false
 19542  }
 19543  
 19544  // AsExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity.
 19545  func (afa AzureFunctionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 19546  	return nil, false
 19547  }
 19548  
 19549  // AsControlActivity is the BasicActivity implementation for AzureFunctionActivity.
 19550  func (afa AzureFunctionActivity) AsControlActivity() (*ControlActivity, bool) {
 19551  	return nil, false
 19552  }
 19553  
 19554  // AsBasicControlActivity is the BasicActivity implementation for AzureFunctionActivity.
 19555  func (afa AzureFunctionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 19556  	return nil, false
 19557  }
 19558  
 19559  // AsActivity is the BasicActivity implementation for AzureFunctionActivity.
 19560  func (afa AzureFunctionActivity) AsActivity() (*Activity, bool) {
 19561  	return nil, false
 19562  }
 19563  
 19564  // AsBasicActivity is the BasicActivity implementation for AzureFunctionActivity.
 19565  func (afa AzureFunctionActivity) AsBasicActivity() (BasicActivity, bool) {
 19566  	return &afa, true
 19567  }
 19568  
 19569  // UnmarshalJSON is the custom unmarshaler for AzureFunctionActivity struct.
 19570  func (afa *AzureFunctionActivity) UnmarshalJSON(body []byte) error {
 19571  	var m map[string]*json.RawMessage
 19572  	err := json.Unmarshal(body, &m)
 19573  	if err != nil {
 19574  		return err
 19575  	}
 19576  	for k, v := range m {
 19577  		switch k {
 19578  		case "typeProperties":
 19579  			if v != nil {
 19580  				var azureFunctionActivityTypeProperties AzureFunctionActivityTypeProperties
 19581  				err = json.Unmarshal(*v, &azureFunctionActivityTypeProperties)
 19582  				if err != nil {
 19583  					return err
 19584  				}
 19585  				afa.AzureFunctionActivityTypeProperties = &azureFunctionActivityTypeProperties
 19586  			}
 19587  		case "linkedServiceName":
 19588  			if v != nil {
 19589  				var linkedServiceName LinkedServiceReference
 19590  				err = json.Unmarshal(*v, &linkedServiceName)
 19591  				if err != nil {
 19592  					return err
 19593  				}
 19594  				afa.LinkedServiceName = &linkedServiceName
 19595  			}
 19596  		case "policy":
 19597  			if v != nil {
 19598  				var policy ActivityPolicy
 19599  				err = json.Unmarshal(*v, &policy)
 19600  				if err != nil {
 19601  					return err
 19602  				}
 19603  				afa.Policy = &policy
 19604  			}
 19605  		default:
 19606  			if v != nil {
 19607  				var additionalProperties interface{}
 19608  				err = json.Unmarshal(*v, &additionalProperties)
 19609  				if err != nil {
 19610  					return err
 19611  				}
 19612  				if afa.AdditionalProperties == nil {
 19613  					afa.AdditionalProperties = make(map[string]interface{})
 19614  				}
 19615  				afa.AdditionalProperties[k] = additionalProperties
 19616  			}
 19617  		case "name":
 19618  			if v != nil {
 19619  				var name string
 19620  				err = json.Unmarshal(*v, &name)
 19621  				if err != nil {
 19622  					return err
 19623  				}
 19624  				afa.Name = &name
 19625  			}
 19626  		case "description":
 19627  			if v != nil {
 19628  				var description string
 19629  				err = json.Unmarshal(*v, &description)
 19630  				if err != nil {
 19631  					return err
 19632  				}
 19633  				afa.Description = &description
 19634  			}
 19635  		case "dependsOn":
 19636  			if v != nil {
 19637  				var dependsOn []ActivityDependency
 19638  				err = json.Unmarshal(*v, &dependsOn)
 19639  				if err != nil {
 19640  					return err
 19641  				}
 19642  				afa.DependsOn = &dependsOn
 19643  			}
 19644  		case "userProperties":
 19645  			if v != nil {
 19646  				var userProperties []UserProperty
 19647  				err = json.Unmarshal(*v, &userProperties)
 19648  				if err != nil {
 19649  					return err
 19650  				}
 19651  				afa.UserProperties = &userProperties
 19652  			}
 19653  		case "type":
 19654  			if v != nil {
 19655  				var typeVar TypeBasicActivity
 19656  				err = json.Unmarshal(*v, &typeVar)
 19657  				if err != nil {
 19658  					return err
 19659  				}
 19660  				afa.Type = typeVar
 19661  			}
 19662  		}
 19663  	}
 19664  
 19665  	return nil
 19666  }
 19667  
 19668  // AzureFunctionActivityTypeProperties azure Function activity type properties.
 19669  type AzureFunctionActivityTypeProperties struct {
 19670  	// Method - Rest API method for target endpoint. Possible values include: 'GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'HEAD', 'TRACE'
 19671  	Method AzureFunctionActivityMethod `json:"method,omitempty"`
 19672  	// FunctionName - Name of the Function that the Azure Function Activity will call. Type: string (or Expression with resultType string)
 19673  	FunctionName interface{} `json:"functionName,omitempty"`
 19674  	// 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).
 19675  	Headers interface{} `json:"headers,omitempty"`
 19676  	// 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).
 19677  	Body interface{} `json:"body,omitempty"`
 19678  }
 19679  
 19680  // AzureFunctionLinkedService azure Function linked service.
 19681  type AzureFunctionLinkedService struct {
 19682  	// AzureFunctionLinkedServiceTypeProperties - Azure Function linked service properties.
 19683  	*AzureFunctionLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 19684  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 19685  	AdditionalProperties map[string]interface{} `json:""`
 19686  	// ConnectVia - The integration runtime reference.
 19687  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 19688  	// Description - Linked service description.
 19689  	Description *string `json:"description,omitempty"`
 19690  	// Parameters - Parameters for linked service.
 19691  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 19692  	// Annotations - List of tags that can be used for describing the linked service.
 19693  	Annotations *[]interface{} `json:"annotations,omitempty"`
 19694  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 19695  	Type TypeBasicLinkedService `json:"type,omitempty"`
 19696  }
 19697  
 19698  // MarshalJSON is the custom marshaler for AzureFunctionLinkedService.
 19699  func (afls AzureFunctionLinkedService) MarshalJSON() ([]byte, error) {
 19700  	afls.Type = TypeAzureFunction
 19701  	objectMap := make(map[string]interface{})
 19702  	if afls.AzureFunctionLinkedServiceTypeProperties != nil {
 19703  		objectMap["typeProperties"] = afls.AzureFunctionLinkedServiceTypeProperties
 19704  	}
 19705  	if afls.ConnectVia != nil {
 19706  		objectMap["connectVia"] = afls.ConnectVia
 19707  	}
 19708  	if afls.Description != nil {
 19709  		objectMap["description"] = afls.Description
 19710  	}
 19711  	if afls.Parameters != nil {
 19712  		objectMap["parameters"] = afls.Parameters
 19713  	}
 19714  	if afls.Annotations != nil {
 19715  		objectMap["annotations"] = afls.Annotations
 19716  	}
 19717  	if afls.Type != "" {
 19718  		objectMap["type"] = afls.Type
 19719  	}
 19720  	for k, v := range afls.AdditionalProperties {
 19721  		objectMap[k] = v
 19722  	}
 19723  	return json.Marshal(objectMap)
 19724  }
 19725  
 19726  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19727  func (afls AzureFunctionLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 19728  	return &afls, true
 19729  }
 19730  
 19731  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19732  func (afls AzureFunctionLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 19733  	return nil, false
 19734  }
 19735  
 19736  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19737  func (afls AzureFunctionLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 19738  	return nil, false
 19739  }
 19740  
 19741  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19742  func (afls AzureFunctionLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 19743  	return nil, false
 19744  }
 19745  
 19746  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19747  func (afls AzureFunctionLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 19748  	return nil, false
 19749  }
 19750  
 19751  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19752  func (afls AzureFunctionLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 19753  	return nil, false
 19754  }
 19755  
 19756  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19757  func (afls AzureFunctionLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 19758  	return nil, false
 19759  }
 19760  
 19761  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19762  func (afls AzureFunctionLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 19763  	return nil, false
 19764  }
 19765  
 19766  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19767  func (afls AzureFunctionLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 19768  	return nil, false
 19769  }
 19770  
 19771  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19772  func (afls AzureFunctionLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 19773  	return nil, false
 19774  }
 19775  
 19776  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19777  func (afls AzureFunctionLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 19778  	return nil, false
 19779  }
 19780  
 19781  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19782  func (afls AzureFunctionLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 19783  	return nil, false
 19784  }
 19785  
 19786  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19787  func (afls AzureFunctionLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 19788  	return nil, false
 19789  }
 19790  
 19791  // AsZohoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19792  func (afls AzureFunctionLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 19793  	return nil, false
 19794  }
 19795  
 19796  // AsXeroLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19797  func (afls AzureFunctionLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 19798  	return nil, false
 19799  }
 19800  
 19801  // AsSquareLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19802  func (afls AzureFunctionLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 19803  	return nil, false
 19804  }
 19805  
 19806  // AsSparkLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19807  func (afls AzureFunctionLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 19808  	return nil, false
 19809  }
 19810  
 19811  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19812  func (afls AzureFunctionLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 19813  	return nil, false
 19814  }
 19815  
 19816  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19817  func (afls AzureFunctionLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 19818  	return nil, false
 19819  }
 19820  
 19821  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19822  func (afls AzureFunctionLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 19823  	return nil, false
 19824  }
 19825  
 19826  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19827  func (afls AzureFunctionLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 19828  	return nil, false
 19829  }
 19830  
 19831  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19832  func (afls AzureFunctionLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 19833  	return nil, false
 19834  }
 19835  
 19836  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19837  func (afls AzureFunctionLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 19838  	return nil, false
 19839  }
 19840  
 19841  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19842  func (afls AzureFunctionLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 19843  	return nil, false
 19844  }
 19845  
 19846  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19847  func (afls AzureFunctionLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 19848  	return nil, false
 19849  }
 19850  
 19851  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19852  func (afls AzureFunctionLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 19853  	return nil, false
 19854  }
 19855  
 19856  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19857  func (afls AzureFunctionLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 19858  	return nil, false
 19859  }
 19860  
 19861  // AsJiraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19862  func (afls AzureFunctionLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 19863  	return nil, false
 19864  }
 19865  
 19866  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19867  func (afls AzureFunctionLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 19868  	return nil, false
 19869  }
 19870  
 19871  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19872  func (afls AzureFunctionLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 19873  	return nil, false
 19874  }
 19875  
 19876  // AsHiveLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19877  func (afls AzureFunctionLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 19878  	return nil, false
 19879  }
 19880  
 19881  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19882  func (afls AzureFunctionLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 19883  	return nil, false
 19884  }
 19885  
 19886  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19887  func (afls AzureFunctionLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 19888  	return nil, false
 19889  }
 19890  
 19891  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19892  func (afls AzureFunctionLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 19893  	return nil, false
 19894  }
 19895  
 19896  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19897  func (afls AzureFunctionLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 19898  	return nil, false
 19899  }
 19900  
 19901  // AsDrillLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19902  func (afls AzureFunctionLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 19903  	return nil, false
 19904  }
 19905  
 19906  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19907  func (afls AzureFunctionLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 19908  	return nil, false
 19909  }
 19910  
 19911  // AsConcurLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19912  func (afls AzureFunctionLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 19913  	return nil, false
 19914  }
 19915  
 19916  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19917  func (afls AzureFunctionLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 19918  	return nil, false
 19919  }
 19920  
 19921  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19922  func (afls AzureFunctionLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 19923  	return nil, false
 19924  }
 19925  
 19926  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19927  func (afls AzureFunctionLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 19928  	return nil, false
 19929  }
 19930  
 19931  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19932  func (afls AzureFunctionLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 19933  	return nil, false
 19934  }
 19935  
 19936  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19937  func (afls AzureFunctionLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 19938  	return nil, false
 19939  }
 19940  
 19941  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19942  func (afls AzureFunctionLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 19943  	return nil, false
 19944  }
 19945  
 19946  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19947  func (afls AzureFunctionLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 19948  	return nil, false
 19949  }
 19950  
 19951  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19952  func (afls AzureFunctionLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 19953  	return nil, false
 19954  }
 19955  
 19956  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19957  func (afls AzureFunctionLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 19958  	return nil, false
 19959  }
 19960  
 19961  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19962  func (afls AzureFunctionLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 19963  	return nil, false
 19964  }
 19965  
 19966  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19967  func (afls AzureFunctionLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 19968  	return nil, false
 19969  }
 19970  
 19971  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19972  func (afls AzureFunctionLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 19973  	return nil, false
 19974  }
 19975  
 19976  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19977  func (afls AzureFunctionLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 19978  	return nil, false
 19979  }
 19980  
 19981  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19982  func (afls AzureFunctionLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 19983  	return nil, false
 19984  }
 19985  
 19986  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19987  func (afls AzureFunctionLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 19988  	return nil, false
 19989  }
 19990  
 19991  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19992  func (afls AzureFunctionLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 19993  	return nil, false
 19994  }
 19995  
 19996  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 19997  func (afls AzureFunctionLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 19998  	return nil, false
 19999  }
 20000  
 20001  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20002  func (afls AzureFunctionLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 20003  	return nil, false
 20004  }
 20005  
 20006  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20007  func (afls AzureFunctionLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 20008  	return nil, false
 20009  }
 20010  
 20011  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20012  func (afls AzureFunctionLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 20013  	return nil, false
 20014  }
 20015  
 20016  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20017  func (afls AzureFunctionLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 20018  	return nil, false
 20019  }
 20020  
 20021  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20022  func (afls AzureFunctionLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 20023  	return nil, false
 20024  }
 20025  
 20026  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20027  func (afls AzureFunctionLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 20028  	return nil, false
 20029  }
 20030  
 20031  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20032  func (afls AzureFunctionLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 20033  	return nil, false
 20034  }
 20035  
 20036  // AsWebLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20037  func (afls AzureFunctionLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 20038  	return nil, false
 20039  }
 20040  
 20041  // AsODataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20042  func (afls AzureFunctionLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 20043  	return nil, false
 20044  }
 20045  
 20046  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20047  func (afls AzureFunctionLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 20048  	return nil, false
 20049  }
 20050  
 20051  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20052  func (afls AzureFunctionLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 20053  	return nil, false
 20054  }
 20055  
 20056  // AsInformixLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20057  func (afls AzureFunctionLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 20058  	return nil, false
 20059  }
 20060  
 20061  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20062  func (afls AzureFunctionLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 20063  	return nil, false
 20064  }
 20065  
 20066  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20067  func (afls AzureFunctionLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 20068  	return nil, false
 20069  }
 20070  
 20071  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20072  func (afls AzureFunctionLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 20073  	return nil, false
 20074  }
 20075  
 20076  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20077  func (afls AzureFunctionLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 20078  	return nil, false
 20079  }
 20080  
 20081  // AsDb2LinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20082  func (afls AzureFunctionLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 20083  	return nil, false
 20084  }
 20085  
 20086  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20087  func (afls AzureFunctionLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 20088  	return nil, false
 20089  }
 20090  
 20091  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20092  func (afls AzureFunctionLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 20093  	return nil, false
 20094  }
 20095  
 20096  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20097  func (afls AzureFunctionLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 20098  	return nil, false
 20099  }
 20100  
 20101  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20102  func (afls AzureFunctionLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 20103  	return nil, false
 20104  }
 20105  
 20106  // AsOracleLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20107  func (afls AzureFunctionLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 20108  	return nil, false
 20109  }
 20110  
 20111  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20112  func (afls AzureFunctionLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 20113  	return nil, false
 20114  }
 20115  
 20116  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20117  func (afls AzureFunctionLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 20118  	return nil, false
 20119  }
 20120  
 20121  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20122  func (afls AzureFunctionLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 20123  	return nil, false
 20124  }
 20125  
 20126  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20127  func (afls AzureFunctionLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 20128  	return nil, false
 20129  }
 20130  
 20131  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20132  func (afls AzureFunctionLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 20133  	return nil, false
 20134  }
 20135  
 20136  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20137  func (afls AzureFunctionLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 20138  	return nil, false
 20139  }
 20140  
 20141  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20142  func (afls AzureFunctionLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 20143  	return nil, false
 20144  }
 20145  
 20146  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20147  func (afls AzureFunctionLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 20148  	return nil, false
 20149  }
 20150  
 20151  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20152  func (afls AzureFunctionLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 20153  	return nil, false
 20154  }
 20155  
 20156  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20157  func (afls AzureFunctionLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 20158  	return nil, false
 20159  }
 20160  
 20161  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20162  func (afls AzureFunctionLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 20163  	return nil, false
 20164  }
 20165  
 20166  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20167  func (afls AzureFunctionLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 20168  	return nil, false
 20169  }
 20170  
 20171  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20172  func (afls AzureFunctionLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 20173  	return nil, false
 20174  }
 20175  
 20176  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20177  func (afls AzureFunctionLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 20178  	return nil, false
 20179  }
 20180  
 20181  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20182  func (afls AzureFunctionLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 20183  	return nil, false
 20184  }
 20185  
 20186  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20187  func (afls AzureFunctionLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 20188  	return nil, false
 20189  }
 20190  
 20191  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20192  func (afls AzureFunctionLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 20193  	return nil, false
 20194  }
 20195  
 20196  // AsLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20197  func (afls AzureFunctionLinkedService) AsLinkedService() (*LinkedService, bool) {
 20198  	return nil, false
 20199  }
 20200  
 20201  // AsBasicLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService.
 20202  func (afls AzureFunctionLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 20203  	return &afls, true
 20204  }
 20205  
 20206  // UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedService struct.
 20207  func (afls *AzureFunctionLinkedService) UnmarshalJSON(body []byte) error {
 20208  	var m map[string]*json.RawMessage
 20209  	err := json.Unmarshal(body, &m)
 20210  	if err != nil {
 20211  		return err
 20212  	}
 20213  	for k, v := range m {
 20214  		switch k {
 20215  		case "typeProperties":
 20216  			if v != nil {
 20217  				var azureFunctionLinkedServiceTypeProperties AzureFunctionLinkedServiceTypeProperties
 20218  				err = json.Unmarshal(*v, &azureFunctionLinkedServiceTypeProperties)
 20219  				if err != nil {
 20220  					return err
 20221  				}
 20222  				afls.AzureFunctionLinkedServiceTypeProperties = &azureFunctionLinkedServiceTypeProperties
 20223  			}
 20224  		default:
 20225  			if v != nil {
 20226  				var additionalProperties interface{}
 20227  				err = json.Unmarshal(*v, &additionalProperties)
 20228  				if err != nil {
 20229  					return err
 20230  				}
 20231  				if afls.AdditionalProperties == nil {
 20232  					afls.AdditionalProperties = make(map[string]interface{})
 20233  				}
 20234  				afls.AdditionalProperties[k] = additionalProperties
 20235  			}
 20236  		case "connectVia":
 20237  			if v != nil {
 20238  				var connectVia IntegrationRuntimeReference
 20239  				err = json.Unmarshal(*v, &connectVia)
 20240  				if err != nil {
 20241  					return err
 20242  				}
 20243  				afls.ConnectVia = &connectVia
 20244  			}
 20245  		case "description":
 20246  			if v != nil {
 20247  				var description string
 20248  				err = json.Unmarshal(*v, &description)
 20249  				if err != nil {
 20250  					return err
 20251  				}
 20252  				afls.Description = &description
 20253  			}
 20254  		case "parameters":
 20255  			if v != nil {
 20256  				var parameters map[string]*ParameterSpecification
 20257  				err = json.Unmarshal(*v, &parameters)
 20258  				if err != nil {
 20259  					return err
 20260  				}
 20261  				afls.Parameters = parameters
 20262  			}
 20263  		case "annotations":
 20264  			if v != nil {
 20265  				var annotations []interface{}
 20266  				err = json.Unmarshal(*v, &annotations)
 20267  				if err != nil {
 20268  					return err
 20269  				}
 20270  				afls.Annotations = &annotations
 20271  			}
 20272  		case "type":
 20273  			if v != nil {
 20274  				var typeVar TypeBasicLinkedService
 20275  				err = json.Unmarshal(*v, &typeVar)
 20276  				if err != nil {
 20277  					return err
 20278  				}
 20279  				afls.Type = typeVar
 20280  			}
 20281  		}
 20282  	}
 20283  
 20284  	return nil
 20285  }
 20286  
 20287  // AzureFunctionLinkedServiceTypeProperties azure Function linked service properties.
 20288  type AzureFunctionLinkedServiceTypeProperties struct {
 20289  	// FunctionAppURL - The endpoint of the Azure Function App. URL will be in the format https://<accountName>.azurewebsites.net.
 20290  	FunctionAppURL interface{} `json:"functionAppUrl,omitempty"`
 20291  	// FunctionKey - Function or Host key for Azure Function App.
 20292  	FunctionKey BasicSecretBase `json:"functionKey,omitempty"`
 20293  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 20294  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 20295  }
 20296  
 20297  // UnmarshalJSON is the custom unmarshaler for AzureFunctionLinkedServiceTypeProperties struct.
 20298  func (aflstp *AzureFunctionLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 20299  	var m map[string]*json.RawMessage
 20300  	err := json.Unmarshal(body, &m)
 20301  	if err != nil {
 20302  		return err
 20303  	}
 20304  	for k, v := range m {
 20305  		switch k {
 20306  		case "functionAppUrl":
 20307  			if v != nil {
 20308  				var functionAppURL interface{}
 20309  				err = json.Unmarshal(*v, &functionAppURL)
 20310  				if err != nil {
 20311  					return err
 20312  				}
 20313  				aflstp.FunctionAppURL = functionAppURL
 20314  			}
 20315  		case "functionKey":
 20316  			if v != nil {
 20317  				functionKey, err := unmarshalBasicSecretBase(*v)
 20318  				if err != nil {
 20319  					return err
 20320  				}
 20321  				aflstp.FunctionKey = functionKey
 20322  			}
 20323  		case "encryptedCredential":
 20324  			if v != nil {
 20325  				var encryptedCredential interface{}
 20326  				err = json.Unmarshal(*v, &encryptedCredential)
 20327  				if err != nil {
 20328  					return err
 20329  				}
 20330  				aflstp.EncryptedCredential = encryptedCredential
 20331  			}
 20332  		}
 20333  	}
 20334  
 20335  	return nil
 20336  }
 20337  
 20338  // AzureKeyVaultLinkedService azure Key Vault linked service.
 20339  type AzureKeyVaultLinkedService struct {
 20340  	// AzureKeyVaultLinkedServiceTypeProperties - Azure Key Vault linked service properties.
 20341  	*AzureKeyVaultLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 20342  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 20343  	AdditionalProperties map[string]interface{} `json:""`
 20344  	// ConnectVia - The integration runtime reference.
 20345  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 20346  	// Description - Linked service description.
 20347  	Description *string `json:"description,omitempty"`
 20348  	// Parameters - Parameters for linked service.
 20349  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 20350  	// Annotations - List of tags that can be used for describing the linked service.
 20351  	Annotations *[]interface{} `json:"annotations,omitempty"`
 20352  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 20353  	Type TypeBasicLinkedService `json:"type,omitempty"`
 20354  }
 20355  
 20356  // MarshalJSON is the custom marshaler for AzureKeyVaultLinkedService.
 20357  func (akvls AzureKeyVaultLinkedService) MarshalJSON() ([]byte, error) {
 20358  	akvls.Type = TypeAzureKeyVault
 20359  	objectMap := make(map[string]interface{})
 20360  	if akvls.AzureKeyVaultLinkedServiceTypeProperties != nil {
 20361  		objectMap["typeProperties"] = akvls.AzureKeyVaultLinkedServiceTypeProperties
 20362  	}
 20363  	if akvls.ConnectVia != nil {
 20364  		objectMap["connectVia"] = akvls.ConnectVia
 20365  	}
 20366  	if akvls.Description != nil {
 20367  		objectMap["description"] = akvls.Description
 20368  	}
 20369  	if akvls.Parameters != nil {
 20370  		objectMap["parameters"] = akvls.Parameters
 20371  	}
 20372  	if akvls.Annotations != nil {
 20373  		objectMap["annotations"] = akvls.Annotations
 20374  	}
 20375  	if akvls.Type != "" {
 20376  		objectMap["type"] = akvls.Type
 20377  	}
 20378  	for k, v := range akvls.AdditionalProperties {
 20379  		objectMap[k] = v
 20380  	}
 20381  	return json.Marshal(objectMap)
 20382  }
 20383  
 20384  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20385  func (akvls AzureKeyVaultLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 20386  	return nil, false
 20387  }
 20388  
 20389  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20390  func (akvls AzureKeyVaultLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 20391  	return nil, false
 20392  }
 20393  
 20394  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20395  func (akvls AzureKeyVaultLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 20396  	return nil, false
 20397  }
 20398  
 20399  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20400  func (akvls AzureKeyVaultLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 20401  	return nil, false
 20402  }
 20403  
 20404  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20405  func (akvls AzureKeyVaultLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 20406  	return nil, false
 20407  }
 20408  
 20409  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20410  func (akvls AzureKeyVaultLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 20411  	return nil, false
 20412  }
 20413  
 20414  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20415  func (akvls AzureKeyVaultLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 20416  	return nil, false
 20417  }
 20418  
 20419  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20420  func (akvls AzureKeyVaultLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 20421  	return nil, false
 20422  }
 20423  
 20424  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20425  func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 20426  	return nil, false
 20427  }
 20428  
 20429  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20430  func (akvls AzureKeyVaultLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 20431  	return nil, false
 20432  }
 20433  
 20434  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20435  func (akvls AzureKeyVaultLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 20436  	return nil, false
 20437  }
 20438  
 20439  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20440  func (akvls AzureKeyVaultLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 20441  	return nil, false
 20442  }
 20443  
 20444  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20445  func (akvls AzureKeyVaultLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 20446  	return nil, false
 20447  }
 20448  
 20449  // AsZohoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20450  func (akvls AzureKeyVaultLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 20451  	return nil, false
 20452  }
 20453  
 20454  // AsXeroLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20455  func (akvls AzureKeyVaultLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 20456  	return nil, false
 20457  }
 20458  
 20459  // AsSquareLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20460  func (akvls AzureKeyVaultLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 20461  	return nil, false
 20462  }
 20463  
 20464  // AsSparkLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20465  func (akvls AzureKeyVaultLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 20466  	return nil, false
 20467  }
 20468  
 20469  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20470  func (akvls AzureKeyVaultLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 20471  	return nil, false
 20472  }
 20473  
 20474  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20475  func (akvls AzureKeyVaultLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 20476  	return nil, false
 20477  }
 20478  
 20479  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20480  func (akvls AzureKeyVaultLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 20481  	return nil, false
 20482  }
 20483  
 20484  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20485  func (akvls AzureKeyVaultLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 20486  	return nil, false
 20487  }
 20488  
 20489  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20490  func (akvls AzureKeyVaultLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 20491  	return nil, false
 20492  }
 20493  
 20494  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20495  func (akvls AzureKeyVaultLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 20496  	return nil, false
 20497  }
 20498  
 20499  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20500  func (akvls AzureKeyVaultLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 20501  	return nil, false
 20502  }
 20503  
 20504  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20505  func (akvls AzureKeyVaultLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 20506  	return nil, false
 20507  }
 20508  
 20509  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20510  func (akvls AzureKeyVaultLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 20511  	return nil, false
 20512  }
 20513  
 20514  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20515  func (akvls AzureKeyVaultLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 20516  	return nil, false
 20517  }
 20518  
 20519  // AsJiraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20520  func (akvls AzureKeyVaultLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 20521  	return nil, false
 20522  }
 20523  
 20524  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20525  func (akvls AzureKeyVaultLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 20526  	return nil, false
 20527  }
 20528  
 20529  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20530  func (akvls AzureKeyVaultLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 20531  	return nil, false
 20532  }
 20533  
 20534  // AsHiveLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20535  func (akvls AzureKeyVaultLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 20536  	return nil, false
 20537  }
 20538  
 20539  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20540  func (akvls AzureKeyVaultLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 20541  	return nil, false
 20542  }
 20543  
 20544  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20545  func (akvls AzureKeyVaultLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 20546  	return nil, false
 20547  }
 20548  
 20549  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20550  func (akvls AzureKeyVaultLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 20551  	return nil, false
 20552  }
 20553  
 20554  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20555  func (akvls AzureKeyVaultLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 20556  	return nil, false
 20557  }
 20558  
 20559  // AsDrillLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20560  func (akvls AzureKeyVaultLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 20561  	return nil, false
 20562  }
 20563  
 20564  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20565  func (akvls AzureKeyVaultLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 20566  	return nil, false
 20567  }
 20568  
 20569  // AsConcurLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20570  func (akvls AzureKeyVaultLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 20571  	return nil, false
 20572  }
 20573  
 20574  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20575  func (akvls AzureKeyVaultLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 20576  	return nil, false
 20577  }
 20578  
 20579  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20580  func (akvls AzureKeyVaultLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 20581  	return nil, false
 20582  }
 20583  
 20584  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20585  func (akvls AzureKeyVaultLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 20586  	return nil, false
 20587  }
 20588  
 20589  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20590  func (akvls AzureKeyVaultLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 20591  	return nil, false
 20592  }
 20593  
 20594  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20595  func (akvls AzureKeyVaultLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 20596  	return nil, false
 20597  }
 20598  
 20599  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20600  func (akvls AzureKeyVaultLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 20601  	return nil, false
 20602  }
 20603  
 20604  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20605  func (akvls AzureKeyVaultLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 20606  	return nil, false
 20607  }
 20608  
 20609  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20610  func (akvls AzureKeyVaultLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 20611  	return nil, false
 20612  }
 20613  
 20614  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20615  func (akvls AzureKeyVaultLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 20616  	return nil, false
 20617  }
 20618  
 20619  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20620  func (akvls AzureKeyVaultLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 20621  	return nil, false
 20622  }
 20623  
 20624  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20625  func (akvls AzureKeyVaultLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 20626  	return nil, false
 20627  }
 20628  
 20629  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20630  func (akvls AzureKeyVaultLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 20631  	return nil, false
 20632  }
 20633  
 20634  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20635  func (akvls AzureKeyVaultLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 20636  	return nil, false
 20637  }
 20638  
 20639  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20640  func (akvls AzureKeyVaultLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 20641  	return nil, false
 20642  }
 20643  
 20644  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20645  func (akvls AzureKeyVaultLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 20646  	return nil, false
 20647  }
 20648  
 20649  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20650  func (akvls AzureKeyVaultLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 20651  	return nil, false
 20652  }
 20653  
 20654  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20655  func (akvls AzureKeyVaultLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 20656  	return nil, false
 20657  }
 20658  
 20659  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20660  func (akvls AzureKeyVaultLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 20661  	return nil, false
 20662  }
 20663  
 20664  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20665  func (akvls AzureKeyVaultLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 20666  	return nil, false
 20667  }
 20668  
 20669  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20670  func (akvls AzureKeyVaultLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 20671  	return nil, false
 20672  }
 20673  
 20674  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20675  func (akvls AzureKeyVaultLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 20676  	return nil, false
 20677  }
 20678  
 20679  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20680  func (akvls AzureKeyVaultLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 20681  	return nil, false
 20682  }
 20683  
 20684  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20685  func (akvls AzureKeyVaultLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 20686  	return nil, false
 20687  }
 20688  
 20689  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20690  func (akvls AzureKeyVaultLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 20691  	return nil, false
 20692  }
 20693  
 20694  // AsWebLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20695  func (akvls AzureKeyVaultLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 20696  	return nil, false
 20697  }
 20698  
 20699  // AsODataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20700  func (akvls AzureKeyVaultLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 20701  	return nil, false
 20702  }
 20703  
 20704  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20705  func (akvls AzureKeyVaultLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 20706  	return nil, false
 20707  }
 20708  
 20709  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20710  func (akvls AzureKeyVaultLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 20711  	return nil, false
 20712  }
 20713  
 20714  // AsInformixLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20715  func (akvls AzureKeyVaultLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 20716  	return nil, false
 20717  }
 20718  
 20719  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20720  func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 20721  	return nil, false
 20722  }
 20723  
 20724  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20725  func (akvls AzureKeyVaultLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 20726  	return nil, false
 20727  }
 20728  
 20729  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20730  func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 20731  	return nil, false
 20732  }
 20733  
 20734  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20735  func (akvls AzureKeyVaultLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 20736  	return nil, false
 20737  }
 20738  
 20739  // AsDb2LinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20740  func (akvls AzureKeyVaultLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 20741  	return nil, false
 20742  }
 20743  
 20744  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20745  func (akvls AzureKeyVaultLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 20746  	return nil, false
 20747  }
 20748  
 20749  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20750  func (akvls AzureKeyVaultLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 20751  	return nil, false
 20752  }
 20753  
 20754  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20755  func (akvls AzureKeyVaultLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 20756  	return nil, false
 20757  }
 20758  
 20759  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20760  func (akvls AzureKeyVaultLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 20761  	return nil, false
 20762  }
 20763  
 20764  // AsOracleLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20765  func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 20766  	return nil, false
 20767  }
 20768  
 20769  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20770  func (akvls AzureKeyVaultLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 20771  	return nil, false
 20772  }
 20773  
 20774  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20775  func (akvls AzureKeyVaultLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 20776  	return nil, false
 20777  }
 20778  
 20779  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20780  func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 20781  	return nil, false
 20782  }
 20783  
 20784  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20785  func (akvls AzureKeyVaultLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 20786  	return nil, false
 20787  }
 20788  
 20789  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20790  func (akvls AzureKeyVaultLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 20791  	return nil, false
 20792  }
 20793  
 20794  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20795  func (akvls AzureKeyVaultLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 20796  	return nil, false
 20797  }
 20798  
 20799  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20800  func (akvls AzureKeyVaultLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 20801  	return nil, false
 20802  }
 20803  
 20804  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20805  func (akvls AzureKeyVaultLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 20806  	return nil, false
 20807  }
 20808  
 20809  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20810  func (akvls AzureKeyVaultLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 20811  	return &akvls, true
 20812  }
 20813  
 20814  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20815  func (akvls AzureKeyVaultLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 20816  	return nil, false
 20817  }
 20818  
 20819  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20820  func (akvls AzureKeyVaultLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 20821  	return nil, false
 20822  }
 20823  
 20824  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20825  func (akvls AzureKeyVaultLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 20826  	return nil, false
 20827  }
 20828  
 20829  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20830  func (akvls AzureKeyVaultLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 20831  	return nil, false
 20832  }
 20833  
 20834  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20835  func (akvls AzureKeyVaultLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 20836  	return nil, false
 20837  }
 20838  
 20839  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20840  func (akvls AzureKeyVaultLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 20841  	return nil, false
 20842  }
 20843  
 20844  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20845  func (akvls AzureKeyVaultLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 20846  	return nil, false
 20847  }
 20848  
 20849  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20850  func (akvls AzureKeyVaultLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 20851  	return nil, false
 20852  }
 20853  
 20854  // AsLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20855  func (akvls AzureKeyVaultLinkedService) AsLinkedService() (*LinkedService, bool) {
 20856  	return nil, false
 20857  }
 20858  
 20859  // AsBasicLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService.
 20860  func (akvls AzureKeyVaultLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 20861  	return &akvls, true
 20862  }
 20863  
 20864  // UnmarshalJSON is the custom unmarshaler for AzureKeyVaultLinkedService struct.
 20865  func (akvls *AzureKeyVaultLinkedService) UnmarshalJSON(body []byte) error {
 20866  	var m map[string]*json.RawMessage
 20867  	err := json.Unmarshal(body, &m)
 20868  	if err != nil {
 20869  		return err
 20870  	}
 20871  	for k, v := range m {
 20872  		switch k {
 20873  		case "typeProperties":
 20874  			if v != nil {
 20875  				var azureKeyVaultLinkedServiceTypeProperties AzureKeyVaultLinkedServiceTypeProperties
 20876  				err = json.Unmarshal(*v, &azureKeyVaultLinkedServiceTypeProperties)
 20877  				if err != nil {
 20878  					return err
 20879  				}
 20880  				akvls.AzureKeyVaultLinkedServiceTypeProperties = &azureKeyVaultLinkedServiceTypeProperties
 20881  			}
 20882  		default:
 20883  			if v != nil {
 20884  				var additionalProperties interface{}
 20885  				err = json.Unmarshal(*v, &additionalProperties)
 20886  				if err != nil {
 20887  					return err
 20888  				}
 20889  				if akvls.AdditionalProperties == nil {
 20890  					akvls.AdditionalProperties = make(map[string]interface{})
 20891  				}
 20892  				akvls.AdditionalProperties[k] = additionalProperties
 20893  			}
 20894  		case "connectVia":
 20895  			if v != nil {
 20896  				var connectVia IntegrationRuntimeReference
 20897  				err = json.Unmarshal(*v, &connectVia)
 20898  				if err != nil {
 20899  					return err
 20900  				}
 20901  				akvls.ConnectVia = &connectVia
 20902  			}
 20903  		case "description":
 20904  			if v != nil {
 20905  				var description string
 20906  				err = json.Unmarshal(*v, &description)
 20907  				if err != nil {
 20908  					return err
 20909  				}
 20910  				akvls.Description = &description
 20911  			}
 20912  		case "parameters":
 20913  			if v != nil {
 20914  				var parameters map[string]*ParameterSpecification
 20915  				err = json.Unmarshal(*v, &parameters)
 20916  				if err != nil {
 20917  					return err
 20918  				}
 20919  				akvls.Parameters = parameters
 20920  			}
 20921  		case "annotations":
 20922  			if v != nil {
 20923  				var annotations []interface{}
 20924  				err = json.Unmarshal(*v, &annotations)
 20925  				if err != nil {
 20926  					return err
 20927  				}
 20928  				akvls.Annotations = &annotations
 20929  			}
 20930  		case "type":
 20931  			if v != nil {
 20932  				var typeVar TypeBasicLinkedService
 20933  				err = json.Unmarshal(*v, &typeVar)
 20934  				if err != nil {
 20935  					return err
 20936  				}
 20937  				akvls.Type = typeVar
 20938  			}
 20939  		}
 20940  	}
 20941  
 20942  	return nil
 20943  }
 20944  
 20945  // AzureKeyVaultLinkedServiceTypeProperties azure Key Vault linked service properties.
 20946  type AzureKeyVaultLinkedServiceTypeProperties struct {
 20947  	// BaseURL - The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
 20948  	BaseURL interface{} `json:"baseUrl,omitempty"`
 20949  }
 20950  
 20951  // AzureKeyVaultSecretReference azure Key Vault secret reference.
 20952  type AzureKeyVaultSecretReference struct {
 20953  	// Store - The Azure Key Vault linked service reference.
 20954  	Store *LinkedServiceReference `json:"store,omitempty"`
 20955  	// SecretName - The name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
 20956  	SecretName interface{} `json:"secretName,omitempty"`
 20957  	// 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).
 20958  	SecretVersion interface{} `json:"secretVersion,omitempty"`
 20959  	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
 20960  	Type Type `json:"type,omitempty"`
 20961  }
 20962  
 20963  // MarshalJSON is the custom marshaler for AzureKeyVaultSecretReference.
 20964  func (akvsr AzureKeyVaultSecretReference) MarshalJSON() ([]byte, error) {
 20965  	akvsr.Type = TypeAzureKeyVaultSecret
 20966  	objectMap := make(map[string]interface{})
 20967  	if akvsr.Store != nil {
 20968  		objectMap["store"] = akvsr.Store
 20969  	}
 20970  	if akvsr.SecretName != nil {
 20971  		objectMap["secretName"] = akvsr.SecretName
 20972  	}
 20973  	if akvsr.SecretVersion != nil {
 20974  		objectMap["secretVersion"] = akvsr.SecretVersion
 20975  	}
 20976  	if akvsr.Type != "" {
 20977  		objectMap["type"] = akvsr.Type
 20978  	}
 20979  	return json.Marshal(objectMap)
 20980  }
 20981  
 20982  // AsSecureString is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
 20983  func (akvsr AzureKeyVaultSecretReference) AsSecureString() (*SecureString, bool) {
 20984  	return nil, false
 20985  }
 20986  
 20987  // AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
 20988  func (akvsr AzureKeyVaultSecretReference) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
 20989  	return &akvsr, true
 20990  }
 20991  
 20992  // AsSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
 20993  func (akvsr AzureKeyVaultSecretReference) AsSecretBase() (*SecretBase, bool) {
 20994  	return nil, false
 20995  }
 20996  
 20997  // AsBasicSecretBase is the BasicSecretBase implementation for AzureKeyVaultSecretReference.
 20998  func (akvsr AzureKeyVaultSecretReference) AsBasicSecretBase() (BasicSecretBase, bool) {
 20999  	return &akvsr, true
 21000  }
 21001  
 21002  // AzureMariaDBLinkedService azure Database for MariaDB linked service.
 21003  type AzureMariaDBLinkedService struct {
 21004  	// AzureMariaDBLinkedServiceTypeProperties - Azure Database for MariaDB linked service properties.
 21005  	*AzureMariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 21006  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 21007  	AdditionalProperties map[string]interface{} `json:""`
 21008  	// ConnectVia - The integration runtime reference.
 21009  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 21010  	// Description - Linked service description.
 21011  	Description *string `json:"description,omitempty"`
 21012  	// Parameters - Parameters for linked service.
 21013  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 21014  	// Annotations - List of tags that can be used for describing the linked service.
 21015  	Annotations *[]interface{} `json:"annotations,omitempty"`
 21016  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 21017  	Type TypeBasicLinkedService `json:"type,omitempty"`
 21018  }
 21019  
 21020  // MarshalJSON is the custom marshaler for AzureMariaDBLinkedService.
 21021  func (amdls AzureMariaDBLinkedService) MarshalJSON() ([]byte, error) {
 21022  	amdls.Type = TypeAzureMariaDB
 21023  	objectMap := make(map[string]interface{})
 21024  	if amdls.AzureMariaDBLinkedServiceTypeProperties != nil {
 21025  		objectMap["typeProperties"] = amdls.AzureMariaDBLinkedServiceTypeProperties
 21026  	}
 21027  	if amdls.ConnectVia != nil {
 21028  		objectMap["connectVia"] = amdls.ConnectVia
 21029  	}
 21030  	if amdls.Description != nil {
 21031  		objectMap["description"] = amdls.Description
 21032  	}
 21033  	if amdls.Parameters != nil {
 21034  		objectMap["parameters"] = amdls.Parameters
 21035  	}
 21036  	if amdls.Annotations != nil {
 21037  		objectMap["annotations"] = amdls.Annotations
 21038  	}
 21039  	if amdls.Type != "" {
 21040  		objectMap["type"] = amdls.Type
 21041  	}
 21042  	for k, v := range amdls.AdditionalProperties {
 21043  		objectMap[k] = v
 21044  	}
 21045  	return json.Marshal(objectMap)
 21046  }
 21047  
 21048  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21049  func (amdls AzureMariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 21050  	return nil, false
 21051  }
 21052  
 21053  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21054  func (amdls AzureMariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 21055  	return nil, false
 21056  }
 21057  
 21058  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21059  func (amdls AzureMariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 21060  	return nil, false
 21061  }
 21062  
 21063  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21064  func (amdls AzureMariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 21065  	return nil, false
 21066  }
 21067  
 21068  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21069  func (amdls AzureMariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 21070  	return nil, false
 21071  }
 21072  
 21073  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21074  func (amdls AzureMariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 21075  	return nil, false
 21076  }
 21077  
 21078  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21079  func (amdls AzureMariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 21080  	return nil, false
 21081  }
 21082  
 21083  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21084  func (amdls AzureMariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 21085  	return nil, false
 21086  }
 21087  
 21088  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21089  func (amdls AzureMariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 21090  	return nil, false
 21091  }
 21092  
 21093  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21094  func (amdls AzureMariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 21095  	return nil, false
 21096  }
 21097  
 21098  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21099  func (amdls AzureMariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 21100  	return nil, false
 21101  }
 21102  
 21103  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21104  func (amdls AzureMariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 21105  	return nil, false
 21106  }
 21107  
 21108  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21109  func (amdls AzureMariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 21110  	return nil, false
 21111  }
 21112  
 21113  // AsZohoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21114  func (amdls AzureMariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 21115  	return nil, false
 21116  }
 21117  
 21118  // AsXeroLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21119  func (amdls AzureMariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 21120  	return nil, false
 21121  }
 21122  
 21123  // AsSquareLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21124  func (amdls AzureMariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 21125  	return nil, false
 21126  }
 21127  
 21128  // AsSparkLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21129  func (amdls AzureMariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 21130  	return nil, false
 21131  }
 21132  
 21133  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21134  func (amdls AzureMariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 21135  	return nil, false
 21136  }
 21137  
 21138  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21139  func (amdls AzureMariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 21140  	return nil, false
 21141  }
 21142  
 21143  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21144  func (amdls AzureMariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 21145  	return nil, false
 21146  }
 21147  
 21148  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21149  func (amdls AzureMariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 21150  	return nil, false
 21151  }
 21152  
 21153  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21154  func (amdls AzureMariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 21155  	return nil, false
 21156  }
 21157  
 21158  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21159  func (amdls AzureMariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 21160  	return nil, false
 21161  }
 21162  
 21163  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21164  func (amdls AzureMariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 21165  	return nil, false
 21166  }
 21167  
 21168  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21169  func (amdls AzureMariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 21170  	return &amdls, true
 21171  }
 21172  
 21173  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21174  func (amdls AzureMariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 21175  	return nil, false
 21176  }
 21177  
 21178  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21179  func (amdls AzureMariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 21180  	return nil, false
 21181  }
 21182  
 21183  // AsJiraLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21184  func (amdls AzureMariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 21185  	return nil, false
 21186  }
 21187  
 21188  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21189  func (amdls AzureMariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 21190  	return nil, false
 21191  }
 21192  
 21193  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21194  func (amdls AzureMariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 21195  	return nil, false
 21196  }
 21197  
 21198  // AsHiveLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21199  func (amdls AzureMariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 21200  	return nil, false
 21201  }
 21202  
 21203  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21204  func (amdls AzureMariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 21205  	return nil, false
 21206  }
 21207  
 21208  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21209  func (amdls AzureMariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 21210  	return nil, false
 21211  }
 21212  
 21213  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21214  func (amdls AzureMariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 21215  	return nil, false
 21216  }
 21217  
 21218  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21219  func (amdls AzureMariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 21220  	return nil, false
 21221  }
 21222  
 21223  // AsDrillLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21224  func (amdls AzureMariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 21225  	return nil, false
 21226  }
 21227  
 21228  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21229  func (amdls AzureMariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 21230  	return nil, false
 21231  }
 21232  
 21233  // AsConcurLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21234  func (amdls AzureMariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 21235  	return nil, false
 21236  }
 21237  
 21238  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21239  func (amdls AzureMariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 21240  	return nil, false
 21241  }
 21242  
 21243  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21244  func (amdls AzureMariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 21245  	return nil, false
 21246  }
 21247  
 21248  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21249  func (amdls AzureMariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 21250  	return nil, false
 21251  }
 21252  
 21253  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21254  func (amdls AzureMariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 21255  	return nil, false
 21256  }
 21257  
 21258  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21259  func (amdls AzureMariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 21260  	return nil, false
 21261  }
 21262  
 21263  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21264  func (amdls AzureMariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 21265  	return nil, false
 21266  }
 21267  
 21268  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21269  func (amdls AzureMariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 21270  	return nil, false
 21271  }
 21272  
 21273  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21274  func (amdls AzureMariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 21275  	return nil, false
 21276  }
 21277  
 21278  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21279  func (amdls AzureMariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 21280  	return nil, false
 21281  }
 21282  
 21283  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21284  func (amdls AzureMariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 21285  	return nil, false
 21286  }
 21287  
 21288  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21289  func (amdls AzureMariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 21290  	return nil, false
 21291  }
 21292  
 21293  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21294  func (amdls AzureMariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 21295  	return nil, false
 21296  }
 21297  
 21298  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21299  func (amdls AzureMariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 21300  	return nil, false
 21301  }
 21302  
 21303  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21304  func (amdls AzureMariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 21305  	return nil, false
 21306  }
 21307  
 21308  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21309  func (amdls AzureMariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 21310  	return nil, false
 21311  }
 21312  
 21313  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21314  func (amdls AzureMariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 21315  	return nil, false
 21316  }
 21317  
 21318  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21319  func (amdls AzureMariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 21320  	return nil, false
 21321  }
 21322  
 21323  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21324  func (amdls AzureMariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 21325  	return nil, false
 21326  }
 21327  
 21328  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21329  func (amdls AzureMariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 21330  	return nil, false
 21331  }
 21332  
 21333  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21334  func (amdls AzureMariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 21335  	return nil, false
 21336  }
 21337  
 21338  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21339  func (amdls AzureMariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 21340  	return nil, false
 21341  }
 21342  
 21343  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21344  func (amdls AzureMariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 21345  	return nil, false
 21346  }
 21347  
 21348  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21349  func (amdls AzureMariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 21350  	return nil, false
 21351  }
 21352  
 21353  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21354  func (amdls AzureMariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 21355  	return nil, false
 21356  }
 21357  
 21358  // AsWebLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21359  func (amdls AzureMariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 21360  	return nil, false
 21361  }
 21362  
 21363  // AsODataLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21364  func (amdls AzureMariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 21365  	return nil, false
 21366  }
 21367  
 21368  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21369  func (amdls AzureMariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 21370  	return nil, false
 21371  }
 21372  
 21373  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21374  func (amdls AzureMariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 21375  	return nil, false
 21376  }
 21377  
 21378  // AsInformixLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21379  func (amdls AzureMariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 21380  	return nil, false
 21381  }
 21382  
 21383  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21384  func (amdls AzureMariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 21385  	return nil, false
 21386  }
 21387  
 21388  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21389  func (amdls AzureMariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 21390  	return nil, false
 21391  }
 21392  
 21393  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21394  func (amdls AzureMariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 21395  	return nil, false
 21396  }
 21397  
 21398  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21399  func (amdls AzureMariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 21400  	return nil, false
 21401  }
 21402  
 21403  // AsDb2LinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21404  func (amdls AzureMariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 21405  	return nil, false
 21406  }
 21407  
 21408  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21409  func (amdls AzureMariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 21410  	return nil, false
 21411  }
 21412  
 21413  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21414  func (amdls AzureMariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 21415  	return nil, false
 21416  }
 21417  
 21418  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21419  func (amdls AzureMariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 21420  	return nil, false
 21421  }
 21422  
 21423  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21424  func (amdls AzureMariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 21425  	return nil, false
 21426  }
 21427  
 21428  // AsOracleLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21429  func (amdls AzureMariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 21430  	return nil, false
 21431  }
 21432  
 21433  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21434  func (amdls AzureMariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 21435  	return nil, false
 21436  }
 21437  
 21438  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21439  func (amdls AzureMariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 21440  	return nil, false
 21441  }
 21442  
 21443  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21444  func (amdls AzureMariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 21445  	return nil, false
 21446  }
 21447  
 21448  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21449  func (amdls AzureMariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 21450  	return nil, false
 21451  }
 21452  
 21453  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21454  func (amdls AzureMariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 21455  	return nil, false
 21456  }
 21457  
 21458  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21459  func (amdls AzureMariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 21460  	return nil, false
 21461  }
 21462  
 21463  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21464  func (amdls AzureMariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 21465  	return nil, false
 21466  }
 21467  
 21468  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21469  func (amdls AzureMariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 21470  	return nil, false
 21471  }
 21472  
 21473  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21474  func (amdls AzureMariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 21475  	return nil, false
 21476  }
 21477  
 21478  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21479  func (amdls AzureMariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 21480  	return nil, false
 21481  }
 21482  
 21483  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21484  func (amdls AzureMariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 21485  	return nil, false
 21486  }
 21487  
 21488  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21489  func (amdls AzureMariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 21490  	return nil, false
 21491  }
 21492  
 21493  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21494  func (amdls AzureMariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 21495  	return nil, false
 21496  }
 21497  
 21498  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21499  func (amdls AzureMariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 21500  	return nil, false
 21501  }
 21502  
 21503  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21504  func (amdls AzureMariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 21505  	return nil, false
 21506  }
 21507  
 21508  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21509  func (amdls AzureMariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 21510  	return nil, false
 21511  }
 21512  
 21513  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21514  func (amdls AzureMariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 21515  	return nil, false
 21516  }
 21517  
 21518  // AsLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21519  func (amdls AzureMariaDBLinkedService) AsLinkedService() (*LinkedService, bool) {
 21520  	return nil, false
 21521  }
 21522  
 21523  // AsBasicLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService.
 21524  func (amdls AzureMariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 21525  	return &amdls, true
 21526  }
 21527  
 21528  // UnmarshalJSON is the custom unmarshaler for AzureMariaDBLinkedService struct.
 21529  func (amdls *AzureMariaDBLinkedService) UnmarshalJSON(body []byte) error {
 21530  	var m map[string]*json.RawMessage
 21531  	err := json.Unmarshal(body, &m)
 21532  	if err != nil {
 21533  		return err
 21534  	}
 21535  	for k, v := range m {
 21536  		switch k {
 21537  		case "typeProperties":
 21538  			if v != nil {
 21539  				var azureMariaDBLinkedServiceTypeProperties AzureMariaDBLinkedServiceTypeProperties
 21540  				err = json.Unmarshal(*v, &azureMariaDBLinkedServiceTypeProperties)
 21541  				if err != nil {
 21542  					return err
 21543  				}
 21544  				amdls.AzureMariaDBLinkedServiceTypeProperties = &azureMariaDBLinkedServiceTypeProperties
 21545  			}
 21546  		default:
 21547  			if v != nil {
 21548  				var additionalProperties interface{}
 21549  				err = json.Unmarshal(*v, &additionalProperties)
 21550  				if err != nil {
 21551  					return err
 21552  				}
 21553  				if amdls.AdditionalProperties == nil {
 21554  					amdls.AdditionalProperties = make(map[string]interface{})
 21555  				}
 21556  				amdls.AdditionalProperties[k] = additionalProperties
 21557  			}
 21558  		case "connectVia":
 21559  			if v != nil {
 21560  				var connectVia IntegrationRuntimeReference
 21561  				err = json.Unmarshal(*v, &connectVia)
 21562  				if err != nil {
 21563  					return err
 21564  				}
 21565  				amdls.ConnectVia = &connectVia
 21566  			}
 21567  		case "description":
 21568  			if v != nil {
 21569  				var description string
 21570  				err = json.Unmarshal(*v, &description)
 21571  				if err != nil {
 21572  					return err
 21573  				}
 21574  				amdls.Description = &description
 21575  			}
 21576  		case "parameters":
 21577  			if v != nil {
 21578  				var parameters map[string]*ParameterSpecification
 21579  				err = json.Unmarshal(*v, &parameters)
 21580  				if err != nil {
 21581  					return err
 21582  				}
 21583  				amdls.Parameters = parameters
 21584  			}
 21585  		case "annotations":
 21586  			if v != nil {
 21587  				var annotations []interface{}
 21588  				err = json.Unmarshal(*v, &annotations)
 21589  				if err != nil {
 21590  					return err
 21591  				}
 21592  				amdls.Annotations = &annotations
 21593  			}
 21594  		case "type":
 21595  			if v != nil {
 21596  				var typeVar TypeBasicLinkedService
 21597  				err = json.Unmarshal(*v, &typeVar)
 21598  				if err != nil {
 21599  					return err
 21600  				}
 21601  				amdls.Type = typeVar
 21602  			}
 21603  		}
 21604  	}
 21605  
 21606  	return nil
 21607  }
 21608  
 21609  // AzureMariaDBLinkedServiceTypeProperties azure Database for MariaDB linked service properties.
 21610  type AzureMariaDBLinkedServiceTypeProperties struct {
 21611  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 21612  	ConnectionString interface{} `json:"connectionString,omitempty"`
 21613  	// Pwd - The Azure key vault secret reference of password in connection string.
 21614  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
 21615  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 21616  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 21617  }
 21618  
 21619  // AzureMariaDBSource a copy activity Azure MariaDB source.
 21620  type AzureMariaDBSource struct {
 21621  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 21622  	Query interface{} `json:"query,omitempty"`
 21623  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 21624  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 21625  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 21626  	AdditionalProperties map[string]interface{} `json:""`
 21627  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 21628  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 21629  	// 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])).
 21630  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 21631  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 21632  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 21633  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 21634  	Type TypeBasicCopySource `json:"type,omitempty"`
 21635  }
 21636  
 21637  // MarshalJSON is the custom marshaler for AzureMariaDBSource.
 21638  func (amds AzureMariaDBSource) MarshalJSON() ([]byte, error) {
 21639  	amds.Type = TypeAzureMariaDBSource
 21640  	objectMap := make(map[string]interface{})
 21641  	if amds.Query != nil {
 21642  		objectMap["query"] = amds.Query
 21643  	}
 21644  	if amds.QueryTimeout != nil {
 21645  		objectMap["queryTimeout"] = amds.QueryTimeout
 21646  	}
 21647  	if amds.SourceRetryCount != nil {
 21648  		objectMap["sourceRetryCount"] = amds.SourceRetryCount
 21649  	}
 21650  	if amds.SourceRetryWait != nil {
 21651  		objectMap["sourceRetryWait"] = amds.SourceRetryWait
 21652  	}
 21653  	if amds.MaxConcurrentConnections != nil {
 21654  		objectMap["maxConcurrentConnections"] = amds.MaxConcurrentConnections
 21655  	}
 21656  	if amds.Type != "" {
 21657  		objectMap["type"] = amds.Type
 21658  	}
 21659  	for k, v := range amds.AdditionalProperties {
 21660  		objectMap[k] = v
 21661  	}
 21662  	return json.Marshal(objectMap)
 21663  }
 21664  
 21665  // AsHTTPSource is the BasicCopySource implementation for AzureMariaDBSource.
 21666  func (amds AzureMariaDBSource) AsHTTPSource() (*HTTPSource, bool) {
 21667  	return nil, false
 21668  }
 21669  
 21670  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureMariaDBSource.
 21671  func (amds AzureMariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 21672  	return nil, false
 21673  }
 21674  
 21675  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMariaDBSource.
 21676  func (amds AzureMariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 21677  	return nil, false
 21678  }
 21679  
 21680  // AsOffice365Source is the BasicCopySource implementation for AzureMariaDBSource.
 21681  func (amds AzureMariaDBSource) AsOffice365Source() (*Office365Source, bool) {
 21682  	return nil, false
 21683  }
 21684  
 21685  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMariaDBSource.
 21686  func (amds AzureMariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 21687  	return nil, false
 21688  }
 21689  
 21690  // AsMongoDbV2Source is the BasicCopySource implementation for AzureMariaDBSource.
 21691  func (amds AzureMariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 21692  	return nil, false
 21693  }
 21694  
 21695  // AsMongoDbSource is the BasicCopySource implementation for AzureMariaDBSource.
 21696  func (amds AzureMariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) {
 21697  	return nil, false
 21698  }
 21699  
 21700  // AsWebSource is the BasicCopySource implementation for AzureMariaDBSource.
 21701  func (amds AzureMariaDBSource) AsWebSource() (*WebSource, bool) {
 21702  	return nil, false
 21703  }
 21704  
 21705  // AsOracleSource is the BasicCopySource implementation for AzureMariaDBSource.
 21706  func (amds AzureMariaDBSource) AsOracleSource() (*OracleSource, bool) {
 21707  	return nil, false
 21708  }
 21709  
 21710  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMariaDBSource.
 21711  func (amds AzureMariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 21712  	return nil, false
 21713  }
 21714  
 21715  // AsHdfsSource is the BasicCopySource implementation for AzureMariaDBSource.
 21716  func (amds AzureMariaDBSource) AsHdfsSource() (*HdfsSource, bool) {
 21717  	return nil, false
 21718  }
 21719  
 21720  // AsFileSystemSource is the BasicCopySource implementation for AzureMariaDBSource.
 21721  func (amds AzureMariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) {
 21722  	return nil, false
 21723  }
 21724  
 21725  // AsRestSource is the BasicCopySource implementation for AzureMariaDBSource.
 21726  func (amds AzureMariaDBSource) AsRestSource() (*RestSource, bool) {
 21727  	return nil, false
 21728  }
 21729  
 21730  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource.
 21731  func (amds AzureMariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 21732  	return nil, false
 21733  }
 21734  
 21735  // AsODataSource is the BasicCopySource implementation for AzureMariaDBSource.
 21736  func (amds AzureMariaDBSource) AsODataSource() (*ODataSource, bool) {
 21737  	return nil, false
 21738  }
 21739  
 21740  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMariaDBSource.
 21741  func (amds AzureMariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 21742  	return nil, false
 21743  }
 21744  
 21745  // AsRelationalSource is the BasicCopySource implementation for AzureMariaDBSource.
 21746  func (amds AzureMariaDBSource) AsRelationalSource() (*RelationalSource, bool) {
 21747  	return nil, false
 21748  }
 21749  
 21750  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMariaDBSource.
 21751  func (amds AzureMariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 21752  	return nil, false
 21753  }
 21754  
 21755  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureMariaDBSource.
 21756  func (amds AzureMariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 21757  	return nil, false
 21758  }
 21759  
 21760  // AsDynamicsSource is the BasicCopySource implementation for AzureMariaDBSource.
 21761  func (amds AzureMariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) {
 21762  	return nil, false
 21763  }
 21764  
 21765  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMariaDBSource.
 21766  func (amds AzureMariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 21767  	return nil, false
 21768  }
 21769  
 21770  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMariaDBSource.
 21771  func (amds AzureMariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 21772  	return nil, false
 21773  }
 21774  
 21775  // AsBlobSource is the BasicCopySource implementation for AzureMariaDBSource.
 21776  func (amds AzureMariaDBSource) AsBlobSource() (*BlobSource, bool) {
 21777  	return nil, false
 21778  }
 21779  
 21780  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMariaDBSource.
 21781  func (amds AzureMariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 21782  	return nil, false
 21783  }
 21784  
 21785  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureMariaDBSource.
 21786  func (amds AzureMariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 21787  	return nil, false
 21788  }
 21789  
 21790  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource.
 21791  func (amds AzureMariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 21792  	return nil, false
 21793  }
 21794  
 21795  // AsDynamicsAXSource is the BasicCopySource implementation for AzureMariaDBSource.
 21796  func (amds AzureMariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 21797  	return nil, false
 21798  }
 21799  
 21800  // AsResponsysSource is the BasicCopySource implementation for AzureMariaDBSource.
 21801  func (amds AzureMariaDBSource) AsResponsysSource() (*ResponsysSource, bool) {
 21802  	return nil, false
 21803  }
 21804  
 21805  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMariaDBSource.
 21806  func (amds AzureMariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 21807  	return nil, false
 21808  }
 21809  
 21810  // AsVerticaSource is the BasicCopySource implementation for AzureMariaDBSource.
 21811  func (amds AzureMariaDBSource) AsVerticaSource() (*VerticaSource, bool) {
 21812  	return nil, false
 21813  }
 21814  
 21815  // AsNetezzaSource is the BasicCopySource implementation for AzureMariaDBSource.
 21816  func (amds AzureMariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) {
 21817  	return nil, false
 21818  }
 21819  
 21820  // AsZohoSource is the BasicCopySource implementation for AzureMariaDBSource.
 21821  func (amds AzureMariaDBSource) AsZohoSource() (*ZohoSource, bool) {
 21822  	return nil, false
 21823  }
 21824  
 21825  // AsXeroSource is the BasicCopySource implementation for AzureMariaDBSource.
 21826  func (amds AzureMariaDBSource) AsXeroSource() (*XeroSource, bool) {
 21827  	return nil, false
 21828  }
 21829  
 21830  // AsSquareSource is the BasicCopySource implementation for AzureMariaDBSource.
 21831  func (amds AzureMariaDBSource) AsSquareSource() (*SquareSource, bool) {
 21832  	return nil, false
 21833  }
 21834  
 21835  // AsSparkSource is the BasicCopySource implementation for AzureMariaDBSource.
 21836  func (amds AzureMariaDBSource) AsSparkSource() (*SparkSource, bool) {
 21837  	return nil, false
 21838  }
 21839  
 21840  // AsShopifySource is the BasicCopySource implementation for AzureMariaDBSource.
 21841  func (amds AzureMariaDBSource) AsShopifySource() (*ShopifySource, bool) {
 21842  	return nil, false
 21843  }
 21844  
 21845  // AsServiceNowSource is the BasicCopySource implementation for AzureMariaDBSource.
 21846  func (amds AzureMariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 21847  	return nil, false
 21848  }
 21849  
 21850  // AsQuickBooksSource is the BasicCopySource implementation for AzureMariaDBSource.
 21851  func (amds AzureMariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 21852  	return nil, false
 21853  }
 21854  
 21855  // AsPrestoSource is the BasicCopySource implementation for AzureMariaDBSource.
 21856  func (amds AzureMariaDBSource) AsPrestoSource() (*PrestoSource, bool) {
 21857  	return nil, false
 21858  }
 21859  
 21860  // AsPhoenixSource is the BasicCopySource implementation for AzureMariaDBSource.
 21861  func (amds AzureMariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) {
 21862  	return nil, false
 21863  }
 21864  
 21865  // AsPaypalSource is the BasicCopySource implementation for AzureMariaDBSource.
 21866  func (amds AzureMariaDBSource) AsPaypalSource() (*PaypalSource, bool) {
 21867  	return nil, false
 21868  }
 21869  
 21870  // AsMarketoSource is the BasicCopySource implementation for AzureMariaDBSource.
 21871  func (amds AzureMariaDBSource) AsMarketoSource() (*MarketoSource, bool) {
 21872  	return nil, false
 21873  }
 21874  
 21875  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureMariaDBSource.
 21876  func (amds AzureMariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 21877  	return &amds, true
 21878  }
 21879  
 21880  // AsMariaDBSource is the BasicCopySource implementation for AzureMariaDBSource.
 21881  func (amds AzureMariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) {
 21882  	return nil, false
 21883  }
 21884  
 21885  // AsMagentoSource is the BasicCopySource implementation for AzureMariaDBSource.
 21886  func (amds AzureMariaDBSource) AsMagentoSource() (*MagentoSource, bool) {
 21887  	return nil, false
 21888  }
 21889  
 21890  // AsJiraSource is the BasicCopySource implementation for AzureMariaDBSource.
 21891  func (amds AzureMariaDBSource) AsJiraSource() (*JiraSource, bool) {
 21892  	return nil, false
 21893  }
 21894  
 21895  // AsImpalaSource is the BasicCopySource implementation for AzureMariaDBSource.
 21896  func (amds AzureMariaDBSource) AsImpalaSource() (*ImpalaSource, bool) {
 21897  	return nil, false
 21898  }
 21899  
 21900  // AsHubspotSource is the BasicCopySource implementation for AzureMariaDBSource.
 21901  func (amds AzureMariaDBSource) AsHubspotSource() (*HubspotSource, bool) {
 21902  	return nil, false
 21903  }
 21904  
 21905  // AsHiveSource is the BasicCopySource implementation for AzureMariaDBSource.
 21906  func (amds AzureMariaDBSource) AsHiveSource() (*HiveSource, bool) {
 21907  	return nil, false
 21908  }
 21909  
 21910  // AsHBaseSource is the BasicCopySource implementation for AzureMariaDBSource.
 21911  func (amds AzureMariaDBSource) AsHBaseSource() (*HBaseSource, bool) {
 21912  	return nil, false
 21913  }
 21914  
 21915  // AsGreenplumSource is the BasicCopySource implementation for AzureMariaDBSource.
 21916  func (amds AzureMariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) {
 21917  	return nil, false
 21918  }
 21919  
 21920  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMariaDBSource.
 21921  func (amds AzureMariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 21922  	return nil, false
 21923  }
 21924  
 21925  // AsEloquaSource is the BasicCopySource implementation for AzureMariaDBSource.
 21926  func (amds AzureMariaDBSource) AsEloquaSource() (*EloquaSource, bool) {
 21927  	return nil, false
 21928  }
 21929  
 21930  // AsDrillSource is the BasicCopySource implementation for AzureMariaDBSource.
 21931  func (amds AzureMariaDBSource) AsDrillSource() (*DrillSource, bool) {
 21932  	return nil, false
 21933  }
 21934  
 21935  // AsCouchbaseSource is the BasicCopySource implementation for AzureMariaDBSource.
 21936  func (amds AzureMariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 21937  	return nil, false
 21938  }
 21939  
 21940  // AsConcurSource is the BasicCopySource implementation for AzureMariaDBSource.
 21941  func (amds AzureMariaDBSource) AsConcurSource() (*ConcurSource, bool) {
 21942  	return nil, false
 21943  }
 21944  
 21945  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 21946  func (amds AzureMariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 21947  	return nil, false
 21948  }
 21949  
 21950  // AsAmazonMWSSource is the BasicCopySource implementation for AzureMariaDBSource.
 21951  func (amds AzureMariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 21952  	return nil, false
 21953  }
 21954  
 21955  // AsCassandraSource is the BasicCopySource implementation for AzureMariaDBSource.
 21956  func (amds AzureMariaDBSource) AsCassandraSource() (*CassandraSource, bool) {
 21957  	return nil, false
 21958  }
 21959  
 21960  // AsTeradataSource is the BasicCopySource implementation for AzureMariaDBSource.
 21961  func (amds AzureMariaDBSource) AsTeradataSource() (*TeradataSource, bool) {
 21962  	return nil, false
 21963  }
 21964  
 21965  // AsAzureMySQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 21966  func (amds AzureMariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 21967  	return nil, false
 21968  }
 21969  
 21970  // AsSQLDWSource is the BasicCopySource implementation for AzureMariaDBSource.
 21971  func (amds AzureMariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) {
 21972  	return nil, false
 21973  }
 21974  
 21975  // AsSQLMISource is the BasicCopySource implementation for AzureMariaDBSource.
 21976  func (amds AzureMariaDBSource) AsSQLMISource() (*SQLMISource, bool) {
 21977  	return nil, false
 21978  }
 21979  
 21980  // AsAzureSQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 21981  func (amds AzureMariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 21982  	return nil, false
 21983  }
 21984  
 21985  // AsSQLServerSource is the BasicCopySource implementation for AzureMariaDBSource.
 21986  func (amds AzureMariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) {
 21987  	return nil, false
 21988  }
 21989  
 21990  // AsSQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 21991  func (amds AzureMariaDBSource) AsSQLSource() (*SQLSource, bool) {
 21992  	return nil, false
 21993  }
 21994  
 21995  // AsSapTableSource is the BasicCopySource implementation for AzureMariaDBSource.
 21996  func (amds AzureMariaDBSource) AsSapTableSource() (*SapTableSource, bool) {
 21997  	return nil, false
 21998  }
 21999  
 22000  // AsSapOpenHubSource is the BasicCopySource implementation for AzureMariaDBSource.
 22001  func (amds AzureMariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 22002  	return nil, false
 22003  }
 22004  
 22005  // AsSapHanaSource is the BasicCopySource implementation for AzureMariaDBSource.
 22006  func (amds AzureMariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) {
 22007  	return nil, false
 22008  }
 22009  
 22010  // AsSapEccSource is the BasicCopySource implementation for AzureMariaDBSource.
 22011  func (amds AzureMariaDBSource) AsSapEccSource() (*SapEccSource, bool) {
 22012  	return nil, false
 22013  }
 22014  
 22015  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMariaDBSource.
 22016  func (amds AzureMariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 22017  	return nil, false
 22018  }
 22019  
 22020  // AsSalesforceSource is the BasicCopySource implementation for AzureMariaDBSource.
 22021  func (amds AzureMariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) {
 22022  	return nil, false
 22023  }
 22024  
 22025  // AsSapBwSource is the BasicCopySource implementation for AzureMariaDBSource.
 22026  func (amds AzureMariaDBSource) AsSapBwSource() (*SapBwSource, bool) {
 22027  	return nil, false
 22028  }
 22029  
 22030  // AsSybaseSource is the BasicCopySource implementation for AzureMariaDBSource.
 22031  func (amds AzureMariaDBSource) AsSybaseSource() (*SybaseSource, bool) {
 22032  	return nil, false
 22033  }
 22034  
 22035  // AsPostgreSQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 22036  func (amds AzureMariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 22037  	return nil, false
 22038  }
 22039  
 22040  // AsMySQLSource is the BasicCopySource implementation for AzureMariaDBSource.
 22041  func (amds AzureMariaDBSource) AsMySQLSource() (*MySQLSource, bool) {
 22042  	return nil, false
 22043  }
 22044  
 22045  // AsOdbcSource is the BasicCopySource implementation for AzureMariaDBSource.
 22046  func (amds AzureMariaDBSource) AsOdbcSource() (*OdbcSource, bool) {
 22047  	return nil, false
 22048  }
 22049  
 22050  // AsDb2Source is the BasicCopySource implementation for AzureMariaDBSource.
 22051  func (amds AzureMariaDBSource) AsDb2Source() (*Db2Source, bool) {
 22052  	return nil, false
 22053  }
 22054  
 22055  // AsInformixSource is the BasicCopySource implementation for AzureMariaDBSource.
 22056  func (amds AzureMariaDBSource) AsInformixSource() (*InformixSource, bool) {
 22057  	return nil, false
 22058  }
 22059  
 22060  // AsAzureTableSource is the BasicCopySource implementation for AzureMariaDBSource.
 22061  func (amds AzureMariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) {
 22062  	return nil, false
 22063  }
 22064  
 22065  // AsTabularSource is the BasicCopySource implementation for AzureMariaDBSource.
 22066  func (amds AzureMariaDBSource) AsTabularSource() (*TabularSource, bool) {
 22067  	return nil, false
 22068  }
 22069  
 22070  // AsBasicTabularSource is the BasicCopySource implementation for AzureMariaDBSource.
 22071  func (amds AzureMariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 22072  	return &amds, true
 22073  }
 22074  
 22075  // AsBinarySource is the BasicCopySource implementation for AzureMariaDBSource.
 22076  func (amds AzureMariaDBSource) AsBinarySource() (*BinarySource, bool) {
 22077  	return nil, false
 22078  }
 22079  
 22080  // AsOrcSource is the BasicCopySource implementation for AzureMariaDBSource.
 22081  func (amds AzureMariaDBSource) AsOrcSource() (*OrcSource, bool) {
 22082  	return nil, false
 22083  }
 22084  
 22085  // AsJSONSource is the BasicCopySource implementation for AzureMariaDBSource.
 22086  func (amds AzureMariaDBSource) AsJSONSource() (*JSONSource, bool) {
 22087  	return nil, false
 22088  }
 22089  
 22090  // AsDelimitedTextSource is the BasicCopySource implementation for AzureMariaDBSource.
 22091  func (amds AzureMariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 22092  	return nil, false
 22093  }
 22094  
 22095  // AsParquetSource is the BasicCopySource implementation for AzureMariaDBSource.
 22096  func (amds AzureMariaDBSource) AsParquetSource() (*ParquetSource, bool) {
 22097  	return nil, false
 22098  }
 22099  
 22100  // AsAvroSource is the BasicCopySource implementation for AzureMariaDBSource.
 22101  func (amds AzureMariaDBSource) AsAvroSource() (*AvroSource, bool) {
 22102  	return nil, false
 22103  }
 22104  
 22105  // AsCopySource is the BasicCopySource implementation for AzureMariaDBSource.
 22106  func (amds AzureMariaDBSource) AsCopySource() (*CopySource, bool) {
 22107  	return nil, false
 22108  }
 22109  
 22110  // AsBasicCopySource is the BasicCopySource implementation for AzureMariaDBSource.
 22111  func (amds AzureMariaDBSource) AsBasicCopySource() (BasicCopySource, bool) {
 22112  	return &amds, true
 22113  }
 22114  
 22115  // UnmarshalJSON is the custom unmarshaler for AzureMariaDBSource struct.
 22116  func (amds *AzureMariaDBSource) UnmarshalJSON(body []byte) error {
 22117  	var m map[string]*json.RawMessage
 22118  	err := json.Unmarshal(body, &m)
 22119  	if err != nil {
 22120  		return err
 22121  	}
 22122  	for k, v := range m {
 22123  		switch k {
 22124  		case "query":
 22125  			if v != nil {
 22126  				var query interface{}
 22127  				err = json.Unmarshal(*v, &query)
 22128  				if err != nil {
 22129  					return err
 22130  				}
 22131  				amds.Query = query
 22132  			}
 22133  		case "queryTimeout":
 22134  			if v != nil {
 22135  				var queryTimeout interface{}
 22136  				err = json.Unmarshal(*v, &queryTimeout)
 22137  				if err != nil {
 22138  					return err
 22139  				}
 22140  				amds.QueryTimeout = queryTimeout
 22141  			}
 22142  		default:
 22143  			if v != nil {
 22144  				var additionalProperties interface{}
 22145  				err = json.Unmarshal(*v, &additionalProperties)
 22146  				if err != nil {
 22147  					return err
 22148  				}
 22149  				if amds.AdditionalProperties == nil {
 22150  					amds.AdditionalProperties = make(map[string]interface{})
 22151  				}
 22152  				amds.AdditionalProperties[k] = additionalProperties
 22153  			}
 22154  		case "sourceRetryCount":
 22155  			if v != nil {
 22156  				var sourceRetryCount interface{}
 22157  				err = json.Unmarshal(*v, &sourceRetryCount)
 22158  				if err != nil {
 22159  					return err
 22160  				}
 22161  				amds.SourceRetryCount = sourceRetryCount
 22162  			}
 22163  		case "sourceRetryWait":
 22164  			if v != nil {
 22165  				var sourceRetryWait interface{}
 22166  				err = json.Unmarshal(*v, &sourceRetryWait)
 22167  				if err != nil {
 22168  					return err
 22169  				}
 22170  				amds.SourceRetryWait = sourceRetryWait
 22171  			}
 22172  		case "maxConcurrentConnections":
 22173  			if v != nil {
 22174  				var maxConcurrentConnections interface{}
 22175  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 22176  				if err != nil {
 22177  					return err
 22178  				}
 22179  				amds.MaxConcurrentConnections = maxConcurrentConnections
 22180  			}
 22181  		case "type":
 22182  			if v != nil {
 22183  				var typeVar TypeBasicCopySource
 22184  				err = json.Unmarshal(*v, &typeVar)
 22185  				if err != nil {
 22186  					return err
 22187  				}
 22188  				amds.Type = typeVar
 22189  			}
 22190  		}
 22191  	}
 22192  
 22193  	return nil
 22194  }
 22195  
 22196  // AzureMariaDBTableDataset azure Database for MariaDB dataset.
 22197  type AzureMariaDBTableDataset struct {
 22198  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 22199  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 22200  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 22201  	AdditionalProperties map[string]interface{} `json:""`
 22202  	// Description - Dataset description.
 22203  	Description *string `json:"description,omitempty"`
 22204  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 22205  	Structure interface{} `json:"structure,omitempty"`
 22206  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 22207  	Schema interface{} `json:"schema,omitempty"`
 22208  	// LinkedServiceName - Linked service reference.
 22209  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 22210  	// Parameters - Parameters for dataset.
 22211  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 22212  	// Annotations - List of tags that can be used for describing the Dataset.
 22213  	Annotations *[]interface{} `json:"annotations,omitempty"`
 22214  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 22215  	Folder *DatasetFolder `json:"folder,omitempty"`
 22216  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 22217  	Type TypeBasicDataset `json:"type,omitempty"`
 22218  }
 22219  
 22220  // MarshalJSON is the custom marshaler for AzureMariaDBTableDataset.
 22221  func (amdtd AzureMariaDBTableDataset) MarshalJSON() ([]byte, error) {
 22222  	amdtd.Type = TypeAzureMariaDBTable
 22223  	objectMap := make(map[string]interface{})
 22224  	if amdtd.GenericDatasetTypeProperties != nil {
 22225  		objectMap["typeProperties"] = amdtd.GenericDatasetTypeProperties
 22226  	}
 22227  	if amdtd.Description != nil {
 22228  		objectMap["description"] = amdtd.Description
 22229  	}
 22230  	if amdtd.Structure != nil {
 22231  		objectMap["structure"] = amdtd.Structure
 22232  	}
 22233  	if amdtd.Schema != nil {
 22234  		objectMap["schema"] = amdtd.Schema
 22235  	}
 22236  	if amdtd.LinkedServiceName != nil {
 22237  		objectMap["linkedServiceName"] = amdtd.LinkedServiceName
 22238  	}
 22239  	if amdtd.Parameters != nil {
 22240  		objectMap["parameters"] = amdtd.Parameters
 22241  	}
 22242  	if amdtd.Annotations != nil {
 22243  		objectMap["annotations"] = amdtd.Annotations
 22244  	}
 22245  	if amdtd.Folder != nil {
 22246  		objectMap["folder"] = amdtd.Folder
 22247  	}
 22248  	if amdtd.Type != "" {
 22249  		objectMap["type"] = amdtd.Type
 22250  	}
 22251  	for k, v := range amdtd.AdditionalProperties {
 22252  		objectMap[k] = v
 22253  	}
 22254  	return json.Marshal(objectMap)
 22255  }
 22256  
 22257  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22258  func (amdtd AzureMariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 22259  	return nil, false
 22260  }
 22261  
 22262  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22263  func (amdtd AzureMariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 22264  	return nil, false
 22265  }
 22266  
 22267  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22268  func (amdtd AzureMariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 22269  	return nil, false
 22270  }
 22271  
 22272  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22273  func (amdtd AzureMariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 22274  	return nil, false
 22275  }
 22276  
 22277  // AsResponsysObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22278  func (amdtd AzureMariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 22279  	return nil, false
 22280  }
 22281  
 22282  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22283  func (amdtd AzureMariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 22284  	return nil, false
 22285  }
 22286  
 22287  // AsVerticaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22288  func (amdtd AzureMariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 22289  	return nil, false
 22290  }
 22291  
 22292  // AsNetezzaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22293  func (amdtd AzureMariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 22294  	return nil, false
 22295  }
 22296  
 22297  // AsZohoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22298  func (amdtd AzureMariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 22299  	return nil, false
 22300  }
 22301  
 22302  // AsXeroObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22303  func (amdtd AzureMariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 22304  	return nil, false
 22305  }
 22306  
 22307  // AsSquareObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22308  func (amdtd AzureMariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 22309  	return nil, false
 22310  }
 22311  
 22312  // AsSparkObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22313  func (amdtd AzureMariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 22314  	return nil, false
 22315  }
 22316  
 22317  // AsShopifyObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22318  func (amdtd AzureMariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 22319  	return nil, false
 22320  }
 22321  
 22322  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22323  func (amdtd AzureMariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 22324  	return nil, false
 22325  }
 22326  
 22327  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22328  func (amdtd AzureMariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 22329  	return nil, false
 22330  }
 22331  
 22332  // AsPrestoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22333  func (amdtd AzureMariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 22334  	return nil, false
 22335  }
 22336  
 22337  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22338  func (amdtd AzureMariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 22339  	return nil, false
 22340  }
 22341  
 22342  // AsPaypalObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22343  func (amdtd AzureMariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 22344  	return nil, false
 22345  }
 22346  
 22347  // AsMarketoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22348  func (amdtd AzureMariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 22349  	return nil, false
 22350  }
 22351  
 22352  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22353  func (amdtd AzureMariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 22354  	return &amdtd, true
 22355  }
 22356  
 22357  // AsMariaDBTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22358  func (amdtd AzureMariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 22359  	return nil, false
 22360  }
 22361  
 22362  // AsMagentoObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22363  func (amdtd AzureMariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 22364  	return nil, false
 22365  }
 22366  
 22367  // AsJiraObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22368  func (amdtd AzureMariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 22369  	return nil, false
 22370  }
 22371  
 22372  // AsImpalaObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22373  func (amdtd AzureMariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 22374  	return nil, false
 22375  }
 22376  
 22377  // AsHubspotObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22378  func (amdtd AzureMariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 22379  	return nil, false
 22380  }
 22381  
 22382  // AsHiveObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22383  func (amdtd AzureMariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 22384  	return nil, false
 22385  }
 22386  
 22387  // AsHBaseObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22388  func (amdtd AzureMariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 22389  	return nil, false
 22390  }
 22391  
 22392  // AsGreenplumTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22393  func (amdtd AzureMariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 22394  	return nil, false
 22395  }
 22396  
 22397  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22398  func (amdtd AzureMariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 22399  	return nil, false
 22400  }
 22401  
 22402  // AsEloquaObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22403  func (amdtd AzureMariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 22404  	return nil, false
 22405  }
 22406  
 22407  // AsDrillTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22408  func (amdtd AzureMariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 22409  	return nil, false
 22410  }
 22411  
 22412  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22413  func (amdtd AzureMariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 22414  	return nil, false
 22415  }
 22416  
 22417  // AsConcurObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22418  func (amdtd AzureMariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 22419  	return nil, false
 22420  }
 22421  
 22422  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22423  func (amdtd AzureMariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 22424  	return nil, false
 22425  }
 22426  
 22427  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22428  func (amdtd AzureMariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 22429  	return nil, false
 22430  }
 22431  
 22432  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22433  func (amdtd AzureMariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 22434  	return nil, false
 22435  }
 22436  
 22437  // AsWebTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22438  func (amdtd AzureMariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 22439  	return nil, false
 22440  }
 22441  
 22442  // AsSapTableResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22443  func (amdtd AzureMariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 22444  	return nil, false
 22445  }
 22446  
 22447  // AsRestResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22448  func (amdtd AzureMariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 22449  	return nil, false
 22450  }
 22451  
 22452  // AsSQLServerTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22453  func (amdtd AzureMariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 22454  	return nil, false
 22455  }
 22456  
 22457  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22458  func (amdtd AzureMariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 22459  	return nil, false
 22460  }
 22461  
 22462  // AsSapHanaTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22463  func (amdtd AzureMariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 22464  	return nil, false
 22465  }
 22466  
 22467  // AsSapEccResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22468  func (amdtd AzureMariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 22469  	return nil, false
 22470  }
 22471  
 22472  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22473  func (amdtd AzureMariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 22474  	return nil, false
 22475  }
 22476  
 22477  // AsSapBwCubeDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22478  func (amdtd AzureMariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 22479  	return nil, false
 22480  }
 22481  
 22482  // AsSybaseTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22483  func (amdtd AzureMariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 22484  	return nil, false
 22485  }
 22486  
 22487  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22488  func (amdtd AzureMariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 22489  	return nil, false
 22490  }
 22491  
 22492  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22493  func (amdtd AzureMariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 22494  	return nil, false
 22495  }
 22496  
 22497  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22498  func (amdtd AzureMariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 22499  	return nil, false
 22500  }
 22501  
 22502  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22503  func (amdtd AzureMariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 22504  	return nil, false
 22505  }
 22506  
 22507  // AsMySQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22508  func (amdtd AzureMariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 22509  	return nil, false
 22510  }
 22511  
 22512  // AsOdbcTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22513  func (amdtd AzureMariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 22514  	return nil, false
 22515  }
 22516  
 22517  // AsInformixTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22518  func (amdtd AzureMariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 22519  	return nil, false
 22520  }
 22521  
 22522  // AsRelationalTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22523  func (amdtd AzureMariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 22524  	return nil, false
 22525  }
 22526  
 22527  // AsDb2TableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22528  func (amdtd AzureMariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 22529  	return nil, false
 22530  }
 22531  
 22532  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22533  func (amdtd AzureMariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 22534  	return nil, false
 22535  }
 22536  
 22537  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22538  func (amdtd AzureMariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 22539  	return nil, false
 22540  }
 22541  
 22542  // AsTeradataTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22543  func (amdtd AzureMariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 22544  	return nil, false
 22545  }
 22546  
 22547  // AsOracleTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22548  func (amdtd AzureMariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 22549  	return nil, false
 22550  }
 22551  
 22552  // AsODataResourceDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22553  func (amdtd AzureMariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 22554  	return nil, false
 22555  }
 22556  
 22557  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22558  func (amdtd AzureMariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 22559  	return nil, false
 22560  }
 22561  
 22562  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22563  func (amdtd AzureMariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 22564  	return nil, false
 22565  }
 22566  
 22567  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22568  func (amdtd AzureMariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 22569  	return nil, false
 22570  }
 22571  
 22572  // AsOffice365Dataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22573  func (amdtd AzureMariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 22574  	return nil, false
 22575  }
 22576  
 22577  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22578  func (amdtd AzureMariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 22579  	return nil, false
 22580  }
 22581  
 22582  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22583  func (amdtd AzureMariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 22584  	return nil, false
 22585  }
 22586  
 22587  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22588  func (amdtd AzureMariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 22589  	return nil, false
 22590  }
 22591  
 22592  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22593  func (amdtd AzureMariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 22594  	return nil, false
 22595  }
 22596  
 22597  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22598  func (amdtd AzureMariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 22599  	return nil, false
 22600  }
 22601  
 22602  // AsCustomDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22603  func (amdtd AzureMariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 22604  	return nil, false
 22605  }
 22606  
 22607  // AsCassandraTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22608  func (amdtd AzureMariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 22609  	return nil, false
 22610  }
 22611  
 22612  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22613  func (amdtd AzureMariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 22614  	return nil, false
 22615  }
 22616  
 22617  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22618  func (amdtd AzureMariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 22619  	return nil, false
 22620  }
 22621  
 22622  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22623  func (amdtd AzureMariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 22624  	return nil, false
 22625  }
 22626  
 22627  // AsAzureTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22628  func (amdtd AzureMariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 22629  	return nil, false
 22630  }
 22631  
 22632  // AsBinaryDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22633  func (amdtd AzureMariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 22634  	return nil, false
 22635  }
 22636  
 22637  // AsOrcDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22638  func (amdtd AzureMariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 22639  	return nil, false
 22640  }
 22641  
 22642  // AsJSONDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22643  func (amdtd AzureMariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 22644  	return nil, false
 22645  }
 22646  
 22647  // AsDelimitedTextDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22648  func (amdtd AzureMariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 22649  	return nil, false
 22650  }
 22651  
 22652  // AsParquetDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22653  func (amdtd AzureMariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 22654  	return nil, false
 22655  }
 22656  
 22657  // AsAvroDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22658  func (amdtd AzureMariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 22659  	return nil, false
 22660  }
 22661  
 22662  // AsDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22663  func (amdtd AzureMariaDBTableDataset) AsDataset() (*Dataset, bool) {
 22664  	return nil, false
 22665  }
 22666  
 22667  // AsBasicDataset is the BasicDataset implementation for AzureMariaDBTableDataset.
 22668  func (amdtd AzureMariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) {
 22669  	return &amdtd, true
 22670  }
 22671  
 22672  // UnmarshalJSON is the custom unmarshaler for AzureMariaDBTableDataset struct.
 22673  func (amdtd *AzureMariaDBTableDataset) UnmarshalJSON(body []byte) error {
 22674  	var m map[string]*json.RawMessage
 22675  	err := json.Unmarshal(body, &m)
 22676  	if err != nil {
 22677  		return err
 22678  	}
 22679  	for k, v := range m {
 22680  		switch k {
 22681  		case "typeProperties":
 22682  			if v != nil {
 22683  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 22684  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 22685  				if err != nil {
 22686  					return err
 22687  				}
 22688  				amdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 22689  			}
 22690  		default:
 22691  			if v != nil {
 22692  				var additionalProperties interface{}
 22693  				err = json.Unmarshal(*v, &additionalProperties)
 22694  				if err != nil {
 22695  					return err
 22696  				}
 22697  				if amdtd.AdditionalProperties == nil {
 22698  					amdtd.AdditionalProperties = make(map[string]interface{})
 22699  				}
 22700  				amdtd.AdditionalProperties[k] = additionalProperties
 22701  			}
 22702  		case "description":
 22703  			if v != nil {
 22704  				var description string
 22705  				err = json.Unmarshal(*v, &description)
 22706  				if err != nil {
 22707  					return err
 22708  				}
 22709  				amdtd.Description = &description
 22710  			}
 22711  		case "structure":
 22712  			if v != nil {
 22713  				var structure interface{}
 22714  				err = json.Unmarshal(*v, &structure)
 22715  				if err != nil {
 22716  					return err
 22717  				}
 22718  				amdtd.Structure = structure
 22719  			}
 22720  		case "schema":
 22721  			if v != nil {
 22722  				var schema interface{}
 22723  				err = json.Unmarshal(*v, &schema)
 22724  				if err != nil {
 22725  					return err
 22726  				}
 22727  				amdtd.Schema = schema
 22728  			}
 22729  		case "linkedServiceName":
 22730  			if v != nil {
 22731  				var linkedServiceName LinkedServiceReference
 22732  				err = json.Unmarshal(*v, &linkedServiceName)
 22733  				if err != nil {
 22734  					return err
 22735  				}
 22736  				amdtd.LinkedServiceName = &linkedServiceName
 22737  			}
 22738  		case "parameters":
 22739  			if v != nil {
 22740  				var parameters map[string]*ParameterSpecification
 22741  				err = json.Unmarshal(*v, &parameters)
 22742  				if err != nil {
 22743  					return err
 22744  				}
 22745  				amdtd.Parameters = parameters
 22746  			}
 22747  		case "annotations":
 22748  			if v != nil {
 22749  				var annotations []interface{}
 22750  				err = json.Unmarshal(*v, &annotations)
 22751  				if err != nil {
 22752  					return err
 22753  				}
 22754  				amdtd.Annotations = &annotations
 22755  			}
 22756  		case "folder":
 22757  			if v != nil {
 22758  				var folder DatasetFolder
 22759  				err = json.Unmarshal(*v, &folder)
 22760  				if err != nil {
 22761  					return err
 22762  				}
 22763  				amdtd.Folder = &folder
 22764  			}
 22765  		case "type":
 22766  			if v != nil {
 22767  				var typeVar TypeBasicDataset
 22768  				err = json.Unmarshal(*v, &typeVar)
 22769  				if err != nil {
 22770  					return err
 22771  				}
 22772  				amdtd.Type = typeVar
 22773  			}
 22774  		}
 22775  	}
 22776  
 22777  	return nil
 22778  }
 22779  
 22780  // AzureMLBatchExecutionActivity azure ML Batch Execution activity.
 22781  type AzureMLBatchExecutionActivity struct {
 22782  	// AzureMLBatchExecutionActivityTypeProperties - Azure ML Batch Execution activity properties.
 22783  	*AzureMLBatchExecutionActivityTypeProperties `json:"typeProperties,omitempty"`
 22784  	// LinkedServiceName - Linked service reference.
 22785  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 22786  	// Policy - Activity policy.
 22787  	Policy *ActivityPolicy `json:"policy,omitempty"`
 22788  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 22789  	AdditionalProperties map[string]interface{} `json:""`
 22790  	// Name - Activity name.
 22791  	Name *string `json:"name,omitempty"`
 22792  	// Description - Activity description.
 22793  	Description *string `json:"description,omitempty"`
 22794  	// DependsOn - Activity depends on condition.
 22795  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 22796  	// UserProperties - Activity user properties.
 22797  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 22798  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 22799  	Type TypeBasicActivity `json:"type,omitempty"`
 22800  }
 22801  
 22802  // MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivity.
 22803  func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) {
 22804  	ambea.Type = TypeAzureMLBatchExecution
 22805  	objectMap := make(map[string]interface{})
 22806  	if ambea.AzureMLBatchExecutionActivityTypeProperties != nil {
 22807  		objectMap["typeProperties"] = ambea.AzureMLBatchExecutionActivityTypeProperties
 22808  	}
 22809  	if ambea.LinkedServiceName != nil {
 22810  		objectMap["linkedServiceName"] = ambea.LinkedServiceName
 22811  	}
 22812  	if ambea.Policy != nil {
 22813  		objectMap["policy"] = ambea.Policy
 22814  	}
 22815  	if ambea.Name != nil {
 22816  		objectMap["name"] = ambea.Name
 22817  	}
 22818  	if ambea.Description != nil {
 22819  		objectMap["description"] = ambea.Description
 22820  	}
 22821  	if ambea.DependsOn != nil {
 22822  		objectMap["dependsOn"] = ambea.DependsOn
 22823  	}
 22824  	if ambea.UserProperties != nil {
 22825  		objectMap["userProperties"] = ambea.UserProperties
 22826  	}
 22827  	if ambea.Type != "" {
 22828  		objectMap["type"] = ambea.Type
 22829  	}
 22830  	for k, v := range ambea.AdditionalProperties {
 22831  		objectMap[k] = v
 22832  	}
 22833  	return json.Marshal(objectMap)
 22834  }
 22835  
 22836  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22837  func (ambea AzureMLBatchExecutionActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 22838  	return nil, false
 22839  }
 22840  
 22841  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22842  func (ambea AzureMLBatchExecutionActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 22843  	return nil, false
 22844  }
 22845  
 22846  // AsSynapseNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22847  func (ambea AzureMLBatchExecutionActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 22848  	return nil, false
 22849  }
 22850  
 22851  // AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22852  func (ambea AzureMLBatchExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 22853  	return nil, false
 22854  }
 22855  
 22856  // AsAzureFunctionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22857  func (ambea AzureMLBatchExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 22858  	return nil, false
 22859  }
 22860  
 22861  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22862  func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 22863  	return nil, false
 22864  }
 22865  
 22866  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22867  func (ambea AzureMLBatchExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 22868  	return nil, false
 22869  }
 22870  
 22871  // AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22872  func (ambea AzureMLBatchExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 22873  	return nil, false
 22874  }
 22875  
 22876  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22877  func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 22878  	return nil, false
 22879  }
 22880  
 22881  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22882  func (ambea AzureMLBatchExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 22883  	return nil, false
 22884  }
 22885  
 22886  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22887  func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 22888  	return nil, false
 22889  }
 22890  
 22891  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22892  func (ambea AzureMLBatchExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 22893  	return &ambea, true
 22894  }
 22895  
 22896  // AsGetMetadataActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22897  func (ambea AzureMLBatchExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 22898  	return nil, false
 22899  }
 22900  
 22901  // AsWebActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22902  func (ambea AzureMLBatchExecutionActivity) AsWebActivity() (*WebActivity, bool) {
 22903  	return nil, false
 22904  }
 22905  
 22906  // AsLookupActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22907  func (ambea AzureMLBatchExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
 22908  	return nil, false
 22909  }
 22910  
 22911  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22912  func (ambea AzureMLBatchExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 22913  	return nil, false
 22914  }
 22915  
 22916  // AsDeleteActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22917  func (ambea AzureMLBatchExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 22918  	return nil, false
 22919  }
 22920  
 22921  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22922  func (ambea AzureMLBatchExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 22923  	return nil, false
 22924  }
 22925  
 22926  // AsCustomActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22927  func (ambea AzureMLBatchExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
 22928  	return nil, false
 22929  }
 22930  
 22931  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22932  func (ambea AzureMLBatchExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 22933  	return nil, false
 22934  }
 22935  
 22936  // AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22937  func (ambea AzureMLBatchExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 22938  	return nil, false
 22939  }
 22940  
 22941  // AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22942  func (ambea AzureMLBatchExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 22943  	return nil, false
 22944  }
 22945  
 22946  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22947  func (ambea AzureMLBatchExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 22948  	return nil, false
 22949  }
 22950  
 22951  // AsHDInsightPigActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22952  func (ambea AzureMLBatchExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 22953  	return nil, false
 22954  }
 22955  
 22956  // AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22957  func (ambea AzureMLBatchExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 22958  	return nil, false
 22959  }
 22960  
 22961  // AsCopyActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22962  func (ambea AzureMLBatchExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
 22963  	return nil, false
 22964  }
 22965  
 22966  // AsExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22967  func (ambea AzureMLBatchExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 22968  	return nil, false
 22969  }
 22970  
 22971  // AsBasicExecutionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22972  func (ambea AzureMLBatchExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 22973  	return &ambea, true
 22974  }
 22975  
 22976  // AsWebHookActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22977  func (ambea AzureMLBatchExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 22978  	return nil, false
 22979  }
 22980  
 22981  // AsAppendVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22982  func (ambea AzureMLBatchExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 22983  	return nil, false
 22984  }
 22985  
 22986  // AsSetVariableActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22987  func (ambea AzureMLBatchExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 22988  	return nil, false
 22989  }
 22990  
 22991  // AsFilterActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22992  func (ambea AzureMLBatchExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
 22993  	return nil, false
 22994  }
 22995  
 22996  // AsValidationActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 22997  func (ambea AzureMLBatchExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) {
 22998  	return nil, false
 22999  }
 23000  
 23001  // AsUntilActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23002  func (ambea AzureMLBatchExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
 23003  	return nil, false
 23004  }
 23005  
 23006  // AsWaitActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23007  func (ambea AzureMLBatchExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
 23008  	return nil, false
 23009  }
 23010  
 23011  // AsForEachActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23012  func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
 23013  	return nil, false
 23014  }
 23015  
 23016  // AsSwitchActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23017  func (ambea AzureMLBatchExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 23018  	return nil, false
 23019  }
 23020  
 23021  // AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23022  func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 23023  	return nil, false
 23024  }
 23025  
 23026  // AsExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23027  func (ambea AzureMLBatchExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 23028  	return nil, false
 23029  }
 23030  
 23031  // AsControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23032  func (ambea AzureMLBatchExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
 23033  	return nil, false
 23034  }
 23035  
 23036  // AsBasicControlActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23037  func (ambea AzureMLBatchExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 23038  	return nil, false
 23039  }
 23040  
 23041  // AsActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23042  func (ambea AzureMLBatchExecutionActivity) AsActivity() (*Activity, bool) {
 23043  	return nil, false
 23044  }
 23045  
 23046  // AsBasicActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity.
 23047  func (ambea AzureMLBatchExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
 23048  	return &ambea, true
 23049  }
 23050  
 23051  // UnmarshalJSON is the custom unmarshaler for AzureMLBatchExecutionActivity struct.
 23052  func (ambea *AzureMLBatchExecutionActivity) UnmarshalJSON(body []byte) error {
 23053  	var m map[string]*json.RawMessage
 23054  	err := json.Unmarshal(body, &m)
 23055  	if err != nil {
 23056  		return err
 23057  	}
 23058  	for k, v := range m {
 23059  		switch k {
 23060  		case "typeProperties":
 23061  			if v != nil {
 23062  				var azureMLBatchExecutionActivityTypeProperties AzureMLBatchExecutionActivityTypeProperties
 23063  				err = json.Unmarshal(*v, &azureMLBatchExecutionActivityTypeProperties)
 23064  				if err != nil {
 23065  					return err
 23066  				}
 23067  				ambea.AzureMLBatchExecutionActivityTypeProperties = &azureMLBatchExecutionActivityTypeProperties
 23068  			}
 23069  		case "linkedServiceName":
 23070  			if v != nil {
 23071  				var linkedServiceName LinkedServiceReference
 23072  				err = json.Unmarshal(*v, &linkedServiceName)
 23073  				if err != nil {
 23074  					return err
 23075  				}
 23076  				ambea.LinkedServiceName = &linkedServiceName
 23077  			}
 23078  		case "policy":
 23079  			if v != nil {
 23080  				var policy ActivityPolicy
 23081  				err = json.Unmarshal(*v, &policy)
 23082  				if err != nil {
 23083  					return err
 23084  				}
 23085  				ambea.Policy = &policy
 23086  			}
 23087  		default:
 23088  			if v != nil {
 23089  				var additionalProperties interface{}
 23090  				err = json.Unmarshal(*v, &additionalProperties)
 23091  				if err != nil {
 23092  					return err
 23093  				}
 23094  				if ambea.AdditionalProperties == nil {
 23095  					ambea.AdditionalProperties = make(map[string]interface{})
 23096  				}
 23097  				ambea.AdditionalProperties[k] = additionalProperties
 23098  			}
 23099  		case "name":
 23100  			if v != nil {
 23101  				var name string
 23102  				err = json.Unmarshal(*v, &name)
 23103  				if err != nil {
 23104  					return err
 23105  				}
 23106  				ambea.Name = &name
 23107  			}
 23108  		case "description":
 23109  			if v != nil {
 23110  				var description string
 23111  				err = json.Unmarshal(*v, &description)
 23112  				if err != nil {
 23113  					return err
 23114  				}
 23115  				ambea.Description = &description
 23116  			}
 23117  		case "dependsOn":
 23118  			if v != nil {
 23119  				var dependsOn []ActivityDependency
 23120  				err = json.Unmarshal(*v, &dependsOn)
 23121  				if err != nil {
 23122  					return err
 23123  				}
 23124  				ambea.DependsOn = &dependsOn
 23125  			}
 23126  		case "userProperties":
 23127  			if v != nil {
 23128  				var userProperties []UserProperty
 23129  				err = json.Unmarshal(*v, &userProperties)
 23130  				if err != nil {
 23131  					return err
 23132  				}
 23133  				ambea.UserProperties = &userProperties
 23134  			}
 23135  		case "type":
 23136  			if v != nil {
 23137  				var typeVar TypeBasicActivity
 23138  				err = json.Unmarshal(*v, &typeVar)
 23139  				if err != nil {
 23140  					return err
 23141  				}
 23142  				ambea.Type = typeVar
 23143  			}
 23144  		}
 23145  	}
 23146  
 23147  	return nil
 23148  }
 23149  
 23150  // AzureMLBatchExecutionActivityTypeProperties azure ML Batch Execution activity properties.
 23151  type AzureMLBatchExecutionActivityTypeProperties struct {
 23152  	// 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.
 23153  	GlobalParameters map[string]interface{} `json:"globalParameters"`
 23154  	// 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.
 23155  	WebServiceOutputs map[string]*AzureMLWebServiceFile `json:"webServiceOutputs"`
 23156  	// 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.
 23157  	WebServiceInputs map[string]*AzureMLWebServiceFile `json:"webServiceInputs"`
 23158  }
 23159  
 23160  // MarshalJSON is the custom marshaler for AzureMLBatchExecutionActivityTypeProperties.
 23161  func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte, error) {
 23162  	objectMap := make(map[string]interface{})
 23163  	if ambeatp.GlobalParameters != nil {
 23164  		objectMap["globalParameters"] = ambeatp.GlobalParameters
 23165  	}
 23166  	if ambeatp.WebServiceOutputs != nil {
 23167  		objectMap["webServiceOutputs"] = ambeatp.WebServiceOutputs
 23168  	}
 23169  	if ambeatp.WebServiceInputs != nil {
 23170  		objectMap["webServiceInputs"] = ambeatp.WebServiceInputs
 23171  	}
 23172  	return json.Marshal(objectMap)
 23173  }
 23174  
 23175  // AzureMLExecutePipelineActivity azure ML Execute Pipeline activity.
 23176  type AzureMLExecutePipelineActivity struct {
 23177  	// AzureMLExecutePipelineActivityTypeProperties - Azure ML Execute Pipeline activity properties.
 23178  	*AzureMLExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"`
 23179  	// LinkedServiceName - Linked service reference.
 23180  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 23181  	// Policy - Activity policy.
 23182  	Policy *ActivityPolicy `json:"policy,omitempty"`
 23183  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 23184  	AdditionalProperties map[string]interface{} `json:""`
 23185  	// Name - Activity name.
 23186  	Name *string `json:"name,omitempty"`
 23187  	// Description - Activity description.
 23188  	Description *string `json:"description,omitempty"`
 23189  	// DependsOn - Activity depends on condition.
 23190  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 23191  	// UserProperties - Activity user properties.
 23192  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 23193  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 23194  	Type TypeBasicActivity `json:"type,omitempty"`
 23195  }
 23196  
 23197  // MarshalJSON is the custom marshaler for AzureMLExecutePipelineActivity.
 23198  func (amepa AzureMLExecutePipelineActivity) MarshalJSON() ([]byte, error) {
 23199  	amepa.Type = TypeAzureMLExecutePipeline
 23200  	objectMap := make(map[string]interface{})
 23201  	if amepa.AzureMLExecutePipelineActivityTypeProperties != nil {
 23202  		objectMap["typeProperties"] = amepa.AzureMLExecutePipelineActivityTypeProperties
 23203  	}
 23204  	if amepa.LinkedServiceName != nil {
 23205  		objectMap["linkedServiceName"] = amepa.LinkedServiceName
 23206  	}
 23207  	if amepa.Policy != nil {
 23208  		objectMap["policy"] = amepa.Policy
 23209  	}
 23210  	if amepa.Name != nil {
 23211  		objectMap["name"] = amepa.Name
 23212  	}
 23213  	if amepa.Description != nil {
 23214  		objectMap["description"] = amepa.Description
 23215  	}
 23216  	if amepa.DependsOn != nil {
 23217  		objectMap["dependsOn"] = amepa.DependsOn
 23218  	}
 23219  	if amepa.UserProperties != nil {
 23220  		objectMap["userProperties"] = amepa.UserProperties
 23221  	}
 23222  	if amepa.Type != "" {
 23223  		objectMap["type"] = amepa.Type
 23224  	}
 23225  	for k, v := range amepa.AdditionalProperties {
 23226  		objectMap[k] = v
 23227  	}
 23228  	return json.Marshal(objectMap)
 23229  }
 23230  
 23231  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23232  func (amepa AzureMLExecutePipelineActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 23233  	return nil, false
 23234  }
 23235  
 23236  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23237  func (amepa AzureMLExecutePipelineActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 23238  	return nil, false
 23239  }
 23240  
 23241  // AsSynapseNotebookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23242  func (amepa AzureMLExecutePipelineActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 23243  	return nil, false
 23244  }
 23245  
 23246  // AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23247  func (amepa AzureMLExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 23248  	return nil, false
 23249  }
 23250  
 23251  // AsAzureFunctionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23252  func (amepa AzureMLExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 23253  	return nil, false
 23254  }
 23255  
 23256  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23257  func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 23258  	return nil, false
 23259  }
 23260  
 23261  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23262  func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 23263  	return nil, false
 23264  }
 23265  
 23266  // AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23267  func (amepa AzureMLExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 23268  	return nil, false
 23269  }
 23270  
 23271  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23272  func (amepa AzureMLExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 23273  	return nil, false
 23274  }
 23275  
 23276  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23277  func (amepa AzureMLExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 23278  	return &amepa, true
 23279  }
 23280  
 23281  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23282  func (amepa AzureMLExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 23283  	return nil, false
 23284  }
 23285  
 23286  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23287  func (amepa AzureMLExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 23288  	return nil, false
 23289  }
 23290  
 23291  // AsGetMetadataActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23292  func (amepa AzureMLExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 23293  	return nil, false
 23294  }
 23295  
 23296  // AsWebActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23297  func (amepa AzureMLExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) {
 23298  	return nil, false
 23299  }
 23300  
 23301  // AsLookupActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23302  func (amepa AzureMLExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) {
 23303  	return nil, false
 23304  }
 23305  
 23306  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23307  func (amepa AzureMLExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 23308  	return nil, false
 23309  }
 23310  
 23311  // AsDeleteActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23312  func (amepa AzureMLExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 23313  	return nil, false
 23314  }
 23315  
 23316  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23317  func (amepa AzureMLExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 23318  	return nil, false
 23319  }
 23320  
 23321  // AsCustomActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23322  func (amepa AzureMLExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) {
 23323  	return nil, false
 23324  }
 23325  
 23326  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23327  func (amepa AzureMLExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 23328  	return nil, false
 23329  }
 23330  
 23331  // AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23332  func (amepa AzureMLExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 23333  	return nil, false
 23334  }
 23335  
 23336  // AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23337  func (amepa AzureMLExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 23338  	return nil, false
 23339  }
 23340  
 23341  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23342  func (amepa AzureMLExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 23343  	return nil, false
 23344  }
 23345  
 23346  // AsHDInsightPigActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23347  func (amepa AzureMLExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 23348  	return nil, false
 23349  }
 23350  
 23351  // AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23352  func (amepa AzureMLExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 23353  	return nil, false
 23354  }
 23355  
 23356  // AsCopyActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23357  func (amepa AzureMLExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) {
 23358  	return nil, false
 23359  }
 23360  
 23361  // AsExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23362  func (amepa AzureMLExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 23363  	return nil, false
 23364  }
 23365  
 23366  // AsBasicExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23367  func (amepa AzureMLExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 23368  	return &amepa, true
 23369  }
 23370  
 23371  // AsWebHookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23372  func (amepa AzureMLExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 23373  	return nil, false
 23374  }
 23375  
 23376  // AsAppendVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23377  func (amepa AzureMLExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 23378  	return nil, false
 23379  }
 23380  
 23381  // AsSetVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23382  func (amepa AzureMLExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 23383  	return nil, false
 23384  }
 23385  
 23386  // AsFilterActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23387  func (amepa AzureMLExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) {
 23388  	return nil, false
 23389  }
 23390  
 23391  // AsValidationActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23392  func (amepa AzureMLExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) {
 23393  	return nil, false
 23394  }
 23395  
 23396  // AsUntilActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23397  func (amepa AzureMLExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) {
 23398  	return nil, false
 23399  }
 23400  
 23401  // AsWaitActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23402  func (amepa AzureMLExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) {
 23403  	return nil, false
 23404  }
 23405  
 23406  // AsForEachActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23407  func (amepa AzureMLExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) {
 23408  	return nil, false
 23409  }
 23410  
 23411  // AsSwitchActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23412  func (amepa AzureMLExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 23413  	return nil, false
 23414  }
 23415  
 23416  // AsIfConditionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23417  func (amepa AzureMLExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 23418  	return nil, false
 23419  }
 23420  
 23421  // AsExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23422  func (amepa AzureMLExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 23423  	return nil, false
 23424  }
 23425  
 23426  // AsControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23427  func (amepa AzureMLExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) {
 23428  	return nil, false
 23429  }
 23430  
 23431  // AsBasicControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23432  func (amepa AzureMLExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 23433  	return nil, false
 23434  }
 23435  
 23436  // AsActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23437  func (amepa AzureMLExecutePipelineActivity) AsActivity() (*Activity, bool) {
 23438  	return nil, false
 23439  }
 23440  
 23441  // AsBasicActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity.
 23442  func (amepa AzureMLExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) {
 23443  	return &amepa, true
 23444  }
 23445  
 23446  // UnmarshalJSON is the custom unmarshaler for AzureMLExecutePipelineActivity struct.
 23447  func (amepa *AzureMLExecutePipelineActivity) UnmarshalJSON(body []byte) error {
 23448  	var m map[string]*json.RawMessage
 23449  	err := json.Unmarshal(body, &m)
 23450  	if err != nil {
 23451  		return err
 23452  	}
 23453  	for k, v := range m {
 23454  		switch k {
 23455  		case "typeProperties":
 23456  			if v != nil {
 23457  				var azureMLExecutePipelineActivityTypeProperties AzureMLExecutePipelineActivityTypeProperties
 23458  				err = json.Unmarshal(*v, &azureMLExecutePipelineActivityTypeProperties)
 23459  				if err != nil {
 23460  					return err
 23461  				}
 23462  				amepa.AzureMLExecutePipelineActivityTypeProperties = &azureMLExecutePipelineActivityTypeProperties
 23463  			}
 23464  		case "linkedServiceName":
 23465  			if v != nil {
 23466  				var linkedServiceName LinkedServiceReference
 23467  				err = json.Unmarshal(*v, &linkedServiceName)
 23468  				if err != nil {
 23469  					return err
 23470  				}
 23471  				amepa.LinkedServiceName = &linkedServiceName
 23472  			}
 23473  		case "policy":
 23474  			if v != nil {
 23475  				var policy ActivityPolicy
 23476  				err = json.Unmarshal(*v, &policy)
 23477  				if err != nil {
 23478  					return err
 23479  				}
 23480  				amepa.Policy = &policy
 23481  			}
 23482  		default:
 23483  			if v != nil {
 23484  				var additionalProperties interface{}
 23485  				err = json.Unmarshal(*v, &additionalProperties)
 23486  				if err != nil {
 23487  					return err
 23488  				}
 23489  				if amepa.AdditionalProperties == nil {
 23490  					amepa.AdditionalProperties = make(map[string]interface{})
 23491  				}
 23492  				amepa.AdditionalProperties[k] = additionalProperties
 23493  			}
 23494  		case "name":
 23495  			if v != nil {
 23496  				var name string
 23497  				err = json.Unmarshal(*v, &name)
 23498  				if err != nil {
 23499  					return err
 23500  				}
 23501  				amepa.Name = &name
 23502  			}
 23503  		case "description":
 23504  			if v != nil {
 23505  				var description string
 23506  				err = json.Unmarshal(*v, &description)
 23507  				if err != nil {
 23508  					return err
 23509  				}
 23510  				amepa.Description = &description
 23511  			}
 23512  		case "dependsOn":
 23513  			if v != nil {
 23514  				var dependsOn []ActivityDependency
 23515  				err = json.Unmarshal(*v, &dependsOn)
 23516  				if err != nil {
 23517  					return err
 23518  				}
 23519  				amepa.DependsOn = &dependsOn
 23520  			}
 23521  		case "userProperties":
 23522  			if v != nil {
 23523  				var userProperties []UserProperty
 23524  				err = json.Unmarshal(*v, &userProperties)
 23525  				if err != nil {
 23526  					return err
 23527  				}
 23528  				amepa.UserProperties = &userProperties
 23529  			}
 23530  		case "type":
 23531  			if v != nil {
 23532  				var typeVar TypeBasicActivity
 23533  				err = json.Unmarshal(*v, &typeVar)
 23534  				if err != nil {
 23535  					return err
 23536  				}
 23537  				amepa.Type = typeVar
 23538  			}
 23539  		}
 23540  	}
 23541  
 23542  	return nil
 23543  }
 23544  
 23545  // AzureMLExecutePipelineActivityTypeProperties azure ML Execute Pipeline activity properties.
 23546  type AzureMLExecutePipelineActivityTypeProperties struct {
 23547  	// MlPipelineID - ID of the published Azure ML pipeline. Type: string (or Expression with resultType string).
 23548  	MlPipelineID interface{} `json:"mlPipelineId,omitempty"`
 23549  	// ExperimentName - Run history experiment name of the pipeline run. This information will be passed in the ExperimentName property of the published pipeline execution request. Type: string (or Expression with resultType string).
 23550  	ExperimentName interface{} `json:"experimentName,omitempty"`
 23551  	// MlPipelineParameters - Key,Value pairs to be passed to the published Azure ML pipeline endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. Values will be passed in the ParameterAssignments property of the published pipeline execution request. Type: object with key value pairs (or Expression with resultType object).
 23552  	MlPipelineParameters interface{} `json:"mlPipelineParameters,omitempty"`
 23553  	// MlParentRunID - The parent Azure ML Service pipeline run id. This information will be passed in the ParentRunId property of the published pipeline execution request. Type: string (or Expression with resultType string).
 23554  	MlParentRunID interface{} `json:"mlParentRunId,omitempty"`
 23555  	// ContinueOnStepFailure - Whether to continue execution of other steps in the PipelineRun if a step fails. This information will be passed in the continueOnStepFailure property of the published pipeline execution request. Type: boolean (or Expression with resultType boolean).
 23556  	ContinueOnStepFailure interface{} `json:"continueOnStepFailure,omitempty"`
 23557  }
 23558  
 23559  // AzureMLLinkedService azure ML Studio Web Service linked service.
 23560  type AzureMLLinkedService struct {
 23561  	// AzureMLLinkedServiceTypeProperties - Azure ML Studio Web Service linked service properties.
 23562  	*AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 23563  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 23564  	AdditionalProperties map[string]interface{} `json:""`
 23565  	// ConnectVia - The integration runtime reference.
 23566  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 23567  	// Description - Linked service description.
 23568  	Description *string `json:"description,omitempty"`
 23569  	// Parameters - Parameters for linked service.
 23570  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 23571  	// Annotations - List of tags that can be used for describing the linked service.
 23572  	Annotations *[]interface{} `json:"annotations,omitempty"`
 23573  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 23574  	Type TypeBasicLinkedService `json:"type,omitempty"`
 23575  }
 23576  
 23577  // MarshalJSON is the custom marshaler for AzureMLLinkedService.
 23578  func (amls AzureMLLinkedService) MarshalJSON() ([]byte, error) {
 23579  	amls.Type = TypeAzureML
 23580  	objectMap := make(map[string]interface{})
 23581  	if amls.AzureMLLinkedServiceTypeProperties != nil {
 23582  		objectMap["typeProperties"] = amls.AzureMLLinkedServiceTypeProperties
 23583  	}
 23584  	if amls.ConnectVia != nil {
 23585  		objectMap["connectVia"] = amls.ConnectVia
 23586  	}
 23587  	if amls.Description != nil {
 23588  		objectMap["description"] = amls.Description
 23589  	}
 23590  	if amls.Parameters != nil {
 23591  		objectMap["parameters"] = amls.Parameters
 23592  	}
 23593  	if amls.Annotations != nil {
 23594  		objectMap["annotations"] = amls.Annotations
 23595  	}
 23596  	if amls.Type != "" {
 23597  		objectMap["type"] = amls.Type
 23598  	}
 23599  	for k, v := range amls.AdditionalProperties {
 23600  		objectMap[k] = v
 23601  	}
 23602  	return json.Marshal(objectMap)
 23603  }
 23604  
 23605  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23606  func (amls AzureMLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 23607  	return nil, false
 23608  }
 23609  
 23610  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23611  func (amls AzureMLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 23612  	return nil, false
 23613  }
 23614  
 23615  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23616  func (amls AzureMLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 23617  	return nil, false
 23618  }
 23619  
 23620  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23621  func (amls AzureMLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 23622  	return nil, false
 23623  }
 23624  
 23625  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23626  func (amls AzureMLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 23627  	return nil, false
 23628  }
 23629  
 23630  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23631  func (amls AzureMLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 23632  	return nil, false
 23633  }
 23634  
 23635  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23636  func (amls AzureMLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 23637  	return nil, false
 23638  }
 23639  
 23640  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23641  func (amls AzureMLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 23642  	return nil, false
 23643  }
 23644  
 23645  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23646  func (amls AzureMLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 23647  	return nil, false
 23648  }
 23649  
 23650  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23651  func (amls AzureMLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 23652  	return nil, false
 23653  }
 23654  
 23655  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23656  func (amls AzureMLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 23657  	return nil, false
 23658  }
 23659  
 23660  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23661  func (amls AzureMLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 23662  	return nil, false
 23663  }
 23664  
 23665  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23666  func (amls AzureMLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 23667  	return nil, false
 23668  }
 23669  
 23670  // AsZohoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23671  func (amls AzureMLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 23672  	return nil, false
 23673  }
 23674  
 23675  // AsXeroLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23676  func (amls AzureMLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 23677  	return nil, false
 23678  }
 23679  
 23680  // AsSquareLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23681  func (amls AzureMLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 23682  	return nil, false
 23683  }
 23684  
 23685  // AsSparkLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23686  func (amls AzureMLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 23687  	return nil, false
 23688  }
 23689  
 23690  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23691  func (amls AzureMLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 23692  	return nil, false
 23693  }
 23694  
 23695  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23696  func (amls AzureMLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 23697  	return nil, false
 23698  }
 23699  
 23700  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23701  func (amls AzureMLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 23702  	return nil, false
 23703  }
 23704  
 23705  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23706  func (amls AzureMLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 23707  	return nil, false
 23708  }
 23709  
 23710  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23711  func (amls AzureMLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 23712  	return nil, false
 23713  }
 23714  
 23715  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23716  func (amls AzureMLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 23717  	return nil, false
 23718  }
 23719  
 23720  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23721  func (amls AzureMLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 23722  	return nil, false
 23723  }
 23724  
 23725  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23726  func (amls AzureMLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 23727  	return nil, false
 23728  }
 23729  
 23730  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23731  func (amls AzureMLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 23732  	return nil, false
 23733  }
 23734  
 23735  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23736  func (amls AzureMLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 23737  	return nil, false
 23738  }
 23739  
 23740  // AsJiraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23741  func (amls AzureMLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 23742  	return nil, false
 23743  }
 23744  
 23745  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23746  func (amls AzureMLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 23747  	return nil, false
 23748  }
 23749  
 23750  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23751  func (amls AzureMLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 23752  	return nil, false
 23753  }
 23754  
 23755  // AsHiveLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23756  func (amls AzureMLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 23757  	return nil, false
 23758  }
 23759  
 23760  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23761  func (amls AzureMLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 23762  	return nil, false
 23763  }
 23764  
 23765  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23766  func (amls AzureMLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 23767  	return nil, false
 23768  }
 23769  
 23770  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23771  func (amls AzureMLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 23772  	return nil, false
 23773  }
 23774  
 23775  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23776  func (amls AzureMLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 23777  	return nil, false
 23778  }
 23779  
 23780  // AsDrillLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23781  func (amls AzureMLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 23782  	return nil, false
 23783  }
 23784  
 23785  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23786  func (amls AzureMLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 23787  	return nil, false
 23788  }
 23789  
 23790  // AsConcurLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23791  func (amls AzureMLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 23792  	return nil, false
 23793  }
 23794  
 23795  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23796  func (amls AzureMLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 23797  	return nil, false
 23798  }
 23799  
 23800  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23801  func (amls AzureMLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 23802  	return nil, false
 23803  }
 23804  
 23805  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23806  func (amls AzureMLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 23807  	return nil, false
 23808  }
 23809  
 23810  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23811  func (amls AzureMLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 23812  	return nil, false
 23813  }
 23814  
 23815  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23816  func (amls AzureMLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 23817  	return nil, false
 23818  }
 23819  
 23820  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23821  func (amls AzureMLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 23822  	return nil, false
 23823  }
 23824  
 23825  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23826  func (amls AzureMLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 23827  	return nil, false
 23828  }
 23829  
 23830  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23831  func (amls AzureMLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 23832  	return nil, false
 23833  }
 23834  
 23835  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23836  func (amls AzureMLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 23837  	return nil, false
 23838  }
 23839  
 23840  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23841  func (amls AzureMLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 23842  	return nil, false
 23843  }
 23844  
 23845  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23846  func (amls AzureMLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 23847  	return nil, false
 23848  }
 23849  
 23850  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23851  func (amls AzureMLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 23852  	return nil, false
 23853  }
 23854  
 23855  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23856  func (amls AzureMLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 23857  	return nil, false
 23858  }
 23859  
 23860  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23861  func (amls AzureMLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 23862  	return nil, false
 23863  }
 23864  
 23865  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23866  func (amls AzureMLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 23867  	return nil, false
 23868  }
 23869  
 23870  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23871  func (amls AzureMLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 23872  	return nil, false
 23873  }
 23874  
 23875  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23876  func (amls AzureMLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 23877  	return nil, false
 23878  }
 23879  
 23880  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23881  func (amls AzureMLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 23882  	return nil, false
 23883  }
 23884  
 23885  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23886  func (amls AzureMLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 23887  	return nil, false
 23888  }
 23889  
 23890  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23891  func (amls AzureMLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 23892  	return nil, false
 23893  }
 23894  
 23895  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23896  func (amls AzureMLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 23897  	return nil, false
 23898  }
 23899  
 23900  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23901  func (amls AzureMLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 23902  	return nil, false
 23903  }
 23904  
 23905  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23906  func (amls AzureMLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 23907  	return nil, false
 23908  }
 23909  
 23910  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23911  func (amls AzureMLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 23912  	return nil, false
 23913  }
 23914  
 23915  // AsWebLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23916  func (amls AzureMLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 23917  	return nil, false
 23918  }
 23919  
 23920  // AsODataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23921  func (amls AzureMLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 23922  	return nil, false
 23923  }
 23924  
 23925  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23926  func (amls AzureMLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 23927  	return nil, false
 23928  }
 23929  
 23930  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23931  func (amls AzureMLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 23932  	return nil, false
 23933  }
 23934  
 23935  // AsInformixLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23936  func (amls AzureMLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 23937  	return nil, false
 23938  }
 23939  
 23940  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23941  func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 23942  	return nil, false
 23943  }
 23944  
 23945  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23946  func (amls AzureMLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 23947  	return nil, false
 23948  }
 23949  
 23950  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23951  func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 23952  	return &amls, true
 23953  }
 23954  
 23955  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23956  func (amls AzureMLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 23957  	return nil, false
 23958  }
 23959  
 23960  // AsDb2LinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23961  func (amls AzureMLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 23962  	return nil, false
 23963  }
 23964  
 23965  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23966  func (amls AzureMLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 23967  	return nil, false
 23968  }
 23969  
 23970  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23971  func (amls AzureMLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 23972  	return nil, false
 23973  }
 23974  
 23975  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23976  func (amls AzureMLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 23977  	return nil, false
 23978  }
 23979  
 23980  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23981  func (amls AzureMLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 23982  	return nil, false
 23983  }
 23984  
 23985  // AsOracleLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23986  func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 23987  	return nil, false
 23988  }
 23989  
 23990  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23991  func (amls AzureMLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 23992  	return nil, false
 23993  }
 23994  
 23995  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 23996  func (amls AzureMLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 23997  	return nil, false
 23998  }
 23999  
 24000  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24001  func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 24002  	return nil, false
 24003  }
 24004  
 24005  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24006  func (amls AzureMLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 24007  	return nil, false
 24008  }
 24009  
 24010  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24011  func (amls AzureMLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 24012  	return nil, false
 24013  }
 24014  
 24015  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24016  func (amls AzureMLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 24017  	return nil, false
 24018  }
 24019  
 24020  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24021  func (amls AzureMLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 24022  	return nil, false
 24023  }
 24024  
 24025  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24026  func (amls AzureMLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 24027  	return nil, false
 24028  }
 24029  
 24030  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24031  func (amls AzureMLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 24032  	return nil, false
 24033  }
 24034  
 24035  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24036  func (amls AzureMLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 24037  	return nil, false
 24038  }
 24039  
 24040  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24041  func (amls AzureMLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 24042  	return nil, false
 24043  }
 24044  
 24045  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24046  func (amls AzureMLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 24047  	return nil, false
 24048  }
 24049  
 24050  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24051  func (amls AzureMLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 24052  	return nil, false
 24053  }
 24054  
 24055  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24056  func (amls AzureMLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 24057  	return nil, false
 24058  }
 24059  
 24060  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24061  func (amls AzureMLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 24062  	return nil, false
 24063  }
 24064  
 24065  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24066  func (amls AzureMLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 24067  	return nil, false
 24068  }
 24069  
 24070  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24071  func (amls AzureMLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 24072  	return nil, false
 24073  }
 24074  
 24075  // AsLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24076  func (amls AzureMLLinkedService) AsLinkedService() (*LinkedService, bool) {
 24077  	return nil, false
 24078  }
 24079  
 24080  // AsBasicLinkedService is the BasicLinkedService implementation for AzureMLLinkedService.
 24081  func (amls AzureMLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 24082  	return &amls, true
 24083  }
 24084  
 24085  // UnmarshalJSON is the custom unmarshaler for AzureMLLinkedService struct.
 24086  func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error {
 24087  	var m map[string]*json.RawMessage
 24088  	err := json.Unmarshal(body, &m)
 24089  	if err != nil {
 24090  		return err
 24091  	}
 24092  	for k, v := range m {
 24093  		switch k {
 24094  		case "typeProperties":
 24095  			if v != nil {
 24096  				var azureMLLinkedServiceTypeProperties AzureMLLinkedServiceTypeProperties
 24097  				err = json.Unmarshal(*v, &azureMLLinkedServiceTypeProperties)
 24098  				if err != nil {
 24099  					return err
 24100  				}
 24101  				amls.AzureMLLinkedServiceTypeProperties = &azureMLLinkedServiceTypeProperties
 24102  			}
 24103  		default:
 24104  			if v != nil {
 24105  				var additionalProperties interface{}
 24106  				err = json.Unmarshal(*v, &additionalProperties)
 24107  				if err != nil {
 24108  					return err
 24109  				}
 24110  				if amls.AdditionalProperties == nil {
 24111  					amls.AdditionalProperties = make(map[string]interface{})
 24112  				}
 24113  				amls.AdditionalProperties[k] = additionalProperties
 24114  			}
 24115  		case "connectVia":
 24116  			if v != nil {
 24117  				var connectVia IntegrationRuntimeReference
 24118  				err = json.Unmarshal(*v, &connectVia)
 24119  				if err != nil {
 24120  					return err
 24121  				}
 24122  				amls.ConnectVia = &connectVia
 24123  			}
 24124  		case "description":
 24125  			if v != nil {
 24126  				var description string
 24127  				err = json.Unmarshal(*v, &description)
 24128  				if err != nil {
 24129  					return err
 24130  				}
 24131  				amls.Description = &description
 24132  			}
 24133  		case "parameters":
 24134  			if v != nil {
 24135  				var parameters map[string]*ParameterSpecification
 24136  				err = json.Unmarshal(*v, &parameters)
 24137  				if err != nil {
 24138  					return err
 24139  				}
 24140  				amls.Parameters = parameters
 24141  			}
 24142  		case "annotations":
 24143  			if v != nil {
 24144  				var annotations []interface{}
 24145  				err = json.Unmarshal(*v, &annotations)
 24146  				if err != nil {
 24147  					return err
 24148  				}
 24149  				amls.Annotations = &annotations
 24150  			}
 24151  		case "type":
 24152  			if v != nil {
 24153  				var typeVar TypeBasicLinkedService
 24154  				err = json.Unmarshal(*v, &typeVar)
 24155  				if err != nil {
 24156  					return err
 24157  				}
 24158  				amls.Type = typeVar
 24159  			}
 24160  		}
 24161  	}
 24162  
 24163  	return nil
 24164  }
 24165  
 24166  // AzureMLLinkedServiceTypeProperties azure ML Studio Web Service linked service properties.
 24167  type AzureMLLinkedServiceTypeProperties struct {
 24168  	// MlEndpoint - The Batch Execution REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string).
 24169  	MlEndpoint interface{} `json:"mlEndpoint,omitempty"`
 24170  	// APIKey - The API key for accessing the Azure ML model endpoint.
 24171  	APIKey BasicSecretBase `json:"apiKey,omitempty"`
 24172  	// UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string).
 24173  	UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"`
 24174  	// ServicePrincipalID - The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression with resultType string).
 24175  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 24176  	// ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service.
 24177  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 24178  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 24179  	Tenant interface{} `json:"tenant,omitempty"`
 24180  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 24181  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 24182  }
 24183  
 24184  // UnmarshalJSON is the custom unmarshaler for AzureMLLinkedServiceTypeProperties struct.
 24185  func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 24186  	var m map[string]*json.RawMessage
 24187  	err := json.Unmarshal(body, &m)
 24188  	if err != nil {
 24189  		return err
 24190  	}
 24191  	for k, v := range m {
 24192  		switch k {
 24193  		case "mlEndpoint":
 24194  			if v != nil {
 24195  				var mlEndpoint interface{}
 24196  				err = json.Unmarshal(*v, &mlEndpoint)
 24197  				if err != nil {
 24198  					return err
 24199  				}
 24200  				amlstp.MlEndpoint = mlEndpoint
 24201  			}
 24202  		case "apiKey":
 24203  			if v != nil {
 24204  				APIKey, err := unmarshalBasicSecretBase(*v)
 24205  				if err != nil {
 24206  					return err
 24207  				}
 24208  				amlstp.APIKey = APIKey
 24209  			}
 24210  		case "updateResourceEndpoint":
 24211  			if v != nil {
 24212  				var updateResourceEndpoint interface{}
 24213  				err = json.Unmarshal(*v, &updateResourceEndpoint)
 24214  				if err != nil {
 24215  					return err
 24216  				}
 24217  				amlstp.UpdateResourceEndpoint = updateResourceEndpoint
 24218  			}
 24219  		case "servicePrincipalId":
 24220  			if v != nil {
 24221  				var servicePrincipalID interface{}
 24222  				err = json.Unmarshal(*v, &servicePrincipalID)
 24223  				if err != nil {
 24224  					return err
 24225  				}
 24226  				amlstp.ServicePrincipalID = servicePrincipalID
 24227  			}
 24228  		case "servicePrincipalKey":
 24229  			if v != nil {
 24230  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 24231  				if err != nil {
 24232  					return err
 24233  				}
 24234  				amlstp.ServicePrincipalKey = servicePrincipalKey
 24235  			}
 24236  		case "tenant":
 24237  			if v != nil {
 24238  				var tenant interface{}
 24239  				err = json.Unmarshal(*v, &tenant)
 24240  				if err != nil {
 24241  					return err
 24242  				}
 24243  				amlstp.Tenant = tenant
 24244  			}
 24245  		case "encryptedCredential":
 24246  			if v != nil {
 24247  				var encryptedCredential interface{}
 24248  				err = json.Unmarshal(*v, &encryptedCredential)
 24249  				if err != nil {
 24250  					return err
 24251  				}
 24252  				amlstp.EncryptedCredential = encryptedCredential
 24253  			}
 24254  		}
 24255  	}
 24256  
 24257  	return nil
 24258  }
 24259  
 24260  // AzureMLServiceLinkedService azure ML Service linked service.
 24261  type AzureMLServiceLinkedService struct {
 24262  	// AzureMLServiceLinkedServiceTypeProperties - Azure ML Service linked service properties.
 24263  	*AzureMLServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 24264  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 24265  	AdditionalProperties map[string]interface{} `json:""`
 24266  	// ConnectVia - The integration runtime reference.
 24267  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 24268  	// Description - Linked service description.
 24269  	Description *string `json:"description,omitempty"`
 24270  	// Parameters - Parameters for linked service.
 24271  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 24272  	// Annotations - List of tags that can be used for describing the linked service.
 24273  	Annotations *[]interface{} `json:"annotations,omitempty"`
 24274  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 24275  	Type TypeBasicLinkedService `json:"type,omitempty"`
 24276  }
 24277  
 24278  // MarshalJSON is the custom marshaler for AzureMLServiceLinkedService.
 24279  func (amsls AzureMLServiceLinkedService) MarshalJSON() ([]byte, error) {
 24280  	amsls.Type = TypeAzureMLService
 24281  	objectMap := make(map[string]interface{})
 24282  	if amsls.AzureMLServiceLinkedServiceTypeProperties != nil {
 24283  		objectMap["typeProperties"] = amsls.AzureMLServiceLinkedServiceTypeProperties
 24284  	}
 24285  	if amsls.ConnectVia != nil {
 24286  		objectMap["connectVia"] = amsls.ConnectVia
 24287  	}
 24288  	if amsls.Description != nil {
 24289  		objectMap["description"] = amsls.Description
 24290  	}
 24291  	if amsls.Parameters != nil {
 24292  		objectMap["parameters"] = amsls.Parameters
 24293  	}
 24294  	if amsls.Annotations != nil {
 24295  		objectMap["annotations"] = amsls.Annotations
 24296  	}
 24297  	if amsls.Type != "" {
 24298  		objectMap["type"] = amsls.Type
 24299  	}
 24300  	for k, v := range amsls.AdditionalProperties {
 24301  		objectMap[k] = v
 24302  	}
 24303  	return json.Marshal(objectMap)
 24304  }
 24305  
 24306  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24307  func (amsls AzureMLServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 24308  	return nil, false
 24309  }
 24310  
 24311  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24312  func (amsls AzureMLServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 24313  	return nil, false
 24314  }
 24315  
 24316  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24317  func (amsls AzureMLServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 24318  	return nil, false
 24319  }
 24320  
 24321  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24322  func (amsls AzureMLServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 24323  	return nil, false
 24324  }
 24325  
 24326  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24327  func (amsls AzureMLServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 24328  	return nil, false
 24329  }
 24330  
 24331  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24332  func (amsls AzureMLServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 24333  	return nil, false
 24334  }
 24335  
 24336  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24337  func (amsls AzureMLServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 24338  	return nil, false
 24339  }
 24340  
 24341  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24342  func (amsls AzureMLServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 24343  	return nil, false
 24344  }
 24345  
 24346  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24347  func (amsls AzureMLServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 24348  	return nil, false
 24349  }
 24350  
 24351  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24352  func (amsls AzureMLServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 24353  	return nil, false
 24354  }
 24355  
 24356  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24357  func (amsls AzureMLServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 24358  	return nil, false
 24359  }
 24360  
 24361  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24362  func (amsls AzureMLServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 24363  	return nil, false
 24364  }
 24365  
 24366  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24367  func (amsls AzureMLServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 24368  	return nil, false
 24369  }
 24370  
 24371  // AsZohoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24372  func (amsls AzureMLServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 24373  	return nil, false
 24374  }
 24375  
 24376  // AsXeroLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24377  func (amsls AzureMLServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 24378  	return nil, false
 24379  }
 24380  
 24381  // AsSquareLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24382  func (amsls AzureMLServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 24383  	return nil, false
 24384  }
 24385  
 24386  // AsSparkLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24387  func (amsls AzureMLServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 24388  	return nil, false
 24389  }
 24390  
 24391  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24392  func (amsls AzureMLServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 24393  	return nil, false
 24394  }
 24395  
 24396  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24397  func (amsls AzureMLServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 24398  	return nil, false
 24399  }
 24400  
 24401  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24402  func (amsls AzureMLServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 24403  	return nil, false
 24404  }
 24405  
 24406  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24407  func (amsls AzureMLServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 24408  	return nil, false
 24409  }
 24410  
 24411  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24412  func (amsls AzureMLServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 24413  	return nil, false
 24414  }
 24415  
 24416  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24417  func (amsls AzureMLServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 24418  	return nil, false
 24419  }
 24420  
 24421  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24422  func (amsls AzureMLServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 24423  	return nil, false
 24424  }
 24425  
 24426  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24427  func (amsls AzureMLServiceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 24428  	return nil, false
 24429  }
 24430  
 24431  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24432  func (amsls AzureMLServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 24433  	return nil, false
 24434  }
 24435  
 24436  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24437  func (amsls AzureMLServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 24438  	return nil, false
 24439  }
 24440  
 24441  // AsJiraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24442  func (amsls AzureMLServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 24443  	return nil, false
 24444  }
 24445  
 24446  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24447  func (amsls AzureMLServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 24448  	return nil, false
 24449  }
 24450  
 24451  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24452  func (amsls AzureMLServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 24453  	return nil, false
 24454  }
 24455  
 24456  // AsHiveLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24457  func (amsls AzureMLServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 24458  	return nil, false
 24459  }
 24460  
 24461  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24462  func (amsls AzureMLServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 24463  	return nil, false
 24464  }
 24465  
 24466  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24467  func (amsls AzureMLServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 24468  	return nil, false
 24469  }
 24470  
 24471  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24472  func (amsls AzureMLServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 24473  	return nil, false
 24474  }
 24475  
 24476  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24477  func (amsls AzureMLServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 24478  	return nil, false
 24479  }
 24480  
 24481  // AsDrillLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24482  func (amsls AzureMLServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 24483  	return nil, false
 24484  }
 24485  
 24486  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24487  func (amsls AzureMLServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 24488  	return nil, false
 24489  }
 24490  
 24491  // AsConcurLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24492  func (amsls AzureMLServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 24493  	return nil, false
 24494  }
 24495  
 24496  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24497  func (amsls AzureMLServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 24498  	return nil, false
 24499  }
 24500  
 24501  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24502  func (amsls AzureMLServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 24503  	return nil, false
 24504  }
 24505  
 24506  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24507  func (amsls AzureMLServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 24508  	return nil, false
 24509  }
 24510  
 24511  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24512  func (amsls AzureMLServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 24513  	return nil, false
 24514  }
 24515  
 24516  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24517  func (amsls AzureMLServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 24518  	return nil, false
 24519  }
 24520  
 24521  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24522  func (amsls AzureMLServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 24523  	return nil, false
 24524  }
 24525  
 24526  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24527  func (amsls AzureMLServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 24528  	return nil, false
 24529  }
 24530  
 24531  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24532  func (amsls AzureMLServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 24533  	return nil, false
 24534  }
 24535  
 24536  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24537  func (amsls AzureMLServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 24538  	return nil, false
 24539  }
 24540  
 24541  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24542  func (amsls AzureMLServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 24543  	return nil, false
 24544  }
 24545  
 24546  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24547  func (amsls AzureMLServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 24548  	return nil, false
 24549  }
 24550  
 24551  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24552  func (amsls AzureMLServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 24553  	return nil, false
 24554  }
 24555  
 24556  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24557  func (amsls AzureMLServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 24558  	return nil, false
 24559  }
 24560  
 24561  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24562  func (amsls AzureMLServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 24563  	return nil, false
 24564  }
 24565  
 24566  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24567  func (amsls AzureMLServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 24568  	return nil, false
 24569  }
 24570  
 24571  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24572  func (amsls AzureMLServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 24573  	return nil, false
 24574  }
 24575  
 24576  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24577  func (amsls AzureMLServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 24578  	return nil, false
 24579  }
 24580  
 24581  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24582  func (amsls AzureMLServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 24583  	return nil, false
 24584  }
 24585  
 24586  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24587  func (amsls AzureMLServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 24588  	return nil, false
 24589  }
 24590  
 24591  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24592  func (amsls AzureMLServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 24593  	return nil, false
 24594  }
 24595  
 24596  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24597  func (amsls AzureMLServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 24598  	return nil, false
 24599  }
 24600  
 24601  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24602  func (amsls AzureMLServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 24603  	return nil, false
 24604  }
 24605  
 24606  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24607  func (amsls AzureMLServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 24608  	return nil, false
 24609  }
 24610  
 24611  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24612  func (amsls AzureMLServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 24613  	return nil, false
 24614  }
 24615  
 24616  // AsWebLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24617  func (amsls AzureMLServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 24618  	return nil, false
 24619  }
 24620  
 24621  // AsODataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24622  func (amsls AzureMLServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 24623  	return nil, false
 24624  }
 24625  
 24626  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24627  func (amsls AzureMLServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 24628  	return nil, false
 24629  }
 24630  
 24631  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24632  func (amsls AzureMLServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 24633  	return nil, false
 24634  }
 24635  
 24636  // AsInformixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24637  func (amsls AzureMLServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 24638  	return nil, false
 24639  }
 24640  
 24641  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24642  func (amsls AzureMLServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 24643  	return nil, false
 24644  }
 24645  
 24646  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24647  func (amsls AzureMLServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 24648  	return &amsls, true
 24649  }
 24650  
 24651  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24652  func (amsls AzureMLServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 24653  	return nil, false
 24654  }
 24655  
 24656  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24657  func (amsls AzureMLServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 24658  	return nil, false
 24659  }
 24660  
 24661  // AsDb2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24662  func (amsls AzureMLServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 24663  	return nil, false
 24664  }
 24665  
 24666  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24667  func (amsls AzureMLServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 24668  	return nil, false
 24669  }
 24670  
 24671  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24672  func (amsls AzureMLServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 24673  	return nil, false
 24674  }
 24675  
 24676  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24677  func (amsls AzureMLServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 24678  	return nil, false
 24679  }
 24680  
 24681  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24682  func (amsls AzureMLServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 24683  	return nil, false
 24684  }
 24685  
 24686  // AsOracleLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24687  func (amsls AzureMLServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 24688  	return nil, false
 24689  }
 24690  
 24691  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24692  func (amsls AzureMLServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 24693  	return nil, false
 24694  }
 24695  
 24696  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24697  func (amsls AzureMLServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 24698  	return nil, false
 24699  }
 24700  
 24701  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24702  func (amsls AzureMLServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 24703  	return nil, false
 24704  }
 24705  
 24706  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24707  func (amsls AzureMLServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 24708  	return nil, false
 24709  }
 24710  
 24711  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24712  func (amsls AzureMLServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 24713  	return nil, false
 24714  }
 24715  
 24716  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24717  func (amsls AzureMLServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 24718  	return nil, false
 24719  }
 24720  
 24721  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24722  func (amsls AzureMLServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 24723  	return nil, false
 24724  }
 24725  
 24726  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24727  func (amsls AzureMLServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 24728  	return nil, false
 24729  }
 24730  
 24731  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24732  func (amsls AzureMLServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 24733  	return nil, false
 24734  }
 24735  
 24736  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24737  func (amsls AzureMLServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 24738  	return nil, false
 24739  }
 24740  
 24741  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24742  func (amsls AzureMLServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 24743  	return nil, false
 24744  }
 24745  
 24746  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24747  func (amsls AzureMLServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 24748  	return nil, false
 24749  }
 24750  
 24751  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24752  func (amsls AzureMLServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 24753  	return nil, false
 24754  }
 24755  
 24756  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24757  func (amsls AzureMLServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 24758  	return nil, false
 24759  }
 24760  
 24761  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24762  func (amsls AzureMLServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 24763  	return nil, false
 24764  }
 24765  
 24766  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24767  func (amsls AzureMLServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 24768  	return nil, false
 24769  }
 24770  
 24771  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24772  func (amsls AzureMLServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 24773  	return nil, false
 24774  }
 24775  
 24776  // AsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24777  func (amsls AzureMLServiceLinkedService) AsLinkedService() (*LinkedService, bool) {
 24778  	return nil, false
 24779  }
 24780  
 24781  // AsBasicLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService.
 24782  func (amsls AzureMLServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 24783  	return &amsls, true
 24784  }
 24785  
 24786  // UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedService struct.
 24787  func (amsls *AzureMLServiceLinkedService) UnmarshalJSON(body []byte) error {
 24788  	var m map[string]*json.RawMessage
 24789  	err := json.Unmarshal(body, &m)
 24790  	if err != nil {
 24791  		return err
 24792  	}
 24793  	for k, v := range m {
 24794  		switch k {
 24795  		case "typeProperties":
 24796  			if v != nil {
 24797  				var azureMLServiceLinkedServiceTypeProperties AzureMLServiceLinkedServiceTypeProperties
 24798  				err = json.Unmarshal(*v, &azureMLServiceLinkedServiceTypeProperties)
 24799  				if err != nil {
 24800  					return err
 24801  				}
 24802  				amsls.AzureMLServiceLinkedServiceTypeProperties = &azureMLServiceLinkedServiceTypeProperties
 24803  			}
 24804  		default:
 24805  			if v != nil {
 24806  				var additionalProperties interface{}
 24807  				err = json.Unmarshal(*v, &additionalProperties)
 24808  				if err != nil {
 24809  					return err
 24810  				}
 24811  				if amsls.AdditionalProperties == nil {
 24812  					amsls.AdditionalProperties = make(map[string]interface{})
 24813  				}
 24814  				amsls.AdditionalProperties[k] = additionalProperties
 24815  			}
 24816  		case "connectVia":
 24817  			if v != nil {
 24818  				var connectVia IntegrationRuntimeReference
 24819  				err = json.Unmarshal(*v, &connectVia)
 24820  				if err != nil {
 24821  					return err
 24822  				}
 24823  				amsls.ConnectVia = &connectVia
 24824  			}
 24825  		case "description":
 24826  			if v != nil {
 24827  				var description string
 24828  				err = json.Unmarshal(*v, &description)
 24829  				if err != nil {
 24830  					return err
 24831  				}
 24832  				amsls.Description = &description
 24833  			}
 24834  		case "parameters":
 24835  			if v != nil {
 24836  				var parameters map[string]*ParameterSpecification
 24837  				err = json.Unmarshal(*v, &parameters)
 24838  				if err != nil {
 24839  					return err
 24840  				}
 24841  				amsls.Parameters = parameters
 24842  			}
 24843  		case "annotations":
 24844  			if v != nil {
 24845  				var annotations []interface{}
 24846  				err = json.Unmarshal(*v, &annotations)
 24847  				if err != nil {
 24848  					return err
 24849  				}
 24850  				amsls.Annotations = &annotations
 24851  			}
 24852  		case "type":
 24853  			if v != nil {
 24854  				var typeVar TypeBasicLinkedService
 24855  				err = json.Unmarshal(*v, &typeVar)
 24856  				if err != nil {
 24857  					return err
 24858  				}
 24859  				amsls.Type = typeVar
 24860  			}
 24861  		}
 24862  	}
 24863  
 24864  	return nil
 24865  }
 24866  
 24867  // AzureMLServiceLinkedServiceTypeProperties azure ML Service linked service properties.
 24868  type AzureMLServiceLinkedServiceTypeProperties struct {
 24869  	// SubscriptionID - Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string).
 24870  	SubscriptionID interface{} `json:"subscriptionId,omitempty"`
 24871  	// ResourceGroupName - Azure ML Service workspace resource group name. Type: string (or Expression with resultType string).
 24872  	ResourceGroupName interface{} `json:"resourceGroupName,omitempty"`
 24873  	// MlWorkspaceName - Azure ML Service workspace name. Type: string (or Expression with resultType string).
 24874  	MlWorkspaceName interface{} `json:"mlWorkspaceName,omitempty"`
 24875  	// ServicePrincipalID - The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string).
 24876  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 24877  	// ServicePrincipalKey - The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline.
 24878  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 24879  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 24880  	Tenant interface{} `json:"tenant,omitempty"`
 24881  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 24882  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 24883  }
 24884  
 24885  // UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedServiceTypeProperties struct.
 24886  func (amslstp *AzureMLServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 24887  	var m map[string]*json.RawMessage
 24888  	err := json.Unmarshal(body, &m)
 24889  	if err != nil {
 24890  		return err
 24891  	}
 24892  	for k, v := range m {
 24893  		switch k {
 24894  		case "subscriptionId":
 24895  			if v != nil {
 24896  				var subscriptionID interface{}
 24897  				err = json.Unmarshal(*v, &subscriptionID)
 24898  				if err != nil {
 24899  					return err
 24900  				}
 24901  				amslstp.SubscriptionID = subscriptionID
 24902  			}
 24903  		case "resourceGroupName":
 24904  			if v != nil {
 24905  				var resourceGroupName interface{}
 24906  				err = json.Unmarshal(*v, &resourceGroupName)
 24907  				if err != nil {
 24908  					return err
 24909  				}
 24910  				amslstp.ResourceGroupName = resourceGroupName
 24911  			}
 24912  		case "mlWorkspaceName":
 24913  			if v != nil {
 24914  				var mlWorkspaceName interface{}
 24915  				err = json.Unmarshal(*v, &mlWorkspaceName)
 24916  				if err != nil {
 24917  					return err
 24918  				}
 24919  				amslstp.MlWorkspaceName = mlWorkspaceName
 24920  			}
 24921  		case "servicePrincipalId":
 24922  			if v != nil {
 24923  				var servicePrincipalID interface{}
 24924  				err = json.Unmarshal(*v, &servicePrincipalID)
 24925  				if err != nil {
 24926  					return err
 24927  				}
 24928  				amslstp.ServicePrincipalID = servicePrincipalID
 24929  			}
 24930  		case "servicePrincipalKey":
 24931  			if v != nil {
 24932  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 24933  				if err != nil {
 24934  					return err
 24935  				}
 24936  				amslstp.ServicePrincipalKey = servicePrincipalKey
 24937  			}
 24938  		case "tenant":
 24939  			if v != nil {
 24940  				var tenant interface{}
 24941  				err = json.Unmarshal(*v, &tenant)
 24942  				if err != nil {
 24943  					return err
 24944  				}
 24945  				amslstp.Tenant = tenant
 24946  			}
 24947  		case "encryptedCredential":
 24948  			if v != nil {
 24949  				var encryptedCredential interface{}
 24950  				err = json.Unmarshal(*v, &encryptedCredential)
 24951  				if err != nil {
 24952  					return err
 24953  				}
 24954  				amslstp.EncryptedCredential = encryptedCredential
 24955  			}
 24956  		}
 24957  	}
 24958  
 24959  	return nil
 24960  }
 24961  
 24962  // AzureMLUpdateResourceActivity azure ML Update Resource management activity.
 24963  type AzureMLUpdateResourceActivity struct {
 24964  	// AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties.
 24965  	*AzureMLUpdateResourceActivityTypeProperties `json:"typeProperties,omitempty"`
 24966  	// LinkedServiceName - Linked service reference.
 24967  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 24968  	// Policy - Activity policy.
 24969  	Policy *ActivityPolicy `json:"policy,omitempty"`
 24970  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 24971  	AdditionalProperties map[string]interface{} `json:""`
 24972  	// Name - Activity name.
 24973  	Name *string `json:"name,omitempty"`
 24974  	// Description - Activity description.
 24975  	Description *string `json:"description,omitempty"`
 24976  	// DependsOn - Activity depends on condition.
 24977  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 24978  	// UserProperties - Activity user properties.
 24979  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 24980  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 24981  	Type TypeBasicActivity `json:"type,omitempty"`
 24982  }
 24983  
 24984  // MarshalJSON is the custom marshaler for AzureMLUpdateResourceActivity.
 24985  func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) {
 24986  	amura.Type = TypeAzureMLUpdateResource
 24987  	objectMap := make(map[string]interface{})
 24988  	if amura.AzureMLUpdateResourceActivityTypeProperties != nil {
 24989  		objectMap["typeProperties"] = amura.AzureMLUpdateResourceActivityTypeProperties
 24990  	}
 24991  	if amura.LinkedServiceName != nil {
 24992  		objectMap["linkedServiceName"] = amura.LinkedServiceName
 24993  	}
 24994  	if amura.Policy != nil {
 24995  		objectMap["policy"] = amura.Policy
 24996  	}
 24997  	if amura.Name != nil {
 24998  		objectMap["name"] = amura.Name
 24999  	}
 25000  	if amura.Description != nil {
 25001  		objectMap["description"] = amura.Description
 25002  	}
 25003  	if amura.DependsOn != nil {
 25004  		objectMap["dependsOn"] = amura.DependsOn
 25005  	}
 25006  	if amura.UserProperties != nil {
 25007  		objectMap["userProperties"] = amura.UserProperties
 25008  	}
 25009  	if amura.Type != "" {
 25010  		objectMap["type"] = amura.Type
 25011  	}
 25012  	for k, v := range amura.AdditionalProperties {
 25013  		objectMap[k] = v
 25014  	}
 25015  	return json.Marshal(objectMap)
 25016  }
 25017  
 25018  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25019  func (amura AzureMLUpdateResourceActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 25020  	return nil, false
 25021  }
 25022  
 25023  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25024  func (amura AzureMLUpdateResourceActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 25025  	return nil, false
 25026  }
 25027  
 25028  // AsSynapseNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25029  func (amura AzureMLUpdateResourceActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 25030  	return nil, false
 25031  }
 25032  
 25033  // AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25034  func (amura AzureMLUpdateResourceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 25035  	return nil, false
 25036  }
 25037  
 25038  // AsAzureFunctionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25039  func (amura AzureMLUpdateResourceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 25040  	return nil, false
 25041  }
 25042  
 25043  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25044  func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 25045  	return nil, false
 25046  }
 25047  
 25048  // AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25049  func (amura AzureMLUpdateResourceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 25050  	return nil, false
 25051  }
 25052  
 25053  // AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25054  func (amura AzureMLUpdateResourceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 25055  	return nil, false
 25056  }
 25057  
 25058  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25059  func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 25060  	return nil, false
 25061  }
 25062  
 25063  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25064  func (amura AzureMLUpdateResourceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 25065  	return nil, false
 25066  }
 25067  
 25068  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25069  func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 25070  	return &amura, true
 25071  }
 25072  
 25073  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25074  func (amura AzureMLUpdateResourceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 25075  	return nil, false
 25076  }
 25077  
 25078  // AsGetMetadataActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25079  func (amura AzureMLUpdateResourceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 25080  	return nil, false
 25081  }
 25082  
 25083  // AsWebActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25084  func (amura AzureMLUpdateResourceActivity) AsWebActivity() (*WebActivity, bool) {
 25085  	return nil, false
 25086  }
 25087  
 25088  // AsLookupActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25089  func (amura AzureMLUpdateResourceActivity) AsLookupActivity() (*LookupActivity, bool) {
 25090  	return nil, false
 25091  }
 25092  
 25093  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25094  func (amura AzureMLUpdateResourceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 25095  	return nil, false
 25096  }
 25097  
 25098  // AsDeleteActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25099  func (amura AzureMLUpdateResourceActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 25100  	return nil, false
 25101  }
 25102  
 25103  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25104  func (amura AzureMLUpdateResourceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 25105  	return nil, false
 25106  }
 25107  
 25108  // AsCustomActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25109  func (amura AzureMLUpdateResourceActivity) AsCustomActivity() (*CustomActivity, bool) {
 25110  	return nil, false
 25111  }
 25112  
 25113  // AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25114  func (amura AzureMLUpdateResourceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 25115  	return nil, false
 25116  }
 25117  
 25118  // AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25119  func (amura AzureMLUpdateResourceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 25120  	return nil, false
 25121  }
 25122  
 25123  // AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25124  func (amura AzureMLUpdateResourceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 25125  	return nil, false
 25126  }
 25127  
 25128  // AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25129  func (amura AzureMLUpdateResourceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 25130  	return nil, false
 25131  }
 25132  
 25133  // AsHDInsightPigActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25134  func (amura AzureMLUpdateResourceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 25135  	return nil, false
 25136  }
 25137  
 25138  // AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25139  func (amura AzureMLUpdateResourceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 25140  	return nil, false
 25141  }
 25142  
 25143  // AsCopyActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25144  func (amura AzureMLUpdateResourceActivity) AsCopyActivity() (*CopyActivity, bool) {
 25145  	return nil, false
 25146  }
 25147  
 25148  // AsExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25149  func (amura AzureMLUpdateResourceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 25150  	return nil, false
 25151  }
 25152  
 25153  // AsBasicExecutionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25154  func (amura AzureMLUpdateResourceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 25155  	return &amura, true
 25156  }
 25157  
 25158  // AsWebHookActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25159  func (amura AzureMLUpdateResourceActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 25160  	return nil, false
 25161  }
 25162  
 25163  // AsAppendVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25164  func (amura AzureMLUpdateResourceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 25165  	return nil, false
 25166  }
 25167  
 25168  // AsSetVariableActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25169  func (amura AzureMLUpdateResourceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 25170  	return nil, false
 25171  }
 25172  
 25173  // AsFilterActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25174  func (amura AzureMLUpdateResourceActivity) AsFilterActivity() (*FilterActivity, bool) {
 25175  	return nil, false
 25176  }
 25177  
 25178  // AsValidationActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25179  func (amura AzureMLUpdateResourceActivity) AsValidationActivity() (*ValidationActivity, bool) {
 25180  	return nil, false
 25181  }
 25182  
 25183  // AsUntilActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25184  func (amura AzureMLUpdateResourceActivity) AsUntilActivity() (*UntilActivity, bool) {
 25185  	return nil, false
 25186  }
 25187  
 25188  // AsWaitActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25189  func (amura AzureMLUpdateResourceActivity) AsWaitActivity() (*WaitActivity, bool) {
 25190  	return nil, false
 25191  }
 25192  
 25193  // AsForEachActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25194  func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity, bool) {
 25195  	return nil, false
 25196  }
 25197  
 25198  // AsSwitchActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25199  func (amura AzureMLUpdateResourceActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 25200  	return nil, false
 25201  }
 25202  
 25203  // AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25204  func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 25205  	return nil, false
 25206  }
 25207  
 25208  // AsExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25209  func (amura AzureMLUpdateResourceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 25210  	return nil, false
 25211  }
 25212  
 25213  // AsControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25214  func (amura AzureMLUpdateResourceActivity) AsControlActivity() (*ControlActivity, bool) {
 25215  	return nil, false
 25216  }
 25217  
 25218  // AsBasicControlActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25219  func (amura AzureMLUpdateResourceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 25220  	return nil, false
 25221  }
 25222  
 25223  // AsActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25224  func (amura AzureMLUpdateResourceActivity) AsActivity() (*Activity, bool) {
 25225  	return nil, false
 25226  }
 25227  
 25228  // AsBasicActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity.
 25229  func (amura AzureMLUpdateResourceActivity) AsBasicActivity() (BasicActivity, bool) {
 25230  	return &amura, true
 25231  }
 25232  
 25233  // UnmarshalJSON is the custom unmarshaler for AzureMLUpdateResourceActivity struct.
 25234  func (amura *AzureMLUpdateResourceActivity) UnmarshalJSON(body []byte) error {
 25235  	var m map[string]*json.RawMessage
 25236  	err := json.Unmarshal(body, &m)
 25237  	if err != nil {
 25238  		return err
 25239  	}
 25240  	for k, v := range m {
 25241  		switch k {
 25242  		case "typeProperties":
 25243  			if v != nil {
 25244  				var azureMLUpdateResourceActivityTypeProperties AzureMLUpdateResourceActivityTypeProperties
 25245  				err = json.Unmarshal(*v, &azureMLUpdateResourceActivityTypeProperties)
 25246  				if err != nil {
 25247  					return err
 25248  				}
 25249  				amura.AzureMLUpdateResourceActivityTypeProperties = &azureMLUpdateResourceActivityTypeProperties
 25250  			}
 25251  		case "linkedServiceName":
 25252  			if v != nil {
 25253  				var linkedServiceName LinkedServiceReference
 25254  				err = json.Unmarshal(*v, &linkedServiceName)
 25255  				if err != nil {
 25256  					return err
 25257  				}
 25258  				amura.LinkedServiceName = &linkedServiceName
 25259  			}
 25260  		case "policy":
 25261  			if v != nil {
 25262  				var policy ActivityPolicy
 25263  				err = json.Unmarshal(*v, &policy)
 25264  				if err != nil {
 25265  					return err
 25266  				}
 25267  				amura.Policy = &policy
 25268  			}
 25269  		default:
 25270  			if v != nil {
 25271  				var additionalProperties interface{}
 25272  				err = json.Unmarshal(*v, &additionalProperties)
 25273  				if err != nil {
 25274  					return err
 25275  				}
 25276  				if amura.AdditionalProperties == nil {
 25277  					amura.AdditionalProperties = make(map[string]interface{})
 25278  				}
 25279  				amura.AdditionalProperties[k] = additionalProperties
 25280  			}
 25281  		case "name":
 25282  			if v != nil {
 25283  				var name string
 25284  				err = json.Unmarshal(*v, &name)
 25285  				if err != nil {
 25286  					return err
 25287  				}
 25288  				amura.Name = &name
 25289  			}
 25290  		case "description":
 25291  			if v != nil {
 25292  				var description string
 25293  				err = json.Unmarshal(*v, &description)
 25294  				if err != nil {
 25295  					return err
 25296  				}
 25297  				amura.Description = &description
 25298  			}
 25299  		case "dependsOn":
 25300  			if v != nil {
 25301  				var dependsOn []ActivityDependency
 25302  				err = json.Unmarshal(*v, &dependsOn)
 25303  				if err != nil {
 25304  					return err
 25305  				}
 25306  				amura.DependsOn = &dependsOn
 25307  			}
 25308  		case "userProperties":
 25309  			if v != nil {
 25310  				var userProperties []UserProperty
 25311  				err = json.Unmarshal(*v, &userProperties)
 25312  				if err != nil {
 25313  					return err
 25314  				}
 25315  				amura.UserProperties = &userProperties
 25316  			}
 25317  		case "type":
 25318  			if v != nil {
 25319  				var typeVar TypeBasicActivity
 25320  				err = json.Unmarshal(*v, &typeVar)
 25321  				if err != nil {
 25322  					return err
 25323  				}
 25324  				amura.Type = typeVar
 25325  			}
 25326  		}
 25327  	}
 25328  
 25329  	return nil
 25330  }
 25331  
 25332  // AzureMLUpdateResourceActivityTypeProperties azure ML Update Resource activity properties.
 25333  type AzureMLUpdateResourceActivityTypeProperties struct {
 25334  	// TrainedModelName - Name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
 25335  	TrainedModelName interface{} `json:"trainedModelName,omitempty"`
 25336  	// TrainedModelLinkedServiceName - Name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
 25337  	TrainedModelLinkedServiceName *LinkedServiceReference `json:"trainedModelLinkedServiceName,omitempty"`
 25338  	// 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).
 25339  	TrainedModelFilePath interface{} `json:"trainedModelFilePath,omitempty"`
 25340  }
 25341  
 25342  // AzureMLWebServiceFile azure ML WebService Input/Output file
 25343  type AzureMLWebServiceFile struct {
 25344  	// FilePath - The relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
 25345  	FilePath interface{} `json:"filePath,omitempty"`
 25346  	// LinkedServiceName - Reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
 25347  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 25348  }
 25349  
 25350  // AzureMySQLLinkedService azure MySQL database linked service.
 25351  type AzureMySQLLinkedService struct {
 25352  	// AzureMySQLLinkedServiceTypeProperties - Azure MySQL database linked service properties.
 25353  	*AzureMySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 25354  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 25355  	AdditionalProperties map[string]interface{} `json:""`
 25356  	// ConnectVia - The integration runtime reference.
 25357  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 25358  	// Description - Linked service description.
 25359  	Description *string `json:"description,omitempty"`
 25360  	// Parameters - Parameters for linked service.
 25361  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 25362  	// Annotations - List of tags that can be used for describing the linked service.
 25363  	Annotations *[]interface{} `json:"annotations,omitempty"`
 25364  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 25365  	Type TypeBasicLinkedService `json:"type,omitempty"`
 25366  }
 25367  
 25368  // MarshalJSON is the custom marshaler for AzureMySQLLinkedService.
 25369  func (amsls AzureMySQLLinkedService) MarshalJSON() ([]byte, error) {
 25370  	amsls.Type = TypeAzureMySQL
 25371  	objectMap := make(map[string]interface{})
 25372  	if amsls.AzureMySQLLinkedServiceTypeProperties != nil {
 25373  		objectMap["typeProperties"] = amsls.AzureMySQLLinkedServiceTypeProperties
 25374  	}
 25375  	if amsls.ConnectVia != nil {
 25376  		objectMap["connectVia"] = amsls.ConnectVia
 25377  	}
 25378  	if amsls.Description != nil {
 25379  		objectMap["description"] = amsls.Description
 25380  	}
 25381  	if amsls.Parameters != nil {
 25382  		objectMap["parameters"] = amsls.Parameters
 25383  	}
 25384  	if amsls.Annotations != nil {
 25385  		objectMap["annotations"] = amsls.Annotations
 25386  	}
 25387  	if amsls.Type != "" {
 25388  		objectMap["type"] = amsls.Type
 25389  	}
 25390  	for k, v := range amsls.AdditionalProperties {
 25391  		objectMap[k] = v
 25392  	}
 25393  	return json.Marshal(objectMap)
 25394  }
 25395  
 25396  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25397  func (amsls AzureMySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 25398  	return nil, false
 25399  }
 25400  
 25401  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25402  func (amsls AzureMySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 25403  	return nil, false
 25404  }
 25405  
 25406  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25407  func (amsls AzureMySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 25408  	return nil, false
 25409  }
 25410  
 25411  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25412  func (amsls AzureMySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 25413  	return nil, false
 25414  }
 25415  
 25416  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25417  func (amsls AzureMySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 25418  	return nil, false
 25419  }
 25420  
 25421  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25422  func (amsls AzureMySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 25423  	return nil, false
 25424  }
 25425  
 25426  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25427  func (amsls AzureMySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 25428  	return nil, false
 25429  }
 25430  
 25431  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25432  func (amsls AzureMySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 25433  	return nil, false
 25434  }
 25435  
 25436  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25437  func (amsls AzureMySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 25438  	return nil, false
 25439  }
 25440  
 25441  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25442  func (amsls AzureMySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 25443  	return nil, false
 25444  }
 25445  
 25446  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25447  func (amsls AzureMySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 25448  	return nil, false
 25449  }
 25450  
 25451  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25452  func (amsls AzureMySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 25453  	return nil, false
 25454  }
 25455  
 25456  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25457  func (amsls AzureMySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 25458  	return nil, false
 25459  }
 25460  
 25461  // AsZohoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25462  func (amsls AzureMySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 25463  	return nil, false
 25464  }
 25465  
 25466  // AsXeroLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25467  func (amsls AzureMySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 25468  	return nil, false
 25469  }
 25470  
 25471  // AsSquareLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25472  func (amsls AzureMySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 25473  	return nil, false
 25474  }
 25475  
 25476  // AsSparkLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25477  func (amsls AzureMySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 25478  	return nil, false
 25479  }
 25480  
 25481  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25482  func (amsls AzureMySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 25483  	return nil, false
 25484  }
 25485  
 25486  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25487  func (amsls AzureMySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 25488  	return nil, false
 25489  }
 25490  
 25491  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25492  func (amsls AzureMySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 25493  	return nil, false
 25494  }
 25495  
 25496  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25497  func (amsls AzureMySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 25498  	return nil, false
 25499  }
 25500  
 25501  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25502  func (amsls AzureMySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 25503  	return nil, false
 25504  }
 25505  
 25506  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25507  func (amsls AzureMySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 25508  	return nil, false
 25509  }
 25510  
 25511  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25512  func (amsls AzureMySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 25513  	return nil, false
 25514  }
 25515  
 25516  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25517  func (amsls AzureMySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 25518  	return nil, false
 25519  }
 25520  
 25521  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25522  func (amsls AzureMySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 25523  	return nil, false
 25524  }
 25525  
 25526  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25527  func (amsls AzureMySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 25528  	return nil, false
 25529  }
 25530  
 25531  // AsJiraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25532  func (amsls AzureMySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 25533  	return nil, false
 25534  }
 25535  
 25536  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25537  func (amsls AzureMySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 25538  	return nil, false
 25539  }
 25540  
 25541  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25542  func (amsls AzureMySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 25543  	return nil, false
 25544  }
 25545  
 25546  // AsHiveLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25547  func (amsls AzureMySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 25548  	return nil, false
 25549  }
 25550  
 25551  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25552  func (amsls AzureMySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 25553  	return nil, false
 25554  }
 25555  
 25556  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25557  func (amsls AzureMySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 25558  	return nil, false
 25559  }
 25560  
 25561  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25562  func (amsls AzureMySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 25563  	return nil, false
 25564  }
 25565  
 25566  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25567  func (amsls AzureMySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 25568  	return nil, false
 25569  }
 25570  
 25571  // AsDrillLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25572  func (amsls AzureMySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 25573  	return nil, false
 25574  }
 25575  
 25576  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25577  func (amsls AzureMySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 25578  	return nil, false
 25579  }
 25580  
 25581  // AsConcurLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25582  func (amsls AzureMySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 25583  	return nil, false
 25584  }
 25585  
 25586  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25587  func (amsls AzureMySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 25588  	return nil, false
 25589  }
 25590  
 25591  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25592  func (amsls AzureMySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 25593  	return nil, false
 25594  }
 25595  
 25596  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25597  func (amsls AzureMySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 25598  	return nil, false
 25599  }
 25600  
 25601  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25602  func (amsls AzureMySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 25603  	return nil, false
 25604  }
 25605  
 25606  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25607  func (amsls AzureMySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 25608  	return nil, false
 25609  }
 25610  
 25611  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25612  func (amsls AzureMySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 25613  	return nil, false
 25614  }
 25615  
 25616  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25617  func (amsls AzureMySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 25618  	return nil, false
 25619  }
 25620  
 25621  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25622  func (amsls AzureMySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 25623  	return nil, false
 25624  }
 25625  
 25626  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25627  func (amsls AzureMySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 25628  	return nil, false
 25629  }
 25630  
 25631  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25632  func (amsls AzureMySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 25633  	return nil, false
 25634  }
 25635  
 25636  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25637  func (amsls AzureMySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 25638  	return nil, false
 25639  }
 25640  
 25641  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25642  func (amsls AzureMySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 25643  	return nil, false
 25644  }
 25645  
 25646  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25647  func (amsls AzureMySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 25648  	return nil, false
 25649  }
 25650  
 25651  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25652  func (amsls AzureMySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 25653  	return nil, false
 25654  }
 25655  
 25656  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25657  func (amsls AzureMySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 25658  	return nil, false
 25659  }
 25660  
 25661  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25662  func (amsls AzureMySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 25663  	return nil, false
 25664  }
 25665  
 25666  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25667  func (amsls AzureMySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 25668  	return nil, false
 25669  }
 25670  
 25671  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25672  func (amsls AzureMySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 25673  	return nil, false
 25674  }
 25675  
 25676  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25677  func (amsls AzureMySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 25678  	return nil, false
 25679  }
 25680  
 25681  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25682  func (amsls AzureMySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 25683  	return nil, false
 25684  }
 25685  
 25686  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25687  func (amsls AzureMySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 25688  	return nil, false
 25689  }
 25690  
 25691  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25692  func (amsls AzureMySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 25693  	return nil, false
 25694  }
 25695  
 25696  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25697  func (amsls AzureMySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 25698  	return nil, false
 25699  }
 25700  
 25701  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25702  func (amsls AzureMySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 25703  	return nil, false
 25704  }
 25705  
 25706  // AsWebLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25707  func (amsls AzureMySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 25708  	return nil, false
 25709  }
 25710  
 25711  // AsODataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25712  func (amsls AzureMySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 25713  	return nil, false
 25714  }
 25715  
 25716  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25717  func (amsls AzureMySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 25718  	return nil, false
 25719  }
 25720  
 25721  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25722  func (amsls AzureMySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 25723  	return nil, false
 25724  }
 25725  
 25726  // AsInformixLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25727  func (amsls AzureMySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 25728  	return nil, false
 25729  }
 25730  
 25731  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25732  func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 25733  	return nil, false
 25734  }
 25735  
 25736  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25737  func (amsls AzureMySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 25738  	return nil, false
 25739  }
 25740  
 25741  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25742  func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 25743  	return nil, false
 25744  }
 25745  
 25746  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25747  func (amsls AzureMySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 25748  	return nil, false
 25749  }
 25750  
 25751  // AsDb2LinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25752  func (amsls AzureMySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 25753  	return nil, false
 25754  }
 25755  
 25756  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25757  func (amsls AzureMySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 25758  	return nil, false
 25759  }
 25760  
 25761  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25762  func (amsls AzureMySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 25763  	return nil, false
 25764  }
 25765  
 25766  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25767  func (amsls AzureMySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 25768  	return nil, false
 25769  }
 25770  
 25771  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25772  func (amsls AzureMySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 25773  	return &amsls, true
 25774  }
 25775  
 25776  // AsOracleLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25777  func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 25778  	return nil, false
 25779  }
 25780  
 25781  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25782  func (amsls AzureMySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 25783  	return nil, false
 25784  }
 25785  
 25786  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25787  func (amsls AzureMySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 25788  	return nil, false
 25789  }
 25790  
 25791  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25792  func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 25793  	return nil, false
 25794  }
 25795  
 25796  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25797  func (amsls AzureMySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 25798  	return nil, false
 25799  }
 25800  
 25801  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25802  func (amsls AzureMySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 25803  	return nil, false
 25804  }
 25805  
 25806  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25807  func (amsls AzureMySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 25808  	return nil, false
 25809  }
 25810  
 25811  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25812  func (amsls AzureMySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 25813  	return nil, false
 25814  }
 25815  
 25816  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25817  func (amsls AzureMySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 25818  	return nil, false
 25819  }
 25820  
 25821  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25822  func (amsls AzureMySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 25823  	return nil, false
 25824  }
 25825  
 25826  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25827  func (amsls AzureMySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 25828  	return nil, false
 25829  }
 25830  
 25831  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25832  func (amsls AzureMySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 25833  	return nil, false
 25834  }
 25835  
 25836  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25837  func (amsls AzureMySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 25838  	return nil, false
 25839  }
 25840  
 25841  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25842  func (amsls AzureMySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 25843  	return nil, false
 25844  }
 25845  
 25846  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25847  func (amsls AzureMySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 25848  	return nil, false
 25849  }
 25850  
 25851  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25852  func (amsls AzureMySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 25853  	return nil, false
 25854  }
 25855  
 25856  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25857  func (amsls AzureMySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 25858  	return nil, false
 25859  }
 25860  
 25861  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25862  func (amsls AzureMySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 25863  	return nil, false
 25864  }
 25865  
 25866  // AsLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25867  func (amsls AzureMySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
 25868  	return nil, false
 25869  }
 25870  
 25871  // AsBasicLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService.
 25872  func (amsls AzureMySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 25873  	return &amsls, true
 25874  }
 25875  
 25876  // UnmarshalJSON is the custom unmarshaler for AzureMySQLLinkedService struct.
 25877  func (amsls *AzureMySQLLinkedService) UnmarshalJSON(body []byte) error {
 25878  	var m map[string]*json.RawMessage
 25879  	err := json.Unmarshal(body, &m)
 25880  	if err != nil {
 25881  		return err
 25882  	}
 25883  	for k, v := range m {
 25884  		switch k {
 25885  		case "typeProperties":
 25886  			if v != nil {
 25887  				var azureMySQLLinkedServiceTypeProperties AzureMySQLLinkedServiceTypeProperties
 25888  				err = json.Unmarshal(*v, &azureMySQLLinkedServiceTypeProperties)
 25889  				if err != nil {
 25890  					return err
 25891  				}
 25892  				amsls.AzureMySQLLinkedServiceTypeProperties = &azureMySQLLinkedServiceTypeProperties
 25893  			}
 25894  		default:
 25895  			if v != nil {
 25896  				var additionalProperties interface{}
 25897  				err = json.Unmarshal(*v, &additionalProperties)
 25898  				if err != nil {
 25899  					return err
 25900  				}
 25901  				if amsls.AdditionalProperties == nil {
 25902  					amsls.AdditionalProperties = make(map[string]interface{})
 25903  				}
 25904  				amsls.AdditionalProperties[k] = additionalProperties
 25905  			}
 25906  		case "connectVia":
 25907  			if v != nil {
 25908  				var connectVia IntegrationRuntimeReference
 25909  				err = json.Unmarshal(*v, &connectVia)
 25910  				if err != nil {
 25911  					return err
 25912  				}
 25913  				amsls.ConnectVia = &connectVia
 25914  			}
 25915  		case "description":
 25916  			if v != nil {
 25917  				var description string
 25918  				err = json.Unmarshal(*v, &description)
 25919  				if err != nil {
 25920  					return err
 25921  				}
 25922  				amsls.Description = &description
 25923  			}
 25924  		case "parameters":
 25925  			if v != nil {
 25926  				var parameters map[string]*ParameterSpecification
 25927  				err = json.Unmarshal(*v, &parameters)
 25928  				if err != nil {
 25929  					return err
 25930  				}
 25931  				amsls.Parameters = parameters
 25932  			}
 25933  		case "annotations":
 25934  			if v != nil {
 25935  				var annotations []interface{}
 25936  				err = json.Unmarshal(*v, &annotations)
 25937  				if err != nil {
 25938  					return err
 25939  				}
 25940  				amsls.Annotations = &annotations
 25941  			}
 25942  		case "type":
 25943  			if v != nil {
 25944  				var typeVar TypeBasicLinkedService
 25945  				err = json.Unmarshal(*v, &typeVar)
 25946  				if err != nil {
 25947  					return err
 25948  				}
 25949  				amsls.Type = typeVar
 25950  			}
 25951  		}
 25952  	}
 25953  
 25954  	return nil
 25955  }
 25956  
 25957  // AzureMySQLLinkedServiceTypeProperties azure MySQL database linked service properties.
 25958  type AzureMySQLLinkedServiceTypeProperties struct {
 25959  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 25960  	ConnectionString interface{} `json:"connectionString,omitempty"`
 25961  	// Password - The Azure key vault secret reference of password in connection string.
 25962  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
 25963  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 25964  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 25965  }
 25966  
 25967  // AzureMySQLSink a copy activity Azure MySql sink.
 25968  type AzureMySQLSink struct {
 25969  	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
 25970  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
 25971  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 25972  	AdditionalProperties map[string]interface{} `json:""`
 25973  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 25974  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 25975  	// 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])).
 25976  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 25977  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 25978  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 25979  	// 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])).
 25980  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 25981  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 25982  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 25983  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 25984  	Type TypeBasicCopySink `json:"type,omitempty"`
 25985  }
 25986  
 25987  // MarshalJSON is the custom marshaler for AzureMySQLSink.
 25988  func (amss AzureMySQLSink) MarshalJSON() ([]byte, error) {
 25989  	amss.Type = TypeAzureMySQLSink
 25990  	objectMap := make(map[string]interface{})
 25991  	if amss.PreCopyScript != nil {
 25992  		objectMap["preCopyScript"] = amss.PreCopyScript
 25993  	}
 25994  	if amss.WriteBatchSize != nil {
 25995  		objectMap["writeBatchSize"] = amss.WriteBatchSize
 25996  	}
 25997  	if amss.WriteBatchTimeout != nil {
 25998  		objectMap["writeBatchTimeout"] = amss.WriteBatchTimeout
 25999  	}
 26000  	if amss.SinkRetryCount != nil {
 26001  		objectMap["sinkRetryCount"] = amss.SinkRetryCount
 26002  	}
 26003  	if amss.SinkRetryWait != nil {
 26004  		objectMap["sinkRetryWait"] = amss.SinkRetryWait
 26005  	}
 26006  	if amss.MaxConcurrentConnections != nil {
 26007  		objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections
 26008  	}
 26009  	if amss.Type != "" {
 26010  		objectMap["type"] = amss.Type
 26011  	}
 26012  	for k, v := range amss.AdditionalProperties {
 26013  		objectMap[k] = v
 26014  	}
 26015  	return json.Marshal(objectMap)
 26016  }
 26017  
 26018  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureMySQLSink.
 26019  func (amss AzureMySQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 26020  	return nil, false
 26021  }
 26022  
 26023  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureMySQLSink.
 26024  func (amss AzureMySQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 26025  	return nil, false
 26026  }
 26027  
 26028  // AsSalesforceSink is the BasicCopySink implementation for AzureMySQLSink.
 26029  func (amss AzureMySQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
 26030  	return nil, false
 26031  }
 26032  
 26033  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureMySQLSink.
 26034  func (amss AzureMySQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 26035  	return nil, false
 26036  }
 26037  
 26038  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureMySQLSink.
 26039  func (amss AzureMySQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 26040  	return nil, false
 26041  }
 26042  
 26043  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureMySQLSink.
 26044  func (amss AzureMySQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 26045  	return nil, false
 26046  }
 26047  
 26048  // AsDynamicsSink is the BasicCopySink implementation for AzureMySQLSink.
 26049  func (amss AzureMySQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
 26050  	return nil, false
 26051  }
 26052  
 26053  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureMySQLSink.
 26054  func (amss AzureMySQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 26055  	return nil, false
 26056  }
 26057  
 26058  // AsInformixSink is the BasicCopySink implementation for AzureMySQLSink.
 26059  func (amss AzureMySQLSink) AsInformixSink() (*InformixSink, bool) {
 26060  	return nil, false
 26061  }
 26062  
 26063  // AsOdbcSink is the BasicCopySink implementation for AzureMySQLSink.
 26064  func (amss AzureMySQLSink) AsOdbcSink() (*OdbcSink, bool) {
 26065  	return nil, false
 26066  }
 26067  
 26068  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureMySQLSink.
 26069  func (amss AzureMySQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 26070  	return nil, false
 26071  }
 26072  
 26073  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureMySQLSink.
 26074  func (amss AzureMySQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 26075  	return nil, false
 26076  }
 26077  
 26078  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureMySQLSink.
 26079  func (amss AzureMySQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 26080  	return nil, false
 26081  }
 26082  
 26083  // AsOracleSink is the BasicCopySink implementation for AzureMySQLSink.
 26084  func (amss AzureMySQLSink) AsOracleSink() (*OracleSink, bool) {
 26085  	return nil, false
 26086  }
 26087  
 26088  // AsSQLDWSink is the BasicCopySink implementation for AzureMySQLSink.
 26089  func (amss AzureMySQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
 26090  	return nil, false
 26091  }
 26092  
 26093  // AsSQLMISink is the BasicCopySink implementation for AzureMySQLSink.
 26094  func (amss AzureMySQLSink) AsSQLMISink() (*SQLMISink, bool) {
 26095  	return nil, false
 26096  }
 26097  
 26098  // AsAzureSQLSink is the BasicCopySink implementation for AzureMySQLSink.
 26099  func (amss AzureMySQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 26100  	return nil, false
 26101  }
 26102  
 26103  // AsSQLServerSink is the BasicCopySink implementation for AzureMySQLSink.
 26104  func (amss AzureMySQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
 26105  	return nil, false
 26106  }
 26107  
 26108  // AsSQLSink is the BasicCopySink implementation for AzureMySQLSink.
 26109  func (amss AzureMySQLSink) AsSQLSink() (*SQLSink, bool) {
 26110  	return nil, false
 26111  }
 26112  
 26113  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureMySQLSink.
 26114  func (amss AzureMySQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 26115  	return nil, false
 26116  }
 26117  
 26118  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureMySQLSink.
 26119  func (amss AzureMySQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 26120  	return nil, false
 26121  }
 26122  
 26123  // AsFileSystemSink is the BasicCopySink implementation for AzureMySQLSink.
 26124  func (amss AzureMySQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
 26125  	return nil, false
 26126  }
 26127  
 26128  // AsBlobSink is the BasicCopySink implementation for AzureMySQLSink.
 26129  func (amss AzureMySQLSink) AsBlobSink() (*BlobSink, bool) {
 26130  	return nil, false
 26131  }
 26132  
 26133  // AsBinarySink is the BasicCopySink implementation for AzureMySQLSink.
 26134  func (amss AzureMySQLSink) AsBinarySink() (*BinarySink, bool) {
 26135  	return nil, false
 26136  }
 26137  
 26138  // AsParquetSink is the BasicCopySink implementation for AzureMySQLSink.
 26139  func (amss AzureMySQLSink) AsParquetSink() (*ParquetSink, bool) {
 26140  	return nil, false
 26141  }
 26142  
 26143  // AsAvroSink is the BasicCopySink implementation for AzureMySQLSink.
 26144  func (amss AzureMySQLSink) AsAvroSink() (*AvroSink, bool) {
 26145  	return nil, false
 26146  }
 26147  
 26148  // AsAzureTableSink is the BasicCopySink implementation for AzureMySQLSink.
 26149  func (amss AzureMySQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
 26150  	return nil, false
 26151  }
 26152  
 26153  // AsAzureQueueSink is the BasicCopySink implementation for AzureMySQLSink.
 26154  func (amss AzureMySQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 26155  	return nil, false
 26156  }
 26157  
 26158  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureMySQLSink.
 26159  func (amss AzureMySQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 26160  	return nil, false
 26161  }
 26162  
 26163  // AsAzureMySQLSink is the BasicCopySink implementation for AzureMySQLSink.
 26164  func (amss AzureMySQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 26165  	return &amss, true
 26166  }
 26167  
 26168  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureMySQLSink.
 26169  func (amss AzureMySQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 26170  	return nil, false
 26171  }
 26172  
 26173  // AsOrcSink is the BasicCopySink implementation for AzureMySQLSink.
 26174  func (amss AzureMySQLSink) AsOrcSink() (*OrcSink, bool) {
 26175  	return nil, false
 26176  }
 26177  
 26178  // AsJSONSink is the BasicCopySink implementation for AzureMySQLSink.
 26179  func (amss AzureMySQLSink) AsJSONSink() (*JSONSink, bool) {
 26180  	return nil, false
 26181  }
 26182  
 26183  // AsDelimitedTextSink is the BasicCopySink implementation for AzureMySQLSink.
 26184  func (amss AzureMySQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 26185  	return nil, false
 26186  }
 26187  
 26188  // AsCopySink is the BasicCopySink implementation for AzureMySQLSink.
 26189  func (amss AzureMySQLSink) AsCopySink() (*CopySink, bool) {
 26190  	return nil, false
 26191  }
 26192  
 26193  // AsBasicCopySink is the BasicCopySink implementation for AzureMySQLSink.
 26194  func (amss AzureMySQLSink) AsBasicCopySink() (BasicCopySink, bool) {
 26195  	return &amss, true
 26196  }
 26197  
 26198  // UnmarshalJSON is the custom unmarshaler for AzureMySQLSink struct.
 26199  func (amss *AzureMySQLSink) UnmarshalJSON(body []byte) error {
 26200  	var m map[string]*json.RawMessage
 26201  	err := json.Unmarshal(body, &m)
 26202  	if err != nil {
 26203  		return err
 26204  	}
 26205  	for k, v := range m {
 26206  		switch k {
 26207  		case "preCopyScript":
 26208  			if v != nil {
 26209  				var preCopyScript interface{}
 26210  				err = json.Unmarshal(*v, &preCopyScript)
 26211  				if err != nil {
 26212  					return err
 26213  				}
 26214  				amss.PreCopyScript = preCopyScript
 26215  			}
 26216  		default:
 26217  			if v != nil {
 26218  				var additionalProperties interface{}
 26219  				err = json.Unmarshal(*v, &additionalProperties)
 26220  				if err != nil {
 26221  					return err
 26222  				}
 26223  				if amss.AdditionalProperties == nil {
 26224  					amss.AdditionalProperties = make(map[string]interface{})
 26225  				}
 26226  				amss.AdditionalProperties[k] = additionalProperties
 26227  			}
 26228  		case "writeBatchSize":
 26229  			if v != nil {
 26230  				var writeBatchSize interface{}
 26231  				err = json.Unmarshal(*v, &writeBatchSize)
 26232  				if err != nil {
 26233  					return err
 26234  				}
 26235  				amss.WriteBatchSize = writeBatchSize
 26236  			}
 26237  		case "writeBatchTimeout":
 26238  			if v != nil {
 26239  				var writeBatchTimeout interface{}
 26240  				err = json.Unmarshal(*v, &writeBatchTimeout)
 26241  				if err != nil {
 26242  					return err
 26243  				}
 26244  				amss.WriteBatchTimeout = writeBatchTimeout
 26245  			}
 26246  		case "sinkRetryCount":
 26247  			if v != nil {
 26248  				var sinkRetryCount interface{}
 26249  				err = json.Unmarshal(*v, &sinkRetryCount)
 26250  				if err != nil {
 26251  					return err
 26252  				}
 26253  				amss.SinkRetryCount = sinkRetryCount
 26254  			}
 26255  		case "sinkRetryWait":
 26256  			if v != nil {
 26257  				var sinkRetryWait interface{}
 26258  				err = json.Unmarshal(*v, &sinkRetryWait)
 26259  				if err != nil {
 26260  					return err
 26261  				}
 26262  				amss.SinkRetryWait = sinkRetryWait
 26263  			}
 26264  		case "maxConcurrentConnections":
 26265  			if v != nil {
 26266  				var maxConcurrentConnections interface{}
 26267  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 26268  				if err != nil {
 26269  					return err
 26270  				}
 26271  				amss.MaxConcurrentConnections = maxConcurrentConnections
 26272  			}
 26273  		case "type":
 26274  			if v != nil {
 26275  				var typeVar TypeBasicCopySink
 26276  				err = json.Unmarshal(*v, &typeVar)
 26277  				if err != nil {
 26278  					return err
 26279  				}
 26280  				amss.Type = typeVar
 26281  			}
 26282  		}
 26283  	}
 26284  
 26285  	return nil
 26286  }
 26287  
 26288  // AzureMySQLSource a copy activity Azure MySQL source.
 26289  type AzureMySQLSource struct {
 26290  	// Query - Database query. Type: string (or Expression with resultType string).
 26291  	Query interface{} `json:"query,omitempty"`
 26292  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 26293  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 26294  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 26295  	AdditionalProperties map[string]interface{} `json:""`
 26296  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 26297  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 26298  	// 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])).
 26299  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 26300  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 26301  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 26302  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 26303  	Type TypeBasicCopySource `json:"type,omitempty"`
 26304  }
 26305  
 26306  // MarshalJSON is the custom marshaler for AzureMySQLSource.
 26307  func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) {
 26308  	amss.Type = TypeAzureMySQLSource
 26309  	objectMap := make(map[string]interface{})
 26310  	if amss.Query != nil {
 26311  		objectMap["query"] = amss.Query
 26312  	}
 26313  	if amss.QueryTimeout != nil {
 26314  		objectMap["queryTimeout"] = amss.QueryTimeout
 26315  	}
 26316  	if amss.SourceRetryCount != nil {
 26317  		objectMap["sourceRetryCount"] = amss.SourceRetryCount
 26318  	}
 26319  	if amss.SourceRetryWait != nil {
 26320  		objectMap["sourceRetryWait"] = amss.SourceRetryWait
 26321  	}
 26322  	if amss.MaxConcurrentConnections != nil {
 26323  		objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections
 26324  	}
 26325  	if amss.Type != "" {
 26326  		objectMap["type"] = amss.Type
 26327  	}
 26328  	for k, v := range amss.AdditionalProperties {
 26329  		objectMap[k] = v
 26330  	}
 26331  	return json.Marshal(objectMap)
 26332  }
 26333  
 26334  // AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource.
 26335  func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) {
 26336  	return nil, false
 26337  }
 26338  
 26339  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureMySQLSource.
 26340  func (amss AzureMySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 26341  	return nil, false
 26342  }
 26343  
 26344  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource.
 26345  func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 26346  	return nil, false
 26347  }
 26348  
 26349  // AsOffice365Source is the BasicCopySource implementation for AzureMySQLSource.
 26350  func (amss AzureMySQLSource) AsOffice365Source() (*Office365Source, bool) {
 26351  	return nil, false
 26352  }
 26353  
 26354  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMySQLSource.
 26355  func (amss AzureMySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 26356  	return nil, false
 26357  }
 26358  
 26359  // AsMongoDbV2Source is the BasicCopySource implementation for AzureMySQLSource.
 26360  func (amss AzureMySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 26361  	return nil, false
 26362  }
 26363  
 26364  // AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource.
 26365  func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
 26366  	return nil, false
 26367  }
 26368  
 26369  // AsWebSource is the BasicCopySource implementation for AzureMySQLSource.
 26370  func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) {
 26371  	return nil, false
 26372  }
 26373  
 26374  // AsOracleSource is the BasicCopySource implementation for AzureMySQLSource.
 26375  func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) {
 26376  	return nil, false
 26377  }
 26378  
 26379  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMySQLSource.
 26380  func (amss AzureMySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 26381  	return nil, false
 26382  }
 26383  
 26384  // AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource.
 26385  func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) {
 26386  	return nil, false
 26387  }
 26388  
 26389  // AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource.
 26390  func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
 26391  	return nil, false
 26392  }
 26393  
 26394  // AsRestSource is the BasicCopySource implementation for AzureMySQLSource.
 26395  func (amss AzureMySQLSource) AsRestSource() (*RestSource, bool) {
 26396  	return nil, false
 26397  }
 26398  
 26399  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource.
 26400  func (amss AzureMySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 26401  	return nil, false
 26402  }
 26403  
 26404  // AsODataSource is the BasicCopySource implementation for AzureMySQLSource.
 26405  func (amss AzureMySQLSource) AsODataSource() (*ODataSource, bool) {
 26406  	return nil, false
 26407  }
 26408  
 26409  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMySQLSource.
 26410  func (amss AzureMySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 26411  	return nil, false
 26412  }
 26413  
 26414  // AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource.
 26415  func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) {
 26416  	return nil, false
 26417  }
 26418  
 26419  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMySQLSource.
 26420  func (amss AzureMySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 26421  	return nil, false
 26422  }
 26423  
 26424  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureMySQLSource.
 26425  func (amss AzureMySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 26426  	return nil, false
 26427  }
 26428  
 26429  // AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource.
 26430  func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
 26431  	return nil, false
 26432  }
 26433  
 26434  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMySQLSource.
 26435  func (amss AzureMySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 26436  	return nil, false
 26437  }
 26438  
 26439  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource.
 26440  func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 26441  	return nil, false
 26442  }
 26443  
 26444  // AsBlobSource is the BasicCopySource implementation for AzureMySQLSource.
 26445  func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) {
 26446  	return nil, false
 26447  }
 26448  
 26449  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource.
 26450  func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 26451  	return nil, false
 26452  }
 26453  
 26454  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureMySQLSource.
 26455  func (amss AzureMySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 26456  	return nil, false
 26457  }
 26458  
 26459  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource.
 26460  func (amss AzureMySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 26461  	return nil, false
 26462  }
 26463  
 26464  // AsDynamicsAXSource is the BasicCopySource implementation for AzureMySQLSource.
 26465  func (amss AzureMySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 26466  	return nil, false
 26467  }
 26468  
 26469  // AsResponsysSource is the BasicCopySource implementation for AzureMySQLSource.
 26470  func (amss AzureMySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
 26471  	return nil, false
 26472  }
 26473  
 26474  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureMySQLSource.
 26475  func (amss AzureMySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 26476  	return nil, false
 26477  }
 26478  
 26479  // AsVerticaSource is the BasicCopySource implementation for AzureMySQLSource.
 26480  func (amss AzureMySQLSource) AsVerticaSource() (*VerticaSource, bool) {
 26481  	return nil, false
 26482  }
 26483  
 26484  // AsNetezzaSource is the BasicCopySource implementation for AzureMySQLSource.
 26485  func (amss AzureMySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
 26486  	return nil, false
 26487  }
 26488  
 26489  // AsZohoSource is the BasicCopySource implementation for AzureMySQLSource.
 26490  func (amss AzureMySQLSource) AsZohoSource() (*ZohoSource, bool) {
 26491  	return nil, false
 26492  }
 26493  
 26494  // AsXeroSource is the BasicCopySource implementation for AzureMySQLSource.
 26495  func (amss AzureMySQLSource) AsXeroSource() (*XeroSource, bool) {
 26496  	return nil, false
 26497  }
 26498  
 26499  // AsSquareSource is the BasicCopySource implementation for AzureMySQLSource.
 26500  func (amss AzureMySQLSource) AsSquareSource() (*SquareSource, bool) {
 26501  	return nil, false
 26502  }
 26503  
 26504  // AsSparkSource is the BasicCopySource implementation for AzureMySQLSource.
 26505  func (amss AzureMySQLSource) AsSparkSource() (*SparkSource, bool) {
 26506  	return nil, false
 26507  }
 26508  
 26509  // AsShopifySource is the BasicCopySource implementation for AzureMySQLSource.
 26510  func (amss AzureMySQLSource) AsShopifySource() (*ShopifySource, bool) {
 26511  	return nil, false
 26512  }
 26513  
 26514  // AsServiceNowSource is the BasicCopySource implementation for AzureMySQLSource.
 26515  func (amss AzureMySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 26516  	return nil, false
 26517  }
 26518  
 26519  // AsQuickBooksSource is the BasicCopySource implementation for AzureMySQLSource.
 26520  func (amss AzureMySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 26521  	return nil, false
 26522  }
 26523  
 26524  // AsPrestoSource is the BasicCopySource implementation for AzureMySQLSource.
 26525  func (amss AzureMySQLSource) AsPrestoSource() (*PrestoSource, bool) {
 26526  	return nil, false
 26527  }
 26528  
 26529  // AsPhoenixSource is the BasicCopySource implementation for AzureMySQLSource.
 26530  func (amss AzureMySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
 26531  	return nil, false
 26532  }
 26533  
 26534  // AsPaypalSource is the BasicCopySource implementation for AzureMySQLSource.
 26535  func (amss AzureMySQLSource) AsPaypalSource() (*PaypalSource, bool) {
 26536  	return nil, false
 26537  }
 26538  
 26539  // AsMarketoSource is the BasicCopySource implementation for AzureMySQLSource.
 26540  func (amss AzureMySQLSource) AsMarketoSource() (*MarketoSource, bool) {
 26541  	return nil, false
 26542  }
 26543  
 26544  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureMySQLSource.
 26545  func (amss AzureMySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 26546  	return nil, false
 26547  }
 26548  
 26549  // AsMariaDBSource is the BasicCopySource implementation for AzureMySQLSource.
 26550  func (amss AzureMySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
 26551  	return nil, false
 26552  }
 26553  
 26554  // AsMagentoSource is the BasicCopySource implementation for AzureMySQLSource.
 26555  func (amss AzureMySQLSource) AsMagentoSource() (*MagentoSource, bool) {
 26556  	return nil, false
 26557  }
 26558  
 26559  // AsJiraSource is the BasicCopySource implementation for AzureMySQLSource.
 26560  func (amss AzureMySQLSource) AsJiraSource() (*JiraSource, bool) {
 26561  	return nil, false
 26562  }
 26563  
 26564  // AsImpalaSource is the BasicCopySource implementation for AzureMySQLSource.
 26565  func (amss AzureMySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
 26566  	return nil, false
 26567  }
 26568  
 26569  // AsHubspotSource is the BasicCopySource implementation for AzureMySQLSource.
 26570  func (amss AzureMySQLSource) AsHubspotSource() (*HubspotSource, bool) {
 26571  	return nil, false
 26572  }
 26573  
 26574  // AsHiveSource is the BasicCopySource implementation for AzureMySQLSource.
 26575  func (amss AzureMySQLSource) AsHiveSource() (*HiveSource, bool) {
 26576  	return nil, false
 26577  }
 26578  
 26579  // AsHBaseSource is the BasicCopySource implementation for AzureMySQLSource.
 26580  func (amss AzureMySQLSource) AsHBaseSource() (*HBaseSource, bool) {
 26581  	return nil, false
 26582  }
 26583  
 26584  // AsGreenplumSource is the BasicCopySource implementation for AzureMySQLSource.
 26585  func (amss AzureMySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
 26586  	return nil, false
 26587  }
 26588  
 26589  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureMySQLSource.
 26590  func (amss AzureMySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 26591  	return nil, false
 26592  }
 26593  
 26594  // AsEloquaSource is the BasicCopySource implementation for AzureMySQLSource.
 26595  func (amss AzureMySQLSource) AsEloquaSource() (*EloquaSource, bool) {
 26596  	return nil, false
 26597  }
 26598  
 26599  // AsDrillSource is the BasicCopySource implementation for AzureMySQLSource.
 26600  func (amss AzureMySQLSource) AsDrillSource() (*DrillSource, bool) {
 26601  	return nil, false
 26602  }
 26603  
 26604  // AsCouchbaseSource is the BasicCopySource implementation for AzureMySQLSource.
 26605  func (amss AzureMySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 26606  	return nil, false
 26607  }
 26608  
 26609  // AsConcurSource is the BasicCopySource implementation for AzureMySQLSource.
 26610  func (amss AzureMySQLSource) AsConcurSource() (*ConcurSource, bool) {
 26611  	return nil, false
 26612  }
 26613  
 26614  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26615  func (amss AzureMySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 26616  	return nil, false
 26617  }
 26618  
 26619  // AsAmazonMWSSource is the BasicCopySource implementation for AzureMySQLSource.
 26620  func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 26621  	return nil, false
 26622  }
 26623  
 26624  // AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource.
 26625  func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) {
 26626  	return nil, false
 26627  }
 26628  
 26629  // AsTeradataSource is the BasicCopySource implementation for AzureMySQLSource.
 26630  func (amss AzureMySQLSource) AsTeradataSource() (*TeradataSource, bool) {
 26631  	return nil, false
 26632  }
 26633  
 26634  // AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26635  func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 26636  	return &amss, true
 26637  }
 26638  
 26639  // AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource.
 26640  func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
 26641  	return nil, false
 26642  }
 26643  
 26644  // AsSQLMISource is the BasicCopySource implementation for AzureMySQLSource.
 26645  func (amss AzureMySQLSource) AsSQLMISource() (*SQLMISource, bool) {
 26646  	return nil, false
 26647  }
 26648  
 26649  // AsAzureSQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26650  func (amss AzureMySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 26651  	return nil, false
 26652  }
 26653  
 26654  // AsSQLServerSource is the BasicCopySource implementation for AzureMySQLSource.
 26655  func (amss AzureMySQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
 26656  	return nil, false
 26657  }
 26658  
 26659  // AsSQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26660  func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) {
 26661  	return nil, false
 26662  }
 26663  
 26664  // AsSapTableSource is the BasicCopySource implementation for AzureMySQLSource.
 26665  func (amss AzureMySQLSource) AsSapTableSource() (*SapTableSource, bool) {
 26666  	return nil, false
 26667  }
 26668  
 26669  // AsSapOpenHubSource is the BasicCopySource implementation for AzureMySQLSource.
 26670  func (amss AzureMySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 26671  	return nil, false
 26672  }
 26673  
 26674  // AsSapHanaSource is the BasicCopySource implementation for AzureMySQLSource.
 26675  func (amss AzureMySQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
 26676  	return nil, false
 26677  }
 26678  
 26679  // AsSapEccSource is the BasicCopySource implementation for AzureMySQLSource.
 26680  func (amss AzureMySQLSource) AsSapEccSource() (*SapEccSource, bool) {
 26681  	return nil, false
 26682  }
 26683  
 26684  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureMySQLSource.
 26685  func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 26686  	return nil, false
 26687  }
 26688  
 26689  // AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource.
 26690  func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
 26691  	return nil, false
 26692  }
 26693  
 26694  // AsSapBwSource is the BasicCopySource implementation for AzureMySQLSource.
 26695  func (amss AzureMySQLSource) AsSapBwSource() (*SapBwSource, bool) {
 26696  	return nil, false
 26697  }
 26698  
 26699  // AsSybaseSource is the BasicCopySource implementation for AzureMySQLSource.
 26700  func (amss AzureMySQLSource) AsSybaseSource() (*SybaseSource, bool) {
 26701  	return nil, false
 26702  }
 26703  
 26704  // AsPostgreSQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26705  func (amss AzureMySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 26706  	return nil, false
 26707  }
 26708  
 26709  // AsMySQLSource is the BasicCopySource implementation for AzureMySQLSource.
 26710  func (amss AzureMySQLSource) AsMySQLSource() (*MySQLSource, bool) {
 26711  	return nil, false
 26712  }
 26713  
 26714  // AsOdbcSource is the BasicCopySource implementation for AzureMySQLSource.
 26715  func (amss AzureMySQLSource) AsOdbcSource() (*OdbcSource, bool) {
 26716  	return nil, false
 26717  }
 26718  
 26719  // AsDb2Source is the BasicCopySource implementation for AzureMySQLSource.
 26720  func (amss AzureMySQLSource) AsDb2Source() (*Db2Source, bool) {
 26721  	return nil, false
 26722  }
 26723  
 26724  // AsInformixSource is the BasicCopySource implementation for AzureMySQLSource.
 26725  func (amss AzureMySQLSource) AsInformixSource() (*InformixSource, bool) {
 26726  	return nil, false
 26727  }
 26728  
 26729  // AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource.
 26730  func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
 26731  	return nil, false
 26732  }
 26733  
 26734  // AsTabularSource is the BasicCopySource implementation for AzureMySQLSource.
 26735  func (amss AzureMySQLSource) AsTabularSource() (*TabularSource, bool) {
 26736  	return nil, false
 26737  }
 26738  
 26739  // AsBasicTabularSource is the BasicCopySource implementation for AzureMySQLSource.
 26740  func (amss AzureMySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 26741  	return &amss, true
 26742  }
 26743  
 26744  // AsBinarySource is the BasicCopySource implementation for AzureMySQLSource.
 26745  func (amss AzureMySQLSource) AsBinarySource() (*BinarySource, bool) {
 26746  	return nil, false
 26747  }
 26748  
 26749  // AsOrcSource is the BasicCopySource implementation for AzureMySQLSource.
 26750  func (amss AzureMySQLSource) AsOrcSource() (*OrcSource, bool) {
 26751  	return nil, false
 26752  }
 26753  
 26754  // AsJSONSource is the BasicCopySource implementation for AzureMySQLSource.
 26755  func (amss AzureMySQLSource) AsJSONSource() (*JSONSource, bool) {
 26756  	return nil, false
 26757  }
 26758  
 26759  // AsDelimitedTextSource is the BasicCopySource implementation for AzureMySQLSource.
 26760  func (amss AzureMySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 26761  	return nil, false
 26762  }
 26763  
 26764  // AsParquetSource is the BasicCopySource implementation for AzureMySQLSource.
 26765  func (amss AzureMySQLSource) AsParquetSource() (*ParquetSource, bool) {
 26766  	return nil, false
 26767  }
 26768  
 26769  // AsAvroSource is the BasicCopySource implementation for AzureMySQLSource.
 26770  func (amss AzureMySQLSource) AsAvroSource() (*AvroSource, bool) {
 26771  	return nil, false
 26772  }
 26773  
 26774  // AsCopySource is the BasicCopySource implementation for AzureMySQLSource.
 26775  func (amss AzureMySQLSource) AsCopySource() (*CopySource, bool) {
 26776  	return nil, false
 26777  }
 26778  
 26779  // AsBasicCopySource is the BasicCopySource implementation for AzureMySQLSource.
 26780  func (amss AzureMySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
 26781  	return &amss, true
 26782  }
 26783  
 26784  // UnmarshalJSON is the custom unmarshaler for AzureMySQLSource struct.
 26785  func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error {
 26786  	var m map[string]*json.RawMessage
 26787  	err := json.Unmarshal(body, &m)
 26788  	if err != nil {
 26789  		return err
 26790  	}
 26791  	for k, v := range m {
 26792  		switch k {
 26793  		case "query":
 26794  			if v != nil {
 26795  				var query interface{}
 26796  				err = json.Unmarshal(*v, &query)
 26797  				if err != nil {
 26798  					return err
 26799  				}
 26800  				amss.Query = query
 26801  			}
 26802  		case "queryTimeout":
 26803  			if v != nil {
 26804  				var queryTimeout interface{}
 26805  				err = json.Unmarshal(*v, &queryTimeout)
 26806  				if err != nil {
 26807  					return err
 26808  				}
 26809  				amss.QueryTimeout = queryTimeout
 26810  			}
 26811  		default:
 26812  			if v != nil {
 26813  				var additionalProperties interface{}
 26814  				err = json.Unmarshal(*v, &additionalProperties)
 26815  				if err != nil {
 26816  					return err
 26817  				}
 26818  				if amss.AdditionalProperties == nil {
 26819  					amss.AdditionalProperties = make(map[string]interface{})
 26820  				}
 26821  				amss.AdditionalProperties[k] = additionalProperties
 26822  			}
 26823  		case "sourceRetryCount":
 26824  			if v != nil {
 26825  				var sourceRetryCount interface{}
 26826  				err = json.Unmarshal(*v, &sourceRetryCount)
 26827  				if err != nil {
 26828  					return err
 26829  				}
 26830  				amss.SourceRetryCount = sourceRetryCount
 26831  			}
 26832  		case "sourceRetryWait":
 26833  			if v != nil {
 26834  				var sourceRetryWait interface{}
 26835  				err = json.Unmarshal(*v, &sourceRetryWait)
 26836  				if err != nil {
 26837  					return err
 26838  				}
 26839  				amss.SourceRetryWait = sourceRetryWait
 26840  			}
 26841  		case "maxConcurrentConnections":
 26842  			if v != nil {
 26843  				var maxConcurrentConnections interface{}
 26844  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 26845  				if err != nil {
 26846  					return err
 26847  				}
 26848  				amss.MaxConcurrentConnections = maxConcurrentConnections
 26849  			}
 26850  		case "type":
 26851  			if v != nil {
 26852  				var typeVar TypeBasicCopySource
 26853  				err = json.Unmarshal(*v, &typeVar)
 26854  				if err != nil {
 26855  					return err
 26856  				}
 26857  				amss.Type = typeVar
 26858  			}
 26859  		}
 26860  	}
 26861  
 26862  	return nil
 26863  }
 26864  
 26865  // AzureMySQLTableDataset the Azure MySQL database dataset.
 26866  type AzureMySQLTableDataset struct {
 26867  	// AzureMySQLTableDatasetTypeProperties - Azure MySQL database dataset properties.
 26868  	*AzureMySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 26869  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 26870  	AdditionalProperties map[string]interface{} `json:""`
 26871  	// Description - Dataset description.
 26872  	Description *string `json:"description,omitempty"`
 26873  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 26874  	Structure interface{} `json:"structure,omitempty"`
 26875  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 26876  	Schema interface{} `json:"schema,omitempty"`
 26877  	// LinkedServiceName - Linked service reference.
 26878  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 26879  	// Parameters - Parameters for dataset.
 26880  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 26881  	// Annotations - List of tags that can be used for describing the Dataset.
 26882  	Annotations *[]interface{} `json:"annotations,omitempty"`
 26883  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 26884  	Folder *DatasetFolder `json:"folder,omitempty"`
 26885  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 26886  	Type TypeBasicDataset `json:"type,omitempty"`
 26887  }
 26888  
 26889  // MarshalJSON is the custom marshaler for AzureMySQLTableDataset.
 26890  func (amstd AzureMySQLTableDataset) MarshalJSON() ([]byte, error) {
 26891  	amstd.Type = TypeAzureMySQLTable
 26892  	objectMap := make(map[string]interface{})
 26893  	if amstd.AzureMySQLTableDatasetTypeProperties != nil {
 26894  		objectMap["typeProperties"] = amstd.AzureMySQLTableDatasetTypeProperties
 26895  	}
 26896  	if amstd.Description != nil {
 26897  		objectMap["description"] = amstd.Description
 26898  	}
 26899  	if amstd.Structure != nil {
 26900  		objectMap["structure"] = amstd.Structure
 26901  	}
 26902  	if amstd.Schema != nil {
 26903  		objectMap["schema"] = amstd.Schema
 26904  	}
 26905  	if amstd.LinkedServiceName != nil {
 26906  		objectMap["linkedServiceName"] = amstd.LinkedServiceName
 26907  	}
 26908  	if amstd.Parameters != nil {
 26909  		objectMap["parameters"] = amstd.Parameters
 26910  	}
 26911  	if amstd.Annotations != nil {
 26912  		objectMap["annotations"] = amstd.Annotations
 26913  	}
 26914  	if amstd.Folder != nil {
 26915  		objectMap["folder"] = amstd.Folder
 26916  	}
 26917  	if amstd.Type != "" {
 26918  		objectMap["type"] = amstd.Type
 26919  	}
 26920  	for k, v := range amstd.AdditionalProperties {
 26921  		objectMap[k] = v
 26922  	}
 26923  	return json.Marshal(objectMap)
 26924  }
 26925  
 26926  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26927  func (amstd AzureMySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 26928  	return nil, false
 26929  }
 26930  
 26931  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26932  func (amstd AzureMySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 26933  	return nil, false
 26934  }
 26935  
 26936  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26937  func (amstd AzureMySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 26938  	return nil, false
 26939  }
 26940  
 26941  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26942  func (amstd AzureMySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 26943  	return nil, false
 26944  }
 26945  
 26946  // AsResponsysObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26947  func (amstd AzureMySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 26948  	return nil, false
 26949  }
 26950  
 26951  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26952  func (amstd AzureMySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 26953  	return nil, false
 26954  }
 26955  
 26956  // AsVerticaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26957  func (amstd AzureMySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 26958  	return nil, false
 26959  }
 26960  
 26961  // AsNetezzaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26962  func (amstd AzureMySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 26963  	return nil, false
 26964  }
 26965  
 26966  // AsZohoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26967  func (amstd AzureMySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 26968  	return nil, false
 26969  }
 26970  
 26971  // AsXeroObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26972  func (amstd AzureMySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 26973  	return nil, false
 26974  }
 26975  
 26976  // AsSquareObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26977  func (amstd AzureMySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 26978  	return nil, false
 26979  }
 26980  
 26981  // AsSparkObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26982  func (amstd AzureMySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 26983  	return nil, false
 26984  }
 26985  
 26986  // AsShopifyObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26987  func (amstd AzureMySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 26988  	return nil, false
 26989  }
 26990  
 26991  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26992  func (amstd AzureMySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 26993  	return nil, false
 26994  }
 26995  
 26996  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 26997  func (amstd AzureMySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 26998  	return nil, false
 26999  }
 27000  
 27001  // AsPrestoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27002  func (amstd AzureMySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 27003  	return nil, false
 27004  }
 27005  
 27006  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27007  func (amstd AzureMySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 27008  	return nil, false
 27009  }
 27010  
 27011  // AsPaypalObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27012  func (amstd AzureMySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 27013  	return nil, false
 27014  }
 27015  
 27016  // AsMarketoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27017  func (amstd AzureMySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 27018  	return nil, false
 27019  }
 27020  
 27021  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27022  func (amstd AzureMySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 27023  	return nil, false
 27024  }
 27025  
 27026  // AsMariaDBTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27027  func (amstd AzureMySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 27028  	return nil, false
 27029  }
 27030  
 27031  // AsMagentoObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27032  func (amstd AzureMySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 27033  	return nil, false
 27034  }
 27035  
 27036  // AsJiraObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27037  func (amstd AzureMySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 27038  	return nil, false
 27039  }
 27040  
 27041  // AsImpalaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27042  func (amstd AzureMySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 27043  	return nil, false
 27044  }
 27045  
 27046  // AsHubspotObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27047  func (amstd AzureMySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 27048  	return nil, false
 27049  }
 27050  
 27051  // AsHiveObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27052  func (amstd AzureMySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 27053  	return nil, false
 27054  }
 27055  
 27056  // AsHBaseObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27057  func (amstd AzureMySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 27058  	return nil, false
 27059  }
 27060  
 27061  // AsGreenplumTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27062  func (amstd AzureMySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 27063  	return nil, false
 27064  }
 27065  
 27066  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27067  func (amstd AzureMySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 27068  	return nil, false
 27069  }
 27070  
 27071  // AsEloquaObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27072  func (amstd AzureMySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 27073  	return nil, false
 27074  }
 27075  
 27076  // AsDrillTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27077  func (amstd AzureMySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 27078  	return nil, false
 27079  }
 27080  
 27081  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27082  func (amstd AzureMySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 27083  	return nil, false
 27084  }
 27085  
 27086  // AsConcurObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27087  func (amstd AzureMySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 27088  	return nil, false
 27089  }
 27090  
 27091  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27092  func (amstd AzureMySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 27093  	return nil, false
 27094  }
 27095  
 27096  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27097  func (amstd AzureMySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 27098  	return nil, false
 27099  }
 27100  
 27101  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27102  func (amstd AzureMySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 27103  	return nil, false
 27104  }
 27105  
 27106  // AsWebTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27107  func (amstd AzureMySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 27108  	return nil, false
 27109  }
 27110  
 27111  // AsSapTableResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27112  func (amstd AzureMySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 27113  	return nil, false
 27114  }
 27115  
 27116  // AsRestResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27117  func (amstd AzureMySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 27118  	return nil, false
 27119  }
 27120  
 27121  // AsSQLServerTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27122  func (amstd AzureMySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 27123  	return nil, false
 27124  }
 27125  
 27126  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27127  func (amstd AzureMySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 27128  	return nil, false
 27129  }
 27130  
 27131  // AsSapHanaTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27132  func (amstd AzureMySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 27133  	return nil, false
 27134  }
 27135  
 27136  // AsSapEccResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27137  func (amstd AzureMySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 27138  	return nil, false
 27139  }
 27140  
 27141  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27142  func (amstd AzureMySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 27143  	return nil, false
 27144  }
 27145  
 27146  // AsSapBwCubeDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27147  func (amstd AzureMySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 27148  	return nil, false
 27149  }
 27150  
 27151  // AsSybaseTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27152  func (amstd AzureMySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 27153  	return nil, false
 27154  }
 27155  
 27156  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27157  func (amstd AzureMySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 27158  	return nil, false
 27159  }
 27160  
 27161  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27162  func (amstd AzureMySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 27163  	return nil, false
 27164  }
 27165  
 27166  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27167  func (amstd AzureMySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 27168  	return nil, false
 27169  }
 27170  
 27171  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27172  func (amstd AzureMySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 27173  	return nil, false
 27174  }
 27175  
 27176  // AsMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27177  func (amstd AzureMySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 27178  	return nil, false
 27179  }
 27180  
 27181  // AsOdbcTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27182  func (amstd AzureMySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 27183  	return nil, false
 27184  }
 27185  
 27186  // AsInformixTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27187  func (amstd AzureMySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 27188  	return nil, false
 27189  }
 27190  
 27191  // AsRelationalTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27192  func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 27193  	return nil, false
 27194  }
 27195  
 27196  // AsDb2TableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27197  func (amstd AzureMySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 27198  	return nil, false
 27199  }
 27200  
 27201  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27202  func (amstd AzureMySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 27203  	return nil, false
 27204  }
 27205  
 27206  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27207  func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 27208  	return &amstd, true
 27209  }
 27210  
 27211  // AsTeradataTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27212  func (amstd AzureMySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 27213  	return nil, false
 27214  }
 27215  
 27216  // AsOracleTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27217  func (amstd AzureMySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 27218  	return nil, false
 27219  }
 27220  
 27221  // AsODataResourceDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27222  func (amstd AzureMySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 27223  	return nil, false
 27224  }
 27225  
 27226  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27227  func (amstd AzureMySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 27228  	return nil, false
 27229  }
 27230  
 27231  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27232  func (amstd AzureMySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 27233  	return nil, false
 27234  }
 27235  
 27236  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27237  func (amstd AzureMySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 27238  	return nil, false
 27239  }
 27240  
 27241  // AsOffice365Dataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27242  func (amstd AzureMySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 27243  	return nil, false
 27244  }
 27245  
 27246  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27247  func (amstd AzureMySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 27248  	return nil, false
 27249  }
 27250  
 27251  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27252  func (amstd AzureMySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 27253  	return nil, false
 27254  }
 27255  
 27256  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27257  func (amstd AzureMySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 27258  	return nil, false
 27259  }
 27260  
 27261  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27262  func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 27263  	return nil, false
 27264  }
 27265  
 27266  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27267  func (amstd AzureMySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 27268  	return nil, false
 27269  }
 27270  
 27271  // AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27272  func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 27273  	return nil, false
 27274  }
 27275  
 27276  // AsCassandraTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27277  func (amstd AzureMySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 27278  	return nil, false
 27279  }
 27280  
 27281  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27282  func (amstd AzureMySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 27283  	return nil, false
 27284  }
 27285  
 27286  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27287  func (amstd AzureMySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 27288  	return nil, false
 27289  }
 27290  
 27291  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27292  func (amstd AzureMySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 27293  	return nil, false
 27294  }
 27295  
 27296  // AsAzureTableDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27297  func (amstd AzureMySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 27298  	return nil, false
 27299  }
 27300  
 27301  // AsBinaryDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27302  func (amstd AzureMySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 27303  	return nil, false
 27304  }
 27305  
 27306  // AsOrcDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27307  func (amstd AzureMySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 27308  	return nil, false
 27309  }
 27310  
 27311  // AsJSONDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27312  func (amstd AzureMySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 27313  	return nil, false
 27314  }
 27315  
 27316  // AsDelimitedTextDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27317  func (amstd AzureMySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 27318  	return nil, false
 27319  }
 27320  
 27321  // AsParquetDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27322  func (amstd AzureMySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 27323  	return nil, false
 27324  }
 27325  
 27326  // AsAvroDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27327  func (amstd AzureMySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 27328  	return nil, false
 27329  }
 27330  
 27331  // AsDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27332  func (amstd AzureMySQLTableDataset) AsDataset() (*Dataset, bool) {
 27333  	return nil, false
 27334  }
 27335  
 27336  // AsBasicDataset is the BasicDataset implementation for AzureMySQLTableDataset.
 27337  func (amstd AzureMySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
 27338  	return &amstd, true
 27339  }
 27340  
 27341  // UnmarshalJSON is the custom unmarshaler for AzureMySQLTableDataset struct.
 27342  func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error {
 27343  	var m map[string]*json.RawMessage
 27344  	err := json.Unmarshal(body, &m)
 27345  	if err != nil {
 27346  		return err
 27347  	}
 27348  	for k, v := range m {
 27349  		switch k {
 27350  		case "typeProperties":
 27351  			if v != nil {
 27352  				var azureMySQLTableDatasetTypeProperties AzureMySQLTableDatasetTypeProperties
 27353  				err = json.Unmarshal(*v, &azureMySQLTableDatasetTypeProperties)
 27354  				if err != nil {
 27355  					return err
 27356  				}
 27357  				amstd.AzureMySQLTableDatasetTypeProperties = &azureMySQLTableDatasetTypeProperties
 27358  			}
 27359  		default:
 27360  			if v != nil {
 27361  				var additionalProperties interface{}
 27362  				err = json.Unmarshal(*v, &additionalProperties)
 27363  				if err != nil {
 27364  					return err
 27365  				}
 27366  				if amstd.AdditionalProperties == nil {
 27367  					amstd.AdditionalProperties = make(map[string]interface{})
 27368  				}
 27369  				amstd.AdditionalProperties[k] = additionalProperties
 27370  			}
 27371  		case "description":
 27372  			if v != nil {
 27373  				var description string
 27374  				err = json.Unmarshal(*v, &description)
 27375  				if err != nil {
 27376  					return err
 27377  				}
 27378  				amstd.Description = &description
 27379  			}
 27380  		case "structure":
 27381  			if v != nil {
 27382  				var structure interface{}
 27383  				err = json.Unmarshal(*v, &structure)
 27384  				if err != nil {
 27385  					return err
 27386  				}
 27387  				amstd.Structure = structure
 27388  			}
 27389  		case "schema":
 27390  			if v != nil {
 27391  				var schema interface{}
 27392  				err = json.Unmarshal(*v, &schema)
 27393  				if err != nil {
 27394  					return err
 27395  				}
 27396  				amstd.Schema = schema
 27397  			}
 27398  		case "linkedServiceName":
 27399  			if v != nil {
 27400  				var linkedServiceName LinkedServiceReference
 27401  				err = json.Unmarshal(*v, &linkedServiceName)
 27402  				if err != nil {
 27403  					return err
 27404  				}
 27405  				amstd.LinkedServiceName = &linkedServiceName
 27406  			}
 27407  		case "parameters":
 27408  			if v != nil {
 27409  				var parameters map[string]*ParameterSpecification
 27410  				err = json.Unmarshal(*v, &parameters)
 27411  				if err != nil {
 27412  					return err
 27413  				}
 27414  				amstd.Parameters = parameters
 27415  			}
 27416  		case "annotations":
 27417  			if v != nil {
 27418  				var annotations []interface{}
 27419  				err = json.Unmarshal(*v, &annotations)
 27420  				if err != nil {
 27421  					return err
 27422  				}
 27423  				amstd.Annotations = &annotations
 27424  			}
 27425  		case "folder":
 27426  			if v != nil {
 27427  				var folder DatasetFolder
 27428  				err = json.Unmarshal(*v, &folder)
 27429  				if err != nil {
 27430  					return err
 27431  				}
 27432  				amstd.Folder = &folder
 27433  			}
 27434  		case "type":
 27435  			if v != nil {
 27436  				var typeVar TypeBasicDataset
 27437  				err = json.Unmarshal(*v, &typeVar)
 27438  				if err != nil {
 27439  					return err
 27440  				}
 27441  				amstd.Type = typeVar
 27442  			}
 27443  		}
 27444  	}
 27445  
 27446  	return nil
 27447  }
 27448  
 27449  // AzureMySQLTableDatasetTypeProperties azure MySQL database dataset properties.
 27450  type AzureMySQLTableDatasetTypeProperties struct {
 27451  	// TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string).
 27452  	TableName interface{} `json:"tableName,omitempty"`
 27453  	// Table - The name of Azure MySQL database table. Type: string (or Expression with resultType string).
 27454  	Table interface{} `json:"table,omitempty"`
 27455  }
 27456  
 27457  // AzurePostgreSQLLinkedService azure PostgreSQL linked service.
 27458  type AzurePostgreSQLLinkedService struct {
 27459  	// AzurePostgreSQLLinkedServiceTypeProperties - Azure PostgreSQL linked service properties.
 27460  	*AzurePostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 27461  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 27462  	AdditionalProperties map[string]interface{} `json:""`
 27463  	// ConnectVia - The integration runtime reference.
 27464  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 27465  	// Description - Linked service description.
 27466  	Description *string `json:"description,omitempty"`
 27467  	// Parameters - Parameters for linked service.
 27468  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 27469  	// Annotations - List of tags that can be used for describing the linked service.
 27470  	Annotations *[]interface{} `json:"annotations,omitempty"`
 27471  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 27472  	Type TypeBasicLinkedService `json:"type,omitempty"`
 27473  }
 27474  
 27475  // MarshalJSON is the custom marshaler for AzurePostgreSQLLinkedService.
 27476  func (apsls AzurePostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
 27477  	apsls.Type = TypeAzurePostgreSQL
 27478  	objectMap := make(map[string]interface{})
 27479  	if apsls.AzurePostgreSQLLinkedServiceTypeProperties != nil {
 27480  		objectMap["typeProperties"] = apsls.AzurePostgreSQLLinkedServiceTypeProperties
 27481  	}
 27482  	if apsls.ConnectVia != nil {
 27483  		objectMap["connectVia"] = apsls.ConnectVia
 27484  	}
 27485  	if apsls.Description != nil {
 27486  		objectMap["description"] = apsls.Description
 27487  	}
 27488  	if apsls.Parameters != nil {
 27489  		objectMap["parameters"] = apsls.Parameters
 27490  	}
 27491  	if apsls.Annotations != nil {
 27492  		objectMap["annotations"] = apsls.Annotations
 27493  	}
 27494  	if apsls.Type != "" {
 27495  		objectMap["type"] = apsls.Type
 27496  	}
 27497  	for k, v := range apsls.AdditionalProperties {
 27498  		objectMap[k] = v
 27499  	}
 27500  	return json.Marshal(objectMap)
 27501  }
 27502  
 27503  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27504  func (apsls AzurePostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 27505  	return nil, false
 27506  }
 27507  
 27508  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27509  func (apsls AzurePostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 27510  	return nil, false
 27511  }
 27512  
 27513  // AsSapTableLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27514  func (apsls AzurePostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 27515  	return nil, false
 27516  }
 27517  
 27518  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27519  func (apsls AzurePostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 27520  	return nil, false
 27521  }
 27522  
 27523  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27524  func (apsls AzurePostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 27525  	return nil, false
 27526  }
 27527  
 27528  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27529  func (apsls AzurePostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 27530  	return nil, false
 27531  }
 27532  
 27533  // AsResponsysLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27534  func (apsls AzurePostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 27535  	return nil, false
 27536  }
 27537  
 27538  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27539  func (apsls AzurePostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 27540  	return nil, false
 27541  }
 27542  
 27543  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27544  func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 27545  	return nil, false
 27546  }
 27547  
 27548  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27549  func (apsls AzurePostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 27550  	return nil, false
 27551  }
 27552  
 27553  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27554  func (apsls AzurePostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 27555  	return nil, false
 27556  }
 27557  
 27558  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27559  func (apsls AzurePostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 27560  	return nil, false
 27561  }
 27562  
 27563  // AsVerticaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27564  func (apsls AzurePostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 27565  	return nil, false
 27566  }
 27567  
 27568  // AsZohoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27569  func (apsls AzurePostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 27570  	return nil, false
 27571  }
 27572  
 27573  // AsXeroLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27574  func (apsls AzurePostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 27575  	return nil, false
 27576  }
 27577  
 27578  // AsSquareLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27579  func (apsls AzurePostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 27580  	return nil, false
 27581  }
 27582  
 27583  // AsSparkLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27584  func (apsls AzurePostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 27585  	return nil, false
 27586  }
 27587  
 27588  // AsShopifyLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27589  func (apsls AzurePostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 27590  	return nil, false
 27591  }
 27592  
 27593  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27594  func (apsls AzurePostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 27595  	return nil, false
 27596  }
 27597  
 27598  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27599  func (apsls AzurePostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 27600  	return nil, false
 27601  }
 27602  
 27603  // AsPrestoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27604  func (apsls AzurePostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 27605  	return nil, false
 27606  }
 27607  
 27608  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27609  func (apsls AzurePostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 27610  	return nil, false
 27611  }
 27612  
 27613  // AsPaypalLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27614  func (apsls AzurePostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 27615  	return nil, false
 27616  }
 27617  
 27618  // AsMarketoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27619  func (apsls AzurePostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 27620  	return nil, false
 27621  }
 27622  
 27623  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27624  func (apsls AzurePostgreSQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 27625  	return nil, false
 27626  }
 27627  
 27628  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27629  func (apsls AzurePostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 27630  	return nil, false
 27631  }
 27632  
 27633  // AsMagentoLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27634  func (apsls AzurePostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 27635  	return nil, false
 27636  }
 27637  
 27638  // AsJiraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27639  func (apsls AzurePostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 27640  	return nil, false
 27641  }
 27642  
 27643  // AsImpalaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27644  func (apsls AzurePostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 27645  	return nil, false
 27646  }
 27647  
 27648  // AsHubspotLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27649  func (apsls AzurePostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 27650  	return nil, false
 27651  }
 27652  
 27653  // AsHiveLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27654  func (apsls AzurePostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 27655  	return nil, false
 27656  }
 27657  
 27658  // AsHBaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27659  func (apsls AzurePostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 27660  	return nil, false
 27661  }
 27662  
 27663  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27664  func (apsls AzurePostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 27665  	return nil, false
 27666  }
 27667  
 27668  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27669  func (apsls AzurePostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 27670  	return nil, false
 27671  }
 27672  
 27673  // AsEloquaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27674  func (apsls AzurePostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 27675  	return nil, false
 27676  }
 27677  
 27678  // AsDrillLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27679  func (apsls AzurePostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 27680  	return nil, false
 27681  }
 27682  
 27683  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27684  func (apsls AzurePostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 27685  	return nil, false
 27686  }
 27687  
 27688  // AsConcurLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27689  func (apsls AzurePostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 27690  	return nil, false
 27691  }
 27692  
 27693  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27694  func (apsls AzurePostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 27695  	return &apsls, true
 27696  }
 27697  
 27698  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27699  func (apsls AzurePostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 27700  	return nil, false
 27701  }
 27702  
 27703  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27704  func (apsls AzurePostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 27705  	return nil, false
 27706  }
 27707  
 27708  // AsSapBWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27709  func (apsls AzurePostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 27710  	return nil, false
 27711  }
 27712  
 27713  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27714  func (apsls AzurePostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 27715  	return nil, false
 27716  }
 27717  
 27718  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27719  func (apsls AzurePostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 27720  	return nil, false
 27721  }
 27722  
 27723  // AsHTTPLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27724  func (apsls AzurePostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 27725  	return nil, false
 27726  }
 27727  
 27728  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27729  func (apsls AzurePostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 27730  	return nil, false
 27731  }
 27732  
 27733  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27734  func (apsls AzurePostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 27735  	return nil, false
 27736  }
 27737  
 27738  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27739  func (apsls AzurePostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 27740  	return nil, false
 27741  }
 27742  
 27743  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27744  func (apsls AzurePostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 27745  	return nil, false
 27746  }
 27747  
 27748  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27749  func (apsls AzurePostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 27750  	return nil, false
 27751  }
 27752  
 27753  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27754  func (apsls AzurePostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 27755  	return nil, false
 27756  }
 27757  
 27758  // AsSapEccLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27759  func (apsls AzurePostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 27760  	return nil, false
 27761  }
 27762  
 27763  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27764  func (apsls AzurePostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 27765  	return nil, false
 27766  }
 27767  
 27768  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27769  func (apsls AzurePostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 27770  	return nil, false
 27771  }
 27772  
 27773  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27774  func (apsls AzurePostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 27775  	return nil, false
 27776  }
 27777  
 27778  // AsOffice365LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27779  func (apsls AzurePostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 27780  	return nil, false
 27781  }
 27782  
 27783  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27784  func (apsls AzurePostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 27785  	return nil, false
 27786  }
 27787  
 27788  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27789  func (apsls AzurePostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 27790  	return nil, false
 27791  }
 27792  
 27793  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27794  func (apsls AzurePostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 27795  	return nil, false
 27796  }
 27797  
 27798  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27799  func (apsls AzurePostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 27800  	return nil, false
 27801  }
 27802  
 27803  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27804  func (apsls AzurePostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 27805  	return nil, false
 27806  }
 27807  
 27808  // AsCassandraLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27809  func (apsls AzurePostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 27810  	return nil, false
 27811  }
 27812  
 27813  // AsWebLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27814  func (apsls AzurePostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 27815  	return nil, false
 27816  }
 27817  
 27818  // AsODataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27819  func (apsls AzurePostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 27820  	return nil, false
 27821  }
 27822  
 27823  // AsHdfsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27824  func (apsls AzurePostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 27825  	return nil, false
 27826  }
 27827  
 27828  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27829  func (apsls AzurePostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 27830  	return nil, false
 27831  }
 27832  
 27833  // AsInformixLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27834  func (apsls AzurePostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 27835  	return nil, false
 27836  }
 27837  
 27838  // AsOdbcLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27839  func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 27840  	return nil, false
 27841  }
 27842  
 27843  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27844  func (apsls AzurePostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 27845  	return nil, false
 27846  }
 27847  
 27848  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27849  func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 27850  	return nil, false
 27851  }
 27852  
 27853  // AsTeradataLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27854  func (apsls AzurePostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 27855  	return nil, false
 27856  }
 27857  
 27858  // AsDb2LinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27859  func (apsls AzurePostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 27860  	return nil, false
 27861  }
 27862  
 27863  // AsSybaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27864  func (apsls AzurePostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 27865  	return nil, false
 27866  }
 27867  
 27868  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27869  func (apsls AzurePostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 27870  	return nil, false
 27871  }
 27872  
 27873  // AsMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27874  func (apsls AzurePostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 27875  	return nil, false
 27876  }
 27877  
 27878  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27879  func (apsls AzurePostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 27880  	return nil, false
 27881  }
 27882  
 27883  // AsOracleLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27884  func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 27885  	return nil, false
 27886  }
 27887  
 27888  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27889  func (apsls AzurePostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 27890  	return nil, false
 27891  }
 27892  
 27893  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27894  func (apsls AzurePostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 27895  	return nil, false
 27896  }
 27897  
 27898  // AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27899  func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 27900  	return nil, false
 27901  }
 27902  
 27903  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27904  func (apsls AzurePostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 27905  	return nil, false
 27906  }
 27907  
 27908  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27909  func (apsls AzurePostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 27910  	return nil, false
 27911  }
 27912  
 27913  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27914  func (apsls AzurePostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 27915  	return nil, false
 27916  }
 27917  
 27918  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27919  func (apsls AzurePostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 27920  	return nil, false
 27921  }
 27922  
 27923  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27924  func (apsls AzurePostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 27925  	return nil, false
 27926  }
 27927  
 27928  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27929  func (apsls AzurePostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 27930  	return nil, false
 27931  }
 27932  
 27933  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27934  func (apsls AzurePostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 27935  	return nil, false
 27936  }
 27937  
 27938  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27939  func (apsls AzurePostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 27940  	return nil, false
 27941  }
 27942  
 27943  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27944  func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 27945  	return nil, false
 27946  }
 27947  
 27948  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27949  func (apsls AzurePostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 27950  	return nil, false
 27951  }
 27952  
 27953  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27954  func (apsls AzurePostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 27955  	return nil, false
 27956  }
 27957  
 27958  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27959  func (apsls AzurePostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 27960  	return nil, false
 27961  }
 27962  
 27963  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27964  func (apsls AzurePostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 27965  	return nil, false
 27966  }
 27967  
 27968  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27969  func (apsls AzurePostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 27970  	return nil, false
 27971  }
 27972  
 27973  // AsLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27974  func (apsls AzurePostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
 27975  	return nil, false
 27976  }
 27977  
 27978  // AsBasicLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService.
 27979  func (apsls AzurePostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 27980  	return &apsls, true
 27981  }
 27982  
 27983  // UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLLinkedService struct.
 27984  func (apsls *AzurePostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
 27985  	var m map[string]*json.RawMessage
 27986  	err := json.Unmarshal(body, &m)
 27987  	if err != nil {
 27988  		return err
 27989  	}
 27990  	for k, v := range m {
 27991  		switch k {
 27992  		case "typeProperties":
 27993  			if v != nil {
 27994  				var azurePostgreSQLLinkedServiceTypeProperties AzurePostgreSQLLinkedServiceTypeProperties
 27995  				err = json.Unmarshal(*v, &azurePostgreSQLLinkedServiceTypeProperties)
 27996  				if err != nil {
 27997  					return err
 27998  				}
 27999  				apsls.AzurePostgreSQLLinkedServiceTypeProperties = &azurePostgreSQLLinkedServiceTypeProperties
 28000  			}
 28001  		default:
 28002  			if v != nil {
 28003  				var additionalProperties interface{}
 28004  				err = json.Unmarshal(*v, &additionalProperties)
 28005  				if err != nil {
 28006  					return err
 28007  				}
 28008  				if apsls.AdditionalProperties == nil {
 28009  					apsls.AdditionalProperties = make(map[string]interface{})
 28010  				}
 28011  				apsls.AdditionalProperties[k] = additionalProperties
 28012  			}
 28013  		case "connectVia":
 28014  			if v != nil {
 28015  				var connectVia IntegrationRuntimeReference
 28016  				err = json.Unmarshal(*v, &connectVia)
 28017  				if err != nil {
 28018  					return err
 28019  				}
 28020  				apsls.ConnectVia = &connectVia
 28021  			}
 28022  		case "description":
 28023  			if v != nil {
 28024  				var description string
 28025  				err = json.Unmarshal(*v, &description)
 28026  				if err != nil {
 28027  					return err
 28028  				}
 28029  				apsls.Description = &description
 28030  			}
 28031  		case "parameters":
 28032  			if v != nil {
 28033  				var parameters map[string]*ParameterSpecification
 28034  				err = json.Unmarshal(*v, &parameters)
 28035  				if err != nil {
 28036  					return err
 28037  				}
 28038  				apsls.Parameters = parameters
 28039  			}
 28040  		case "annotations":
 28041  			if v != nil {
 28042  				var annotations []interface{}
 28043  				err = json.Unmarshal(*v, &annotations)
 28044  				if err != nil {
 28045  					return err
 28046  				}
 28047  				apsls.Annotations = &annotations
 28048  			}
 28049  		case "type":
 28050  			if v != nil {
 28051  				var typeVar TypeBasicLinkedService
 28052  				err = json.Unmarshal(*v, &typeVar)
 28053  				if err != nil {
 28054  					return err
 28055  				}
 28056  				apsls.Type = typeVar
 28057  			}
 28058  		}
 28059  	}
 28060  
 28061  	return nil
 28062  }
 28063  
 28064  // AzurePostgreSQLLinkedServiceTypeProperties azure PostgreSQL linked service properties.
 28065  type AzurePostgreSQLLinkedServiceTypeProperties struct {
 28066  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 28067  	ConnectionString interface{} `json:"connectionString,omitempty"`
 28068  	// Password - The Azure key vault secret reference of password in connection string.
 28069  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
 28070  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 28071  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 28072  }
 28073  
 28074  // AzurePostgreSQLSink a copy activity Azure PostgreSQL sink.
 28075  type AzurePostgreSQLSink struct {
 28076  	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
 28077  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
 28078  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 28079  	AdditionalProperties map[string]interface{} `json:""`
 28080  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 28081  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 28082  	// 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])).
 28083  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 28084  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 28085  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 28086  	// 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])).
 28087  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 28088  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 28089  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 28090  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 28091  	Type TypeBasicCopySink `json:"type,omitempty"`
 28092  }
 28093  
 28094  // MarshalJSON is the custom marshaler for AzurePostgreSQLSink.
 28095  func (apss AzurePostgreSQLSink) MarshalJSON() ([]byte, error) {
 28096  	apss.Type = TypeAzurePostgreSQLSink
 28097  	objectMap := make(map[string]interface{})
 28098  	if apss.PreCopyScript != nil {
 28099  		objectMap["preCopyScript"] = apss.PreCopyScript
 28100  	}
 28101  	if apss.WriteBatchSize != nil {
 28102  		objectMap["writeBatchSize"] = apss.WriteBatchSize
 28103  	}
 28104  	if apss.WriteBatchTimeout != nil {
 28105  		objectMap["writeBatchTimeout"] = apss.WriteBatchTimeout
 28106  	}
 28107  	if apss.SinkRetryCount != nil {
 28108  		objectMap["sinkRetryCount"] = apss.SinkRetryCount
 28109  	}
 28110  	if apss.SinkRetryWait != nil {
 28111  		objectMap["sinkRetryWait"] = apss.SinkRetryWait
 28112  	}
 28113  	if apss.MaxConcurrentConnections != nil {
 28114  		objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections
 28115  	}
 28116  	if apss.Type != "" {
 28117  		objectMap["type"] = apss.Type
 28118  	}
 28119  	for k, v := range apss.AdditionalProperties {
 28120  		objectMap[k] = v
 28121  	}
 28122  	return json.Marshal(objectMap)
 28123  }
 28124  
 28125  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28126  func (apss AzurePostgreSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 28127  	return nil, false
 28128  }
 28129  
 28130  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28131  func (apss AzurePostgreSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 28132  	return nil, false
 28133  }
 28134  
 28135  // AsSalesforceSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28136  func (apss AzurePostgreSQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
 28137  	return nil, false
 28138  }
 28139  
 28140  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28141  func (apss AzurePostgreSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 28142  	return nil, false
 28143  }
 28144  
 28145  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28146  func (apss AzurePostgreSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 28147  	return nil, false
 28148  }
 28149  
 28150  // AsDynamicsCrmSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28151  func (apss AzurePostgreSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 28152  	return nil, false
 28153  }
 28154  
 28155  // AsDynamicsSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28156  func (apss AzurePostgreSQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
 28157  	return nil, false
 28158  }
 28159  
 28160  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28161  func (apss AzurePostgreSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 28162  	return nil, false
 28163  }
 28164  
 28165  // AsInformixSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28166  func (apss AzurePostgreSQLSink) AsInformixSink() (*InformixSink, bool) {
 28167  	return nil, false
 28168  }
 28169  
 28170  // AsOdbcSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28171  func (apss AzurePostgreSQLSink) AsOdbcSink() (*OdbcSink, bool) {
 28172  	return nil, false
 28173  }
 28174  
 28175  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28176  func (apss AzurePostgreSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 28177  	return nil, false
 28178  }
 28179  
 28180  // AsAzureBlobFSSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28181  func (apss AzurePostgreSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 28182  	return nil, false
 28183  }
 28184  
 28185  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28186  func (apss AzurePostgreSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 28187  	return nil, false
 28188  }
 28189  
 28190  // AsOracleSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28191  func (apss AzurePostgreSQLSink) AsOracleSink() (*OracleSink, bool) {
 28192  	return nil, false
 28193  }
 28194  
 28195  // AsSQLDWSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28196  func (apss AzurePostgreSQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
 28197  	return nil, false
 28198  }
 28199  
 28200  // AsSQLMISink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28201  func (apss AzurePostgreSQLSink) AsSQLMISink() (*SQLMISink, bool) {
 28202  	return nil, false
 28203  }
 28204  
 28205  // AsAzureSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28206  func (apss AzurePostgreSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 28207  	return nil, false
 28208  }
 28209  
 28210  // AsSQLServerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28211  func (apss AzurePostgreSQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
 28212  	return nil, false
 28213  }
 28214  
 28215  // AsSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28216  func (apss AzurePostgreSQLSink) AsSQLSink() (*SQLSink, bool) {
 28217  	return nil, false
 28218  }
 28219  
 28220  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28221  func (apss AzurePostgreSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 28222  	return nil, false
 28223  }
 28224  
 28225  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28226  func (apss AzurePostgreSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 28227  	return nil, false
 28228  }
 28229  
 28230  // AsFileSystemSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28231  func (apss AzurePostgreSQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
 28232  	return nil, false
 28233  }
 28234  
 28235  // AsBlobSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28236  func (apss AzurePostgreSQLSink) AsBlobSink() (*BlobSink, bool) {
 28237  	return nil, false
 28238  }
 28239  
 28240  // AsBinarySink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28241  func (apss AzurePostgreSQLSink) AsBinarySink() (*BinarySink, bool) {
 28242  	return nil, false
 28243  }
 28244  
 28245  // AsParquetSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28246  func (apss AzurePostgreSQLSink) AsParquetSink() (*ParquetSink, bool) {
 28247  	return nil, false
 28248  }
 28249  
 28250  // AsAvroSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28251  func (apss AzurePostgreSQLSink) AsAvroSink() (*AvroSink, bool) {
 28252  	return nil, false
 28253  }
 28254  
 28255  // AsAzureTableSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28256  func (apss AzurePostgreSQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
 28257  	return nil, false
 28258  }
 28259  
 28260  // AsAzureQueueSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28261  func (apss AzurePostgreSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 28262  	return nil, false
 28263  }
 28264  
 28265  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28266  func (apss AzurePostgreSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 28267  	return nil, false
 28268  }
 28269  
 28270  // AsAzureMySQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28271  func (apss AzurePostgreSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 28272  	return nil, false
 28273  }
 28274  
 28275  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28276  func (apss AzurePostgreSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 28277  	return &apss, true
 28278  }
 28279  
 28280  // AsOrcSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28281  func (apss AzurePostgreSQLSink) AsOrcSink() (*OrcSink, bool) {
 28282  	return nil, false
 28283  }
 28284  
 28285  // AsJSONSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28286  func (apss AzurePostgreSQLSink) AsJSONSink() (*JSONSink, bool) {
 28287  	return nil, false
 28288  }
 28289  
 28290  // AsDelimitedTextSink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28291  func (apss AzurePostgreSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 28292  	return nil, false
 28293  }
 28294  
 28295  // AsCopySink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28296  func (apss AzurePostgreSQLSink) AsCopySink() (*CopySink, bool) {
 28297  	return nil, false
 28298  }
 28299  
 28300  // AsBasicCopySink is the BasicCopySink implementation for AzurePostgreSQLSink.
 28301  func (apss AzurePostgreSQLSink) AsBasicCopySink() (BasicCopySink, bool) {
 28302  	return &apss, true
 28303  }
 28304  
 28305  // UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSink struct.
 28306  func (apss *AzurePostgreSQLSink) UnmarshalJSON(body []byte) error {
 28307  	var m map[string]*json.RawMessage
 28308  	err := json.Unmarshal(body, &m)
 28309  	if err != nil {
 28310  		return err
 28311  	}
 28312  	for k, v := range m {
 28313  		switch k {
 28314  		case "preCopyScript":
 28315  			if v != nil {
 28316  				var preCopyScript interface{}
 28317  				err = json.Unmarshal(*v, &preCopyScript)
 28318  				if err != nil {
 28319  					return err
 28320  				}
 28321  				apss.PreCopyScript = preCopyScript
 28322  			}
 28323  		default:
 28324  			if v != nil {
 28325  				var additionalProperties interface{}
 28326  				err = json.Unmarshal(*v, &additionalProperties)
 28327  				if err != nil {
 28328  					return err
 28329  				}
 28330  				if apss.AdditionalProperties == nil {
 28331  					apss.AdditionalProperties = make(map[string]interface{})
 28332  				}
 28333  				apss.AdditionalProperties[k] = additionalProperties
 28334  			}
 28335  		case "writeBatchSize":
 28336  			if v != nil {
 28337  				var writeBatchSize interface{}
 28338  				err = json.Unmarshal(*v, &writeBatchSize)
 28339  				if err != nil {
 28340  					return err
 28341  				}
 28342  				apss.WriteBatchSize = writeBatchSize
 28343  			}
 28344  		case "writeBatchTimeout":
 28345  			if v != nil {
 28346  				var writeBatchTimeout interface{}
 28347  				err = json.Unmarshal(*v, &writeBatchTimeout)
 28348  				if err != nil {
 28349  					return err
 28350  				}
 28351  				apss.WriteBatchTimeout = writeBatchTimeout
 28352  			}
 28353  		case "sinkRetryCount":
 28354  			if v != nil {
 28355  				var sinkRetryCount interface{}
 28356  				err = json.Unmarshal(*v, &sinkRetryCount)
 28357  				if err != nil {
 28358  					return err
 28359  				}
 28360  				apss.SinkRetryCount = sinkRetryCount
 28361  			}
 28362  		case "sinkRetryWait":
 28363  			if v != nil {
 28364  				var sinkRetryWait interface{}
 28365  				err = json.Unmarshal(*v, &sinkRetryWait)
 28366  				if err != nil {
 28367  					return err
 28368  				}
 28369  				apss.SinkRetryWait = sinkRetryWait
 28370  			}
 28371  		case "maxConcurrentConnections":
 28372  			if v != nil {
 28373  				var maxConcurrentConnections interface{}
 28374  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 28375  				if err != nil {
 28376  					return err
 28377  				}
 28378  				apss.MaxConcurrentConnections = maxConcurrentConnections
 28379  			}
 28380  		case "type":
 28381  			if v != nil {
 28382  				var typeVar TypeBasicCopySink
 28383  				err = json.Unmarshal(*v, &typeVar)
 28384  				if err != nil {
 28385  					return err
 28386  				}
 28387  				apss.Type = typeVar
 28388  			}
 28389  		}
 28390  	}
 28391  
 28392  	return nil
 28393  }
 28394  
 28395  // AzurePostgreSQLSource a copy activity Azure PostgreSQL source.
 28396  type AzurePostgreSQLSource struct {
 28397  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 28398  	Query interface{} `json:"query,omitempty"`
 28399  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 28400  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 28401  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 28402  	AdditionalProperties map[string]interface{} `json:""`
 28403  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 28404  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 28405  	// 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])).
 28406  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 28407  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 28408  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 28409  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 28410  	Type TypeBasicCopySource `json:"type,omitempty"`
 28411  }
 28412  
 28413  // MarshalJSON is the custom marshaler for AzurePostgreSQLSource.
 28414  func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) {
 28415  	apss.Type = TypeAzurePostgreSQLSource
 28416  	objectMap := make(map[string]interface{})
 28417  	if apss.Query != nil {
 28418  		objectMap["query"] = apss.Query
 28419  	}
 28420  	if apss.QueryTimeout != nil {
 28421  		objectMap["queryTimeout"] = apss.QueryTimeout
 28422  	}
 28423  	if apss.SourceRetryCount != nil {
 28424  		objectMap["sourceRetryCount"] = apss.SourceRetryCount
 28425  	}
 28426  	if apss.SourceRetryWait != nil {
 28427  		objectMap["sourceRetryWait"] = apss.SourceRetryWait
 28428  	}
 28429  	if apss.MaxConcurrentConnections != nil {
 28430  		objectMap["maxConcurrentConnections"] = apss.MaxConcurrentConnections
 28431  	}
 28432  	if apss.Type != "" {
 28433  		objectMap["type"] = apss.Type
 28434  	}
 28435  	for k, v := range apss.AdditionalProperties {
 28436  		objectMap[k] = v
 28437  	}
 28438  	return json.Marshal(objectMap)
 28439  }
 28440  
 28441  // AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28442  func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
 28443  	return nil, false
 28444  }
 28445  
 28446  // AsAzureBlobFSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28447  func (apss AzurePostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 28448  	return nil, false
 28449  }
 28450  
 28451  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28452  func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 28453  	return nil, false
 28454  }
 28455  
 28456  // AsOffice365Source is the BasicCopySource implementation for AzurePostgreSQLSource.
 28457  func (apss AzurePostgreSQLSource) AsOffice365Source() (*Office365Source, bool) {
 28458  	return nil, false
 28459  }
 28460  
 28461  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28462  func (apss AzurePostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 28463  	return nil, false
 28464  }
 28465  
 28466  // AsMongoDbV2Source is the BasicCopySource implementation for AzurePostgreSQLSource.
 28467  func (apss AzurePostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 28468  	return nil, false
 28469  }
 28470  
 28471  // AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28472  func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
 28473  	return nil, false
 28474  }
 28475  
 28476  // AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28477  func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) {
 28478  	return nil, false
 28479  }
 28480  
 28481  // AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28482  func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
 28483  	return nil, false
 28484  }
 28485  
 28486  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28487  func (apss AzurePostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 28488  	return nil, false
 28489  }
 28490  
 28491  // AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28492  func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
 28493  	return nil, false
 28494  }
 28495  
 28496  // AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28497  func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
 28498  	return nil, false
 28499  }
 28500  
 28501  // AsRestSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28502  func (apss AzurePostgreSQLSource) AsRestSource() (*RestSource, bool) {
 28503  	return nil, false
 28504  }
 28505  
 28506  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28507  func (apss AzurePostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 28508  	return nil, false
 28509  }
 28510  
 28511  // AsODataSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28512  func (apss AzurePostgreSQLSource) AsODataSource() (*ODataSource, bool) {
 28513  	return nil, false
 28514  }
 28515  
 28516  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28517  func (apss AzurePostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 28518  	return nil, false
 28519  }
 28520  
 28521  // AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28522  func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
 28523  	return nil, false
 28524  }
 28525  
 28526  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28527  func (apss AzurePostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 28528  	return nil, false
 28529  }
 28530  
 28531  // AsDynamicsCrmSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28532  func (apss AzurePostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 28533  	return nil, false
 28534  }
 28535  
 28536  // AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28537  func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
 28538  	return nil, false
 28539  }
 28540  
 28541  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28542  func (apss AzurePostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 28543  	return nil, false
 28544  }
 28545  
 28546  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28547  func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 28548  	return nil, false
 28549  }
 28550  
 28551  // AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28552  func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
 28553  	return nil, false
 28554  }
 28555  
 28556  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28557  func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 28558  	return nil, false
 28559  }
 28560  
 28561  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28562  func (apss AzurePostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 28563  	return nil, false
 28564  }
 28565  
 28566  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28567  func (apss AzurePostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 28568  	return nil, false
 28569  }
 28570  
 28571  // AsDynamicsAXSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28572  func (apss AzurePostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 28573  	return nil, false
 28574  }
 28575  
 28576  // AsResponsysSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28577  func (apss AzurePostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
 28578  	return nil, false
 28579  }
 28580  
 28581  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28582  func (apss AzurePostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 28583  	return nil, false
 28584  }
 28585  
 28586  // AsVerticaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28587  func (apss AzurePostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
 28588  	return nil, false
 28589  }
 28590  
 28591  // AsNetezzaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28592  func (apss AzurePostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
 28593  	return nil, false
 28594  }
 28595  
 28596  // AsZohoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28597  func (apss AzurePostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
 28598  	return nil, false
 28599  }
 28600  
 28601  // AsXeroSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28602  func (apss AzurePostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
 28603  	return nil, false
 28604  }
 28605  
 28606  // AsSquareSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28607  func (apss AzurePostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
 28608  	return nil, false
 28609  }
 28610  
 28611  // AsSparkSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28612  func (apss AzurePostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
 28613  	return nil, false
 28614  }
 28615  
 28616  // AsShopifySource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28617  func (apss AzurePostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
 28618  	return nil, false
 28619  }
 28620  
 28621  // AsServiceNowSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28622  func (apss AzurePostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 28623  	return nil, false
 28624  }
 28625  
 28626  // AsQuickBooksSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28627  func (apss AzurePostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 28628  	return nil, false
 28629  }
 28630  
 28631  // AsPrestoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28632  func (apss AzurePostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
 28633  	return nil, false
 28634  }
 28635  
 28636  // AsPhoenixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28637  func (apss AzurePostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
 28638  	return nil, false
 28639  }
 28640  
 28641  // AsPaypalSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28642  func (apss AzurePostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
 28643  	return nil, false
 28644  }
 28645  
 28646  // AsMarketoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28647  func (apss AzurePostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
 28648  	return nil, false
 28649  }
 28650  
 28651  // AsAzureMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28652  func (apss AzurePostgreSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 28653  	return nil, false
 28654  }
 28655  
 28656  // AsMariaDBSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28657  func (apss AzurePostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
 28658  	return nil, false
 28659  }
 28660  
 28661  // AsMagentoSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28662  func (apss AzurePostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
 28663  	return nil, false
 28664  }
 28665  
 28666  // AsJiraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28667  func (apss AzurePostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
 28668  	return nil, false
 28669  }
 28670  
 28671  // AsImpalaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28672  func (apss AzurePostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
 28673  	return nil, false
 28674  }
 28675  
 28676  // AsHubspotSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28677  func (apss AzurePostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
 28678  	return nil, false
 28679  }
 28680  
 28681  // AsHiveSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28682  func (apss AzurePostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
 28683  	return nil, false
 28684  }
 28685  
 28686  // AsHBaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28687  func (apss AzurePostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
 28688  	return nil, false
 28689  }
 28690  
 28691  // AsGreenplumSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28692  func (apss AzurePostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
 28693  	return nil, false
 28694  }
 28695  
 28696  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28697  func (apss AzurePostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 28698  	return nil, false
 28699  }
 28700  
 28701  // AsEloquaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28702  func (apss AzurePostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
 28703  	return nil, false
 28704  }
 28705  
 28706  // AsDrillSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28707  func (apss AzurePostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
 28708  	return nil, false
 28709  }
 28710  
 28711  // AsCouchbaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28712  func (apss AzurePostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 28713  	return nil, false
 28714  }
 28715  
 28716  // AsConcurSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28717  func (apss AzurePostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
 28718  	return nil, false
 28719  }
 28720  
 28721  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28722  func (apss AzurePostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 28723  	return &apss, true
 28724  }
 28725  
 28726  // AsAmazonMWSSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28727  func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 28728  	return nil, false
 28729  }
 28730  
 28731  // AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28732  func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
 28733  	return nil, false
 28734  }
 28735  
 28736  // AsTeradataSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28737  func (apss AzurePostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) {
 28738  	return nil, false
 28739  }
 28740  
 28741  // AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28742  func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 28743  	return nil, false
 28744  }
 28745  
 28746  // AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28747  func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
 28748  	return nil, false
 28749  }
 28750  
 28751  // AsSQLMISource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28752  func (apss AzurePostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) {
 28753  	return nil, false
 28754  }
 28755  
 28756  // AsAzureSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28757  func (apss AzurePostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 28758  	return nil, false
 28759  }
 28760  
 28761  // AsSQLServerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28762  func (apss AzurePostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
 28763  	return nil, false
 28764  }
 28765  
 28766  // AsSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28767  func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
 28768  	return nil, false
 28769  }
 28770  
 28771  // AsSapTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28772  func (apss AzurePostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) {
 28773  	return nil, false
 28774  }
 28775  
 28776  // AsSapOpenHubSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28777  func (apss AzurePostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 28778  	return nil, false
 28779  }
 28780  
 28781  // AsSapHanaSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28782  func (apss AzurePostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
 28783  	return nil, false
 28784  }
 28785  
 28786  // AsSapEccSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28787  func (apss AzurePostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
 28788  	return nil, false
 28789  }
 28790  
 28791  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28792  func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 28793  	return nil, false
 28794  }
 28795  
 28796  // AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28797  func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
 28798  	return nil, false
 28799  }
 28800  
 28801  // AsSapBwSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28802  func (apss AzurePostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) {
 28803  	return nil, false
 28804  }
 28805  
 28806  // AsSybaseSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28807  func (apss AzurePostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) {
 28808  	return nil, false
 28809  }
 28810  
 28811  // AsPostgreSQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28812  func (apss AzurePostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 28813  	return nil, false
 28814  }
 28815  
 28816  // AsMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28817  func (apss AzurePostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) {
 28818  	return nil, false
 28819  }
 28820  
 28821  // AsOdbcSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28822  func (apss AzurePostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) {
 28823  	return nil, false
 28824  }
 28825  
 28826  // AsDb2Source is the BasicCopySource implementation for AzurePostgreSQLSource.
 28827  func (apss AzurePostgreSQLSource) AsDb2Source() (*Db2Source, bool) {
 28828  	return nil, false
 28829  }
 28830  
 28831  // AsInformixSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28832  func (apss AzurePostgreSQLSource) AsInformixSource() (*InformixSource, bool) {
 28833  	return nil, false
 28834  }
 28835  
 28836  // AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28837  func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
 28838  	return nil, false
 28839  }
 28840  
 28841  // AsTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28842  func (apss AzurePostgreSQLSource) AsTabularSource() (*TabularSource, bool) {
 28843  	return nil, false
 28844  }
 28845  
 28846  // AsBasicTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28847  func (apss AzurePostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 28848  	return &apss, true
 28849  }
 28850  
 28851  // AsBinarySource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28852  func (apss AzurePostgreSQLSource) AsBinarySource() (*BinarySource, bool) {
 28853  	return nil, false
 28854  }
 28855  
 28856  // AsOrcSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28857  func (apss AzurePostgreSQLSource) AsOrcSource() (*OrcSource, bool) {
 28858  	return nil, false
 28859  }
 28860  
 28861  // AsJSONSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28862  func (apss AzurePostgreSQLSource) AsJSONSource() (*JSONSource, bool) {
 28863  	return nil, false
 28864  }
 28865  
 28866  // AsDelimitedTextSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28867  func (apss AzurePostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 28868  	return nil, false
 28869  }
 28870  
 28871  // AsParquetSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28872  func (apss AzurePostgreSQLSource) AsParquetSource() (*ParquetSource, bool) {
 28873  	return nil, false
 28874  }
 28875  
 28876  // AsAvroSource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28877  func (apss AzurePostgreSQLSource) AsAvroSource() (*AvroSource, bool) {
 28878  	return nil, false
 28879  }
 28880  
 28881  // AsCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28882  func (apss AzurePostgreSQLSource) AsCopySource() (*CopySource, bool) {
 28883  	return nil, false
 28884  }
 28885  
 28886  // AsBasicCopySource is the BasicCopySource implementation for AzurePostgreSQLSource.
 28887  func (apss AzurePostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
 28888  	return &apss, true
 28889  }
 28890  
 28891  // UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLSource struct.
 28892  func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error {
 28893  	var m map[string]*json.RawMessage
 28894  	err := json.Unmarshal(body, &m)
 28895  	if err != nil {
 28896  		return err
 28897  	}
 28898  	for k, v := range m {
 28899  		switch k {
 28900  		case "query":
 28901  			if v != nil {
 28902  				var query interface{}
 28903  				err = json.Unmarshal(*v, &query)
 28904  				if err != nil {
 28905  					return err
 28906  				}
 28907  				apss.Query = query
 28908  			}
 28909  		case "queryTimeout":
 28910  			if v != nil {
 28911  				var queryTimeout interface{}
 28912  				err = json.Unmarshal(*v, &queryTimeout)
 28913  				if err != nil {
 28914  					return err
 28915  				}
 28916  				apss.QueryTimeout = queryTimeout
 28917  			}
 28918  		default:
 28919  			if v != nil {
 28920  				var additionalProperties interface{}
 28921  				err = json.Unmarshal(*v, &additionalProperties)
 28922  				if err != nil {
 28923  					return err
 28924  				}
 28925  				if apss.AdditionalProperties == nil {
 28926  					apss.AdditionalProperties = make(map[string]interface{})
 28927  				}
 28928  				apss.AdditionalProperties[k] = additionalProperties
 28929  			}
 28930  		case "sourceRetryCount":
 28931  			if v != nil {
 28932  				var sourceRetryCount interface{}
 28933  				err = json.Unmarshal(*v, &sourceRetryCount)
 28934  				if err != nil {
 28935  					return err
 28936  				}
 28937  				apss.SourceRetryCount = sourceRetryCount
 28938  			}
 28939  		case "sourceRetryWait":
 28940  			if v != nil {
 28941  				var sourceRetryWait interface{}
 28942  				err = json.Unmarshal(*v, &sourceRetryWait)
 28943  				if err != nil {
 28944  					return err
 28945  				}
 28946  				apss.SourceRetryWait = sourceRetryWait
 28947  			}
 28948  		case "maxConcurrentConnections":
 28949  			if v != nil {
 28950  				var maxConcurrentConnections interface{}
 28951  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 28952  				if err != nil {
 28953  					return err
 28954  				}
 28955  				apss.MaxConcurrentConnections = maxConcurrentConnections
 28956  			}
 28957  		case "type":
 28958  			if v != nil {
 28959  				var typeVar TypeBasicCopySource
 28960  				err = json.Unmarshal(*v, &typeVar)
 28961  				if err != nil {
 28962  					return err
 28963  				}
 28964  				apss.Type = typeVar
 28965  			}
 28966  		}
 28967  	}
 28968  
 28969  	return nil
 28970  }
 28971  
 28972  // AzurePostgreSQLTableDataset azure PostgreSQL dataset.
 28973  type AzurePostgreSQLTableDataset struct {
 28974  	// AzurePostgreSQLTableDatasetTypeProperties - Properties specific to this dataset type.
 28975  	*AzurePostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 28976  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 28977  	AdditionalProperties map[string]interface{} `json:""`
 28978  	// Description - Dataset description.
 28979  	Description *string `json:"description,omitempty"`
 28980  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 28981  	Structure interface{} `json:"structure,omitempty"`
 28982  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 28983  	Schema interface{} `json:"schema,omitempty"`
 28984  	// LinkedServiceName - Linked service reference.
 28985  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 28986  	// Parameters - Parameters for dataset.
 28987  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 28988  	// Annotations - List of tags that can be used for describing the Dataset.
 28989  	Annotations *[]interface{} `json:"annotations,omitempty"`
 28990  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 28991  	Folder *DatasetFolder `json:"folder,omitempty"`
 28992  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 28993  	Type TypeBasicDataset `json:"type,omitempty"`
 28994  }
 28995  
 28996  // MarshalJSON is the custom marshaler for AzurePostgreSQLTableDataset.
 28997  func (apstd AzurePostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
 28998  	apstd.Type = TypeAzurePostgreSQLTable
 28999  	objectMap := make(map[string]interface{})
 29000  	if apstd.AzurePostgreSQLTableDatasetTypeProperties != nil {
 29001  		objectMap["typeProperties"] = apstd.AzurePostgreSQLTableDatasetTypeProperties
 29002  	}
 29003  	if apstd.Description != nil {
 29004  		objectMap["description"] = apstd.Description
 29005  	}
 29006  	if apstd.Structure != nil {
 29007  		objectMap["structure"] = apstd.Structure
 29008  	}
 29009  	if apstd.Schema != nil {
 29010  		objectMap["schema"] = apstd.Schema
 29011  	}
 29012  	if apstd.LinkedServiceName != nil {
 29013  		objectMap["linkedServiceName"] = apstd.LinkedServiceName
 29014  	}
 29015  	if apstd.Parameters != nil {
 29016  		objectMap["parameters"] = apstd.Parameters
 29017  	}
 29018  	if apstd.Annotations != nil {
 29019  		objectMap["annotations"] = apstd.Annotations
 29020  	}
 29021  	if apstd.Folder != nil {
 29022  		objectMap["folder"] = apstd.Folder
 29023  	}
 29024  	if apstd.Type != "" {
 29025  		objectMap["type"] = apstd.Type
 29026  	}
 29027  	for k, v := range apstd.AdditionalProperties {
 29028  		objectMap[k] = v
 29029  	}
 29030  	return json.Marshal(objectMap)
 29031  }
 29032  
 29033  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29034  func (apstd AzurePostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 29035  	return nil, false
 29036  }
 29037  
 29038  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29039  func (apstd AzurePostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 29040  	return nil, false
 29041  }
 29042  
 29043  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29044  func (apstd AzurePostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 29045  	return nil, false
 29046  }
 29047  
 29048  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29049  func (apstd AzurePostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 29050  	return nil, false
 29051  }
 29052  
 29053  // AsResponsysObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29054  func (apstd AzurePostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 29055  	return nil, false
 29056  }
 29057  
 29058  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29059  func (apstd AzurePostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 29060  	return nil, false
 29061  }
 29062  
 29063  // AsVerticaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29064  func (apstd AzurePostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 29065  	return nil, false
 29066  }
 29067  
 29068  // AsNetezzaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29069  func (apstd AzurePostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 29070  	return nil, false
 29071  }
 29072  
 29073  // AsZohoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29074  func (apstd AzurePostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 29075  	return nil, false
 29076  }
 29077  
 29078  // AsXeroObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29079  func (apstd AzurePostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 29080  	return nil, false
 29081  }
 29082  
 29083  // AsSquareObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29084  func (apstd AzurePostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 29085  	return nil, false
 29086  }
 29087  
 29088  // AsSparkObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29089  func (apstd AzurePostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 29090  	return nil, false
 29091  }
 29092  
 29093  // AsShopifyObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29094  func (apstd AzurePostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 29095  	return nil, false
 29096  }
 29097  
 29098  // AsServiceNowObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29099  func (apstd AzurePostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 29100  	return nil, false
 29101  }
 29102  
 29103  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29104  func (apstd AzurePostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 29105  	return nil, false
 29106  }
 29107  
 29108  // AsPrestoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29109  func (apstd AzurePostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 29110  	return nil, false
 29111  }
 29112  
 29113  // AsPhoenixObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29114  func (apstd AzurePostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 29115  	return nil, false
 29116  }
 29117  
 29118  // AsPaypalObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29119  func (apstd AzurePostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 29120  	return nil, false
 29121  }
 29122  
 29123  // AsMarketoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29124  func (apstd AzurePostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 29125  	return nil, false
 29126  }
 29127  
 29128  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29129  func (apstd AzurePostgreSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 29130  	return nil, false
 29131  }
 29132  
 29133  // AsMariaDBTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29134  func (apstd AzurePostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 29135  	return nil, false
 29136  }
 29137  
 29138  // AsMagentoObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29139  func (apstd AzurePostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 29140  	return nil, false
 29141  }
 29142  
 29143  // AsJiraObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29144  func (apstd AzurePostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 29145  	return nil, false
 29146  }
 29147  
 29148  // AsImpalaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29149  func (apstd AzurePostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 29150  	return nil, false
 29151  }
 29152  
 29153  // AsHubspotObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29154  func (apstd AzurePostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 29155  	return nil, false
 29156  }
 29157  
 29158  // AsHiveObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29159  func (apstd AzurePostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 29160  	return nil, false
 29161  }
 29162  
 29163  // AsHBaseObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29164  func (apstd AzurePostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 29165  	return nil, false
 29166  }
 29167  
 29168  // AsGreenplumTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29169  func (apstd AzurePostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 29170  	return nil, false
 29171  }
 29172  
 29173  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29174  func (apstd AzurePostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 29175  	return nil, false
 29176  }
 29177  
 29178  // AsEloquaObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29179  func (apstd AzurePostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 29180  	return nil, false
 29181  }
 29182  
 29183  // AsDrillTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29184  func (apstd AzurePostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 29185  	return nil, false
 29186  }
 29187  
 29188  // AsCouchbaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29189  func (apstd AzurePostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 29190  	return nil, false
 29191  }
 29192  
 29193  // AsConcurObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29194  func (apstd AzurePostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 29195  	return nil, false
 29196  }
 29197  
 29198  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29199  func (apstd AzurePostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 29200  	return &apstd, true
 29201  }
 29202  
 29203  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29204  func (apstd AzurePostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 29205  	return nil, false
 29206  }
 29207  
 29208  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29209  func (apstd AzurePostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 29210  	return nil, false
 29211  }
 29212  
 29213  // AsWebTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29214  func (apstd AzurePostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 29215  	return nil, false
 29216  }
 29217  
 29218  // AsSapTableResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29219  func (apstd AzurePostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 29220  	return nil, false
 29221  }
 29222  
 29223  // AsRestResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29224  func (apstd AzurePostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 29225  	return nil, false
 29226  }
 29227  
 29228  // AsSQLServerTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29229  func (apstd AzurePostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 29230  	return nil, false
 29231  }
 29232  
 29233  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29234  func (apstd AzurePostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 29235  	return nil, false
 29236  }
 29237  
 29238  // AsSapHanaTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29239  func (apstd AzurePostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 29240  	return nil, false
 29241  }
 29242  
 29243  // AsSapEccResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29244  func (apstd AzurePostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 29245  	return nil, false
 29246  }
 29247  
 29248  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29249  func (apstd AzurePostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 29250  	return nil, false
 29251  }
 29252  
 29253  // AsSapBwCubeDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29254  func (apstd AzurePostgreSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 29255  	return nil, false
 29256  }
 29257  
 29258  // AsSybaseTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29259  func (apstd AzurePostgreSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 29260  	return nil, false
 29261  }
 29262  
 29263  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29264  func (apstd AzurePostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 29265  	return nil, false
 29266  }
 29267  
 29268  // AsSalesforceObjectDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29269  func (apstd AzurePostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 29270  	return nil, false
 29271  }
 29272  
 29273  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29274  func (apstd AzurePostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 29275  	return nil, false
 29276  }
 29277  
 29278  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29279  func (apstd AzurePostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 29280  	return nil, false
 29281  }
 29282  
 29283  // AsMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29284  func (apstd AzurePostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 29285  	return nil, false
 29286  }
 29287  
 29288  // AsOdbcTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29289  func (apstd AzurePostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 29290  	return nil, false
 29291  }
 29292  
 29293  // AsInformixTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29294  func (apstd AzurePostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 29295  	return nil, false
 29296  }
 29297  
 29298  // AsRelationalTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29299  func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 29300  	return nil, false
 29301  }
 29302  
 29303  // AsDb2TableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29304  func (apstd AzurePostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 29305  	return nil, false
 29306  }
 29307  
 29308  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29309  func (apstd AzurePostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 29310  	return nil, false
 29311  }
 29312  
 29313  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29314  func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 29315  	return nil, false
 29316  }
 29317  
 29318  // AsTeradataTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29319  func (apstd AzurePostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 29320  	return nil, false
 29321  }
 29322  
 29323  // AsOracleTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29324  func (apstd AzurePostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 29325  	return nil, false
 29326  }
 29327  
 29328  // AsODataResourceDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29329  func (apstd AzurePostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 29330  	return nil, false
 29331  }
 29332  
 29333  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29334  func (apstd AzurePostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 29335  	return nil, false
 29336  }
 29337  
 29338  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29339  func (apstd AzurePostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 29340  	return nil, false
 29341  }
 29342  
 29343  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29344  func (apstd AzurePostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 29345  	return nil, false
 29346  }
 29347  
 29348  // AsOffice365Dataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29349  func (apstd AzurePostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 29350  	return nil, false
 29351  }
 29352  
 29353  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29354  func (apstd AzurePostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 29355  	return nil, false
 29356  }
 29357  
 29358  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29359  func (apstd AzurePostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 29360  	return nil, false
 29361  }
 29362  
 29363  // AsDynamicsEntityDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29364  func (apstd AzurePostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 29365  	return nil, false
 29366  }
 29367  
 29368  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29369  func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 29370  	return nil, false
 29371  }
 29372  
 29373  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29374  func (apstd AzurePostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 29375  	return nil, false
 29376  }
 29377  
 29378  // AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29379  func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 29380  	return nil, false
 29381  }
 29382  
 29383  // AsCassandraTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29384  func (apstd AzurePostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 29385  	return nil, false
 29386  }
 29387  
 29388  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29389  func (apstd AzurePostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 29390  	return nil, false
 29391  }
 29392  
 29393  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29394  func (apstd AzurePostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 29395  	return nil, false
 29396  }
 29397  
 29398  // AsAzureSQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29399  func (apstd AzurePostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 29400  	return nil, false
 29401  }
 29402  
 29403  // AsAzureTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29404  func (apstd AzurePostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 29405  	return nil, false
 29406  }
 29407  
 29408  // AsBinaryDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29409  func (apstd AzurePostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 29410  	return nil, false
 29411  }
 29412  
 29413  // AsOrcDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29414  func (apstd AzurePostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 29415  	return nil, false
 29416  }
 29417  
 29418  // AsJSONDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29419  func (apstd AzurePostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 29420  	return nil, false
 29421  }
 29422  
 29423  // AsDelimitedTextDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29424  func (apstd AzurePostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 29425  	return nil, false
 29426  }
 29427  
 29428  // AsParquetDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29429  func (apstd AzurePostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 29430  	return nil, false
 29431  }
 29432  
 29433  // AsAvroDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29434  func (apstd AzurePostgreSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 29435  	return nil, false
 29436  }
 29437  
 29438  // AsDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29439  func (apstd AzurePostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
 29440  	return nil, false
 29441  }
 29442  
 29443  // AsBasicDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset.
 29444  func (apstd AzurePostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
 29445  	return &apstd, true
 29446  }
 29447  
 29448  // UnmarshalJSON is the custom unmarshaler for AzurePostgreSQLTableDataset struct.
 29449  func (apstd *AzurePostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
 29450  	var m map[string]*json.RawMessage
 29451  	err := json.Unmarshal(body, &m)
 29452  	if err != nil {
 29453  		return err
 29454  	}
 29455  	for k, v := range m {
 29456  		switch k {
 29457  		case "typeProperties":
 29458  			if v != nil {
 29459  				var azurePostgreSQLTableDatasetTypeProperties AzurePostgreSQLTableDatasetTypeProperties
 29460  				err = json.Unmarshal(*v, &azurePostgreSQLTableDatasetTypeProperties)
 29461  				if err != nil {
 29462  					return err
 29463  				}
 29464  				apstd.AzurePostgreSQLTableDatasetTypeProperties = &azurePostgreSQLTableDatasetTypeProperties
 29465  			}
 29466  		default:
 29467  			if v != nil {
 29468  				var additionalProperties interface{}
 29469  				err = json.Unmarshal(*v, &additionalProperties)
 29470  				if err != nil {
 29471  					return err
 29472  				}
 29473  				if apstd.AdditionalProperties == nil {
 29474  					apstd.AdditionalProperties = make(map[string]interface{})
 29475  				}
 29476  				apstd.AdditionalProperties[k] = additionalProperties
 29477  			}
 29478  		case "description":
 29479  			if v != nil {
 29480  				var description string
 29481  				err = json.Unmarshal(*v, &description)
 29482  				if err != nil {
 29483  					return err
 29484  				}
 29485  				apstd.Description = &description
 29486  			}
 29487  		case "structure":
 29488  			if v != nil {
 29489  				var structure interface{}
 29490  				err = json.Unmarshal(*v, &structure)
 29491  				if err != nil {
 29492  					return err
 29493  				}
 29494  				apstd.Structure = structure
 29495  			}
 29496  		case "schema":
 29497  			if v != nil {
 29498  				var schema interface{}
 29499  				err = json.Unmarshal(*v, &schema)
 29500  				if err != nil {
 29501  					return err
 29502  				}
 29503  				apstd.Schema = schema
 29504  			}
 29505  		case "linkedServiceName":
 29506  			if v != nil {
 29507  				var linkedServiceName LinkedServiceReference
 29508  				err = json.Unmarshal(*v, &linkedServiceName)
 29509  				if err != nil {
 29510  					return err
 29511  				}
 29512  				apstd.LinkedServiceName = &linkedServiceName
 29513  			}
 29514  		case "parameters":
 29515  			if v != nil {
 29516  				var parameters map[string]*ParameterSpecification
 29517  				err = json.Unmarshal(*v, &parameters)
 29518  				if err != nil {
 29519  					return err
 29520  				}
 29521  				apstd.Parameters = parameters
 29522  			}
 29523  		case "annotations":
 29524  			if v != nil {
 29525  				var annotations []interface{}
 29526  				err = json.Unmarshal(*v, &annotations)
 29527  				if err != nil {
 29528  					return err
 29529  				}
 29530  				apstd.Annotations = &annotations
 29531  			}
 29532  		case "folder":
 29533  			if v != nil {
 29534  				var folder DatasetFolder
 29535  				err = json.Unmarshal(*v, &folder)
 29536  				if err != nil {
 29537  					return err
 29538  				}
 29539  				apstd.Folder = &folder
 29540  			}
 29541  		case "type":
 29542  			if v != nil {
 29543  				var typeVar TypeBasicDataset
 29544  				err = json.Unmarshal(*v, &typeVar)
 29545  				if err != nil {
 29546  					return err
 29547  				}
 29548  				apstd.Type = typeVar
 29549  			}
 29550  		}
 29551  	}
 29552  
 29553  	return nil
 29554  }
 29555  
 29556  // AzurePostgreSQLTableDatasetTypeProperties azure PostgreSQL dataset properties.
 29557  type AzurePostgreSQLTableDatasetTypeProperties struct {
 29558  	// TableName - The table name of the Azure PostgreSQL database which includes both schema and table. Type: string (or Expression with resultType string).
 29559  	TableName interface{} `json:"tableName,omitempty"`
 29560  	// Table - The table name of the Azure PostgreSQL database. Type: string (or Expression with resultType string).
 29561  	Table interface{} `json:"table,omitempty"`
 29562  	// Schema - The schema name of the Azure PostgreSQL database. Type: string (or Expression with resultType string).
 29563  	Schema interface{} `json:"schema,omitempty"`
 29564  }
 29565  
 29566  // AzureQueueSink a copy activity Azure Queue sink.
 29567  type AzureQueueSink struct {
 29568  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 29569  	AdditionalProperties map[string]interface{} `json:""`
 29570  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 29571  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 29572  	// 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])).
 29573  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 29574  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 29575  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 29576  	// 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])).
 29577  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 29578  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 29579  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 29580  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 29581  	Type TypeBasicCopySink `json:"type,omitempty"`
 29582  }
 29583  
 29584  // MarshalJSON is the custom marshaler for AzureQueueSink.
 29585  func (aqs AzureQueueSink) MarshalJSON() ([]byte, error) {
 29586  	aqs.Type = TypeAzureQueueSink
 29587  	objectMap := make(map[string]interface{})
 29588  	if aqs.WriteBatchSize != nil {
 29589  		objectMap["writeBatchSize"] = aqs.WriteBatchSize
 29590  	}
 29591  	if aqs.WriteBatchTimeout != nil {
 29592  		objectMap["writeBatchTimeout"] = aqs.WriteBatchTimeout
 29593  	}
 29594  	if aqs.SinkRetryCount != nil {
 29595  		objectMap["sinkRetryCount"] = aqs.SinkRetryCount
 29596  	}
 29597  	if aqs.SinkRetryWait != nil {
 29598  		objectMap["sinkRetryWait"] = aqs.SinkRetryWait
 29599  	}
 29600  	if aqs.MaxConcurrentConnections != nil {
 29601  		objectMap["maxConcurrentConnections"] = aqs.MaxConcurrentConnections
 29602  	}
 29603  	if aqs.Type != "" {
 29604  		objectMap["type"] = aqs.Type
 29605  	}
 29606  	for k, v := range aqs.AdditionalProperties {
 29607  		objectMap[k] = v
 29608  	}
 29609  	return json.Marshal(objectMap)
 29610  }
 29611  
 29612  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureQueueSink.
 29613  func (aqs AzureQueueSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 29614  	return nil, false
 29615  }
 29616  
 29617  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureQueueSink.
 29618  func (aqs AzureQueueSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 29619  	return nil, false
 29620  }
 29621  
 29622  // AsSalesforceSink is the BasicCopySink implementation for AzureQueueSink.
 29623  func (aqs AzureQueueSink) AsSalesforceSink() (*SalesforceSink, bool) {
 29624  	return nil, false
 29625  }
 29626  
 29627  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureQueueSink.
 29628  func (aqs AzureQueueSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 29629  	return nil, false
 29630  }
 29631  
 29632  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureQueueSink.
 29633  func (aqs AzureQueueSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 29634  	return nil, false
 29635  }
 29636  
 29637  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureQueueSink.
 29638  func (aqs AzureQueueSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 29639  	return nil, false
 29640  }
 29641  
 29642  // AsDynamicsSink is the BasicCopySink implementation for AzureQueueSink.
 29643  func (aqs AzureQueueSink) AsDynamicsSink() (*DynamicsSink, bool) {
 29644  	return nil, false
 29645  }
 29646  
 29647  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureQueueSink.
 29648  func (aqs AzureQueueSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 29649  	return nil, false
 29650  }
 29651  
 29652  // AsInformixSink is the BasicCopySink implementation for AzureQueueSink.
 29653  func (aqs AzureQueueSink) AsInformixSink() (*InformixSink, bool) {
 29654  	return nil, false
 29655  }
 29656  
 29657  // AsOdbcSink is the BasicCopySink implementation for AzureQueueSink.
 29658  func (aqs AzureQueueSink) AsOdbcSink() (*OdbcSink, bool) {
 29659  	return nil, false
 29660  }
 29661  
 29662  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureQueueSink.
 29663  func (aqs AzureQueueSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 29664  	return nil, false
 29665  }
 29666  
 29667  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureQueueSink.
 29668  func (aqs AzureQueueSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 29669  	return nil, false
 29670  }
 29671  
 29672  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureQueueSink.
 29673  func (aqs AzureQueueSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 29674  	return nil, false
 29675  }
 29676  
 29677  // AsOracleSink is the BasicCopySink implementation for AzureQueueSink.
 29678  func (aqs AzureQueueSink) AsOracleSink() (*OracleSink, bool) {
 29679  	return nil, false
 29680  }
 29681  
 29682  // AsSQLDWSink is the BasicCopySink implementation for AzureQueueSink.
 29683  func (aqs AzureQueueSink) AsSQLDWSink() (*SQLDWSink, bool) {
 29684  	return nil, false
 29685  }
 29686  
 29687  // AsSQLMISink is the BasicCopySink implementation for AzureQueueSink.
 29688  func (aqs AzureQueueSink) AsSQLMISink() (*SQLMISink, bool) {
 29689  	return nil, false
 29690  }
 29691  
 29692  // AsAzureSQLSink is the BasicCopySink implementation for AzureQueueSink.
 29693  func (aqs AzureQueueSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 29694  	return nil, false
 29695  }
 29696  
 29697  // AsSQLServerSink is the BasicCopySink implementation for AzureQueueSink.
 29698  func (aqs AzureQueueSink) AsSQLServerSink() (*SQLServerSink, bool) {
 29699  	return nil, false
 29700  }
 29701  
 29702  // AsSQLSink is the BasicCopySink implementation for AzureQueueSink.
 29703  func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) {
 29704  	return nil, false
 29705  }
 29706  
 29707  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureQueueSink.
 29708  func (aqs AzureQueueSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 29709  	return nil, false
 29710  }
 29711  
 29712  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink.
 29713  func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 29714  	return nil, false
 29715  }
 29716  
 29717  // AsFileSystemSink is the BasicCopySink implementation for AzureQueueSink.
 29718  func (aqs AzureQueueSink) AsFileSystemSink() (*FileSystemSink, bool) {
 29719  	return nil, false
 29720  }
 29721  
 29722  // AsBlobSink is the BasicCopySink implementation for AzureQueueSink.
 29723  func (aqs AzureQueueSink) AsBlobSink() (*BlobSink, bool) {
 29724  	return nil, false
 29725  }
 29726  
 29727  // AsBinarySink is the BasicCopySink implementation for AzureQueueSink.
 29728  func (aqs AzureQueueSink) AsBinarySink() (*BinarySink, bool) {
 29729  	return nil, false
 29730  }
 29731  
 29732  // AsParquetSink is the BasicCopySink implementation for AzureQueueSink.
 29733  func (aqs AzureQueueSink) AsParquetSink() (*ParquetSink, bool) {
 29734  	return nil, false
 29735  }
 29736  
 29737  // AsAvroSink is the BasicCopySink implementation for AzureQueueSink.
 29738  func (aqs AzureQueueSink) AsAvroSink() (*AvroSink, bool) {
 29739  	return nil, false
 29740  }
 29741  
 29742  // AsAzureTableSink is the BasicCopySink implementation for AzureQueueSink.
 29743  func (aqs AzureQueueSink) AsAzureTableSink() (*AzureTableSink, bool) {
 29744  	return nil, false
 29745  }
 29746  
 29747  // AsAzureQueueSink is the BasicCopySink implementation for AzureQueueSink.
 29748  func (aqs AzureQueueSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 29749  	return &aqs, true
 29750  }
 29751  
 29752  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureQueueSink.
 29753  func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 29754  	return nil, false
 29755  }
 29756  
 29757  // AsAzureMySQLSink is the BasicCopySink implementation for AzureQueueSink.
 29758  func (aqs AzureQueueSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 29759  	return nil, false
 29760  }
 29761  
 29762  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureQueueSink.
 29763  func (aqs AzureQueueSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 29764  	return nil, false
 29765  }
 29766  
 29767  // AsOrcSink is the BasicCopySink implementation for AzureQueueSink.
 29768  func (aqs AzureQueueSink) AsOrcSink() (*OrcSink, bool) {
 29769  	return nil, false
 29770  }
 29771  
 29772  // AsJSONSink is the BasicCopySink implementation for AzureQueueSink.
 29773  func (aqs AzureQueueSink) AsJSONSink() (*JSONSink, bool) {
 29774  	return nil, false
 29775  }
 29776  
 29777  // AsDelimitedTextSink is the BasicCopySink implementation for AzureQueueSink.
 29778  func (aqs AzureQueueSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 29779  	return nil, false
 29780  }
 29781  
 29782  // AsCopySink is the BasicCopySink implementation for AzureQueueSink.
 29783  func (aqs AzureQueueSink) AsCopySink() (*CopySink, bool) {
 29784  	return nil, false
 29785  }
 29786  
 29787  // AsBasicCopySink is the BasicCopySink implementation for AzureQueueSink.
 29788  func (aqs AzureQueueSink) AsBasicCopySink() (BasicCopySink, bool) {
 29789  	return &aqs, true
 29790  }
 29791  
 29792  // UnmarshalJSON is the custom unmarshaler for AzureQueueSink struct.
 29793  func (aqs *AzureQueueSink) UnmarshalJSON(body []byte) error {
 29794  	var m map[string]*json.RawMessage
 29795  	err := json.Unmarshal(body, &m)
 29796  	if err != nil {
 29797  		return err
 29798  	}
 29799  	for k, v := range m {
 29800  		switch k {
 29801  		default:
 29802  			if v != nil {
 29803  				var additionalProperties interface{}
 29804  				err = json.Unmarshal(*v, &additionalProperties)
 29805  				if err != nil {
 29806  					return err
 29807  				}
 29808  				if aqs.AdditionalProperties == nil {
 29809  					aqs.AdditionalProperties = make(map[string]interface{})
 29810  				}
 29811  				aqs.AdditionalProperties[k] = additionalProperties
 29812  			}
 29813  		case "writeBatchSize":
 29814  			if v != nil {
 29815  				var writeBatchSize interface{}
 29816  				err = json.Unmarshal(*v, &writeBatchSize)
 29817  				if err != nil {
 29818  					return err
 29819  				}
 29820  				aqs.WriteBatchSize = writeBatchSize
 29821  			}
 29822  		case "writeBatchTimeout":
 29823  			if v != nil {
 29824  				var writeBatchTimeout interface{}
 29825  				err = json.Unmarshal(*v, &writeBatchTimeout)
 29826  				if err != nil {
 29827  					return err
 29828  				}
 29829  				aqs.WriteBatchTimeout = writeBatchTimeout
 29830  			}
 29831  		case "sinkRetryCount":
 29832  			if v != nil {
 29833  				var sinkRetryCount interface{}
 29834  				err = json.Unmarshal(*v, &sinkRetryCount)
 29835  				if err != nil {
 29836  					return err
 29837  				}
 29838  				aqs.SinkRetryCount = sinkRetryCount
 29839  			}
 29840  		case "sinkRetryWait":
 29841  			if v != nil {
 29842  				var sinkRetryWait interface{}
 29843  				err = json.Unmarshal(*v, &sinkRetryWait)
 29844  				if err != nil {
 29845  					return err
 29846  				}
 29847  				aqs.SinkRetryWait = sinkRetryWait
 29848  			}
 29849  		case "maxConcurrentConnections":
 29850  			if v != nil {
 29851  				var maxConcurrentConnections interface{}
 29852  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 29853  				if err != nil {
 29854  					return err
 29855  				}
 29856  				aqs.MaxConcurrentConnections = maxConcurrentConnections
 29857  			}
 29858  		case "type":
 29859  			if v != nil {
 29860  				var typeVar TypeBasicCopySink
 29861  				err = json.Unmarshal(*v, &typeVar)
 29862  				if err != nil {
 29863  					return err
 29864  				}
 29865  				aqs.Type = typeVar
 29866  			}
 29867  		}
 29868  	}
 29869  
 29870  	return nil
 29871  }
 29872  
 29873  // AzureSearchIndexDataset the Azure Search Index.
 29874  type AzureSearchIndexDataset struct {
 29875  	// AzureSearchIndexDatasetTypeProperties - Properties specific to this dataset type.
 29876  	*AzureSearchIndexDatasetTypeProperties `json:"typeProperties,omitempty"`
 29877  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 29878  	AdditionalProperties map[string]interface{} `json:""`
 29879  	// Description - Dataset description.
 29880  	Description *string `json:"description,omitempty"`
 29881  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 29882  	Structure interface{} `json:"structure,omitempty"`
 29883  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 29884  	Schema interface{} `json:"schema,omitempty"`
 29885  	// LinkedServiceName - Linked service reference.
 29886  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 29887  	// Parameters - Parameters for dataset.
 29888  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 29889  	// Annotations - List of tags that can be used for describing the Dataset.
 29890  	Annotations *[]interface{} `json:"annotations,omitempty"`
 29891  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 29892  	Folder *DatasetFolder `json:"folder,omitempty"`
 29893  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 29894  	Type TypeBasicDataset `json:"type,omitempty"`
 29895  }
 29896  
 29897  // MarshalJSON is the custom marshaler for AzureSearchIndexDataset.
 29898  func (asid AzureSearchIndexDataset) MarshalJSON() ([]byte, error) {
 29899  	asid.Type = TypeAzureSearchIndex
 29900  	objectMap := make(map[string]interface{})
 29901  	if asid.AzureSearchIndexDatasetTypeProperties != nil {
 29902  		objectMap["typeProperties"] = asid.AzureSearchIndexDatasetTypeProperties
 29903  	}
 29904  	if asid.Description != nil {
 29905  		objectMap["description"] = asid.Description
 29906  	}
 29907  	if asid.Structure != nil {
 29908  		objectMap["structure"] = asid.Structure
 29909  	}
 29910  	if asid.Schema != nil {
 29911  		objectMap["schema"] = asid.Schema
 29912  	}
 29913  	if asid.LinkedServiceName != nil {
 29914  		objectMap["linkedServiceName"] = asid.LinkedServiceName
 29915  	}
 29916  	if asid.Parameters != nil {
 29917  		objectMap["parameters"] = asid.Parameters
 29918  	}
 29919  	if asid.Annotations != nil {
 29920  		objectMap["annotations"] = asid.Annotations
 29921  	}
 29922  	if asid.Folder != nil {
 29923  		objectMap["folder"] = asid.Folder
 29924  	}
 29925  	if asid.Type != "" {
 29926  		objectMap["type"] = asid.Type
 29927  	}
 29928  	for k, v := range asid.AdditionalProperties {
 29929  		objectMap[k] = v
 29930  	}
 29931  	return json.Marshal(objectMap)
 29932  }
 29933  
 29934  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29935  func (asid AzureSearchIndexDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 29936  	return nil, false
 29937  }
 29938  
 29939  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29940  func (asid AzureSearchIndexDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 29941  	return nil, false
 29942  }
 29943  
 29944  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29945  func (asid AzureSearchIndexDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 29946  	return nil, false
 29947  }
 29948  
 29949  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29950  func (asid AzureSearchIndexDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 29951  	return nil, false
 29952  }
 29953  
 29954  // AsResponsysObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29955  func (asid AzureSearchIndexDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 29956  	return nil, false
 29957  }
 29958  
 29959  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29960  func (asid AzureSearchIndexDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 29961  	return nil, false
 29962  }
 29963  
 29964  // AsVerticaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29965  func (asid AzureSearchIndexDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 29966  	return nil, false
 29967  }
 29968  
 29969  // AsNetezzaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29970  func (asid AzureSearchIndexDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 29971  	return nil, false
 29972  }
 29973  
 29974  // AsZohoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29975  func (asid AzureSearchIndexDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 29976  	return nil, false
 29977  }
 29978  
 29979  // AsXeroObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29980  func (asid AzureSearchIndexDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 29981  	return nil, false
 29982  }
 29983  
 29984  // AsSquareObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29985  func (asid AzureSearchIndexDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 29986  	return nil, false
 29987  }
 29988  
 29989  // AsSparkObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29990  func (asid AzureSearchIndexDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 29991  	return nil, false
 29992  }
 29993  
 29994  // AsShopifyObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 29995  func (asid AzureSearchIndexDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 29996  	return nil, false
 29997  }
 29998  
 29999  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30000  func (asid AzureSearchIndexDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 30001  	return nil, false
 30002  }
 30003  
 30004  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30005  func (asid AzureSearchIndexDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 30006  	return nil, false
 30007  }
 30008  
 30009  // AsPrestoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30010  func (asid AzureSearchIndexDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 30011  	return nil, false
 30012  }
 30013  
 30014  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30015  func (asid AzureSearchIndexDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 30016  	return nil, false
 30017  }
 30018  
 30019  // AsPaypalObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30020  func (asid AzureSearchIndexDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 30021  	return nil, false
 30022  }
 30023  
 30024  // AsMarketoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30025  func (asid AzureSearchIndexDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 30026  	return nil, false
 30027  }
 30028  
 30029  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30030  func (asid AzureSearchIndexDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 30031  	return nil, false
 30032  }
 30033  
 30034  // AsMariaDBTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30035  func (asid AzureSearchIndexDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 30036  	return nil, false
 30037  }
 30038  
 30039  // AsMagentoObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30040  func (asid AzureSearchIndexDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 30041  	return nil, false
 30042  }
 30043  
 30044  // AsJiraObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30045  func (asid AzureSearchIndexDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 30046  	return nil, false
 30047  }
 30048  
 30049  // AsImpalaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30050  func (asid AzureSearchIndexDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 30051  	return nil, false
 30052  }
 30053  
 30054  // AsHubspotObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30055  func (asid AzureSearchIndexDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 30056  	return nil, false
 30057  }
 30058  
 30059  // AsHiveObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30060  func (asid AzureSearchIndexDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 30061  	return nil, false
 30062  }
 30063  
 30064  // AsHBaseObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30065  func (asid AzureSearchIndexDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 30066  	return nil, false
 30067  }
 30068  
 30069  // AsGreenplumTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30070  func (asid AzureSearchIndexDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 30071  	return nil, false
 30072  }
 30073  
 30074  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30075  func (asid AzureSearchIndexDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 30076  	return nil, false
 30077  }
 30078  
 30079  // AsEloquaObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30080  func (asid AzureSearchIndexDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 30081  	return nil, false
 30082  }
 30083  
 30084  // AsDrillTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30085  func (asid AzureSearchIndexDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 30086  	return nil, false
 30087  }
 30088  
 30089  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30090  func (asid AzureSearchIndexDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 30091  	return nil, false
 30092  }
 30093  
 30094  // AsConcurObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30095  func (asid AzureSearchIndexDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 30096  	return nil, false
 30097  }
 30098  
 30099  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30100  func (asid AzureSearchIndexDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 30101  	return nil, false
 30102  }
 30103  
 30104  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30105  func (asid AzureSearchIndexDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 30106  	return nil, false
 30107  }
 30108  
 30109  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30110  func (asid AzureSearchIndexDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 30111  	return &asid, true
 30112  }
 30113  
 30114  // AsWebTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30115  func (asid AzureSearchIndexDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 30116  	return nil, false
 30117  }
 30118  
 30119  // AsSapTableResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30120  func (asid AzureSearchIndexDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 30121  	return nil, false
 30122  }
 30123  
 30124  // AsRestResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30125  func (asid AzureSearchIndexDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 30126  	return nil, false
 30127  }
 30128  
 30129  // AsSQLServerTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30130  func (asid AzureSearchIndexDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 30131  	return nil, false
 30132  }
 30133  
 30134  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30135  func (asid AzureSearchIndexDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 30136  	return nil, false
 30137  }
 30138  
 30139  // AsSapHanaTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30140  func (asid AzureSearchIndexDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 30141  	return nil, false
 30142  }
 30143  
 30144  // AsSapEccResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30145  func (asid AzureSearchIndexDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 30146  	return nil, false
 30147  }
 30148  
 30149  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30150  func (asid AzureSearchIndexDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 30151  	return nil, false
 30152  }
 30153  
 30154  // AsSapBwCubeDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30155  func (asid AzureSearchIndexDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 30156  	return nil, false
 30157  }
 30158  
 30159  // AsSybaseTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30160  func (asid AzureSearchIndexDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 30161  	return nil, false
 30162  }
 30163  
 30164  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30165  func (asid AzureSearchIndexDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 30166  	return nil, false
 30167  }
 30168  
 30169  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30170  func (asid AzureSearchIndexDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 30171  	return nil, false
 30172  }
 30173  
 30174  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30175  func (asid AzureSearchIndexDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 30176  	return nil, false
 30177  }
 30178  
 30179  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30180  func (asid AzureSearchIndexDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 30181  	return nil, false
 30182  }
 30183  
 30184  // AsMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30185  func (asid AzureSearchIndexDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 30186  	return nil, false
 30187  }
 30188  
 30189  // AsOdbcTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30190  func (asid AzureSearchIndexDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 30191  	return nil, false
 30192  }
 30193  
 30194  // AsInformixTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30195  func (asid AzureSearchIndexDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 30196  	return nil, false
 30197  }
 30198  
 30199  // AsRelationalTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30200  func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 30201  	return nil, false
 30202  }
 30203  
 30204  // AsDb2TableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30205  func (asid AzureSearchIndexDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 30206  	return nil, false
 30207  }
 30208  
 30209  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30210  func (asid AzureSearchIndexDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 30211  	return nil, false
 30212  }
 30213  
 30214  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30215  func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 30216  	return nil, false
 30217  }
 30218  
 30219  // AsTeradataTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30220  func (asid AzureSearchIndexDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 30221  	return nil, false
 30222  }
 30223  
 30224  // AsOracleTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30225  func (asid AzureSearchIndexDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 30226  	return nil, false
 30227  }
 30228  
 30229  // AsODataResourceDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30230  func (asid AzureSearchIndexDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 30231  	return nil, false
 30232  }
 30233  
 30234  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30235  func (asid AzureSearchIndexDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 30236  	return nil, false
 30237  }
 30238  
 30239  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30240  func (asid AzureSearchIndexDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 30241  	return nil, false
 30242  }
 30243  
 30244  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30245  func (asid AzureSearchIndexDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 30246  	return nil, false
 30247  }
 30248  
 30249  // AsOffice365Dataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30250  func (asid AzureSearchIndexDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 30251  	return nil, false
 30252  }
 30253  
 30254  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30255  func (asid AzureSearchIndexDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 30256  	return nil, false
 30257  }
 30258  
 30259  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30260  func (asid AzureSearchIndexDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 30261  	return nil, false
 30262  }
 30263  
 30264  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30265  func (asid AzureSearchIndexDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 30266  	return nil, false
 30267  }
 30268  
 30269  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30270  func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 30271  	return nil, false
 30272  }
 30273  
 30274  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30275  func (asid AzureSearchIndexDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 30276  	return nil, false
 30277  }
 30278  
 30279  // AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30280  func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) {
 30281  	return nil, false
 30282  }
 30283  
 30284  // AsCassandraTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30285  func (asid AzureSearchIndexDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 30286  	return nil, false
 30287  }
 30288  
 30289  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30290  func (asid AzureSearchIndexDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 30291  	return nil, false
 30292  }
 30293  
 30294  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30295  func (asid AzureSearchIndexDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 30296  	return nil, false
 30297  }
 30298  
 30299  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30300  func (asid AzureSearchIndexDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 30301  	return nil, false
 30302  }
 30303  
 30304  // AsAzureTableDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30305  func (asid AzureSearchIndexDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 30306  	return nil, false
 30307  }
 30308  
 30309  // AsBinaryDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30310  func (asid AzureSearchIndexDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 30311  	return nil, false
 30312  }
 30313  
 30314  // AsOrcDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30315  func (asid AzureSearchIndexDataset) AsOrcDataset() (*OrcDataset, bool) {
 30316  	return nil, false
 30317  }
 30318  
 30319  // AsJSONDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30320  func (asid AzureSearchIndexDataset) AsJSONDataset() (*JSONDataset, bool) {
 30321  	return nil, false
 30322  }
 30323  
 30324  // AsDelimitedTextDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30325  func (asid AzureSearchIndexDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 30326  	return nil, false
 30327  }
 30328  
 30329  // AsParquetDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30330  func (asid AzureSearchIndexDataset) AsParquetDataset() (*ParquetDataset, bool) {
 30331  	return nil, false
 30332  }
 30333  
 30334  // AsAvroDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30335  func (asid AzureSearchIndexDataset) AsAvroDataset() (*AvroDataset, bool) {
 30336  	return nil, false
 30337  }
 30338  
 30339  // AsDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30340  func (asid AzureSearchIndexDataset) AsDataset() (*Dataset, bool) {
 30341  	return nil, false
 30342  }
 30343  
 30344  // AsBasicDataset is the BasicDataset implementation for AzureSearchIndexDataset.
 30345  func (asid AzureSearchIndexDataset) AsBasicDataset() (BasicDataset, bool) {
 30346  	return &asid, true
 30347  }
 30348  
 30349  // UnmarshalJSON is the custom unmarshaler for AzureSearchIndexDataset struct.
 30350  func (asid *AzureSearchIndexDataset) UnmarshalJSON(body []byte) error {
 30351  	var m map[string]*json.RawMessage
 30352  	err := json.Unmarshal(body, &m)
 30353  	if err != nil {
 30354  		return err
 30355  	}
 30356  	for k, v := range m {
 30357  		switch k {
 30358  		case "typeProperties":
 30359  			if v != nil {
 30360  				var azureSearchIndexDatasetTypeProperties AzureSearchIndexDatasetTypeProperties
 30361  				err = json.Unmarshal(*v, &azureSearchIndexDatasetTypeProperties)
 30362  				if err != nil {
 30363  					return err
 30364  				}
 30365  				asid.AzureSearchIndexDatasetTypeProperties = &azureSearchIndexDatasetTypeProperties
 30366  			}
 30367  		default:
 30368  			if v != nil {
 30369  				var additionalProperties interface{}
 30370  				err = json.Unmarshal(*v, &additionalProperties)
 30371  				if err != nil {
 30372  					return err
 30373  				}
 30374  				if asid.AdditionalProperties == nil {
 30375  					asid.AdditionalProperties = make(map[string]interface{})
 30376  				}
 30377  				asid.AdditionalProperties[k] = additionalProperties
 30378  			}
 30379  		case "description":
 30380  			if v != nil {
 30381  				var description string
 30382  				err = json.Unmarshal(*v, &description)
 30383  				if err != nil {
 30384  					return err
 30385  				}
 30386  				asid.Description = &description
 30387  			}
 30388  		case "structure":
 30389  			if v != nil {
 30390  				var structure interface{}
 30391  				err = json.Unmarshal(*v, &structure)
 30392  				if err != nil {
 30393  					return err
 30394  				}
 30395  				asid.Structure = structure
 30396  			}
 30397  		case "schema":
 30398  			if v != nil {
 30399  				var schema interface{}
 30400  				err = json.Unmarshal(*v, &schema)
 30401  				if err != nil {
 30402  					return err
 30403  				}
 30404  				asid.Schema = schema
 30405  			}
 30406  		case "linkedServiceName":
 30407  			if v != nil {
 30408  				var linkedServiceName LinkedServiceReference
 30409  				err = json.Unmarshal(*v, &linkedServiceName)
 30410  				if err != nil {
 30411  					return err
 30412  				}
 30413  				asid.LinkedServiceName = &linkedServiceName
 30414  			}
 30415  		case "parameters":
 30416  			if v != nil {
 30417  				var parameters map[string]*ParameterSpecification
 30418  				err = json.Unmarshal(*v, &parameters)
 30419  				if err != nil {
 30420  					return err
 30421  				}
 30422  				asid.Parameters = parameters
 30423  			}
 30424  		case "annotations":
 30425  			if v != nil {
 30426  				var annotations []interface{}
 30427  				err = json.Unmarshal(*v, &annotations)
 30428  				if err != nil {
 30429  					return err
 30430  				}
 30431  				asid.Annotations = &annotations
 30432  			}
 30433  		case "folder":
 30434  			if v != nil {
 30435  				var folder DatasetFolder
 30436  				err = json.Unmarshal(*v, &folder)
 30437  				if err != nil {
 30438  					return err
 30439  				}
 30440  				asid.Folder = &folder
 30441  			}
 30442  		case "type":
 30443  			if v != nil {
 30444  				var typeVar TypeBasicDataset
 30445  				err = json.Unmarshal(*v, &typeVar)
 30446  				if err != nil {
 30447  					return err
 30448  				}
 30449  				asid.Type = typeVar
 30450  			}
 30451  		}
 30452  	}
 30453  
 30454  	return nil
 30455  }
 30456  
 30457  // AzureSearchIndexDatasetTypeProperties properties specific to this dataset type.
 30458  type AzureSearchIndexDatasetTypeProperties struct {
 30459  	// IndexName - The name of the Azure Search Index. Type: string (or Expression with resultType string).
 30460  	IndexName interface{} `json:"indexName,omitempty"`
 30461  }
 30462  
 30463  // AzureSearchIndexSink a copy activity Azure Search Index sink.
 30464  type AzureSearchIndexSink struct {
 30465  	// WriteBehavior - Specify the write behavior when upserting documents into Azure Search Index. Possible values include: 'Merge', 'Upload'
 30466  	WriteBehavior AzureSearchIndexWriteBehaviorType `json:"writeBehavior,omitempty"`
 30467  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 30468  	AdditionalProperties map[string]interface{} `json:""`
 30469  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 30470  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 30471  	// 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])).
 30472  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 30473  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 30474  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 30475  	// 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])).
 30476  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 30477  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 30478  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 30479  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 30480  	Type TypeBasicCopySink `json:"type,omitempty"`
 30481  }
 30482  
 30483  // MarshalJSON is the custom marshaler for AzureSearchIndexSink.
 30484  func (asis AzureSearchIndexSink) MarshalJSON() ([]byte, error) {
 30485  	asis.Type = TypeAzureSearchIndexSink
 30486  	objectMap := make(map[string]interface{})
 30487  	if asis.WriteBehavior != "" {
 30488  		objectMap["writeBehavior"] = asis.WriteBehavior
 30489  	}
 30490  	if asis.WriteBatchSize != nil {
 30491  		objectMap["writeBatchSize"] = asis.WriteBatchSize
 30492  	}
 30493  	if asis.WriteBatchTimeout != nil {
 30494  		objectMap["writeBatchTimeout"] = asis.WriteBatchTimeout
 30495  	}
 30496  	if asis.SinkRetryCount != nil {
 30497  		objectMap["sinkRetryCount"] = asis.SinkRetryCount
 30498  	}
 30499  	if asis.SinkRetryWait != nil {
 30500  		objectMap["sinkRetryWait"] = asis.SinkRetryWait
 30501  	}
 30502  	if asis.MaxConcurrentConnections != nil {
 30503  		objectMap["maxConcurrentConnections"] = asis.MaxConcurrentConnections
 30504  	}
 30505  	if asis.Type != "" {
 30506  		objectMap["type"] = asis.Type
 30507  	}
 30508  	for k, v := range asis.AdditionalProperties {
 30509  		objectMap[k] = v
 30510  	}
 30511  	return json.Marshal(objectMap)
 30512  }
 30513  
 30514  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSearchIndexSink.
 30515  func (asis AzureSearchIndexSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 30516  	return nil, false
 30517  }
 30518  
 30519  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30520  func (asis AzureSearchIndexSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 30521  	return nil, false
 30522  }
 30523  
 30524  // AsSalesforceSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30525  func (asis AzureSearchIndexSink) AsSalesforceSink() (*SalesforceSink, bool) {
 30526  	return nil, false
 30527  }
 30528  
 30529  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30530  func (asis AzureSearchIndexSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 30531  	return nil, false
 30532  }
 30533  
 30534  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30535  func (asis AzureSearchIndexSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 30536  	return nil, false
 30537  }
 30538  
 30539  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30540  func (asis AzureSearchIndexSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 30541  	return nil, false
 30542  }
 30543  
 30544  // AsDynamicsSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30545  func (asis AzureSearchIndexSink) AsDynamicsSink() (*DynamicsSink, bool) {
 30546  	return nil, false
 30547  }
 30548  
 30549  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30550  func (asis AzureSearchIndexSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 30551  	return nil, false
 30552  }
 30553  
 30554  // AsInformixSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30555  func (asis AzureSearchIndexSink) AsInformixSink() (*InformixSink, bool) {
 30556  	return nil, false
 30557  }
 30558  
 30559  // AsOdbcSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30560  func (asis AzureSearchIndexSink) AsOdbcSink() (*OdbcSink, bool) {
 30561  	return nil, false
 30562  }
 30563  
 30564  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30565  func (asis AzureSearchIndexSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 30566  	return &asis, true
 30567  }
 30568  
 30569  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30570  func (asis AzureSearchIndexSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 30571  	return nil, false
 30572  }
 30573  
 30574  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30575  func (asis AzureSearchIndexSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 30576  	return nil, false
 30577  }
 30578  
 30579  // AsOracleSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30580  func (asis AzureSearchIndexSink) AsOracleSink() (*OracleSink, bool) {
 30581  	return nil, false
 30582  }
 30583  
 30584  // AsSQLDWSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30585  func (asis AzureSearchIndexSink) AsSQLDWSink() (*SQLDWSink, bool) {
 30586  	return nil, false
 30587  }
 30588  
 30589  // AsSQLMISink is the BasicCopySink implementation for AzureSearchIndexSink.
 30590  func (asis AzureSearchIndexSink) AsSQLMISink() (*SQLMISink, bool) {
 30591  	return nil, false
 30592  }
 30593  
 30594  // AsAzureSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30595  func (asis AzureSearchIndexSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 30596  	return nil, false
 30597  }
 30598  
 30599  // AsSQLServerSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30600  func (asis AzureSearchIndexSink) AsSQLServerSink() (*SQLServerSink, bool) {
 30601  	return nil, false
 30602  }
 30603  
 30604  // AsSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30605  func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) {
 30606  	return nil, false
 30607  }
 30608  
 30609  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSearchIndexSink.
 30610  func (asis AzureSearchIndexSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 30611  	return nil, false
 30612  }
 30613  
 30614  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30615  func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 30616  	return nil, false
 30617  }
 30618  
 30619  // AsFileSystemSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30620  func (asis AzureSearchIndexSink) AsFileSystemSink() (*FileSystemSink, bool) {
 30621  	return nil, false
 30622  }
 30623  
 30624  // AsBlobSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30625  func (asis AzureSearchIndexSink) AsBlobSink() (*BlobSink, bool) {
 30626  	return nil, false
 30627  }
 30628  
 30629  // AsBinarySink is the BasicCopySink implementation for AzureSearchIndexSink.
 30630  func (asis AzureSearchIndexSink) AsBinarySink() (*BinarySink, bool) {
 30631  	return nil, false
 30632  }
 30633  
 30634  // AsParquetSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30635  func (asis AzureSearchIndexSink) AsParquetSink() (*ParquetSink, bool) {
 30636  	return nil, false
 30637  }
 30638  
 30639  // AsAvroSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30640  func (asis AzureSearchIndexSink) AsAvroSink() (*AvroSink, bool) {
 30641  	return nil, false
 30642  }
 30643  
 30644  // AsAzureTableSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30645  func (asis AzureSearchIndexSink) AsAzureTableSink() (*AzureTableSink, bool) {
 30646  	return nil, false
 30647  }
 30648  
 30649  // AsAzureQueueSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30650  func (asis AzureSearchIndexSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 30651  	return nil, false
 30652  }
 30653  
 30654  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30655  func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 30656  	return nil, false
 30657  }
 30658  
 30659  // AsAzureMySQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30660  func (asis AzureSearchIndexSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 30661  	return nil, false
 30662  }
 30663  
 30664  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30665  func (asis AzureSearchIndexSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 30666  	return nil, false
 30667  }
 30668  
 30669  // AsOrcSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30670  func (asis AzureSearchIndexSink) AsOrcSink() (*OrcSink, bool) {
 30671  	return nil, false
 30672  }
 30673  
 30674  // AsJSONSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30675  func (asis AzureSearchIndexSink) AsJSONSink() (*JSONSink, bool) {
 30676  	return nil, false
 30677  }
 30678  
 30679  // AsDelimitedTextSink is the BasicCopySink implementation for AzureSearchIndexSink.
 30680  func (asis AzureSearchIndexSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 30681  	return nil, false
 30682  }
 30683  
 30684  // AsCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
 30685  func (asis AzureSearchIndexSink) AsCopySink() (*CopySink, bool) {
 30686  	return nil, false
 30687  }
 30688  
 30689  // AsBasicCopySink is the BasicCopySink implementation for AzureSearchIndexSink.
 30690  func (asis AzureSearchIndexSink) AsBasicCopySink() (BasicCopySink, bool) {
 30691  	return &asis, true
 30692  }
 30693  
 30694  // UnmarshalJSON is the custom unmarshaler for AzureSearchIndexSink struct.
 30695  func (asis *AzureSearchIndexSink) UnmarshalJSON(body []byte) error {
 30696  	var m map[string]*json.RawMessage
 30697  	err := json.Unmarshal(body, &m)
 30698  	if err != nil {
 30699  		return err
 30700  	}
 30701  	for k, v := range m {
 30702  		switch k {
 30703  		case "writeBehavior":
 30704  			if v != nil {
 30705  				var writeBehavior AzureSearchIndexWriteBehaviorType
 30706  				err = json.Unmarshal(*v, &writeBehavior)
 30707  				if err != nil {
 30708  					return err
 30709  				}
 30710  				asis.WriteBehavior = writeBehavior
 30711  			}
 30712  		default:
 30713  			if v != nil {
 30714  				var additionalProperties interface{}
 30715  				err = json.Unmarshal(*v, &additionalProperties)
 30716  				if err != nil {
 30717  					return err
 30718  				}
 30719  				if asis.AdditionalProperties == nil {
 30720  					asis.AdditionalProperties = make(map[string]interface{})
 30721  				}
 30722  				asis.AdditionalProperties[k] = additionalProperties
 30723  			}
 30724  		case "writeBatchSize":
 30725  			if v != nil {
 30726  				var writeBatchSize interface{}
 30727  				err = json.Unmarshal(*v, &writeBatchSize)
 30728  				if err != nil {
 30729  					return err
 30730  				}
 30731  				asis.WriteBatchSize = writeBatchSize
 30732  			}
 30733  		case "writeBatchTimeout":
 30734  			if v != nil {
 30735  				var writeBatchTimeout interface{}
 30736  				err = json.Unmarshal(*v, &writeBatchTimeout)
 30737  				if err != nil {
 30738  					return err
 30739  				}
 30740  				asis.WriteBatchTimeout = writeBatchTimeout
 30741  			}
 30742  		case "sinkRetryCount":
 30743  			if v != nil {
 30744  				var sinkRetryCount interface{}
 30745  				err = json.Unmarshal(*v, &sinkRetryCount)
 30746  				if err != nil {
 30747  					return err
 30748  				}
 30749  				asis.SinkRetryCount = sinkRetryCount
 30750  			}
 30751  		case "sinkRetryWait":
 30752  			if v != nil {
 30753  				var sinkRetryWait interface{}
 30754  				err = json.Unmarshal(*v, &sinkRetryWait)
 30755  				if err != nil {
 30756  					return err
 30757  				}
 30758  				asis.SinkRetryWait = sinkRetryWait
 30759  			}
 30760  		case "maxConcurrentConnections":
 30761  			if v != nil {
 30762  				var maxConcurrentConnections interface{}
 30763  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 30764  				if err != nil {
 30765  					return err
 30766  				}
 30767  				asis.MaxConcurrentConnections = maxConcurrentConnections
 30768  			}
 30769  		case "type":
 30770  			if v != nil {
 30771  				var typeVar TypeBasicCopySink
 30772  				err = json.Unmarshal(*v, &typeVar)
 30773  				if err != nil {
 30774  					return err
 30775  				}
 30776  				asis.Type = typeVar
 30777  			}
 30778  		}
 30779  	}
 30780  
 30781  	return nil
 30782  }
 30783  
 30784  // AzureSearchLinkedService linked service for Windows Azure Search Service.
 30785  type AzureSearchLinkedService struct {
 30786  	// AzureSearchLinkedServiceTypeProperties - Windows Azure Search Service linked service properties.
 30787  	*AzureSearchLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 30788  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 30789  	AdditionalProperties map[string]interface{} `json:""`
 30790  	// ConnectVia - The integration runtime reference.
 30791  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 30792  	// Description - Linked service description.
 30793  	Description *string `json:"description,omitempty"`
 30794  	// Parameters - Parameters for linked service.
 30795  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 30796  	// Annotations - List of tags that can be used for describing the linked service.
 30797  	Annotations *[]interface{} `json:"annotations,omitempty"`
 30798  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 30799  	Type TypeBasicLinkedService `json:"type,omitempty"`
 30800  }
 30801  
 30802  // MarshalJSON is the custom marshaler for AzureSearchLinkedService.
 30803  func (asls AzureSearchLinkedService) MarshalJSON() ([]byte, error) {
 30804  	asls.Type = TypeAzureSearch
 30805  	objectMap := make(map[string]interface{})
 30806  	if asls.AzureSearchLinkedServiceTypeProperties != nil {
 30807  		objectMap["typeProperties"] = asls.AzureSearchLinkedServiceTypeProperties
 30808  	}
 30809  	if asls.ConnectVia != nil {
 30810  		objectMap["connectVia"] = asls.ConnectVia
 30811  	}
 30812  	if asls.Description != nil {
 30813  		objectMap["description"] = asls.Description
 30814  	}
 30815  	if asls.Parameters != nil {
 30816  		objectMap["parameters"] = asls.Parameters
 30817  	}
 30818  	if asls.Annotations != nil {
 30819  		objectMap["annotations"] = asls.Annotations
 30820  	}
 30821  	if asls.Type != "" {
 30822  		objectMap["type"] = asls.Type
 30823  	}
 30824  	for k, v := range asls.AdditionalProperties {
 30825  		objectMap[k] = v
 30826  	}
 30827  	return json.Marshal(objectMap)
 30828  }
 30829  
 30830  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30831  func (asls AzureSearchLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 30832  	return nil, false
 30833  }
 30834  
 30835  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30836  func (asls AzureSearchLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 30837  	return nil, false
 30838  }
 30839  
 30840  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30841  func (asls AzureSearchLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 30842  	return nil, false
 30843  }
 30844  
 30845  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30846  func (asls AzureSearchLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 30847  	return nil, false
 30848  }
 30849  
 30850  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30851  func (asls AzureSearchLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 30852  	return nil, false
 30853  }
 30854  
 30855  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30856  func (asls AzureSearchLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 30857  	return nil, false
 30858  }
 30859  
 30860  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30861  func (asls AzureSearchLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 30862  	return nil, false
 30863  }
 30864  
 30865  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30866  func (asls AzureSearchLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 30867  	return nil, false
 30868  }
 30869  
 30870  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30871  func (asls AzureSearchLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 30872  	return nil, false
 30873  }
 30874  
 30875  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30876  func (asls AzureSearchLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 30877  	return nil, false
 30878  }
 30879  
 30880  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30881  func (asls AzureSearchLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 30882  	return nil, false
 30883  }
 30884  
 30885  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30886  func (asls AzureSearchLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 30887  	return nil, false
 30888  }
 30889  
 30890  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30891  func (asls AzureSearchLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 30892  	return nil, false
 30893  }
 30894  
 30895  // AsZohoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30896  func (asls AzureSearchLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 30897  	return nil, false
 30898  }
 30899  
 30900  // AsXeroLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30901  func (asls AzureSearchLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 30902  	return nil, false
 30903  }
 30904  
 30905  // AsSquareLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30906  func (asls AzureSearchLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 30907  	return nil, false
 30908  }
 30909  
 30910  // AsSparkLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30911  func (asls AzureSearchLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 30912  	return nil, false
 30913  }
 30914  
 30915  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30916  func (asls AzureSearchLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 30917  	return nil, false
 30918  }
 30919  
 30920  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30921  func (asls AzureSearchLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 30922  	return nil, false
 30923  }
 30924  
 30925  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30926  func (asls AzureSearchLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 30927  	return nil, false
 30928  }
 30929  
 30930  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30931  func (asls AzureSearchLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 30932  	return nil, false
 30933  }
 30934  
 30935  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30936  func (asls AzureSearchLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 30937  	return nil, false
 30938  }
 30939  
 30940  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30941  func (asls AzureSearchLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 30942  	return nil, false
 30943  }
 30944  
 30945  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30946  func (asls AzureSearchLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 30947  	return nil, false
 30948  }
 30949  
 30950  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30951  func (asls AzureSearchLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 30952  	return nil, false
 30953  }
 30954  
 30955  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30956  func (asls AzureSearchLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 30957  	return nil, false
 30958  }
 30959  
 30960  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30961  func (asls AzureSearchLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 30962  	return nil, false
 30963  }
 30964  
 30965  // AsJiraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30966  func (asls AzureSearchLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 30967  	return nil, false
 30968  }
 30969  
 30970  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30971  func (asls AzureSearchLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 30972  	return nil, false
 30973  }
 30974  
 30975  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30976  func (asls AzureSearchLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 30977  	return nil, false
 30978  }
 30979  
 30980  // AsHiveLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30981  func (asls AzureSearchLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 30982  	return nil, false
 30983  }
 30984  
 30985  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30986  func (asls AzureSearchLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 30987  	return nil, false
 30988  }
 30989  
 30990  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30991  func (asls AzureSearchLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 30992  	return nil, false
 30993  }
 30994  
 30995  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 30996  func (asls AzureSearchLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 30997  	return nil, false
 30998  }
 30999  
 31000  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31001  func (asls AzureSearchLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 31002  	return nil, false
 31003  }
 31004  
 31005  // AsDrillLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31006  func (asls AzureSearchLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 31007  	return nil, false
 31008  }
 31009  
 31010  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31011  func (asls AzureSearchLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 31012  	return nil, false
 31013  }
 31014  
 31015  // AsConcurLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31016  func (asls AzureSearchLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 31017  	return nil, false
 31018  }
 31019  
 31020  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31021  func (asls AzureSearchLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 31022  	return nil, false
 31023  }
 31024  
 31025  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31026  func (asls AzureSearchLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 31027  	return nil, false
 31028  }
 31029  
 31030  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31031  func (asls AzureSearchLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 31032  	return nil, false
 31033  }
 31034  
 31035  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31036  func (asls AzureSearchLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 31037  	return nil, false
 31038  }
 31039  
 31040  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31041  func (asls AzureSearchLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 31042  	return nil, false
 31043  }
 31044  
 31045  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31046  func (asls AzureSearchLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 31047  	return nil, false
 31048  }
 31049  
 31050  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31051  func (asls AzureSearchLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 31052  	return nil, false
 31053  }
 31054  
 31055  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31056  func (asls AzureSearchLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 31057  	return &asls, true
 31058  }
 31059  
 31060  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31061  func (asls AzureSearchLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 31062  	return nil, false
 31063  }
 31064  
 31065  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31066  func (asls AzureSearchLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 31067  	return nil, false
 31068  }
 31069  
 31070  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31071  func (asls AzureSearchLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 31072  	return nil, false
 31073  }
 31074  
 31075  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31076  func (asls AzureSearchLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 31077  	return nil, false
 31078  }
 31079  
 31080  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31081  func (asls AzureSearchLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 31082  	return nil, false
 31083  }
 31084  
 31085  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31086  func (asls AzureSearchLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 31087  	return nil, false
 31088  }
 31089  
 31090  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31091  func (asls AzureSearchLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 31092  	return nil, false
 31093  }
 31094  
 31095  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31096  func (asls AzureSearchLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 31097  	return nil, false
 31098  }
 31099  
 31100  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31101  func (asls AzureSearchLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 31102  	return nil, false
 31103  }
 31104  
 31105  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31106  func (asls AzureSearchLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 31107  	return nil, false
 31108  }
 31109  
 31110  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31111  func (asls AzureSearchLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 31112  	return nil, false
 31113  }
 31114  
 31115  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31116  func (asls AzureSearchLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 31117  	return nil, false
 31118  }
 31119  
 31120  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31121  func (asls AzureSearchLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 31122  	return nil, false
 31123  }
 31124  
 31125  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31126  func (asls AzureSearchLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 31127  	return nil, false
 31128  }
 31129  
 31130  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31131  func (asls AzureSearchLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 31132  	return nil, false
 31133  }
 31134  
 31135  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31136  func (asls AzureSearchLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 31137  	return nil, false
 31138  }
 31139  
 31140  // AsWebLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31141  func (asls AzureSearchLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 31142  	return nil, false
 31143  }
 31144  
 31145  // AsODataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31146  func (asls AzureSearchLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 31147  	return nil, false
 31148  }
 31149  
 31150  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31151  func (asls AzureSearchLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 31152  	return nil, false
 31153  }
 31154  
 31155  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31156  func (asls AzureSearchLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 31157  	return nil, false
 31158  }
 31159  
 31160  // AsInformixLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31161  func (asls AzureSearchLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 31162  	return nil, false
 31163  }
 31164  
 31165  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31166  func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 31167  	return nil, false
 31168  }
 31169  
 31170  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31171  func (asls AzureSearchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 31172  	return nil, false
 31173  }
 31174  
 31175  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31176  func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 31177  	return nil, false
 31178  }
 31179  
 31180  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31181  func (asls AzureSearchLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 31182  	return nil, false
 31183  }
 31184  
 31185  // AsDb2LinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31186  func (asls AzureSearchLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 31187  	return nil, false
 31188  }
 31189  
 31190  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31191  func (asls AzureSearchLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 31192  	return nil, false
 31193  }
 31194  
 31195  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31196  func (asls AzureSearchLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 31197  	return nil, false
 31198  }
 31199  
 31200  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31201  func (asls AzureSearchLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 31202  	return nil, false
 31203  }
 31204  
 31205  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31206  func (asls AzureSearchLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 31207  	return nil, false
 31208  }
 31209  
 31210  // AsOracleLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31211  func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 31212  	return nil, false
 31213  }
 31214  
 31215  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31216  func (asls AzureSearchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 31217  	return nil, false
 31218  }
 31219  
 31220  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31221  func (asls AzureSearchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 31222  	return nil, false
 31223  }
 31224  
 31225  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31226  func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 31227  	return nil, false
 31228  }
 31229  
 31230  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31231  func (asls AzureSearchLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 31232  	return nil, false
 31233  }
 31234  
 31235  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31236  func (asls AzureSearchLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 31237  	return nil, false
 31238  }
 31239  
 31240  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31241  func (asls AzureSearchLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 31242  	return nil, false
 31243  }
 31244  
 31245  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31246  func (asls AzureSearchLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 31247  	return nil, false
 31248  }
 31249  
 31250  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31251  func (asls AzureSearchLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 31252  	return nil, false
 31253  }
 31254  
 31255  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31256  func (asls AzureSearchLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 31257  	return nil, false
 31258  }
 31259  
 31260  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31261  func (asls AzureSearchLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 31262  	return nil, false
 31263  }
 31264  
 31265  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31266  func (asls AzureSearchLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 31267  	return nil, false
 31268  }
 31269  
 31270  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31271  func (asls AzureSearchLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 31272  	return nil, false
 31273  }
 31274  
 31275  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31276  func (asls AzureSearchLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 31277  	return nil, false
 31278  }
 31279  
 31280  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31281  func (asls AzureSearchLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 31282  	return nil, false
 31283  }
 31284  
 31285  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31286  func (asls AzureSearchLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 31287  	return nil, false
 31288  }
 31289  
 31290  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31291  func (asls AzureSearchLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 31292  	return nil, false
 31293  }
 31294  
 31295  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31296  func (asls AzureSearchLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 31297  	return nil, false
 31298  }
 31299  
 31300  // AsLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31301  func (asls AzureSearchLinkedService) AsLinkedService() (*LinkedService, bool) {
 31302  	return nil, false
 31303  }
 31304  
 31305  // AsBasicLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService.
 31306  func (asls AzureSearchLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 31307  	return &asls, true
 31308  }
 31309  
 31310  // UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedService struct.
 31311  func (asls *AzureSearchLinkedService) UnmarshalJSON(body []byte) error {
 31312  	var m map[string]*json.RawMessage
 31313  	err := json.Unmarshal(body, &m)
 31314  	if err != nil {
 31315  		return err
 31316  	}
 31317  	for k, v := range m {
 31318  		switch k {
 31319  		case "typeProperties":
 31320  			if v != nil {
 31321  				var azureSearchLinkedServiceTypeProperties AzureSearchLinkedServiceTypeProperties
 31322  				err = json.Unmarshal(*v, &azureSearchLinkedServiceTypeProperties)
 31323  				if err != nil {
 31324  					return err
 31325  				}
 31326  				asls.AzureSearchLinkedServiceTypeProperties = &azureSearchLinkedServiceTypeProperties
 31327  			}
 31328  		default:
 31329  			if v != nil {
 31330  				var additionalProperties interface{}
 31331  				err = json.Unmarshal(*v, &additionalProperties)
 31332  				if err != nil {
 31333  					return err
 31334  				}
 31335  				if asls.AdditionalProperties == nil {
 31336  					asls.AdditionalProperties = make(map[string]interface{})
 31337  				}
 31338  				asls.AdditionalProperties[k] = additionalProperties
 31339  			}
 31340  		case "connectVia":
 31341  			if v != nil {
 31342  				var connectVia IntegrationRuntimeReference
 31343  				err = json.Unmarshal(*v, &connectVia)
 31344  				if err != nil {
 31345  					return err
 31346  				}
 31347  				asls.ConnectVia = &connectVia
 31348  			}
 31349  		case "description":
 31350  			if v != nil {
 31351  				var description string
 31352  				err = json.Unmarshal(*v, &description)
 31353  				if err != nil {
 31354  					return err
 31355  				}
 31356  				asls.Description = &description
 31357  			}
 31358  		case "parameters":
 31359  			if v != nil {
 31360  				var parameters map[string]*ParameterSpecification
 31361  				err = json.Unmarshal(*v, &parameters)
 31362  				if err != nil {
 31363  					return err
 31364  				}
 31365  				asls.Parameters = parameters
 31366  			}
 31367  		case "annotations":
 31368  			if v != nil {
 31369  				var annotations []interface{}
 31370  				err = json.Unmarshal(*v, &annotations)
 31371  				if err != nil {
 31372  					return err
 31373  				}
 31374  				asls.Annotations = &annotations
 31375  			}
 31376  		case "type":
 31377  			if v != nil {
 31378  				var typeVar TypeBasicLinkedService
 31379  				err = json.Unmarshal(*v, &typeVar)
 31380  				if err != nil {
 31381  					return err
 31382  				}
 31383  				asls.Type = typeVar
 31384  			}
 31385  		}
 31386  	}
 31387  
 31388  	return nil
 31389  }
 31390  
 31391  // AzureSearchLinkedServiceTypeProperties windows Azure Search Service linked service properties.
 31392  type AzureSearchLinkedServiceTypeProperties struct {
 31393  	// URL - URL for Azure Search service. Type: string (or Expression with resultType string).
 31394  	URL interface{} `json:"url,omitempty"`
 31395  	// Key - Admin Key for Azure Search service
 31396  	Key BasicSecretBase `json:"key,omitempty"`
 31397  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 31398  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 31399  }
 31400  
 31401  // UnmarshalJSON is the custom unmarshaler for AzureSearchLinkedServiceTypeProperties struct.
 31402  func (aslstp *AzureSearchLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 31403  	var m map[string]*json.RawMessage
 31404  	err := json.Unmarshal(body, &m)
 31405  	if err != nil {
 31406  		return err
 31407  	}
 31408  	for k, v := range m {
 31409  		switch k {
 31410  		case "url":
 31411  			if v != nil {
 31412  				var URL interface{}
 31413  				err = json.Unmarshal(*v, &URL)
 31414  				if err != nil {
 31415  					return err
 31416  				}
 31417  				aslstp.URL = URL
 31418  			}
 31419  		case "key":
 31420  			if v != nil {
 31421  				key, err := unmarshalBasicSecretBase(*v)
 31422  				if err != nil {
 31423  					return err
 31424  				}
 31425  				aslstp.Key = key
 31426  			}
 31427  		case "encryptedCredential":
 31428  			if v != nil {
 31429  				var encryptedCredential interface{}
 31430  				err = json.Unmarshal(*v, &encryptedCredential)
 31431  				if err != nil {
 31432  					return err
 31433  				}
 31434  				aslstp.EncryptedCredential = encryptedCredential
 31435  			}
 31436  		}
 31437  	}
 31438  
 31439  	return nil
 31440  }
 31441  
 31442  // AzureSQLDatabaseLinkedService microsoft Azure SQL Database linked service.
 31443  type AzureSQLDatabaseLinkedService struct {
 31444  	// AzureSQLDatabaseLinkedServiceTypeProperties - Azure SQL Database linked service properties.
 31445  	*AzureSQLDatabaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 31446  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 31447  	AdditionalProperties map[string]interface{} `json:""`
 31448  	// ConnectVia - The integration runtime reference.
 31449  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 31450  	// Description - Linked service description.
 31451  	Description *string `json:"description,omitempty"`
 31452  	// Parameters - Parameters for linked service.
 31453  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 31454  	// Annotations - List of tags that can be used for describing the linked service.
 31455  	Annotations *[]interface{} `json:"annotations,omitempty"`
 31456  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 31457  	Type TypeBasicLinkedService `json:"type,omitempty"`
 31458  }
 31459  
 31460  // MarshalJSON is the custom marshaler for AzureSQLDatabaseLinkedService.
 31461  func (asdls AzureSQLDatabaseLinkedService) MarshalJSON() ([]byte, error) {
 31462  	asdls.Type = TypeAzureSQLDatabase
 31463  	objectMap := make(map[string]interface{})
 31464  	if asdls.AzureSQLDatabaseLinkedServiceTypeProperties != nil {
 31465  		objectMap["typeProperties"] = asdls.AzureSQLDatabaseLinkedServiceTypeProperties
 31466  	}
 31467  	if asdls.ConnectVia != nil {
 31468  		objectMap["connectVia"] = asdls.ConnectVia
 31469  	}
 31470  	if asdls.Description != nil {
 31471  		objectMap["description"] = asdls.Description
 31472  	}
 31473  	if asdls.Parameters != nil {
 31474  		objectMap["parameters"] = asdls.Parameters
 31475  	}
 31476  	if asdls.Annotations != nil {
 31477  		objectMap["annotations"] = asdls.Annotations
 31478  	}
 31479  	if asdls.Type != "" {
 31480  		objectMap["type"] = asdls.Type
 31481  	}
 31482  	for k, v := range asdls.AdditionalProperties {
 31483  		objectMap[k] = v
 31484  	}
 31485  	return json.Marshal(objectMap)
 31486  }
 31487  
 31488  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31489  func (asdls AzureSQLDatabaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 31490  	return nil, false
 31491  }
 31492  
 31493  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31494  func (asdls AzureSQLDatabaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 31495  	return nil, false
 31496  }
 31497  
 31498  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31499  func (asdls AzureSQLDatabaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 31500  	return nil, false
 31501  }
 31502  
 31503  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31504  func (asdls AzureSQLDatabaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 31505  	return nil, false
 31506  }
 31507  
 31508  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31509  func (asdls AzureSQLDatabaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 31510  	return nil, false
 31511  }
 31512  
 31513  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31514  func (asdls AzureSQLDatabaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 31515  	return nil, false
 31516  }
 31517  
 31518  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31519  func (asdls AzureSQLDatabaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 31520  	return nil, false
 31521  }
 31522  
 31523  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31524  func (asdls AzureSQLDatabaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 31525  	return nil, false
 31526  }
 31527  
 31528  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31529  func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 31530  	return nil, false
 31531  }
 31532  
 31533  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31534  func (asdls AzureSQLDatabaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 31535  	return nil, false
 31536  }
 31537  
 31538  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31539  func (asdls AzureSQLDatabaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 31540  	return nil, false
 31541  }
 31542  
 31543  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31544  func (asdls AzureSQLDatabaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 31545  	return nil, false
 31546  }
 31547  
 31548  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31549  func (asdls AzureSQLDatabaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 31550  	return nil, false
 31551  }
 31552  
 31553  // AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31554  func (asdls AzureSQLDatabaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 31555  	return nil, false
 31556  }
 31557  
 31558  // AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31559  func (asdls AzureSQLDatabaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 31560  	return nil, false
 31561  }
 31562  
 31563  // AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31564  func (asdls AzureSQLDatabaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 31565  	return nil, false
 31566  }
 31567  
 31568  // AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31569  func (asdls AzureSQLDatabaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 31570  	return nil, false
 31571  }
 31572  
 31573  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31574  func (asdls AzureSQLDatabaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 31575  	return nil, false
 31576  }
 31577  
 31578  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31579  func (asdls AzureSQLDatabaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 31580  	return nil, false
 31581  }
 31582  
 31583  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31584  func (asdls AzureSQLDatabaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 31585  	return nil, false
 31586  }
 31587  
 31588  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31589  func (asdls AzureSQLDatabaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 31590  	return nil, false
 31591  }
 31592  
 31593  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31594  func (asdls AzureSQLDatabaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 31595  	return nil, false
 31596  }
 31597  
 31598  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31599  func (asdls AzureSQLDatabaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 31600  	return nil, false
 31601  }
 31602  
 31603  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31604  func (asdls AzureSQLDatabaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 31605  	return nil, false
 31606  }
 31607  
 31608  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31609  func (asdls AzureSQLDatabaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 31610  	return nil, false
 31611  }
 31612  
 31613  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31614  func (asdls AzureSQLDatabaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 31615  	return nil, false
 31616  }
 31617  
 31618  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31619  func (asdls AzureSQLDatabaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 31620  	return nil, false
 31621  }
 31622  
 31623  // AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31624  func (asdls AzureSQLDatabaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 31625  	return nil, false
 31626  }
 31627  
 31628  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31629  func (asdls AzureSQLDatabaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 31630  	return nil, false
 31631  }
 31632  
 31633  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31634  func (asdls AzureSQLDatabaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 31635  	return nil, false
 31636  }
 31637  
 31638  // AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31639  func (asdls AzureSQLDatabaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 31640  	return nil, false
 31641  }
 31642  
 31643  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31644  func (asdls AzureSQLDatabaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 31645  	return nil, false
 31646  }
 31647  
 31648  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31649  func (asdls AzureSQLDatabaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 31650  	return nil, false
 31651  }
 31652  
 31653  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31654  func (asdls AzureSQLDatabaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 31655  	return nil, false
 31656  }
 31657  
 31658  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31659  func (asdls AzureSQLDatabaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 31660  	return nil, false
 31661  }
 31662  
 31663  // AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31664  func (asdls AzureSQLDatabaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 31665  	return nil, false
 31666  }
 31667  
 31668  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31669  func (asdls AzureSQLDatabaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 31670  	return nil, false
 31671  }
 31672  
 31673  // AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31674  func (asdls AzureSQLDatabaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 31675  	return nil, false
 31676  }
 31677  
 31678  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31679  func (asdls AzureSQLDatabaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 31680  	return nil, false
 31681  }
 31682  
 31683  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31684  func (asdls AzureSQLDatabaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 31685  	return nil, false
 31686  }
 31687  
 31688  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31689  func (asdls AzureSQLDatabaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 31690  	return nil, false
 31691  }
 31692  
 31693  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31694  func (asdls AzureSQLDatabaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 31695  	return nil, false
 31696  }
 31697  
 31698  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31699  func (asdls AzureSQLDatabaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 31700  	return nil, false
 31701  }
 31702  
 31703  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31704  func (asdls AzureSQLDatabaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 31705  	return nil, false
 31706  }
 31707  
 31708  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31709  func (asdls AzureSQLDatabaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 31710  	return nil, false
 31711  }
 31712  
 31713  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31714  func (asdls AzureSQLDatabaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 31715  	return nil, false
 31716  }
 31717  
 31718  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31719  func (asdls AzureSQLDatabaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 31720  	return nil, false
 31721  }
 31722  
 31723  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31724  func (asdls AzureSQLDatabaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 31725  	return nil, false
 31726  }
 31727  
 31728  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31729  func (asdls AzureSQLDatabaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 31730  	return nil, false
 31731  }
 31732  
 31733  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31734  func (asdls AzureSQLDatabaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 31735  	return nil, false
 31736  }
 31737  
 31738  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31739  func (asdls AzureSQLDatabaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 31740  	return nil, false
 31741  }
 31742  
 31743  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31744  func (asdls AzureSQLDatabaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 31745  	return nil, false
 31746  }
 31747  
 31748  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31749  func (asdls AzureSQLDatabaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 31750  	return nil, false
 31751  }
 31752  
 31753  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31754  func (asdls AzureSQLDatabaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 31755  	return nil, false
 31756  }
 31757  
 31758  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31759  func (asdls AzureSQLDatabaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 31760  	return nil, false
 31761  }
 31762  
 31763  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31764  func (asdls AzureSQLDatabaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 31765  	return nil, false
 31766  }
 31767  
 31768  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31769  func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 31770  	return nil, false
 31771  }
 31772  
 31773  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31774  func (asdls AzureSQLDatabaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 31775  	return nil, false
 31776  }
 31777  
 31778  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31779  func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 31780  	return nil, false
 31781  }
 31782  
 31783  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31784  func (asdls AzureSQLDatabaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 31785  	return nil, false
 31786  }
 31787  
 31788  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31789  func (asdls AzureSQLDatabaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 31790  	return nil, false
 31791  }
 31792  
 31793  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31794  func (asdls AzureSQLDatabaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 31795  	return nil, false
 31796  }
 31797  
 31798  // AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31799  func (asdls AzureSQLDatabaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 31800  	return nil, false
 31801  }
 31802  
 31803  // AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31804  func (asdls AzureSQLDatabaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 31805  	return nil, false
 31806  }
 31807  
 31808  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31809  func (asdls AzureSQLDatabaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 31810  	return nil, false
 31811  }
 31812  
 31813  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31814  func (asdls AzureSQLDatabaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 31815  	return nil, false
 31816  }
 31817  
 31818  // AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31819  func (asdls AzureSQLDatabaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 31820  	return nil, false
 31821  }
 31822  
 31823  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31824  func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 31825  	return nil, false
 31826  }
 31827  
 31828  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31829  func (asdls AzureSQLDatabaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 31830  	return nil, false
 31831  }
 31832  
 31833  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31834  func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 31835  	return nil, false
 31836  }
 31837  
 31838  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31839  func (asdls AzureSQLDatabaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 31840  	return nil, false
 31841  }
 31842  
 31843  // AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31844  func (asdls AzureSQLDatabaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 31845  	return nil, false
 31846  }
 31847  
 31848  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31849  func (asdls AzureSQLDatabaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 31850  	return nil, false
 31851  }
 31852  
 31853  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31854  func (asdls AzureSQLDatabaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 31855  	return nil, false
 31856  }
 31857  
 31858  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31859  func (asdls AzureSQLDatabaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 31860  	return nil, false
 31861  }
 31862  
 31863  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31864  func (asdls AzureSQLDatabaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 31865  	return nil, false
 31866  }
 31867  
 31868  // AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31869  func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 31870  	return nil, false
 31871  }
 31872  
 31873  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31874  func (asdls AzureSQLDatabaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 31875  	return nil, false
 31876  }
 31877  
 31878  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31879  func (asdls AzureSQLDatabaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 31880  	return nil, false
 31881  }
 31882  
 31883  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31884  func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 31885  	return nil, false
 31886  }
 31887  
 31888  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31889  func (asdls AzureSQLDatabaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 31890  	return nil, false
 31891  }
 31892  
 31893  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31894  func (asdls AzureSQLDatabaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 31895  	return nil, false
 31896  }
 31897  
 31898  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31899  func (asdls AzureSQLDatabaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 31900  	return nil, false
 31901  }
 31902  
 31903  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31904  func (asdls AzureSQLDatabaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 31905  	return nil, false
 31906  }
 31907  
 31908  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31909  func (asdls AzureSQLDatabaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 31910  	return nil, false
 31911  }
 31912  
 31913  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31914  func (asdls AzureSQLDatabaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 31915  	return nil, false
 31916  }
 31917  
 31918  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31919  func (asdls AzureSQLDatabaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 31920  	return nil, false
 31921  }
 31922  
 31923  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31924  func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 31925  	return nil, false
 31926  }
 31927  
 31928  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31929  func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 31930  	return &asdls, true
 31931  }
 31932  
 31933  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31934  func (asdls AzureSQLDatabaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 31935  	return nil, false
 31936  }
 31937  
 31938  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31939  func (asdls AzureSQLDatabaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 31940  	return nil, false
 31941  }
 31942  
 31943  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31944  func (asdls AzureSQLDatabaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 31945  	return nil, false
 31946  }
 31947  
 31948  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31949  func (asdls AzureSQLDatabaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 31950  	return nil, false
 31951  }
 31952  
 31953  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31954  func (asdls AzureSQLDatabaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 31955  	return nil, false
 31956  }
 31957  
 31958  // AsLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31959  func (asdls AzureSQLDatabaseLinkedService) AsLinkedService() (*LinkedService, bool) {
 31960  	return nil, false
 31961  }
 31962  
 31963  // AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService.
 31964  func (asdls AzureSQLDatabaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 31965  	return &asdls, true
 31966  }
 31967  
 31968  // UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedService struct.
 31969  func (asdls *AzureSQLDatabaseLinkedService) UnmarshalJSON(body []byte) error {
 31970  	var m map[string]*json.RawMessage
 31971  	err := json.Unmarshal(body, &m)
 31972  	if err != nil {
 31973  		return err
 31974  	}
 31975  	for k, v := range m {
 31976  		switch k {
 31977  		case "typeProperties":
 31978  			if v != nil {
 31979  				var azureSQLDatabaseLinkedServiceTypeProperties AzureSQLDatabaseLinkedServiceTypeProperties
 31980  				err = json.Unmarshal(*v, &azureSQLDatabaseLinkedServiceTypeProperties)
 31981  				if err != nil {
 31982  					return err
 31983  				}
 31984  				asdls.AzureSQLDatabaseLinkedServiceTypeProperties = &azureSQLDatabaseLinkedServiceTypeProperties
 31985  			}
 31986  		default:
 31987  			if v != nil {
 31988  				var additionalProperties interface{}
 31989  				err = json.Unmarshal(*v, &additionalProperties)
 31990  				if err != nil {
 31991  					return err
 31992  				}
 31993  				if asdls.AdditionalProperties == nil {
 31994  					asdls.AdditionalProperties = make(map[string]interface{})
 31995  				}
 31996  				asdls.AdditionalProperties[k] = additionalProperties
 31997  			}
 31998  		case "connectVia":
 31999  			if v != nil {
 32000  				var connectVia IntegrationRuntimeReference
 32001  				err = json.Unmarshal(*v, &connectVia)
 32002  				if err != nil {
 32003  					return err
 32004  				}
 32005  				asdls.ConnectVia = &connectVia
 32006  			}
 32007  		case "description":
 32008  			if v != nil {
 32009  				var description string
 32010  				err = json.Unmarshal(*v, &description)
 32011  				if err != nil {
 32012  					return err
 32013  				}
 32014  				asdls.Description = &description
 32015  			}
 32016  		case "parameters":
 32017  			if v != nil {
 32018  				var parameters map[string]*ParameterSpecification
 32019  				err = json.Unmarshal(*v, &parameters)
 32020  				if err != nil {
 32021  					return err
 32022  				}
 32023  				asdls.Parameters = parameters
 32024  			}
 32025  		case "annotations":
 32026  			if v != nil {
 32027  				var annotations []interface{}
 32028  				err = json.Unmarshal(*v, &annotations)
 32029  				if err != nil {
 32030  					return err
 32031  				}
 32032  				asdls.Annotations = &annotations
 32033  			}
 32034  		case "type":
 32035  			if v != nil {
 32036  				var typeVar TypeBasicLinkedService
 32037  				err = json.Unmarshal(*v, &typeVar)
 32038  				if err != nil {
 32039  					return err
 32040  				}
 32041  				asdls.Type = typeVar
 32042  			}
 32043  		}
 32044  	}
 32045  
 32046  	return nil
 32047  }
 32048  
 32049  // AzureSQLDatabaseLinkedServiceTypeProperties azure SQL Database linked service properties.
 32050  type AzureSQLDatabaseLinkedServiceTypeProperties struct {
 32051  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 32052  	ConnectionString interface{} `json:"connectionString,omitempty"`
 32053  	// Password - The Azure key vault secret reference of password in connection string.
 32054  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
 32055  	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
 32056  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 32057  	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Database.
 32058  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 32059  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 32060  	Tenant interface{} `json:"tenant,omitempty"`
 32061  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 32062  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 32063  }
 32064  
 32065  // UnmarshalJSON is the custom unmarshaler for AzureSQLDatabaseLinkedServiceTypeProperties struct.
 32066  func (asdlstp *AzureSQLDatabaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 32067  	var m map[string]*json.RawMessage
 32068  	err := json.Unmarshal(body, &m)
 32069  	if err != nil {
 32070  		return err
 32071  	}
 32072  	for k, v := range m {
 32073  		switch k {
 32074  		case "connectionString":
 32075  			if v != nil {
 32076  				var connectionString interface{}
 32077  				err = json.Unmarshal(*v, &connectionString)
 32078  				if err != nil {
 32079  					return err
 32080  				}
 32081  				asdlstp.ConnectionString = connectionString
 32082  			}
 32083  		case "password":
 32084  			if v != nil {
 32085  				var password AzureKeyVaultSecretReference
 32086  				err = json.Unmarshal(*v, &password)
 32087  				if err != nil {
 32088  					return err
 32089  				}
 32090  				asdlstp.Password = &password
 32091  			}
 32092  		case "servicePrincipalId":
 32093  			if v != nil {
 32094  				var servicePrincipalID interface{}
 32095  				err = json.Unmarshal(*v, &servicePrincipalID)
 32096  				if err != nil {
 32097  					return err
 32098  				}
 32099  				asdlstp.ServicePrincipalID = servicePrincipalID
 32100  			}
 32101  		case "servicePrincipalKey":
 32102  			if v != nil {
 32103  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 32104  				if err != nil {
 32105  					return err
 32106  				}
 32107  				asdlstp.ServicePrincipalKey = servicePrincipalKey
 32108  			}
 32109  		case "tenant":
 32110  			if v != nil {
 32111  				var tenant interface{}
 32112  				err = json.Unmarshal(*v, &tenant)
 32113  				if err != nil {
 32114  					return err
 32115  				}
 32116  				asdlstp.Tenant = tenant
 32117  			}
 32118  		case "encryptedCredential":
 32119  			if v != nil {
 32120  				var encryptedCredential interface{}
 32121  				err = json.Unmarshal(*v, &encryptedCredential)
 32122  				if err != nil {
 32123  					return err
 32124  				}
 32125  				asdlstp.EncryptedCredential = encryptedCredential
 32126  			}
 32127  		}
 32128  	}
 32129  
 32130  	return nil
 32131  }
 32132  
 32133  // AzureSQLDWLinkedService azure SQL Data Warehouse linked service.
 32134  type AzureSQLDWLinkedService struct {
 32135  	// AzureSQLDWLinkedServiceTypeProperties - Azure SQL Data Warehouse linked service properties.
 32136  	*AzureSQLDWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 32137  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 32138  	AdditionalProperties map[string]interface{} `json:""`
 32139  	// ConnectVia - The integration runtime reference.
 32140  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 32141  	// Description - Linked service description.
 32142  	Description *string `json:"description,omitempty"`
 32143  	// Parameters - Parameters for linked service.
 32144  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 32145  	// Annotations - List of tags that can be used for describing the linked service.
 32146  	Annotations *[]interface{} `json:"annotations,omitempty"`
 32147  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 32148  	Type TypeBasicLinkedService `json:"type,omitempty"`
 32149  }
 32150  
 32151  // MarshalJSON is the custom marshaler for AzureSQLDWLinkedService.
 32152  func (asdls AzureSQLDWLinkedService) MarshalJSON() ([]byte, error) {
 32153  	asdls.Type = TypeAzureSQLDW
 32154  	objectMap := make(map[string]interface{})
 32155  	if asdls.AzureSQLDWLinkedServiceTypeProperties != nil {
 32156  		objectMap["typeProperties"] = asdls.AzureSQLDWLinkedServiceTypeProperties
 32157  	}
 32158  	if asdls.ConnectVia != nil {
 32159  		objectMap["connectVia"] = asdls.ConnectVia
 32160  	}
 32161  	if asdls.Description != nil {
 32162  		objectMap["description"] = asdls.Description
 32163  	}
 32164  	if asdls.Parameters != nil {
 32165  		objectMap["parameters"] = asdls.Parameters
 32166  	}
 32167  	if asdls.Annotations != nil {
 32168  		objectMap["annotations"] = asdls.Annotations
 32169  	}
 32170  	if asdls.Type != "" {
 32171  		objectMap["type"] = asdls.Type
 32172  	}
 32173  	for k, v := range asdls.AdditionalProperties {
 32174  		objectMap[k] = v
 32175  	}
 32176  	return json.Marshal(objectMap)
 32177  }
 32178  
 32179  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32180  func (asdls AzureSQLDWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 32181  	return nil, false
 32182  }
 32183  
 32184  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32185  func (asdls AzureSQLDWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 32186  	return nil, false
 32187  }
 32188  
 32189  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32190  func (asdls AzureSQLDWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 32191  	return nil, false
 32192  }
 32193  
 32194  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32195  func (asdls AzureSQLDWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 32196  	return nil, false
 32197  }
 32198  
 32199  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32200  func (asdls AzureSQLDWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 32201  	return nil, false
 32202  }
 32203  
 32204  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32205  func (asdls AzureSQLDWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 32206  	return nil, false
 32207  }
 32208  
 32209  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32210  func (asdls AzureSQLDWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 32211  	return nil, false
 32212  }
 32213  
 32214  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32215  func (asdls AzureSQLDWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 32216  	return nil, false
 32217  }
 32218  
 32219  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32220  func (asdls AzureSQLDWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 32221  	return nil, false
 32222  }
 32223  
 32224  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32225  func (asdls AzureSQLDWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 32226  	return nil, false
 32227  }
 32228  
 32229  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32230  func (asdls AzureSQLDWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 32231  	return nil, false
 32232  }
 32233  
 32234  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32235  func (asdls AzureSQLDWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 32236  	return nil, false
 32237  }
 32238  
 32239  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32240  func (asdls AzureSQLDWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 32241  	return nil, false
 32242  }
 32243  
 32244  // AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32245  func (asdls AzureSQLDWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 32246  	return nil, false
 32247  }
 32248  
 32249  // AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32250  func (asdls AzureSQLDWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 32251  	return nil, false
 32252  }
 32253  
 32254  // AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32255  func (asdls AzureSQLDWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 32256  	return nil, false
 32257  }
 32258  
 32259  // AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32260  func (asdls AzureSQLDWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 32261  	return nil, false
 32262  }
 32263  
 32264  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32265  func (asdls AzureSQLDWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 32266  	return nil, false
 32267  }
 32268  
 32269  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32270  func (asdls AzureSQLDWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 32271  	return nil, false
 32272  }
 32273  
 32274  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32275  func (asdls AzureSQLDWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 32276  	return nil, false
 32277  }
 32278  
 32279  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32280  func (asdls AzureSQLDWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 32281  	return nil, false
 32282  }
 32283  
 32284  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32285  func (asdls AzureSQLDWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 32286  	return nil, false
 32287  }
 32288  
 32289  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32290  func (asdls AzureSQLDWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 32291  	return nil, false
 32292  }
 32293  
 32294  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32295  func (asdls AzureSQLDWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 32296  	return nil, false
 32297  }
 32298  
 32299  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32300  func (asdls AzureSQLDWLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 32301  	return nil, false
 32302  }
 32303  
 32304  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32305  func (asdls AzureSQLDWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 32306  	return nil, false
 32307  }
 32308  
 32309  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32310  func (asdls AzureSQLDWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 32311  	return nil, false
 32312  }
 32313  
 32314  // AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32315  func (asdls AzureSQLDWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 32316  	return nil, false
 32317  }
 32318  
 32319  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32320  func (asdls AzureSQLDWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 32321  	return nil, false
 32322  }
 32323  
 32324  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32325  func (asdls AzureSQLDWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 32326  	return nil, false
 32327  }
 32328  
 32329  // AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32330  func (asdls AzureSQLDWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 32331  	return nil, false
 32332  }
 32333  
 32334  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32335  func (asdls AzureSQLDWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 32336  	return nil, false
 32337  }
 32338  
 32339  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32340  func (asdls AzureSQLDWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 32341  	return nil, false
 32342  }
 32343  
 32344  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32345  func (asdls AzureSQLDWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 32346  	return nil, false
 32347  }
 32348  
 32349  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32350  func (asdls AzureSQLDWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 32351  	return nil, false
 32352  }
 32353  
 32354  // AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32355  func (asdls AzureSQLDWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 32356  	return nil, false
 32357  }
 32358  
 32359  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32360  func (asdls AzureSQLDWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 32361  	return nil, false
 32362  }
 32363  
 32364  // AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32365  func (asdls AzureSQLDWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 32366  	return nil, false
 32367  }
 32368  
 32369  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32370  func (asdls AzureSQLDWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 32371  	return nil, false
 32372  }
 32373  
 32374  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32375  func (asdls AzureSQLDWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 32376  	return nil, false
 32377  }
 32378  
 32379  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32380  func (asdls AzureSQLDWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 32381  	return nil, false
 32382  }
 32383  
 32384  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32385  func (asdls AzureSQLDWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 32386  	return nil, false
 32387  }
 32388  
 32389  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32390  func (asdls AzureSQLDWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 32391  	return nil, false
 32392  }
 32393  
 32394  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32395  func (asdls AzureSQLDWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 32396  	return nil, false
 32397  }
 32398  
 32399  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32400  func (asdls AzureSQLDWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 32401  	return nil, false
 32402  }
 32403  
 32404  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32405  func (asdls AzureSQLDWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 32406  	return nil, false
 32407  }
 32408  
 32409  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32410  func (asdls AzureSQLDWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 32411  	return nil, false
 32412  }
 32413  
 32414  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32415  func (asdls AzureSQLDWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 32416  	return nil, false
 32417  }
 32418  
 32419  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32420  func (asdls AzureSQLDWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 32421  	return nil, false
 32422  }
 32423  
 32424  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32425  func (asdls AzureSQLDWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 32426  	return nil, false
 32427  }
 32428  
 32429  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32430  func (asdls AzureSQLDWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 32431  	return nil, false
 32432  }
 32433  
 32434  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32435  func (asdls AzureSQLDWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 32436  	return nil, false
 32437  }
 32438  
 32439  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32440  func (asdls AzureSQLDWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 32441  	return nil, false
 32442  }
 32443  
 32444  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32445  func (asdls AzureSQLDWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 32446  	return nil, false
 32447  }
 32448  
 32449  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32450  func (asdls AzureSQLDWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 32451  	return nil, false
 32452  }
 32453  
 32454  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32455  func (asdls AzureSQLDWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 32456  	return nil, false
 32457  }
 32458  
 32459  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32460  func (asdls AzureSQLDWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 32461  	return nil, false
 32462  }
 32463  
 32464  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32465  func (asdls AzureSQLDWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 32466  	return nil, false
 32467  }
 32468  
 32469  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32470  func (asdls AzureSQLDWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 32471  	return nil, false
 32472  }
 32473  
 32474  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32475  func (asdls AzureSQLDWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 32476  	return nil, false
 32477  }
 32478  
 32479  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32480  func (asdls AzureSQLDWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 32481  	return nil, false
 32482  }
 32483  
 32484  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32485  func (asdls AzureSQLDWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 32486  	return nil, false
 32487  }
 32488  
 32489  // AsWebLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32490  func (asdls AzureSQLDWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 32491  	return nil, false
 32492  }
 32493  
 32494  // AsODataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32495  func (asdls AzureSQLDWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 32496  	return nil, false
 32497  }
 32498  
 32499  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32500  func (asdls AzureSQLDWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 32501  	return nil, false
 32502  }
 32503  
 32504  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32505  func (asdls AzureSQLDWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 32506  	return nil, false
 32507  }
 32508  
 32509  // AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32510  func (asdls AzureSQLDWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 32511  	return nil, false
 32512  }
 32513  
 32514  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32515  func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 32516  	return nil, false
 32517  }
 32518  
 32519  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32520  func (asdls AzureSQLDWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 32521  	return nil, false
 32522  }
 32523  
 32524  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32525  func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 32526  	return nil, false
 32527  }
 32528  
 32529  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32530  func (asdls AzureSQLDWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 32531  	return nil, false
 32532  }
 32533  
 32534  // AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32535  func (asdls AzureSQLDWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 32536  	return nil, false
 32537  }
 32538  
 32539  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32540  func (asdls AzureSQLDWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 32541  	return nil, false
 32542  }
 32543  
 32544  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32545  func (asdls AzureSQLDWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 32546  	return nil, false
 32547  }
 32548  
 32549  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32550  func (asdls AzureSQLDWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 32551  	return nil, false
 32552  }
 32553  
 32554  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32555  func (asdls AzureSQLDWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 32556  	return nil, false
 32557  }
 32558  
 32559  // AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32560  func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 32561  	return nil, false
 32562  }
 32563  
 32564  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32565  func (asdls AzureSQLDWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 32566  	return nil, false
 32567  }
 32568  
 32569  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32570  func (asdls AzureSQLDWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 32571  	return nil, false
 32572  }
 32573  
 32574  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32575  func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 32576  	return nil, false
 32577  }
 32578  
 32579  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32580  func (asdls AzureSQLDWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 32581  	return nil, false
 32582  }
 32583  
 32584  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32585  func (asdls AzureSQLDWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 32586  	return nil, false
 32587  }
 32588  
 32589  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32590  func (asdls AzureSQLDWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 32591  	return nil, false
 32592  }
 32593  
 32594  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32595  func (asdls AzureSQLDWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 32596  	return nil, false
 32597  }
 32598  
 32599  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32600  func (asdls AzureSQLDWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 32601  	return nil, false
 32602  }
 32603  
 32604  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32605  func (asdls AzureSQLDWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 32606  	return nil, false
 32607  }
 32608  
 32609  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32610  func (asdls AzureSQLDWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 32611  	return nil, false
 32612  }
 32613  
 32614  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32615  func (asdls AzureSQLDWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 32616  	return nil, false
 32617  }
 32618  
 32619  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32620  func (asdls AzureSQLDWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 32621  	return nil, false
 32622  }
 32623  
 32624  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32625  func (asdls AzureSQLDWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 32626  	return nil, false
 32627  }
 32628  
 32629  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32630  func (asdls AzureSQLDWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 32631  	return &asdls, true
 32632  }
 32633  
 32634  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32635  func (asdls AzureSQLDWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 32636  	return nil, false
 32637  }
 32638  
 32639  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32640  func (asdls AzureSQLDWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 32641  	return nil, false
 32642  }
 32643  
 32644  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32645  func (asdls AzureSQLDWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 32646  	return nil, false
 32647  }
 32648  
 32649  // AsLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32650  func (asdls AzureSQLDWLinkedService) AsLinkedService() (*LinkedService, bool) {
 32651  	return nil, false
 32652  }
 32653  
 32654  // AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService.
 32655  func (asdls AzureSQLDWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 32656  	return &asdls, true
 32657  }
 32658  
 32659  // UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedService struct.
 32660  func (asdls *AzureSQLDWLinkedService) UnmarshalJSON(body []byte) error {
 32661  	var m map[string]*json.RawMessage
 32662  	err := json.Unmarshal(body, &m)
 32663  	if err != nil {
 32664  		return err
 32665  	}
 32666  	for k, v := range m {
 32667  		switch k {
 32668  		case "typeProperties":
 32669  			if v != nil {
 32670  				var azureSQLDWLinkedServiceTypeProperties AzureSQLDWLinkedServiceTypeProperties
 32671  				err = json.Unmarshal(*v, &azureSQLDWLinkedServiceTypeProperties)
 32672  				if err != nil {
 32673  					return err
 32674  				}
 32675  				asdls.AzureSQLDWLinkedServiceTypeProperties = &azureSQLDWLinkedServiceTypeProperties
 32676  			}
 32677  		default:
 32678  			if v != nil {
 32679  				var additionalProperties interface{}
 32680  				err = json.Unmarshal(*v, &additionalProperties)
 32681  				if err != nil {
 32682  					return err
 32683  				}
 32684  				if asdls.AdditionalProperties == nil {
 32685  					asdls.AdditionalProperties = make(map[string]interface{})
 32686  				}
 32687  				asdls.AdditionalProperties[k] = additionalProperties
 32688  			}
 32689  		case "connectVia":
 32690  			if v != nil {
 32691  				var connectVia IntegrationRuntimeReference
 32692  				err = json.Unmarshal(*v, &connectVia)
 32693  				if err != nil {
 32694  					return err
 32695  				}
 32696  				asdls.ConnectVia = &connectVia
 32697  			}
 32698  		case "description":
 32699  			if v != nil {
 32700  				var description string
 32701  				err = json.Unmarshal(*v, &description)
 32702  				if err != nil {
 32703  					return err
 32704  				}
 32705  				asdls.Description = &description
 32706  			}
 32707  		case "parameters":
 32708  			if v != nil {
 32709  				var parameters map[string]*ParameterSpecification
 32710  				err = json.Unmarshal(*v, &parameters)
 32711  				if err != nil {
 32712  					return err
 32713  				}
 32714  				asdls.Parameters = parameters
 32715  			}
 32716  		case "annotations":
 32717  			if v != nil {
 32718  				var annotations []interface{}
 32719  				err = json.Unmarshal(*v, &annotations)
 32720  				if err != nil {
 32721  					return err
 32722  				}
 32723  				asdls.Annotations = &annotations
 32724  			}
 32725  		case "type":
 32726  			if v != nil {
 32727  				var typeVar TypeBasicLinkedService
 32728  				err = json.Unmarshal(*v, &typeVar)
 32729  				if err != nil {
 32730  					return err
 32731  				}
 32732  				asdls.Type = typeVar
 32733  			}
 32734  		}
 32735  	}
 32736  
 32737  	return nil
 32738  }
 32739  
 32740  // AzureSQLDWLinkedServiceTypeProperties azure SQL Data Warehouse linked service properties.
 32741  type AzureSQLDWLinkedServiceTypeProperties struct {
 32742  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
 32743  	ConnectionString interface{} `json:"connectionString,omitempty"`
 32744  	// Password - The Azure key vault secret reference of password in connection string.
 32745  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
 32746  	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
 32747  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 32748  	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Data Warehouse.
 32749  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 32750  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 32751  	Tenant interface{} `json:"tenant,omitempty"`
 32752  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 32753  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 32754  }
 32755  
 32756  // UnmarshalJSON is the custom unmarshaler for AzureSQLDWLinkedServiceTypeProperties struct.
 32757  func (asdlstp *AzureSQLDWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 32758  	var m map[string]*json.RawMessage
 32759  	err := json.Unmarshal(body, &m)
 32760  	if err != nil {
 32761  		return err
 32762  	}
 32763  	for k, v := range m {
 32764  		switch k {
 32765  		case "connectionString":
 32766  			if v != nil {
 32767  				var connectionString interface{}
 32768  				err = json.Unmarshal(*v, &connectionString)
 32769  				if err != nil {
 32770  					return err
 32771  				}
 32772  				asdlstp.ConnectionString = connectionString
 32773  			}
 32774  		case "password":
 32775  			if v != nil {
 32776  				var password AzureKeyVaultSecretReference
 32777  				err = json.Unmarshal(*v, &password)
 32778  				if err != nil {
 32779  					return err
 32780  				}
 32781  				asdlstp.Password = &password
 32782  			}
 32783  		case "servicePrincipalId":
 32784  			if v != nil {
 32785  				var servicePrincipalID interface{}
 32786  				err = json.Unmarshal(*v, &servicePrincipalID)
 32787  				if err != nil {
 32788  					return err
 32789  				}
 32790  				asdlstp.ServicePrincipalID = servicePrincipalID
 32791  			}
 32792  		case "servicePrincipalKey":
 32793  			if v != nil {
 32794  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 32795  				if err != nil {
 32796  					return err
 32797  				}
 32798  				asdlstp.ServicePrincipalKey = servicePrincipalKey
 32799  			}
 32800  		case "tenant":
 32801  			if v != nil {
 32802  				var tenant interface{}
 32803  				err = json.Unmarshal(*v, &tenant)
 32804  				if err != nil {
 32805  					return err
 32806  				}
 32807  				asdlstp.Tenant = tenant
 32808  			}
 32809  		case "encryptedCredential":
 32810  			if v != nil {
 32811  				var encryptedCredential interface{}
 32812  				err = json.Unmarshal(*v, &encryptedCredential)
 32813  				if err != nil {
 32814  					return err
 32815  				}
 32816  				asdlstp.EncryptedCredential = encryptedCredential
 32817  			}
 32818  		}
 32819  	}
 32820  
 32821  	return nil
 32822  }
 32823  
 32824  // AzureSQLDWTableDataset the Azure SQL Data Warehouse dataset.
 32825  type AzureSQLDWTableDataset struct {
 32826  	// AzureSQLDWTableDatasetTypeProperties - Azure SQL Data Warehouse dataset properties.
 32827  	*AzureSQLDWTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 32828  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 32829  	AdditionalProperties map[string]interface{} `json:""`
 32830  	// Description - Dataset description.
 32831  	Description *string `json:"description,omitempty"`
 32832  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 32833  	Structure interface{} `json:"structure,omitempty"`
 32834  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 32835  	Schema interface{} `json:"schema,omitempty"`
 32836  	// LinkedServiceName - Linked service reference.
 32837  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 32838  	// Parameters - Parameters for dataset.
 32839  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 32840  	// Annotations - List of tags that can be used for describing the Dataset.
 32841  	Annotations *[]interface{} `json:"annotations,omitempty"`
 32842  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 32843  	Folder *DatasetFolder `json:"folder,omitempty"`
 32844  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 32845  	Type TypeBasicDataset `json:"type,omitempty"`
 32846  }
 32847  
 32848  // MarshalJSON is the custom marshaler for AzureSQLDWTableDataset.
 32849  func (asdtd AzureSQLDWTableDataset) MarshalJSON() ([]byte, error) {
 32850  	asdtd.Type = TypeAzureSQLDWTable
 32851  	objectMap := make(map[string]interface{})
 32852  	if asdtd.AzureSQLDWTableDatasetTypeProperties != nil {
 32853  		objectMap["typeProperties"] = asdtd.AzureSQLDWTableDatasetTypeProperties
 32854  	}
 32855  	if asdtd.Description != nil {
 32856  		objectMap["description"] = asdtd.Description
 32857  	}
 32858  	if asdtd.Structure != nil {
 32859  		objectMap["structure"] = asdtd.Structure
 32860  	}
 32861  	if asdtd.Schema != nil {
 32862  		objectMap["schema"] = asdtd.Schema
 32863  	}
 32864  	if asdtd.LinkedServiceName != nil {
 32865  		objectMap["linkedServiceName"] = asdtd.LinkedServiceName
 32866  	}
 32867  	if asdtd.Parameters != nil {
 32868  		objectMap["parameters"] = asdtd.Parameters
 32869  	}
 32870  	if asdtd.Annotations != nil {
 32871  		objectMap["annotations"] = asdtd.Annotations
 32872  	}
 32873  	if asdtd.Folder != nil {
 32874  		objectMap["folder"] = asdtd.Folder
 32875  	}
 32876  	if asdtd.Type != "" {
 32877  		objectMap["type"] = asdtd.Type
 32878  	}
 32879  	for k, v := range asdtd.AdditionalProperties {
 32880  		objectMap[k] = v
 32881  	}
 32882  	return json.Marshal(objectMap)
 32883  }
 32884  
 32885  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32886  func (asdtd AzureSQLDWTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 32887  	return nil, false
 32888  }
 32889  
 32890  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32891  func (asdtd AzureSQLDWTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 32892  	return nil, false
 32893  }
 32894  
 32895  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32896  func (asdtd AzureSQLDWTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 32897  	return nil, false
 32898  }
 32899  
 32900  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32901  func (asdtd AzureSQLDWTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 32902  	return nil, false
 32903  }
 32904  
 32905  // AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32906  func (asdtd AzureSQLDWTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 32907  	return nil, false
 32908  }
 32909  
 32910  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32911  func (asdtd AzureSQLDWTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 32912  	return nil, false
 32913  }
 32914  
 32915  // AsVerticaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32916  func (asdtd AzureSQLDWTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 32917  	return nil, false
 32918  }
 32919  
 32920  // AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32921  func (asdtd AzureSQLDWTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 32922  	return nil, false
 32923  }
 32924  
 32925  // AsZohoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32926  func (asdtd AzureSQLDWTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 32927  	return nil, false
 32928  }
 32929  
 32930  // AsXeroObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32931  func (asdtd AzureSQLDWTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 32932  	return nil, false
 32933  }
 32934  
 32935  // AsSquareObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32936  func (asdtd AzureSQLDWTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 32937  	return nil, false
 32938  }
 32939  
 32940  // AsSparkObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32941  func (asdtd AzureSQLDWTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 32942  	return nil, false
 32943  }
 32944  
 32945  // AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32946  func (asdtd AzureSQLDWTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 32947  	return nil, false
 32948  }
 32949  
 32950  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32951  func (asdtd AzureSQLDWTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 32952  	return nil, false
 32953  }
 32954  
 32955  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32956  func (asdtd AzureSQLDWTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 32957  	return nil, false
 32958  }
 32959  
 32960  // AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32961  func (asdtd AzureSQLDWTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 32962  	return nil, false
 32963  }
 32964  
 32965  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32966  func (asdtd AzureSQLDWTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 32967  	return nil, false
 32968  }
 32969  
 32970  // AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32971  func (asdtd AzureSQLDWTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 32972  	return nil, false
 32973  }
 32974  
 32975  // AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32976  func (asdtd AzureSQLDWTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 32977  	return nil, false
 32978  }
 32979  
 32980  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32981  func (asdtd AzureSQLDWTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 32982  	return nil, false
 32983  }
 32984  
 32985  // AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32986  func (asdtd AzureSQLDWTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 32987  	return nil, false
 32988  }
 32989  
 32990  // AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32991  func (asdtd AzureSQLDWTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 32992  	return nil, false
 32993  }
 32994  
 32995  // AsJiraObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 32996  func (asdtd AzureSQLDWTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 32997  	return nil, false
 32998  }
 32999  
 33000  // AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33001  func (asdtd AzureSQLDWTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 33002  	return nil, false
 33003  }
 33004  
 33005  // AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33006  func (asdtd AzureSQLDWTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 33007  	return nil, false
 33008  }
 33009  
 33010  // AsHiveObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33011  func (asdtd AzureSQLDWTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 33012  	return nil, false
 33013  }
 33014  
 33015  // AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33016  func (asdtd AzureSQLDWTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 33017  	return nil, false
 33018  }
 33019  
 33020  // AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33021  func (asdtd AzureSQLDWTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 33022  	return nil, false
 33023  }
 33024  
 33025  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33026  func (asdtd AzureSQLDWTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 33027  	return nil, false
 33028  }
 33029  
 33030  // AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33031  func (asdtd AzureSQLDWTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 33032  	return nil, false
 33033  }
 33034  
 33035  // AsDrillTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33036  func (asdtd AzureSQLDWTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 33037  	return nil, false
 33038  }
 33039  
 33040  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33041  func (asdtd AzureSQLDWTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 33042  	return nil, false
 33043  }
 33044  
 33045  // AsConcurObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33046  func (asdtd AzureSQLDWTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 33047  	return nil, false
 33048  }
 33049  
 33050  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33051  func (asdtd AzureSQLDWTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 33052  	return nil, false
 33053  }
 33054  
 33055  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33056  func (asdtd AzureSQLDWTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 33057  	return nil, false
 33058  }
 33059  
 33060  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33061  func (asdtd AzureSQLDWTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 33062  	return nil, false
 33063  }
 33064  
 33065  // AsWebTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33066  func (asdtd AzureSQLDWTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 33067  	return nil, false
 33068  }
 33069  
 33070  // AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33071  func (asdtd AzureSQLDWTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 33072  	return nil, false
 33073  }
 33074  
 33075  // AsRestResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33076  func (asdtd AzureSQLDWTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 33077  	return nil, false
 33078  }
 33079  
 33080  // AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33081  func (asdtd AzureSQLDWTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 33082  	return nil, false
 33083  }
 33084  
 33085  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33086  func (asdtd AzureSQLDWTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 33087  	return nil, false
 33088  }
 33089  
 33090  // AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33091  func (asdtd AzureSQLDWTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 33092  	return nil, false
 33093  }
 33094  
 33095  // AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33096  func (asdtd AzureSQLDWTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 33097  	return nil, false
 33098  }
 33099  
 33100  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33101  func (asdtd AzureSQLDWTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 33102  	return nil, false
 33103  }
 33104  
 33105  // AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33106  func (asdtd AzureSQLDWTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 33107  	return nil, false
 33108  }
 33109  
 33110  // AsSybaseTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33111  func (asdtd AzureSQLDWTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 33112  	return nil, false
 33113  }
 33114  
 33115  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33116  func (asdtd AzureSQLDWTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 33117  	return nil, false
 33118  }
 33119  
 33120  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33121  func (asdtd AzureSQLDWTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 33122  	return nil, false
 33123  }
 33124  
 33125  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33126  func (asdtd AzureSQLDWTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 33127  	return nil, false
 33128  }
 33129  
 33130  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33131  func (asdtd AzureSQLDWTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 33132  	return nil, false
 33133  }
 33134  
 33135  // AsMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33136  func (asdtd AzureSQLDWTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 33137  	return nil, false
 33138  }
 33139  
 33140  // AsOdbcTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33141  func (asdtd AzureSQLDWTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 33142  	return nil, false
 33143  }
 33144  
 33145  // AsInformixTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33146  func (asdtd AzureSQLDWTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 33147  	return nil, false
 33148  }
 33149  
 33150  // AsRelationalTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33151  func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 33152  	return nil, false
 33153  }
 33154  
 33155  // AsDb2TableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33156  func (asdtd AzureSQLDWTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 33157  	return nil, false
 33158  }
 33159  
 33160  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33161  func (asdtd AzureSQLDWTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 33162  	return nil, false
 33163  }
 33164  
 33165  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33166  func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 33167  	return nil, false
 33168  }
 33169  
 33170  // AsTeradataTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33171  func (asdtd AzureSQLDWTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 33172  	return nil, false
 33173  }
 33174  
 33175  // AsOracleTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33176  func (asdtd AzureSQLDWTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 33177  	return nil, false
 33178  }
 33179  
 33180  // AsODataResourceDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33181  func (asdtd AzureSQLDWTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 33182  	return nil, false
 33183  }
 33184  
 33185  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33186  func (asdtd AzureSQLDWTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 33187  	return nil, false
 33188  }
 33189  
 33190  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33191  func (asdtd AzureSQLDWTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 33192  	return nil, false
 33193  }
 33194  
 33195  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33196  func (asdtd AzureSQLDWTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 33197  	return nil, false
 33198  }
 33199  
 33200  // AsOffice365Dataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33201  func (asdtd AzureSQLDWTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 33202  	return nil, false
 33203  }
 33204  
 33205  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33206  func (asdtd AzureSQLDWTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 33207  	return nil, false
 33208  }
 33209  
 33210  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33211  func (asdtd AzureSQLDWTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 33212  	return nil, false
 33213  }
 33214  
 33215  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33216  func (asdtd AzureSQLDWTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 33217  	return nil, false
 33218  }
 33219  
 33220  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33221  func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 33222  	return nil, false
 33223  }
 33224  
 33225  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33226  func (asdtd AzureSQLDWTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 33227  	return nil, false
 33228  }
 33229  
 33230  // AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33231  func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 33232  	return nil, false
 33233  }
 33234  
 33235  // AsCassandraTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33236  func (asdtd AzureSQLDWTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 33237  	return nil, false
 33238  }
 33239  
 33240  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33241  func (asdtd AzureSQLDWTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 33242  	return &asdtd, true
 33243  }
 33244  
 33245  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33246  func (asdtd AzureSQLDWTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 33247  	return nil, false
 33248  }
 33249  
 33250  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33251  func (asdtd AzureSQLDWTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 33252  	return nil, false
 33253  }
 33254  
 33255  // AsAzureTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33256  func (asdtd AzureSQLDWTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 33257  	return nil, false
 33258  }
 33259  
 33260  // AsBinaryDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33261  func (asdtd AzureSQLDWTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 33262  	return nil, false
 33263  }
 33264  
 33265  // AsOrcDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33266  func (asdtd AzureSQLDWTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 33267  	return nil, false
 33268  }
 33269  
 33270  // AsJSONDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33271  func (asdtd AzureSQLDWTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 33272  	return nil, false
 33273  }
 33274  
 33275  // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33276  func (asdtd AzureSQLDWTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 33277  	return nil, false
 33278  }
 33279  
 33280  // AsParquetDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33281  func (asdtd AzureSQLDWTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 33282  	return nil, false
 33283  }
 33284  
 33285  // AsAvroDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33286  func (asdtd AzureSQLDWTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 33287  	return nil, false
 33288  }
 33289  
 33290  // AsDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33291  func (asdtd AzureSQLDWTableDataset) AsDataset() (*Dataset, bool) {
 33292  	return nil, false
 33293  }
 33294  
 33295  // AsBasicDataset is the BasicDataset implementation for AzureSQLDWTableDataset.
 33296  func (asdtd AzureSQLDWTableDataset) AsBasicDataset() (BasicDataset, bool) {
 33297  	return &asdtd, true
 33298  }
 33299  
 33300  // UnmarshalJSON is the custom unmarshaler for AzureSQLDWTableDataset struct.
 33301  func (asdtd *AzureSQLDWTableDataset) UnmarshalJSON(body []byte) error {
 33302  	var m map[string]*json.RawMessage
 33303  	err := json.Unmarshal(body, &m)
 33304  	if err != nil {
 33305  		return err
 33306  	}
 33307  	for k, v := range m {
 33308  		switch k {
 33309  		case "typeProperties":
 33310  			if v != nil {
 33311  				var azureSQLDWTableDatasetTypeProperties AzureSQLDWTableDatasetTypeProperties
 33312  				err = json.Unmarshal(*v, &azureSQLDWTableDatasetTypeProperties)
 33313  				if err != nil {
 33314  					return err
 33315  				}
 33316  				asdtd.AzureSQLDWTableDatasetTypeProperties = &azureSQLDWTableDatasetTypeProperties
 33317  			}
 33318  		default:
 33319  			if v != nil {
 33320  				var additionalProperties interface{}
 33321  				err = json.Unmarshal(*v, &additionalProperties)
 33322  				if err != nil {
 33323  					return err
 33324  				}
 33325  				if asdtd.AdditionalProperties == nil {
 33326  					asdtd.AdditionalProperties = make(map[string]interface{})
 33327  				}
 33328  				asdtd.AdditionalProperties[k] = additionalProperties
 33329  			}
 33330  		case "description":
 33331  			if v != nil {
 33332  				var description string
 33333  				err = json.Unmarshal(*v, &description)
 33334  				if err != nil {
 33335  					return err
 33336  				}
 33337  				asdtd.Description = &description
 33338  			}
 33339  		case "structure":
 33340  			if v != nil {
 33341  				var structure interface{}
 33342  				err = json.Unmarshal(*v, &structure)
 33343  				if err != nil {
 33344  					return err
 33345  				}
 33346  				asdtd.Structure = structure
 33347  			}
 33348  		case "schema":
 33349  			if v != nil {
 33350  				var schema interface{}
 33351  				err = json.Unmarshal(*v, &schema)
 33352  				if err != nil {
 33353  					return err
 33354  				}
 33355  				asdtd.Schema = schema
 33356  			}
 33357  		case "linkedServiceName":
 33358  			if v != nil {
 33359  				var linkedServiceName LinkedServiceReference
 33360  				err = json.Unmarshal(*v, &linkedServiceName)
 33361  				if err != nil {
 33362  					return err
 33363  				}
 33364  				asdtd.LinkedServiceName = &linkedServiceName
 33365  			}
 33366  		case "parameters":
 33367  			if v != nil {
 33368  				var parameters map[string]*ParameterSpecification
 33369  				err = json.Unmarshal(*v, &parameters)
 33370  				if err != nil {
 33371  					return err
 33372  				}
 33373  				asdtd.Parameters = parameters
 33374  			}
 33375  		case "annotations":
 33376  			if v != nil {
 33377  				var annotations []interface{}
 33378  				err = json.Unmarshal(*v, &annotations)
 33379  				if err != nil {
 33380  					return err
 33381  				}
 33382  				asdtd.Annotations = &annotations
 33383  			}
 33384  		case "folder":
 33385  			if v != nil {
 33386  				var folder DatasetFolder
 33387  				err = json.Unmarshal(*v, &folder)
 33388  				if err != nil {
 33389  					return err
 33390  				}
 33391  				asdtd.Folder = &folder
 33392  			}
 33393  		case "type":
 33394  			if v != nil {
 33395  				var typeVar TypeBasicDataset
 33396  				err = json.Unmarshal(*v, &typeVar)
 33397  				if err != nil {
 33398  					return err
 33399  				}
 33400  				asdtd.Type = typeVar
 33401  			}
 33402  		}
 33403  	}
 33404  
 33405  	return nil
 33406  }
 33407  
 33408  // AzureSQLDWTableDatasetTypeProperties azure SQL Data Warehouse dataset properties.
 33409  type AzureSQLDWTableDatasetTypeProperties struct {
 33410  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 33411  	TableName interface{} `json:"tableName,omitempty"`
 33412  	// Schema - The schema name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
 33413  	Schema interface{} `json:"schema,omitempty"`
 33414  	// Table - The table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
 33415  	Table interface{} `json:"table,omitempty"`
 33416  }
 33417  
 33418  // AzureSQLMILinkedService azure SQL Managed Instance linked service.
 33419  type AzureSQLMILinkedService struct {
 33420  	// AzureSQLMILinkedServiceTypeProperties - Azure SQL Managed Instance linked service properties.
 33421  	*AzureSQLMILinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 33422  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 33423  	AdditionalProperties map[string]interface{} `json:""`
 33424  	// ConnectVia - The integration runtime reference.
 33425  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 33426  	// Description - Linked service description.
 33427  	Description *string `json:"description,omitempty"`
 33428  	// Parameters - Parameters for linked service.
 33429  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 33430  	// Annotations - List of tags that can be used for describing the linked service.
 33431  	Annotations *[]interface{} `json:"annotations,omitempty"`
 33432  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 33433  	Type TypeBasicLinkedService `json:"type,omitempty"`
 33434  }
 33435  
 33436  // MarshalJSON is the custom marshaler for AzureSQLMILinkedService.
 33437  func (asmls AzureSQLMILinkedService) MarshalJSON() ([]byte, error) {
 33438  	asmls.Type = TypeAzureSQLMI
 33439  	objectMap := make(map[string]interface{})
 33440  	if asmls.AzureSQLMILinkedServiceTypeProperties != nil {
 33441  		objectMap["typeProperties"] = asmls.AzureSQLMILinkedServiceTypeProperties
 33442  	}
 33443  	if asmls.ConnectVia != nil {
 33444  		objectMap["connectVia"] = asmls.ConnectVia
 33445  	}
 33446  	if asmls.Description != nil {
 33447  		objectMap["description"] = asmls.Description
 33448  	}
 33449  	if asmls.Parameters != nil {
 33450  		objectMap["parameters"] = asmls.Parameters
 33451  	}
 33452  	if asmls.Annotations != nil {
 33453  		objectMap["annotations"] = asmls.Annotations
 33454  	}
 33455  	if asmls.Type != "" {
 33456  		objectMap["type"] = asmls.Type
 33457  	}
 33458  	for k, v := range asmls.AdditionalProperties {
 33459  		objectMap[k] = v
 33460  	}
 33461  	return json.Marshal(objectMap)
 33462  }
 33463  
 33464  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33465  func (asmls AzureSQLMILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 33466  	return nil, false
 33467  }
 33468  
 33469  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33470  func (asmls AzureSQLMILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 33471  	return nil, false
 33472  }
 33473  
 33474  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33475  func (asmls AzureSQLMILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 33476  	return nil, false
 33477  }
 33478  
 33479  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33480  func (asmls AzureSQLMILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 33481  	return nil, false
 33482  }
 33483  
 33484  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33485  func (asmls AzureSQLMILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 33486  	return nil, false
 33487  }
 33488  
 33489  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33490  func (asmls AzureSQLMILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 33491  	return nil, false
 33492  }
 33493  
 33494  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33495  func (asmls AzureSQLMILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 33496  	return nil, false
 33497  }
 33498  
 33499  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33500  func (asmls AzureSQLMILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 33501  	return nil, false
 33502  }
 33503  
 33504  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33505  func (asmls AzureSQLMILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 33506  	return nil, false
 33507  }
 33508  
 33509  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33510  func (asmls AzureSQLMILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 33511  	return nil, false
 33512  }
 33513  
 33514  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33515  func (asmls AzureSQLMILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 33516  	return nil, false
 33517  }
 33518  
 33519  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33520  func (asmls AzureSQLMILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 33521  	return nil, false
 33522  }
 33523  
 33524  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33525  func (asmls AzureSQLMILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 33526  	return nil, false
 33527  }
 33528  
 33529  // AsZohoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33530  func (asmls AzureSQLMILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 33531  	return nil, false
 33532  }
 33533  
 33534  // AsXeroLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33535  func (asmls AzureSQLMILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 33536  	return nil, false
 33537  }
 33538  
 33539  // AsSquareLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33540  func (asmls AzureSQLMILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 33541  	return nil, false
 33542  }
 33543  
 33544  // AsSparkLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33545  func (asmls AzureSQLMILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 33546  	return nil, false
 33547  }
 33548  
 33549  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33550  func (asmls AzureSQLMILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 33551  	return nil, false
 33552  }
 33553  
 33554  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33555  func (asmls AzureSQLMILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 33556  	return nil, false
 33557  }
 33558  
 33559  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33560  func (asmls AzureSQLMILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 33561  	return nil, false
 33562  }
 33563  
 33564  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33565  func (asmls AzureSQLMILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 33566  	return nil, false
 33567  }
 33568  
 33569  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33570  func (asmls AzureSQLMILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 33571  	return nil, false
 33572  }
 33573  
 33574  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33575  func (asmls AzureSQLMILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 33576  	return nil, false
 33577  }
 33578  
 33579  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33580  func (asmls AzureSQLMILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 33581  	return nil, false
 33582  }
 33583  
 33584  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33585  func (asmls AzureSQLMILinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 33586  	return nil, false
 33587  }
 33588  
 33589  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33590  func (asmls AzureSQLMILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 33591  	return nil, false
 33592  }
 33593  
 33594  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33595  func (asmls AzureSQLMILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 33596  	return nil, false
 33597  }
 33598  
 33599  // AsJiraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33600  func (asmls AzureSQLMILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 33601  	return nil, false
 33602  }
 33603  
 33604  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33605  func (asmls AzureSQLMILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 33606  	return nil, false
 33607  }
 33608  
 33609  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33610  func (asmls AzureSQLMILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 33611  	return nil, false
 33612  }
 33613  
 33614  // AsHiveLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33615  func (asmls AzureSQLMILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 33616  	return nil, false
 33617  }
 33618  
 33619  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33620  func (asmls AzureSQLMILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 33621  	return nil, false
 33622  }
 33623  
 33624  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33625  func (asmls AzureSQLMILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 33626  	return nil, false
 33627  }
 33628  
 33629  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33630  func (asmls AzureSQLMILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 33631  	return nil, false
 33632  }
 33633  
 33634  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33635  func (asmls AzureSQLMILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 33636  	return nil, false
 33637  }
 33638  
 33639  // AsDrillLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33640  func (asmls AzureSQLMILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 33641  	return nil, false
 33642  }
 33643  
 33644  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33645  func (asmls AzureSQLMILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 33646  	return nil, false
 33647  }
 33648  
 33649  // AsConcurLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33650  func (asmls AzureSQLMILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 33651  	return nil, false
 33652  }
 33653  
 33654  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33655  func (asmls AzureSQLMILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 33656  	return nil, false
 33657  }
 33658  
 33659  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33660  func (asmls AzureSQLMILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 33661  	return nil, false
 33662  }
 33663  
 33664  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33665  func (asmls AzureSQLMILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 33666  	return nil, false
 33667  }
 33668  
 33669  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33670  func (asmls AzureSQLMILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 33671  	return nil, false
 33672  }
 33673  
 33674  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33675  func (asmls AzureSQLMILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 33676  	return nil, false
 33677  }
 33678  
 33679  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33680  func (asmls AzureSQLMILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 33681  	return nil, false
 33682  }
 33683  
 33684  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33685  func (asmls AzureSQLMILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 33686  	return nil, false
 33687  }
 33688  
 33689  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33690  func (asmls AzureSQLMILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 33691  	return nil, false
 33692  }
 33693  
 33694  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33695  func (asmls AzureSQLMILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 33696  	return nil, false
 33697  }
 33698  
 33699  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33700  func (asmls AzureSQLMILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 33701  	return nil, false
 33702  }
 33703  
 33704  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33705  func (asmls AzureSQLMILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 33706  	return nil, false
 33707  }
 33708  
 33709  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33710  func (asmls AzureSQLMILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 33711  	return nil, false
 33712  }
 33713  
 33714  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33715  func (asmls AzureSQLMILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 33716  	return nil, false
 33717  }
 33718  
 33719  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33720  func (asmls AzureSQLMILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 33721  	return nil, false
 33722  }
 33723  
 33724  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33725  func (asmls AzureSQLMILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 33726  	return nil, false
 33727  }
 33728  
 33729  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33730  func (asmls AzureSQLMILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 33731  	return nil, false
 33732  }
 33733  
 33734  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33735  func (asmls AzureSQLMILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 33736  	return nil, false
 33737  }
 33738  
 33739  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33740  func (asmls AzureSQLMILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 33741  	return nil, false
 33742  }
 33743  
 33744  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33745  func (asmls AzureSQLMILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 33746  	return nil, false
 33747  }
 33748  
 33749  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33750  func (asmls AzureSQLMILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 33751  	return nil, false
 33752  }
 33753  
 33754  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33755  func (asmls AzureSQLMILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 33756  	return nil, false
 33757  }
 33758  
 33759  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33760  func (asmls AzureSQLMILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 33761  	return nil, false
 33762  }
 33763  
 33764  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33765  func (asmls AzureSQLMILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 33766  	return nil, false
 33767  }
 33768  
 33769  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33770  func (asmls AzureSQLMILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 33771  	return nil, false
 33772  }
 33773  
 33774  // AsWebLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33775  func (asmls AzureSQLMILinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 33776  	return nil, false
 33777  }
 33778  
 33779  // AsODataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33780  func (asmls AzureSQLMILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 33781  	return nil, false
 33782  }
 33783  
 33784  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33785  func (asmls AzureSQLMILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 33786  	return nil, false
 33787  }
 33788  
 33789  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33790  func (asmls AzureSQLMILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 33791  	return nil, false
 33792  }
 33793  
 33794  // AsInformixLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33795  func (asmls AzureSQLMILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 33796  	return nil, false
 33797  }
 33798  
 33799  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33800  func (asmls AzureSQLMILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 33801  	return nil, false
 33802  }
 33803  
 33804  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33805  func (asmls AzureSQLMILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 33806  	return nil, false
 33807  }
 33808  
 33809  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33810  func (asmls AzureSQLMILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 33811  	return nil, false
 33812  }
 33813  
 33814  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33815  func (asmls AzureSQLMILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 33816  	return nil, false
 33817  }
 33818  
 33819  // AsDb2LinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33820  func (asmls AzureSQLMILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 33821  	return nil, false
 33822  }
 33823  
 33824  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33825  func (asmls AzureSQLMILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 33826  	return nil, false
 33827  }
 33828  
 33829  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33830  func (asmls AzureSQLMILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 33831  	return nil, false
 33832  }
 33833  
 33834  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33835  func (asmls AzureSQLMILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 33836  	return nil, false
 33837  }
 33838  
 33839  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33840  func (asmls AzureSQLMILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 33841  	return nil, false
 33842  }
 33843  
 33844  // AsOracleLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33845  func (asmls AzureSQLMILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 33846  	return nil, false
 33847  }
 33848  
 33849  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33850  func (asmls AzureSQLMILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 33851  	return nil, false
 33852  }
 33853  
 33854  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33855  func (asmls AzureSQLMILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 33856  	return nil, false
 33857  }
 33858  
 33859  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33860  func (asmls AzureSQLMILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 33861  	return nil, false
 33862  }
 33863  
 33864  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33865  func (asmls AzureSQLMILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 33866  	return nil, false
 33867  }
 33868  
 33869  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33870  func (asmls AzureSQLMILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 33871  	return nil, false
 33872  }
 33873  
 33874  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33875  func (asmls AzureSQLMILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 33876  	return nil, false
 33877  }
 33878  
 33879  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33880  func (asmls AzureSQLMILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 33881  	return nil, false
 33882  }
 33883  
 33884  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33885  func (asmls AzureSQLMILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 33886  	return nil, false
 33887  }
 33888  
 33889  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33890  func (asmls AzureSQLMILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 33891  	return nil, false
 33892  }
 33893  
 33894  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33895  func (asmls AzureSQLMILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 33896  	return nil, false
 33897  }
 33898  
 33899  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33900  func (asmls AzureSQLMILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 33901  	return &asmls, true
 33902  }
 33903  
 33904  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33905  func (asmls AzureSQLMILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 33906  	return nil, false
 33907  }
 33908  
 33909  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33910  func (asmls AzureSQLMILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 33911  	return nil, false
 33912  }
 33913  
 33914  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33915  func (asmls AzureSQLMILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 33916  	return nil, false
 33917  }
 33918  
 33919  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33920  func (asmls AzureSQLMILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 33921  	return nil, false
 33922  }
 33923  
 33924  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33925  func (asmls AzureSQLMILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 33926  	return nil, false
 33927  }
 33928  
 33929  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33930  func (asmls AzureSQLMILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 33931  	return nil, false
 33932  }
 33933  
 33934  // AsLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33935  func (asmls AzureSQLMILinkedService) AsLinkedService() (*LinkedService, bool) {
 33936  	return nil, false
 33937  }
 33938  
 33939  // AsBasicLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService.
 33940  func (asmls AzureSQLMILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 33941  	return &asmls, true
 33942  }
 33943  
 33944  // UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedService struct.
 33945  func (asmls *AzureSQLMILinkedService) UnmarshalJSON(body []byte) error {
 33946  	var m map[string]*json.RawMessage
 33947  	err := json.Unmarshal(body, &m)
 33948  	if err != nil {
 33949  		return err
 33950  	}
 33951  	for k, v := range m {
 33952  		switch k {
 33953  		case "typeProperties":
 33954  			if v != nil {
 33955  				var azureSQLMILinkedServiceTypeProperties AzureSQLMILinkedServiceTypeProperties
 33956  				err = json.Unmarshal(*v, &azureSQLMILinkedServiceTypeProperties)
 33957  				if err != nil {
 33958  					return err
 33959  				}
 33960  				asmls.AzureSQLMILinkedServiceTypeProperties = &azureSQLMILinkedServiceTypeProperties
 33961  			}
 33962  		default:
 33963  			if v != nil {
 33964  				var additionalProperties interface{}
 33965  				err = json.Unmarshal(*v, &additionalProperties)
 33966  				if err != nil {
 33967  					return err
 33968  				}
 33969  				if asmls.AdditionalProperties == nil {
 33970  					asmls.AdditionalProperties = make(map[string]interface{})
 33971  				}
 33972  				asmls.AdditionalProperties[k] = additionalProperties
 33973  			}
 33974  		case "connectVia":
 33975  			if v != nil {
 33976  				var connectVia IntegrationRuntimeReference
 33977  				err = json.Unmarshal(*v, &connectVia)
 33978  				if err != nil {
 33979  					return err
 33980  				}
 33981  				asmls.ConnectVia = &connectVia
 33982  			}
 33983  		case "description":
 33984  			if v != nil {
 33985  				var description string
 33986  				err = json.Unmarshal(*v, &description)
 33987  				if err != nil {
 33988  					return err
 33989  				}
 33990  				asmls.Description = &description
 33991  			}
 33992  		case "parameters":
 33993  			if v != nil {
 33994  				var parameters map[string]*ParameterSpecification
 33995  				err = json.Unmarshal(*v, &parameters)
 33996  				if err != nil {
 33997  					return err
 33998  				}
 33999  				asmls.Parameters = parameters
 34000  			}
 34001  		case "annotations":
 34002  			if v != nil {
 34003  				var annotations []interface{}
 34004  				err = json.Unmarshal(*v, &annotations)
 34005  				if err != nil {
 34006  					return err
 34007  				}
 34008  				asmls.Annotations = &annotations
 34009  			}
 34010  		case "type":
 34011  			if v != nil {
 34012  				var typeVar TypeBasicLinkedService
 34013  				err = json.Unmarshal(*v, &typeVar)
 34014  				if err != nil {
 34015  					return err
 34016  				}
 34017  				asmls.Type = typeVar
 34018  			}
 34019  		}
 34020  	}
 34021  
 34022  	return nil
 34023  }
 34024  
 34025  // AzureSQLMILinkedServiceTypeProperties azure SQL Managed Instance linked service properties.
 34026  type AzureSQLMILinkedServiceTypeProperties struct {
 34027  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 34028  	ConnectionString interface{} `json:"connectionString,omitempty"`
 34029  	// Password - The Azure key vault secret reference of password in connection string.
 34030  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
 34031  	// ServicePrincipalID - The ID of the service principal used to authenticate against Azure SQL Managed Instance. Type: string (or Expression with resultType string).
 34032  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 34033  	// ServicePrincipalKey - The key of the service principal used to authenticate against Azure SQL Managed Instance.
 34034  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 34035  	// Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
 34036  	Tenant interface{} `json:"tenant,omitempty"`
 34037  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 34038  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 34039  }
 34040  
 34041  // UnmarshalJSON is the custom unmarshaler for AzureSQLMILinkedServiceTypeProperties struct.
 34042  func (asmlstp *AzureSQLMILinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 34043  	var m map[string]*json.RawMessage
 34044  	err := json.Unmarshal(body, &m)
 34045  	if err != nil {
 34046  		return err
 34047  	}
 34048  	for k, v := range m {
 34049  		switch k {
 34050  		case "connectionString":
 34051  			if v != nil {
 34052  				var connectionString interface{}
 34053  				err = json.Unmarshal(*v, &connectionString)
 34054  				if err != nil {
 34055  					return err
 34056  				}
 34057  				asmlstp.ConnectionString = connectionString
 34058  			}
 34059  		case "password":
 34060  			if v != nil {
 34061  				var password AzureKeyVaultSecretReference
 34062  				err = json.Unmarshal(*v, &password)
 34063  				if err != nil {
 34064  					return err
 34065  				}
 34066  				asmlstp.Password = &password
 34067  			}
 34068  		case "servicePrincipalId":
 34069  			if v != nil {
 34070  				var servicePrincipalID interface{}
 34071  				err = json.Unmarshal(*v, &servicePrincipalID)
 34072  				if err != nil {
 34073  					return err
 34074  				}
 34075  				asmlstp.ServicePrincipalID = servicePrincipalID
 34076  			}
 34077  		case "servicePrincipalKey":
 34078  			if v != nil {
 34079  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 34080  				if err != nil {
 34081  					return err
 34082  				}
 34083  				asmlstp.ServicePrincipalKey = servicePrincipalKey
 34084  			}
 34085  		case "tenant":
 34086  			if v != nil {
 34087  				var tenant interface{}
 34088  				err = json.Unmarshal(*v, &tenant)
 34089  				if err != nil {
 34090  					return err
 34091  				}
 34092  				asmlstp.Tenant = tenant
 34093  			}
 34094  		case "encryptedCredential":
 34095  			if v != nil {
 34096  				var encryptedCredential interface{}
 34097  				err = json.Unmarshal(*v, &encryptedCredential)
 34098  				if err != nil {
 34099  					return err
 34100  				}
 34101  				asmlstp.EncryptedCredential = encryptedCredential
 34102  			}
 34103  		}
 34104  	}
 34105  
 34106  	return nil
 34107  }
 34108  
 34109  // AzureSQLMITableDataset the Azure SQL Managed Instance dataset.
 34110  type AzureSQLMITableDataset struct {
 34111  	// AzureSQLMITableDatasetTypeProperties - Azure SQL Managed Instance dataset properties.
 34112  	*AzureSQLMITableDatasetTypeProperties `json:"typeProperties,omitempty"`
 34113  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 34114  	AdditionalProperties map[string]interface{} `json:""`
 34115  	// Description - Dataset description.
 34116  	Description *string `json:"description,omitempty"`
 34117  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 34118  	Structure interface{} `json:"structure,omitempty"`
 34119  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 34120  	Schema interface{} `json:"schema,omitempty"`
 34121  	// LinkedServiceName - Linked service reference.
 34122  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 34123  	// Parameters - Parameters for dataset.
 34124  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 34125  	// Annotations - List of tags that can be used for describing the Dataset.
 34126  	Annotations *[]interface{} `json:"annotations,omitempty"`
 34127  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 34128  	Folder *DatasetFolder `json:"folder,omitempty"`
 34129  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 34130  	Type TypeBasicDataset `json:"type,omitempty"`
 34131  }
 34132  
 34133  // MarshalJSON is the custom marshaler for AzureSQLMITableDataset.
 34134  func (asmtd AzureSQLMITableDataset) MarshalJSON() ([]byte, error) {
 34135  	asmtd.Type = TypeAzureSQLMITable
 34136  	objectMap := make(map[string]interface{})
 34137  	if asmtd.AzureSQLMITableDatasetTypeProperties != nil {
 34138  		objectMap["typeProperties"] = asmtd.AzureSQLMITableDatasetTypeProperties
 34139  	}
 34140  	if asmtd.Description != nil {
 34141  		objectMap["description"] = asmtd.Description
 34142  	}
 34143  	if asmtd.Structure != nil {
 34144  		objectMap["structure"] = asmtd.Structure
 34145  	}
 34146  	if asmtd.Schema != nil {
 34147  		objectMap["schema"] = asmtd.Schema
 34148  	}
 34149  	if asmtd.LinkedServiceName != nil {
 34150  		objectMap["linkedServiceName"] = asmtd.LinkedServiceName
 34151  	}
 34152  	if asmtd.Parameters != nil {
 34153  		objectMap["parameters"] = asmtd.Parameters
 34154  	}
 34155  	if asmtd.Annotations != nil {
 34156  		objectMap["annotations"] = asmtd.Annotations
 34157  	}
 34158  	if asmtd.Folder != nil {
 34159  		objectMap["folder"] = asmtd.Folder
 34160  	}
 34161  	if asmtd.Type != "" {
 34162  		objectMap["type"] = asmtd.Type
 34163  	}
 34164  	for k, v := range asmtd.AdditionalProperties {
 34165  		objectMap[k] = v
 34166  	}
 34167  	return json.Marshal(objectMap)
 34168  }
 34169  
 34170  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34171  func (asmtd AzureSQLMITableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 34172  	return nil, false
 34173  }
 34174  
 34175  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34176  func (asmtd AzureSQLMITableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 34177  	return nil, false
 34178  }
 34179  
 34180  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34181  func (asmtd AzureSQLMITableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 34182  	return nil, false
 34183  }
 34184  
 34185  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34186  func (asmtd AzureSQLMITableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 34187  	return nil, false
 34188  }
 34189  
 34190  // AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34191  func (asmtd AzureSQLMITableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 34192  	return nil, false
 34193  }
 34194  
 34195  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34196  func (asmtd AzureSQLMITableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 34197  	return nil, false
 34198  }
 34199  
 34200  // AsVerticaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34201  func (asmtd AzureSQLMITableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 34202  	return nil, false
 34203  }
 34204  
 34205  // AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34206  func (asmtd AzureSQLMITableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 34207  	return nil, false
 34208  }
 34209  
 34210  // AsZohoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34211  func (asmtd AzureSQLMITableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 34212  	return nil, false
 34213  }
 34214  
 34215  // AsXeroObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34216  func (asmtd AzureSQLMITableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 34217  	return nil, false
 34218  }
 34219  
 34220  // AsSquareObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34221  func (asmtd AzureSQLMITableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 34222  	return nil, false
 34223  }
 34224  
 34225  // AsSparkObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34226  func (asmtd AzureSQLMITableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 34227  	return nil, false
 34228  }
 34229  
 34230  // AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34231  func (asmtd AzureSQLMITableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 34232  	return nil, false
 34233  }
 34234  
 34235  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34236  func (asmtd AzureSQLMITableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 34237  	return nil, false
 34238  }
 34239  
 34240  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34241  func (asmtd AzureSQLMITableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 34242  	return nil, false
 34243  }
 34244  
 34245  // AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34246  func (asmtd AzureSQLMITableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 34247  	return nil, false
 34248  }
 34249  
 34250  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34251  func (asmtd AzureSQLMITableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 34252  	return nil, false
 34253  }
 34254  
 34255  // AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34256  func (asmtd AzureSQLMITableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 34257  	return nil, false
 34258  }
 34259  
 34260  // AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34261  func (asmtd AzureSQLMITableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 34262  	return nil, false
 34263  }
 34264  
 34265  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34266  func (asmtd AzureSQLMITableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 34267  	return nil, false
 34268  }
 34269  
 34270  // AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34271  func (asmtd AzureSQLMITableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 34272  	return nil, false
 34273  }
 34274  
 34275  // AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34276  func (asmtd AzureSQLMITableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 34277  	return nil, false
 34278  }
 34279  
 34280  // AsJiraObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34281  func (asmtd AzureSQLMITableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 34282  	return nil, false
 34283  }
 34284  
 34285  // AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34286  func (asmtd AzureSQLMITableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 34287  	return nil, false
 34288  }
 34289  
 34290  // AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34291  func (asmtd AzureSQLMITableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 34292  	return nil, false
 34293  }
 34294  
 34295  // AsHiveObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34296  func (asmtd AzureSQLMITableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 34297  	return nil, false
 34298  }
 34299  
 34300  // AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34301  func (asmtd AzureSQLMITableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 34302  	return nil, false
 34303  }
 34304  
 34305  // AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34306  func (asmtd AzureSQLMITableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 34307  	return nil, false
 34308  }
 34309  
 34310  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34311  func (asmtd AzureSQLMITableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 34312  	return nil, false
 34313  }
 34314  
 34315  // AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34316  func (asmtd AzureSQLMITableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 34317  	return nil, false
 34318  }
 34319  
 34320  // AsDrillTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34321  func (asmtd AzureSQLMITableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 34322  	return nil, false
 34323  }
 34324  
 34325  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34326  func (asmtd AzureSQLMITableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 34327  	return nil, false
 34328  }
 34329  
 34330  // AsConcurObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34331  func (asmtd AzureSQLMITableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 34332  	return nil, false
 34333  }
 34334  
 34335  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34336  func (asmtd AzureSQLMITableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 34337  	return nil, false
 34338  }
 34339  
 34340  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34341  func (asmtd AzureSQLMITableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 34342  	return nil, false
 34343  }
 34344  
 34345  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34346  func (asmtd AzureSQLMITableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 34347  	return nil, false
 34348  }
 34349  
 34350  // AsWebTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34351  func (asmtd AzureSQLMITableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 34352  	return nil, false
 34353  }
 34354  
 34355  // AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34356  func (asmtd AzureSQLMITableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 34357  	return nil, false
 34358  }
 34359  
 34360  // AsRestResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34361  func (asmtd AzureSQLMITableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 34362  	return nil, false
 34363  }
 34364  
 34365  // AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34366  func (asmtd AzureSQLMITableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 34367  	return nil, false
 34368  }
 34369  
 34370  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34371  func (asmtd AzureSQLMITableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 34372  	return nil, false
 34373  }
 34374  
 34375  // AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34376  func (asmtd AzureSQLMITableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 34377  	return nil, false
 34378  }
 34379  
 34380  // AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34381  func (asmtd AzureSQLMITableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 34382  	return nil, false
 34383  }
 34384  
 34385  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34386  func (asmtd AzureSQLMITableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 34387  	return nil, false
 34388  }
 34389  
 34390  // AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34391  func (asmtd AzureSQLMITableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 34392  	return nil, false
 34393  }
 34394  
 34395  // AsSybaseTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34396  func (asmtd AzureSQLMITableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 34397  	return nil, false
 34398  }
 34399  
 34400  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34401  func (asmtd AzureSQLMITableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 34402  	return nil, false
 34403  }
 34404  
 34405  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34406  func (asmtd AzureSQLMITableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 34407  	return nil, false
 34408  }
 34409  
 34410  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34411  func (asmtd AzureSQLMITableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 34412  	return nil, false
 34413  }
 34414  
 34415  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34416  func (asmtd AzureSQLMITableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 34417  	return nil, false
 34418  }
 34419  
 34420  // AsMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34421  func (asmtd AzureSQLMITableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 34422  	return nil, false
 34423  }
 34424  
 34425  // AsOdbcTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34426  func (asmtd AzureSQLMITableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 34427  	return nil, false
 34428  }
 34429  
 34430  // AsInformixTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34431  func (asmtd AzureSQLMITableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 34432  	return nil, false
 34433  }
 34434  
 34435  // AsRelationalTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34436  func (asmtd AzureSQLMITableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 34437  	return nil, false
 34438  }
 34439  
 34440  // AsDb2TableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34441  func (asmtd AzureSQLMITableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 34442  	return nil, false
 34443  }
 34444  
 34445  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34446  func (asmtd AzureSQLMITableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 34447  	return nil, false
 34448  }
 34449  
 34450  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34451  func (asmtd AzureSQLMITableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 34452  	return nil, false
 34453  }
 34454  
 34455  // AsTeradataTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34456  func (asmtd AzureSQLMITableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 34457  	return nil, false
 34458  }
 34459  
 34460  // AsOracleTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34461  func (asmtd AzureSQLMITableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 34462  	return nil, false
 34463  }
 34464  
 34465  // AsODataResourceDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34466  func (asmtd AzureSQLMITableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 34467  	return nil, false
 34468  }
 34469  
 34470  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34471  func (asmtd AzureSQLMITableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 34472  	return nil, false
 34473  }
 34474  
 34475  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34476  func (asmtd AzureSQLMITableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 34477  	return nil, false
 34478  }
 34479  
 34480  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34481  func (asmtd AzureSQLMITableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 34482  	return nil, false
 34483  }
 34484  
 34485  // AsOffice365Dataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34486  func (asmtd AzureSQLMITableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 34487  	return nil, false
 34488  }
 34489  
 34490  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34491  func (asmtd AzureSQLMITableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 34492  	return nil, false
 34493  }
 34494  
 34495  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34496  func (asmtd AzureSQLMITableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 34497  	return nil, false
 34498  }
 34499  
 34500  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34501  func (asmtd AzureSQLMITableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 34502  	return nil, false
 34503  }
 34504  
 34505  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34506  func (asmtd AzureSQLMITableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 34507  	return nil, false
 34508  }
 34509  
 34510  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34511  func (asmtd AzureSQLMITableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 34512  	return nil, false
 34513  }
 34514  
 34515  // AsCustomDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34516  func (asmtd AzureSQLMITableDataset) AsCustomDataset() (*CustomDataset, bool) {
 34517  	return nil, false
 34518  }
 34519  
 34520  // AsCassandraTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34521  func (asmtd AzureSQLMITableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 34522  	return nil, false
 34523  }
 34524  
 34525  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34526  func (asmtd AzureSQLMITableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 34527  	return nil, false
 34528  }
 34529  
 34530  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34531  func (asmtd AzureSQLMITableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 34532  	return &asmtd, true
 34533  }
 34534  
 34535  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34536  func (asmtd AzureSQLMITableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 34537  	return nil, false
 34538  }
 34539  
 34540  // AsAzureTableDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34541  func (asmtd AzureSQLMITableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 34542  	return nil, false
 34543  }
 34544  
 34545  // AsBinaryDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34546  func (asmtd AzureSQLMITableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 34547  	return nil, false
 34548  }
 34549  
 34550  // AsOrcDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34551  func (asmtd AzureSQLMITableDataset) AsOrcDataset() (*OrcDataset, bool) {
 34552  	return nil, false
 34553  }
 34554  
 34555  // AsJSONDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34556  func (asmtd AzureSQLMITableDataset) AsJSONDataset() (*JSONDataset, bool) {
 34557  	return nil, false
 34558  }
 34559  
 34560  // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34561  func (asmtd AzureSQLMITableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 34562  	return nil, false
 34563  }
 34564  
 34565  // AsParquetDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34566  func (asmtd AzureSQLMITableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 34567  	return nil, false
 34568  }
 34569  
 34570  // AsAvroDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34571  func (asmtd AzureSQLMITableDataset) AsAvroDataset() (*AvroDataset, bool) {
 34572  	return nil, false
 34573  }
 34574  
 34575  // AsDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34576  func (asmtd AzureSQLMITableDataset) AsDataset() (*Dataset, bool) {
 34577  	return nil, false
 34578  }
 34579  
 34580  // AsBasicDataset is the BasicDataset implementation for AzureSQLMITableDataset.
 34581  func (asmtd AzureSQLMITableDataset) AsBasicDataset() (BasicDataset, bool) {
 34582  	return &asmtd, true
 34583  }
 34584  
 34585  // UnmarshalJSON is the custom unmarshaler for AzureSQLMITableDataset struct.
 34586  func (asmtd *AzureSQLMITableDataset) UnmarshalJSON(body []byte) error {
 34587  	var m map[string]*json.RawMessage
 34588  	err := json.Unmarshal(body, &m)
 34589  	if err != nil {
 34590  		return err
 34591  	}
 34592  	for k, v := range m {
 34593  		switch k {
 34594  		case "typeProperties":
 34595  			if v != nil {
 34596  				var azureSQLMITableDatasetTypeProperties AzureSQLMITableDatasetTypeProperties
 34597  				err = json.Unmarshal(*v, &azureSQLMITableDatasetTypeProperties)
 34598  				if err != nil {
 34599  					return err
 34600  				}
 34601  				asmtd.AzureSQLMITableDatasetTypeProperties = &azureSQLMITableDatasetTypeProperties
 34602  			}
 34603  		default:
 34604  			if v != nil {
 34605  				var additionalProperties interface{}
 34606  				err = json.Unmarshal(*v, &additionalProperties)
 34607  				if err != nil {
 34608  					return err
 34609  				}
 34610  				if asmtd.AdditionalProperties == nil {
 34611  					asmtd.AdditionalProperties = make(map[string]interface{})
 34612  				}
 34613  				asmtd.AdditionalProperties[k] = additionalProperties
 34614  			}
 34615  		case "description":
 34616  			if v != nil {
 34617  				var description string
 34618  				err = json.Unmarshal(*v, &description)
 34619  				if err != nil {
 34620  					return err
 34621  				}
 34622  				asmtd.Description = &description
 34623  			}
 34624  		case "structure":
 34625  			if v != nil {
 34626  				var structure interface{}
 34627  				err = json.Unmarshal(*v, &structure)
 34628  				if err != nil {
 34629  					return err
 34630  				}
 34631  				asmtd.Structure = structure
 34632  			}
 34633  		case "schema":
 34634  			if v != nil {
 34635  				var schema interface{}
 34636  				err = json.Unmarshal(*v, &schema)
 34637  				if err != nil {
 34638  					return err
 34639  				}
 34640  				asmtd.Schema = schema
 34641  			}
 34642  		case "linkedServiceName":
 34643  			if v != nil {
 34644  				var linkedServiceName LinkedServiceReference
 34645  				err = json.Unmarshal(*v, &linkedServiceName)
 34646  				if err != nil {
 34647  					return err
 34648  				}
 34649  				asmtd.LinkedServiceName = &linkedServiceName
 34650  			}
 34651  		case "parameters":
 34652  			if v != nil {
 34653  				var parameters map[string]*ParameterSpecification
 34654  				err = json.Unmarshal(*v, &parameters)
 34655  				if err != nil {
 34656  					return err
 34657  				}
 34658  				asmtd.Parameters = parameters
 34659  			}
 34660  		case "annotations":
 34661  			if v != nil {
 34662  				var annotations []interface{}
 34663  				err = json.Unmarshal(*v, &annotations)
 34664  				if err != nil {
 34665  					return err
 34666  				}
 34667  				asmtd.Annotations = &annotations
 34668  			}
 34669  		case "folder":
 34670  			if v != nil {
 34671  				var folder DatasetFolder
 34672  				err = json.Unmarshal(*v, &folder)
 34673  				if err != nil {
 34674  					return err
 34675  				}
 34676  				asmtd.Folder = &folder
 34677  			}
 34678  		case "type":
 34679  			if v != nil {
 34680  				var typeVar TypeBasicDataset
 34681  				err = json.Unmarshal(*v, &typeVar)
 34682  				if err != nil {
 34683  					return err
 34684  				}
 34685  				asmtd.Type = typeVar
 34686  			}
 34687  		}
 34688  	}
 34689  
 34690  	return nil
 34691  }
 34692  
 34693  // AzureSQLMITableDatasetTypeProperties azure SQL Managed Instance dataset properties.
 34694  type AzureSQLMITableDatasetTypeProperties struct {
 34695  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 34696  	TableName interface{} `json:"tableName,omitempty"`
 34697  	// Schema - The schema name of the Azure SQL Managed Instance. Type: string (or Expression with resultType string).
 34698  	Schema interface{} `json:"schema,omitempty"`
 34699  	// Table - The table name of the Azure SQL Managed Instance dataset. Type: string (or Expression with resultType string).
 34700  	Table interface{} `json:"table,omitempty"`
 34701  }
 34702  
 34703  // AzureSQLSink a copy activity Azure SQL sink.
 34704  type AzureSQLSink struct {
 34705  	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
 34706  	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
 34707  	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
 34708  	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
 34709  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
 34710  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
 34711  	// StoredProcedureParameters - SQL stored procedure parameters.
 34712  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
 34713  	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
 34714  	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
 34715  	// TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string).
 34716  	TableOption interface{} `json:"tableOption,omitempty"`
 34717  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 34718  	AdditionalProperties map[string]interface{} `json:""`
 34719  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 34720  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 34721  	// 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])).
 34722  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 34723  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 34724  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 34725  	// 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])).
 34726  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 34727  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 34728  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 34729  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 34730  	Type TypeBasicCopySink `json:"type,omitempty"`
 34731  }
 34732  
 34733  // MarshalJSON is the custom marshaler for AzureSQLSink.
 34734  func (ass AzureSQLSink) MarshalJSON() ([]byte, error) {
 34735  	ass.Type = TypeAzureSQLSink
 34736  	objectMap := make(map[string]interface{})
 34737  	if ass.SQLWriterStoredProcedureName != nil {
 34738  		objectMap["sqlWriterStoredProcedureName"] = ass.SQLWriterStoredProcedureName
 34739  	}
 34740  	if ass.SQLWriterTableType != nil {
 34741  		objectMap["sqlWriterTableType"] = ass.SQLWriterTableType
 34742  	}
 34743  	if ass.PreCopyScript != nil {
 34744  		objectMap["preCopyScript"] = ass.PreCopyScript
 34745  	}
 34746  	if ass.StoredProcedureParameters != nil {
 34747  		objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters
 34748  	}
 34749  	if ass.StoredProcedureTableTypeParameterName != nil {
 34750  		objectMap["storedProcedureTableTypeParameterName"] = ass.StoredProcedureTableTypeParameterName
 34751  	}
 34752  	if ass.TableOption != nil {
 34753  		objectMap["tableOption"] = ass.TableOption
 34754  	}
 34755  	if ass.WriteBatchSize != nil {
 34756  		objectMap["writeBatchSize"] = ass.WriteBatchSize
 34757  	}
 34758  	if ass.WriteBatchTimeout != nil {
 34759  		objectMap["writeBatchTimeout"] = ass.WriteBatchTimeout
 34760  	}
 34761  	if ass.SinkRetryCount != nil {
 34762  		objectMap["sinkRetryCount"] = ass.SinkRetryCount
 34763  	}
 34764  	if ass.SinkRetryWait != nil {
 34765  		objectMap["sinkRetryWait"] = ass.SinkRetryWait
 34766  	}
 34767  	if ass.MaxConcurrentConnections != nil {
 34768  		objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections
 34769  	}
 34770  	if ass.Type != "" {
 34771  		objectMap["type"] = ass.Type
 34772  	}
 34773  	for k, v := range ass.AdditionalProperties {
 34774  		objectMap[k] = v
 34775  	}
 34776  	return json.Marshal(objectMap)
 34777  }
 34778  
 34779  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureSQLSink.
 34780  func (ass AzureSQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 34781  	return nil, false
 34782  }
 34783  
 34784  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureSQLSink.
 34785  func (ass AzureSQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 34786  	return nil, false
 34787  }
 34788  
 34789  // AsSalesforceSink is the BasicCopySink implementation for AzureSQLSink.
 34790  func (ass AzureSQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
 34791  	return nil, false
 34792  }
 34793  
 34794  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureSQLSink.
 34795  func (ass AzureSQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 34796  	return nil, false
 34797  }
 34798  
 34799  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureSQLSink.
 34800  func (ass AzureSQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 34801  	return nil, false
 34802  }
 34803  
 34804  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureSQLSink.
 34805  func (ass AzureSQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 34806  	return nil, false
 34807  }
 34808  
 34809  // AsDynamicsSink is the BasicCopySink implementation for AzureSQLSink.
 34810  func (ass AzureSQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
 34811  	return nil, false
 34812  }
 34813  
 34814  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureSQLSink.
 34815  func (ass AzureSQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 34816  	return nil, false
 34817  }
 34818  
 34819  // AsInformixSink is the BasicCopySink implementation for AzureSQLSink.
 34820  func (ass AzureSQLSink) AsInformixSink() (*InformixSink, bool) {
 34821  	return nil, false
 34822  }
 34823  
 34824  // AsOdbcSink is the BasicCopySink implementation for AzureSQLSink.
 34825  func (ass AzureSQLSink) AsOdbcSink() (*OdbcSink, bool) {
 34826  	return nil, false
 34827  }
 34828  
 34829  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureSQLSink.
 34830  func (ass AzureSQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 34831  	return nil, false
 34832  }
 34833  
 34834  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureSQLSink.
 34835  func (ass AzureSQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 34836  	return nil, false
 34837  }
 34838  
 34839  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureSQLSink.
 34840  func (ass AzureSQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 34841  	return nil, false
 34842  }
 34843  
 34844  // AsOracleSink is the BasicCopySink implementation for AzureSQLSink.
 34845  func (ass AzureSQLSink) AsOracleSink() (*OracleSink, bool) {
 34846  	return nil, false
 34847  }
 34848  
 34849  // AsSQLDWSink is the BasicCopySink implementation for AzureSQLSink.
 34850  func (ass AzureSQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
 34851  	return nil, false
 34852  }
 34853  
 34854  // AsSQLMISink is the BasicCopySink implementation for AzureSQLSink.
 34855  func (ass AzureSQLSink) AsSQLMISink() (*SQLMISink, bool) {
 34856  	return nil, false
 34857  }
 34858  
 34859  // AsAzureSQLSink is the BasicCopySink implementation for AzureSQLSink.
 34860  func (ass AzureSQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 34861  	return &ass, true
 34862  }
 34863  
 34864  // AsSQLServerSink is the BasicCopySink implementation for AzureSQLSink.
 34865  func (ass AzureSQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
 34866  	return nil, false
 34867  }
 34868  
 34869  // AsSQLSink is the BasicCopySink implementation for AzureSQLSink.
 34870  func (ass AzureSQLSink) AsSQLSink() (*SQLSink, bool) {
 34871  	return nil, false
 34872  }
 34873  
 34874  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSQLSink.
 34875  func (ass AzureSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 34876  	return nil, false
 34877  }
 34878  
 34879  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSQLSink.
 34880  func (ass AzureSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 34881  	return nil, false
 34882  }
 34883  
 34884  // AsFileSystemSink is the BasicCopySink implementation for AzureSQLSink.
 34885  func (ass AzureSQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
 34886  	return nil, false
 34887  }
 34888  
 34889  // AsBlobSink is the BasicCopySink implementation for AzureSQLSink.
 34890  func (ass AzureSQLSink) AsBlobSink() (*BlobSink, bool) {
 34891  	return nil, false
 34892  }
 34893  
 34894  // AsBinarySink is the BasicCopySink implementation for AzureSQLSink.
 34895  func (ass AzureSQLSink) AsBinarySink() (*BinarySink, bool) {
 34896  	return nil, false
 34897  }
 34898  
 34899  // AsParquetSink is the BasicCopySink implementation for AzureSQLSink.
 34900  func (ass AzureSQLSink) AsParquetSink() (*ParquetSink, bool) {
 34901  	return nil, false
 34902  }
 34903  
 34904  // AsAvroSink is the BasicCopySink implementation for AzureSQLSink.
 34905  func (ass AzureSQLSink) AsAvroSink() (*AvroSink, bool) {
 34906  	return nil, false
 34907  }
 34908  
 34909  // AsAzureTableSink is the BasicCopySink implementation for AzureSQLSink.
 34910  func (ass AzureSQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
 34911  	return nil, false
 34912  }
 34913  
 34914  // AsAzureQueueSink is the BasicCopySink implementation for AzureSQLSink.
 34915  func (ass AzureSQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 34916  	return nil, false
 34917  }
 34918  
 34919  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureSQLSink.
 34920  func (ass AzureSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 34921  	return nil, false
 34922  }
 34923  
 34924  // AsAzureMySQLSink is the BasicCopySink implementation for AzureSQLSink.
 34925  func (ass AzureSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 34926  	return nil, false
 34927  }
 34928  
 34929  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSQLSink.
 34930  func (ass AzureSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 34931  	return nil, false
 34932  }
 34933  
 34934  // AsOrcSink is the BasicCopySink implementation for AzureSQLSink.
 34935  func (ass AzureSQLSink) AsOrcSink() (*OrcSink, bool) {
 34936  	return nil, false
 34937  }
 34938  
 34939  // AsJSONSink is the BasicCopySink implementation for AzureSQLSink.
 34940  func (ass AzureSQLSink) AsJSONSink() (*JSONSink, bool) {
 34941  	return nil, false
 34942  }
 34943  
 34944  // AsDelimitedTextSink is the BasicCopySink implementation for AzureSQLSink.
 34945  func (ass AzureSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 34946  	return nil, false
 34947  }
 34948  
 34949  // AsCopySink is the BasicCopySink implementation for AzureSQLSink.
 34950  func (ass AzureSQLSink) AsCopySink() (*CopySink, bool) {
 34951  	return nil, false
 34952  }
 34953  
 34954  // AsBasicCopySink is the BasicCopySink implementation for AzureSQLSink.
 34955  func (ass AzureSQLSink) AsBasicCopySink() (BasicCopySink, bool) {
 34956  	return &ass, true
 34957  }
 34958  
 34959  // UnmarshalJSON is the custom unmarshaler for AzureSQLSink struct.
 34960  func (ass *AzureSQLSink) UnmarshalJSON(body []byte) error {
 34961  	var m map[string]*json.RawMessage
 34962  	err := json.Unmarshal(body, &m)
 34963  	if err != nil {
 34964  		return err
 34965  	}
 34966  	for k, v := range m {
 34967  		switch k {
 34968  		case "sqlWriterStoredProcedureName":
 34969  			if v != nil {
 34970  				var SQLWriterStoredProcedureName interface{}
 34971  				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
 34972  				if err != nil {
 34973  					return err
 34974  				}
 34975  				ass.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
 34976  			}
 34977  		case "sqlWriterTableType":
 34978  			if v != nil {
 34979  				var SQLWriterTableType interface{}
 34980  				err = json.Unmarshal(*v, &SQLWriterTableType)
 34981  				if err != nil {
 34982  					return err
 34983  				}
 34984  				ass.SQLWriterTableType = SQLWriterTableType
 34985  			}
 34986  		case "preCopyScript":
 34987  			if v != nil {
 34988  				var preCopyScript interface{}
 34989  				err = json.Unmarshal(*v, &preCopyScript)
 34990  				if err != nil {
 34991  					return err
 34992  				}
 34993  				ass.PreCopyScript = preCopyScript
 34994  			}
 34995  		case "storedProcedureParameters":
 34996  			if v != nil {
 34997  				var storedProcedureParameters map[string]*StoredProcedureParameter
 34998  				err = json.Unmarshal(*v, &storedProcedureParameters)
 34999  				if err != nil {
 35000  					return err
 35001  				}
 35002  				ass.StoredProcedureParameters = storedProcedureParameters
 35003  			}
 35004  		case "storedProcedureTableTypeParameterName":
 35005  			if v != nil {
 35006  				var storedProcedureTableTypeParameterName interface{}
 35007  				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
 35008  				if err != nil {
 35009  					return err
 35010  				}
 35011  				ass.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
 35012  			}
 35013  		case "tableOption":
 35014  			if v != nil {
 35015  				var tableOption interface{}
 35016  				err = json.Unmarshal(*v, &tableOption)
 35017  				if err != nil {
 35018  					return err
 35019  				}
 35020  				ass.TableOption = tableOption
 35021  			}
 35022  		default:
 35023  			if v != nil {
 35024  				var additionalProperties interface{}
 35025  				err = json.Unmarshal(*v, &additionalProperties)
 35026  				if err != nil {
 35027  					return err
 35028  				}
 35029  				if ass.AdditionalProperties == nil {
 35030  					ass.AdditionalProperties = make(map[string]interface{})
 35031  				}
 35032  				ass.AdditionalProperties[k] = additionalProperties
 35033  			}
 35034  		case "writeBatchSize":
 35035  			if v != nil {
 35036  				var writeBatchSize interface{}
 35037  				err = json.Unmarshal(*v, &writeBatchSize)
 35038  				if err != nil {
 35039  					return err
 35040  				}
 35041  				ass.WriteBatchSize = writeBatchSize
 35042  			}
 35043  		case "writeBatchTimeout":
 35044  			if v != nil {
 35045  				var writeBatchTimeout interface{}
 35046  				err = json.Unmarshal(*v, &writeBatchTimeout)
 35047  				if err != nil {
 35048  					return err
 35049  				}
 35050  				ass.WriteBatchTimeout = writeBatchTimeout
 35051  			}
 35052  		case "sinkRetryCount":
 35053  			if v != nil {
 35054  				var sinkRetryCount interface{}
 35055  				err = json.Unmarshal(*v, &sinkRetryCount)
 35056  				if err != nil {
 35057  					return err
 35058  				}
 35059  				ass.SinkRetryCount = sinkRetryCount
 35060  			}
 35061  		case "sinkRetryWait":
 35062  			if v != nil {
 35063  				var sinkRetryWait interface{}
 35064  				err = json.Unmarshal(*v, &sinkRetryWait)
 35065  				if err != nil {
 35066  					return err
 35067  				}
 35068  				ass.SinkRetryWait = sinkRetryWait
 35069  			}
 35070  		case "maxConcurrentConnections":
 35071  			if v != nil {
 35072  				var maxConcurrentConnections interface{}
 35073  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 35074  				if err != nil {
 35075  					return err
 35076  				}
 35077  				ass.MaxConcurrentConnections = maxConcurrentConnections
 35078  			}
 35079  		case "type":
 35080  			if v != nil {
 35081  				var typeVar TypeBasicCopySink
 35082  				err = json.Unmarshal(*v, &typeVar)
 35083  				if err != nil {
 35084  					return err
 35085  				}
 35086  				ass.Type = typeVar
 35087  			}
 35088  		}
 35089  	}
 35090  
 35091  	return nil
 35092  }
 35093  
 35094  // AzureSQLSource a copy activity Azure SQL source.
 35095  type AzureSQLSource struct {
 35096  	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
 35097  	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
 35098  	// 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).
 35099  	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
 35100  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
 35101  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
 35102  	// ProduceAdditionalTypes - Which additional types to produce.
 35103  	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
 35104  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 35105  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 35106  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 35107  	AdditionalProperties map[string]interface{} `json:""`
 35108  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 35109  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 35110  	// 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])).
 35111  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 35112  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 35113  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 35114  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 35115  	Type TypeBasicCopySource `json:"type,omitempty"`
 35116  }
 35117  
 35118  // MarshalJSON is the custom marshaler for AzureSQLSource.
 35119  func (ass AzureSQLSource) MarshalJSON() ([]byte, error) {
 35120  	ass.Type = TypeAzureSQLSource
 35121  	objectMap := make(map[string]interface{})
 35122  	if ass.SQLReaderQuery != nil {
 35123  		objectMap["sqlReaderQuery"] = ass.SQLReaderQuery
 35124  	}
 35125  	if ass.SQLReaderStoredProcedureName != nil {
 35126  		objectMap["sqlReaderStoredProcedureName"] = ass.SQLReaderStoredProcedureName
 35127  	}
 35128  	if ass.StoredProcedureParameters != nil {
 35129  		objectMap["storedProcedureParameters"] = ass.StoredProcedureParameters
 35130  	}
 35131  	if ass.ProduceAdditionalTypes != nil {
 35132  		objectMap["produceAdditionalTypes"] = ass.ProduceAdditionalTypes
 35133  	}
 35134  	if ass.QueryTimeout != nil {
 35135  		objectMap["queryTimeout"] = ass.QueryTimeout
 35136  	}
 35137  	if ass.SourceRetryCount != nil {
 35138  		objectMap["sourceRetryCount"] = ass.SourceRetryCount
 35139  	}
 35140  	if ass.SourceRetryWait != nil {
 35141  		objectMap["sourceRetryWait"] = ass.SourceRetryWait
 35142  	}
 35143  	if ass.MaxConcurrentConnections != nil {
 35144  		objectMap["maxConcurrentConnections"] = ass.MaxConcurrentConnections
 35145  	}
 35146  	if ass.Type != "" {
 35147  		objectMap["type"] = ass.Type
 35148  	}
 35149  	for k, v := range ass.AdditionalProperties {
 35150  		objectMap[k] = v
 35151  	}
 35152  	return json.Marshal(objectMap)
 35153  }
 35154  
 35155  // AsHTTPSource is the BasicCopySource implementation for AzureSQLSource.
 35156  func (ass AzureSQLSource) AsHTTPSource() (*HTTPSource, bool) {
 35157  	return nil, false
 35158  }
 35159  
 35160  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureSQLSource.
 35161  func (ass AzureSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 35162  	return nil, false
 35163  }
 35164  
 35165  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureSQLSource.
 35166  func (ass AzureSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 35167  	return nil, false
 35168  }
 35169  
 35170  // AsOffice365Source is the BasicCopySource implementation for AzureSQLSource.
 35171  func (ass AzureSQLSource) AsOffice365Source() (*Office365Source, bool) {
 35172  	return nil, false
 35173  }
 35174  
 35175  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureSQLSource.
 35176  func (ass AzureSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 35177  	return nil, false
 35178  }
 35179  
 35180  // AsMongoDbV2Source is the BasicCopySource implementation for AzureSQLSource.
 35181  func (ass AzureSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 35182  	return nil, false
 35183  }
 35184  
 35185  // AsMongoDbSource is the BasicCopySource implementation for AzureSQLSource.
 35186  func (ass AzureSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
 35187  	return nil, false
 35188  }
 35189  
 35190  // AsWebSource is the BasicCopySource implementation for AzureSQLSource.
 35191  func (ass AzureSQLSource) AsWebSource() (*WebSource, bool) {
 35192  	return nil, false
 35193  }
 35194  
 35195  // AsOracleSource is the BasicCopySource implementation for AzureSQLSource.
 35196  func (ass AzureSQLSource) AsOracleSource() (*OracleSource, bool) {
 35197  	return nil, false
 35198  }
 35199  
 35200  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureSQLSource.
 35201  func (ass AzureSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 35202  	return nil, false
 35203  }
 35204  
 35205  // AsHdfsSource is the BasicCopySource implementation for AzureSQLSource.
 35206  func (ass AzureSQLSource) AsHdfsSource() (*HdfsSource, bool) {
 35207  	return nil, false
 35208  }
 35209  
 35210  // AsFileSystemSource is the BasicCopySource implementation for AzureSQLSource.
 35211  func (ass AzureSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
 35212  	return nil, false
 35213  }
 35214  
 35215  // AsRestSource is the BasicCopySource implementation for AzureSQLSource.
 35216  func (ass AzureSQLSource) AsRestSource() (*RestSource, bool) {
 35217  	return nil, false
 35218  }
 35219  
 35220  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureSQLSource.
 35221  func (ass AzureSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 35222  	return nil, false
 35223  }
 35224  
 35225  // AsODataSource is the BasicCopySource implementation for AzureSQLSource.
 35226  func (ass AzureSQLSource) AsODataSource() (*ODataSource, bool) {
 35227  	return nil, false
 35228  }
 35229  
 35230  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureSQLSource.
 35231  func (ass AzureSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 35232  	return nil, false
 35233  }
 35234  
 35235  // AsRelationalSource is the BasicCopySource implementation for AzureSQLSource.
 35236  func (ass AzureSQLSource) AsRelationalSource() (*RelationalSource, bool) {
 35237  	return nil, false
 35238  }
 35239  
 35240  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureSQLSource.
 35241  func (ass AzureSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 35242  	return nil, false
 35243  }
 35244  
 35245  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureSQLSource.
 35246  func (ass AzureSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 35247  	return nil, false
 35248  }
 35249  
 35250  // AsDynamicsSource is the BasicCopySource implementation for AzureSQLSource.
 35251  func (ass AzureSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
 35252  	return nil, false
 35253  }
 35254  
 35255  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureSQLSource.
 35256  func (ass AzureSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 35257  	return nil, false
 35258  }
 35259  
 35260  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureSQLSource.
 35261  func (ass AzureSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 35262  	return nil, false
 35263  }
 35264  
 35265  // AsBlobSource is the BasicCopySource implementation for AzureSQLSource.
 35266  func (ass AzureSQLSource) AsBlobSource() (*BlobSource, bool) {
 35267  	return nil, false
 35268  }
 35269  
 35270  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureSQLSource.
 35271  func (ass AzureSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 35272  	return nil, false
 35273  }
 35274  
 35275  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureSQLSource.
 35276  func (ass AzureSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 35277  	return nil, false
 35278  }
 35279  
 35280  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureSQLSource.
 35281  func (ass AzureSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 35282  	return nil, false
 35283  }
 35284  
 35285  // AsDynamicsAXSource is the BasicCopySource implementation for AzureSQLSource.
 35286  func (ass AzureSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 35287  	return nil, false
 35288  }
 35289  
 35290  // AsResponsysSource is the BasicCopySource implementation for AzureSQLSource.
 35291  func (ass AzureSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
 35292  	return nil, false
 35293  }
 35294  
 35295  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureSQLSource.
 35296  func (ass AzureSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 35297  	return nil, false
 35298  }
 35299  
 35300  // AsVerticaSource is the BasicCopySource implementation for AzureSQLSource.
 35301  func (ass AzureSQLSource) AsVerticaSource() (*VerticaSource, bool) {
 35302  	return nil, false
 35303  }
 35304  
 35305  // AsNetezzaSource is the BasicCopySource implementation for AzureSQLSource.
 35306  func (ass AzureSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
 35307  	return nil, false
 35308  }
 35309  
 35310  // AsZohoSource is the BasicCopySource implementation for AzureSQLSource.
 35311  func (ass AzureSQLSource) AsZohoSource() (*ZohoSource, bool) {
 35312  	return nil, false
 35313  }
 35314  
 35315  // AsXeroSource is the BasicCopySource implementation for AzureSQLSource.
 35316  func (ass AzureSQLSource) AsXeroSource() (*XeroSource, bool) {
 35317  	return nil, false
 35318  }
 35319  
 35320  // AsSquareSource is the BasicCopySource implementation for AzureSQLSource.
 35321  func (ass AzureSQLSource) AsSquareSource() (*SquareSource, bool) {
 35322  	return nil, false
 35323  }
 35324  
 35325  // AsSparkSource is the BasicCopySource implementation for AzureSQLSource.
 35326  func (ass AzureSQLSource) AsSparkSource() (*SparkSource, bool) {
 35327  	return nil, false
 35328  }
 35329  
 35330  // AsShopifySource is the BasicCopySource implementation for AzureSQLSource.
 35331  func (ass AzureSQLSource) AsShopifySource() (*ShopifySource, bool) {
 35332  	return nil, false
 35333  }
 35334  
 35335  // AsServiceNowSource is the BasicCopySource implementation for AzureSQLSource.
 35336  func (ass AzureSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 35337  	return nil, false
 35338  }
 35339  
 35340  // AsQuickBooksSource is the BasicCopySource implementation for AzureSQLSource.
 35341  func (ass AzureSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 35342  	return nil, false
 35343  }
 35344  
 35345  // AsPrestoSource is the BasicCopySource implementation for AzureSQLSource.
 35346  func (ass AzureSQLSource) AsPrestoSource() (*PrestoSource, bool) {
 35347  	return nil, false
 35348  }
 35349  
 35350  // AsPhoenixSource is the BasicCopySource implementation for AzureSQLSource.
 35351  func (ass AzureSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
 35352  	return nil, false
 35353  }
 35354  
 35355  // AsPaypalSource is the BasicCopySource implementation for AzureSQLSource.
 35356  func (ass AzureSQLSource) AsPaypalSource() (*PaypalSource, bool) {
 35357  	return nil, false
 35358  }
 35359  
 35360  // AsMarketoSource is the BasicCopySource implementation for AzureSQLSource.
 35361  func (ass AzureSQLSource) AsMarketoSource() (*MarketoSource, bool) {
 35362  	return nil, false
 35363  }
 35364  
 35365  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureSQLSource.
 35366  func (ass AzureSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 35367  	return nil, false
 35368  }
 35369  
 35370  // AsMariaDBSource is the BasicCopySource implementation for AzureSQLSource.
 35371  func (ass AzureSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
 35372  	return nil, false
 35373  }
 35374  
 35375  // AsMagentoSource is the BasicCopySource implementation for AzureSQLSource.
 35376  func (ass AzureSQLSource) AsMagentoSource() (*MagentoSource, bool) {
 35377  	return nil, false
 35378  }
 35379  
 35380  // AsJiraSource is the BasicCopySource implementation for AzureSQLSource.
 35381  func (ass AzureSQLSource) AsJiraSource() (*JiraSource, bool) {
 35382  	return nil, false
 35383  }
 35384  
 35385  // AsImpalaSource is the BasicCopySource implementation for AzureSQLSource.
 35386  func (ass AzureSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
 35387  	return nil, false
 35388  }
 35389  
 35390  // AsHubspotSource is the BasicCopySource implementation for AzureSQLSource.
 35391  func (ass AzureSQLSource) AsHubspotSource() (*HubspotSource, bool) {
 35392  	return nil, false
 35393  }
 35394  
 35395  // AsHiveSource is the BasicCopySource implementation for AzureSQLSource.
 35396  func (ass AzureSQLSource) AsHiveSource() (*HiveSource, bool) {
 35397  	return nil, false
 35398  }
 35399  
 35400  // AsHBaseSource is the BasicCopySource implementation for AzureSQLSource.
 35401  func (ass AzureSQLSource) AsHBaseSource() (*HBaseSource, bool) {
 35402  	return nil, false
 35403  }
 35404  
 35405  // AsGreenplumSource is the BasicCopySource implementation for AzureSQLSource.
 35406  func (ass AzureSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
 35407  	return nil, false
 35408  }
 35409  
 35410  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureSQLSource.
 35411  func (ass AzureSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 35412  	return nil, false
 35413  }
 35414  
 35415  // AsEloquaSource is the BasicCopySource implementation for AzureSQLSource.
 35416  func (ass AzureSQLSource) AsEloquaSource() (*EloquaSource, bool) {
 35417  	return nil, false
 35418  }
 35419  
 35420  // AsDrillSource is the BasicCopySource implementation for AzureSQLSource.
 35421  func (ass AzureSQLSource) AsDrillSource() (*DrillSource, bool) {
 35422  	return nil, false
 35423  }
 35424  
 35425  // AsCouchbaseSource is the BasicCopySource implementation for AzureSQLSource.
 35426  func (ass AzureSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 35427  	return nil, false
 35428  }
 35429  
 35430  // AsConcurSource is the BasicCopySource implementation for AzureSQLSource.
 35431  func (ass AzureSQLSource) AsConcurSource() (*ConcurSource, bool) {
 35432  	return nil, false
 35433  }
 35434  
 35435  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureSQLSource.
 35436  func (ass AzureSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 35437  	return nil, false
 35438  }
 35439  
 35440  // AsAmazonMWSSource is the BasicCopySource implementation for AzureSQLSource.
 35441  func (ass AzureSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 35442  	return nil, false
 35443  }
 35444  
 35445  // AsCassandraSource is the BasicCopySource implementation for AzureSQLSource.
 35446  func (ass AzureSQLSource) AsCassandraSource() (*CassandraSource, bool) {
 35447  	return nil, false
 35448  }
 35449  
 35450  // AsTeradataSource is the BasicCopySource implementation for AzureSQLSource.
 35451  func (ass AzureSQLSource) AsTeradataSource() (*TeradataSource, bool) {
 35452  	return nil, false
 35453  }
 35454  
 35455  // AsAzureMySQLSource is the BasicCopySource implementation for AzureSQLSource.
 35456  func (ass AzureSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 35457  	return nil, false
 35458  }
 35459  
 35460  // AsSQLDWSource is the BasicCopySource implementation for AzureSQLSource.
 35461  func (ass AzureSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
 35462  	return nil, false
 35463  }
 35464  
 35465  // AsSQLMISource is the BasicCopySource implementation for AzureSQLSource.
 35466  func (ass AzureSQLSource) AsSQLMISource() (*SQLMISource, bool) {
 35467  	return nil, false
 35468  }
 35469  
 35470  // AsAzureSQLSource is the BasicCopySource implementation for AzureSQLSource.
 35471  func (ass AzureSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 35472  	return &ass, true
 35473  }
 35474  
 35475  // AsSQLServerSource is the BasicCopySource implementation for AzureSQLSource.
 35476  func (ass AzureSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
 35477  	return nil, false
 35478  }
 35479  
 35480  // AsSQLSource is the BasicCopySource implementation for AzureSQLSource.
 35481  func (ass AzureSQLSource) AsSQLSource() (*SQLSource, bool) {
 35482  	return nil, false
 35483  }
 35484  
 35485  // AsSapTableSource is the BasicCopySource implementation for AzureSQLSource.
 35486  func (ass AzureSQLSource) AsSapTableSource() (*SapTableSource, bool) {
 35487  	return nil, false
 35488  }
 35489  
 35490  // AsSapOpenHubSource is the BasicCopySource implementation for AzureSQLSource.
 35491  func (ass AzureSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 35492  	return nil, false
 35493  }
 35494  
 35495  // AsSapHanaSource is the BasicCopySource implementation for AzureSQLSource.
 35496  func (ass AzureSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
 35497  	return nil, false
 35498  }
 35499  
 35500  // AsSapEccSource is the BasicCopySource implementation for AzureSQLSource.
 35501  func (ass AzureSQLSource) AsSapEccSource() (*SapEccSource, bool) {
 35502  	return nil, false
 35503  }
 35504  
 35505  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureSQLSource.
 35506  func (ass AzureSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 35507  	return nil, false
 35508  }
 35509  
 35510  // AsSalesforceSource is the BasicCopySource implementation for AzureSQLSource.
 35511  func (ass AzureSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
 35512  	return nil, false
 35513  }
 35514  
 35515  // AsSapBwSource is the BasicCopySource implementation for AzureSQLSource.
 35516  func (ass AzureSQLSource) AsSapBwSource() (*SapBwSource, bool) {
 35517  	return nil, false
 35518  }
 35519  
 35520  // AsSybaseSource is the BasicCopySource implementation for AzureSQLSource.
 35521  func (ass AzureSQLSource) AsSybaseSource() (*SybaseSource, bool) {
 35522  	return nil, false
 35523  }
 35524  
 35525  // AsPostgreSQLSource is the BasicCopySource implementation for AzureSQLSource.
 35526  func (ass AzureSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 35527  	return nil, false
 35528  }
 35529  
 35530  // AsMySQLSource is the BasicCopySource implementation for AzureSQLSource.
 35531  func (ass AzureSQLSource) AsMySQLSource() (*MySQLSource, bool) {
 35532  	return nil, false
 35533  }
 35534  
 35535  // AsOdbcSource is the BasicCopySource implementation for AzureSQLSource.
 35536  func (ass AzureSQLSource) AsOdbcSource() (*OdbcSource, bool) {
 35537  	return nil, false
 35538  }
 35539  
 35540  // AsDb2Source is the BasicCopySource implementation for AzureSQLSource.
 35541  func (ass AzureSQLSource) AsDb2Source() (*Db2Source, bool) {
 35542  	return nil, false
 35543  }
 35544  
 35545  // AsInformixSource is the BasicCopySource implementation for AzureSQLSource.
 35546  func (ass AzureSQLSource) AsInformixSource() (*InformixSource, bool) {
 35547  	return nil, false
 35548  }
 35549  
 35550  // AsAzureTableSource is the BasicCopySource implementation for AzureSQLSource.
 35551  func (ass AzureSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
 35552  	return nil, false
 35553  }
 35554  
 35555  // AsTabularSource is the BasicCopySource implementation for AzureSQLSource.
 35556  func (ass AzureSQLSource) AsTabularSource() (*TabularSource, bool) {
 35557  	return nil, false
 35558  }
 35559  
 35560  // AsBasicTabularSource is the BasicCopySource implementation for AzureSQLSource.
 35561  func (ass AzureSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 35562  	return &ass, true
 35563  }
 35564  
 35565  // AsBinarySource is the BasicCopySource implementation for AzureSQLSource.
 35566  func (ass AzureSQLSource) AsBinarySource() (*BinarySource, bool) {
 35567  	return nil, false
 35568  }
 35569  
 35570  // AsOrcSource is the BasicCopySource implementation for AzureSQLSource.
 35571  func (ass AzureSQLSource) AsOrcSource() (*OrcSource, bool) {
 35572  	return nil, false
 35573  }
 35574  
 35575  // AsJSONSource is the BasicCopySource implementation for AzureSQLSource.
 35576  func (ass AzureSQLSource) AsJSONSource() (*JSONSource, bool) {
 35577  	return nil, false
 35578  }
 35579  
 35580  // AsDelimitedTextSource is the BasicCopySource implementation for AzureSQLSource.
 35581  func (ass AzureSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 35582  	return nil, false
 35583  }
 35584  
 35585  // AsParquetSource is the BasicCopySource implementation for AzureSQLSource.
 35586  func (ass AzureSQLSource) AsParquetSource() (*ParquetSource, bool) {
 35587  	return nil, false
 35588  }
 35589  
 35590  // AsAvroSource is the BasicCopySource implementation for AzureSQLSource.
 35591  func (ass AzureSQLSource) AsAvroSource() (*AvroSource, bool) {
 35592  	return nil, false
 35593  }
 35594  
 35595  // AsCopySource is the BasicCopySource implementation for AzureSQLSource.
 35596  func (ass AzureSQLSource) AsCopySource() (*CopySource, bool) {
 35597  	return nil, false
 35598  }
 35599  
 35600  // AsBasicCopySource is the BasicCopySource implementation for AzureSQLSource.
 35601  func (ass AzureSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
 35602  	return &ass, true
 35603  }
 35604  
 35605  // UnmarshalJSON is the custom unmarshaler for AzureSQLSource struct.
 35606  func (ass *AzureSQLSource) UnmarshalJSON(body []byte) error {
 35607  	var m map[string]*json.RawMessage
 35608  	err := json.Unmarshal(body, &m)
 35609  	if err != nil {
 35610  		return err
 35611  	}
 35612  	for k, v := range m {
 35613  		switch k {
 35614  		case "sqlReaderQuery":
 35615  			if v != nil {
 35616  				var SQLReaderQuery interface{}
 35617  				err = json.Unmarshal(*v, &SQLReaderQuery)
 35618  				if err != nil {
 35619  					return err
 35620  				}
 35621  				ass.SQLReaderQuery = SQLReaderQuery
 35622  			}
 35623  		case "sqlReaderStoredProcedureName":
 35624  			if v != nil {
 35625  				var SQLReaderStoredProcedureName interface{}
 35626  				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
 35627  				if err != nil {
 35628  					return err
 35629  				}
 35630  				ass.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
 35631  			}
 35632  		case "storedProcedureParameters":
 35633  			if v != nil {
 35634  				var storedProcedureParameters map[string]*StoredProcedureParameter
 35635  				err = json.Unmarshal(*v, &storedProcedureParameters)
 35636  				if err != nil {
 35637  					return err
 35638  				}
 35639  				ass.StoredProcedureParameters = storedProcedureParameters
 35640  			}
 35641  		case "produceAdditionalTypes":
 35642  			if v != nil {
 35643  				var produceAdditionalTypes interface{}
 35644  				err = json.Unmarshal(*v, &produceAdditionalTypes)
 35645  				if err != nil {
 35646  					return err
 35647  				}
 35648  				ass.ProduceAdditionalTypes = produceAdditionalTypes
 35649  			}
 35650  		case "queryTimeout":
 35651  			if v != nil {
 35652  				var queryTimeout interface{}
 35653  				err = json.Unmarshal(*v, &queryTimeout)
 35654  				if err != nil {
 35655  					return err
 35656  				}
 35657  				ass.QueryTimeout = queryTimeout
 35658  			}
 35659  		default:
 35660  			if v != nil {
 35661  				var additionalProperties interface{}
 35662  				err = json.Unmarshal(*v, &additionalProperties)
 35663  				if err != nil {
 35664  					return err
 35665  				}
 35666  				if ass.AdditionalProperties == nil {
 35667  					ass.AdditionalProperties = make(map[string]interface{})
 35668  				}
 35669  				ass.AdditionalProperties[k] = additionalProperties
 35670  			}
 35671  		case "sourceRetryCount":
 35672  			if v != nil {
 35673  				var sourceRetryCount interface{}
 35674  				err = json.Unmarshal(*v, &sourceRetryCount)
 35675  				if err != nil {
 35676  					return err
 35677  				}
 35678  				ass.SourceRetryCount = sourceRetryCount
 35679  			}
 35680  		case "sourceRetryWait":
 35681  			if v != nil {
 35682  				var sourceRetryWait interface{}
 35683  				err = json.Unmarshal(*v, &sourceRetryWait)
 35684  				if err != nil {
 35685  					return err
 35686  				}
 35687  				ass.SourceRetryWait = sourceRetryWait
 35688  			}
 35689  		case "maxConcurrentConnections":
 35690  			if v != nil {
 35691  				var maxConcurrentConnections interface{}
 35692  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 35693  				if err != nil {
 35694  					return err
 35695  				}
 35696  				ass.MaxConcurrentConnections = maxConcurrentConnections
 35697  			}
 35698  		case "type":
 35699  			if v != nil {
 35700  				var typeVar TypeBasicCopySource
 35701  				err = json.Unmarshal(*v, &typeVar)
 35702  				if err != nil {
 35703  					return err
 35704  				}
 35705  				ass.Type = typeVar
 35706  			}
 35707  		}
 35708  	}
 35709  
 35710  	return nil
 35711  }
 35712  
 35713  // AzureSQLTableDataset the Azure SQL Server database dataset.
 35714  type AzureSQLTableDataset struct {
 35715  	// AzureSQLTableDatasetTypeProperties - Azure SQL dataset properties.
 35716  	*AzureSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 35717  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 35718  	AdditionalProperties map[string]interface{} `json:""`
 35719  	// Description - Dataset description.
 35720  	Description *string `json:"description,omitempty"`
 35721  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 35722  	Structure interface{} `json:"structure,omitempty"`
 35723  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 35724  	Schema interface{} `json:"schema,omitempty"`
 35725  	// LinkedServiceName - Linked service reference.
 35726  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 35727  	// Parameters - Parameters for dataset.
 35728  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 35729  	// Annotations - List of tags that can be used for describing the Dataset.
 35730  	Annotations *[]interface{} `json:"annotations,omitempty"`
 35731  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 35732  	Folder *DatasetFolder `json:"folder,omitempty"`
 35733  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 35734  	Type TypeBasicDataset `json:"type,omitempty"`
 35735  }
 35736  
 35737  // MarshalJSON is the custom marshaler for AzureSQLTableDataset.
 35738  func (astd AzureSQLTableDataset) MarshalJSON() ([]byte, error) {
 35739  	astd.Type = TypeAzureSQLTable
 35740  	objectMap := make(map[string]interface{})
 35741  	if astd.AzureSQLTableDatasetTypeProperties != nil {
 35742  		objectMap["typeProperties"] = astd.AzureSQLTableDatasetTypeProperties
 35743  	}
 35744  	if astd.Description != nil {
 35745  		objectMap["description"] = astd.Description
 35746  	}
 35747  	if astd.Structure != nil {
 35748  		objectMap["structure"] = astd.Structure
 35749  	}
 35750  	if astd.Schema != nil {
 35751  		objectMap["schema"] = astd.Schema
 35752  	}
 35753  	if astd.LinkedServiceName != nil {
 35754  		objectMap["linkedServiceName"] = astd.LinkedServiceName
 35755  	}
 35756  	if astd.Parameters != nil {
 35757  		objectMap["parameters"] = astd.Parameters
 35758  	}
 35759  	if astd.Annotations != nil {
 35760  		objectMap["annotations"] = astd.Annotations
 35761  	}
 35762  	if astd.Folder != nil {
 35763  		objectMap["folder"] = astd.Folder
 35764  	}
 35765  	if astd.Type != "" {
 35766  		objectMap["type"] = astd.Type
 35767  	}
 35768  	for k, v := range astd.AdditionalProperties {
 35769  		objectMap[k] = v
 35770  	}
 35771  	return json.Marshal(objectMap)
 35772  }
 35773  
 35774  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35775  func (astd AzureSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 35776  	return nil, false
 35777  }
 35778  
 35779  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35780  func (astd AzureSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 35781  	return nil, false
 35782  }
 35783  
 35784  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35785  func (astd AzureSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 35786  	return nil, false
 35787  }
 35788  
 35789  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35790  func (astd AzureSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 35791  	return nil, false
 35792  }
 35793  
 35794  // AsResponsysObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35795  func (astd AzureSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 35796  	return nil, false
 35797  }
 35798  
 35799  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35800  func (astd AzureSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 35801  	return nil, false
 35802  }
 35803  
 35804  // AsVerticaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35805  func (astd AzureSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 35806  	return nil, false
 35807  }
 35808  
 35809  // AsNetezzaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35810  func (astd AzureSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 35811  	return nil, false
 35812  }
 35813  
 35814  // AsZohoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35815  func (astd AzureSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 35816  	return nil, false
 35817  }
 35818  
 35819  // AsXeroObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35820  func (astd AzureSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 35821  	return nil, false
 35822  }
 35823  
 35824  // AsSquareObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35825  func (astd AzureSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 35826  	return nil, false
 35827  }
 35828  
 35829  // AsSparkObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35830  func (astd AzureSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 35831  	return nil, false
 35832  }
 35833  
 35834  // AsShopifyObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35835  func (astd AzureSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 35836  	return nil, false
 35837  }
 35838  
 35839  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35840  func (astd AzureSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 35841  	return nil, false
 35842  }
 35843  
 35844  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35845  func (astd AzureSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 35846  	return nil, false
 35847  }
 35848  
 35849  // AsPrestoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35850  func (astd AzureSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 35851  	return nil, false
 35852  }
 35853  
 35854  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35855  func (astd AzureSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 35856  	return nil, false
 35857  }
 35858  
 35859  // AsPaypalObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35860  func (astd AzureSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 35861  	return nil, false
 35862  }
 35863  
 35864  // AsMarketoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35865  func (astd AzureSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 35866  	return nil, false
 35867  }
 35868  
 35869  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35870  func (astd AzureSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 35871  	return nil, false
 35872  }
 35873  
 35874  // AsMariaDBTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35875  func (astd AzureSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 35876  	return nil, false
 35877  }
 35878  
 35879  // AsMagentoObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35880  func (astd AzureSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 35881  	return nil, false
 35882  }
 35883  
 35884  // AsJiraObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35885  func (astd AzureSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 35886  	return nil, false
 35887  }
 35888  
 35889  // AsImpalaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35890  func (astd AzureSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 35891  	return nil, false
 35892  }
 35893  
 35894  // AsHubspotObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35895  func (astd AzureSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 35896  	return nil, false
 35897  }
 35898  
 35899  // AsHiveObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35900  func (astd AzureSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 35901  	return nil, false
 35902  }
 35903  
 35904  // AsHBaseObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35905  func (astd AzureSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 35906  	return nil, false
 35907  }
 35908  
 35909  // AsGreenplumTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35910  func (astd AzureSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 35911  	return nil, false
 35912  }
 35913  
 35914  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35915  func (astd AzureSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 35916  	return nil, false
 35917  }
 35918  
 35919  // AsEloquaObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35920  func (astd AzureSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 35921  	return nil, false
 35922  }
 35923  
 35924  // AsDrillTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35925  func (astd AzureSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 35926  	return nil, false
 35927  }
 35928  
 35929  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35930  func (astd AzureSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 35931  	return nil, false
 35932  }
 35933  
 35934  // AsConcurObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35935  func (astd AzureSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 35936  	return nil, false
 35937  }
 35938  
 35939  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35940  func (astd AzureSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 35941  	return nil, false
 35942  }
 35943  
 35944  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35945  func (astd AzureSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 35946  	return nil, false
 35947  }
 35948  
 35949  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35950  func (astd AzureSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 35951  	return nil, false
 35952  }
 35953  
 35954  // AsWebTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35955  func (astd AzureSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 35956  	return nil, false
 35957  }
 35958  
 35959  // AsSapTableResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35960  func (astd AzureSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 35961  	return nil, false
 35962  }
 35963  
 35964  // AsRestResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35965  func (astd AzureSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 35966  	return nil, false
 35967  }
 35968  
 35969  // AsSQLServerTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35970  func (astd AzureSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 35971  	return nil, false
 35972  }
 35973  
 35974  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35975  func (astd AzureSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 35976  	return nil, false
 35977  }
 35978  
 35979  // AsSapHanaTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35980  func (astd AzureSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 35981  	return nil, false
 35982  }
 35983  
 35984  // AsSapEccResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35985  func (astd AzureSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 35986  	return nil, false
 35987  }
 35988  
 35989  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35990  func (astd AzureSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 35991  	return nil, false
 35992  }
 35993  
 35994  // AsSapBwCubeDataset is the BasicDataset implementation for AzureSQLTableDataset.
 35995  func (astd AzureSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 35996  	return nil, false
 35997  }
 35998  
 35999  // AsSybaseTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36000  func (astd AzureSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 36001  	return nil, false
 36002  }
 36003  
 36004  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36005  func (astd AzureSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 36006  	return nil, false
 36007  }
 36008  
 36009  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36010  func (astd AzureSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 36011  	return nil, false
 36012  }
 36013  
 36014  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36015  func (astd AzureSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 36016  	return nil, false
 36017  }
 36018  
 36019  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36020  func (astd AzureSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 36021  	return nil, false
 36022  }
 36023  
 36024  // AsMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36025  func (astd AzureSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 36026  	return nil, false
 36027  }
 36028  
 36029  // AsOdbcTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36030  func (astd AzureSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 36031  	return nil, false
 36032  }
 36033  
 36034  // AsInformixTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36035  func (astd AzureSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 36036  	return nil, false
 36037  }
 36038  
 36039  // AsRelationalTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36040  func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 36041  	return nil, false
 36042  }
 36043  
 36044  // AsDb2TableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36045  func (astd AzureSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 36046  	return nil, false
 36047  }
 36048  
 36049  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36050  func (astd AzureSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 36051  	return nil, false
 36052  }
 36053  
 36054  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36055  func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 36056  	return nil, false
 36057  }
 36058  
 36059  // AsTeradataTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36060  func (astd AzureSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 36061  	return nil, false
 36062  }
 36063  
 36064  // AsOracleTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36065  func (astd AzureSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 36066  	return nil, false
 36067  }
 36068  
 36069  // AsODataResourceDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36070  func (astd AzureSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 36071  	return nil, false
 36072  }
 36073  
 36074  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36075  func (astd AzureSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 36076  	return nil, false
 36077  }
 36078  
 36079  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36080  func (astd AzureSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 36081  	return nil, false
 36082  }
 36083  
 36084  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36085  func (astd AzureSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 36086  	return nil, false
 36087  }
 36088  
 36089  // AsOffice365Dataset is the BasicDataset implementation for AzureSQLTableDataset.
 36090  func (astd AzureSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 36091  	return nil, false
 36092  }
 36093  
 36094  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36095  func (astd AzureSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 36096  	return nil, false
 36097  }
 36098  
 36099  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36100  func (astd AzureSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 36101  	return nil, false
 36102  }
 36103  
 36104  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36105  func (astd AzureSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 36106  	return nil, false
 36107  }
 36108  
 36109  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36110  func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 36111  	return nil, false
 36112  }
 36113  
 36114  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36115  func (astd AzureSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 36116  	return nil, false
 36117  }
 36118  
 36119  // AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36120  func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 36121  	return nil, false
 36122  }
 36123  
 36124  // AsCassandraTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36125  func (astd AzureSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 36126  	return nil, false
 36127  }
 36128  
 36129  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36130  func (astd AzureSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 36131  	return nil, false
 36132  }
 36133  
 36134  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36135  func (astd AzureSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 36136  	return nil, false
 36137  }
 36138  
 36139  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36140  func (astd AzureSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 36141  	return &astd, true
 36142  }
 36143  
 36144  // AsAzureTableDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36145  func (astd AzureSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 36146  	return nil, false
 36147  }
 36148  
 36149  // AsBinaryDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36150  func (astd AzureSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 36151  	return nil, false
 36152  }
 36153  
 36154  // AsOrcDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36155  func (astd AzureSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 36156  	return nil, false
 36157  }
 36158  
 36159  // AsJSONDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36160  func (astd AzureSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 36161  	return nil, false
 36162  }
 36163  
 36164  // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36165  func (astd AzureSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 36166  	return nil, false
 36167  }
 36168  
 36169  // AsParquetDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36170  func (astd AzureSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 36171  	return nil, false
 36172  }
 36173  
 36174  // AsAvroDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36175  func (astd AzureSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 36176  	return nil, false
 36177  }
 36178  
 36179  // AsDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36180  func (astd AzureSQLTableDataset) AsDataset() (*Dataset, bool) {
 36181  	return nil, false
 36182  }
 36183  
 36184  // AsBasicDataset is the BasicDataset implementation for AzureSQLTableDataset.
 36185  func (astd AzureSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
 36186  	return &astd, true
 36187  }
 36188  
 36189  // UnmarshalJSON is the custom unmarshaler for AzureSQLTableDataset struct.
 36190  func (astd *AzureSQLTableDataset) UnmarshalJSON(body []byte) error {
 36191  	var m map[string]*json.RawMessage
 36192  	err := json.Unmarshal(body, &m)
 36193  	if err != nil {
 36194  		return err
 36195  	}
 36196  	for k, v := range m {
 36197  		switch k {
 36198  		case "typeProperties":
 36199  			if v != nil {
 36200  				var azureSQLTableDatasetTypeProperties AzureSQLTableDatasetTypeProperties
 36201  				err = json.Unmarshal(*v, &azureSQLTableDatasetTypeProperties)
 36202  				if err != nil {
 36203  					return err
 36204  				}
 36205  				astd.AzureSQLTableDatasetTypeProperties = &azureSQLTableDatasetTypeProperties
 36206  			}
 36207  		default:
 36208  			if v != nil {
 36209  				var additionalProperties interface{}
 36210  				err = json.Unmarshal(*v, &additionalProperties)
 36211  				if err != nil {
 36212  					return err
 36213  				}
 36214  				if astd.AdditionalProperties == nil {
 36215  					astd.AdditionalProperties = make(map[string]interface{})
 36216  				}
 36217  				astd.AdditionalProperties[k] = additionalProperties
 36218  			}
 36219  		case "description":
 36220  			if v != nil {
 36221  				var description string
 36222  				err = json.Unmarshal(*v, &description)
 36223  				if err != nil {
 36224  					return err
 36225  				}
 36226  				astd.Description = &description
 36227  			}
 36228  		case "structure":
 36229  			if v != nil {
 36230  				var structure interface{}
 36231  				err = json.Unmarshal(*v, &structure)
 36232  				if err != nil {
 36233  					return err
 36234  				}
 36235  				astd.Structure = structure
 36236  			}
 36237  		case "schema":
 36238  			if v != nil {
 36239  				var schema interface{}
 36240  				err = json.Unmarshal(*v, &schema)
 36241  				if err != nil {
 36242  					return err
 36243  				}
 36244  				astd.Schema = schema
 36245  			}
 36246  		case "linkedServiceName":
 36247  			if v != nil {
 36248  				var linkedServiceName LinkedServiceReference
 36249  				err = json.Unmarshal(*v, &linkedServiceName)
 36250  				if err != nil {
 36251  					return err
 36252  				}
 36253  				astd.LinkedServiceName = &linkedServiceName
 36254  			}
 36255  		case "parameters":
 36256  			if v != nil {
 36257  				var parameters map[string]*ParameterSpecification
 36258  				err = json.Unmarshal(*v, &parameters)
 36259  				if err != nil {
 36260  					return err
 36261  				}
 36262  				astd.Parameters = parameters
 36263  			}
 36264  		case "annotations":
 36265  			if v != nil {
 36266  				var annotations []interface{}
 36267  				err = json.Unmarshal(*v, &annotations)
 36268  				if err != nil {
 36269  					return err
 36270  				}
 36271  				astd.Annotations = &annotations
 36272  			}
 36273  		case "folder":
 36274  			if v != nil {
 36275  				var folder DatasetFolder
 36276  				err = json.Unmarshal(*v, &folder)
 36277  				if err != nil {
 36278  					return err
 36279  				}
 36280  				astd.Folder = &folder
 36281  			}
 36282  		case "type":
 36283  			if v != nil {
 36284  				var typeVar TypeBasicDataset
 36285  				err = json.Unmarshal(*v, &typeVar)
 36286  				if err != nil {
 36287  					return err
 36288  				}
 36289  				astd.Type = typeVar
 36290  			}
 36291  		}
 36292  	}
 36293  
 36294  	return nil
 36295  }
 36296  
 36297  // AzureSQLTableDatasetTypeProperties azure SQL dataset properties.
 36298  type AzureSQLTableDatasetTypeProperties struct {
 36299  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 36300  	TableName interface{} `json:"tableName,omitempty"`
 36301  	// Schema - The schema name of the Azure SQL database. Type: string (or Expression with resultType string).
 36302  	Schema interface{} `json:"schema,omitempty"`
 36303  	// Table - The table name of the Azure SQL database. Type: string (or Expression with resultType string).
 36304  	Table interface{} `json:"table,omitempty"`
 36305  }
 36306  
 36307  // AzureStorageLinkedService the storage account linked service.
 36308  type AzureStorageLinkedService struct {
 36309  	// AzureStorageLinkedServiceTypeProperties - Azure Storage linked service properties.
 36310  	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 36311  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 36312  	AdditionalProperties map[string]interface{} `json:""`
 36313  	// ConnectVia - The integration runtime reference.
 36314  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 36315  	// Description - Linked service description.
 36316  	Description *string `json:"description,omitempty"`
 36317  	// Parameters - Parameters for linked service.
 36318  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 36319  	// Annotations - List of tags that can be used for describing the linked service.
 36320  	Annotations *[]interface{} `json:"annotations,omitempty"`
 36321  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 36322  	Type TypeBasicLinkedService `json:"type,omitempty"`
 36323  }
 36324  
 36325  // MarshalJSON is the custom marshaler for AzureStorageLinkedService.
 36326  func (asls AzureStorageLinkedService) MarshalJSON() ([]byte, error) {
 36327  	asls.Type = TypeAzureStorage
 36328  	objectMap := make(map[string]interface{})
 36329  	if asls.AzureStorageLinkedServiceTypeProperties != nil {
 36330  		objectMap["typeProperties"] = asls.AzureStorageLinkedServiceTypeProperties
 36331  	}
 36332  	if asls.ConnectVia != nil {
 36333  		objectMap["connectVia"] = asls.ConnectVia
 36334  	}
 36335  	if asls.Description != nil {
 36336  		objectMap["description"] = asls.Description
 36337  	}
 36338  	if asls.Parameters != nil {
 36339  		objectMap["parameters"] = asls.Parameters
 36340  	}
 36341  	if asls.Annotations != nil {
 36342  		objectMap["annotations"] = asls.Annotations
 36343  	}
 36344  	if asls.Type != "" {
 36345  		objectMap["type"] = asls.Type
 36346  	}
 36347  	for k, v := range asls.AdditionalProperties {
 36348  		objectMap[k] = v
 36349  	}
 36350  	return json.Marshal(objectMap)
 36351  }
 36352  
 36353  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36354  func (asls AzureStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 36355  	return nil, false
 36356  }
 36357  
 36358  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36359  func (asls AzureStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 36360  	return nil, false
 36361  }
 36362  
 36363  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36364  func (asls AzureStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 36365  	return nil, false
 36366  }
 36367  
 36368  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36369  func (asls AzureStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 36370  	return nil, false
 36371  }
 36372  
 36373  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36374  func (asls AzureStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 36375  	return nil, false
 36376  }
 36377  
 36378  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36379  func (asls AzureStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 36380  	return nil, false
 36381  }
 36382  
 36383  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36384  func (asls AzureStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 36385  	return nil, false
 36386  }
 36387  
 36388  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36389  func (asls AzureStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 36390  	return nil, false
 36391  }
 36392  
 36393  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36394  func (asls AzureStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 36395  	return nil, false
 36396  }
 36397  
 36398  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36399  func (asls AzureStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 36400  	return nil, false
 36401  }
 36402  
 36403  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36404  func (asls AzureStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 36405  	return nil, false
 36406  }
 36407  
 36408  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36409  func (asls AzureStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 36410  	return nil, false
 36411  }
 36412  
 36413  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36414  func (asls AzureStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 36415  	return nil, false
 36416  }
 36417  
 36418  // AsZohoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36419  func (asls AzureStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 36420  	return nil, false
 36421  }
 36422  
 36423  // AsXeroLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36424  func (asls AzureStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 36425  	return nil, false
 36426  }
 36427  
 36428  // AsSquareLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36429  func (asls AzureStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 36430  	return nil, false
 36431  }
 36432  
 36433  // AsSparkLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36434  func (asls AzureStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 36435  	return nil, false
 36436  }
 36437  
 36438  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36439  func (asls AzureStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 36440  	return nil, false
 36441  }
 36442  
 36443  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36444  func (asls AzureStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 36445  	return nil, false
 36446  }
 36447  
 36448  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36449  func (asls AzureStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 36450  	return nil, false
 36451  }
 36452  
 36453  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36454  func (asls AzureStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 36455  	return nil, false
 36456  }
 36457  
 36458  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36459  func (asls AzureStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 36460  	return nil, false
 36461  }
 36462  
 36463  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36464  func (asls AzureStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 36465  	return nil, false
 36466  }
 36467  
 36468  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36469  func (asls AzureStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 36470  	return nil, false
 36471  }
 36472  
 36473  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36474  func (asls AzureStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 36475  	return nil, false
 36476  }
 36477  
 36478  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36479  func (asls AzureStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 36480  	return nil, false
 36481  }
 36482  
 36483  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36484  func (asls AzureStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 36485  	return nil, false
 36486  }
 36487  
 36488  // AsJiraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36489  func (asls AzureStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 36490  	return nil, false
 36491  }
 36492  
 36493  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36494  func (asls AzureStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 36495  	return nil, false
 36496  }
 36497  
 36498  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36499  func (asls AzureStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 36500  	return nil, false
 36501  }
 36502  
 36503  // AsHiveLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36504  func (asls AzureStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 36505  	return nil, false
 36506  }
 36507  
 36508  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36509  func (asls AzureStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 36510  	return nil, false
 36511  }
 36512  
 36513  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36514  func (asls AzureStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 36515  	return nil, false
 36516  }
 36517  
 36518  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36519  func (asls AzureStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 36520  	return nil, false
 36521  }
 36522  
 36523  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36524  func (asls AzureStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 36525  	return nil, false
 36526  }
 36527  
 36528  // AsDrillLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36529  func (asls AzureStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 36530  	return nil, false
 36531  }
 36532  
 36533  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36534  func (asls AzureStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 36535  	return nil, false
 36536  }
 36537  
 36538  // AsConcurLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36539  func (asls AzureStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 36540  	return nil, false
 36541  }
 36542  
 36543  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36544  func (asls AzureStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 36545  	return nil, false
 36546  }
 36547  
 36548  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36549  func (asls AzureStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 36550  	return nil, false
 36551  }
 36552  
 36553  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36554  func (asls AzureStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 36555  	return nil, false
 36556  }
 36557  
 36558  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36559  func (asls AzureStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 36560  	return nil, false
 36561  }
 36562  
 36563  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36564  func (asls AzureStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 36565  	return nil, false
 36566  }
 36567  
 36568  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36569  func (asls AzureStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 36570  	return nil, false
 36571  }
 36572  
 36573  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36574  func (asls AzureStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 36575  	return nil, false
 36576  }
 36577  
 36578  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36579  func (asls AzureStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 36580  	return nil, false
 36581  }
 36582  
 36583  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36584  func (asls AzureStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 36585  	return nil, false
 36586  }
 36587  
 36588  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36589  func (asls AzureStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 36590  	return nil, false
 36591  }
 36592  
 36593  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36594  func (asls AzureStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 36595  	return nil, false
 36596  }
 36597  
 36598  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36599  func (asls AzureStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 36600  	return nil, false
 36601  }
 36602  
 36603  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36604  func (asls AzureStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 36605  	return nil, false
 36606  }
 36607  
 36608  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36609  func (asls AzureStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 36610  	return nil, false
 36611  }
 36612  
 36613  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36614  func (asls AzureStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 36615  	return nil, false
 36616  }
 36617  
 36618  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36619  func (asls AzureStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 36620  	return nil, false
 36621  }
 36622  
 36623  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36624  func (asls AzureStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 36625  	return nil, false
 36626  }
 36627  
 36628  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36629  func (asls AzureStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 36630  	return nil, false
 36631  }
 36632  
 36633  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36634  func (asls AzureStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 36635  	return nil, false
 36636  }
 36637  
 36638  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36639  func (asls AzureStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 36640  	return nil, false
 36641  }
 36642  
 36643  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36644  func (asls AzureStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 36645  	return nil, false
 36646  }
 36647  
 36648  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36649  func (asls AzureStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 36650  	return nil, false
 36651  }
 36652  
 36653  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36654  func (asls AzureStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 36655  	return nil, false
 36656  }
 36657  
 36658  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36659  func (asls AzureStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 36660  	return nil, false
 36661  }
 36662  
 36663  // AsWebLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36664  func (asls AzureStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 36665  	return nil, false
 36666  }
 36667  
 36668  // AsODataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36669  func (asls AzureStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 36670  	return nil, false
 36671  }
 36672  
 36673  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36674  func (asls AzureStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 36675  	return nil, false
 36676  }
 36677  
 36678  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36679  func (asls AzureStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 36680  	return nil, false
 36681  }
 36682  
 36683  // AsInformixLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36684  func (asls AzureStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 36685  	return nil, false
 36686  }
 36687  
 36688  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36689  func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 36690  	return nil, false
 36691  }
 36692  
 36693  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36694  func (asls AzureStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 36695  	return nil, false
 36696  }
 36697  
 36698  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36699  func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 36700  	return nil, false
 36701  }
 36702  
 36703  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36704  func (asls AzureStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 36705  	return nil, false
 36706  }
 36707  
 36708  // AsDb2LinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36709  func (asls AzureStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 36710  	return nil, false
 36711  }
 36712  
 36713  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36714  func (asls AzureStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 36715  	return nil, false
 36716  }
 36717  
 36718  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36719  func (asls AzureStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 36720  	return nil, false
 36721  }
 36722  
 36723  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36724  func (asls AzureStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 36725  	return nil, false
 36726  }
 36727  
 36728  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36729  func (asls AzureStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 36730  	return nil, false
 36731  }
 36732  
 36733  // AsOracleLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36734  func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 36735  	return nil, false
 36736  }
 36737  
 36738  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36739  func (asls AzureStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 36740  	return nil, false
 36741  }
 36742  
 36743  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36744  func (asls AzureStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 36745  	return nil, false
 36746  }
 36747  
 36748  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36749  func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 36750  	return nil, false
 36751  }
 36752  
 36753  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36754  func (asls AzureStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 36755  	return nil, false
 36756  }
 36757  
 36758  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36759  func (asls AzureStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 36760  	return nil, false
 36761  }
 36762  
 36763  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36764  func (asls AzureStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 36765  	return nil, false
 36766  }
 36767  
 36768  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36769  func (asls AzureStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 36770  	return nil, false
 36771  }
 36772  
 36773  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36774  func (asls AzureStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 36775  	return nil, false
 36776  }
 36777  
 36778  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36779  func (asls AzureStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 36780  	return nil, false
 36781  }
 36782  
 36783  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36784  func (asls AzureStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 36785  	return nil, false
 36786  }
 36787  
 36788  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36789  func (asls AzureStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 36790  	return nil, false
 36791  }
 36792  
 36793  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36794  func (asls AzureStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 36795  	return nil, false
 36796  }
 36797  
 36798  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36799  func (asls AzureStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 36800  	return nil, false
 36801  }
 36802  
 36803  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36804  func (asls AzureStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 36805  	return nil, false
 36806  }
 36807  
 36808  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36809  func (asls AzureStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 36810  	return nil, false
 36811  }
 36812  
 36813  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36814  func (asls AzureStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 36815  	return nil, false
 36816  }
 36817  
 36818  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36819  func (asls AzureStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 36820  	return &asls, true
 36821  }
 36822  
 36823  // AsLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36824  func (asls AzureStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
 36825  	return nil, false
 36826  }
 36827  
 36828  // AsBasicLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService.
 36829  func (asls AzureStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 36830  	return &asls, true
 36831  }
 36832  
 36833  // UnmarshalJSON is the custom unmarshaler for AzureStorageLinkedService struct.
 36834  func (asls *AzureStorageLinkedService) UnmarshalJSON(body []byte) error {
 36835  	var m map[string]*json.RawMessage
 36836  	err := json.Unmarshal(body, &m)
 36837  	if err != nil {
 36838  		return err
 36839  	}
 36840  	for k, v := range m {
 36841  		switch k {
 36842  		case "typeProperties":
 36843  			if v != nil {
 36844  				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
 36845  				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
 36846  				if err != nil {
 36847  					return err
 36848  				}
 36849  				asls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
 36850  			}
 36851  		default:
 36852  			if v != nil {
 36853  				var additionalProperties interface{}
 36854  				err = json.Unmarshal(*v, &additionalProperties)
 36855  				if err != nil {
 36856  					return err
 36857  				}
 36858  				if asls.AdditionalProperties == nil {
 36859  					asls.AdditionalProperties = make(map[string]interface{})
 36860  				}
 36861  				asls.AdditionalProperties[k] = additionalProperties
 36862  			}
 36863  		case "connectVia":
 36864  			if v != nil {
 36865  				var connectVia IntegrationRuntimeReference
 36866  				err = json.Unmarshal(*v, &connectVia)
 36867  				if err != nil {
 36868  					return err
 36869  				}
 36870  				asls.ConnectVia = &connectVia
 36871  			}
 36872  		case "description":
 36873  			if v != nil {
 36874  				var description string
 36875  				err = json.Unmarshal(*v, &description)
 36876  				if err != nil {
 36877  					return err
 36878  				}
 36879  				asls.Description = &description
 36880  			}
 36881  		case "parameters":
 36882  			if v != nil {
 36883  				var parameters map[string]*ParameterSpecification
 36884  				err = json.Unmarshal(*v, &parameters)
 36885  				if err != nil {
 36886  					return err
 36887  				}
 36888  				asls.Parameters = parameters
 36889  			}
 36890  		case "annotations":
 36891  			if v != nil {
 36892  				var annotations []interface{}
 36893  				err = json.Unmarshal(*v, &annotations)
 36894  				if err != nil {
 36895  					return err
 36896  				}
 36897  				asls.Annotations = &annotations
 36898  			}
 36899  		case "type":
 36900  			if v != nil {
 36901  				var typeVar TypeBasicLinkedService
 36902  				err = json.Unmarshal(*v, &typeVar)
 36903  				if err != nil {
 36904  					return err
 36905  				}
 36906  				asls.Type = typeVar
 36907  			}
 36908  		}
 36909  	}
 36910  
 36911  	return nil
 36912  }
 36913  
 36914  // AzureStorageLinkedServiceTypeProperties azure Storage linked service properties.
 36915  type AzureStorageLinkedServiceTypeProperties struct {
 36916  	// ConnectionString - The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
 36917  	ConnectionString interface{} `json:"connectionString,omitempty"`
 36918  	// AccountKey - The Azure key vault secret reference of accountKey in connection string.
 36919  	AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"`
 36920  	// SasURI - SAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
 36921  	SasURI interface{} `json:"sasUri,omitempty"`
 36922  	// SasToken - The Azure key vault secret reference of sasToken in sas uri.
 36923  	SasToken *AzureKeyVaultSecretReference `json:"sasToken,omitempty"`
 36924  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 36925  	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
 36926  }
 36927  
 36928  // AzureTableDataset the Azure Table storage dataset.
 36929  type AzureTableDataset struct {
 36930  	// AzureTableDatasetTypeProperties - Azure Table dataset properties.
 36931  	*AzureTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 36932  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 36933  	AdditionalProperties map[string]interface{} `json:""`
 36934  	// Description - Dataset description.
 36935  	Description *string `json:"description,omitempty"`
 36936  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 36937  	Structure interface{} `json:"structure,omitempty"`
 36938  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 36939  	Schema interface{} `json:"schema,omitempty"`
 36940  	// LinkedServiceName - Linked service reference.
 36941  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 36942  	// Parameters - Parameters for dataset.
 36943  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 36944  	// Annotations - List of tags that can be used for describing the Dataset.
 36945  	Annotations *[]interface{} `json:"annotations,omitempty"`
 36946  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 36947  	Folder *DatasetFolder `json:"folder,omitempty"`
 36948  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 36949  	Type TypeBasicDataset `json:"type,omitempty"`
 36950  }
 36951  
 36952  // MarshalJSON is the custom marshaler for AzureTableDataset.
 36953  func (atd AzureTableDataset) MarshalJSON() ([]byte, error) {
 36954  	atd.Type = TypeAzureTable
 36955  	objectMap := make(map[string]interface{})
 36956  	if atd.AzureTableDatasetTypeProperties != nil {
 36957  		objectMap["typeProperties"] = atd.AzureTableDatasetTypeProperties
 36958  	}
 36959  	if atd.Description != nil {
 36960  		objectMap["description"] = atd.Description
 36961  	}
 36962  	if atd.Structure != nil {
 36963  		objectMap["structure"] = atd.Structure
 36964  	}
 36965  	if atd.Schema != nil {
 36966  		objectMap["schema"] = atd.Schema
 36967  	}
 36968  	if atd.LinkedServiceName != nil {
 36969  		objectMap["linkedServiceName"] = atd.LinkedServiceName
 36970  	}
 36971  	if atd.Parameters != nil {
 36972  		objectMap["parameters"] = atd.Parameters
 36973  	}
 36974  	if atd.Annotations != nil {
 36975  		objectMap["annotations"] = atd.Annotations
 36976  	}
 36977  	if atd.Folder != nil {
 36978  		objectMap["folder"] = atd.Folder
 36979  	}
 36980  	if atd.Type != "" {
 36981  		objectMap["type"] = atd.Type
 36982  	}
 36983  	for k, v := range atd.AdditionalProperties {
 36984  		objectMap[k] = v
 36985  	}
 36986  	return json.Marshal(objectMap)
 36987  }
 36988  
 36989  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AzureTableDataset.
 36990  func (atd AzureTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 36991  	return nil, false
 36992  }
 36993  
 36994  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for AzureTableDataset.
 36995  func (atd AzureTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 36996  	return nil, false
 36997  }
 36998  
 36999  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37000  func (atd AzureTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 37001  	return nil, false
 37002  }
 37003  
 37004  // AsDynamicsAXResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37005  func (atd AzureTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 37006  	return nil, false
 37007  }
 37008  
 37009  // AsResponsysObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37010  func (atd AzureTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 37011  	return nil, false
 37012  }
 37013  
 37014  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37015  func (atd AzureTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 37016  	return nil, false
 37017  }
 37018  
 37019  // AsVerticaTableDataset is the BasicDataset implementation for AzureTableDataset.
 37020  func (atd AzureTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 37021  	return nil, false
 37022  }
 37023  
 37024  // AsNetezzaTableDataset is the BasicDataset implementation for AzureTableDataset.
 37025  func (atd AzureTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 37026  	return nil, false
 37027  }
 37028  
 37029  // AsZohoObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37030  func (atd AzureTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 37031  	return nil, false
 37032  }
 37033  
 37034  // AsXeroObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37035  func (atd AzureTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 37036  	return nil, false
 37037  }
 37038  
 37039  // AsSquareObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37040  func (atd AzureTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 37041  	return nil, false
 37042  }
 37043  
 37044  // AsSparkObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37045  func (atd AzureTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 37046  	return nil, false
 37047  }
 37048  
 37049  // AsShopifyObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37050  func (atd AzureTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 37051  	return nil, false
 37052  }
 37053  
 37054  // AsServiceNowObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37055  func (atd AzureTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 37056  	return nil, false
 37057  }
 37058  
 37059  // AsQuickBooksObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37060  func (atd AzureTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 37061  	return nil, false
 37062  }
 37063  
 37064  // AsPrestoObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37065  func (atd AzureTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 37066  	return nil, false
 37067  }
 37068  
 37069  // AsPhoenixObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37070  func (atd AzureTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 37071  	return nil, false
 37072  }
 37073  
 37074  // AsPaypalObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37075  func (atd AzureTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 37076  	return nil, false
 37077  }
 37078  
 37079  // AsMarketoObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37080  func (atd AzureTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 37081  	return nil, false
 37082  }
 37083  
 37084  // AsAzureMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset.
 37085  func (atd AzureTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 37086  	return nil, false
 37087  }
 37088  
 37089  // AsMariaDBTableDataset is the BasicDataset implementation for AzureTableDataset.
 37090  func (atd AzureTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 37091  	return nil, false
 37092  }
 37093  
 37094  // AsMagentoObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37095  func (atd AzureTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 37096  	return nil, false
 37097  }
 37098  
 37099  // AsJiraObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37100  func (atd AzureTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 37101  	return nil, false
 37102  }
 37103  
 37104  // AsImpalaObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37105  func (atd AzureTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 37106  	return nil, false
 37107  }
 37108  
 37109  // AsHubspotObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37110  func (atd AzureTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 37111  	return nil, false
 37112  }
 37113  
 37114  // AsHiveObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37115  func (atd AzureTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 37116  	return nil, false
 37117  }
 37118  
 37119  // AsHBaseObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37120  func (atd AzureTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 37121  	return nil, false
 37122  }
 37123  
 37124  // AsGreenplumTableDataset is the BasicDataset implementation for AzureTableDataset.
 37125  func (atd AzureTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 37126  	return nil, false
 37127  }
 37128  
 37129  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37130  func (atd AzureTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 37131  	return nil, false
 37132  }
 37133  
 37134  // AsEloquaObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37135  func (atd AzureTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 37136  	return nil, false
 37137  }
 37138  
 37139  // AsDrillTableDataset is the BasicDataset implementation for AzureTableDataset.
 37140  func (atd AzureTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 37141  	return nil, false
 37142  }
 37143  
 37144  // AsCouchbaseTableDataset is the BasicDataset implementation for AzureTableDataset.
 37145  func (atd AzureTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 37146  	return nil, false
 37147  }
 37148  
 37149  // AsConcurObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37150  func (atd AzureTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 37151  	return nil, false
 37152  }
 37153  
 37154  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
 37155  func (atd AzureTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 37156  	return nil, false
 37157  }
 37158  
 37159  // AsAmazonMWSObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37160  func (atd AzureTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 37161  	return nil, false
 37162  }
 37163  
 37164  // AsAzureSearchIndexDataset is the BasicDataset implementation for AzureTableDataset.
 37165  func (atd AzureTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 37166  	return nil, false
 37167  }
 37168  
 37169  // AsWebTableDataset is the BasicDataset implementation for AzureTableDataset.
 37170  func (atd AzureTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 37171  	return nil, false
 37172  }
 37173  
 37174  // AsSapTableResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37175  func (atd AzureTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 37176  	return nil, false
 37177  }
 37178  
 37179  // AsRestResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37180  func (atd AzureTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 37181  	return nil, false
 37182  }
 37183  
 37184  // AsSQLServerTableDataset is the BasicDataset implementation for AzureTableDataset.
 37185  func (atd AzureTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 37186  	return nil, false
 37187  }
 37188  
 37189  // AsSapOpenHubTableDataset is the BasicDataset implementation for AzureTableDataset.
 37190  func (atd AzureTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 37191  	return nil, false
 37192  }
 37193  
 37194  // AsSapHanaTableDataset is the BasicDataset implementation for AzureTableDataset.
 37195  func (atd AzureTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 37196  	return nil, false
 37197  }
 37198  
 37199  // AsSapEccResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37200  func (atd AzureTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 37201  	return nil, false
 37202  }
 37203  
 37204  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37205  func (atd AzureTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 37206  	return nil, false
 37207  }
 37208  
 37209  // AsSapBwCubeDataset is the BasicDataset implementation for AzureTableDataset.
 37210  func (atd AzureTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 37211  	return nil, false
 37212  }
 37213  
 37214  // AsSybaseTableDataset is the BasicDataset implementation for AzureTableDataset.
 37215  func (atd AzureTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 37216  	return nil, false
 37217  }
 37218  
 37219  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37220  func (atd AzureTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 37221  	return nil, false
 37222  }
 37223  
 37224  // AsSalesforceObjectDataset is the BasicDataset implementation for AzureTableDataset.
 37225  func (atd AzureTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 37226  	return nil, false
 37227  }
 37228  
 37229  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for AzureTableDataset.
 37230  func (atd AzureTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 37231  	return nil, false
 37232  }
 37233  
 37234  // AsPostgreSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
 37235  func (atd AzureTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 37236  	return nil, false
 37237  }
 37238  
 37239  // AsMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
 37240  func (atd AzureTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 37241  	return nil, false
 37242  }
 37243  
 37244  // AsOdbcTableDataset is the BasicDataset implementation for AzureTableDataset.
 37245  func (atd AzureTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 37246  	return nil, false
 37247  }
 37248  
 37249  // AsInformixTableDataset is the BasicDataset implementation for AzureTableDataset.
 37250  func (atd AzureTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 37251  	return nil, false
 37252  }
 37253  
 37254  // AsRelationalTableDataset is the BasicDataset implementation for AzureTableDataset.
 37255  func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 37256  	return nil, false
 37257  }
 37258  
 37259  // AsDb2TableDataset is the BasicDataset implementation for AzureTableDataset.
 37260  func (atd AzureTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 37261  	return nil, false
 37262  }
 37263  
 37264  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureTableDataset.
 37265  func (atd AzureTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 37266  	return nil, false
 37267  }
 37268  
 37269  // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset.
 37270  func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 37271  	return nil, false
 37272  }
 37273  
 37274  // AsTeradataTableDataset is the BasicDataset implementation for AzureTableDataset.
 37275  func (atd AzureTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 37276  	return nil, false
 37277  }
 37278  
 37279  // AsOracleTableDataset is the BasicDataset implementation for AzureTableDataset.
 37280  func (atd AzureTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 37281  	return nil, false
 37282  }
 37283  
 37284  // AsODataResourceDataset is the BasicDataset implementation for AzureTableDataset.
 37285  func (atd AzureTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 37286  	return nil, false
 37287  }
 37288  
 37289  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AzureTableDataset.
 37290  func (atd AzureTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 37291  	return nil, false
 37292  }
 37293  
 37294  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for AzureTableDataset.
 37295  func (atd AzureTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 37296  	return nil, false
 37297  }
 37298  
 37299  // AsMongoDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
 37300  func (atd AzureTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 37301  	return nil, false
 37302  }
 37303  
 37304  // AsOffice365Dataset is the BasicDataset implementation for AzureTableDataset.
 37305  func (atd AzureTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 37306  	return nil, false
 37307  }
 37308  
 37309  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AzureTableDataset.
 37310  func (atd AzureTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 37311  	return nil, false
 37312  }
 37313  
 37314  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for AzureTableDataset.
 37315  func (atd AzureTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 37316  	return nil, false
 37317  }
 37318  
 37319  // AsDynamicsEntityDataset is the BasicDataset implementation for AzureTableDataset.
 37320  func (atd AzureTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 37321  	return nil, false
 37322  }
 37323  
 37324  // AsDocumentDbCollectionDataset is the BasicDataset implementation for AzureTableDataset.
 37325  func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 37326  	return nil, false
 37327  }
 37328  
 37329  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureTableDataset.
 37330  func (atd AzureTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 37331  	return nil, false
 37332  }
 37333  
 37334  // AsCustomDataset is the BasicDataset implementation for AzureTableDataset.
 37335  func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 37336  	return nil, false
 37337  }
 37338  
 37339  // AsCassandraTableDataset is the BasicDataset implementation for AzureTableDataset.
 37340  func (atd AzureTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 37341  	return nil, false
 37342  }
 37343  
 37344  // AsAzureSQLDWTableDataset is the BasicDataset implementation for AzureTableDataset.
 37345  func (atd AzureTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 37346  	return nil, false
 37347  }
 37348  
 37349  // AsAzureSQLMITableDataset is the BasicDataset implementation for AzureTableDataset.
 37350  func (atd AzureTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 37351  	return nil, false
 37352  }
 37353  
 37354  // AsAzureSQLTableDataset is the BasicDataset implementation for AzureTableDataset.
 37355  func (atd AzureTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 37356  	return nil, false
 37357  }
 37358  
 37359  // AsAzureTableDataset is the BasicDataset implementation for AzureTableDataset.
 37360  func (atd AzureTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 37361  	return &atd, true
 37362  }
 37363  
 37364  // AsBinaryDataset is the BasicDataset implementation for AzureTableDataset.
 37365  func (atd AzureTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 37366  	return nil, false
 37367  }
 37368  
 37369  // AsOrcDataset is the BasicDataset implementation for AzureTableDataset.
 37370  func (atd AzureTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 37371  	return nil, false
 37372  }
 37373  
 37374  // AsJSONDataset is the BasicDataset implementation for AzureTableDataset.
 37375  func (atd AzureTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 37376  	return nil, false
 37377  }
 37378  
 37379  // AsDelimitedTextDataset is the BasicDataset implementation for AzureTableDataset.
 37380  func (atd AzureTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 37381  	return nil, false
 37382  }
 37383  
 37384  // AsParquetDataset is the BasicDataset implementation for AzureTableDataset.
 37385  func (atd AzureTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 37386  	return nil, false
 37387  }
 37388  
 37389  // AsAvroDataset is the BasicDataset implementation for AzureTableDataset.
 37390  func (atd AzureTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 37391  	return nil, false
 37392  }
 37393  
 37394  // AsDataset is the BasicDataset implementation for AzureTableDataset.
 37395  func (atd AzureTableDataset) AsDataset() (*Dataset, bool) {
 37396  	return nil, false
 37397  }
 37398  
 37399  // AsBasicDataset is the BasicDataset implementation for AzureTableDataset.
 37400  func (atd AzureTableDataset) AsBasicDataset() (BasicDataset, bool) {
 37401  	return &atd, true
 37402  }
 37403  
 37404  // UnmarshalJSON is the custom unmarshaler for AzureTableDataset struct.
 37405  func (atd *AzureTableDataset) UnmarshalJSON(body []byte) error {
 37406  	var m map[string]*json.RawMessage
 37407  	err := json.Unmarshal(body, &m)
 37408  	if err != nil {
 37409  		return err
 37410  	}
 37411  	for k, v := range m {
 37412  		switch k {
 37413  		case "typeProperties":
 37414  			if v != nil {
 37415  				var azureTableDatasetTypeProperties AzureTableDatasetTypeProperties
 37416  				err = json.Unmarshal(*v, &azureTableDatasetTypeProperties)
 37417  				if err != nil {
 37418  					return err
 37419  				}
 37420  				atd.AzureTableDatasetTypeProperties = &azureTableDatasetTypeProperties
 37421  			}
 37422  		default:
 37423  			if v != nil {
 37424  				var additionalProperties interface{}
 37425  				err = json.Unmarshal(*v, &additionalProperties)
 37426  				if err != nil {
 37427  					return err
 37428  				}
 37429  				if atd.AdditionalProperties == nil {
 37430  					atd.AdditionalProperties = make(map[string]interface{})
 37431  				}
 37432  				atd.AdditionalProperties[k] = additionalProperties
 37433  			}
 37434  		case "description":
 37435  			if v != nil {
 37436  				var description string
 37437  				err = json.Unmarshal(*v, &description)
 37438  				if err != nil {
 37439  					return err
 37440  				}
 37441  				atd.Description = &description
 37442  			}
 37443  		case "structure":
 37444  			if v != nil {
 37445  				var structure interface{}
 37446  				err = json.Unmarshal(*v, &structure)
 37447  				if err != nil {
 37448  					return err
 37449  				}
 37450  				atd.Structure = structure
 37451  			}
 37452  		case "schema":
 37453  			if v != nil {
 37454  				var schema interface{}
 37455  				err = json.Unmarshal(*v, &schema)
 37456  				if err != nil {
 37457  					return err
 37458  				}
 37459  				atd.Schema = schema
 37460  			}
 37461  		case "linkedServiceName":
 37462  			if v != nil {
 37463  				var linkedServiceName LinkedServiceReference
 37464  				err = json.Unmarshal(*v, &linkedServiceName)
 37465  				if err != nil {
 37466  					return err
 37467  				}
 37468  				atd.LinkedServiceName = &linkedServiceName
 37469  			}
 37470  		case "parameters":
 37471  			if v != nil {
 37472  				var parameters map[string]*ParameterSpecification
 37473  				err = json.Unmarshal(*v, &parameters)
 37474  				if err != nil {
 37475  					return err
 37476  				}
 37477  				atd.Parameters = parameters
 37478  			}
 37479  		case "annotations":
 37480  			if v != nil {
 37481  				var annotations []interface{}
 37482  				err = json.Unmarshal(*v, &annotations)
 37483  				if err != nil {
 37484  					return err
 37485  				}
 37486  				atd.Annotations = &annotations
 37487  			}
 37488  		case "folder":
 37489  			if v != nil {
 37490  				var folder DatasetFolder
 37491  				err = json.Unmarshal(*v, &folder)
 37492  				if err != nil {
 37493  					return err
 37494  				}
 37495  				atd.Folder = &folder
 37496  			}
 37497  		case "type":
 37498  			if v != nil {
 37499  				var typeVar TypeBasicDataset
 37500  				err = json.Unmarshal(*v, &typeVar)
 37501  				if err != nil {
 37502  					return err
 37503  				}
 37504  				atd.Type = typeVar
 37505  			}
 37506  		}
 37507  	}
 37508  
 37509  	return nil
 37510  }
 37511  
 37512  // AzureTableDatasetTypeProperties azure Table dataset properties.
 37513  type AzureTableDatasetTypeProperties struct {
 37514  	// TableName - The table name of the Azure Table storage. Type: string (or Expression with resultType string).
 37515  	TableName interface{} `json:"tableName,omitempty"`
 37516  }
 37517  
 37518  // AzureTableSink a copy activity Azure Table sink.
 37519  type AzureTableSink struct {
 37520  	// AzureTableDefaultPartitionKeyValue - Azure Table default partition key value. Type: string (or Expression with resultType string).
 37521  	AzureTableDefaultPartitionKeyValue interface{} `json:"azureTableDefaultPartitionKeyValue,omitempty"`
 37522  	// AzureTablePartitionKeyName - Azure Table partition key name. Type: string (or Expression with resultType string).
 37523  	AzureTablePartitionKeyName interface{} `json:"azureTablePartitionKeyName,omitempty"`
 37524  	// AzureTableRowKeyName - Azure Table row key name. Type: string (or Expression with resultType string).
 37525  	AzureTableRowKeyName interface{} `json:"azureTableRowKeyName,omitempty"`
 37526  	// AzureTableInsertType - Azure Table insert type. Type: string (or Expression with resultType string).
 37527  	AzureTableInsertType interface{} `json:"azureTableInsertType,omitempty"`
 37528  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 37529  	AdditionalProperties map[string]interface{} `json:""`
 37530  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 37531  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 37532  	// 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])).
 37533  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 37534  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 37535  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 37536  	// 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])).
 37537  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 37538  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 37539  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 37540  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 37541  	Type TypeBasicCopySink `json:"type,omitempty"`
 37542  }
 37543  
 37544  // MarshalJSON is the custom marshaler for AzureTableSink.
 37545  func (ats AzureTableSink) MarshalJSON() ([]byte, error) {
 37546  	ats.Type = TypeAzureTableSink
 37547  	objectMap := make(map[string]interface{})
 37548  	if ats.AzureTableDefaultPartitionKeyValue != nil {
 37549  		objectMap["azureTableDefaultPartitionKeyValue"] = ats.AzureTableDefaultPartitionKeyValue
 37550  	}
 37551  	if ats.AzureTablePartitionKeyName != nil {
 37552  		objectMap["azureTablePartitionKeyName"] = ats.AzureTablePartitionKeyName
 37553  	}
 37554  	if ats.AzureTableRowKeyName != nil {
 37555  		objectMap["azureTableRowKeyName"] = ats.AzureTableRowKeyName
 37556  	}
 37557  	if ats.AzureTableInsertType != nil {
 37558  		objectMap["azureTableInsertType"] = ats.AzureTableInsertType
 37559  	}
 37560  	if ats.WriteBatchSize != nil {
 37561  		objectMap["writeBatchSize"] = ats.WriteBatchSize
 37562  	}
 37563  	if ats.WriteBatchTimeout != nil {
 37564  		objectMap["writeBatchTimeout"] = ats.WriteBatchTimeout
 37565  	}
 37566  	if ats.SinkRetryCount != nil {
 37567  		objectMap["sinkRetryCount"] = ats.SinkRetryCount
 37568  	}
 37569  	if ats.SinkRetryWait != nil {
 37570  		objectMap["sinkRetryWait"] = ats.SinkRetryWait
 37571  	}
 37572  	if ats.MaxConcurrentConnections != nil {
 37573  		objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections
 37574  	}
 37575  	if ats.Type != "" {
 37576  		objectMap["type"] = ats.Type
 37577  	}
 37578  	for k, v := range ats.AdditionalProperties {
 37579  		objectMap[k] = v
 37580  	}
 37581  	return json.Marshal(objectMap)
 37582  }
 37583  
 37584  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureTableSink.
 37585  func (ats AzureTableSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 37586  	return nil, false
 37587  }
 37588  
 37589  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureTableSink.
 37590  func (ats AzureTableSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 37591  	return nil, false
 37592  }
 37593  
 37594  // AsSalesforceSink is the BasicCopySink implementation for AzureTableSink.
 37595  func (ats AzureTableSink) AsSalesforceSink() (*SalesforceSink, bool) {
 37596  	return nil, false
 37597  }
 37598  
 37599  // AsAzureDataExplorerSink is the BasicCopySink implementation for AzureTableSink.
 37600  func (ats AzureTableSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 37601  	return nil, false
 37602  }
 37603  
 37604  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureTableSink.
 37605  func (ats AzureTableSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 37606  	return nil, false
 37607  }
 37608  
 37609  // AsDynamicsCrmSink is the BasicCopySink implementation for AzureTableSink.
 37610  func (ats AzureTableSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 37611  	return nil, false
 37612  }
 37613  
 37614  // AsDynamicsSink is the BasicCopySink implementation for AzureTableSink.
 37615  func (ats AzureTableSink) AsDynamicsSink() (*DynamicsSink, bool) {
 37616  	return nil, false
 37617  }
 37618  
 37619  // AsMicrosoftAccessSink is the BasicCopySink implementation for AzureTableSink.
 37620  func (ats AzureTableSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 37621  	return nil, false
 37622  }
 37623  
 37624  // AsInformixSink is the BasicCopySink implementation for AzureTableSink.
 37625  func (ats AzureTableSink) AsInformixSink() (*InformixSink, bool) {
 37626  	return nil, false
 37627  }
 37628  
 37629  // AsOdbcSink is the BasicCopySink implementation for AzureTableSink.
 37630  func (ats AzureTableSink) AsOdbcSink() (*OdbcSink, bool) {
 37631  	return nil, false
 37632  }
 37633  
 37634  // AsAzureSearchIndexSink is the BasicCopySink implementation for AzureTableSink.
 37635  func (ats AzureTableSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 37636  	return nil, false
 37637  }
 37638  
 37639  // AsAzureBlobFSSink is the BasicCopySink implementation for AzureTableSink.
 37640  func (ats AzureTableSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 37641  	return nil, false
 37642  }
 37643  
 37644  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureTableSink.
 37645  func (ats AzureTableSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 37646  	return nil, false
 37647  }
 37648  
 37649  // AsOracleSink is the BasicCopySink implementation for AzureTableSink.
 37650  func (ats AzureTableSink) AsOracleSink() (*OracleSink, bool) {
 37651  	return nil, false
 37652  }
 37653  
 37654  // AsSQLDWSink is the BasicCopySink implementation for AzureTableSink.
 37655  func (ats AzureTableSink) AsSQLDWSink() (*SQLDWSink, bool) {
 37656  	return nil, false
 37657  }
 37658  
 37659  // AsSQLMISink is the BasicCopySink implementation for AzureTableSink.
 37660  func (ats AzureTableSink) AsSQLMISink() (*SQLMISink, bool) {
 37661  	return nil, false
 37662  }
 37663  
 37664  // AsAzureSQLSink is the BasicCopySink implementation for AzureTableSink.
 37665  func (ats AzureTableSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 37666  	return nil, false
 37667  }
 37668  
 37669  // AsSQLServerSink is the BasicCopySink implementation for AzureTableSink.
 37670  func (ats AzureTableSink) AsSQLServerSink() (*SQLServerSink, bool) {
 37671  	return nil, false
 37672  }
 37673  
 37674  // AsSQLSink is the BasicCopySink implementation for AzureTableSink.
 37675  func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) {
 37676  	return nil, false
 37677  }
 37678  
 37679  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureTableSink.
 37680  func (ats AzureTableSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 37681  	return nil, false
 37682  }
 37683  
 37684  // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink.
 37685  func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 37686  	return nil, false
 37687  }
 37688  
 37689  // AsFileSystemSink is the BasicCopySink implementation for AzureTableSink.
 37690  func (ats AzureTableSink) AsFileSystemSink() (*FileSystemSink, bool) {
 37691  	return nil, false
 37692  }
 37693  
 37694  // AsBlobSink is the BasicCopySink implementation for AzureTableSink.
 37695  func (ats AzureTableSink) AsBlobSink() (*BlobSink, bool) {
 37696  	return nil, false
 37697  }
 37698  
 37699  // AsBinarySink is the BasicCopySink implementation for AzureTableSink.
 37700  func (ats AzureTableSink) AsBinarySink() (*BinarySink, bool) {
 37701  	return nil, false
 37702  }
 37703  
 37704  // AsParquetSink is the BasicCopySink implementation for AzureTableSink.
 37705  func (ats AzureTableSink) AsParquetSink() (*ParquetSink, bool) {
 37706  	return nil, false
 37707  }
 37708  
 37709  // AsAvroSink is the BasicCopySink implementation for AzureTableSink.
 37710  func (ats AzureTableSink) AsAvroSink() (*AvroSink, bool) {
 37711  	return nil, false
 37712  }
 37713  
 37714  // AsAzureTableSink is the BasicCopySink implementation for AzureTableSink.
 37715  func (ats AzureTableSink) AsAzureTableSink() (*AzureTableSink, bool) {
 37716  	return &ats, true
 37717  }
 37718  
 37719  // AsAzureQueueSink is the BasicCopySink implementation for AzureTableSink.
 37720  func (ats AzureTableSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 37721  	return nil, false
 37722  }
 37723  
 37724  // AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureTableSink.
 37725  func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 37726  	return nil, false
 37727  }
 37728  
 37729  // AsAzureMySQLSink is the BasicCopySink implementation for AzureTableSink.
 37730  func (ats AzureTableSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 37731  	return nil, false
 37732  }
 37733  
 37734  // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureTableSink.
 37735  func (ats AzureTableSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 37736  	return nil, false
 37737  }
 37738  
 37739  // AsOrcSink is the BasicCopySink implementation for AzureTableSink.
 37740  func (ats AzureTableSink) AsOrcSink() (*OrcSink, bool) {
 37741  	return nil, false
 37742  }
 37743  
 37744  // AsJSONSink is the BasicCopySink implementation for AzureTableSink.
 37745  func (ats AzureTableSink) AsJSONSink() (*JSONSink, bool) {
 37746  	return nil, false
 37747  }
 37748  
 37749  // AsDelimitedTextSink is the BasicCopySink implementation for AzureTableSink.
 37750  func (ats AzureTableSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 37751  	return nil, false
 37752  }
 37753  
 37754  // AsCopySink is the BasicCopySink implementation for AzureTableSink.
 37755  func (ats AzureTableSink) AsCopySink() (*CopySink, bool) {
 37756  	return nil, false
 37757  }
 37758  
 37759  // AsBasicCopySink is the BasicCopySink implementation for AzureTableSink.
 37760  func (ats AzureTableSink) AsBasicCopySink() (BasicCopySink, bool) {
 37761  	return &ats, true
 37762  }
 37763  
 37764  // UnmarshalJSON is the custom unmarshaler for AzureTableSink struct.
 37765  func (ats *AzureTableSink) UnmarshalJSON(body []byte) error {
 37766  	var m map[string]*json.RawMessage
 37767  	err := json.Unmarshal(body, &m)
 37768  	if err != nil {
 37769  		return err
 37770  	}
 37771  	for k, v := range m {
 37772  		switch k {
 37773  		case "azureTableDefaultPartitionKeyValue":
 37774  			if v != nil {
 37775  				var azureTableDefaultPartitionKeyValue interface{}
 37776  				err = json.Unmarshal(*v, &azureTableDefaultPartitionKeyValue)
 37777  				if err != nil {
 37778  					return err
 37779  				}
 37780  				ats.AzureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue
 37781  			}
 37782  		case "azureTablePartitionKeyName":
 37783  			if v != nil {
 37784  				var azureTablePartitionKeyName interface{}
 37785  				err = json.Unmarshal(*v, &azureTablePartitionKeyName)
 37786  				if err != nil {
 37787  					return err
 37788  				}
 37789  				ats.AzureTablePartitionKeyName = azureTablePartitionKeyName
 37790  			}
 37791  		case "azureTableRowKeyName":
 37792  			if v != nil {
 37793  				var azureTableRowKeyName interface{}
 37794  				err = json.Unmarshal(*v, &azureTableRowKeyName)
 37795  				if err != nil {
 37796  					return err
 37797  				}
 37798  				ats.AzureTableRowKeyName = azureTableRowKeyName
 37799  			}
 37800  		case "azureTableInsertType":
 37801  			if v != nil {
 37802  				var azureTableInsertType interface{}
 37803  				err = json.Unmarshal(*v, &azureTableInsertType)
 37804  				if err != nil {
 37805  					return err
 37806  				}
 37807  				ats.AzureTableInsertType = azureTableInsertType
 37808  			}
 37809  		default:
 37810  			if v != nil {
 37811  				var additionalProperties interface{}
 37812  				err = json.Unmarshal(*v, &additionalProperties)
 37813  				if err != nil {
 37814  					return err
 37815  				}
 37816  				if ats.AdditionalProperties == nil {
 37817  					ats.AdditionalProperties = make(map[string]interface{})
 37818  				}
 37819  				ats.AdditionalProperties[k] = additionalProperties
 37820  			}
 37821  		case "writeBatchSize":
 37822  			if v != nil {
 37823  				var writeBatchSize interface{}
 37824  				err = json.Unmarshal(*v, &writeBatchSize)
 37825  				if err != nil {
 37826  					return err
 37827  				}
 37828  				ats.WriteBatchSize = writeBatchSize
 37829  			}
 37830  		case "writeBatchTimeout":
 37831  			if v != nil {
 37832  				var writeBatchTimeout interface{}
 37833  				err = json.Unmarshal(*v, &writeBatchTimeout)
 37834  				if err != nil {
 37835  					return err
 37836  				}
 37837  				ats.WriteBatchTimeout = writeBatchTimeout
 37838  			}
 37839  		case "sinkRetryCount":
 37840  			if v != nil {
 37841  				var sinkRetryCount interface{}
 37842  				err = json.Unmarshal(*v, &sinkRetryCount)
 37843  				if err != nil {
 37844  					return err
 37845  				}
 37846  				ats.SinkRetryCount = sinkRetryCount
 37847  			}
 37848  		case "sinkRetryWait":
 37849  			if v != nil {
 37850  				var sinkRetryWait interface{}
 37851  				err = json.Unmarshal(*v, &sinkRetryWait)
 37852  				if err != nil {
 37853  					return err
 37854  				}
 37855  				ats.SinkRetryWait = sinkRetryWait
 37856  			}
 37857  		case "maxConcurrentConnections":
 37858  			if v != nil {
 37859  				var maxConcurrentConnections interface{}
 37860  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 37861  				if err != nil {
 37862  					return err
 37863  				}
 37864  				ats.MaxConcurrentConnections = maxConcurrentConnections
 37865  			}
 37866  		case "type":
 37867  			if v != nil {
 37868  				var typeVar TypeBasicCopySink
 37869  				err = json.Unmarshal(*v, &typeVar)
 37870  				if err != nil {
 37871  					return err
 37872  				}
 37873  				ats.Type = typeVar
 37874  			}
 37875  		}
 37876  	}
 37877  
 37878  	return nil
 37879  }
 37880  
 37881  // AzureTableSource a copy activity Azure Table source.
 37882  type AzureTableSource struct {
 37883  	// AzureTableSourceQuery - Azure Table source query. Type: string (or Expression with resultType string).
 37884  	AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"`
 37885  	// AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
 37886  	AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"`
 37887  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 37888  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 37889  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 37890  	AdditionalProperties map[string]interface{} `json:""`
 37891  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 37892  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 37893  	// 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])).
 37894  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 37895  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 37896  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 37897  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 37898  	Type TypeBasicCopySource `json:"type,omitempty"`
 37899  }
 37900  
 37901  // MarshalJSON is the custom marshaler for AzureTableSource.
 37902  func (ats AzureTableSource) MarshalJSON() ([]byte, error) {
 37903  	ats.Type = TypeAzureTableSource
 37904  	objectMap := make(map[string]interface{})
 37905  	if ats.AzureTableSourceQuery != nil {
 37906  		objectMap["azureTableSourceQuery"] = ats.AzureTableSourceQuery
 37907  	}
 37908  	if ats.AzureTableSourceIgnoreTableNotFound != nil {
 37909  		objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound
 37910  	}
 37911  	if ats.QueryTimeout != nil {
 37912  		objectMap["queryTimeout"] = ats.QueryTimeout
 37913  	}
 37914  	if ats.SourceRetryCount != nil {
 37915  		objectMap["sourceRetryCount"] = ats.SourceRetryCount
 37916  	}
 37917  	if ats.SourceRetryWait != nil {
 37918  		objectMap["sourceRetryWait"] = ats.SourceRetryWait
 37919  	}
 37920  	if ats.MaxConcurrentConnections != nil {
 37921  		objectMap["maxConcurrentConnections"] = ats.MaxConcurrentConnections
 37922  	}
 37923  	if ats.Type != "" {
 37924  		objectMap["type"] = ats.Type
 37925  	}
 37926  	for k, v := range ats.AdditionalProperties {
 37927  		objectMap[k] = v
 37928  	}
 37929  	return json.Marshal(objectMap)
 37930  }
 37931  
 37932  // AsHTTPSource is the BasicCopySource implementation for AzureTableSource.
 37933  func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) {
 37934  	return nil, false
 37935  }
 37936  
 37937  // AsAzureBlobFSSource is the BasicCopySource implementation for AzureTableSource.
 37938  func (ats AzureTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 37939  	return nil, false
 37940  }
 37941  
 37942  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource.
 37943  func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 37944  	return nil, false
 37945  }
 37946  
 37947  // AsOffice365Source is the BasicCopySource implementation for AzureTableSource.
 37948  func (ats AzureTableSource) AsOffice365Source() (*Office365Source, bool) {
 37949  	return nil, false
 37950  }
 37951  
 37952  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureTableSource.
 37953  func (ats AzureTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 37954  	return nil, false
 37955  }
 37956  
 37957  // AsMongoDbV2Source is the BasicCopySource implementation for AzureTableSource.
 37958  func (ats AzureTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 37959  	return nil, false
 37960  }
 37961  
 37962  // AsMongoDbSource is the BasicCopySource implementation for AzureTableSource.
 37963  func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
 37964  	return nil, false
 37965  }
 37966  
 37967  // AsWebSource is the BasicCopySource implementation for AzureTableSource.
 37968  func (ats AzureTableSource) AsWebSource() (*WebSource, bool) {
 37969  	return nil, false
 37970  }
 37971  
 37972  // AsOracleSource is the BasicCopySource implementation for AzureTableSource.
 37973  func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) {
 37974  	return nil, false
 37975  }
 37976  
 37977  // AsAzureDataExplorerSource is the BasicCopySource implementation for AzureTableSource.
 37978  func (ats AzureTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 37979  	return nil, false
 37980  }
 37981  
 37982  // AsHdfsSource is the BasicCopySource implementation for AzureTableSource.
 37983  func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) {
 37984  	return nil, false
 37985  }
 37986  
 37987  // AsFileSystemSource is the BasicCopySource implementation for AzureTableSource.
 37988  func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
 37989  	return nil, false
 37990  }
 37991  
 37992  // AsRestSource is the BasicCopySource implementation for AzureTableSource.
 37993  func (ats AzureTableSource) AsRestSource() (*RestSource, bool) {
 37994  	return nil, false
 37995  }
 37996  
 37997  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureTableSource.
 37998  func (ats AzureTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 37999  	return nil, false
 38000  }
 38001  
 38002  // AsODataSource is the BasicCopySource implementation for AzureTableSource.
 38003  func (ats AzureTableSource) AsODataSource() (*ODataSource, bool) {
 38004  	return nil, false
 38005  }
 38006  
 38007  // AsMicrosoftAccessSource is the BasicCopySource implementation for AzureTableSource.
 38008  func (ats AzureTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 38009  	return nil, false
 38010  }
 38011  
 38012  // AsRelationalSource is the BasicCopySource implementation for AzureTableSource.
 38013  func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) {
 38014  	return nil, false
 38015  }
 38016  
 38017  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureTableSource.
 38018  func (ats AzureTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 38019  	return nil, false
 38020  }
 38021  
 38022  // AsDynamicsCrmSource is the BasicCopySource implementation for AzureTableSource.
 38023  func (ats AzureTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 38024  	return nil, false
 38025  }
 38026  
 38027  // AsDynamicsSource is the BasicCopySource implementation for AzureTableSource.
 38028  func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
 38029  	return nil, false
 38030  }
 38031  
 38032  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureTableSource.
 38033  func (ats AzureTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 38034  	return nil, false
 38035  }
 38036  
 38037  // AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource.
 38038  func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 38039  	return nil, false
 38040  }
 38041  
 38042  // AsBlobSource is the BasicCopySource implementation for AzureTableSource.
 38043  func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) {
 38044  	return nil, false
 38045  }
 38046  
 38047  // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource.
 38048  func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 38049  	return nil, false
 38050  }
 38051  
 38052  // AsGoogleAdWordsSource is the BasicCopySource implementation for AzureTableSource.
 38053  func (ats AzureTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 38054  	return nil, false
 38055  }
 38056  
 38057  // AsOracleServiceCloudSource is the BasicCopySource implementation for AzureTableSource.
 38058  func (ats AzureTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 38059  	return nil, false
 38060  }
 38061  
 38062  // AsDynamicsAXSource is the BasicCopySource implementation for AzureTableSource.
 38063  func (ats AzureTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 38064  	return nil, false
 38065  }
 38066  
 38067  // AsResponsysSource is the BasicCopySource implementation for AzureTableSource.
 38068  func (ats AzureTableSource) AsResponsysSource() (*ResponsysSource, bool) {
 38069  	return nil, false
 38070  }
 38071  
 38072  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for AzureTableSource.
 38073  func (ats AzureTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 38074  	return nil, false
 38075  }
 38076  
 38077  // AsVerticaSource is the BasicCopySource implementation for AzureTableSource.
 38078  func (ats AzureTableSource) AsVerticaSource() (*VerticaSource, bool) {
 38079  	return nil, false
 38080  }
 38081  
 38082  // AsNetezzaSource is the BasicCopySource implementation for AzureTableSource.
 38083  func (ats AzureTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
 38084  	return nil, false
 38085  }
 38086  
 38087  // AsZohoSource is the BasicCopySource implementation for AzureTableSource.
 38088  func (ats AzureTableSource) AsZohoSource() (*ZohoSource, bool) {
 38089  	return nil, false
 38090  }
 38091  
 38092  // AsXeroSource is the BasicCopySource implementation for AzureTableSource.
 38093  func (ats AzureTableSource) AsXeroSource() (*XeroSource, bool) {
 38094  	return nil, false
 38095  }
 38096  
 38097  // AsSquareSource is the BasicCopySource implementation for AzureTableSource.
 38098  func (ats AzureTableSource) AsSquareSource() (*SquareSource, bool) {
 38099  	return nil, false
 38100  }
 38101  
 38102  // AsSparkSource is the BasicCopySource implementation for AzureTableSource.
 38103  func (ats AzureTableSource) AsSparkSource() (*SparkSource, bool) {
 38104  	return nil, false
 38105  }
 38106  
 38107  // AsShopifySource is the BasicCopySource implementation for AzureTableSource.
 38108  func (ats AzureTableSource) AsShopifySource() (*ShopifySource, bool) {
 38109  	return nil, false
 38110  }
 38111  
 38112  // AsServiceNowSource is the BasicCopySource implementation for AzureTableSource.
 38113  func (ats AzureTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 38114  	return nil, false
 38115  }
 38116  
 38117  // AsQuickBooksSource is the BasicCopySource implementation for AzureTableSource.
 38118  func (ats AzureTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 38119  	return nil, false
 38120  }
 38121  
 38122  // AsPrestoSource is the BasicCopySource implementation for AzureTableSource.
 38123  func (ats AzureTableSource) AsPrestoSource() (*PrestoSource, bool) {
 38124  	return nil, false
 38125  }
 38126  
 38127  // AsPhoenixSource is the BasicCopySource implementation for AzureTableSource.
 38128  func (ats AzureTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
 38129  	return nil, false
 38130  }
 38131  
 38132  // AsPaypalSource is the BasicCopySource implementation for AzureTableSource.
 38133  func (ats AzureTableSource) AsPaypalSource() (*PaypalSource, bool) {
 38134  	return nil, false
 38135  }
 38136  
 38137  // AsMarketoSource is the BasicCopySource implementation for AzureTableSource.
 38138  func (ats AzureTableSource) AsMarketoSource() (*MarketoSource, bool) {
 38139  	return nil, false
 38140  }
 38141  
 38142  // AsAzureMariaDBSource is the BasicCopySource implementation for AzureTableSource.
 38143  func (ats AzureTableSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 38144  	return nil, false
 38145  }
 38146  
 38147  // AsMariaDBSource is the BasicCopySource implementation for AzureTableSource.
 38148  func (ats AzureTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
 38149  	return nil, false
 38150  }
 38151  
 38152  // AsMagentoSource is the BasicCopySource implementation for AzureTableSource.
 38153  func (ats AzureTableSource) AsMagentoSource() (*MagentoSource, bool) {
 38154  	return nil, false
 38155  }
 38156  
 38157  // AsJiraSource is the BasicCopySource implementation for AzureTableSource.
 38158  func (ats AzureTableSource) AsJiraSource() (*JiraSource, bool) {
 38159  	return nil, false
 38160  }
 38161  
 38162  // AsImpalaSource is the BasicCopySource implementation for AzureTableSource.
 38163  func (ats AzureTableSource) AsImpalaSource() (*ImpalaSource, bool) {
 38164  	return nil, false
 38165  }
 38166  
 38167  // AsHubspotSource is the BasicCopySource implementation for AzureTableSource.
 38168  func (ats AzureTableSource) AsHubspotSource() (*HubspotSource, bool) {
 38169  	return nil, false
 38170  }
 38171  
 38172  // AsHiveSource is the BasicCopySource implementation for AzureTableSource.
 38173  func (ats AzureTableSource) AsHiveSource() (*HiveSource, bool) {
 38174  	return nil, false
 38175  }
 38176  
 38177  // AsHBaseSource is the BasicCopySource implementation for AzureTableSource.
 38178  func (ats AzureTableSource) AsHBaseSource() (*HBaseSource, bool) {
 38179  	return nil, false
 38180  }
 38181  
 38182  // AsGreenplumSource is the BasicCopySource implementation for AzureTableSource.
 38183  func (ats AzureTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
 38184  	return nil, false
 38185  }
 38186  
 38187  // AsGoogleBigQuerySource is the BasicCopySource implementation for AzureTableSource.
 38188  func (ats AzureTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 38189  	return nil, false
 38190  }
 38191  
 38192  // AsEloquaSource is the BasicCopySource implementation for AzureTableSource.
 38193  func (ats AzureTableSource) AsEloquaSource() (*EloquaSource, bool) {
 38194  	return nil, false
 38195  }
 38196  
 38197  // AsDrillSource is the BasicCopySource implementation for AzureTableSource.
 38198  func (ats AzureTableSource) AsDrillSource() (*DrillSource, bool) {
 38199  	return nil, false
 38200  }
 38201  
 38202  // AsCouchbaseSource is the BasicCopySource implementation for AzureTableSource.
 38203  func (ats AzureTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 38204  	return nil, false
 38205  }
 38206  
 38207  // AsConcurSource is the BasicCopySource implementation for AzureTableSource.
 38208  func (ats AzureTableSource) AsConcurSource() (*ConcurSource, bool) {
 38209  	return nil, false
 38210  }
 38211  
 38212  // AsAzurePostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
 38213  func (ats AzureTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 38214  	return nil, false
 38215  }
 38216  
 38217  // AsAmazonMWSSource is the BasicCopySource implementation for AzureTableSource.
 38218  func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 38219  	return nil, false
 38220  }
 38221  
 38222  // AsCassandraSource is the BasicCopySource implementation for AzureTableSource.
 38223  func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) {
 38224  	return nil, false
 38225  }
 38226  
 38227  // AsTeradataSource is the BasicCopySource implementation for AzureTableSource.
 38228  func (ats AzureTableSource) AsTeradataSource() (*TeradataSource, bool) {
 38229  	return nil, false
 38230  }
 38231  
 38232  // AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource.
 38233  func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 38234  	return nil, false
 38235  }
 38236  
 38237  // AsSQLDWSource is the BasicCopySource implementation for AzureTableSource.
 38238  func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
 38239  	return nil, false
 38240  }
 38241  
 38242  // AsSQLMISource is the BasicCopySource implementation for AzureTableSource.
 38243  func (ats AzureTableSource) AsSQLMISource() (*SQLMISource, bool) {
 38244  	return nil, false
 38245  }
 38246  
 38247  // AsAzureSQLSource is the BasicCopySource implementation for AzureTableSource.
 38248  func (ats AzureTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 38249  	return nil, false
 38250  }
 38251  
 38252  // AsSQLServerSource is the BasicCopySource implementation for AzureTableSource.
 38253  func (ats AzureTableSource) AsSQLServerSource() (*SQLServerSource, bool) {
 38254  	return nil, false
 38255  }
 38256  
 38257  // AsSQLSource is the BasicCopySource implementation for AzureTableSource.
 38258  func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) {
 38259  	return nil, false
 38260  }
 38261  
 38262  // AsSapTableSource is the BasicCopySource implementation for AzureTableSource.
 38263  func (ats AzureTableSource) AsSapTableSource() (*SapTableSource, bool) {
 38264  	return nil, false
 38265  }
 38266  
 38267  // AsSapOpenHubSource is the BasicCopySource implementation for AzureTableSource.
 38268  func (ats AzureTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 38269  	return nil, false
 38270  }
 38271  
 38272  // AsSapHanaSource is the BasicCopySource implementation for AzureTableSource.
 38273  func (ats AzureTableSource) AsSapHanaSource() (*SapHanaSource, bool) {
 38274  	return nil, false
 38275  }
 38276  
 38277  // AsSapEccSource is the BasicCopySource implementation for AzureTableSource.
 38278  func (ats AzureTableSource) AsSapEccSource() (*SapEccSource, bool) {
 38279  	return nil, false
 38280  }
 38281  
 38282  // AsSapCloudForCustomerSource is the BasicCopySource implementation for AzureTableSource.
 38283  func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 38284  	return nil, false
 38285  }
 38286  
 38287  // AsSalesforceSource is the BasicCopySource implementation for AzureTableSource.
 38288  func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
 38289  	return nil, false
 38290  }
 38291  
 38292  // AsSapBwSource is the BasicCopySource implementation for AzureTableSource.
 38293  func (ats AzureTableSource) AsSapBwSource() (*SapBwSource, bool) {
 38294  	return nil, false
 38295  }
 38296  
 38297  // AsSybaseSource is the BasicCopySource implementation for AzureTableSource.
 38298  func (ats AzureTableSource) AsSybaseSource() (*SybaseSource, bool) {
 38299  	return nil, false
 38300  }
 38301  
 38302  // AsPostgreSQLSource is the BasicCopySource implementation for AzureTableSource.
 38303  func (ats AzureTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 38304  	return nil, false
 38305  }
 38306  
 38307  // AsMySQLSource is the BasicCopySource implementation for AzureTableSource.
 38308  func (ats AzureTableSource) AsMySQLSource() (*MySQLSource, bool) {
 38309  	return nil, false
 38310  }
 38311  
 38312  // AsOdbcSource is the BasicCopySource implementation for AzureTableSource.
 38313  func (ats AzureTableSource) AsOdbcSource() (*OdbcSource, bool) {
 38314  	return nil, false
 38315  }
 38316  
 38317  // AsDb2Source is the BasicCopySource implementation for AzureTableSource.
 38318  func (ats AzureTableSource) AsDb2Source() (*Db2Source, bool) {
 38319  	return nil, false
 38320  }
 38321  
 38322  // AsInformixSource is the BasicCopySource implementation for AzureTableSource.
 38323  func (ats AzureTableSource) AsInformixSource() (*InformixSource, bool) {
 38324  	return nil, false
 38325  }
 38326  
 38327  // AsAzureTableSource is the BasicCopySource implementation for AzureTableSource.
 38328  func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
 38329  	return &ats, true
 38330  }
 38331  
 38332  // AsTabularSource is the BasicCopySource implementation for AzureTableSource.
 38333  func (ats AzureTableSource) AsTabularSource() (*TabularSource, bool) {
 38334  	return nil, false
 38335  }
 38336  
 38337  // AsBasicTabularSource is the BasicCopySource implementation for AzureTableSource.
 38338  func (ats AzureTableSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 38339  	return &ats, true
 38340  }
 38341  
 38342  // AsBinarySource is the BasicCopySource implementation for AzureTableSource.
 38343  func (ats AzureTableSource) AsBinarySource() (*BinarySource, bool) {
 38344  	return nil, false
 38345  }
 38346  
 38347  // AsOrcSource is the BasicCopySource implementation for AzureTableSource.
 38348  func (ats AzureTableSource) AsOrcSource() (*OrcSource, bool) {
 38349  	return nil, false
 38350  }
 38351  
 38352  // AsJSONSource is the BasicCopySource implementation for AzureTableSource.
 38353  func (ats AzureTableSource) AsJSONSource() (*JSONSource, bool) {
 38354  	return nil, false
 38355  }
 38356  
 38357  // AsDelimitedTextSource is the BasicCopySource implementation for AzureTableSource.
 38358  func (ats AzureTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 38359  	return nil, false
 38360  }
 38361  
 38362  // AsParquetSource is the BasicCopySource implementation for AzureTableSource.
 38363  func (ats AzureTableSource) AsParquetSource() (*ParquetSource, bool) {
 38364  	return nil, false
 38365  }
 38366  
 38367  // AsAvroSource is the BasicCopySource implementation for AzureTableSource.
 38368  func (ats AzureTableSource) AsAvroSource() (*AvroSource, bool) {
 38369  	return nil, false
 38370  }
 38371  
 38372  // AsCopySource is the BasicCopySource implementation for AzureTableSource.
 38373  func (ats AzureTableSource) AsCopySource() (*CopySource, bool) {
 38374  	return nil, false
 38375  }
 38376  
 38377  // AsBasicCopySource is the BasicCopySource implementation for AzureTableSource.
 38378  func (ats AzureTableSource) AsBasicCopySource() (BasicCopySource, bool) {
 38379  	return &ats, true
 38380  }
 38381  
 38382  // UnmarshalJSON is the custom unmarshaler for AzureTableSource struct.
 38383  func (ats *AzureTableSource) UnmarshalJSON(body []byte) error {
 38384  	var m map[string]*json.RawMessage
 38385  	err := json.Unmarshal(body, &m)
 38386  	if err != nil {
 38387  		return err
 38388  	}
 38389  	for k, v := range m {
 38390  		switch k {
 38391  		case "azureTableSourceQuery":
 38392  			if v != nil {
 38393  				var azureTableSourceQuery interface{}
 38394  				err = json.Unmarshal(*v, &azureTableSourceQuery)
 38395  				if err != nil {
 38396  					return err
 38397  				}
 38398  				ats.AzureTableSourceQuery = azureTableSourceQuery
 38399  			}
 38400  		case "azureTableSourceIgnoreTableNotFound":
 38401  			if v != nil {
 38402  				var azureTableSourceIgnoreTableNotFound interface{}
 38403  				err = json.Unmarshal(*v, &azureTableSourceIgnoreTableNotFound)
 38404  				if err != nil {
 38405  					return err
 38406  				}
 38407  				ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound
 38408  			}
 38409  		case "queryTimeout":
 38410  			if v != nil {
 38411  				var queryTimeout interface{}
 38412  				err = json.Unmarshal(*v, &queryTimeout)
 38413  				if err != nil {
 38414  					return err
 38415  				}
 38416  				ats.QueryTimeout = queryTimeout
 38417  			}
 38418  		default:
 38419  			if v != nil {
 38420  				var additionalProperties interface{}
 38421  				err = json.Unmarshal(*v, &additionalProperties)
 38422  				if err != nil {
 38423  					return err
 38424  				}
 38425  				if ats.AdditionalProperties == nil {
 38426  					ats.AdditionalProperties = make(map[string]interface{})
 38427  				}
 38428  				ats.AdditionalProperties[k] = additionalProperties
 38429  			}
 38430  		case "sourceRetryCount":
 38431  			if v != nil {
 38432  				var sourceRetryCount interface{}
 38433  				err = json.Unmarshal(*v, &sourceRetryCount)
 38434  				if err != nil {
 38435  					return err
 38436  				}
 38437  				ats.SourceRetryCount = sourceRetryCount
 38438  			}
 38439  		case "sourceRetryWait":
 38440  			if v != nil {
 38441  				var sourceRetryWait interface{}
 38442  				err = json.Unmarshal(*v, &sourceRetryWait)
 38443  				if err != nil {
 38444  					return err
 38445  				}
 38446  				ats.SourceRetryWait = sourceRetryWait
 38447  			}
 38448  		case "maxConcurrentConnections":
 38449  			if v != nil {
 38450  				var maxConcurrentConnections interface{}
 38451  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 38452  				if err != nil {
 38453  					return err
 38454  				}
 38455  				ats.MaxConcurrentConnections = maxConcurrentConnections
 38456  			}
 38457  		case "type":
 38458  			if v != nil {
 38459  				var typeVar TypeBasicCopySource
 38460  				err = json.Unmarshal(*v, &typeVar)
 38461  				if err != nil {
 38462  					return err
 38463  				}
 38464  				ats.Type = typeVar
 38465  			}
 38466  		}
 38467  	}
 38468  
 38469  	return nil
 38470  }
 38471  
 38472  // AzureTableStorageLinkedService the azure table storage linked service.
 38473  type AzureTableStorageLinkedService struct {
 38474  	// AzureStorageLinkedServiceTypeProperties - Azure Table Storage linked service properties.
 38475  	*AzureStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 38476  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 38477  	AdditionalProperties map[string]interface{} `json:""`
 38478  	// ConnectVia - The integration runtime reference.
 38479  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 38480  	// Description - Linked service description.
 38481  	Description *string `json:"description,omitempty"`
 38482  	// Parameters - Parameters for linked service.
 38483  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 38484  	// Annotations - List of tags that can be used for describing the linked service.
 38485  	Annotations *[]interface{} `json:"annotations,omitempty"`
 38486  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 38487  	Type TypeBasicLinkedService `json:"type,omitempty"`
 38488  }
 38489  
 38490  // MarshalJSON is the custom marshaler for AzureTableStorageLinkedService.
 38491  func (atsls AzureTableStorageLinkedService) MarshalJSON() ([]byte, error) {
 38492  	atsls.Type = TypeAzureTableStorage
 38493  	objectMap := make(map[string]interface{})
 38494  	if atsls.AzureStorageLinkedServiceTypeProperties != nil {
 38495  		objectMap["typeProperties"] = atsls.AzureStorageLinkedServiceTypeProperties
 38496  	}
 38497  	if atsls.ConnectVia != nil {
 38498  		objectMap["connectVia"] = atsls.ConnectVia
 38499  	}
 38500  	if atsls.Description != nil {
 38501  		objectMap["description"] = atsls.Description
 38502  	}
 38503  	if atsls.Parameters != nil {
 38504  		objectMap["parameters"] = atsls.Parameters
 38505  	}
 38506  	if atsls.Annotations != nil {
 38507  		objectMap["annotations"] = atsls.Annotations
 38508  	}
 38509  	if atsls.Type != "" {
 38510  		objectMap["type"] = atsls.Type
 38511  	}
 38512  	for k, v := range atsls.AdditionalProperties {
 38513  		objectMap[k] = v
 38514  	}
 38515  	return json.Marshal(objectMap)
 38516  }
 38517  
 38518  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38519  func (atsls AzureTableStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 38520  	return nil, false
 38521  }
 38522  
 38523  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38524  func (atsls AzureTableStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 38525  	return nil, false
 38526  }
 38527  
 38528  // AsSapTableLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38529  func (atsls AzureTableStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 38530  	return nil, false
 38531  }
 38532  
 38533  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38534  func (atsls AzureTableStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 38535  	return nil, false
 38536  }
 38537  
 38538  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38539  func (atsls AzureTableStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 38540  	return nil, false
 38541  }
 38542  
 38543  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38544  func (atsls AzureTableStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 38545  	return nil, false
 38546  }
 38547  
 38548  // AsResponsysLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38549  func (atsls AzureTableStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 38550  	return nil, false
 38551  }
 38552  
 38553  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38554  func (atsls AzureTableStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 38555  	return nil, false
 38556  }
 38557  
 38558  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38559  func (atsls AzureTableStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 38560  	return nil, false
 38561  }
 38562  
 38563  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38564  func (atsls AzureTableStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 38565  	return nil, false
 38566  }
 38567  
 38568  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38569  func (atsls AzureTableStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 38570  	return nil, false
 38571  }
 38572  
 38573  // AsNetezzaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38574  func (atsls AzureTableStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 38575  	return nil, false
 38576  }
 38577  
 38578  // AsVerticaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38579  func (atsls AzureTableStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 38580  	return nil, false
 38581  }
 38582  
 38583  // AsZohoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38584  func (atsls AzureTableStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 38585  	return nil, false
 38586  }
 38587  
 38588  // AsXeroLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38589  func (atsls AzureTableStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 38590  	return nil, false
 38591  }
 38592  
 38593  // AsSquareLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38594  func (atsls AzureTableStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 38595  	return nil, false
 38596  }
 38597  
 38598  // AsSparkLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38599  func (atsls AzureTableStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 38600  	return nil, false
 38601  }
 38602  
 38603  // AsShopifyLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38604  func (atsls AzureTableStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 38605  	return nil, false
 38606  }
 38607  
 38608  // AsServiceNowLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38609  func (atsls AzureTableStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 38610  	return nil, false
 38611  }
 38612  
 38613  // AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38614  func (atsls AzureTableStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 38615  	return nil, false
 38616  }
 38617  
 38618  // AsPrestoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38619  func (atsls AzureTableStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 38620  	return nil, false
 38621  }
 38622  
 38623  // AsPhoenixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38624  func (atsls AzureTableStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 38625  	return nil, false
 38626  }
 38627  
 38628  // AsPaypalLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38629  func (atsls AzureTableStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 38630  	return nil, false
 38631  }
 38632  
 38633  // AsMarketoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38634  func (atsls AzureTableStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 38635  	return nil, false
 38636  }
 38637  
 38638  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38639  func (atsls AzureTableStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 38640  	return nil, false
 38641  }
 38642  
 38643  // AsMariaDBLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38644  func (atsls AzureTableStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 38645  	return nil, false
 38646  }
 38647  
 38648  // AsMagentoLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38649  func (atsls AzureTableStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 38650  	return nil, false
 38651  }
 38652  
 38653  // AsJiraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38654  func (atsls AzureTableStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 38655  	return nil, false
 38656  }
 38657  
 38658  // AsImpalaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38659  func (atsls AzureTableStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 38660  	return nil, false
 38661  }
 38662  
 38663  // AsHubspotLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38664  func (atsls AzureTableStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 38665  	return nil, false
 38666  }
 38667  
 38668  // AsHiveLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38669  func (atsls AzureTableStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 38670  	return nil, false
 38671  }
 38672  
 38673  // AsHBaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38674  func (atsls AzureTableStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 38675  	return nil, false
 38676  }
 38677  
 38678  // AsGreenplumLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38679  func (atsls AzureTableStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 38680  	return nil, false
 38681  }
 38682  
 38683  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38684  func (atsls AzureTableStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 38685  	return nil, false
 38686  }
 38687  
 38688  // AsEloquaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38689  func (atsls AzureTableStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 38690  	return nil, false
 38691  }
 38692  
 38693  // AsDrillLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38694  func (atsls AzureTableStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 38695  	return nil, false
 38696  }
 38697  
 38698  // AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38699  func (atsls AzureTableStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 38700  	return nil, false
 38701  }
 38702  
 38703  // AsConcurLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38704  func (atsls AzureTableStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 38705  	return nil, false
 38706  }
 38707  
 38708  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38709  func (atsls AzureTableStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 38710  	return nil, false
 38711  }
 38712  
 38713  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38714  func (atsls AzureTableStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 38715  	return nil, false
 38716  }
 38717  
 38718  // AsSapHanaLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38719  func (atsls AzureTableStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 38720  	return nil, false
 38721  }
 38722  
 38723  // AsSapBWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38724  func (atsls AzureTableStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 38725  	return nil, false
 38726  }
 38727  
 38728  // AsSftpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38729  func (atsls AzureTableStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 38730  	return nil, false
 38731  }
 38732  
 38733  // AsFtpServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38734  func (atsls AzureTableStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 38735  	return nil, false
 38736  }
 38737  
 38738  // AsHTTPLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38739  func (atsls AzureTableStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 38740  	return nil, false
 38741  }
 38742  
 38743  // AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38744  func (atsls AzureTableStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 38745  	return nil, false
 38746  }
 38747  
 38748  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38749  func (atsls AzureTableStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 38750  	return nil, false
 38751  }
 38752  
 38753  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38754  func (atsls AzureTableStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 38755  	return nil, false
 38756  }
 38757  
 38758  // AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38759  func (atsls AzureTableStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 38760  	return nil, false
 38761  }
 38762  
 38763  // AsRestServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38764  func (atsls AzureTableStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 38765  	return nil, false
 38766  }
 38767  
 38768  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38769  func (atsls AzureTableStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 38770  	return nil, false
 38771  }
 38772  
 38773  // AsSapEccLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38774  func (atsls AzureTableStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 38775  	return nil, false
 38776  }
 38777  
 38778  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38779  func (atsls AzureTableStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 38780  	return nil, false
 38781  }
 38782  
 38783  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38784  func (atsls AzureTableStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 38785  	return nil, false
 38786  }
 38787  
 38788  // AsSalesforceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38789  func (atsls AzureTableStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 38790  	return nil, false
 38791  }
 38792  
 38793  // AsOffice365LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38794  func (atsls AzureTableStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 38795  	return nil, false
 38796  }
 38797  
 38798  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38799  func (atsls AzureTableStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 38800  	return nil, false
 38801  }
 38802  
 38803  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38804  func (atsls AzureTableStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 38805  	return nil, false
 38806  }
 38807  
 38808  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38809  func (atsls AzureTableStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 38810  	return nil, false
 38811  }
 38812  
 38813  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38814  func (atsls AzureTableStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 38815  	return nil, false
 38816  }
 38817  
 38818  // AsMongoDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38819  func (atsls AzureTableStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 38820  	return nil, false
 38821  }
 38822  
 38823  // AsCassandraLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38824  func (atsls AzureTableStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 38825  	return nil, false
 38826  }
 38827  
 38828  // AsWebLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38829  func (atsls AzureTableStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 38830  	return nil, false
 38831  }
 38832  
 38833  // AsODataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38834  func (atsls AzureTableStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 38835  	return nil, false
 38836  }
 38837  
 38838  // AsHdfsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38839  func (atsls AzureTableStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 38840  	return nil, false
 38841  }
 38842  
 38843  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38844  func (atsls AzureTableStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 38845  	return nil, false
 38846  }
 38847  
 38848  // AsInformixLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38849  func (atsls AzureTableStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 38850  	return nil, false
 38851  }
 38852  
 38853  // AsOdbcLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38854  func (atsls AzureTableStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 38855  	return nil, false
 38856  }
 38857  
 38858  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38859  func (atsls AzureTableStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 38860  	return nil, false
 38861  }
 38862  
 38863  // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38864  func (atsls AzureTableStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 38865  	return nil, false
 38866  }
 38867  
 38868  // AsTeradataLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38869  func (atsls AzureTableStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 38870  	return nil, false
 38871  }
 38872  
 38873  // AsDb2LinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38874  func (atsls AzureTableStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 38875  	return nil, false
 38876  }
 38877  
 38878  // AsSybaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38879  func (atsls AzureTableStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 38880  	return nil, false
 38881  }
 38882  
 38883  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38884  func (atsls AzureTableStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 38885  	return nil, false
 38886  }
 38887  
 38888  // AsMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38889  func (atsls AzureTableStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 38890  	return nil, false
 38891  }
 38892  
 38893  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38894  func (atsls AzureTableStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 38895  	return nil, false
 38896  }
 38897  
 38898  // AsOracleLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38899  func (atsls AzureTableStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 38900  	return nil, false
 38901  }
 38902  
 38903  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38904  func (atsls AzureTableStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 38905  	return nil, false
 38906  }
 38907  
 38908  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38909  func (atsls AzureTableStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 38910  	return nil, false
 38911  }
 38912  
 38913  // AsFileServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38914  func (atsls AzureTableStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 38915  	return nil, false
 38916  }
 38917  
 38918  // AsHDInsightLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38919  func (atsls AzureTableStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 38920  	return nil, false
 38921  }
 38922  
 38923  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38924  func (atsls AzureTableStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 38925  	return nil, false
 38926  }
 38927  
 38928  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38929  func (atsls AzureTableStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 38930  	return nil, false
 38931  }
 38932  
 38933  // AsDynamicsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38934  func (atsls AzureTableStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 38935  	return nil, false
 38936  }
 38937  
 38938  // AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38939  func (atsls AzureTableStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 38940  	return nil, false
 38941  }
 38942  
 38943  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38944  func (atsls AzureTableStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 38945  	return nil, false
 38946  }
 38947  
 38948  // AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38949  func (atsls AzureTableStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 38950  	return nil, false
 38951  }
 38952  
 38953  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38954  func (atsls AzureTableStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 38955  	return nil, false
 38956  }
 38957  
 38958  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38959  func (atsls AzureTableStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 38960  	return nil, false
 38961  }
 38962  
 38963  // AsSQLServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38964  func (atsls AzureTableStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 38965  	return nil, false
 38966  }
 38967  
 38968  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38969  func (atsls AzureTableStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 38970  	return nil, false
 38971  }
 38972  
 38973  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38974  func (atsls AzureTableStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 38975  	return &atsls, true
 38976  }
 38977  
 38978  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38979  func (atsls AzureTableStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 38980  	return nil, false
 38981  }
 38982  
 38983  // AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38984  func (atsls AzureTableStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 38985  	return nil, false
 38986  }
 38987  
 38988  // AsLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38989  func (atsls AzureTableStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
 38990  	return nil, false
 38991  }
 38992  
 38993  // AsBasicLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService.
 38994  func (atsls AzureTableStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 38995  	return &atsls, true
 38996  }
 38997  
 38998  // UnmarshalJSON is the custom unmarshaler for AzureTableStorageLinkedService struct.
 38999  func (atsls *AzureTableStorageLinkedService) UnmarshalJSON(body []byte) error {
 39000  	var m map[string]*json.RawMessage
 39001  	err := json.Unmarshal(body, &m)
 39002  	if err != nil {
 39003  		return err
 39004  	}
 39005  	for k, v := range m {
 39006  		switch k {
 39007  		case "typeProperties":
 39008  			if v != nil {
 39009  				var azureStorageLinkedServiceTypeProperties AzureStorageLinkedServiceTypeProperties
 39010  				err = json.Unmarshal(*v, &azureStorageLinkedServiceTypeProperties)
 39011  				if err != nil {
 39012  					return err
 39013  				}
 39014  				atsls.AzureStorageLinkedServiceTypeProperties = &azureStorageLinkedServiceTypeProperties
 39015  			}
 39016  		default:
 39017  			if v != nil {
 39018  				var additionalProperties interface{}
 39019  				err = json.Unmarshal(*v, &additionalProperties)
 39020  				if err != nil {
 39021  					return err
 39022  				}
 39023  				if atsls.AdditionalProperties == nil {
 39024  					atsls.AdditionalProperties = make(map[string]interface{})
 39025  				}
 39026  				atsls.AdditionalProperties[k] = additionalProperties
 39027  			}
 39028  		case "connectVia":
 39029  			if v != nil {
 39030  				var connectVia IntegrationRuntimeReference
 39031  				err = json.Unmarshal(*v, &connectVia)
 39032  				if err != nil {
 39033  					return err
 39034  				}
 39035  				atsls.ConnectVia = &connectVia
 39036  			}
 39037  		case "description":
 39038  			if v != nil {
 39039  				var description string
 39040  				err = json.Unmarshal(*v, &description)
 39041  				if err != nil {
 39042  					return err
 39043  				}
 39044  				atsls.Description = &description
 39045  			}
 39046  		case "parameters":
 39047  			if v != nil {
 39048  				var parameters map[string]*ParameterSpecification
 39049  				err = json.Unmarshal(*v, &parameters)
 39050  				if err != nil {
 39051  					return err
 39052  				}
 39053  				atsls.Parameters = parameters
 39054  			}
 39055  		case "annotations":
 39056  			if v != nil {
 39057  				var annotations []interface{}
 39058  				err = json.Unmarshal(*v, &annotations)
 39059  				if err != nil {
 39060  					return err
 39061  				}
 39062  				atsls.Annotations = &annotations
 39063  			}
 39064  		case "type":
 39065  			if v != nil {
 39066  				var typeVar TypeBasicLinkedService
 39067  				err = json.Unmarshal(*v, &typeVar)
 39068  				if err != nil {
 39069  					return err
 39070  				}
 39071  				atsls.Type = typeVar
 39072  			}
 39073  		}
 39074  	}
 39075  
 39076  	return nil
 39077  }
 39078  
 39079  // BigDataPoolReference big data pool reference.
 39080  type BigDataPoolReference struct {
 39081  	// Type - Big data pool reference type.
 39082  	Type *string `json:"type,omitempty"`
 39083  	// ReferenceName - Reference big data pool name.
 39084  	ReferenceName *string `json:"referenceName,omitempty"`
 39085  }
 39086  
 39087  // BigDataPoolResourceInfo a Big Data pool
 39088  type BigDataPoolResourceInfo struct {
 39089  	autorest.Response `json:"-"`
 39090  	// BigDataPoolResourceProperties - Big Data pool properties
 39091  	*BigDataPoolResourceProperties `json:"properties,omitempty"`
 39092  	// Tags - Resource tags.
 39093  	Tags map[string]*string `json:"tags"`
 39094  	// Location - The geo-location where the resource lives
 39095  	Location *string `json:"location,omitempty"`
 39096  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
 39097  	ID *string `json:"id,omitempty"`
 39098  	// Name - READ-ONLY; The name of the resource
 39099  	Name *string `json:"name,omitempty"`
 39100  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 39101  	Type *string `json:"type,omitempty"`
 39102  }
 39103  
 39104  // MarshalJSON is the custom marshaler for BigDataPoolResourceInfo.
 39105  func (bdpri BigDataPoolResourceInfo) MarshalJSON() ([]byte, error) {
 39106  	objectMap := make(map[string]interface{})
 39107  	if bdpri.BigDataPoolResourceProperties != nil {
 39108  		objectMap["properties"] = bdpri.BigDataPoolResourceProperties
 39109  	}
 39110  	if bdpri.Tags != nil {
 39111  		objectMap["tags"] = bdpri.Tags
 39112  	}
 39113  	if bdpri.Location != nil {
 39114  		objectMap["location"] = bdpri.Location
 39115  	}
 39116  	return json.Marshal(objectMap)
 39117  }
 39118  
 39119  // UnmarshalJSON is the custom unmarshaler for BigDataPoolResourceInfo struct.
 39120  func (bdpri *BigDataPoolResourceInfo) UnmarshalJSON(body []byte) error {
 39121  	var m map[string]*json.RawMessage
 39122  	err := json.Unmarshal(body, &m)
 39123  	if err != nil {
 39124  		return err
 39125  	}
 39126  	for k, v := range m {
 39127  		switch k {
 39128  		case "properties":
 39129  			if v != nil {
 39130  				var bigDataPoolResourceProperties BigDataPoolResourceProperties
 39131  				err = json.Unmarshal(*v, &bigDataPoolResourceProperties)
 39132  				if err != nil {
 39133  					return err
 39134  				}
 39135  				bdpri.BigDataPoolResourceProperties = &bigDataPoolResourceProperties
 39136  			}
 39137  		case "tags":
 39138  			if v != nil {
 39139  				var tags map[string]*string
 39140  				err = json.Unmarshal(*v, &tags)
 39141  				if err != nil {
 39142  					return err
 39143  				}
 39144  				bdpri.Tags = tags
 39145  			}
 39146  		case "location":
 39147  			if v != nil {
 39148  				var location string
 39149  				err = json.Unmarshal(*v, &location)
 39150  				if err != nil {
 39151  					return err
 39152  				}
 39153  				bdpri.Location = &location
 39154  			}
 39155  		case "id":
 39156  			if v != nil {
 39157  				var ID string
 39158  				err = json.Unmarshal(*v, &ID)
 39159  				if err != nil {
 39160  					return err
 39161  				}
 39162  				bdpri.ID = &ID
 39163  			}
 39164  		case "name":
 39165  			if v != nil {
 39166  				var name string
 39167  				err = json.Unmarshal(*v, &name)
 39168  				if err != nil {
 39169  					return err
 39170  				}
 39171  				bdpri.Name = &name
 39172  			}
 39173  		case "type":
 39174  			if v != nil {
 39175  				var typeVar string
 39176  				err = json.Unmarshal(*v, &typeVar)
 39177  				if err != nil {
 39178  					return err
 39179  				}
 39180  				bdpri.Type = &typeVar
 39181  			}
 39182  		}
 39183  	}
 39184  
 39185  	return nil
 39186  }
 39187  
 39188  // BigDataPoolResourceInfoListResult collection of Big Data pool information
 39189  type BigDataPoolResourceInfoListResult struct {
 39190  	autorest.Response `json:"-"`
 39191  	// NextLink - Link to the next page of results
 39192  	NextLink *string `json:"nextLink,omitempty"`
 39193  	// Value - List of Big Data pools
 39194  	Value *[]BigDataPoolResourceInfo `json:"value,omitempty"`
 39195  }
 39196  
 39197  // BigDataPoolResourceProperties properties of a Big Data pool powered by Apache Spark
 39198  type BigDataPoolResourceProperties struct {
 39199  	// ProvisioningState - The state of the Big Data pool.
 39200  	ProvisioningState *string `json:"provisioningState,omitempty"`
 39201  	// AutoScale - Auto-scaling properties
 39202  	AutoScale *AutoScaleProperties `json:"autoScale,omitempty"`
 39203  	// CreationDate - The time when the Big Data pool was created.
 39204  	CreationDate *date.Time `json:"creationDate,omitempty"`
 39205  	// AutoPause - Auto-pausing properties
 39206  	AutoPause *AutoPauseProperties `json:"autoPause,omitempty"`
 39207  	// IsComputeIsolationEnabled - Whether compute isolation is required or not.
 39208  	IsComputeIsolationEnabled *bool `json:"isComputeIsolationEnabled,omitempty"`
 39209  	// HaveLibraryRequirementsChanged - Whether library requirements changed.
 39210  	HaveLibraryRequirementsChanged *bool `json:"haveLibraryRequirementsChanged,omitempty"`
 39211  	// SessionLevelPackagesEnabled - Whether session level packages enabled.
 39212  	SessionLevelPackagesEnabled *bool `json:"sessionLevelPackagesEnabled,omitempty"`
 39213  	// SparkEventsFolder - The Spark events folder
 39214  	SparkEventsFolder *string `json:"sparkEventsFolder,omitempty"`
 39215  	// NodeCount - The number of nodes in the Big Data pool.
 39216  	NodeCount *int32 `json:"nodeCount,omitempty"`
 39217  	// LibraryRequirements - Library version requirements
 39218  	LibraryRequirements *LibraryRequirements `json:"libraryRequirements,omitempty"`
 39219  	// SparkConfigProperties - Spark configuration file to specify additional properties
 39220  	SparkConfigProperties *LibraryRequirements `json:"sparkConfigProperties,omitempty"`
 39221  	// SparkVersion - The Apache Spark version.
 39222  	SparkVersion *string `json:"sparkVersion,omitempty"`
 39223  	// DefaultSparkLogFolder - The default folder where Spark logs will be written.
 39224  	DefaultSparkLogFolder *string `json:"defaultSparkLogFolder,omitempty"`
 39225  	// NodeSize - The level of compute power that each node in the Big Data pool has. Possible values include: 'NodeSizeNone', 'NodeSizeSmall', 'NodeSizeMedium', 'NodeSizeLarge', 'NodeSizeXLarge', 'NodeSizeXXLarge', 'NodeSizeXXXLarge'
 39226  	NodeSize NodeSize `json:"nodeSize,omitempty"`
 39227  	// NodeSizeFamily - The kind of nodes that the Big Data pool provides. Possible values include: 'NodeSizeFamilyNone', 'NodeSizeFamilyMemoryOptimized'
 39228  	NodeSizeFamily NodeSizeFamily `json:"nodeSizeFamily,omitempty"`
 39229  }
 39230  
 39231  // BinaryDataset binary dataset.
 39232  type BinaryDataset struct {
 39233  	// BinaryDatasetTypeProperties - Binary dataset properties.
 39234  	*BinaryDatasetTypeProperties `json:"typeProperties,omitempty"`
 39235  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 39236  	AdditionalProperties map[string]interface{} `json:""`
 39237  	// Description - Dataset description.
 39238  	Description *string `json:"description,omitempty"`
 39239  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 39240  	Structure interface{} `json:"structure,omitempty"`
 39241  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 39242  	Schema interface{} `json:"schema,omitempty"`
 39243  	// LinkedServiceName - Linked service reference.
 39244  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 39245  	// Parameters - Parameters for dataset.
 39246  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 39247  	// Annotations - List of tags that can be used for describing the Dataset.
 39248  	Annotations *[]interface{} `json:"annotations,omitempty"`
 39249  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 39250  	Folder *DatasetFolder `json:"folder,omitempty"`
 39251  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 39252  	Type TypeBasicDataset `json:"type,omitempty"`
 39253  }
 39254  
 39255  // MarshalJSON is the custom marshaler for BinaryDataset.
 39256  func (bd BinaryDataset) MarshalJSON() ([]byte, error) {
 39257  	bd.Type = TypeBinary
 39258  	objectMap := make(map[string]interface{})
 39259  	if bd.BinaryDatasetTypeProperties != nil {
 39260  		objectMap["typeProperties"] = bd.BinaryDatasetTypeProperties
 39261  	}
 39262  	if bd.Description != nil {
 39263  		objectMap["description"] = bd.Description
 39264  	}
 39265  	if bd.Structure != nil {
 39266  		objectMap["structure"] = bd.Structure
 39267  	}
 39268  	if bd.Schema != nil {
 39269  		objectMap["schema"] = bd.Schema
 39270  	}
 39271  	if bd.LinkedServiceName != nil {
 39272  		objectMap["linkedServiceName"] = bd.LinkedServiceName
 39273  	}
 39274  	if bd.Parameters != nil {
 39275  		objectMap["parameters"] = bd.Parameters
 39276  	}
 39277  	if bd.Annotations != nil {
 39278  		objectMap["annotations"] = bd.Annotations
 39279  	}
 39280  	if bd.Folder != nil {
 39281  		objectMap["folder"] = bd.Folder
 39282  	}
 39283  	if bd.Type != "" {
 39284  		objectMap["type"] = bd.Type
 39285  	}
 39286  	for k, v := range bd.AdditionalProperties {
 39287  		objectMap[k] = v
 39288  	}
 39289  	return json.Marshal(objectMap)
 39290  }
 39291  
 39292  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for BinaryDataset.
 39293  func (bd BinaryDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 39294  	return nil, false
 39295  }
 39296  
 39297  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for BinaryDataset.
 39298  func (bd BinaryDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 39299  	return nil, false
 39300  }
 39301  
 39302  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
 39303  func (bd BinaryDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 39304  	return nil, false
 39305  }
 39306  
 39307  // AsDynamicsAXResourceDataset is the BasicDataset implementation for BinaryDataset.
 39308  func (bd BinaryDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 39309  	return nil, false
 39310  }
 39311  
 39312  // AsResponsysObjectDataset is the BasicDataset implementation for BinaryDataset.
 39313  func (bd BinaryDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 39314  	return nil, false
 39315  }
 39316  
 39317  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
 39318  func (bd BinaryDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 39319  	return nil, false
 39320  }
 39321  
 39322  // AsVerticaTableDataset is the BasicDataset implementation for BinaryDataset.
 39323  func (bd BinaryDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 39324  	return nil, false
 39325  }
 39326  
 39327  // AsNetezzaTableDataset is the BasicDataset implementation for BinaryDataset.
 39328  func (bd BinaryDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 39329  	return nil, false
 39330  }
 39331  
 39332  // AsZohoObjectDataset is the BasicDataset implementation for BinaryDataset.
 39333  func (bd BinaryDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 39334  	return nil, false
 39335  }
 39336  
 39337  // AsXeroObjectDataset is the BasicDataset implementation for BinaryDataset.
 39338  func (bd BinaryDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 39339  	return nil, false
 39340  }
 39341  
 39342  // AsSquareObjectDataset is the BasicDataset implementation for BinaryDataset.
 39343  func (bd BinaryDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 39344  	return nil, false
 39345  }
 39346  
 39347  // AsSparkObjectDataset is the BasicDataset implementation for BinaryDataset.
 39348  func (bd BinaryDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 39349  	return nil, false
 39350  }
 39351  
 39352  // AsShopifyObjectDataset is the BasicDataset implementation for BinaryDataset.
 39353  func (bd BinaryDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 39354  	return nil, false
 39355  }
 39356  
 39357  // AsServiceNowObjectDataset is the BasicDataset implementation for BinaryDataset.
 39358  func (bd BinaryDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 39359  	return nil, false
 39360  }
 39361  
 39362  // AsQuickBooksObjectDataset is the BasicDataset implementation for BinaryDataset.
 39363  func (bd BinaryDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 39364  	return nil, false
 39365  }
 39366  
 39367  // AsPrestoObjectDataset is the BasicDataset implementation for BinaryDataset.
 39368  func (bd BinaryDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 39369  	return nil, false
 39370  }
 39371  
 39372  // AsPhoenixObjectDataset is the BasicDataset implementation for BinaryDataset.
 39373  func (bd BinaryDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 39374  	return nil, false
 39375  }
 39376  
 39377  // AsPaypalObjectDataset is the BasicDataset implementation for BinaryDataset.
 39378  func (bd BinaryDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 39379  	return nil, false
 39380  }
 39381  
 39382  // AsMarketoObjectDataset is the BasicDataset implementation for BinaryDataset.
 39383  func (bd BinaryDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 39384  	return nil, false
 39385  }
 39386  
 39387  // AsAzureMariaDBTableDataset is the BasicDataset implementation for BinaryDataset.
 39388  func (bd BinaryDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 39389  	return nil, false
 39390  }
 39391  
 39392  // AsMariaDBTableDataset is the BasicDataset implementation for BinaryDataset.
 39393  func (bd BinaryDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 39394  	return nil, false
 39395  }
 39396  
 39397  // AsMagentoObjectDataset is the BasicDataset implementation for BinaryDataset.
 39398  func (bd BinaryDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 39399  	return nil, false
 39400  }
 39401  
 39402  // AsJiraObjectDataset is the BasicDataset implementation for BinaryDataset.
 39403  func (bd BinaryDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 39404  	return nil, false
 39405  }
 39406  
 39407  // AsImpalaObjectDataset is the BasicDataset implementation for BinaryDataset.
 39408  func (bd BinaryDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 39409  	return nil, false
 39410  }
 39411  
 39412  // AsHubspotObjectDataset is the BasicDataset implementation for BinaryDataset.
 39413  func (bd BinaryDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 39414  	return nil, false
 39415  }
 39416  
 39417  // AsHiveObjectDataset is the BasicDataset implementation for BinaryDataset.
 39418  func (bd BinaryDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 39419  	return nil, false
 39420  }
 39421  
 39422  // AsHBaseObjectDataset is the BasicDataset implementation for BinaryDataset.
 39423  func (bd BinaryDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 39424  	return nil, false
 39425  }
 39426  
 39427  // AsGreenplumTableDataset is the BasicDataset implementation for BinaryDataset.
 39428  func (bd BinaryDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 39429  	return nil, false
 39430  }
 39431  
 39432  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for BinaryDataset.
 39433  func (bd BinaryDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 39434  	return nil, false
 39435  }
 39436  
 39437  // AsEloquaObjectDataset is the BasicDataset implementation for BinaryDataset.
 39438  func (bd BinaryDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 39439  	return nil, false
 39440  }
 39441  
 39442  // AsDrillTableDataset is the BasicDataset implementation for BinaryDataset.
 39443  func (bd BinaryDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 39444  	return nil, false
 39445  }
 39446  
 39447  // AsCouchbaseTableDataset is the BasicDataset implementation for BinaryDataset.
 39448  func (bd BinaryDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 39449  	return nil, false
 39450  }
 39451  
 39452  // AsConcurObjectDataset is the BasicDataset implementation for BinaryDataset.
 39453  func (bd BinaryDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 39454  	return nil, false
 39455  }
 39456  
 39457  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset.
 39458  func (bd BinaryDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 39459  	return nil, false
 39460  }
 39461  
 39462  // AsAmazonMWSObjectDataset is the BasicDataset implementation for BinaryDataset.
 39463  func (bd BinaryDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 39464  	return nil, false
 39465  }
 39466  
 39467  // AsAzureSearchIndexDataset is the BasicDataset implementation for BinaryDataset.
 39468  func (bd BinaryDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 39469  	return nil, false
 39470  }
 39471  
 39472  // AsWebTableDataset is the BasicDataset implementation for BinaryDataset.
 39473  func (bd BinaryDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 39474  	return nil, false
 39475  }
 39476  
 39477  // AsSapTableResourceDataset is the BasicDataset implementation for BinaryDataset.
 39478  func (bd BinaryDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 39479  	return nil, false
 39480  }
 39481  
 39482  // AsRestResourceDataset is the BasicDataset implementation for BinaryDataset.
 39483  func (bd BinaryDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 39484  	return nil, false
 39485  }
 39486  
 39487  // AsSQLServerTableDataset is the BasicDataset implementation for BinaryDataset.
 39488  func (bd BinaryDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 39489  	return nil, false
 39490  }
 39491  
 39492  // AsSapOpenHubTableDataset is the BasicDataset implementation for BinaryDataset.
 39493  func (bd BinaryDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 39494  	return nil, false
 39495  }
 39496  
 39497  // AsSapHanaTableDataset is the BasicDataset implementation for BinaryDataset.
 39498  func (bd BinaryDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 39499  	return nil, false
 39500  }
 39501  
 39502  // AsSapEccResourceDataset is the BasicDataset implementation for BinaryDataset.
 39503  func (bd BinaryDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 39504  	return nil, false
 39505  }
 39506  
 39507  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for BinaryDataset.
 39508  func (bd BinaryDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 39509  	return nil, false
 39510  }
 39511  
 39512  // AsSapBwCubeDataset is the BasicDataset implementation for BinaryDataset.
 39513  func (bd BinaryDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 39514  	return nil, false
 39515  }
 39516  
 39517  // AsSybaseTableDataset is the BasicDataset implementation for BinaryDataset.
 39518  func (bd BinaryDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 39519  	return nil, false
 39520  }
 39521  
 39522  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for BinaryDataset.
 39523  func (bd BinaryDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 39524  	return nil, false
 39525  }
 39526  
 39527  // AsSalesforceObjectDataset is the BasicDataset implementation for BinaryDataset.
 39528  func (bd BinaryDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 39529  	return nil, false
 39530  }
 39531  
 39532  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for BinaryDataset.
 39533  func (bd BinaryDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 39534  	return nil, false
 39535  }
 39536  
 39537  // AsPostgreSQLTableDataset is the BasicDataset implementation for BinaryDataset.
 39538  func (bd BinaryDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 39539  	return nil, false
 39540  }
 39541  
 39542  // AsMySQLTableDataset is the BasicDataset implementation for BinaryDataset.
 39543  func (bd BinaryDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 39544  	return nil, false
 39545  }
 39546  
 39547  // AsOdbcTableDataset is the BasicDataset implementation for BinaryDataset.
 39548  func (bd BinaryDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 39549  	return nil, false
 39550  }
 39551  
 39552  // AsInformixTableDataset is the BasicDataset implementation for BinaryDataset.
 39553  func (bd BinaryDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 39554  	return nil, false
 39555  }
 39556  
 39557  // AsRelationalTableDataset is the BasicDataset implementation for BinaryDataset.
 39558  func (bd BinaryDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 39559  	return nil, false
 39560  }
 39561  
 39562  // AsDb2TableDataset is the BasicDataset implementation for BinaryDataset.
 39563  func (bd BinaryDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 39564  	return nil, false
 39565  }
 39566  
 39567  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for BinaryDataset.
 39568  func (bd BinaryDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 39569  	return nil, false
 39570  }
 39571  
 39572  // AsAzureMySQLTableDataset is the BasicDataset implementation for BinaryDataset.
 39573  func (bd BinaryDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 39574  	return nil, false
 39575  }
 39576  
 39577  // AsTeradataTableDataset is the BasicDataset implementation for BinaryDataset.
 39578  func (bd BinaryDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 39579  	return nil, false
 39580  }
 39581  
 39582  // AsOracleTableDataset is the BasicDataset implementation for BinaryDataset.
 39583  func (bd BinaryDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 39584  	return nil, false
 39585  }
 39586  
 39587  // AsODataResourceDataset is the BasicDataset implementation for BinaryDataset.
 39588  func (bd BinaryDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 39589  	return nil, false
 39590  }
 39591  
 39592  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for BinaryDataset.
 39593  func (bd BinaryDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 39594  	return nil, false
 39595  }
 39596  
 39597  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for BinaryDataset.
 39598  func (bd BinaryDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 39599  	return nil, false
 39600  }
 39601  
 39602  // AsMongoDbCollectionDataset is the BasicDataset implementation for BinaryDataset.
 39603  func (bd BinaryDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 39604  	return nil, false
 39605  }
 39606  
 39607  // AsOffice365Dataset is the BasicDataset implementation for BinaryDataset.
 39608  func (bd BinaryDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 39609  	return nil, false
 39610  }
 39611  
 39612  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for BinaryDataset.
 39613  func (bd BinaryDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 39614  	return nil, false
 39615  }
 39616  
 39617  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for BinaryDataset.
 39618  func (bd BinaryDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 39619  	return nil, false
 39620  }
 39621  
 39622  // AsDynamicsEntityDataset is the BasicDataset implementation for BinaryDataset.
 39623  func (bd BinaryDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 39624  	return nil, false
 39625  }
 39626  
 39627  // AsDocumentDbCollectionDataset is the BasicDataset implementation for BinaryDataset.
 39628  func (bd BinaryDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 39629  	return nil, false
 39630  }
 39631  
 39632  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for BinaryDataset.
 39633  func (bd BinaryDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 39634  	return nil, false
 39635  }
 39636  
 39637  // AsCustomDataset is the BasicDataset implementation for BinaryDataset.
 39638  func (bd BinaryDataset) AsCustomDataset() (*CustomDataset, bool) {
 39639  	return nil, false
 39640  }
 39641  
 39642  // AsCassandraTableDataset is the BasicDataset implementation for BinaryDataset.
 39643  func (bd BinaryDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 39644  	return nil, false
 39645  }
 39646  
 39647  // AsAzureSQLDWTableDataset is the BasicDataset implementation for BinaryDataset.
 39648  func (bd BinaryDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 39649  	return nil, false
 39650  }
 39651  
 39652  // AsAzureSQLMITableDataset is the BasicDataset implementation for BinaryDataset.
 39653  func (bd BinaryDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 39654  	return nil, false
 39655  }
 39656  
 39657  // AsAzureSQLTableDataset is the BasicDataset implementation for BinaryDataset.
 39658  func (bd BinaryDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 39659  	return nil, false
 39660  }
 39661  
 39662  // AsAzureTableDataset is the BasicDataset implementation for BinaryDataset.
 39663  func (bd BinaryDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 39664  	return nil, false
 39665  }
 39666  
 39667  // AsBinaryDataset is the BasicDataset implementation for BinaryDataset.
 39668  func (bd BinaryDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 39669  	return &bd, true
 39670  }
 39671  
 39672  // AsOrcDataset is the BasicDataset implementation for BinaryDataset.
 39673  func (bd BinaryDataset) AsOrcDataset() (*OrcDataset, bool) {
 39674  	return nil, false
 39675  }
 39676  
 39677  // AsJSONDataset is the BasicDataset implementation for BinaryDataset.
 39678  func (bd BinaryDataset) AsJSONDataset() (*JSONDataset, bool) {
 39679  	return nil, false
 39680  }
 39681  
 39682  // AsDelimitedTextDataset is the BasicDataset implementation for BinaryDataset.
 39683  func (bd BinaryDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 39684  	return nil, false
 39685  }
 39686  
 39687  // AsParquetDataset is the BasicDataset implementation for BinaryDataset.
 39688  func (bd BinaryDataset) AsParquetDataset() (*ParquetDataset, bool) {
 39689  	return nil, false
 39690  }
 39691  
 39692  // AsAvroDataset is the BasicDataset implementation for BinaryDataset.
 39693  func (bd BinaryDataset) AsAvroDataset() (*AvroDataset, bool) {
 39694  	return nil, false
 39695  }
 39696  
 39697  // AsDataset is the BasicDataset implementation for BinaryDataset.
 39698  func (bd BinaryDataset) AsDataset() (*Dataset, bool) {
 39699  	return nil, false
 39700  }
 39701  
 39702  // AsBasicDataset is the BasicDataset implementation for BinaryDataset.
 39703  func (bd BinaryDataset) AsBasicDataset() (BasicDataset, bool) {
 39704  	return &bd, true
 39705  }
 39706  
 39707  // UnmarshalJSON is the custom unmarshaler for BinaryDataset struct.
 39708  func (bd *BinaryDataset) UnmarshalJSON(body []byte) error {
 39709  	var m map[string]*json.RawMessage
 39710  	err := json.Unmarshal(body, &m)
 39711  	if err != nil {
 39712  		return err
 39713  	}
 39714  	for k, v := range m {
 39715  		switch k {
 39716  		case "typeProperties":
 39717  			if v != nil {
 39718  				var binaryDatasetTypeProperties BinaryDatasetTypeProperties
 39719  				err = json.Unmarshal(*v, &binaryDatasetTypeProperties)
 39720  				if err != nil {
 39721  					return err
 39722  				}
 39723  				bd.BinaryDatasetTypeProperties = &binaryDatasetTypeProperties
 39724  			}
 39725  		default:
 39726  			if v != nil {
 39727  				var additionalProperties interface{}
 39728  				err = json.Unmarshal(*v, &additionalProperties)
 39729  				if err != nil {
 39730  					return err
 39731  				}
 39732  				if bd.AdditionalProperties == nil {
 39733  					bd.AdditionalProperties = make(map[string]interface{})
 39734  				}
 39735  				bd.AdditionalProperties[k] = additionalProperties
 39736  			}
 39737  		case "description":
 39738  			if v != nil {
 39739  				var description string
 39740  				err = json.Unmarshal(*v, &description)
 39741  				if err != nil {
 39742  					return err
 39743  				}
 39744  				bd.Description = &description
 39745  			}
 39746  		case "structure":
 39747  			if v != nil {
 39748  				var structure interface{}
 39749  				err = json.Unmarshal(*v, &structure)
 39750  				if err != nil {
 39751  					return err
 39752  				}
 39753  				bd.Structure = structure
 39754  			}
 39755  		case "schema":
 39756  			if v != nil {
 39757  				var schema interface{}
 39758  				err = json.Unmarshal(*v, &schema)
 39759  				if err != nil {
 39760  					return err
 39761  				}
 39762  				bd.Schema = schema
 39763  			}
 39764  		case "linkedServiceName":
 39765  			if v != nil {
 39766  				var linkedServiceName LinkedServiceReference
 39767  				err = json.Unmarshal(*v, &linkedServiceName)
 39768  				if err != nil {
 39769  					return err
 39770  				}
 39771  				bd.LinkedServiceName = &linkedServiceName
 39772  			}
 39773  		case "parameters":
 39774  			if v != nil {
 39775  				var parameters map[string]*ParameterSpecification
 39776  				err = json.Unmarshal(*v, &parameters)
 39777  				if err != nil {
 39778  					return err
 39779  				}
 39780  				bd.Parameters = parameters
 39781  			}
 39782  		case "annotations":
 39783  			if v != nil {
 39784  				var annotations []interface{}
 39785  				err = json.Unmarshal(*v, &annotations)
 39786  				if err != nil {
 39787  					return err
 39788  				}
 39789  				bd.Annotations = &annotations
 39790  			}
 39791  		case "folder":
 39792  			if v != nil {
 39793  				var folder DatasetFolder
 39794  				err = json.Unmarshal(*v, &folder)
 39795  				if err != nil {
 39796  					return err
 39797  				}
 39798  				bd.Folder = &folder
 39799  			}
 39800  		case "type":
 39801  			if v != nil {
 39802  				var typeVar TypeBasicDataset
 39803  				err = json.Unmarshal(*v, &typeVar)
 39804  				if err != nil {
 39805  					return err
 39806  				}
 39807  				bd.Type = typeVar
 39808  			}
 39809  		}
 39810  	}
 39811  
 39812  	return nil
 39813  }
 39814  
 39815  // BinaryDatasetTypeProperties binary dataset properties.
 39816  type BinaryDatasetTypeProperties struct {
 39817  	// Location - The location of the Binary storage.
 39818  	Location BasicDatasetLocation `json:"location,omitempty"`
 39819  	// Compression - The data compression method used for the binary dataset.
 39820  	Compression BasicDatasetCompression `json:"compression,omitempty"`
 39821  }
 39822  
 39823  // UnmarshalJSON is the custom unmarshaler for BinaryDatasetTypeProperties struct.
 39824  func (bdtp *BinaryDatasetTypeProperties) UnmarshalJSON(body []byte) error {
 39825  	var m map[string]*json.RawMessage
 39826  	err := json.Unmarshal(body, &m)
 39827  	if err != nil {
 39828  		return err
 39829  	}
 39830  	for k, v := range m {
 39831  		switch k {
 39832  		case "location":
 39833  			if v != nil {
 39834  				location, err := unmarshalBasicDatasetLocation(*v)
 39835  				if err != nil {
 39836  					return err
 39837  				}
 39838  				bdtp.Location = location
 39839  			}
 39840  		case "compression":
 39841  			if v != nil {
 39842  				compression, err := unmarshalBasicDatasetCompression(*v)
 39843  				if err != nil {
 39844  					return err
 39845  				}
 39846  				bdtp.Compression = compression
 39847  			}
 39848  		}
 39849  	}
 39850  
 39851  	return nil
 39852  }
 39853  
 39854  // BinarySink a copy activity Binary sink.
 39855  type BinarySink struct {
 39856  	// StoreSettings - Binary store settings.
 39857  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
 39858  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 39859  	AdditionalProperties map[string]interface{} `json:""`
 39860  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 39861  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 39862  	// 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])).
 39863  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 39864  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 39865  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 39866  	// 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])).
 39867  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 39868  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 39869  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 39870  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 39871  	Type TypeBasicCopySink `json:"type,omitempty"`
 39872  }
 39873  
 39874  // MarshalJSON is the custom marshaler for BinarySink.
 39875  func (bs BinarySink) MarshalJSON() ([]byte, error) {
 39876  	bs.Type = TypeBinarySink
 39877  	objectMap := make(map[string]interface{})
 39878  	objectMap["storeSettings"] = bs.StoreSettings
 39879  	if bs.WriteBatchSize != nil {
 39880  		objectMap["writeBatchSize"] = bs.WriteBatchSize
 39881  	}
 39882  	if bs.WriteBatchTimeout != nil {
 39883  		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
 39884  	}
 39885  	if bs.SinkRetryCount != nil {
 39886  		objectMap["sinkRetryCount"] = bs.SinkRetryCount
 39887  	}
 39888  	if bs.SinkRetryWait != nil {
 39889  		objectMap["sinkRetryWait"] = bs.SinkRetryWait
 39890  	}
 39891  	if bs.MaxConcurrentConnections != nil {
 39892  		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
 39893  	}
 39894  	if bs.Type != "" {
 39895  		objectMap["type"] = bs.Type
 39896  	}
 39897  	for k, v := range bs.AdditionalProperties {
 39898  		objectMap[k] = v
 39899  	}
 39900  	return json.Marshal(objectMap)
 39901  }
 39902  
 39903  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BinarySink.
 39904  func (bs BinarySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 39905  	return nil, false
 39906  }
 39907  
 39908  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for BinarySink.
 39909  func (bs BinarySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 39910  	return nil, false
 39911  }
 39912  
 39913  // AsSalesforceSink is the BasicCopySink implementation for BinarySink.
 39914  func (bs BinarySink) AsSalesforceSink() (*SalesforceSink, bool) {
 39915  	return nil, false
 39916  }
 39917  
 39918  // AsAzureDataExplorerSink is the BasicCopySink implementation for BinarySink.
 39919  func (bs BinarySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 39920  	return nil, false
 39921  }
 39922  
 39923  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BinarySink.
 39924  func (bs BinarySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 39925  	return nil, false
 39926  }
 39927  
 39928  // AsDynamicsCrmSink is the BasicCopySink implementation for BinarySink.
 39929  func (bs BinarySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 39930  	return nil, false
 39931  }
 39932  
 39933  // AsDynamicsSink is the BasicCopySink implementation for BinarySink.
 39934  func (bs BinarySink) AsDynamicsSink() (*DynamicsSink, bool) {
 39935  	return nil, false
 39936  }
 39937  
 39938  // AsMicrosoftAccessSink is the BasicCopySink implementation for BinarySink.
 39939  func (bs BinarySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 39940  	return nil, false
 39941  }
 39942  
 39943  // AsInformixSink is the BasicCopySink implementation for BinarySink.
 39944  func (bs BinarySink) AsInformixSink() (*InformixSink, bool) {
 39945  	return nil, false
 39946  }
 39947  
 39948  // AsOdbcSink is the BasicCopySink implementation for BinarySink.
 39949  func (bs BinarySink) AsOdbcSink() (*OdbcSink, bool) {
 39950  	return nil, false
 39951  }
 39952  
 39953  // AsAzureSearchIndexSink is the BasicCopySink implementation for BinarySink.
 39954  func (bs BinarySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 39955  	return nil, false
 39956  }
 39957  
 39958  // AsAzureBlobFSSink is the BasicCopySink implementation for BinarySink.
 39959  func (bs BinarySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 39960  	return nil, false
 39961  }
 39962  
 39963  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for BinarySink.
 39964  func (bs BinarySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 39965  	return nil, false
 39966  }
 39967  
 39968  // AsOracleSink is the BasicCopySink implementation for BinarySink.
 39969  func (bs BinarySink) AsOracleSink() (*OracleSink, bool) {
 39970  	return nil, false
 39971  }
 39972  
 39973  // AsSQLDWSink is the BasicCopySink implementation for BinarySink.
 39974  func (bs BinarySink) AsSQLDWSink() (*SQLDWSink, bool) {
 39975  	return nil, false
 39976  }
 39977  
 39978  // AsSQLMISink is the BasicCopySink implementation for BinarySink.
 39979  func (bs BinarySink) AsSQLMISink() (*SQLMISink, bool) {
 39980  	return nil, false
 39981  }
 39982  
 39983  // AsAzureSQLSink is the BasicCopySink implementation for BinarySink.
 39984  func (bs BinarySink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 39985  	return nil, false
 39986  }
 39987  
 39988  // AsSQLServerSink is the BasicCopySink implementation for BinarySink.
 39989  func (bs BinarySink) AsSQLServerSink() (*SQLServerSink, bool) {
 39990  	return nil, false
 39991  }
 39992  
 39993  // AsSQLSink is the BasicCopySink implementation for BinarySink.
 39994  func (bs BinarySink) AsSQLSink() (*SQLSink, bool) {
 39995  	return nil, false
 39996  }
 39997  
 39998  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for BinarySink.
 39999  func (bs BinarySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 40000  	return nil, false
 40001  }
 40002  
 40003  // AsDocumentDbCollectionSink is the BasicCopySink implementation for BinarySink.
 40004  func (bs BinarySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 40005  	return nil, false
 40006  }
 40007  
 40008  // AsFileSystemSink is the BasicCopySink implementation for BinarySink.
 40009  func (bs BinarySink) AsFileSystemSink() (*FileSystemSink, bool) {
 40010  	return nil, false
 40011  }
 40012  
 40013  // AsBlobSink is the BasicCopySink implementation for BinarySink.
 40014  func (bs BinarySink) AsBlobSink() (*BlobSink, bool) {
 40015  	return nil, false
 40016  }
 40017  
 40018  // AsBinarySink is the BasicCopySink implementation for BinarySink.
 40019  func (bs BinarySink) AsBinarySink() (*BinarySink, bool) {
 40020  	return &bs, true
 40021  }
 40022  
 40023  // AsParquetSink is the BasicCopySink implementation for BinarySink.
 40024  func (bs BinarySink) AsParquetSink() (*ParquetSink, bool) {
 40025  	return nil, false
 40026  }
 40027  
 40028  // AsAvroSink is the BasicCopySink implementation for BinarySink.
 40029  func (bs BinarySink) AsAvroSink() (*AvroSink, bool) {
 40030  	return nil, false
 40031  }
 40032  
 40033  // AsAzureTableSink is the BasicCopySink implementation for BinarySink.
 40034  func (bs BinarySink) AsAzureTableSink() (*AzureTableSink, bool) {
 40035  	return nil, false
 40036  }
 40037  
 40038  // AsAzureQueueSink is the BasicCopySink implementation for BinarySink.
 40039  func (bs BinarySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 40040  	return nil, false
 40041  }
 40042  
 40043  // AsSapCloudForCustomerSink is the BasicCopySink implementation for BinarySink.
 40044  func (bs BinarySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 40045  	return nil, false
 40046  }
 40047  
 40048  // AsAzureMySQLSink is the BasicCopySink implementation for BinarySink.
 40049  func (bs BinarySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 40050  	return nil, false
 40051  }
 40052  
 40053  // AsAzurePostgreSQLSink is the BasicCopySink implementation for BinarySink.
 40054  func (bs BinarySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 40055  	return nil, false
 40056  }
 40057  
 40058  // AsOrcSink is the BasicCopySink implementation for BinarySink.
 40059  func (bs BinarySink) AsOrcSink() (*OrcSink, bool) {
 40060  	return nil, false
 40061  }
 40062  
 40063  // AsJSONSink is the BasicCopySink implementation for BinarySink.
 40064  func (bs BinarySink) AsJSONSink() (*JSONSink, bool) {
 40065  	return nil, false
 40066  }
 40067  
 40068  // AsDelimitedTextSink is the BasicCopySink implementation for BinarySink.
 40069  func (bs BinarySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 40070  	return nil, false
 40071  }
 40072  
 40073  // AsCopySink is the BasicCopySink implementation for BinarySink.
 40074  func (bs BinarySink) AsCopySink() (*CopySink, bool) {
 40075  	return nil, false
 40076  }
 40077  
 40078  // AsBasicCopySink is the BasicCopySink implementation for BinarySink.
 40079  func (bs BinarySink) AsBasicCopySink() (BasicCopySink, bool) {
 40080  	return &bs, true
 40081  }
 40082  
 40083  // UnmarshalJSON is the custom unmarshaler for BinarySink struct.
 40084  func (bs *BinarySink) UnmarshalJSON(body []byte) error {
 40085  	var m map[string]*json.RawMessage
 40086  	err := json.Unmarshal(body, &m)
 40087  	if err != nil {
 40088  		return err
 40089  	}
 40090  	for k, v := range m {
 40091  		switch k {
 40092  		case "storeSettings":
 40093  			if v != nil {
 40094  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
 40095  				if err != nil {
 40096  					return err
 40097  				}
 40098  				bs.StoreSettings = storeSettings
 40099  			}
 40100  		default:
 40101  			if v != nil {
 40102  				var additionalProperties interface{}
 40103  				err = json.Unmarshal(*v, &additionalProperties)
 40104  				if err != nil {
 40105  					return err
 40106  				}
 40107  				if bs.AdditionalProperties == nil {
 40108  					bs.AdditionalProperties = make(map[string]interface{})
 40109  				}
 40110  				bs.AdditionalProperties[k] = additionalProperties
 40111  			}
 40112  		case "writeBatchSize":
 40113  			if v != nil {
 40114  				var writeBatchSize interface{}
 40115  				err = json.Unmarshal(*v, &writeBatchSize)
 40116  				if err != nil {
 40117  					return err
 40118  				}
 40119  				bs.WriteBatchSize = writeBatchSize
 40120  			}
 40121  		case "writeBatchTimeout":
 40122  			if v != nil {
 40123  				var writeBatchTimeout interface{}
 40124  				err = json.Unmarshal(*v, &writeBatchTimeout)
 40125  				if err != nil {
 40126  					return err
 40127  				}
 40128  				bs.WriteBatchTimeout = writeBatchTimeout
 40129  			}
 40130  		case "sinkRetryCount":
 40131  			if v != nil {
 40132  				var sinkRetryCount interface{}
 40133  				err = json.Unmarshal(*v, &sinkRetryCount)
 40134  				if err != nil {
 40135  					return err
 40136  				}
 40137  				bs.SinkRetryCount = sinkRetryCount
 40138  			}
 40139  		case "sinkRetryWait":
 40140  			if v != nil {
 40141  				var sinkRetryWait interface{}
 40142  				err = json.Unmarshal(*v, &sinkRetryWait)
 40143  				if err != nil {
 40144  					return err
 40145  				}
 40146  				bs.SinkRetryWait = sinkRetryWait
 40147  			}
 40148  		case "maxConcurrentConnections":
 40149  			if v != nil {
 40150  				var maxConcurrentConnections interface{}
 40151  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 40152  				if err != nil {
 40153  					return err
 40154  				}
 40155  				bs.MaxConcurrentConnections = maxConcurrentConnections
 40156  			}
 40157  		case "type":
 40158  			if v != nil {
 40159  				var typeVar TypeBasicCopySink
 40160  				err = json.Unmarshal(*v, &typeVar)
 40161  				if err != nil {
 40162  					return err
 40163  				}
 40164  				bs.Type = typeVar
 40165  			}
 40166  		}
 40167  	}
 40168  
 40169  	return nil
 40170  }
 40171  
 40172  // BinarySource a copy activity Binary source.
 40173  type BinarySource struct {
 40174  	// StoreSettings - Binary store settings.
 40175  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
 40176  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 40177  	AdditionalProperties map[string]interface{} `json:""`
 40178  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 40179  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 40180  	// 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])).
 40181  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 40182  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 40183  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 40184  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 40185  	Type TypeBasicCopySource `json:"type,omitempty"`
 40186  }
 40187  
 40188  // MarshalJSON is the custom marshaler for BinarySource.
 40189  func (bs BinarySource) MarshalJSON() ([]byte, error) {
 40190  	bs.Type = TypeBinarySource
 40191  	objectMap := make(map[string]interface{})
 40192  	objectMap["storeSettings"] = bs.StoreSettings
 40193  	if bs.SourceRetryCount != nil {
 40194  		objectMap["sourceRetryCount"] = bs.SourceRetryCount
 40195  	}
 40196  	if bs.SourceRetryWait != nil {
 40197  		objectMap["sourceRetryWait"] = bs.SourceRetryWait
 40198  	}
 40199  	if bs.MaxConcurrentConnections != nil {
 40200  		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
 40201  	}
 40202  	if bs.Type != "" {
 40203  		objectMap["type"] = bs.Type
 40204  	}
 40205  	for k, v := range bs.AdditionalProperties {
 40206  		objectMap[k] = v
 40207  	}
 40208  	return json.Marshal(objectMap)
 40209  }
 40210  
 40211  // AsHTTPSource is the BasicCopySource implementation for BinarySource.
 40212  func (bs BinarySource) AsHTTPSource() (*HTTPSource, bool) {
 40213  	return nil, false
 40214  }
 40215  
 40216  // AsAzureBlobFSSource is the BasicCopySource implementation for BinarySource.
 40217  func (bs BinarySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 40218  	return nil, false
 40219  }
 40220  
 40221  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for BinarySource.
 40222  func (bs BinarySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 40223  	return nil, false
 40224  }
 40225  
 40226  // AsOffice365Source is the BasicCopySource implementation for BinarySource.
 40227  func (bs BinarySource) AsOffice365Source() (*Office365Source, bool) {
 40228  	return nil, false
 40229  }
 40230  
 40231  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BinarySource.
 40232  func (bs BinarySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 40233  	return nil, false
 40234  }
 40235  
 40236  // AsMongoDbV2Source is the BasicCopySource implementation for BinarySource.
 40237  func (bs BinarySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 40238  	return nil, false
 40239  }
 40240  
 40241  // AsMongoDbSource is the BasicCopySource implementation for BinarySource.
 40242  func (bs BinarySource) AsMongoDbSource() (*MongoDbSource, bool) {
 40243  	return nil, false
 40244  }
 40245  
 40246  // AsWebSource is the BasicCopySource implementation for BinarySource.
 40247  func (bs BinarySource) AsWebSource() (*WebSource, bool) {
 40248  	return nil, false
 40249  }
 40250  
 40251  // AsOracleSource is the BasicCopySource implementation for BinarySource.
 40252  func (bs BinarySource) AsOracleSource() (*OracleSource, bool) {
 40253  	return nil, false
 40254  }
 40255  
 40256  // AsAzureDataExplorerSource is the BasicCopySource implementation for BinarySource.
 40257  func (bs BinarySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 40258  	return nil, false
 40259  }
 40260  
 40261  // AsHdfsSource is the BasicCopySource implementation for BinarySource.
 40262  func (bs BinarySource) AsHdfsSource() (*HdfsSource, bool) {
 40263  	return nil, false
 40264  }
 40265  
 40266  // AsFileSystemSource is the BasicCopySource implementation for BinarySource.
 40267  func (bs BinarySource) AsFileSystemSource() (*FileSystemSource, bool) {
 40268  	return nil, false
 40269  }
 40270  
 40271  // AsRestSource is the BasicCopySource implementation for BinarySource.
 40272  func (bs BinarySource) AsRestSource() (*RestSource, bool) {
 40273  	return nil, false
 40274  }
 40275  
 40276  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for BinarySource.
 40277  func (bs BinarySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 40278  	return nil, false
 40279  }
 40280  
 40281  // AsODataSource is the BasicCopySource implementation for BinarySource.
 40282  func (bs BinarySource) AsODataSource() (*ODataSource, bool) {
 40283  	return nil, false
 40284  }
 40285  
 40286  // AsMicrosoftAccessSource is the BasicCopySource implementation for BinarySource.
 40287  func (bs BinarySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 40288  	return nil, false
 40289  }
 40290  
 40291  // AsRelationalSource is the BasicCopySource implementation for BinarySource.
 40292  func (bs BinarySource) AsRelationalSource() (*RelationalSource, bool) {
 40293  	return nil, false
 40294  }
 40295  
 40296  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BinarySource.
 40297  func (bs BinarySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 40298  	return nil, false
 40299  }
 40300  
 40301  // AsDynamicsCrmSource is the BasicCopySource implementation for BinarySource.
 40302  func (bs BinarySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 40303  	return nil, false
 40304  }
 40305  
 40306  // AsDynamicsSource is the BasicCopySource implementation for BinarySource.
 40307  func (bs BinarySource) AsDynamicsSource() (*DynamicsSource, bool) {
 40308  	return nil, false
 40309  }
 40310  
 40311  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for BinarySource.
 40312  func (bs BinarySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 40313  	return nil, false
 40314  }
 40315  
 40316  // AsDocumentDbCollectionSource is the BasicCopySource implementation for BinarySource.
 40317  func (bs BinarySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 40318  	return nil, false
 40319  }
 40320  
 40321  // AsBlobSource is the BasicCopySource implementation for BinarySource.
 40322  func (bs BinarySource) AsBlobSource() (*BlobSource, bool) {
 40323  	return nil, false
 40324  }
 40325  
 40326  // AsAmazonRedshiftSource is the BasicCopySource implementation for BinarySource.
 40327  func (bs BinarySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 40328  	return nil, false
 40329  }
 40330  
 40331  // AsGoogleAdWordsSource is the BasicCopySource implementation for BinarySource.
 40332  func (bs BinarySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 40333  	return nil, false
 40334  }
 40335  
 40336  // AsOracleServiceCloudSource is the BasicCopySource implementation for BinarySource.
 40337  func (bs BinarySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 40338  	return nil, false
 40339  }
 40340  
 40341  // AsDynamicsAXSource is the BasicCopySource implementation for BinarySource.
 40342  func (bs BinarySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 40343  	return nil, false
 40344  }
 40345  
 40346  // AsResponsysSource is the BasicCopySource implementation for BinarySource.
 40347  func (bs BinarySource) AsResponsysSource() (*ResponsysSource, bool) {
 40348  	return nil, false
 40349  }
 40350  
 40351  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BinarySource.
 40352  func (bs BinarySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 40353  	return nil, false
 40354  }
 40355  
 40356  // AsVerticaSource is the BasicCopySource implementation for BinarySource.
 40357  func (bs BinarySource) AsVerticaSource() (*VerticaSource, bool) {
 40358  	return nil, false
 40359  }
 40360  
 40361  // AsNetezzaSource is the BasicCopySource implementation for BinarySource.
 40362  func (bs BinarySource) AsNetezzaSource() (*NetezzaSource, bool) {
 40363  	return nil, false
 40364  }
 40365  
 40366  // AsZohoSource is the BasicCopySource implementation for BinarySource.
 40367  func (bs BinarySource) AsZohoSource() (*ZohoSource, bool) {
 40368  	return nil, false
 40369  }
 40370  
 40371  // AsXeroSource is the BasicCopySource implementation for BinarySource.
 40372  func (bs BinarySource) AsXeroSource() (*XeroSource, bool) {
 40373  	return nil, false
 40374  }
 40375  
 40376  // AsSquareSource is the BasicCopySource implementation for BinarySource.
 40377  func (bs BinarySource) AsSquareSource() (*SquareSource, bool) {
 40378  	return nil, false
 40379  }
 40380  
 40381  // AsSparkSource is the BasicCopySource implementation for BinarySource.
 40382  func (bs BinarySource) AsSparkSource() (*SparkSource, bool) {
 40383  	return nil, false
 40384  }
 40385  
 40386  // AsShopifySource is the BasicCopySource implementation for BinarySource.
 40387  func (bs BinarySource) AsShopifySource() (*ShopifySource, bool) {
 40388  	return nil, false
 40389  }
 40390  
 40391  // AsServiceNowSource is the BasicCopySource implementation for BinarySource.
 40392  func (bs BinarySource) AsServiceNowSource() (*ServiceNowSource, bool) {
 40393  	return nil, false
 40394  }
 40395  
 40396  // AsQuickBooksSource is the BasicCopySource implementation for BinarySource.
 40397  func (bs BinarySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 40398  	return nil, false
 40399  }
 40400  
 40401  // AsPrestoSource is the BasicCopySource implementation for BinarySource.
 40402  func (bs BinarySource) AsPrestoSource() (*PrestoSource, bool) {
 40403  	return nil, false
 40404  }
 40405  
 40406  // AsPhoenixSource is the BasicCopySource implementation for BinarySource.
 40407  func (bs BinarySource) AsPhoenixSource() (*PhoenixSource, bool) {
 40408  	return nil, false
 40409  }
 40410  
 40411  // AsPaypalSource is the BasicCopySource implementation for BinarySource.
 40412  func (bs BinarySource) AsPaypalSource() (*PaypalSource, bool) {
 40413  	return nil, false
 40414  }
 40415  
 40416  // AsMarketoSource is the BasicCopySource implementation for BinarySource.
 40417  func (bs BinarySource) AsMarketoSource() (*MarketoSource, bool) {
 40418  	return nil, false
 40419  }
 40420  
 40421  // AsAzureMariaDBSource is the BasicCopySource implementation for BinarySource.
 40422  func (bs BinarySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 40423  	return nil, false
 40424  }
 40425  
 40426  // AsMariaDBSource is the BasicCopySource implementation for BinarySource.
 40427  func (bs BinarySource) AsMariaDBSource() (*MariaDBSource, bool) {
 40428  	return nil, false
 40429  }
 40430  
 40431  // AsMagentoSource is the BasicCopySource implementation for BinarySource.
 40432  func (bs BinarySource) AsMagentoSource() (*MagentoSource, bool) {
 40433  	return nil, false
 40434  }
 40435  
 40436  // AsJiraSource is the BasicCopySource implementation for BinarySource.
 40437  func (bs BinarySource) AsJiraSource() (*JiraSource, bool) {
 40438  	return nil, false
 40439  }
 40440  
 40441  // AsImpalaSource is the BasicCopySource implementation for BinarySource.
 40442  func (bs BinarySource) AsImpalaSource() (*ImpalaSource, bool) {
 40443  	return nil, false
 40444  }
 40445  
 40446  // AsHubspotSource is the BasicCopySource implementation for BinarySource.
 40447  func (bs BinarySource) AsHubspotSource() (*HubspotSource, bool) {
 40448  	return nil, false
 40449  }
 40450  
 40451  // AsHiveSource is the BasicCopySource implementation for BinarySource.
 40452  func (bs BinarySource) AsHiveSource() (*HiveSource, bool) {
 40453  	return nil, false
 40454  }
 40455  
 40456  // AsHBaseSource is the BasicCopySource implementation for BinarySource.
 40457  func (bs BinarySource) AsHBaseSource() (*HBaseSource, bool) {
 40458  	return nil, false
 40459  }
 40460  
 40461  // AsGreenplumSource is the BasicCopySource implementation for BinarySource.
 40462  func (bs BinarySource) AsGreenplumSource() (*GreenplumSource, bool) {
 40463  	return nil, false
 40464  }
 40465  
 40466  // AsGoogleBigQuerySource is the BasicCopySource implementation for BinarySource.
 40467  func (bs BinarySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 40468  	return nil, false
 40469  }
 40470  
 40471  // AsEloquaSource is the BasicCopySource implementation for BinarySource.
 40472  func (bs BinarySource) AsEloquaSource() (*EloquaSource, bool) {
 40473  	return nil, false
 40474  }
 40475  
 40476  // AsDrillSource is the BasicCopySource implementation for BinarySource.
 40477  func (bs BinarySource) AsDrillSource() (*DrillSource, bool) {
 40478  	return nil, false
 40479  }
 40480  
 40481  // AsCouchbaseSource is the BasicCopySource implementation for BinarySource.
 40482  func (bs BinarySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 40483  	return nil, false
 40484  }
 40485  
 40486  // AsConcurSource is the BasicCopySource implementation for BinarySource.
 40487  func (bs BinarySource) AsConcurSource() (*ConcurSource, bool) {
 40488  	return nil, false
 40489  }
 40490  
 40491  // AsAzurePostgreSQLSource is the BasicCopySource implementation for BinarySource.
 40492  func (bs BinarySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 40493  	return nil, false
 40494  }
 40495  
 40496  // AsAmazonMWSSource is the BasicCopySource implementation for BinarySource.
 40497  func (bs BinarySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 40498  	return nil, false
 40499  }
 40500  
 40501  // AsCassandraSource is the BasicCopySource implementation for BinarySource.
 40502  func (bs BinarySource) AsCassandraSource() (*CassandraSource, bool) {
 40503  	return nil, false
 40504  }
 40505  
 40506  // AsTeradataSource is the BasicCopySource implementation for BinarySource.
 40507  func (bs BinarySource) AsTeradataSource() (*TeradataSource, bool) {
 40508  	return nil, false
 40509  }
 40510  
 40511  // AsAzureMySQLSource is the BasicCopySource implementation for BinarySource.
 40512  func (bs BinarySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 40513  	return nil, false
 40514  }
 40515  
 40516  // AsSQLDWSource is the BasicCopySource implementation for BinarySource.
 40517  func (bs BinarySource) AsSQLDWSource() (*SQLDWSource, bool) {
 40518  	return nil, false
 40519  }
 40520  
 40521  // AsSQLMISource is the BasicCopySource implementation for BinarySource.
 40522  func (bs BinarySource) AsSQLMISource() (*SQLMISource, bool) {
 40523  	return nil, false
 40524  }
 40525  
 40526  // AsAzureSQLSource is the BasicCopySource implementation for BinarySource.
 40527  func (bs BinarySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 40528  	return nil, false
 40529  }
 40530  
 40531  // AsSQLServerSource is the BasicCopySource implementation for BinarySource.
 40532  func (bs BinarySource) AsSQLServerSource() (*SQLServerSource, bool) {
 40533  	return nil, false
 40534  }
 40535  
 40536  // AsSQLSource is the BasicCopySource implementation for BinarySource.
 40537  func (bs BinarySource) AsSQLSource() (*SQLSource, bool) {
 40538  	return nil, false
 40539  }
 40540  
 40541  // AsSapTableSource is the BasicCopySource implementation for BinarySource.
 40542  func (bs BinarySource) AsSapTableSource() (*SapTableSource, bool) {
 40543  	return nil, false
 40544  }
 40545  
 40546  // AsSapOpenHubSource is the BasicCopySource implementation for BinarySource.
 40547  func (bs BinarySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 40548  	return nil, false
 40549  }
 40550  
 40551  // AsSapHanaSource is the BasicCopySource implementation for BinarySource.
 40552  func (bs BinarySource) AsSapHanaSource() (*SapHanaSource, bool) {
 40553  	return nil, false
 40554  }
 40555  
 40556  // AsSapEccSource is the BasicCopySource implementation for BinarySource.
 40557  func (bs BinarySource) AsSapEccSource() (*SapEccSource, bool) {
 40558  	return nil, false
 40559  }
 40560  
 40561  // AsSapCloudForCustomerSource is the BasicCopySource implementation for BinarySource.
 40562  func (bs BinarySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 40563  	return nil, false
 40564  }
 40565  
 40566  // AsSalesforceSource is the BasicCopySource implementation for BinarySource.
 40567  func (bs BinarySource) AsSalesforceSource() (*SalesforceSource, bool) {
 40568  	return nil, false
 40569  }
 40570  
 40571  // AsSapBwSource is the BasicCopySource implementation for BinarySource.
 40572  func (bs BinarySource) AsSapBwSource() (*SapBwSource, bool) {
 40573  	return nil, false
 40574  }
 40575  
 40576  // AsSybaseSource is the BasicCopySource implementation for BinarySource.
 40577  func (bs BinarySource) AsSybaseSource() (*SybaseSource, bool) {
 40578  	return nil, false
 40579  }
 40580  
 40581  // AsPostgreSQLSource is the BasicCopySource implementation for BinarySource.
 40582  func (bs BinarySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 40583  	return nil, false
 40584  }
 40585  
 40586  // AsMySQLSource is the BasicCopySource implementation for BinarySource.
 40587  func (bs BinarySource) AsMySQLSource() (*MySQLSource, bool) {
 40588  	return nil, false
 40589  }
 40590  
 40591  // AsOdbcSource is the BasicCopySource implementation for BinarySource.
 40592  func (bs BinarySource) AsOdbcSource() (*OdbcSource, bool) {
 40593  	return nil, false
 40594  }
 40595  
 40596  // AsDb2Source is the BasicCopySource implementation for BinarySource.
 40597  func (bs BinarySource) AsDb2Source() (*Db2Source, bool) {
 40598  	return nil, false
 40599  }
 40600  
 40601  // AsInformixSource is the BasicCopySource implementation for BinarySource.
 40602  func (bs BinarySource) AsInformixSource() (*InformixSource, bool) {
 40603  	return nil, false
 40604  }
 40605  
 40606  // AsAzureTableSource is the BasicCopySource implementation for BinarySource.
 40607  func (bs BinarySource) AsAzureTableSource() (*AzureTableSource, bool) {
 40608  	return nil, false
 40609  }
 40610  
 40611  // AsTabularSource is the BasicCopySource implementation for BinarySource.
 40612  func (bs BinarySource) AsTabularSource() (*TabularSource, bool) {
 40613  	return nil, false
 40614  }
 40615  
 40616  // AsBasicTabularSource is the BasicCopySource implementation for BinarySource.
 40617  func (bs BinarySource) AsBasicTabularSource() (BasicTabularSource, bool) {
 40618  	return nil, false
 40619  }
 40620  
 40621  // AsBinarySource is the BasicCopySource implementation for BinarySource.
 40622  func (bs BinarySource) AsBinarySource() (*BinarySource, bool) {
 40623  	return &bs, true
 40624  }
 40625  
 40626  // AsOrcSource is the BasicCopySource implementation for BinarySource.
 40627  func (bs BinarySource) AsOrcSource() (*OrcSource, bool) {
 40628  	return nil, false
 40629  }
 40630  
 40631  // AsJSONSource is the BasicCopySource implementation for BinarySource.
 40632  func (bs BinarySource) AsJSONSource() (*JSONSource, bool) {
 40633  	return nil, false
 40634  }
 40635  
 40636  // AsDelimitedTextSource is the BasicCopySource implementation for BinarySource.
 40637  func (bs BinarySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 40638  	return nil, false
 40639  }
 40640  
 40641  // AsParquetSource is the BasicCopySource implementation for BinarySource.
 40642  func (bs BinarySource) AsParquetSource() (*ParquetSource, bool) {
 40643  	return nil, false
 40644  }
 40645  
 40646  // AsAvroSource is the BasicCopySource implementation for BinarySource.
 40647  func (bs BinarySource) AsAvroSource() (*AvroSource, bool) {
 40648  	return nil, false
 40649  }
 40650  
 40651  // AsCopySource is the BasicCopySource implementation for BinarySource.
 40652  func (bs BinarySource) AsCopySource() (*CopySource, bool) {
 40653  	return nil, false
 40654  }
 40655  
 40656  // AsBasicCopySource is the BasicCopySource implementation for BinarySource.
 40657  func (bs BinarySource) AsBasicCopySource() (BasicCopySource, bool) {
 40658  	return &bs, true
 40659  }
 40660  
 40661  // UnmarshalJSON is the custom unmarshaler for BinarySource struct.
 40662  func (bs *BinarySource) UnmarshalJSON(body []byte) error {
 40663  	var m map[string]*json.RawMessage
 40664  	err := json.Unmarshal(body, &m)
 40665  	if err != nil {
 40666  		return err
 40667  	}
 40668  	for k, v := range m {
 40669  		switch k {
 40670  		case "storeSettings":
 40671  			if v != nil {
 40672  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
 40673  				if err != nil {
 40674  					return err
 40675  				}
 40676  				bs.StoreSettings = storeSettings
 40677  			}
 40678  		default:
 40679  			if v != nil {
 40680  				var additionalProperties interface{}
 40681  				err = json.Unmarshal(*v, &additionalProperties)
 40682  				if err != nil {
 40683  					return err
 40684  				}
 40685  				if bs.AdditionalProperties == nil {
 40686  					bs.AdditionalProperties = make(map[string]interface{})
 40687  				}
 40688  				bs.AdditionalProperties[k] = additionalProperties
 40689  			}
 40690  		case "sourceRetryCount":
 40691  			if v != nil {
 40692  				var sourceRetryCount interface{}
 40693  				err = json.Unmarshal(*v, &sourceRetryCount)
 40694  				if err != nil {
 40695  					return err
 40696  				}
 40697  				bs.SourceRetryCount = sourceRetryCount
 40698  			}
 40699  		case "sourceRetryWait":
 40700  			if v != nil {
 40701  				var sourceRetryWait interface{}
 40702  				err = json.Unmarshal(*v, &sourceRetryWait)
 40703  				if err != nil {
 40704  					return err
 40705  				}
 40706  				bs.SourceRetryWait = sourceRetryWait
 40707  			}
 40708  		case "maxConcurrentConnections":
 40709  			if v != nil {
 40710  				var maxConcurrentConnections interface{}
 40711  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 40712  				if err != nil {
 40713  					return err
 40714  				}
 40715  				bs.MaxConcurrentConnections = maxConcurrentConnections
 40716  			}
 40717  		case "type":
 40718  			if v != nil {
 40719  				var typeVar TypeBasicCopySource
 40720  				err = json.Unmarshal(*v, &typeVar)
 40721  				if err != nil {
 40722  					return err
 40723  				}
 40724  				bs.Type = typeVar
 40725  			}
 40726  		}
 40727  	}
 40728  
 40729  	return nil
 40730  }
 40731  
 40732  // BlobEventsTrigger trigger that runs every time a Blob event occurs.
 40733  type BlobEventsTrigger struct {
 40734  	// BlobEventsTriggerTypeProperties - Blob Events Trigger properties.
 40735  	*BlobEventsTriggerTypeProperties `json:"typeProperties,omitempty"`
 40736  	// Pipelines - Pipelines that need to be started.
 40737  	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
 40738  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 40739  	AdditionalProperties map[string]interface{} `json:""`
 40740  	// Description - Trigger description.
 40741  	Description *string `json:"description,omitempty"`
 40742  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
 40743  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
 40744  	// Annotations - List of tags that can be used for describing the trigger.
 40745  	Annotations *[]interface{} `json:"annotations,omitempty"`
 40746  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
 40747  	Type TypeBasicTrigger `json:"type,omitempty"`
 40748  }
 40749  
 40750  // MarshalJSON is the custom marshaler for BlobEventsTrigger.
 40751  func (bet BlobEventsTrigger) MarshalJSON() ([]byte, error) {
 40752  	bet.Type = TypeBlobEventsTrigger
 40753  	objectMap := make(map[string]interface{})
 40754  	if bet.BlobEventsTriggerTypeProperties != nil {
 40755  		objectMap["typeProperties"] = bet.BlobEventsTriggerTypeProperties
 40756  	}
 40757  	if bet.Pipelines != nil {
 40758  		objectMap["pipelines"] = bet.Pipelines
 40759  	}
 40760  	if bet.Description != nil {
 40761  		objectMap["description"] = bet.Description
 40762  	}
 40763  	if bet.Annotations != nil {
 40764  		objectMap["annotations"] = bet.Annotations
 40765  	}
 40766  	if bet.Type != "" {
 40767  		objectMap["type"] = bet.Type
 40768  	}
 40769  	for k, v := range bet.AdditionalProperties {
 40770  		objectMap[k] = v
 40771  	}
 40772  	return json.Marshal(objectMap)
 40773  }
 40774  
 40775  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40776  func (bet BlobEventsTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
 40777  	return nil, false
 40778  }
 40779  
 40780  // AsChainingTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40781  func (bet BlobEventsTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
 40782  	return nil, false
 40783  }
 40784  
 40785  // AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40786  func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
 40787  	return nil, false
 40788  }
 40789  
 40790  // AsBlobEventsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40791  func (bet BlobEventsTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
 40792  	return &bet, true
 40793  }
 40794  
 40795  // AsBlobTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40796  func (bet BlobEventsTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
 40797  	return nil, false
 40798  }
 40799  
 40800  // AsScheduleTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40801  func (bet BlobEventsTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
 40802  	return nil, false
 40803  }
 40804  
 40805  // AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40806  func (bet BlobEventsTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
 40807  	return nil, false
 40808  }
 40809  
 40810  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40811  func (bet BlobEventsTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
 40812  	return &bet, true
 40813  }
 40814  
 40815  // AsTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40816  func (bet BlobEventsTrigger) AsTrigger() (*Trigger, bool) {
 40817  	return nil, false
 40818  }
 40819  
 40820  // AsBasicTrigger is the BasicTrigger implementation for BlobEventsTrigger.
 40821  func (bet BlobEventsTrigger) AsBasicTrigger() (BasicTrigger, bool) {
 40822  	return &bet, true
 40823  }
 40824  
 40825  // UnmarshalJSON is the custom unmarshaler for BlobEventsTrigger struct.
 40826  func (bet *BlobEventsTrigger) UnmarshalJSON(body []byte) error {
 40827  	var m map[string]*json.RawMessage
 40828  	err := json.Unmarshal(body, &m)
 40829  	if err != nil {
 40830  		return err
 40831  	}
 40832  	for k, v := range m {
 40833  		switch k {
 40834  		case "typeProperties":
 40835  			if v != nil {
 40836  				var blobEventsTriggerTypeProperties BlobEventsTriggerTypeProperties
 40837  				err = json.Unmarshal(*v, &blobEventsTriggerTypeProperties)
 40838  				if err != nil {
 40839  					return err
 40840  				}
 40841  				bet.BlobEventsTriggerTypeProperties = &blobEventsTriggerTypeProperties
 40842  			}
 40843  		case "pipelines":
 40844  			if v != nil {
 40845  				var pipelines []TriggerPipelineReference
 40846  				err = json.Unmarshal(*v, &pipelines)
 40847  				if err != nil {
 40848  					return err
 40849  				}
 40850  				bet.Pipelines = &pipelines
 40851  			}
 40852  		default:
 40853  			if v != nil {
 40854  				var additionalProperties interface{}
 40855  				err = json.Unmarshal(*v, &additionalProperties)
 40856  				if err != nil {
 40857  					return err
 40858  				}
 40859  				if bet.AdditionalProperties == nil {
 40860  					bet.AdditionalProperties = make(map[string]interface{})
 40861  				}
 40862  				bet.AdditionalProperties[k] = additionalProperties
 40863  			}
 40864  		case "description":
 40865  			if v != nil {
 40866  				var description string
 40867  				err = json.Unmarshal(*v, &description)
 40868  				if err != nil {
 40869  					return err
 40870  				}
 40871  				bet.Description = &description
 40872  			}
 40873  		case "runtimeState":
 40874  			if v != nil {
 40875  				var runtimeState TriggerRuntimeState
 40876  				err = json.Unmarshal(*v, &runtimeState)
 40877  				if err != nil {
 40878  					return err
 40879  				}
 40880  				bet.RuntimeState = runtimeState
 40881  			}
 40882  		case "annotations":
 40883  			if v != nil {
 40884  				var annotations []interface{}
 40885  				err = json.Unmarshal(*v, &annotations)
 40886  				if err != nil {
 40887  					return err
 40888  				}
 40889  				bet.Annotations = &annotations
 40890  			}
 40891  		case "type":
 40892  			if v != nil {
 40893  				var typeVar TypeBasicTrigger
 40894  				err = json.Unmarshal(*v, &typeVar)
 40895  				if err != nil {
 40896  					return err
 40897  				}
 40898  				bet.Type = typeVar
 40899  			}
 40900  		}
 40901  	}
 40902  
 40903  	return nil
 40904  }
 40905  
 40906  // BlobEventsTriggerTypeProperties blob Events Trigger properties.
 40907  type BlobEventsTriggerTypeProperties struct {
 40908  	// 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.
 40909  	BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"`
 40910  	// 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.
 40911  	BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"`
 40912  	// IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored.
 40913  	IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"`
 40914  	// Events - The type of events that cause this trigger to fire.
 40915  	Events *[]BlobEventTypes `json:"events,omitempty"`
 40916  	// Scope - The ARM resource ID of the Storage Account.
 40917  	Scope *string `json:"scope,omitempty"`
 40918  }
 40919  
 40920  // BlobSink a copy activity Azure Blob sink.
 40921  type BlobSink struct {
 40922  	// BlobWriterOverwriteFiles - Blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
 40923  	BlobWriterOverwriteFiles interface{} `json:"blobWriterOverwriteFiles,omitempty"`
 40924  	// BlobWriterDateTimeFormat - Blob writer date time format. Type: string (or Expression with resultType string).
 40925  	BlobWriterDateTimeFormat interface{} `json:"blobWriterDateTimeFormat,omitempty"`
 40926  	// BlobWriterAddHeader - Blob writer add header. Type: boolean (or Expression with resultType boolean).
 40927  	BlobWriterAddHeader interface{} `json:"blobWriterAddHeader,omitempty"`
 40928  	// CopyBehavior - The type of copy behavior for copy sink.
 40929  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 40930  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 40931  	AdditionalProperties map[string]interface{} `json:""`
 40932  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 40933  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 40934  	// 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])).
 40935  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 40936  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 40937  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 40938  	// 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])).
 40939  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 40940  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 40941  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 40942  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 40943  	Type TypeBasicCopySink `json:"type,omitempty"`
 40944  }
 40945  
 40946  // MarshalJSON is the custom marshaler for BlobSink.
 40947  func (bs BlobSink) MarshalJSON() ([]byte, error) {
 40948  	bs.Type = TypeBlobSink
 40949  	objectMap := make(map[string]interface{})
 40950  	if bs.BlobWriterOverwriteFiles != nil {
 40951  		objectMap["blobWriterOverwriteFiles"] = bs.BlobWriterOverwriteFiles
 40952  	}
 40953  	if bs.BlobWriterDateTimeFormat != nil {
 40954  		objectMap["blobWriterDateTimeFormat"] = bs.BlobWriterDateTimeFormat
 40955  	}
 40956  	if bs.BlobWriterAddHeader != nil {
 40957  		objectMap["blobWriterAddHeader"] = bs.BlobWriterAddHeader
 40958  	}
 40959  	if bs.CopyBehavior != nil {
 40960  		objectMap["copyBehavior"] = bs.CopyBehavior
 40961  	}
 40962  	if bs.WriteBatchSize != nil {
 40963  		objectMap["writeBatchSize"] = bs.WriteBatchSize
 40964  	}
 40965  	if bs.WriteBatchTimeout != nil {
 40966  		objectMap["writeBatchTimeout"] = bs.WriteBatchTimeout
 40967  	}
 40968  	if bs.SinkRetryCount != nil {
 40969  		objectMap["sinkRetryCount"] = bs.SinkRetryCount
 40970  	}
 40971  	if bs.SinkRetryWait != nil {
 40972  		objectMap["sinkRetryWait"] = bs.SinkRetryWait
 40973  	}
 40974  	if bs.MaxConcurrentConnections != nil {
 40975  		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
 40976  	}
 40977  	if bs.Type != "" {
 40978  		objectMap["type"] = bs.Type
 40979  	}
 40980  	for k, v := range bs.AdditionalProperties {
 40981  		objectMap[k] = v
 40982  	}
 40983  	return json.Marshal(objectMap)
 40984  }
 40985  
 40986  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for BlobSink.
 40987  func (bs BlobSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 40988  	return nil, false
 40989  }
 40990  
 40991  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for BlobSink.
 40992  func (bs BlobSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 40993  	return nil, false
 40994  }
 40995  
 40996  // AsSalesforceSink is the BasicCopySink implementation for BlobSink.
 40997  func (bs BlobSink) AsSalesforceSink() (*SalesforceSink, bool) {
 40998  	return nil, false
 40999  }
 41000  
 41001  // AsAzureDataExplorerSink is the BasicCopySink implementation for BlobSink.
 41002  func (bs BlobSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 41003  	return nil, false
 41004  }
 41005  
 41006  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for BlobSink.
 41007  func (bs BlobSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 41008  	return nil, false
 41009  }
 41010  
 41011  // AsDynamicsCrmSink is the BasicCopySink implementation for BlobSink.
 41012  func (bs BlobSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 41013  	return nil, false
 41014  }
 41015  
 41016  // AsDynamicsSink is the BasicCopySink implementation for BlobSink.
 41017  func (bs BlobSink) AsDynamicsSink() (*DynamicsSink, bool) {
 41018  	return nil, false
 41019  }
 41020  
 41021  // AsMicrosoftAccessSink is the BasicCopySink implementation for BlobSink.
 41022  func (bs BlobSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 41023  	return nil, false
 41024  }
 41025  
 41026  // AsInformixSink is the BasicCopySink implementation for BlobSink.
 41027  func (bs BlobSink) AsInformixSink() (*InformixSink, bool) {
 41028  	return nil, false
 41029  }
 41030  
 41031  // AsOdbcSink is the BasicCopySink implementation for BlobSink.
 41032  func (bs BlobSink) AsOdbcSink() (*OdbcSink, bool) {
 41033  	return nil, false
 41034  }
 41035  
 41036  // AsAzureSearchIndexSink is the BasicCopySink implementation for BlobSink.
 41037  func (bs BlobSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 41038  	return nil, false
 41039  }
 41040  
 41041  // AsAzureBlobFSSink is the BasicCopySink implementation for BlobSink.
 41042  func (bs BlobSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 41043  	return nil, false
 41044  }
 41045  
 41046  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for BlobSink.
 41047  func (bs BlobSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 41048  	return nil, false
 41049  }
 41050  
 41051  // AsOracleSink is the BasicCopySink implementation for BlobSink.
 41052  func (bs BlobSink) AsOracleSink() (*OracleSink, bool) {
 41053  	return nil, false
 41054  }
 41055  
 41056  // AsSQLDWSink is the BasicCopySink implementation for BlobSink.
 41057  func (bs BlobSink) AsSQLDWSink() (*SQLDWSink, bool) {
 41058  	return nil, false
 41059  }
 41060  
 41061  // AsSQLMISink is the BasicCopySink implementation for BlobSink.
 41062  func (bs BlobSink) AsSQLMISink() (*SQLMISink, bool) {
 41063  	return nil, false
 41064  }
 41065  
 41066  // AsAzureSQLSink is the BasicCopySink implementation for BlobSink.
 41067  func (bs BlobSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 41068  	return nil, false
 41069  }
 41070  
 41071  // AsSQLServerSink is the BasicCopySink implementation for BlobSink.
 41072  func (bs BlobSink) AsSQLServerSink() (*SQLServerSink, bool) {
 41073  	return nil, false
 41074  }
 41075  
 41076  // AsSQLSink is the BasicCopySink implementation for BlobSink.
 41077  func (bs BlobSink) AsSQLSink() (*SQLSink, bool) {
 41078  	return nil, false
 41079  }
 41080  
 41081  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for BlobSink.
 41082  func (bs BlobSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 41083  	return nil, false
 41084  }
 41085  
 41086  // AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink.
 41087  func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 41088  	return nil, false
 41089  }
 41090  
 41091  // AsFileSystemSink is the BasicCopySink implementation for BlobSink.
 41092  func (bs BlobSink) AsFileSystemSink() (*FileSystemSink, bool) {
 41093  	return nil, false
 41094  }
 41095  
 41096  // AsBlobSink is the BasicCopySink implementation for BlobSink.
 41097  func (bs BlobSink) AsBlobSink() (*BlobSink, bool) {
 41098  	return &bs, true
 41099  }
 41100  
 41101  // AsBinarySink is the BasicCopySink implementation for BlobSink.
 41102  func (bs BlobSink) AsBinarySink() (*BinarySink, bool) {
 41103  	return nil, false
 41104  }
 41105  
 41106  // AsParquetSink is the BasicCopySink implementation for BlobSink.
 41107  func (bs BlobSink) AsParquetSink() (*ParquetSink, bool) {
 41108  	return nil, false
 41109  }
 41110  
 41111  // AsAvroSink is the BasicCopySink implementation for BlobSink.
 41112  func (bs BlobSink) AsAvroSink() (*AvroSink, bool) {
 41113  	return nil, false
 41114  }
 41115  
 41116  // AsAzureTableSink is the BasicCopySink implementation for BlobSink.
 41117  func (bs BlobSink) AsAzureTableSink() (*AzureTableSink, bool) {
 41118  	return nil, false
 41119  }
 41120  
 41121  // AsAzureQueueSink is the BasicCopySink implementation for BlobSink.
 41122  func (bs BlobSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 41123  	return nil, false
 41124  }
 41125  
 41126  // AsSapCloudForCustomerSink is the BasicCopySink implementation for BlobSink.
 41127  func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 41128  	return nil, false
 41129  }
 41130  
 41131  // AsAzureMySQLSink is the BasicCopySink implementation for BlobSink.
 41132  func (bs BlobSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 41133  	return nil, false
 41134  }
 41135  
 41136  // AsAzurePostgreSQLSink is the BasicCopySink implementation for BlobSink.
 41137  func (bs BlobSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 41138  	return nil, false
 41139  }
 41140  
 41141  // AsOrcSink is the BasicCopySink implementation for BlobSink.
 41142  func (bs BlobSink) AsOrcSink() (*OrcSink, bool) {
 41143  	return nil, false
 41144  }
 41145  
 41146  // AsJSONSink is the BasicCopySink implementation for BlobSink.
 41147  func (bs BlobSink) AsJSONSink() (*JSONSink, bool) {
 41148  	return nil, false
 41149  }
 41150  
 41151  // AsDelimitedTextSink is the BasicCopySink implementation for BlobSink.
 41152  func (bs BlobSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 41153  	return nil, false
 41154  }
 41155  
 41156  // AsCopySink is the BasicCopySink implementation for BlobSink.
 41157  func (bs BlobSink) AsCopySink() (*CopySink, bool) {
 41158  	return nil, false
 41159  }
 41160  
 41161  // AsBasicCopySink is the BasicCopySink implementation for BlobSink.
 41162  func (bs BlobSink) AsBasicCopySink() (BasicCopySink, bool) {
 41163  	return &bs, true
 41164  }
 41165  
 41166  // UnmarshalJSON is the custom unmarshaler for BlobSink struct.
 41167  func (bs *BlobSink) UnmarshalJSON(body []byte) error {
 41168  	var m map[string]*json.RawMessage
 41169  	err := json.Unmarshal(body, &m)
 41170  	if err != nil {
 41171  		return err
 41172  	}
 41173  	for k, v := range m {
 41174  		switch k {
 41175  		case "blobWriterOverwriteFiles":
 41176  			if v != nil {
 41177  				var blobWriterOverwriteFiles interface{}
 41178  				err = json.Unmarshal(*v, &blobWriterOverwriteFiles)
 41179  				if err != nil {
 41180  					return err
 41181  				}
 41182  				bs.BlobWriterOverwriteFiles = blobWriterOverwriteFiles
 41183  			}
 41184  		case "blobWriterDateTimeFormat":
 41185  			if v != nil {
 41186  				var blobWriterDateTimeFormat interface{}
 41187  				err = json.Unmarshal(*v, &blobWriterDateTimeFormat)
 41188  				if err != nil {
 41189  					return err
 41190  				}
 41191  				bs.BlobWriterDateTimeFormat = blobWriterDateTimeFormat
 41192  			}
 41193  		case "blobWriterAddHeader":
 41194  			if v != nil {
 41195  				var blobWriterAddHeader interface{}
 41196  				err = json.Unmarshal(*v, &blobWriterAddHeader)
 41197  				if err != nil {
 41198  					return err
 41199  				}
 41200  				bs.BlobWriterAddHeader = blobWriterAddHeader
 41201  			}
 41202  		case "copyBehavior":
 41203  			if v != nil {
 41204  				var copyBehavior interface{}
 41205  				err = json.Unmarshal(*v, &copyBehavior)
 41206  				if err != nil {
 41207  					return err
 41208  				}
 41209  				bs.CopyBehavior = copyBehavior
 41210  			}
 41211  		default:
 41212  			if v != nil {
 41213  				var additionalProperties interface{}
 41214  				err = json.Unmarshal(*v, &additionalProperties)
 41215  				if err != nil {
 41216  					return err
 41217  				}
 41218  				if bs.AdditionalProperties == nil {
 41219  					bs.AdditionalProperties = make(map[string]interface{})
 41220  				}
 41221  				bs.AdditionalProperties[k] = additionalProperties
 41222  			}
 41223  		case "writeBatchSize":
 41224  			if v != nil {
 41225  				var writeBatchSize interface{}
 41226  				err = json.Unmarshal(*v, &writeBatchSize)
 41227  				if err != nil {
 41228  					return err
 41229  				}
 41230  				bs.WriteBatchSize = writeBatchSize
 41231  			}
 41232  		case "writeBatchTimeout":
 41233  			if v != nil {
 41234  				var writeBatchTimeout interface{}
 41235  				err = json.Unmarshal(*v, &writeBatchTimeout)
 41236  				if err != nil {
 41237  					return err
 41238  				}
 41239  				bs.WriteBatchTimeout = writeBatchTimeout
 41240  			}
 41241  		case "sinkRetryCount":
 41242  			if v != nil {
 41243  				var sinkRetryCount interface{}
 41244  				err = json.Unmarshal(*v, &sinkRetryCount)
 41245  				if err != nil {
 41246  					return err
 41247  				}
 41248  				bs.SinkRetryCount = sinkRetryCount
 41249  			}
 41250  		case "sinkRetryWait":
 41251  			if v != nil {
 41252  				var sinkRetryWait interface{}
 41253  				err = json.Unmarshal(*v, &sinkRetryWait)
 41254  				if err != nil {
 41255  					return err
 41256  				}
 41257  				bs.SinkRetryWait = sinkRetryWait
 41258  			}
 41259  		case "maxConcurrentConnections":
 41260  			if v != nil {
 41261  				var maxConcurrentConnections interface{}
 41262  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 41263  				if err != nil {
 41264  					return err
 41265  				}
 41266  				bs.MaxConcurrentConnections = maxConcurrentConnections
 41267  			}
 41268  		case "type":
 41269  			if v != nil {
 41270  				var typeVar TypeBasicCopySink
 41271  				err = json.Unmarshal(*v, &typeVar)
 41272  				if err != nil {
 41273  					return err
 41274  				}
 41275  				bs.Type = typeVar
 41276  			}
 41277  		}
 41278  	}
 41279  
 41280  	return nil
 41281  }
 41282  
 41283  // BlobSource a copy activity Azure Blob source.
 41284  type BlobSource struct {
 41285  	// TreatEmptyAsNull - Treat empty as null. Type: boolean (or Expression with resultType boolean).
 41286  	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
 41287  	// SkipHeaderLineCount - Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
 41288  	SkipHeaderLineCount interface{} `json:"skipHeaderLineCount,omitempty"`
 41289  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 41290  	Recursive interface{} `json:"recursive,omitempty"`
 41291  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 41292  	AdditionalProperties map[string]interface{} `json:""`
 41293  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 41294  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 41295  	// 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])).
 41296  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 41297  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 41298  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 41299  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 41300  	Type TypeBasicCopySource `json:"type,omitempty"`
 41301  }
 41302  
 41303  // MarshalJSON is the custom marshaler for BlobSource.
 41304  func (bs BlobSource) MarshalJSON() ([]byte, error) {
 41305  	bs.Type = TypeBlobSource
 41306  	objectMap := make(map[string]interface{})
 41307  	if bs.TreatEmptyAsNull != nil {
 41308  		objectMap["treatEmptyAsNull"] = bs.TreatEmptyAsNull
 41309  	}
 41310  	if bs.SkipHeaderLineCount != nil {
 41311  		objectMap["skipHeaderLineCount"] = bs.SkipHeaderLineCount
 41312  	}
 41313  	if bs.Recursive != nil {
 41314  		objectMap["recursive"] = bs.Recursive
 41315  	}
 41316  	if bs.SourceRetryCount != nil {
 41317  		objectMap["sourceRetryCount"] = bs.SourceRetryCount
 41318  	}
 41319  	if bs.SourceRetryWait != nil {
 41320  		objectMap["sourceRetryWait"] = bs.SourceRetryWait
 41321  	}
 41322  	if bs.MaxConcurrentConnections != nil {
 41323  		objectMap["maxConcurrentConnections"] = bs.MaxConcurrentConnections
 41324  	}
 41325  	if bs.Type != "" {
 41326  		objectMap["type"] = bs.Type
 41327  	}
 41328  	for k, v := range bs.AdditionalProperties {
 41329  		objectMap[k] = v
 41330  	}
 41331  	return json.Marshal(objectMap)
 41332  }
 41333  
 41334  // AsHTTPSource is the BasicCopySource implementation for BlobSource.
 41335  func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) {
 41336  	return nil, false
 41337  }
 41338  
 41339  // AsAzureBlobFSSource is the BasicCopySource implementation for BlobSource.
 41340  func (bs BlobSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 41341  	return nil, false
 41342  }
 41343  
 41344  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource.
 41345  func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 41346  	return nil, false
 41347  }
 41348  
 41349  // AsOffice365Source is the BasicCopySource implementation for BlobSource.
 41350  func (bs BlobSource) AsOffice365Source() (*Office365Source, bool) {
 41351  	return nil, false
 41352  }
 41353  
 41354  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BlobSource.
 41355  func (bs BlobSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 41356  	return nil, false
 41357  }
 41358  
 41359  // AsMongoDbV2Source is the BasicCopySource implementation for BlobSource.
 41360  func (bs BlobSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 41361  	return nil, false
 41362  }
 41363  
 41364  // AsMongoDbSource is the BasicCopySource implementation for BlobSource.
 41365  func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) {
 41366  	return nil, false
 41367  }
 41368  
 41369  // AsWebSource is the BasicCopySource implementation for BlobSource.
 41370  func (bs BlobSource) AsWebSource() (*WebSource, bool) {
 41371  	return nil, false
 41372  }
 41373  
 41374  // AsOracleSource is the BasicCopySource implementation for BlobSource.
 41375  func (bs BlobSource) AsOracleSource() (*OracleSource, bool) {
 41376  	return nil, false
 41377  }
 41378  
 41379  // AsAzureDataExplorerSource is the BasicCopySource implementation for BlobSource.
 41380  func (bs BlobSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 41381  	return nil, false
 41382  }
 41383  
 41384  // AsHdfsSource is the BasicCopySource implementation for BlobSource.
 41385  func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) {
 41386  	return nil, false
 41387  }
 41388  
 41389  // AsFileSystemSource is the BasicCopySource implementation for BlobSource.
 41390  func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) {
 41391  	return nil, false
 41392  }
 41393  
 41394  // AsRestSource is the BasicCopySource implementation for BlobSource.
 41395  func (bs BlobSource) AsRestSource() (*RestSource, bool) {
 41396  	return nil, false
 41397  }
 41398  
 41399  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for BlobSource.
 41400  func (bs BlobSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 41401  	return nil, false
 41402  }
 41403  
 41404  // AsODataSource is the BasicCopySource implementation for BlobSource.
 41405  func (bs BlobSource) AsODataSource() (*ODataSource, bool) {
 41406  	return nil, false
 41407  }
 41408  
 41409  // AsMicrosoftAccessSource is the BasicCopySource implementation for BlobSource.
 41410  func (bs BlobSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 41411  	return nil, false
 41412  }
 41413  
 41414  // AsRelationalSource is the BasicCopySource implementation for BlobSource.
 41415  func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) {
 41416  	return nil, false
 41417  }
 41418  
 41419  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BlobSource.
 41420  func (bs BlobSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 41421  	return nil, false
 41422  }
 41423  
 41424  // AsDynamicsCrmSource is the BasicCopySource implementation for BlobSource.
 41425  func (bs BlobSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 41426  	return nil, false
 41427  }
 41428  
 41429  // AsDynamicsSource is the BasicCopySource implementation for BlobSource.
 41430  func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) {
 41431  	return nil, false
 41432  }
 41433  
 41434  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for BlobSource.
 41435  func (bs BlobSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 41436  	return nil, false
 41437  }
 41438  
 41439  // AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource.
 41440  func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 41441  	return nil, false
 41442  }
 41443  
 41444  // AsBlobSource is the BasicCopySource implementation for BlobSource.
 41445  func (bs BlobSource) AsBlobSource() (*BlobSource, bool) {
 41446  	return &bs, true
 41447  }
 41448  
 41449  // AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource.
 41450  func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 41451  	return nil, false
 41452  }
 41453  
 41454  // AsGoogleAdWordsSource is the BasicCopySource implementation for BlobSource.
 41455  func (bs BlobSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 41456  	return nil, false
 41457  }
 41458  
 41459  // AsOracleServiceCloudSource is the BasicCopySource implementation for BlobSource.
 41460  func (bs BlobSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 41461  	return nil, false
 41462  }
 41463  
 41464  // AsDynamicsAXSource is the BasicCopySource implementation for BlobSource.
 41465  func (bs BlobSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 41466  	return nil, false
 41467  }
 41468  
 41469  // AsResponsysSource is the BasicCopySource implementation for BlobSource.
 41470  func (bs BlobSource) AsResponsysSource() (*ResponsysSource, bool) {
 41471  	return nil, false
 41472  }
 41473  
 41474  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for BlobSource.
 41475  func (bs BlobSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 41476  	return nil, false
 41477  }
 41478  
 41479  // AsVerticaSource is the BasicCopySource implementation for BlobSource.
 41480  func (bs BlobSource) AsVerticaSource() (*VerticaSource, bool) {
 41481  	return nil, false
 41482  }
 41483  
 41484  // AsNetezzaSource is the BasicCopySource implementation for BlobSource.
 41485  func (bs BlobSource) AsNetezzaSource() (*NetezzaSource, bool) {
 41486  	return nil, false
 41487  }
 41488  
 41489  // AsZohoSource is the BasicCopySource implementation for BlobSource.
 41490  func (bs BlobSource) AsZohoSource() (*ZohoSource, bool) {
 41491  	return nil, false
 41492  }
 41493  
 41494  // AsXeroSource is the BasicCopySource implementation for BlobSource.
 41495  func (bs BlobSource) AsXeroSource() (*XeroSource, bool) {
 41496  	return nil, false
 41497  }
 41498  
 41499  // AsSquareSource is the BasicCopySource implementation for BlobSource.
 41500  func (bs BlobSource) AsSquareSource() (*SquareSource, bool) {
 41501  	return nil, false
 41502  }
 41503  
 41504  // AsSparkSource is the BasicCopySource implementation for BlobSource.
 41505  func (bs BlobSource) AsSparkSource() (*SparkSource, bool) {
 41506  	return nil, false
 41507  }
 41508  
 41509  // AsShopifySource is the BasicCopySource implementation for BlobSource.
 41510  func (bs BlobSource) AsShopifySource() (*ShopifySource, bool) {
 41511  	return nil, false
 41512  }
 41513  
 41514  // AsServiceNowSource is the BasicCopySource implementation for BlobSource.
 41515  func (bs BlobSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 41516  	return nil, false
 41517  }
 41518  
 41519  // AsQuickBooksSource is the BasicCopySource implementation for BlobSource.
 41520  func (bs BlobSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 41521  	return nil, false
 41522  }
 41523  
 41524  // AsPrestoSource is the BasicCopySource implementation for BlobSource.
 41525  func (bs BlobSource) AsPrestoSource() (*PrestoSource, bool) {
 41526  	return nil, false
 41527  }
 41528  
 41529  // AsPhoenixSource is the BasicCopySource implementation for BlobSource.
 41530  func (bs BlobSource) AsPhoenixSource() (*PhoenixSource, bool) {
 41531  	return nil, false
 41532  }
 41533  
 41534  // AsPaypalSource is the BasicCopySource implementation for BlobSource.
 41535  func (bs BlobSource) AsPaypalSource() (*PaypalSource, bool) {
 41536  	return nil, false
 41537  }
 41538  
 41539  // AsMarketoSource is the BasicCopySource implementation for BlobSource.
 41540  func (bs BlobSource) AsMarketoSource() (*MarketoSource, bool) {
 41541  	return nil, false
 41542  }
 41543  
 41544  // AsAzureMariaDBSource is the BasicCopySource implementation for BlobSource.
 41545  func (bs BlobSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 41546  	return nil, false
 41547  }
 41548  
 41549  // AsMariaDBSource is the BasicCopySource implementation for BlobSource.
 41550  func (bs BlobSource) AsMariaDBSource() (*MariaDBSource, bool) {
 41551  	return nil, false
 41552  }
 41553  
 41554  // AsMagentoSource is the BasicCopySource implementation for BlobSource.
 41555  func (bs BlobSource) AsMagentoSource() (*MagentoSource, bool) {
 41556  	return nil, false
 41557  }
 41558  
 41559  // AsJiraSource is the BasicCopySource implementation for BlobSource.
 41560  func (bs BlobSource) AsJiraSource() (*JiraSource, bool) {
 41561  	return nil, false
 41562  }
 41563  
 41564  // AsImpalaSource is the BasicCopySource implementation for BlobSource.
 41565  func (bs BlobSource) AsImpalaSource() (*ImpalaSource, bool) {
 41566  	return nil, false
 41567  }
 41568  
 41569  // AsHubspotSource is the BasicCopySource implementation for BlobSource.
 41570  func (bs BlobSource) AsHubspotSource() (*HubspotSource, bool) {
 41571  	return nil, false
 41572  }
 41573  
 41574  // AsHiveSource is the BasicCopySource implementation for BlobSource.
 41575  func (bs BlobSource) AsHiveSource() (*HiveSource, bool) {
 41576  	return nil, false
 41577  }
 41578  
 41579  // AsHBaseSource is the BasicCopySource implementation for BlobSource.
 41580  func (bs BlobSource) AsHBaseSource() (*HBaseSource, bool) {
 41581  	return nil, false
 41582  }
 41583  
 41584  // AsGreenplumSource is the BasicCopySource implementation for BlobSource.
 41585  func (bs BlobSource) AsGreenplumSource() (*GreenplumSource, bool) {
 41586  	return nil, false
 41587  }
 41588  
 41589  // AsGoogleBigQuerySource is the BasicCopySource implementation for BlobSource.
 41590  func (bs BlobSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 41591  	return nil, false
 41592  }
 41593  
 41594  // AsEloquaSource is the BasicCopySource implementation for BlobSource.
 41595  func (bs BlobSource) AsEloquaSource() (*EloquaSource, bool) {
 41596  	return nil, false
 41597  }
 41598  
 41599  // AsDrillSource is the BasicCopySource implementation for BlobSource.
 41600  func (bs BlobSource) AsDrillSource() (*DrillSource, bool) {
 41601  	return nil, false
 41602  }
 41603  
 41604  // AsCouchbaseSource is the BasicCopySource implementation for BlobSource.
 41605  func (bs BlobSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 41606  	return nil, false
 41607  }
 41608  
 41609  // AsConcurSource is the BasicCopySource implementation for BlobSource.
 41610  func (bs BlobSource) AsConcurSource() (*ConcurSource, bool) {
 41611  	return nil, false
 41612  }
 41613  
 41614  // AsAzurePostgreSQLSource is the BasicCopySource implementation for BlobSource.
 41615  func (bs BlobSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 41616  	return nil, false
 41617  }
 41618  
 41619  // AsAmazonMWSSource is the BasicCopySource implementation for BlobSource.
 41620  func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 41621  	return nil, false
 41622  }
 41623  
 41624  // AsCassandraSource is the BasicCopySource implementation for BlobSource.
 41625  func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) {
 41626  	return nil, false
 41627  }
 41628  
 41629  // AsTeradataSource is the BasicCopySource implementation for BlobSource.
 41630  func (bs BlobSource) AsTeradataSource() (*TeradataSource, bool) {
 41631  	return nil, false
 41632  }
 41633  
 41634  // AsAzureMySQLSource is the BasicCopySource implementation for BlobSource.
 41635  func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 41636  	return nil, false
 41637  }
 41638  
 41639  // AsSQLDWSource is the BasicCopySource implementation for BlobSource.
 41640  func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) {
 41641  	return nil, false
 41642  }
 41643  
 41644  // AsSQLMISource is the BasicCopySource implementation for BlobSource.
 41645  func (bs BlobSource) AsSQLMISource() (*SQLMISource, bool) {
 41646  	return nil, false
 41647  }
 41648  
 41649  // AsAzureSQLSource is the BasicCopySource implementation for BlobSource.
 41650  func (bs BlobSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 41651  	return nil, false
 41652  }
 41653  
 41654  // AsSQLServerSource is the BasicCopySource implementation for BlobSource.
 41655  func (bs BlobSource) AsSQLServerSource() (*SQLServerSource, bool) {
 41656  	return nil, false
 41657  }
 41658  
 41659  // AsSQLSource is the BasicCopySource implementation for BlobSource.
 41660  func (bs BlobSource) AsSQLSource() (*SQLSource, bool) {
 41661  	return nil, false
 41662  }
 41663  
 41664  // AsSapTableSource is the BasicCopySource implementation for BlobSource.
 41665  func (bs BlobSource) AsSapTableSource() (*SapTableSource, bool) {
 41666  	return nil, false
 41667  }
 41668  
 41669  // AsSapOpenHubSource is the BasicCopySource implementation for BlobSource.
 41670  func (bs BlobSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 41671  	return nil, false
 41672  }
 41673  
 41674  // AsSapHanaSource is the BasicCopySource implementation for BlobSource.
 41675  func (bs BlobSource) AsSapHanaSource() (*SapHanaSource, bool) {
 41676  	return nil, false
 41677  }
 41678  
 41679  // AsSapEccSource is the BasicCopySource implementation for BlobSource.
 41680  func (bs BlobSource) AsSapEccSource() (*SapEccSource, bool) {
 41681  	return nil, false
 41682  }
 41683  
 41684  // AsSapCloudForCustomerSource is the BasicCopySource implementation for BlobSource.
 41685  func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 41686  	return nil, false
 41687  }
 41688  
 41689  // AsSalesforceSource is the BasicCopySource implementation for BlobSource.
 41690  func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) {
 41691  	return nil, false
 41692  }
 41693  
 41694  // AsSapBwSource is the BasicCopySource implementation for BlobSource.
 41695  func (bs BlobSource) AsSapBwSource() (*SapBwSource, bool) {
 41696  	return nil, false
 41697  }
 41698  
 41699  // AsSybaseSource is the BasicCopySource implementation for BlobSource.
 41700  func (bs BlobSource) AsSybaseSource() (*SybaseSource, bool) {
 41701  	return nil, false
 41702  }
 41703  
 41704  // AsPostgreSQLSource is the BasicCopySource implementation for BlobSource.
 41705  func (bs BlobSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 41706  	return nil, false
 41707  }
 41708  
 41709  // AsMySQLSource is the BasicCopySource implementation for BlobSource.
 41710  func (bs BlobSource) AsMySQLSource() (*MySQLSource, bool) {
 41711  	return nil, false
 41712  }
 41713  
 41714  // AsOdbcSource is the BasicCopySource implementation for BlobSource.
 41715  func (bs BlobSource) AsOdbcSource() (*OdbcSource, bool) {
 41716  	return nil, false
 41717  }
 41718  
 41719  // AsDb2Source is the BasicCopySource implementation for BlobSource.
 41720  func (bs BlobSource) AsDb2Source() (*Db2Source, bool) {
 41721  	return nil, false
 41722  }
 41723  
 41724  // AsInformixSource is the BasicCopySource implementation for BlobSource.
 41725  func (bs BlobSource) AsInformixSource() (*InformixSource, bool) {
 41726  	return nil, false
 41727  }
 41728  
 41729  // AsAzureTableSource is the BasicCopySource implementation for BlobSource.
 41730  func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) {
 41731  	return nil, false
 41732  }
 41733  
 41734  // AsTabularSource is the BasicCopySource implementation for BlobSource.
 41735  func (bs BlobSource) AsTabularSource() (*TabularSource, bool) {
 41736  	return nil, false
 41737  }
 41738  
 41739  // AsBasicTabularSource is the BasicCopySource implementation for BlobSource.
 41740  func (bs BlobSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 41741  	return nil, false
 41742  }
 41743  
 41744  // AsBinarySource is the BasicCopySource implementation for BlobSource.
 41745  func (bs BlobSource) AsBinarySource() (*BinarySource, bool) {
 41746  	return nil, false
 41747  }
 41748  
 41749  // AsOrcSource is the BasicCopySource implementation for BlobSource.
 41750  func (bs BlobSource) AsOrcSource() (*OrcSource, bool) {
 41751  	return nil, false
 41752  }
 41753  
 41754  // AsJSONSource is the BasicCopySource implementation for BlobSource.
 41755  func (bs BlobSource) AsJSONSource() (*JSONSource, bool) {
 41756  	return nil, false
 41757  }
 41758  
 41759  // AsDelimitedTextSource is the BasicCopySource implementation for BlobSource.
 41760  func (bs BlobSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 41761  	return nil, false
 41762  }
 41763  
 41764  // AsParquetSource is the BasicCopySource implementation for BlobSource.
 41765  func (bs BlobSource) AsParquetSource() (*ParquetSource, bool) {
 41766  	return nil, false
 41767  }
 41768  
 41769  // AsAvroSource is the BasicCopySource implementation for BlobSource.
 41770  func (bs BlobSource) AsAvroSource() (*AvroSource, bool) {
 41771  	return nil, false
 41772  }
 41773  
 41774  // AsCopySource is the BasicCopySource implementation for BlobSource.
 41775  func (bs BlobSource) AsCopySource() (*CopySource, bool) {
 41776  	return nil, false
 41777  }
 41778  
 41779  // AsBasicCopySource is the BasicCopySource implementation for BlobSource.
 41780  func (bs BlobSource) AsBasicCopySource() (BasicCopySource, bool) {
 41781  	return &bs, true
 41782  }
 41783  
 41784  // UnmarshalJSON is the custom unmarshaler for BlobSource struct.
 41785  func (bs *BlobSource) UnmarshalJSON(body []byte) error {
 41786  	var m map[string]*json.RawMessage
 41787  	err := json.Unmarshal(body, &m)
 41788  	if err != nil {
 41789  		return err
 41790  	}
 41791  	for k, v := range m {
 41792  		switch k {
 41793  		case "treatEmptyAsNull":
 41794  			if v != nil {
 41795  				var treatEmptyAsNull interface{}
 41796  				err = json.Unmarshal(*v, &treatEmptyAsNull)
 41797  				if err != nil {
 41798  					return err
 41799  				}
 41800  				bs.TreatEmptyAsNull = treatEmptyAsNull
 41801  			}
 41802  		case "skipHeaderLineCount":
 41803  			if v != nil {
 41804  				var skipHeaderLineCount interface{}
 41805  				err = json.Unmarshal(*v, &skipHeaderLineCount)
 41806  				if err != nil {
 41807  					return err
 41808  				}
 41809  				bs.SkipHeaderLineCount = skipHeaderLineCount
 41810  			}
 41811  		case "recursive":
 41812  			if v != nil {
 41813  				var recursive interface{}
 41814  				err = json.Unmarshal(*v, &recursive)
 41815  				if err != nil {
 41816  					return err
 41817  				}
 41818  				bs.Recursive = recursive
 41819  			}
 41820  		default:
 41821  			if v != nil {
 41822  				var additionalProperties interface{}
 41823  				err = json.Unmarshal(*v, &additionalProperties)
 41824  				if err != nil {
 41825  					return err
 41826  				}
 41827  				if bs.AdditionalProperties == nil {
 41828  					bs.AdditionalProperties = make(map[string]interface{})
 41829  				}
 41830  				bs.AdditionalProperties[k] = additionalProperties
 41831  			}
 41832  		case "sourceRetryCount":
 41833  			if v != nil {
 41834  				var sourceRetryCount interface{}
 41835  				err = json.Unmarshal(*v, &sourceRetryCount)
 41836  				if err != nil {
 41837  					return err
 41838  				}
 41839  				bs.SourceRetryCount = sourceRetryCount
 41840  			}
 41841  		case "sourceRetryWait":
 41842  			if v != nil {
 41843  				var sourceRetryWait interface{}
 41844  				err = json.Unmarshal(*v, &sourceRetryWait)
 41845  				if err != nil {
 41846  					return err
 41847  				}
 41848  				bs.SourceRetryWait = sourceRetryWait
 41849  			}
 41850  		case "maxConcurrentConnections":
 41851  			if v != nil {
 41852  				var maxConcurrentConnections interface{}
 41853  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 41854  				if err != nil {
 41855  					return err
 41856  				}
 41857  				bs.MaxConcurrentConnections = maxConcurrentConnections
 41858  			}
 41859  		case "type":
 41860  			if v != nil {
 41861  				var typeVar TypeBasicCopySource
 41862  				err = json.Unmarshal(*v, &typeVar)
 41863  				if err != nil {
 41864  					return err
 41865  				}
 41866  				bs.Type = typeVar
 41867  			}
 41868  		}
 41869  	}
 41870  
 41871  	return nil
 41872  }
 41873  
 41874  // BlobTrigger trigger that runs every time the selected Blob container changes.
 41875  type BlobTrigger struct {
 41876  	// BlobTriggerTypeProperties - Blob Trigger properties.
 41877  	*BlobTriggerTypeProperties `json:"typeProperties,omitempty"`
 41878  	// Pipelines - Pipelines that need to be started.
 41879  	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
 41880  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 41881  	AdditionalProperties map[string]interface{} `json:""`
 41882  	// Description - Trigger description.
 41883  	Description *string `json:"description,omitempty"`
 41884  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
 41885  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
 41886  	// Annotations - List of tags that can be used for describing the trigger.
 41887  	Annotations *[]interface{} `json:"annotations,omitempty"`
 41888  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
 41889  	Type TypeBasicTrigger `json:"type,omitempty"`
 41890  }
 41891  
 41892  // MarshalJSON is the custom marshaler for BlobTrigger.
 41893  func (bt BlobTrigger) MarshalJSON() ([]byte, error) {
 41894  	bt.Type = TypeBlobTrigger
 41895  	objectMap := make(map[string]interface{})
 41896  	if bt.BlobTriggerTypeProperties != nil {
 41897  		objectMap["typeProperties"] = bt.BlobTriggerTypeProperties
 41898  	}
 41899  	if bt.Pipelines != nil {
 41900  		objectMap["pipelines"] = bt.Pipelines
 41901  	}
 41902  	if bt.Description != nil {
 41903  		objectMap["description"] = bt.Description
 41904  	}
 41905  	if bt.Annotations != nil {
 41906  		objectMap["annotations"] = bt.Annotations
 41907  	}
 41908  	if bt.Type != "" {
 41909  		objectMap["type"] = bt.Type
 41910  	}
 41911  	for k, v := range bt.AdditionalProperties {
 41912  		objectMap[k] = v
 41913  	}
 41914  	return json.Marshal(objectMap)
 41915  }
 41916  
 41917  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
 41918  func (bt BlobTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
 41919  	return nil, false
 41920  }
 41921  
 41922  // AsChainingTrigger is the BasicTrigger implementation for BlobTrigger.
 41923  func (bt BlobTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
 41924  	return nil, false
 41925  }
 41926  
 41927  // AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger.
 41928  func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
 41929  	return nil, false
 41930  }
 41931  
 41932  // AsBlobEventsTrigger is the BasicTrigger implementation for BlobTrigger.
 41933  func (bt BlobTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
 41934  	return nil, false
 41935  }
 41936  
 41937  // AsBlobTrigger is the BasicTrigger implementation for BlobTrigger.
 41938  func (bt BlobTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
 41939  	return &bt, true
 41940  }
 41941  
 41942  // AsScheduleTrigger is the BasicTrigger implementation for BlobTrigger.
 41943  func (bt BlobTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
 41944  	return nil, false
 41945  }
 41946  
 41947  // AsMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
 41948  func (bt BlobTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
 41949  	return nil, false
 41950  }
 41951  
 41952  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for BlobTrigger.
 41953  func (bt BlobTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
 41954  	return &bt, true
 41955  }
 41956  
 41957  // AsTrigger is the BasicTrigger implementation for BlobTrigger.
 41958  func (bt BlobTrigger) AsTrigger() (*Trigger, bool) {
 41959  	return nil, false
 41960  }
 41961  
 41962  // AsBasicTrigger is the BasicTrigger implementation for BlobTrigger.
 41963  func (bt BlobTrigger) AsBasicTrigger() (BasicTrigger, bool) {
 41964  	return &bt, true
 41965  }
 41966  
 41967  // UnmarshalJSON is the custom unmarshaler for BlobTrigger struct.
 41968  func (bt *BlobTrigger) UnmarshalJSON(body []byte) error {
 41969  	var m map[string]*json.RawMessage
 41970  	err := json.Unmarshal(body, &m)
 41971  	if err != nil {
 41972  		return err
 41973  	}
 41974  	for k, v := range m {
 41975  		switch k {
 41976  		case "typeProperties":
 41977  			if v != nil {
 41978  				var blobTriggerTypeProperties BlobTriggerTypeProperties
 41979  				err = json.Unmarshal(*v, &blobTriggerTypeProperties)
 41980  				if err != nil {
 41981  					return err
 41982  				}
 41983  				bt.BlobTriggerTypeProperties = &blobTriggerTypeProperties
 41984  			}
 41985  		case "pipelines":
 41986  			if v != nil {
 41987  				var pipelines []TriggerPipelineReference
 41988  				err = json.Unmarshal(*v, &pipelines)
 41989  				if err != nil {
 41990  					return err
 41991  				}
 41992  				bt.Pipelines = &pipelines
 41993  			}
 41994  		default:
 41995  			if v != nil {
 41996  				var additionalProperties interface{}
 41997  				err = json.Unmarshal(*v, &additionalProperties)
 41998  				if err != nil {
 41999  					return err
 42000  				}
 42001  				if bt.AdditionalProperties == nil {
 42002  					bt.AdditionalProperties = make(map[string]interface{})
 42003  				}
 42004  				bt.AdditionalProperties[k] = additionalProperties
 42005  			}
 42006  		case "description":
 42007  			if v != nil {
 42008  				var description string
 42009  				err = json.Unmarshal(*v, &description)
 42010  				if err != nil {
 42011  					return err
 42012  				}
 42013  				bt.Description = &description
 42014  			}
 42015  		case "runtimeState":
 42016  			if v != nil {
 42017  				var runtimeState TriggerRuntimeState
 42018  				err = json.Unmarshal(*v, &runtimeState)
 42019  				if err != nil {
 42020  					return err
 42021  				}
 42022  				bt.RuntimeState = runtimeState
 42023  			}
 42024  		case "annotations":
 42025  			if v != nil {
 42026  				var annotations []interface{}
 42027  				err = json.Unmarshal(*v, &annotations)
 42028  				if err != nil {
 42029  					return err
 42030  				}
 42031  				bt.Annotations = &annotations
 42032  			}
 42033  		case "type":
 42034  			if v != nil {
 42035  				var typeVar TypeBasicTrigger
 42036  				err = json.Unmarshal(*v, &typeVar)
 42037  				if err != nil {
 42038  					return err
 42039  				}
 42040  				bt.Type = typeVar
 42041  			}
 42042  		}
 42043  	}
 42044  
 42045  	return nil
 42046  }
 42047  
 42048  // BlobTriggerTypeProperties blob Trigger properties.
 42049  type BlobTriggerTypeProperties struct {
 42050  	// FolderPath - The path of the container/folder that will trigger the pipeline.
 42051  	FolderPath *string `json:"folderPath,omitempty"`
 42052  	// MaxConcurrency - The max number of parallel files to handle when it is triggered.
 42053  	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
 42054  	// LinkedService - The Azure Storage linked service reference.
 42055  	LinkedService *LinkedServiceReference `json:"linkedService,omitempty"`
 42056  }
 42057  
 42058  // CassandraLinkedService linked service for Cassandra data source.
 42059  type CassandraLinkedService struct {
 42060  	// CassandraLinkedServiceTypeProperties - Cassandra linked service properties.
 42061  	*CassandraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 42062  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 42063  	AdditionalProperties map[string]interface{} `json:""`
 42064  	// ConnectVia - The integration runtime reference.
 42065  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 42066  	// Description - Linked service description.
 42067  	Description *string `json:"description,omitempty"`
 42068  	// Parameters - Parameters for linked service.
 42069  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 42070  	// Annotations - List of tags that can be used for describing the linked service.
 42071  	Annotations *[]interface{} `json:"annotations,omitempty"`
 42072  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 42073  	Type TypeBasicLinkedService `json:"type,omitempty"`
 42074  }
 42075  
 42076  // MarshalJSON is the custom marshaler for CassandraLinkedService.
 42077  func (cls CassandraLinkedService) MarshalJSON() ([]byte, error) {
 42078  	cls.Type = TypeCassandra
 42079  	objectMap := make(map[string]interface{})
 42080  	if cls.CassandraLinkedServiceTypeProperties != nil {
 42081  		objectMap["typeProperties"] = cls.CassandraLinkedServiceTypeProperties
 42082  	}
 42083  	if cls.ConnectVia != nil {
 42084  		objectMap["connectVia"] = cls.ConnectVia
 42085  	}
 42086  	if cls.Description != nil {
 42087  		objectMap["description"] = cls.Description
 42088  	}
 42089  	if cls.Parameters != nil {
 42090  		objectMap["parameters"] = cls.Parameters
 42091  	}
 42092  	if cls.Annotations != nil {
 42093  		objectMap["annotations"] = cls.Annotations
 42094  	}
 42095  	if cls.Type != "" {
 42096  		objectMap["type"] = cls.Type
 42097  	}
 42098  	for k, v := range cls.AdditionalProperties {
 42099  		objectMap[k] = v
 42100  	}
 42101  	return json.Marshal(objectMap)
 42102  }
 42103  
 42104  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42105  func (cls CassandraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 42106  	return nil, false
 42107  }
 42108  
 42109  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42110  func (cls CassandraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 42111  	return nil, false
 42112  }
 42113  
 42114  // AsSapTableLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42115  func (cls CassandraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 42116  	return nil, false
 42117  }
 42118  
 42119  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42120  func (cls CassandraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 42121  	return nil, false
 42122  }
 42123  
 42124  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42125  func (cls CassandraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 42126  	return nil, false
 42127  }
 42128  
 42129  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42130  func (cls CassandraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 42131  	return nil, false
 42132  }
 42133  
 42134  // AsResponsysLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42135  func (cls CassandraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 42136  	return nil, false
 42137  }
 42138  
 42139  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42140  func (cls CassandraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 42141  	return nil, false
 42142  }
 42143  
 42144  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42145  func (cls CassandraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 42146  	return nil, false
 42147  }
 42148  
 42149  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42150  func (cls CassandraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 42151  	return nil, false
 42152  }
 42153  
 42154  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42155  func (cls CassandraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 42156  	return nil, false
 42157  }
 42158  
 42159  // AsNetezzaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42160  func (cls CassandraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 42161  	return nil, false
 42162  }
 42163  
 42164  // AsVerticaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42165  func (cls CassandraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 42166  	return nil, false
 42167  }
 42168  
 42169  // AsZohoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42170  func (cls CassandraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 42171  	return nil, false
 42172  }
 42173  
 42174  // AsXeroLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42175  func (cls CassandraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 42176  	return nil, false
 42177  }
 42178  
 42179  // AsSquareLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42180  func (cls CassandraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 42181  	return nil, false
 42182  }
 42183  
 42184  // AsSparkLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42185  func (cls CassandraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 42186  	return nil, false
 42187  }
 42188  
 42189  // AsShopifyLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42190  func (cls CassandraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 42191  	return nil, false
 42192  }
 42193  
 42194  // AsServiceNowLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42195  func (cls CassandraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 42196  	return nil, false
 42197  }
 42198  
 42199  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42200  func (cls CassandraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 42201  	return nil, false
 42202  }
 42203  
 42204  // AsPrestoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42205  func (cls CassandraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 42206  	return nil, false
 42207  }
 42208  
 42209  // AsPhoenixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42210  func (cls CassandraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 42211  	return nil, false
 42212  }
 42213  
 42214  // AsPaypalLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42215  func (cls CassandraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 42216  	return nil, false
 42217  }
 42218  
 42219  // AsMarketoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42220  func (cls CassandraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 42221  	return nil, false
 42222  }
 42223  
 42224  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42225  func (cls CassandraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 42226  	return nil, false
 42227  }
 42228  
 42229  // AsMariaDBLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42230  func (cls CassandraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 42231  	return nil, false
 42232  }
 42233  
 42234  // AsMagentoLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42235  func (cls CassandraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 42236  	return nil, false
 42237  }
 42238  
 42239  // AsJiraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42240  func (cls CassandraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 42241  	return nil, false
 42242  }
 42243  
 42244  // AsImpalaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42245  func (cls CassandraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 42246  	return nil, false
 42247  }
 42248  
 42249  // AsHubspotLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42250  func (cls CassandraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 42251  	return nil, false
 42252  }
 42253  
 42254  // AsHiveLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42255  func (cls CassandraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 42256  	return nil, false
 42257  }
 42258  
 42259  // AsHBaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42260  func (cls CassandraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 42261  	return nil, false
 42262  }
 42263  
 42264  // AsGreenplumLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42265  func (cls CassandraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 42266  	return nil, false
 42267  }
 42268  
 42269  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42270  func (cls CassandraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 42271  	return nil, false
 42272  }
 42273  
 42274  // AsEloquaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42275  func (cls CassandraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 42276  	return nil, false
 42277  }
 42278  
 42279  // AsDrillLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42280  func (cls CassandraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 42281  	return nil, false
 42282  }
 42283  
 42284  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42285  func (cls CassandraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 42286  	return nil, false
 42287  }
 42288  
 42289  // AsConcurLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42290  func (cls CassandraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 42291  	return nil, false
 42292  }
 42293  
 42294  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42295  func (cls CassandraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 42296  	return nil, false
 42297  }
 42298  
 42299  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42300  func (cls CassandraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 42301  	return nil, false
 42302  }
 42303  
 42304  // AsSapHanaLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42305  func (cls CassandraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 42306  	return nil, false
 42307  }
 42308  
 42309  // AsSapBWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42310  func (cls CassandraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 42311  	return nil, false
 42312  }
 42313  
 42314  // AsSftpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42315  func (cls CassandraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 42316  	return nil, false
 42317  }
 42318  
 42319  // AsFtpServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42320  func (cls CassandraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 42321  	return nil, false
 42322  }
 42323  
 42324  // AsHTTPLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42325  func (cls CassandraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 42326  	return nil, false
 42327  }
 42328  
 42329  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42330  func (cls CassandraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 42331  	return nil, false
 42332  }
 42333  
 42334  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42335  func (cls CassandraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 42336  	return nil, false
 42337  }
 42338  
 42339  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42340  func (cls CassandraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 42341  	return nil, false
 42342  }
 42343  
 42344  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42345  func (cls CassandraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 42346  	return nil, false
 42347  }
 42348  
 42349  // AsRestServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42350  func (cls CassandraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 42351  	return nil, false
 42352  }
 42353  
 42354  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42355  func (cls CassandraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 42356  	return nil, false
 42357  }
 42358  
 42359  // AsSapEccLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42360  func (cls CassandraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 42361  	return nil, false
 42362  }
 42363  
 42364  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42365  func (cls CassandraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 42366  	return nil, false
 42367  }
 42368  
 42369  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42370  func (cls CassandraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 42371  	return nil, false
 42372  }
 42373  
 42374  // AsSalesforceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42375  func (cls CassandraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 42376  	return nil, false
 42377  }
 42378  
 42379  // AsOffice365LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42380  func (cls CassandraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 42381  	return nil, false
 42382  }
 42383  
 42384  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42385  func (cls CassandraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 42386  	return nil, false
 42387  }
 42388  
 42389  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42390  func (cls CassandraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 42391  	return nil, false
 42392  }
 42393  
 42394  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42395  func (cls CassandraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 42396  	return nil, false
 42397  }
 42398  
 42399  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42400  func (cls CassandraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 42401  	return nil, false
 42402  }
 42403  
 42404  // AsMongoDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42405  func (cls CassandraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 42406  	return nil, false
 42407  }
 42408  
 42409  // AsCassandraLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42410  func (cls CassandraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 42411  	return &cls, true
 42412  }
 42413  
 42414  // AsWebLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42415  func (cls CassandraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 42416  	return nil, false
 42417  }
 42418  
 42419  // AsODataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42420  func (cls CassandraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 42421  	return nil, false
 42422  }
 42423  
 42424  // AsHdfsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42425  func (cls CassandraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 42426  	return nil, false
 42427  }
 42428  
 42429  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42430  func (cls CassandraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 42431  	return nil, false
 42432  }
 42433  
 42434  // AsInformixLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42435  func (cls CassandraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 42436  	return nil, false
 42437  }
 42438  
 42439  // AsOdbcLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42440  func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 42441  	return nil, false
 42442  }
 42443  
 42444  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42445  func (cls CassandraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 42446  	return nil, false
 42447  }
 42448  
 42449  // AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42450  func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 42451  	return nil, false
 42452  }
 42453  
 42454  // AsTeradataLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42455  func (cls CassandraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 42456  	return nil, false
 42457  }
 42458  
 42459  // AsDb2LinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42460  func (cls CassandraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 42461  	return nil, false
 42462  }
 42463  
 42464  // AsSybaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42465  func (cls CassandraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 42466  	return nil, false
 42467  }
 42468  
 42469  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42470  func (cls CassandraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 42471  	return nil, false
 42472  }
 42473  
 42474  // AsMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42475  func (cls CassandraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 42476  	return nil, false
 42477  }
 42478  
 42479  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42480  func (cls CassandraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 42481  	return nil, false
 42482  }
 42483  
 42484  // AsOracleLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42485  func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 42486  	return nil, false
 42487  }
 42488  
 42489  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42490  func (cls CassandraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 42491  	return nil, false
 42492  }
 42493  
 42494  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42495  func (cls CassandraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 42496  	return nil, false
 42497  }
 42498  
 42499  // AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42500  func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 42501  	return nil, false
 42502  }
 42503  
 42504  // AsHDInsightLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42505  func (cls CassandraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 42506  	return nil, false
 42507  }
 42508  
 42509  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42510  func (cls CassandraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 42511  	return nil, false
 42512  }
 42513  
 42514  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42515  func (cls CassandraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 42516  	return nil, false
 42517  }
 42518  
 42519  // AsDynamicsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42520  func (cls CassandraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 42521  	return nil, false
 42522  }
 42523  
 42524  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42525  func (cls CassandraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 42526  	return nil, false
 42527  }
 42528  
 42529  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42530  func (cls CassandraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 42531  	return nil, false
 42532  }
 42533  
 42534  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42535  func (cls CassandraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 42536  	return nil, false
 42537  }
 42538  
 42539  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42540  func (cls CassandraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 42541  	return nil, false
 42542  }
 42543  
 42544  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42545  func (cls CassandraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 42546  	return nil, false
 42547  }
 42548  
 42549  // AsSQLServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42550  func (cls CassandraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 42551  	return nil, false
 42552  }
 42553  
 42554  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42555  func (cls CassandraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 42556  	return nil, false
 42557  }
 42558  
 42559  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42560  func (cls CassandraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 42561  	return nil, false
 42562  }
 42563  
 42564  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42565  func (cls CassandraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 42566  	return nil, false
 42567  }
 42568  
 42569  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42570  func (cls CassandraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 42571  	return nil, false
 42572  }
 42573  
 42574  // AsLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42575  func (cls CassandraLinkedService) AsLinkedService() (*LinkedService, bool) {
 42576  	return nil, false
 42577  }
 42578  
 42579  // AsBasicLinkedService is the BasicLinkedService implementation for CassandraLinkedService.
 42580  func (cls CassandraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 42581  	return &cls, true
 42582  }
 42583  
 42584  // UnmarshalJSON is the custom unmarshaler for CassandraLinkedService struct.
 42585  func (cls *CassandraLinkedService) UnmarshalJSON(body []byte) error {
 42586  	var m map[string]*json.RawMessage
 42587  	err := json.Unmarshal(body, &m)
 42588  	if err != nil {
 42589  		return err
 42590  	}
 42591  	for k, v := range m {
 42592  		switch k {
 42593  		case "typeProperties":
 42594  			if v != nil {
 42595  				var cassandraLinkedServiceTypeProperties CassandraLinkedServiceTypeProperties
 42596  				err = json.Unmarshal(*v, &cassandraLinkedServiceTypeProperties)
 42597  				if err != nil {
 42598  					return err
 42599  				}
 42600  				cls.CassandraLinkedServiceTypeProperties = &cassandraLinkedServiceTypeProperties
 42601  			}
 42602  		default:
 42603  			if v != nil {
 42604  				var additionalProperties interface{}
 42605  				err = json.Unmarshal(*v, &additionalProperties)
 42606  				if err != nil {
 42607  					return err
 42608  				}
 42609  				if cls.AdditionalProperties == nil {
 42610  					cls.AdditionalProperties = make(map[string]interface{})
 42611  				}
 42612  				cls.AdditionalProperties[k] = additionalProperties
 42613  			}
 42614  		case "connectVia":
 42615  			if v != nil {
 42616  				var connectVia IntegrationRuntimeReference
 42617  				err = json.Unmarshal(*v, &connectVia)
 42618  				if err != nil {
 42619  					return err
 42620  				}
 42621  				cls.ConnectVia = &connectVia
 42622  			}
 42623  		case "description":
 42624  			if v != nil {
 42625  				var description string
 42626  				err = json.Unmarshal(*v, &description)
 42627  				if err != nil {
 42628  					return err
 42629  				}
 42630  				cls.Description = &description
 42631  			}
 42632  		case "parameters":
 42633  			if v != nil {
 42634  				var parameters map[string]*ParameterSpecification
 42635  				err = json.Unmarshal(*v, &parameters)
 42636  				if err != nil {
 42637  					return err
 42638  				}
 42639  				cls.Parameters = parameters
 42640  			}
 42641  		case "annotations":
 42642  			if v != nil {
 42643  				var annotations []interface{}
 42644  				err = json.Unmarshal(*v, &annotations)
 42645  				if err != nil {
 42646  					return err
 42647  				}
 42648  				cls.Annotations = &annotations
 42649  			}
 42650  		case "type":
 42651  			if v != nil {
 42652  				var typeVar TypeBasicLinkedService
 42653  				err = json.Unmarshal(*v, &typeVar)
 42654  				if err != nil {
 42655  					return err
 42656  				}
 42657  				cls.Type = typeVar
 42658  			}
 42659  		}
 42660  	}
 42661  
 42662  	return nil
 42663  }
 42664  
 42665  // CassandraLinkedServiceTypeProperties cassandra linked service properties.
 42666  type CassandraLinkedServiceTypeProperties struct {
 42667  	// Host - Host name for connection. Type: string (or Expression with resultType string).
 42668  	Host interface{} `json:"host,omitempty"`
 42669  	// AuthenticationType - AuthenticationType to be used for connection. Type: string (or Expression with resultType string).
 42670  	AuthenticationType interface{} `json:"authenticationType,omitempty"`
 42671  	// Port - The port for the connection. Type: integer (or Expression with resultType integer).
 42672  	Port interface{} `json:"port,omitempty"`
 42673  	// Username - Username for authentication. Type: string (or Expression with resultType string).
 42674  	Username interface{} `json:"username,omitempty"`
 42675  	// Password - Password for authentication.
 42676  	Password BasicSecretBase `json:"password,omitempty"`
 42677  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 42678  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 42679  }
 42680  
 42681  // UnmarshalJSON is the custom unmarshaler for CassandraLinkedServiceTypeProperties struct.
 42682  func (clstp *CassandraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 42683  	var m map[string]*json.RawMessage
 42684  	err := json.Unmarshal(body, &m)
 42685  	if err != nil {
 42686  		return err
 42687  	}
 42688  	for k, v := range m {
 42689  		switch k {
 42690  		case "host":
 42691  			if v != nil {
 42692  				var host interface{}
 42693  				err = json.Unmarshal(*v, &host)
 42694  				if err != nil {
 42695  					return err
 42696  				}
 42697  				clstp.Host = host
 42698  			}
 42699  		case "authenticationType":
 42700  			if v != nil {
 42701  				var authenticationType interface{}
 42702  				err = json.Unmarshal(*v, &authenticationType)
 42703  				if err != nil {
 42704  					return err
 42705  				}
 42706  				clstp.AuthenticationType = authenticationType
 42707  			}
 42708  		case "port":
 42709  			if v != nil {
 42710  				var port interface{}
 42711  				err = json.Unmarshal(*v, &port)
 42712  				if err != nil {
 42713  					return err
 42714  				}
 42715  				clstp.Port = port
 42716  			}
 42717  		case "username":
 42718  			if v != nil {
 42719  				var username interface{}
 42720  				err = json.Unmarshal(*v, &username)
 42721  				if err != nil {
 42722  					return err
 42723  				}
 42724  				clstp.Username = username
 42725  			}
 42726  		case "password":
 42727  			if v != nil {
 42728  				password, err := unmarshalBasicSecretBase(*v)
 42729  				if err != nil {
 42730  					return err
 42731  				}
 42732  				clstp.Password = password
 42733  			}
 42734  		case "encryptedCredential":
 42735  			if v != nil {
 42736  				var encryptedCredential interface{}
 42737  				err = json.Unmarshal(*v, &encryptedCredential)
 42738  				if err != nil {
 42739  					return err
 42740  				}
 42741  				clstp.EncryptedCredential = encryptedCredential
 42742  			}
 42743  		}
 42744  	}
 42745  
 42746  	return nil
 42747  }
 42748  
 42749  // CassandraSource a copy activity source for a Cassandra database.
 42750  type CassandraSource struct {
 42751  	// Query - Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
 42752  	Query interface{} `json:"query,omitempty"`
 42753  	// 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'
 42754  	ConsistencyLevel CassandraSourceReadConsistencyLevels `json:"consistencyLevel,omitempty"`
 42755  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 42756  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 42757  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 42758  	AdditionalProperties map[string]interface{} `json:""`
 42759  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 42760  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 42761  	// 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])).
 42762  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 42763  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 42764  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 42765  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 42766  	Type TypeBasicCopySource `json:"type,omitempty"`
 42767  }
 42768  
 42769  // MarshalJSON is the custom marshaler for CassandraSource.
 42770  func (cs CassandraSource) MarshalJSON() ([]byte, error) {
 42771  	cs.Type = TypeCassandraSource
 42772  	objectMap := make(map[string]interface{})
 42773  	if cs.Query != nil {
 42774  		objectMap["query"] = cs.Query
 42775  	}
 42776  	if cs.ConsistencyLevel != "" {
 42777  		objectMap["consistencyLevel"] = cs.ConsistencyLevel
 42778  	}
 42779  	if cs.QueryTimeout != nil {
 42780  		objectMap["queryTimeout"] = cs.QueryTimeout
 42781  	}
 42782  	if cs.SourceRetryCount != nil {
 42783  		objectMap["sourceRetryCount"] = cs.SourceRetryCount
 42784  	}
 42785  	if cs.SourceRetryWait != nil {
 42786  		objectMap["sourceRetryWait"] = cs.SourceRetryWait
 42787  	}
 42788  	if cs.MaxConcurrentConnections != nil {
 42789  		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
 42790  	}
 42791  	if cs.Type != "" {
 42792  		objectMap["type"] = cs.Type
 42793  	}
 42794  	for k, v := range cs.AdditionalProperties {
 42795  		objectMap[k] = v
 42796  	}
 42797  	return json.Marshal(objectMap)
 42798  }
 42799  
 42800  // AsHTTPSource is the BasicCopySource implementation for CassandraSource.
 42801  func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) {
 42802  	return nil, false
 42803  }
 42804  
 42805  // AsAzureBlobFSSource is the BasicCopySource implementation for CassandraSource.
 42806  func (cs CassandraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 42807  	return nil, false
 42808  }
 42809  
 42810  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource.
 42811  func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 42812  	return nil, false
 42813  }
 42814  
 42815  // AsOffice365Source is the BasicCopySource implementation for CassandraSource.
 42816  func (cs CassandraSource) AsOffice365Source() (*Office365Source, bool) {
 42817  	return nil, false
 42818  }
 42819  
 42820  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CassandraSource.
 42821  func (cs CassandraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 42822  	return nil, false
 42823  }
 42824  
 42825  // AsMongoDbV2Source is the BasicCopySource implementation for CassandraSource.
 42826  func (cs CassandraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 42827  	return nil, false
 42828  }
 42829  
 42830  // AsMongoDbSource is the BasicCopySource implementation for CassandraSource.
 42831  func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) {
 42832  	return nil, false
 42833  }
 42834  
 42835  // AsWebSource is the BasicCopySource implementation for CassandraSource.
 42836  func (cs CassandraSource) AsWebSource() (*WebSource, bool) {
 42837  	return nil, false
 42838  }
 42839  
 42840  // AsOracleSource is the BasicCopySource implementation for CassandraSource.
 42841  func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) {
 42842  	return nil, false
 42843  }
 42844  
 42845  // AsAzureDataExplorerSource is the BasicCopySource implementation for CassandraSource.
 42846  func (cs CassandraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 42847  	return nil, false
 42848  }
 42849  
 42850  // AsHdfsSource is the BasicCopySource implementation for CassandraSource.
 42851  func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) {
 42852  	return nil, false
 42853  }
 42854  
 42855  // AsFileSystemSource is the BasicCopySource implementation for CassandraSource.
 42856  func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) {
 42857  	return nil, false
 42858  }
 42859  
 42860  // AsRestSource is the BasicCopySource implementation for CassandraSource.
 42861  func (cs CassandraSource) AsRestSource() (*RestSource, bool) {
 42862  	return nil, false
 42863  }
 42864  
 42865  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CassandraSource.
 42866  func (cs CassandraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 42867  	return nil, false
 42868  }
 42869  
 42870  // AsODataSource is the BasicCopySource implementation for CassandraSource.
 42871  func (cs CassandraSource) AsODataSource() (*ODataSource, bool) {
 42872  	return nil, false
 42873  }
 42874  
 42875  // AsMicrosoftAccessSource is the BasicCopySource implementation for CassandraSource.
 42876  func (cs CassandraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 42877  	return nil, false
 42878  }
 42879  
 42880  // AsRelationalSource is the BasicCopySource implementation for CassandraSource.
 42881  func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) {
 42882  	return nil, false
 42883  }
 42884  
 42885  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CassandraSource.
 42886  func (cs CassandraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 42887  	return nil, false
 42888  }
 42889  
 42890  // AsDynamicsCrmSource is the BasicCopySource implementation for CassandraSource.
 42891  func (cs CassandraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 42892  	return nil, false
 42893  }
 42894  
 42895  // AsDynamicsSource is the BasicCopySource implementation for CassandraSource.
 42896  func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) {
 42897  	return nil, false
 42898  }
 42899  
 42900  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CassandraSource.
 42901  func (cs CassandraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 42902  	return nil, false
 42903  }
 42904  
 42905  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource.
 42906  func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 42907  	return nil, false
 42908  }
 42909  
 42910  // AsBlobSource is the BasicCopySource implementation for CassandraSource.
 42911  func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) {
 42912  	return nil, false
 42913  }
 42914  
 42915  // AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource.
 42916  func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 42917  	return nil, false
 42918  }
 42919  
 42920  // AsGoogleAdWordsSource is the BasicCopySource implementation for CassandraSource.
 42921  func (cs CassandraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 42922  	return nil, false
 42923  }
 42924  
 42925  // AsOracleServiceCloudSource is the BasicCopySource implementation for CassandraSource.
 42926  func (cs CassandraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 42927  	return nil, false
 42928  }
 42929  
 42930  // AsDynamicsAXSource is the BasicCopySource implementation for CassandraSource.
 42931  func (cs CassandraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 42932  	return nil, false
 42933  }
 42934  
 42935  // AsResponsysSource is the BasicCopySource implementation for CassandraSource.
 42936  func (cs CassandraSource) AsResponsysSource() (*ResponsysSource, bool) {
 42937  	return nil, false
 42938  }
 42939  
 42940  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CassandraSource.
 42941  func (cs CassandraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 42942  	return nil, false
 42943  }
 42944  
 42945  // AsVerticaSource is the BasicCopySource implementation for CassandraSource.
 42946  func (cs CassandraSource) AsVerticaSource() (*VerticaSource, bool) {
 42947  	return nil, false
 42948  }
 42949  
 42950  // AsNetezzaSource is the BasicCopySource implementation for CassandraSource.
 42951  func (cs CassandraSource) AsNetezzaSource() (*NetezzaSource, bool) {
 42952  	return nil, false
 42953  }
 42954  
 42955  // AsZohoSource is the BasicCopySource implementation for CassandraSource.
 42956  func (cs CassandraSource) AsZohoSource() (*ZohoSource, bool) {
 42957  	return nil, false
 42958  }
 42959  
 42960  // AsXeroSource is the BasicCopySource implementation for CassandraSource.
 42961  func (cs CassandraSource) AsXeroSource() (*XeroSource, bool) {
 42962  	return nil, false
 42963  }
 42964  
 42965  // AsSquareSource is the BasicCopySource implementation for CassandraSource.
 42966  func (cs CassandraSource) AsSquareSource() (*SquareSource, bool) {
 42967  	return nil, false
 42968  }
 42969  
 42970  // AsSparkSource is the BasicCopySource implementation for CassandraSource.
 42971  func (cs CassandraSource) AsSparkSource() (*SparkSource, bool) {
 42972  	return nil, false
 42973  }
 42974  
 42975  // AsShopifySource is the BasicCopySource implementation for CassandraSource.
 42976  func (cs CassandraSource) AsShopifySource() (*ShopifySource, bool) {
 42977  	return nil, false
 42978  }
 42979  
 42980  // AsServiceNowSource is the BasicCopySource implementation for CassandraSource.
 42981  func (cs CassandraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 42982  	return nil, false
 42983  }
 42984  
 42985  // AsQuickBooksSource is the BasicCopySource implementation for CassandraSource.
 42986  func (cs CassandraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 42987  	return nil, false
 42988  }
 42989  
 42990  // AsPrestoSource is the BasicCopySource implementation for CassandraSource.
 42991  func (cs CassandraSource) AsPrestoSource() (*PrestoSource, bool) {
 42992  	return nil, false
 42993  }
 42994  
 42995  // AsPhoenixSource is the BasicCopySource implementation for CassandraSource.
 42996  func (cs CassandraSource) AsPhoenixSource() (*PhoenixSource, bool) {
 42997  	return nil, false
 42998  }
 42999  
 43000  // AsPaypalSource is the BasicCopySource implementation for CassandraSource.
 43001  func (cs CassandraSource) AsPaypalSource() (*PaypalSource, bool) {
 43002  	return nil, false
 43003  }
 43004  
 43005  // AsMarketoSource is the BasicCopySource implementation for CassandraSource.
 43006  func (cs CassandraSource) AsMarketoSource() (*MarketoSource, bool) {
 43007  	return nil, false
 43008  }
 43009  
 43010  // AsAzureMariaDBSource is the BasicCopySource implementation for CassandraSource.
 43011  func (cs CassandraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 43012  	return nil, false
 43013  }
 43014  
 43015  // AsMariaDBSource is the BasicCopySource implementation for CassandraSource.
 43016  func (cs CassandraSource) AsMariaDBSource() (*MariaDBSource, bool) {
 43017  	return nil, false
 43018  }
 43019  
 43020  // AsMagentoSource is the BasicCopySource implementation for CassandraSource.
 43021  func (cs CassandraSource) AsMagentoSource() (*MagentoSource, bool) {
 43022  	return nil, false
 43023  }
 43024  
 43025  // AsJiraSource is the BasicCopySource implementation for CassandraSource.
 43026  func (cs CassandraSource) AsJiraSource() (*JiraSource, bool) {
 43027  	return nil, false
 43028  }
 43029  
 43030  // AsImpalaSource is the BasicCopySource implementation for CassandraSource.
 43031  func (cs CassandraSource) AsImpalaSource() (*ImpalaSource, bool) {
 43032  	return nil, false
 43033  }
 43034  
 43035  // AsHubspotSource is the BasicCopySource implementation for CassandraSource.
 43036  func (cs CassandraSource) AsHubspotSource() (*HubspotSource, bool) {
 43037  	return nil, false
 43038  }
 43039  
 43040  // AsHiveSource is the BasicCopySource implementation for CassandraSource.
 43041  func (cs CassandraSource) AsHiveSource() (*HiveSource, bool) {
 43042  	return nil, false
 43043  }
 43044  
 43045  // AsHBaseSource is the BasicCopySource implementation for CassandraSource.
 43046  func (cs CassandraSource) AsHBaseSource() (*HBaseSource, bool) {
 43047  	return nil, false
 43048  }
 43049  
 43050  // AsGreenplumSource is the BasicCopySource implementation for CassandraSource.
 43051  func (cs CassandraSource) AsGreenplumSource() (*GreenplumSource, bool) {
 43052  	return nil, false
 43053  }
 43054  
 43055  // AsGoogleBigQuerySource is the BasicCopySource implementation for CassandraSource.
 43056  func (cs CassandraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 43057  	return nil, false
 43058  }
 43059  
 43060  // AsEloquaSource is the BasicCopySource implementation for CassandraSource.
 43061  func (cs CassandraSource) AsEloquaSource() (*EloquaSource, bool) {
 43062  	return nil, false
 43063  }
 43064  
 43065  // AsDrillSource is the BasicCopySource implementation for CassandraSource.
 43066  func (cs CassandraSource) AsDrillSource() (*DrillSource, bool) {
 43067  	return nil, false
 43068  }
 43069  
 43070  // AsCouchbaseSource is the BasicCopySource implementation for CassandraSource.
 43071  func (cs CassandraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 43072  	return nil, false
 43073  }
 43074  
 43075  // AsConcurSource is the BasicCopySource implementation for CassandraSource.
 43076  func (cs CassandraSource) AsConcurSource() (*ConcurSource, bool) {
 43077  	return nil, false
 43078  }
 43079  
 43080  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CassandraSource.
 43081  func (cs CassandraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 43082  	return nil, false
 43083  }
 43084  
 43085  // AsAmazonMWSSource is the BasicCopySource implementation for CassandraSource.
 43086  func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 43087  	return nil, false
 43088  }
 43089  
 43090  // AsCassandraSource is the BasicCopySource implementation for CassandraSource.
 43091  func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) {
 43092  	return &cs, true
 43093  }
 43094  
 43095  // AsTeradataSource is the BasicCopySource implementation for CassandraSource.
 43096  func (cs CassandraSource) AsTeradataSource() (*TeradataSource, bool) {
 43097  	return nil, false
 43098  }
 43099  
 43100  // AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource.
 43101  func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 43102  	return nil, false
 43103  }
 43104  
 43105  // AsSQLDWSource is the BasicCopySource implementation for CassandraSource.
 43106  func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) {
 43107  	return nil, false
 43108  }
 43109  
 43110  // AsSQLMISource is the BasicCopySource implementation for CassandraSource.
 43111  func (cs CassandraSource) AsSQLMISource() (*SQLMISource, bool) {
 43112  	return nil, false
 43113  }
 43114  
 43115  // AsAzureSQLSource is the BasicCopySource implementation for CassandraSource.
 43116  func (cs CassandraSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 43117  	return nil, false
 43118  }
 43119  
 43120  // AsSQLServerSource is the BasicCopySource implementation for CassandraSource.
 43121  func (cs CassandraSource) AsSQLServerSource() (*SQLServerSource, bool) {
 43122  	return nil, false
 43123  }
 43124  
 43125  // AsSQLSource is the BasicCopySource implementation for CassandraSource.
 43126  func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) {
 43127  	return nil, false
 43128  }
 43129  
 43130  // AsSapTableSource is the BasicCopySource implementation for CassandraSource.
 43131  func (cs CassandraSource) AsSapTableSource() (*SapTableSource, bool) {
 43132  	return nil, false
 43133  }
 43134  
 43135  // AsSapOpenHubSource is the BasicCopySource implementation for CassandraSource.
 43136  func (cs CassandraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 43137  	return nil, false
 43138  }
 43139  
 43140  // AsSapHanaSource is the BasicCopySource implementation for CassandraSource.
 43141  func (cs CassandraSource) AsSapHanaSource() (*SapHanaSource, bool) {
 43142  	return nil, false
 43143  }
 43144  
 43145  // AsSapEccSource is the BasicCopySource implementation for CassandraSource.
 43146  func (cs CassandraSource) AsSapEccSource() (*SapEccSource, bool) {
 43147  	return nil, false
 43148  }
 43149  
 43150  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CassandraSource.
 43151  func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 43152  	return nil, false
 43153  }
 43154  
 43155  // AsSalesforceSource is the BasicCopySource implementation for CassandraSource.
 43156  func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) {
 43157  	return nil, false
 43158  }
 43159  
 43160  // AsSapBwSource is the BasicCopySource implementation for CassandraSource.
 43161  func (cs CassandraSource) AsSapBwSource() (*SapBwSource, bool) {
 43162  	return nil, false
 43163  }
 43164  
 43165  // AsSybaseSource is the BasicCopySource implementation for CassandraSource.
 43166  func (cs CassandraSource) AsSybaseSource() (*SybaseSource, bool) {
 43167  	return nil, false
 43168  }
 43169  
 43170  // AsPostgreSQLSource is the BasicCopySource implementation for CassandraSource.
 43171  func (cs CassandraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 43172  	return nil, false
 43173  }
 43174  
 43175  // AsMySQLSource is the BasicCopySource implementation for CassandraSource.
 43176  func (cs CassandraSource) AsMySQLSource() (*MySQLSource, bool) {
 43177  	return nil, false
 43178  }
 43179  
 43180  // AsOdbcSource is the BasicCopySource implementation for CassandraSource.
 43181  func (cs CassandraSource) AsOdbcSource() (*OdbcSource, bool) {
 43182  	return nil, false
 43183  }
 43184  
 43185  // AsDb2Source is the BasicCopySource implementation for CassandraSource.
 43186  func (cs CassandraSource) AsDb2Source() (*Db2Source, bool) {
 43187  	return nil, false
 43188  }
 43189  
 43190  // AsInformixSource is the BasicCopySource implementation for CassandraSource.
 43191  func (cs CassandraSource) AsInformixSource() (*InformixSource, bool) {
 43192  	return nil, false
 43193  }
 43194  
 43195  // AsAzureTableSource is the BasicCopySource implementation for CassandraSource.
 43196  func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) {
 43197  	return nil, false
 43198  }
 43199  
 43200  // AsTabularSource is the BasicCopySource implementation for CassandraSource.
 43201  func (cs CassandraSource) AsTabularSource() (*TabularSource, bool) {
 43202  	return nil, false
 43203  }
 43204  
 43205  // AsBasicTabularSource is the BasicCopySource implementation for CassandraSource.
 43206  func (cs CassandraSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 43207  	return &cs, true
 43208  }
 43209  
 43210  // AsBinarySource is the BasicCopySource implementation for CassandraSource.
 43211  func (cs CassandraSource) AsBinarySource() (*BinarySource, bool) {
 43212  	return nil, false
 43213  }
 43214  
 43215  // AsOrcSource is the BasicCopySource implementation for CassandraSource.
 43216  func (cs CassandraSource) AsOrcSource() (*OrcSource, bool) {
 43217  	return nil, false
 43218  }
 43219  
 43220  // AsJSONSource is the BasicCopySource implementation for CassandraSource.
 43221  func (cs CassandraSource) AsJSONSource() (*JSONSource, bool) {
 43222  	return nil, false
 43223  }
 43224  
 43225  // AsDelimitedTextSource is the BasicCopySource implementation for CassandraSource.
 43226  func (cs CassandraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 43227  	return nil, false
 43228  }
 43229  
 43230  // AsParquetSource is the BasicCopySource implementation for CassandraSource.
 43231  func (cs CassandraSource) AsParquetSource() (*ParquetSource, bool) {
 43232  	return nil, false
 43233  }
 43234  
 43235  // AsAvroSource is the BasicCopySource implementation for CassandraSource.
 43236  func (cs CassandraSource) AsAvroSource() (*AvroSource, bool) {
 43237  	return nil, false
 43238  }
 43239  
 43240  // AsCopySource is the BasicCopySource implementation for CassandraSource.
 43241  func (cs CassandraSource) AsCopySource() (*CopySource, bool) {
 43242  	return nil, false
 43243  }
 43244  
 43245  // AsBasicCopySource is the BasicCopySource implementation for CassandraSource.
 43246  func (cs CassandraSource) AsBasicCopySource() (BasicCopySource, bool) {
 43247  	return &cs, true
 43248  }
 43249  
 43250  // UnmarshalJSON is the custom unmarshaler for CassandraSource struct.
 43251  func (cs *CassandraSource) UnmarshalJSON(body []byte) error {
 43252  	var m map[string]*json.RawMessage
 43253  	err := json.Unmarshal(body, &m)
 43254  	if err != nil {
 43255  		return err
 43256  	}
 43257  	for k, v := range m {
 43258  		switch k {
 43259  		case "query":
 43260  			if v != nil {
 43261  				var query interface{}
 43262  				err = json.Unmarshal(*v, &query)
 43263  				if err != nil {
 43264  					return err
 43265  				}
 43266  				cs.Query = query
 43267  			}
 43268  		case "consistencyLevel":
 43269  			if v != nil {
 43270  				var consistencyLevel CassandraSourceReadConsistencyLevels
 43271  				err = json.Unmarshal(*v, &consistencyLevel)
 43272  				if err != nil {
 43273  					return err
 43274  				}
 43275  				cs.ConsistencyLevel = consistencyLevel
 43276  			}
 43277  		case "queryTimeout":
 43278  			if v != nil {
 43279  				var queryTimeout interface{}
 43280  				err = json.Unmarshal(*v, &queryTimeout)
 43281  				if err != nil {
 43282  					return err
 43283  				}
 43284  				cs.QueryTimeout = queryTimeout
 43285  			}
 43286  		default:
 43287  			if v != nil {
 43288  				var additionalProperties interface{}
 43289  				err = json.Unmarshal(*v, &additionalProperties)
 43290  				if err != nil {
 43291  					return err
 43292  				}
 43293  				if cs.AdditionalProperties == nil {
 43294  					cs.AdditionalProperties = make(map[string]interface{})
 43295  				}
 43296  				cs.AdditionalProperties[k] = additionalProperties
 43297  			}
 43298  		case "sourceRetryCount":
 43299  			if v != nil {
 43300  				var sourceRetryCount interface{}
 43301  				err = json.Unmarshal(*v, &sourceRetryCount)
 43302  				if err != nil {
 43303  					return err
 43304  				}
 43305  				cs.SourceRetryCount = sourceRetryCount
 43306  			}
 43307  		case "sourceRetryWait":
 43308  			if v != nil {
 43309  				var sourceRetryWait interface{}
 43310  				err = json.Unmarshal(*v, &sourceRetryWait)
 43311  				if err != nil {
 43312  					return err
 43313  				}
 43314  				cs.SourceRetryWait = sourceRetryWait
 43315  			}
 43316  		case "maxConcurrentConnections":
 43317  			if v != nil {
 43318  				var maxConcurrentConnections interface{}
 43319  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 43320  				if err != nil {
 43321  					return err
 43322  				}
 43323  				cs.MaxConcurrentConnections = maxConcurrentConnections
 43324  			}
 43325  		case "type":
 43326  			if v != nil {
 43327  				var typeVar TypeBasicCopySource
 43328  				err = json.Unmarshal(*v, &typeVar)
 43329  				if err != nil {
 43330  					return err
 43331  				}
 43332  				cs.Type = typeVar
 43333  			}
 43334  		}
 43335  	}
 43336  
 43337  	return nil
 43338  }
 43339  
 43340  // CassandraTableDataset the Cassandra database dataset.
 43341  type CassandraTableDataset struct {
 43342  	// CassandraTableDatasetTypeProperties - Cassandra dataset properties.
 43343  	*CassandraTableDatasetTypeProperties `json:"typeProperties,omitempty"`
 43344  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 43345  	AdditionalProperties map[string]interface{} `json:""`
 43346  	// Description - Dataset description.
 43347  	Description *string `json:"description,omitempty"`
 43348  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 43349  	Structure interface{} `json:"structure,omitempty"`
 43350  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 43351  	Schema interface{} `json:"schema,omitempty"`
 43352  	// LinkedServiceName - Linked service reference.
 43353  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 43354  	// Parameters - Parameters for dataset.
 43355  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 43356  	// Annotations - List of tags that can be used for describing the Dataset.
 43357  	Annotations *[]interface{} `json:"annotations,omitempty"`
 43358  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 43359  	Folder *DatasetFolder `json:"folder,omitempty"`
 43360  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 43361  	Type TypeBasicDataset `json:"type,omitempty"`
 43362  }
 43363  
 43364  // MarshalJSON is the custom marshaler for CassandraTableDataset.
 43365  func (ctd CassandraTableDataset) MarshalJSON() ([]byte, error) {
 43366  	ctd.Type = TypeCassandraTable
 43367  	objectMap := make(map[string]interface{})
 43368  	if ctd.CassandraTableDatasetTypeProperties != nil {
 43369  		objectMap["typeProperties"] = ctd.CassandraTableDatasetTypeProperties
 43370  	}
 43371  	if ctd.Description != nil {
 43372  		objectMap["description"] = ctd.Description
 43373  	}
 43374  	if ctd.Structure != nil {
 43375  		objectMap["structure"] = ctd.Structure
 43376  	}
 43377  	if ctd.Schema != nil {
 43378  		objectMap["schema"] = ctd.Schema
 43379  	}
 43380  	if ctd.LinkedServiceName != nil {
 43381  		objectMap["linkedServiceName"] = ctd.LinkedServiceName
 43382  	}
 43383  	if ctd.Parameters != nil {
 43384  		objectMap["parameters"] = ctd.Parameters
 43385  	}
 43386  	if ctd.Annotations != nil {
 43387  		objectMap["annotations"] = ctd.Annotations
 43388  	}
 43389  	if ctd.Folder != nil {
 43390  		objectMap["folder"] = ctd.Folder
 43391  	}
 43392  	if ctd.Type != "" {
 43393  		objectMap["type"] = ctd.Type
 43394  	}
 43395  	for k, v := range ctd.AdditionalProperties {
 43396  		objectMap[k] = v
 43397  	}
 43398  	return json.Marshal(objectMap)
 43399  }
 43400  
 43401  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43402  func (ctd CassandraTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 43403  	return nil, false
 43404  }
 43405  
 43406  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43407  func (ctd CassandraTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 43408  	return nil, false
 43409  }
 43410  
 43411  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43412  func (ctd CassandraTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 43413  	return nil, false
 43414  }
 43415  
 43416  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43417  func (ctd CassandraTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 43418  	return nil, false
 43419  }
 43420  
 43421  // AsResponsysObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43422  func (ctd CassandraTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 43423  	return nil, false
 43424  }
 43425  
 43426  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43427  func (ctd CassandraTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 43428  	return nil, false
 43429  }
 43430  
 43431  // AsVerticaTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43432  func (ctd CassandraTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 43433  	return nil, false
 43434  }
 43435  
 43436  // AsNetezzaTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43437  func (ctd CassandraTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 43438  	return nil, false
 43439  }
 43440  
 43441  // AsZohoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43442  func (ctd CassandraTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 43443  	return nil, false
 43444  }
 43445  
 43446  // AsXeroObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43447  func (ctd CassandraTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 43448  	return nil, false
 43449  }
 43450  
 43451  // AsSquareObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43452  func (ctd CassandraTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 43453  	return nil, false
 43454  }
 43455  
 43456  // AsSparkObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43457  func (ctd CassandraTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 43458  	return nil, false
 43459  }
 43460  
 43461  // AsShopifyObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43462  func (ctd CassandraTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 43463  	return nil, false
 43464  }
 43465  
 43466  // AsServiceNowObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43467  func (ctd CassandraTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 43468  	return nil, false
 43469  }
 43470  
 43471  // AsQuickBooksObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43472  func (ctd CassandraTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 43473  	return nil, false
 43474  }
 43475  
 43476  // AsPrestoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43477  func (ctd CassandraTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 43478  	return nil, false
 43479  }
 43480  
 43481  // AsPhoenixObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43482  func (ctd CassandraTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 43483  	return nil, false
 43484  }
 43485  
 43486  // AsPaypalObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43487  func (ctd CassandraTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 43488  	return nil, false
 43489  }
 43490  
 43491  // AsMarketoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43492  func (ctd CassandraTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 43493  	return nil, false
 43494  }
 43495  
 43496  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43497  func (ctd CassandraTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 43498  	return nil, false
 43499  }
 43500  
 43501  // AsMariaDBTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43502  func (ctd CassandraTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 43503  	return nil, false
 43504  }
 43505  
 43506  // AsMagentoObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43507  func (ctd CassandraTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 43508  	return nil, false
 43509  }
 43510  
 43511  // AsJiraObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43512  func (ctd CassandraTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 43513  	return nil, false
 43514  }
 43515  
 43516  // AsImpalaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43517  func (ctd CassandraTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 43518  	return nil, false
 43519  }
 43520  
 43521  // AsHubspotObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43522  func (ctd CassandraTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 43523  	return nil, false
 43524  }
 43525  
 43526  // AsHiveObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43527  func (ctd CassandraTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 43528  	return nil, false
 43529  }
 43530  
 43531  // AsHBaseObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43532  func (ctd CassandraTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 43533  	return nil, false
 43534  }
 43535  
 43536  // AsGreenplumTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43537  func (ctd CassandraTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 43538  	return nil, false
 43539  }
 43540  
 43541  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43542  func (ctd CassandraTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 43543  	return nil, false
 43544  }
 43545  
 43546  // AsEloquaObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43547  func (ctd CassandraTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 43548  	return nil, false
 43549  }
 43550  
 43551  // AsDrillTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43552  func (ctd CassandraTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 43553  	return nil, false
 43554  }
 43555  
 43556  // AsCouchbaseTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43557  func (ctd CassandraTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 43558  	return nil, false
 43559  }
 43560  
 43561  // AsConcurObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43562  func (ctd CassandraTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 43563  	return nil, false
 43564  }
 43565  
 43566  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43567  func (ctd CassandraTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 43568  	return nil, false
 43569  }
 43570  
 43571  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43572  func (ctd CassandraTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 43573  	return nil, false
 43574  }
 43575  
 43576  // AsAzureSearchIndexDataset is the BasicDataset implementation for CassandraTableDataset.
 43577  func (ctd CassandraTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 43578  	return nil, false
 43579  }
 43580  
 43581  // AsWebTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43582  func (ctd CassandraTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 43583  	return nil, false
 43584  }
 43585  
 43586  // AsSapTableResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43587  func (ctd CassandraTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 43588  	return nil, false
 43589  }
 43590  
 43591  // AsRestResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43592  func (ctd CassandraTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 43593  	return nil, false
 43594  }
 43595  
 43596  // AsSQLServerTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43597  func (ctd CassandraTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 43598  	return nil, false
 43599  }
 43600  
 43601  // AsSapOpenHubTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43602  func (ctd CassandraTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 43603  	return nil, false
 43604  }
 43605  
 43606  // AsSapHanaTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43607  func (ctd CassandraTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 43608  	return nil, false
 43609  }
 43610  
 43611  // AsSapEccResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43612  func (ctd CassandraTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 43613  	return nil, false
 43614  }
 43615  
 43616  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43617  func (ctd CassandraTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 43618  	return nil, false
 43619  }
 43620  
 43621  // AsSapBwCubeDataset is the BasicDataset implementation for CassandraTableDataset.
 43622  func (ctd CassandraTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 43623  	return nil, false
 43624  }
 43625  
 43626  // AsSybaseTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43627  func (ctd CassandraTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 43628  	return nil, false
 43629  }
 43630  
 43631  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43632  func (ctd CassandraTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 43633  	return nil, false
 43634  }
 43635  
 43636  // AsSalesforceObjectDataset is the BasicDataset implementation for CassandraTableDataset.
 43637  func (ctd CassandraTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 43638  	return nil, false
 43639  }
 43640  
 43641  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43642  func (ctd CassandraTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 43643  	return nil, false
 43644  }
 43645  
 43646  // AsPostgreSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43647  func (ctd CassandraTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 43648  	return nil, false
 43649  }
 43650  
 43651  // AsMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43652  func (ctd CassandraTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 43653  	return nil, false
 43654  }
 43655  
 43656  // AsOdbcTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43657  func (ctd CassandraTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 43658  	return nil, false
 43659  }
 43660  
 43661  // AsInformixTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43662  func (ctd CassandraTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 43663  	return nil, false
 43664  }
 43665  
 43666  // AsRelationalTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43667  func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 43668  	return nil, false
 43669  }
 43670  
 43671  // AsDb2TableDataset is the BasicDataset implementation for CassandraTableDataset.
 43672  func (ctd CassandraTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 43673  	return nil, false
 43674  }
 43675  
 43676  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43677  func (ctd CassandraTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 43678  	return nil, false
 43679  }
 43680  
 43681  // AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43682  func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 43683  	return nil, false
 43684  }
 43685  
 43686  // AsTeradataTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43687  func (ctd CassandraTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 43688  	return nil, false
 43689  }
 43690  
 43691  // AsOracleTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43692  func (ctd CassandraTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 43693  	return nil, false
 43694  }
 43695  
 43696  // AsODataResourceDataset is the BasicDataset implementation for CassandraTableDataset.
 43697  func (ctd CassandraTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 43698  	return nil, false
 43699  }
 43700  
 43701  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset.
 43702  func (ctd CassandraTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 43703  	return nil, false
 43704  }
 43705  
 43706  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CassandraTableDataset.
 43707  func (ctd CassandraTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 43708  	return nil, false
 43709  }
 43710  
 43711  // AsMongoDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
 43712  func (ctd CassandraTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 43713  	return nil, false
 43714  }
 43715  
 43716  // AsOffice365Dataset is the BasicDataset implementation for CassandraTableDataset.
 43717  func (ctd CassandraTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 43718  	return nil, false
 43719  }
 43720  
 43721  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
 43722  func (ctd CassandraTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 43723  	return nil, false
 43724  }
 43725  
 43726  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CassandraTableDataset.
 43727  func (ctd CassandraTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 43728  	return nil, false
 43729  }
 43730  
 43731  // AsDynamicsEntityDataset is the BasicDataset implementation for CassandraTableDataset.
 43732  func (ctd CassandraTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 43733  	return nil, false
 43734  }
 43735  
 43736  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CassandraTableDataset.
 43737  func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 43738  	return nil, false
 43739  }
 43740  
 43741  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset.
 43742  func (ctd CassandraTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 43743  	return nil, false
 43744  }
 43745  
 43746  // AsCustomDataset is the BasicDataset implementation for CassandraTableDataset.
 43747  func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 43748  	return nil, false
 43749  }
 43750  
 43751  // AsCassandraTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43752  func (ctd CassandraTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 43753  	return &ctd, true
 43754  }
 43755  
 43756  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43757  func (ctd CassandraTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 43758  	return nil, false
 43759  }
 43760  
 43761  // AsAzureSQLMITableDataset is the BasicDataset implementation for CassandraTableDataset.
 43762  func (ctd CassandraTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 43763  	return nil, false
 43764  }
 43765  
 43766  // AsAzureSQLTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43767  func (ctd CassandraTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 43768  	return nil, false
 43769  }
 43770  
 43771  // AsAzureTableDataset is the BasicDataset implementation for CassandraTableDataset.
 43772  func (ctd CassandraTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 43773  	return nil, false
 43774  }
 43775  
 43776  // AsBinaryDataset is the BasicDataset implementation for CassandraTableDataset.
 43777  func (ctd CassandraTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 43778  	return nil, false
 43779  }
 43780  
 43781  // AsOrcDataset is the BasicDataset implementation for CassandraTableDataset.
 43782  func (ctd CassandraTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 43783  	return nil, false
 43784  }
 43785  
 43786  // AsJSONDataset is the BasicDataset implementation for CassandraTableDataset.
 43787  func (ctd CassandraTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 43788  	return nil, false
 43789  }
 43790  
 43791  // AsDelimitedTextDataset is the BasicDataset implementation for CassandraTableDataset.
 43792  func (ctd CassandraTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 43793  	return nil, false
 43794  }
 43795  
 43796  // AsParquetDataset is the BasicDataset implementation for CassandraTableDataset.
 43797  func (ctd CassandraTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 43798  	return nil, false
 43799  }
 43800  
 43801  // AsAvroDataset is the BasicDataset implementation for CassandraTableDataset.
 43802  func (ctd CassandraTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 43803  	return nil, false
 43804  }
 43805  
 43806  // AsDataset is the BasicDataset implementation for CassandraTableDataset.
 43807  func (ctd CassandraTableDataset) AsDataset() (*Dataset, bool) {
 43808  	return nil, false
 43809  }
 43810  
 43811  // AsBasicDataset is the BasicDataset implementation for CassandraTableDataset.
 43812  func (ctd CassandraTableDataset) AsBasicDataset() (BasicDataset, bool) {
 43813  	return &ctd, true
 43814  }
 43815  
 43816  // UnmarshalJSON is the custom unmarshaler for CassandraTableDataset struct.
 43817  func (ctd *CassandraTableDataset) UnmarshalJSON(body []byte) error {
 43818  	var m map[string]*json.RawMessage
 43819  	err := json.Unmarshal(body, &m)
 43820  	if err != nil {
 43821  		return err
 43822  	}
 43823  	for k, v := range m {
 43824  		switch k {
 43825  		case "typeProperties":
 43826  			if v != nil {
 43827  				var cassandraTableDatasetTypeProperties CassandraTableDatasetTypeProperties
 43828  				err = json.Unmarshal(*v, &cassandraTableDatasetTypeProperties)
 43829  				if err != nil {
 43830  					return err
 43831  				}
 43832  				ctd.CassandraTableDatasetTypeProperties = &cassandraTableDatasetTypeProperties
 43833  			}
 43834  		default:
 43835  			if v != nil {
 43836  				var additionalProperties interface{}
 43837  				err = json.Unmarshal(*v, &additionalProperties)
 43838  				if err != nil {
 43839  					return err
 43840  				}
 43841  				if ctd.AdditionalProperties == nil {
 43842  					ctd.AdditionalProperties = make(map[string]interface{})
 43843  				}
 43844  				ctd.AdditionalProperties[k] = additionalProperties
 43845  			}
 43846  		case "description":
 43847  			if v != nil {
 43848  				var description string
 43849  				err = json.Unmarshal(*v, &description)
 43850  				if err != nil {
 43851  					return err
 43852  				}
 43853  				ctd.Description = &description
 43854  			}
 43855  		case "structure":
 43856  			if v != nil {
 43857  				var structure interface{}
 43858  				err = json.Unmarshal(*v, &structure)
 43859  				if err != nil {
 43860  					return err
 43861  				}
 43862  				ctd.Structure = structure
 43863  			}
 43864  		case "schema":
 43865  			if v != nil {
 43866  				var schema interface{}
 43867  				err = json.Unmarshal(*v, &schema)
 43868  				if err != nil {
 43869  					return err
 43870  				}
 43871  				ctd.Schema = schema
 43872  			}
 43873  		case "linkedServiceName":
 43874  			if v != nil {
 43875  				var linkedServiceName LinkedServiceReference
 43876  				err = json.Unmarshal(*v, &linkedServiceName)
 43877  				if err != nil {
 43878  					return err
 43879  				}
 43880  				ctd.LinkedServiceName = &linkedServiceName
 43881  			}
 43882  		case "parameters":
 43883  			if v != nil {
 43884  				var parameters map[string]*ParameterSpecification
 43885  				err = json.Unmarshal(*v, &parameters)
 43886  				if err != nil {
 43887  					return err
 43888  				}
 43889  				ctd.Parameters = parameters
 43890  			}
 43891  		case "annotations":
 43892  			if v != nil {
 43893  				var annotations []interface{}
 43894  				err = json.Unmarshal(*v, &annotations)
 43895  				if err != nil {
 43896  					return err
 43897  				}
 43898  				ctd.Annotations = &annotations
 43899  			}
 43900  		case "folder":
 43901  			if v != nil {
 43902  				var folder DatasetFolder
 43903  				err = json.Unmarshal(*v, &folder)
 43904  				if err != nil {
 43905  					return err
 43906  				}
 43907  				ctd.Folder = &folder
 43908  			}
 43909  		case "type":
 43910  			if v != nil {
 43911  				var typeVar TypeBasicDataset
 43912  				err = json.Unmarshal(*v, &typeVar)
 43913  				if err != nil {
 43914  					return err
 43915  				}
 43916  				ctd.Type = typeVar
 43917  			}
 43918  		}
 43919  	}
 43920  
 43921  	return nil
 43922  }
 43923  
 43924  // CassandraTableDatasetTypeProperties cassandra dataset properties.
 43925  type CassandraTableDatasetTypeProperties struct {
 43926  	// TableName - The table name of the Cassandra database. Type: string (or Expression with resultType string).
 43927  	TableName interface{} `json:"tableName,omitempty"`
 43928  	// Keyspace - The keyspace of the Cassandra database. Type: string (or Expression with resultType string).
 43929  	Keyspace interface{} `json:"keyspace,omitempty"`
 43930  }
 43931  
 43932  // ChainingTrigger trigger that allows the referenced pipeline to depend on other pipeline runs based on
 43933  // runDimension Name/Value pairs. Upstream pipelines should declare the same runDimension Name and their
 43934  // runs should have the values for those runDimensions. The referenced pipeline run would be triggered if
 43935  // the values for the runDimension match for all upstream pipeline runs.
 43936  type ChainingTrigger struct {
 43937  	// Pipeline - Pipeline for which runs are created when all upstream pipelines complete successfully.
 43938  	Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"`
 43939  	// ChainingTriggerTypeProperties - Chaining Trigger properties.
 43940  	*ChainingTriggerTypeProperties `json:"typeProperties,omitempty"`
 43941  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 43942  	AdditionalProperties map[string]interface{} `json:""`
 43943  	// Description - Trigger description.
 43944  	Description *string `json:"description,omitempty"`
 43945  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
 43946  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
 43947  	// Annotations - List of tags that can be used for describing the trigger.
 43948  	Annotations *[]interface{} `json:"annotations,omitempty"`
 43949  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
 43950  	Type TypeBasicTrigger `json:"type,omitempty"`
 43951  }
 43952  
 43953  // MarshalJSON is the custom marshaler for ChainingTrigger.
 43954  func (ct ChainingTrigger) MarshalJSON() ([]byte, error) {
 43955  	ct.Type = TypeChainingTrigger
 43956  	objectMap := make(map[string]interface{})
 43957  	if ct.Pipeline != nil {
 43958  		objectMap["pipeline"] = ct.Pipeline
 43959  	}
 43960  	if ct.ChainingTriggerTypeProperties != nil {
 43961  		objectMap["typeProperties"] = ct.ChainingTriggerTypeProperties
 43962  	}
 43963  	if ct.Description != nil {
 43964  		objectMap["description"] = ct.Description
 43965  	}
 43966  	if ct.Annotations != nil {
 43967  		objectMap["annotations"] = ct.Annotations
 43968  	}
 43969  	if ct.Type != "" {
 43970  		objectMap["type"] = ct.Type
 43971  	}
 43972  	for k, v := range ct.AdditionalProperties {
 43973  		objectMap[k] = v
 43974  	}
 43975  	return json.Marshal(objectMap)
 43976  }
 43977  
 43978  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger.
 43979  func (ct ChainingTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
 43980  	return nil, false
 43981  }
 43982  
 43983  // AsChainingTrigger is the BasicTrigger implementation for ChainingTrigger.
 43984  func (ct ChainingTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
 43985  	return &ct, true
 43986  }
 43987  
 43988  // AsTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger.
 43989  func (ct ChainingTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
 43990  	return nil, false
 43991  }
 43992  
 43993  // AsBlobEventsTrigger is the BasicTrigger implementation for ChainingTrigger.
 43994  func (ct ChainingTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
 43995  	return nil, false
 43996  }
 43997  
 43998  // AsBlobTrigger is the BasicTrigger implementation for ChainingTrigger.
 43999  func (ct ChainingTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
 44000  	return nil, false
 44001  }
 44002  
 44003  // AsScheduleTrigger is the BasicTrigger implementation for ChainingTrigger.
 44004  func (ct ChainingTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
 44005  	return nil, false
 44006  }
 44007  
 44008  // AsMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger.
 44009  func (ct ChainingTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
 44010  	return nil, false
 44011  }
 44012  
 44013  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger.
 44014  func (ct ChainingTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
 44015  	return nil, false
 44016  }
 44017  
 44018  // AsTrigger is the BasicTrigger implementation for ChainingTrigger.
 44019  func (ct ChainingTrigger) AsTrigger() (*Trigger, bool) {
 44020  	return nil, false
 44021  }
 44022  
 44023  // AsBasicTrigger is the BasicTrigger implementation for ChainingTrigger.
 44024  func (ct ChainingTrigger) AsBasicTrigger() (BasicTrigger, bool) {
 44025  	return &ct, true
 44026  }
 44027  
 44028  // UnmarshalJSON is the custom unmarshaler for ChainingTrigger struct.
 44029  func (ct *ChainingTrigger) UnmarshalJSON(body []byte) error {
 44030  	var m map[string]*json.RawMessage
 44031  	err := json.Unmarshal(body, &m)
 44032  	if err != nil {
 44033  		return err
 44034  	}
 44035  	for k, v := range m {
 44036  		switch k {
 44037  		case "pipeline":
 44038  			if v != nil {
 44039  				var pipeline TriggerPipelineReference
 44040  				err = json.Unmarshal(*v, &pipeline)
 44041  				if err != nil {
 44042  					return err
 44043  				}
 44044  				ct.Pipeline = &pipeline
 44045  			}
 44046  		case "typeProperties":
 44047  			if v != nil {
 44048  				var chainingTriggerTypeProperties ChainingTriggerTypeProperties
 44049  				err = json.Unmarshal(*v, &chainingTriggerTypeProperties)
 44050  				if err != nil {
 44051  					return err
 44052  				}
 44053  				ct.ChainingTriggerTypeProperties = &chainingTriggerTypeProperties
 44054  			}
 44055  		default:
 44056  			if v != nil {
 44057  				var additionalProperties interface{}
 44058  				err = json.Unmarshal(*v, &additionalProperties)
 44059  				if err != nil {
 44060  					return err
 44061  				}
 44062  				if ct.AdditionalProperties == nil {
 44063  					ct.AdditionalProperties = make(map[string]interface{})
 44064  				}
 44065  				ct.AdditionalProperties[k] = additionalProperties
 44066  			}
 44067  		case "description":
 44068  			if v != nil {
 44069  				var description string
 44070  				err = json.Unmarshal(*v, &description)
 44071  				if err != nil {
 44072  					return err
 44073  				}
 44074  				ct.Description = &description
 44075  			}
 44076  		case "runtimeState":
 44077  			if v != nil {
 44078  				var runtimeState TriggerRuntimeState
 44079  				err = json.Unmarshal(*v, &runtimeState)
 44080  				if err != nil {
 44081  					return err
 44082  				}
 44083  				ct.RuntimeState = runtimeState
 44084  			}
 44085  		case "annotations":
 44086  			if v != nil {
 44087  				var annotations []interface{}
 44088  				err = json.Unmarshal(*v, &annotations)
 44089  				if err != nil {
 44090  					return err
 44091  				}
 44092  				ct.Annotations = &annotations
 44093  			}
 44094  		case "type":
 44095  			if v != nil {
 44096  				var typeVar TypeBasicTrigger
 44097  				err = json.Unmarshal(*v, &typeVar)
 44098  				if err != nil {
 44099  					return err
 44100  				}
 44101  				ct.Type = typeVar
 44102  			}
 44103  		}
 44104  	}
 44105  
 44106  	return nil
 44107  }
 44108  
 44109  // ChainingTriggerTypeProperties chaining Trigger properties.
 44110  type ChainingTriggerTypeProperties struct {
 44111  	// DependsOn - Upstream Pipelines.
 44112  	DependsOn *[]PipelineReference `json:"dependsOn,omitempty"`
 44113  	// RunDimension - Run Dimension property that needs to be emitted by upstream pipelines.
 44114  	RunDimension *string `json:"runDimension,omitempty"`
 44115  }
 44116  
 44117  // CloudError the object that defines the structure of an Azure Synapse error response.
 44118  type CloudError struct {
 44119  	// CloudErrorBody - Error data
 44120  	*CloudErrorBody `json:"error,omitempty"`
 44121  }
 44122  
 44123  // MarshalJSON is the custom marshaler for CloudError.
 44124  func (ce CloudError) MarshalJSON() ([]byte, error) {
 44125  	objectMap := make(map[string]interface{})
 44126  	if ce.CloudErrorBody != nil {
 44127  		objectMap["error"] = ce.CloudErrorBody
 44128  	}
 44129  	return json.Marshal(objectMap)
 44130  }
 44131  
 44132  // UnmarshalJSON is the custom unmarshaler for CloudError struct.
 44133  func (ce *CloudError) UnmarshalJSON(body []byte) error {
 44134  	var m map[string]*json.RawMessage
 44135  	err := json.Unmarshal(body, &m)
 44136  	if err != nil {
 44137  		return err
 44138  	}
 44139  	for k, v := range m {
 44140  		switch k {
 44141  		case "error":
 44142  			if v != nil {
 44143  				var cloudErrorBody CloudErrorBody
 44144  				err = json.Unmarshal(*v, &cloudErrorBody)
 44145  				if err != nil {
 44146  					return err
 44147  				}
 44148  				ce.CloudErrorBody = &cloudErrorBody
 44149  			}
 44150  		}
 44151  	}
 44152  
 44153  	return nil
 44154  }
 44155  
 44156  // CloudErrorBody the object that defines the structure of an Azure Synapse error.
 44157  type CloudErrorBody struct {
 44158  	// Code - Error code.
 44159  	Code *string `json:"code,omitempty"`
 44160  	// Message - Error message.
 44161  	Message *string `json:"message,omitempty"`
 44162  	// Target - Property name/path in request associated with error.
 44163  	Target *string `json:"target,omitempty"`
 44164  	// Details - Array with additional error details.
 44165  	Details *[]CloudError `json:"details,omitempty"`
 44166  }
 44167  
 44168  // CmdkeySetup the custom setup of running cmdkey commands.
 44169  type CmdkeySetup struct {
 44170  	// CmdkeySetupTypeProperties - Cmdkey command custom setup type properties.
 44171  	*CmdkeySetupTypeProperties `json:"typeProperties,omitempty"`
 44172  	// Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup'
 44173  	Type TypeBasicCustomSetupBase `json:"type,omitempty"`
 44174  }
 44175  
 44176  // MarshalJSON is the custom marshaler for CmdkeySetup.
 44177  func (cs CmdkeySetup) MarshalJSON() ([]byte, error) {
 44178  	cs.Type = TypeCmdkeySetup
 44179  	objectMap := make(map[string]interface{})
 44180  	if cs.CmdkeySetupTypeProperties != nil {
 44181  		objectMap["typeProperties"] = cs.CmdkeySetupTypeProperties
 44182  	}
 44183  	if cs.Type != "" {
 44184  		objectMap["type"] = cs.Type
 44185  	}
 44186  	return json.Marshal(objectMap)
 44187  }
 44188  
 44189  // AsComponentSetup is the BasicCustomSetupBase implementation for CmdkeySetup.
 44190  func (cs CmdkeySetup) AsComponentSetup() (*ComponentSetup, bool) {
 44191  	return nil, false
 44192  }
 44193  
 44194  // AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CmdkeySetup.
 44195  func (cs CmdkeySetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) {
 44196  	return nil, false
 44197  }
 44198  
 44199  // AsCmdkeySetup is the BasicCustomSetupBase implementation for CmdkeySetup.
 44200  func (cs CmdkeySetup) AsCmdkeySetup() (*CmdkeySetup, bool) {
 44201  	return &cs, true
 44202  }
 44203  
 44204  // AsCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup.
 44205  func (cs CmdkeySetup) AsCustomSetupBase() (*CustomSetupBase, bool) {
 44206  	return nil, false
 44207  }
 44208  
 44209  // AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup.
 44210  func (cs CmdkeySetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) {
 44211  	return &cs, true
 44212  }
 44213  
 44214  // UnmarshalJSON is the custom unmarshaler for CmdkeySetup struct.
 44215  func (cs *CmdkeySetup) UnmarshalJSON(body []byte) error {
 44216  	var m map[string]*json.RawMessage
 44217  	err := json.Unmarshal(body, &m)
 44218  	if err != nil {
 44219  		return err
 44220  	}
 44221  	for k, v := range m {
 44222  		switch k {
 44223  		case "typeProperties":
 44224  			if v != nil {
 44225  				var cmdkeySetupTypeProperties CmdkeySetupTypeProperties
 44226  				err = json.Unmarshal(*v, &cmdkeySetupTypeProperties)
 44227  				if err != nil {
 44228  					return err
 44229  				}
 44230  				cs.CmdkeySetupTypeProperties = &cmdkeySetupTypeProperties
 44231  			}
 44232  		case "type":
 44233  			if v != nil {
 44234  				var typeVar TypeBasicCustomSetupBase
 44235  				err = json.Unmarshal(*v, &typeVar)
 44236  				if err != nil {
 44237  					return err
 44238  				}
 44239  				cs.Type = typeVar
 44240  			}
 44241  		}
 44242  	}
 44243  
 44244  	return nil
 44245  }
 44246  
 44247  // CmdkeySetupTypeProperties cmdkey command custom setup type properties.
 44248  type CmdkeySetupTypeProperties struct {
 44249  	// TargetName - The server name of data source access.
 44250  	TargetName interface{} `json:"targetName,omitempty"`
 44251  	// UserName - The user name of data source access.
 44252  	UserName interface{} `json:"userName,omitempty"`
 44253  	// Password - The password of data source access.
 44254  	Password BasicSecretBase `json:"password,omitempty"`
 44255  }
 44256  
 44257  // UnmarshalJSON is the custom unmarshaler for CmdkeySetupTypeProperties struct.
 44258  func (cstp *CmdkeySetupTypeProperties) UnmarshalJSON(body []byte) error {
 44259  	var m map[string]*json.RawMessage
 44260  	err := json.Unmarshal(body, &m)
 44261  	if err != nil {
 44262  		return err
 44263  	}
 44264  	for k, v := range m {
 44265  		switch k {
 44266  		case "targetName":
 44267  			if v != nil {
 44268  				var targetName interface{}
 44269  				err = json.Unmarshal(*v, &targetName)
 44270  				if err != nil {
 44271  					return err
 44272  				}
 44273  				cstp.TargetName = targetName
 44274  			}
 44275  		case "userName":
 44276  			if v != nil {
 44277  				var userName interface{}
 44278  				err = json.Unmarshal(*v, &userName)
 44279  				if err != nil {
 44280  					return err
 44281  				}
 44282  				cstp.UserName = userName
 44283  			}
 44284  		case "password":
 44285  			if v != nil {
 44286  				password, err := unmarshalBasicSecretBase(*v)
 44287  				if err != nil {
 44288  					return err
 44289  				}
 44290  				cstp.Password = password
 44291  			}
 44292  		}
 44293  	}
 44294  
 44295  	return nil
 44296  }
 44297  
 44298  // CommonDataServiceForAppsEntityDataset the Common Data Service for Apps entity dataset.
 44299  type CommonDataServiceForAppsEntityDataset struct {
 44300  	// CommonDataServiceForAppsEntityDatasetTypeProperties - Common Data Service for Apps entity dataset properties.
 44301  	*CommonDataServiceForAppsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
 44302  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 44303  	AdditionalProperties map[string]interface{} `json:""`
 44304  	// Description - Dataset description.
 44305  	Description *string `json:"description,omitempty"`
 44306  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 44307  	Structure interface{} `json:"structure,omitempty"`
 44308  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 44309  	Schema interface{} `json:"schema,omitempty"`
 44310  	// LinkedServiceName - Linked service reference.
 44311  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 44312  	// Parameters - Parameters for dataset.
 44313  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 44314  	// Annotations - List of tags that can be used for describing the Dataset.
 44315  	Annotations *[]interface{} `json:"annotations,omitempty"`
 44316  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 44317  	Folder *DatasetFolder `json:"folder,omitempty"`
 44318  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 44319  	Type TypeBasicDataset `json:"type,omitempty"`
 44320  }
 44321  
 44322  // MarshalJSON is the custom marshaler for CommonDataServiceForAppsEntityDataset.
 44323  func (cdsfaed CommonDataServiceForAppsEntityDataset) MarshalJSON() ([]byte, error) {
 44324  	cdsfaed.Type = TypeCommonDataServiceForAppsEntity
 44325  	objectMap := make(map[string]interface{})
 44326  	if cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties != nil {
 44327  		objectMap["typeProperties"] = cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties
 44328  	}
 44329  	if cdsfaed.Description != nil {
 44330  		objectMap["description"] = cdsfaed.Description
 44331  	}
 44332  	if cdsfaed.Structure != nil {
 44333  		objectMap["structure"] = cdsfaed.Structure
 44334  	}
 44335  	if cdsfaed.Schema != nil {
 44336  		objectMap["schema"] = cdsfaed.Schema
 44337  	}
 44338  	if cdsfaed.LinkedServiceName != nil {
 44339  		objectMap["linkedServiceName"] = cdsfaed.LinkedServiceName
 44340  	}
 44341  	if cdsfaed.Parameters != nil {
 44342  		objectMap["parameters"] = cdsfaed.Parameters
 44343  	}
 44344  	if cdsfaed.Annotations != nil {
 44345  		objectMap["annotations"] = cdsfaed.Annotations
 44346  	}
 44347  	if cdsfaed.Folder != nil {
 44348  		objectMap["folder"] = cdsfaed.Folder
 44349  	}
 44350  	if cdsfaed.Type != "" {
 44351  		objectMap["type"] = cdsfaed.Type
 44352  	}
 44353  	for k, v := range cdsfaed.AdditionalProperties {
 44354  		objectMap[k] = v
 44355  	}
 44356  	return json.Marshal(objectMap)
 44357  }
 44358  
 44359  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44360  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 44361  	return nil, false
 44362  }
 44363  
 44364  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44365  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 44366  	return nil, false
 44367  }
 44368  
 44369  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44370  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 44371  	return nil, false
 44372  }
 44373  
 44374  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44375  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 44376  	return nil, false
 44377  }
 44378  
 44379  // AsResponsysObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44380  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 44381  	return nil, false
 44382  }
 44383  
 44384  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44385  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 44386  	return nil, false
 44387  }
 44388  
 44389  // AsVerticaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44390  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 44391  	return nil, false
 44392  }
 44393  
 44394  // AsNetezzaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44395  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 44396  	return nil, false
 44397  }
 44398  
 44399  // AsZohoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44400  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 44401  	return nil, false
 44402  }
 44403  
 44404  // AsXeroObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44405  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 44406  	return nil, false
 44407  }
 44408  
 44409  // AsSquareObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44410  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 44411  	return nil, false
 44412  }
 44413  
 44414  // AsSparkObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44415  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 44416  	return nil, false
 44417  }
 44418  
 44419  // AsShopifyObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44420  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 44421  	return nil, false
 44422  }
 44423  
 44424  // AsServiceNowObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44425  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 44426  	return nil, false
 44427  }
 44428  
 44429  // AsQuickBooksObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44430  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 44431  	return nil, false
 44432  }
 44433  
 44434  // AsPrestoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44435  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 44436  	return nil, false
 44437  }
 44438  
 44439  // AsPhoenixObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44440  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 44441  	return nil, false
 44442  }
 44443  
 44444  // AsPaypalObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44445  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 44446  	return nil, false
 44447  }
 44448  
 44449  // AsMarketoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44450  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 44451  	return nil, false
 44452  }
 44453  
 44454  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44455  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 44456  	return nil, false
 44457  }
 44458  
 44459  // AsMariaDBTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44460  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 44461  	return nil, false
 44462  }
 44463  
 44464  // AsMagentoObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44465  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 44466  	return nil, false
 44467  }
 44468  
 44469  // AsJiraObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44470  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 44471  	return nil, false
 44472  }
 44473  
 44474  // AsImpalaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44475  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 44476  	return nil, false
 44477  }
 44478  
 44479  // AsHubspotObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44480  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 44481  	return nil, false
 44482  }
 44483  
 44484  // AsHiveObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44485  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 44486  	return nil, false
 44487  }
 44488  
 44489  // AsHBaseObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44490  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 44491  	return nil, false
 44492  }
 44493  
 44494  // AsGreenplumTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44495  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 44496  	return nil, false
 44497  }
 44498  
 44499  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44500  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 44501  	return nil, false
 44502  }
 44503  
 44504  // AsEloquaObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44505  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 44506  	return nil, false
 44507  }
 44508  
 44509  // AsDrillTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44510  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 44511  	return nil, false
 44512  }
 44513  
 44514  // AsCouchbaseTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44515  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 44516  	return nil, false
 44517  }
 44518  
 44519  // AsConcurObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44520  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 44521  	return nil, false
 44522  }
 44523  
 44524  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44525  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 44526  	return nil, false
 44527  }
 44528  
 44529  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44530  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 44531  	return nil, false
 44532  }
 44533  
 44534  // AsAzureSearchIndexDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44535  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 44536  	return nil, false
 44537  }
 44538  
 44539  // AsWebTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44540  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 44541  	return nil, false
 44542  }
 44543  
 44544  // AsSapTableResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44545  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 44546  	return nil, false
 44547  }
 44548  
 44549  // AsRestResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44550  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 44551  	return nil, false
 44552  }
 44553  
 44554  // AsSQLServerTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44555  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 44556  	return nil, false
 44557  }
 44558  
 44559  // AsSapOpenHubTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44560  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 44561  	return nil, false
 44562  }
 44563  
 44564  // AsSapHanaTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44565  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 44566  	return nil, false
 44567  }
 44568  
 44569  // AsSapEccResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44570  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 44571  	return nil, false
 44572  }
 44573  
 44574  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44575  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 44576  	return nil, false
 44577  }
 44578  
 44579  // AsSapBwCubeDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44580  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 44581  	return nil, false
 44582  }
 44583  
 44584  // AsSybaseTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44585  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 44586  	return nil, false
 44587  }
 44588  
 44589  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44590  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 44591  	return nil, false
 44592  }
 44593  
 44594  // AsSalesforceObjectDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44595  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 44596  	return nil, false
 44597  }
 44598  
 44599  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44600  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 44601  	return nil, false
 44602  }
 44603  
 44604  // AsPostgreSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44605  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 44606  	return nil, false
 44607  }
 44608  
 44609  // AsMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44610  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 44611  	return nil, false
 44612  }
 44613  
 44614  // AsOdbcTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44615  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 44616  	return nil, false
 44617  }
 44618  
 44619  // AsInformixTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44620  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 44621  	return nil, false
 44622  }
 44623  
 44624  // AsRelationalTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44625  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 44626  	return nil, false
 44627  }
 44628  
 44629  // AsDb2TableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44630  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 44631  	return nil, false
 44632  }
 44633  
 44634  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44635  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 44636  	return nil, false
 44637  }
 44638  
 44639  // AsAzureMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44640  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 44641  	return nil, false
 44642  }
 44643  
 44644  // AsTeradataTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44645  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 44646  	return nil, false
 44647  }
 44648  
 44649  // AsOracleTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44650  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 44651  	return nil, false
 44652  }
 44653  
 44654  // AsODataResourceDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44655  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 44656  	return nil, false
 44657  }
 44658  
 44659  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44660  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 44661  	return nil, false
 44662  }
 44663  
 44664  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44665  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 44666  	return nil, false
 44667  }
 44668  
 44669  // AsMongoDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44670  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 44671  	return nil, false
 44672  }
 44673  
 44674  // AsOffice365Dataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44675  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 44676  	return nil, false
 44677  }
 44678  
 44679  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44680  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 44681  	return &cdsfaed, true
 44682  }
 44683  
 44684  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44685  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 44686  	return nil, false
 44687  }
 44688  
 44689  // AsDynamicsEntityDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44690  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 44691  	return nil, false
 44692  }
 44693  
 44694  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44695  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 44696  	return nil, false
 44697  }
 44698  
 44699  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44700  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 44701  	return nil, false
 44702  }
 44703  
 44704  // AsCustomDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44705  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
 44706  	return nil, false
 44707  }
 44708  
 44709  // AsCassandraTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44710  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 44711  	return nil, false
 44712  }
 44713  
 44714  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44715  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 44716  	return nil, false
 44717  }
 44718  
 44719  // AsAzureSQLMITableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44720  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 44721  	return nil, false
 44722  }
 44723  
 44724  // AsAzureSQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44725  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 44726  	return nil, false
 44727  }
 44728  
 44729  // AsAzureTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44730  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 44731  	return nil, false
 44732  }
 44733  
 44734  // AsBinaryDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44735  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 44736  	return nil, false
 44737  }
 44738  
 44739  // AsOrcDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44740  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOrcDataset() (*OrcDataset, bool) {
 44741  	return nil, false
 44742  }
 44743  
 44744  // AsJSONDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44745  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJSONDataset() (*JSONDataset, bool) {
 44746  	return nil, false
 44747  }
 44748  
 44749  // AsDelimitedTextDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44750  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 44751  	return nil, false
 44752  }
 44753  
 44754  // AsParquetDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44755  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
 44756  	return nil, false
 44757  }
 44758  
 44759  // AsAvroDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44760  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAvroDataset() (*AvroDataset, bool) {
 44761  	return nil, false
 44762  }
 44763  
 44764  // AsDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44765  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDataset() (*Dataset, bool) {
 44766  	return nil, false
 44767  }
 44768  
 44769  // AsBasicDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset.
 44770  func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
 44771  	return &cdsfaed, true
 44772  }
 44773  
 44774  // UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsEntityDataset struct.
 44775  func (cdsfaed *CommonDataServiceForAppsEntityDataset) UnmarshalJSON(body []byte) error {
 44776  	var m map[string]*json.RawMessage
 44777  	err := json.Unmarshal(body, &m)
 44778  	if err != nil {
 44779  		return err
 44780  	}
 44781  	for k, v := range m {
 44782  		switch k {
 44783  		case "typeProperties":
 44784  			if v != nil {
 44785  				var commonDataServiceForAppsEntityDatasetTypeProperties CommonDataServiceForAppsEntityDatasetTypeProperties
 44786  				err = json.Unmarshal(*v, &commonDataServiceForAppsEntityDatasetTypeProperties)
 44787  				if err != nil {
 44788  					return err
 44789  				}
 44790  				cdsfaed.CommonDataServiceForAppsEntityDatasetTypeProperties = &commonDataServiceForAppsEntityDatasetTypeProperties
 44791  			}
 44792  		default:
 44793  			if v != nil {
 44794  				var additionalProperties interface{}
 44795  				err = json.Unmarshal(*v, &additionalProperties)
 44796  				if err != nil {
 44797  					return err
 44798  				}
 44799  				if cdsfaed.AdditionalProperties == nil {
 44800  					cdsfaed.AdditionalProperties = make(map[string]interface{})
 44801  				}
 44802  				cdsfaed.AdditionalProperties[k] = additionalProperties
 44803  			}
 44804  		case "description":
 44805  			if v != nil {
 44806  				var description string
 44807  				err = json.Unmarshal(*v, &description)
 44808  				if err != nil {
 44809  					return err
 44810  				}
 44811  				cdsfaed.Description = &description
 44812  			}
 44813  		case "structure":
 44814  			if v != nil {
 44815  				var structure interface{}
 44816  				err = json.Unmarshal(*v, &structure)
 44817  				if err != nil {
 44818  					return err
 44819  				}
 44820  				cdsfaed.Structure = structure
 44821  			}
 44822  		case "schema":
 44823  			if v != nil {
 44824  				var schema interface{}
 44825  				err = json.Unmarshal(*v, &schema)
 44826  				if err != nil {
 44827  					return err
 44828  				}
 44829  				cdsfaed.Schema = schema
 44830  			}
 44831  		case "linkedServiceName":
 44832  			if v != nil {
 44833  				var linkedServiceName LinkedServiceReference
 44834  				err = json.Unmarshal(*v, &linkedServiceName)
 44835  				if err != nil {
 44836  					return err
 44837  				}
 44838  				cdsfaed.LinkedServiceName = &linkedServiceName
 44839  			}
 44840  		case "parameters":
 44841  			if v != nil {
 44842  				var parameters map[string]*ParameterSpecification
 44843  				err = json.Unmarshal(*v, &parameters)
 44844  				if err != nil {
 44845  					return err
 44846  				}
 44847  				cdsfaed.Parameters = parameters
 44848  			}
 44849  		case "annotations":
 44850  			if v != nil {
 44851  				var annotations []interface{}
 44852  				err = json.Unmarshal(*v, &annotations)
 44853  				if err != nil {
 44854  					return err
 44855  				}
 44856  				cdsfaed.Annotations = &annotations
 44857  			}
 44858  		case "folder":
 44859  			if v != nil {
 44860  				var folder DatasetFolder
 44861  				err = json.Unmarshal(*v, &folder)
 44862  				if err != nil {
 44863  					return err
 44864  				}
 44865  				cdsfaed.Folder = &folder
 44866  			}
 44867  		case "type":
 44868  			if v != nil {
 44869  				var typeVar TypeBasicDataset
 44870  				err = json.Unmarshal(*v, &typeVar)
 44871  				if err != nil {
 44872  					return err
 44873  				}
 44874  				cdsfaed.Type = typeVar
 44875  			}
 44876  		}
 44877  	}
 44878  
 44879  	return nil
 44880  }
 44881  
 44882  // CommonDataServiceForAppsEntityDatasetTypeProperties common Data Service for Apps entity dataset
 44883  // properties.
 44884  type CommonDataServiceForAppsEntityDatasetTypeProperties struct {
 44885  	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
 44886  	EntityName interface{} `json:"entityName,omitempty"`
 44887  }
 44888  
 44889  // CommonDataServiceForAppsLinkedService common Data Service for Apps linked service.
 44890  type CommonDataServiceForAppsLinkedService struct {
 44891  	// CommonDataServiceForAppsLinkedServiceTypeProperties - Common Data Service for Apps linked service properties.
 44892  	*CommonDataServiceForAppsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 44893  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 44894  	AdditionalProperties map[string]interface{} `json:""`
 44895  	// ConnectVia - The integration runtime reference.
 44896  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 44897  	// Description - Linked service description.
 44898  	Description *string `json:"description,omitempty"`
 44899  	// Parameters - Parameters for linked service.
 44900  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 44901  	// Annotations - List of tags that can be used for describing the linked service.
 44902  	Annotations *[]interface{} `json:"annotations,omitempty"`
 44903  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 44904  	Type TypeBasicLinkedService `json:"type,omitempty"`
 44905  }
 44906  
 44907  // MarshalJSON is the custom marshaler for CommonDataServiceForAppsLinkedService.
 44908  func (cdsfals CommonDataServiceForAppsLinkedService) MarshalJSON() ([]byte, error) {
 44909  	cdsfals.Type = TypeCommonDataServiceForApps
 44910  	objectMap := make(map[string]interface{})
 44911  	if cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties != nil {
 44912  		objectMap["typeProperties"] = cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties
 44913  	}
 44914  	if cdsfals.ConnectVia != nil {
 44915  		objectMap["connectVia"] = cdsfals.ConnectVia
 44916  	}
 44917  	if cdsfals.Description != nil {
 44918  		objectMap["description"] = cdsfals.Description
 44919  	}
 44920  	if cdsfals.Parameters != nil {
 44921  		objectMap["parameters"] = cdsfals.Parameters
 44922  	}
 44923  	if cdsfals.Annotations != nil {
 44924  		objectMap["annotations"] = cdsfals.Annotations
 44925  	}
 44926  	if cdsfals.Type != "" {
 44927  		objectMap["type"] = cdsfals.Type
 44928  	}
 44929  	for k, v := range cdsfals.AdditionalProperties {
 44930  		objectMap[k] = v
 44931  	}
 44932  	return json.Marshal(objectMap)
 44933  }
 44934  
 44935  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44936  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 44937  	return nil, false
 44938  }
 44939  
 44940  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44941  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 44942  	return nil, false
 44943  }
 44944  
 44945  // AsSapTableLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44946  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 44947  	return nil, false
 44948  }
 44949  
 44950  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44951  func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 44952  	return nil, false
 44953  }
 44954  
 44955  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44956  func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 44957  	return nil, false
 44958  }
 44959  
 44960  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44961  func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 44962  	return nil, false
 44963  }
 44964  
 44965  // AsResponsysLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44966  func (cdsfals CommonDataServiceForAppsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 44967  	return nil, false
 44968  }
 44969  
 44970  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44971  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 44972  	return nil, false
 44973  }
 44974  
 44975  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44976  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 44977  	return nil, false
 44978  }
 44979  
 44980  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44981  func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 44982  	return nil, false
 44983  }
 44984  
 44985  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44986  func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 44987  	return nil, false
 44988  }
 44989  
 44990  // AsNetezzaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44991  func (cdsfals CommonDataServiceForAppsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 44992  	return nil, false
 44993  }
 44994  
 44995  // AsVerticaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 44996  func (cdsfals CommonDataServiceForAppsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 44997  	return nil, false
 44998  }
 44999  
 45000  // AsZohoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45001  func (cdsfals CommonDataServiceForAppsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 45002  	return nil, false
 45003  }
 45004  
 45005  // AsXeroLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45006  func (cdsfals CommonDataServiceForAppsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 45007  	return nil, false
 45008  }
 45009  
 45010  // AsSquareLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45011  func (cdsfals CommonDataServiceForAppsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 45012  	return nil, false
 45013  }
 45014  
 45015  // AsSparkLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45016  func (cdsfals CommonDataServiceForAppsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 45017  	return nil, false
 45018  }
 45019  
 45020  // AsShopifyLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45021  func (cdsfals CommonDataServiceForAppsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 45022  	return nil, false
 45023  }
 45024  
 45025  // AsServiceNowLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45026  func (cdsfals CommonDataServiceForAppsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 45027  	return nil, false
 45028  }
 45029  
 45030  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45031  func (cdsfals CommonDataServiceForAppsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 45032  	return nil, false
 45033  }
 45034  
 45035  // AsPrestoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45036  func (cdsfals CommonDataServiceForAppsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 45037  	return nil, false
 45038  }
 45039  
 45040  // AsPhoenixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45041  func (cdsfals CommonDataServiceForAppsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 45042  	return nil, false
 45043  }
 45044  
 45045  // AsPaypalLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45046  func (cdsfals CommonDataServiceForAppsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 45047  	return nil, false
 45048  }
 45049  
 45050  // AsMarketoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45051  func (cdsfals CommonDataServiceForAppsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 45052  	return nil, false
 45053  }
 45054  
 45055  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45056  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 45057  	return nil, false
 45058  }
 45059  
 45060  // AsMariaDBLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45061  func (cdsfals CommonDataServiceForAppsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 45062  	return nil, false
 45063  }
 45064  
 45065  // AsMagentoLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45066  func (cdsfals CommonDataServiceForAppsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 45067  	return nil, false
 45068  }
 45069  
 45070  // AsJiraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45071  func (cdsfals CommonDataServiceForAppsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 45072  	return nil, false
 45073  }
 45074  
 45075  // AsImpalaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45076  func (cdsfals CommonDataServiceForAppsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 45077  	return nil, false
 45078  }
 45079  
 45080  // AsHubspotLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45081  func (cdsfals CommonDataServiceForAppsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 45082  	return nil, false
 45083  }
 45084  
 45085  // AsHiveLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45086  func (cdsfals CommonDataServiceForAppsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 45087  	return nil, false
 45088  }
 45089  
 45090  // AsHBaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45091  func (cdsfals CommonDataServiceForAppsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 45092  	return nil, false
 45093  }
 45094  
 45095  // AsGreenplumLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45096  func (cdsfals CommonDataServiceForAppsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 45097  	return nil, false
 45098  }
 45099  
 45100  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45101  func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 45102  	return nil, false
 45103  }
 45104  
 45105  // AsEloquaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45106  func (cdsfals CommonDataServiceForAppsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 45107  	return nil, false
 45108  }
 45109  
 45110  // AsDrillLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45111  func (cdsfals CommonDataServiceForAppsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 45112  	return nil, false
 45113  }
 45114  
 45115  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45116  func (cdsfals CommonDataServiceForAppsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 45117  	return nil, false
 45118  }
 45119  
 45120  // AsConcurLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45121  func (cdsfals CommonDataServiceForAppsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 45122  	return nil, false
 45123  }
 45124  
 45125  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45126  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 45127  	return nil, false
 45128  }
 45129  
 45130  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45131  func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 45132  	return nil, false
 45133  }
 45134  
 45135  // AsSapHanaLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45136  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 45137  	return nil, false
 45138  }
 45139  
 45140  // AsSapBWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45141  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 45142  	return nil, false
 45143  }
 45144  
 45145  // AsSftpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45146  func (cdsfals CommonDataServiceForAppsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 45147  	return nil, false
 45148  }
 45149  
 45150  // AsFtpServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45151  func (cdsfals CommonDataServiceForAppsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 45152  	return nil, false
 45153  }
 45154  
 45155  // AsHTTPLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45156  func (cdsfals CommonDataServiceForAppsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 45157  	return nil, false
 45158  }
 45159  
 45160  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45161  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 45162  	return nil, false
 45163  }
 45164  
 45165  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45166  func (cdsfals CommonDataServiceForAppsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 45167  	return nil, false
 45168  }
 45169  
 45170  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45171  func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 45172  	return nil, false
 45173  }
 45174  
 45175  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45176  func (cdsfals CommonDataServiceForAppsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 45177  	return nil, false
 45178  }
 45179  
 45180  // AsRestServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45181  func (cdsfals CommonDataServiceForAppsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 45182  	return nil, false
 45183  }
 45184  
 45185  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45186  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 45187  	return nil, false
 45188  }
 45189  
 45190  // AsSapEccLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45191  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 45192  	return nil, false
 45193  }
 45194  
 45195  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45196  func (cdsfals CommonDataServiceForAppsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 45197  	return nil, false
 45198  }
 45199  
 45200  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45201  func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 45202  	return nil, false
 45203  }
 45204  
 45205  // AsSalesforceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45206  func (cdsfals CommonDataServiceForAppsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 45207  	return nil, false
 45208  }
 45209  
 45210  // AsOffice365LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45211  func (cdsfals CommonDataServiceForAppsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 45212  	return nil, false
 45213  }
 45214  
 45215  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45216  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 45217  	return nil, false
 45218  }
 45219  
 45220  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45221  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 45222  	return nil, false
 45223  }
 45224  
 45225  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45226  func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 45227  	return nil, false
 45228  }
 45229  
 45230  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45231  func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 45232  	return nil, false
 45233  }
 45234  
 45235  // AsMongoDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45236  func (cdsfals CommonDataServiceForAppsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 45237  	return nil, false
 45238  }
 45239  
 45240  // AsCassandraLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45241  func (cdsfals CommonDataServiceForAppsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 45242  	return nil, false
 45243  }
 45244  
 45245  // AsWebLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45246  func (cdsfals CommonDataServiceForAppsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 45247  	return nil, false
 45248  }
 45249  
 45250  // AsODataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45251  func (cdsfals CommonDataServiceForAppsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 45252  	return nil, false
 45253  }
 45254  
 45255  // AsHdfsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45256  func (cdsfals CommonDataServiceForAppsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 45257  	return nil, false
 45258  }
 45259  
 45260  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45261  func (cdsfals CommonDataServiceForAppsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 45262  	return nil, false
 45263  }
 45264  
 45265  // AsInformixLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45266  func (cdsfals CommonDataServiceForAppsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 45267  	return nil, false
 45268  }
 45269  
 45270  // AsOdbcLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45271  func (cdsfals CommonDataServiceForAppsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 45272  	return nil, false
 45273  }
 45274  
 45275  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45276  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 45277  	return nil, false
 45278  }
 45279  
 45280  // AsAzureMLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45281  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 45282  	return nil, false
 45283  }
 45284  
 45285  // AsTeradataLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45286  func (cdsfals CommonDataServiceForAppsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 45287  	return nil, false
 45288  }
 45289  
 45290  // AsDb2LinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45291  func (cdsfals CommonDataServiceForAppsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 45292  	return nil, false
 45293  }
 45294  
 45295  // AsSybaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45296  func (cdsfals CommonDataServiceForAppsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 45297  	return nil, false
 45298  }
 45299  
 45300  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45301  func (cdsfals CommonDataServiceForAppsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 45302  	return nil, false
 45303  }
 45304  
 45305  // AsMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45306  func (cdsfals CommonDataServiceForAppsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 45307  	return nil, false
 45308  }
 45309  
 45310  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45311  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 45312  	return nil, false
 45313  }
 45314  
 45315  // AsOracleLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45316  func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 45317  	return nil, false
 45318  }
 45319  
 45320  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45321  func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 45322  	return nil, false
 45323  }
 45324  
 45325  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45326  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 45327  	return nil, false
 45328  }
 45329  
 45330  // AsFileServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45331  func (cdsfals CommonDataServiceForAppsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 45332  	return nil, false
 45333  }
 45334  
 45335  // AsHDInsightLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45336  func (cdsfals CommonDataServiceForAppsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 45337  	return nil, false
 45338  }
 45339  
 45340  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45341  func (cdsfals CommonDataServiceForAppsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 45342  	return &cdsfals, true
 45343  }
 45344  
 45345  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45346  func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 45347  	return nil, false
 45348  }
 45349  
 45350  // AsDynamicsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45351  func (cdsfals CommonDataServiceForAppsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 45352  	return nil, false
 45353  }
 45354  
 45355  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45356  func (cdsfals CommonDataServiceForAppsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 45357  	return nil, false
 45358  }
 45359  
 45360  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45361  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 45362  	return nil, false
 45363  }
 45364  
 45365  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45366  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 45367  	return nil, false
 45368  }
 45369  
 45370  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45371  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 45372  	return nil, false
 45373  }
 45374  
 45375  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45376  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 45377  	return nil, false
 45378  }
 45379  
 45380  // AsSQLServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45381  func (cdsfals CommonDataServiceForAppsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 45382  	return nil, false
 45383  }
 45384  
 45385  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45386  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 45387  	return nil, false
 45388  }
 45389  
 45390  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45391  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 45392  	return nil, false
 45393  }
 45394  
 45395  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45396  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 45397  	return nil, false
 45398  }
 45399  
 45400  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45401  func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 45402  	return nil, false
 45403  }
 45404  
 45405  // AsLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45406  func (cdsfals CommonDataServiceForAppsLinkedService) AsLinkedService() (*LinkedService, bool) {
 45407  	return nil, false
 45408  }
 45409  
 45410  // AsBasicLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService.
 45411  func (cdsfals CommonDataServiceForAppsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 45412  	return &cdsfals, true
 45413  }
 45414  
 45415  // UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedService struct.
 45416  func (cdsfals *CommonDataServiceForAppsLinkedService) UnmarshalJSON(body []byte) error {
 45417  	var m map[string]*json.RawMessage
 45418  	err := json.Unmarshal(body, &m)
 45419  	if err != nil {
 45420  		return err
 45421  	}
 45422  	for k, v := range m {
 45423  		switch k {
 45424  		case "typeProperties":
 45425  			if v != nil {
 45426  				var commonDataServiceForAppsLinkedServiceTypeProperties CommonDataServiceForAppsLinkedServiceTypeProperties
 45427  				err = json.Unmarshal(*v, &commonDataServiceForAppsLinkedServiceTypeProperties)
 45428  				if err != nil {
 45429  					return err
 45430  				}
 45431  				cdsfals.CommonDataServiceForAppsLinkedServiceTypeProperties = &commonDataServiceForAppsLinkedServiceTypeProperties
 45432  			}
 45433  		default:
 45434  			if v != nil {
 45435  				var additionalProperties interface{}
 45436  				err = json.Unmarshal(*v, &additionalProperties)
 45437  				if err != nil {
 45438  					return err
 45439  				}
 45440  				if cdsfals.AdditionalProperties == nil {
 45441  					cdsfals.AdditionalProperties = make(map[string]interface{})
 45442  				}
 45443  				cdsfals.AdditionalProperties[k] = additionalProperties
 45444  			}
 45445  		case "connectVia":
 45446  			if v != nil {
 45447  				var connectVia IntegrationRuntimeReference
 45448  				err = json.Unmarshal(*v, &connectVia)
 45449  				if err != nil {
 45450  					return err
 45451  				}
 45452  				cdsfals.ConnectVia = &connectVia
 45453  			}
 45454  		case "description":
 45455  			if v != nil {
 45456  				var description string
 45457  				err = json.Unmarshal(*v, &description)
 45458  				if err != nil {
 45459  					return err
 45460  				}
 45461  				cdsfals.Description = &description
 45462  			}
 45463  		case "parameters":
 45464  			if v != nil {
 45465  				var parameters map[string]*ParameterSpecification
 45466  				err = json.Unmarshal(*v, &parameters)
 45467  				if err != nil {
 45468  					return err
 45469  				}
 45470  				cdsfals.Parameters = parameters
 45471  			}
 45472  		case "annotations":
 45473  			if v != nil {
 45474  				var annotations []interface{}
 45475  				err = json.Unmarshal(*v, &annotations)
 45476  				if err != nil {
 45477  					return err
 45478  				}
 45479  				cdsfals.Annotations = &annotations
 45480  			}
 45481  		case "type":
 45482  			if v != nil {
 45483  				var typeVar TypeBasicLinkedService
 45484  				err = json.Unmarshal(*v, &typeVar)
 45485  				if err != nil {
 45486  					return err
 45487  				}
 45488  				cdsfals.Type = typeVar
 45489  			}
 45490  		}
 45491  	}
 45492  
 45493  	return nil
 45494  }
 45495  
 45496  // CommonDataServiceForAppsLinkedServiceTypeProperties common Data Service for Apps linked service
 45497  // properties.
 45498  type CommonDataServiceForAppsLinkedServiceTypeProperties struct {
 45499  	// 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'
 45500  	DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"`
 45501  	// 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).
 45502  	HostName interface{} `json:"hostName,omitempty"`
 45503  	// 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.
 45504  	Port interface{} `json:"port,omitempty"`
 45505  	// 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).
 45506  	ServiceURI interface{} `json:"serviceUri,omitempty"`
 45507  	// 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).
 45508  	OrganizationName interface{} `json:"organizationName,omitempty"`
 45509  	// AuthenticationType - The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd', 'AADServicePrincipal'
 45510  	AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"`
 45511  	// Username - User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string).
 45512  	Username interface{} `json:"username,omitempty"`
 45513  	// Password - Password to access the Common Data Service for Apps instance.
 45514  	Password BasicSecretBase `json:"password,omitempty"`
 45515  	// ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string).
 45516  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 45517  	// ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert'
 45518  	ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"`
 45519  	// ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
 45520  	ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"`
 45521  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 45522  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 45523  }
 45524  
 45525  // UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsLinkedServiceTypeProperties struct.
 45526  func (cdsfalstp *CommonDataServiceForAppsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 45527  	var m map[string]*json.RawMessage
 45528  	err := json.Unmarshal(body, &m)
 45529  	if err != nil {
 45530  		return err
 45531  	}
 45532  	for k, v := range m {
 45533  		switch k {
 45534  		case "deploymentType":
 45535  			if v != nil {
 45536  				var deploymentType DynamicsDeploymentType
 45537  				err = json.Unmarshal(*v, &deploymentType)
 45538  				if err != nil {
 45539  					return err
 45540  				}
 45541  				cdsfalstp.DeploymentType = deploymentType
 45542  			}
 45543  		case "hostName":
 45544  			if v != nil {
 45545  				var hostName interface{}
 45546  				err = json.Unmarshal(*v, &hostName)
 45547  				if err != nil {
 45548  					return err
 45549  				}
 45550  				cdsfalstp.HostName = hostName
 45551  			}
 45552  		case "port":
 45553  			if v != nil {
 45554  				var port interface{}
 45555  				err = json.Unmarshal(*v, &port)
 45556  				if err != nil {
 45557  					return err
 45558  				}
 45559  				cdsfalstp.Port = port
 45560  			}
 45561  		case "serviceUri":
 45562  			if v != nil {
 45563  				var serviceURI interface{}
 45564  				err = json.Unmarshal(*v, &serviceURI)
 45565  				if err != nil {
 45566  					return err
 45567  				}
 45568  				cdsfalstp.ServiceURI = serviceURI
 45569  			}
 45570  		case "organizationName":
 45571  			if v != nil {
 45572  				var organizationName interface{}
 45573  				err = json.Unmarshal(*v, &organizationName)
 45574  				if err != nil {
 45575  					return err
 45576  				}
 45577  				cdsfalstp.OrganizationName = organizationName
 45578  			}
 45579  		case "authenticationType":
 45580  			if v != nil {
 45581  				var authenticationType DynamicsAuthenticationType
 45582  				err = json.Unmarshal(*v, &authenticationType)
 45583  				if err != nil {
 45584  					return err
 45585  				}
 45586  				cdsfalstp.AuthenticationType = authenticationType
 45587  			}
 45588  		case "username":
 45589  			if v != nil {
 45590  				var username interface{}
 45591  				err = json.Unmarshal(*v, &username)
 45592  				if err != nil {
 45593  					return err
 45594  				}
 45595  				cdsfalstp.Username = username
 45596  			}
 45597  		case "password":
 45598  			if v != nil {
 45599  				password, err := unmarshalBasicSecretBase(*v)
 45600  				if err != nil {
 45601  					return err
 45602  				}
 45603  				cdsfalstp.Password = password
 45604  			}
 45605  		case "servicePrincipalId":
 45606  			if v != nil {
 45607  				var servicePrincipalID interface{}
 45608  				err = json.Unmarshal(*v, &servicePrincipalID)
 45609  				if err != nil {
 45610  					return err
 45611  				}
 45612  				cdsfalstp.ServicePrincipalID = servicePrincipalID
 45613  			}
 45614  		case "servicePrincipalCredentialType":
 45615  			if v != nil {
 45616  				var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType
 45617  				err = json.Unmarshal(*v, &servicePrincipalCredentialType)
 45618  				if err != nil {
 45619  					return err
 45620  				}
 45621  				cdsfalstp.ServicePrincipalCredentialType = servicePrincipalCredentialType
 45622  			}
 45623  		case "servicePrincipalCredential":
 45624  			if v != nil {
 45625  				servicePrincipalCredential, err := unmarshalBasicSecretBase(*v)
 45626  				if err != nil {
 45627  					return err
 45628  				}
 45629  				cdsfalstp.ServicePrincipalCredential = servicePrincipalCredential
 45630  			}
 45631  		case "encryptedCredential":
 45632  			if v != nil {
 45633  				var encryptedCredential interface{}
 45634  				err = json.Unmarshal(*v, &encryptedCredential)
 45635  				if err != nil {
 45636  					return err
 45637  				}
 45638  				cdsfalstp.EncryptedCredential = encryptedCredential
 45639  			}
 45640  		}
 45641  	}
 45642  
 45643  	return nil
 45644  }
 45645  
 45646  // CommonDataServiceForAppsSink a copy activity Common Data Service for Apps sink.
 45647  type CommonDataServiceForAppsSink struct {
 45648  	// WriteBehavior - The write behavior for the operation.
 45649  	WriteBehavior *string `json:"writeBehavior,omitempty"`
 45650  	// 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).
 45651  	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
 45652  	// AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string).
 45653  	AlternateKeyName interface{} `json:"alternateKeyName,omitempty"`
 45654  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 45655  	AdditionalProperties map[string]interface{} `json:""`
 45656  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 45657  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 45658  	// 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])).
 45659  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 45660  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 45661  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 45662  	// 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])).
 45663  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 45664  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 45665  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 45666  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 45667  	Type TypeBasicCopySink `json:"type,omitempty"`
 45668  }
 45669  
 45670  // MarshalJSON is the custom marshaler for CommonDataServiceForAppsSink.
 45671  func (cdsfas CommonDataServiceForAppsSink) MarshalJSON() ([]byte, error) {
 45672  	cdsfas.Type = TypeCommonDataServiceForAppsSink
 45673  	objectMap := make(map[string]interface{})
 45674  	if cdsfas.WriteBehavior != nil {
 45675  		objectMap["writeBehavior"] = cdsfas.WriteBehavior
 45676  	}
 45677  	if cdsfas.IgnoreNullValues != nil {
 45678  		objectMap["ignoreNullValues"] = cdsfas.IgnoreNullValues
 45679  	}
 45680  	if cdsfas.AlternateKeyName != nil {
 45681  		objectMap["alternateKeyName"] = cdsfas.AlternateKeyName
 45682  	}
 45683  	if cdsfas.WriteBatchSize != nil {
 45684  		objectMap["writeBatchSize"] = cdsfas.WriteBatchSize
 45685  	}
 45686  	if cdsfas.WriteBatchTimeout != nil {
 45687  		objectMap["writeBatchTimeout"] = cdsfas.WriteBatchTimeout
 45688  	}
 45689  	if cdsfas.SinkRetryCount != nil {
 45690  		objectMap["sinkRetryCount"] = cdsfas.SinkRetryCount
 45691  	}
 45692  	if cdsfas.SinkRetryWait != nil {
 45693  		objectMap["sinkRetryWait"] = cdsfas.SinkRetryWait
 45694  	}
 45695  	if cdsfas.MaxConcurrentConnections != nil {
 45696  		objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections
 45697  	}
 45698  	if cdsfas.Type != "" {
 45699  		objectMap["type"] = cdsfas.Type
 45700  	}
 45701  	for k, v := range cdsfas.AdditionalProperties {
 45702  		objectMap[k] = v
 45703  	}
 45704  	return json.Marshal(objectMap)
 45705  }
 45706  
 45707  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45708  func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 45709  	return nil, false
 45710  }
 45711  
 45712  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45713  func (cdsfas CommonDataServiceForAppsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 45714  	return nil, false
 45715  }
 45716  
 45717  // AsSalesforceSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45718  func (cdsfas CommonDataServiceForAppsSink) AsSalesforceSink() (*SalesforceSink, bool) {
 45719  	return nil, false
 45720  }
 45721  
 45722  // AsAzureDataExplorerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45723  func (cdsfas CommonDataServiceForAppsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 45724  	return nil, false
 45725  }
 45726  
 45727  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45728  func (cdsfas CommonDataServiceForAppsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 45729  	return &cdsfas, true
 45730  }
 45731  
 45732  // AsDynamicsCrmSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45733  func (cdsfas CommonDataServiceForAppsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 45734  	return nil, false
 45735  }
 45736  
 45737  // AsDynamicsSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45738  func (cdsfas CommonDataServiceForAppsSink) AsDynamicsSink() (*DynamicsSink, bool) {
 45739  	return nil, false
 45740  }
 45741  
 45742  // AsMicrosoftAccessSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45743  func (cdsfas CommonDataServiceForAppsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 45744  	return nil, false
 45745  }
 45746  
 45747  // AsInformixSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45748  func (cdsfas CommonDataServiceForAppsSink) AsInformixSink() (*InformixSink, bool) {
 45749  	return nil, false
 45750  }
 45751  
 45752  // AsOdbcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45753  func (cdsfas CommonDataServiceForAppsSink) AsOdbcSink() (*OdbcSink, bool) {
 45754  	return nil, false
 45755  }
 45756  
 45757  // AsAzureSearchIndexSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45758  func (cdsfas CommonDataServiceForAppsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 45759  	return nil, false
 45760  }
 45761  
 45762  // AsAzureBlobFSSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45763  func (cdsfas CommonDataServiceForAppsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 45764  	return nil, false
 45765  }
 45766  
 45767  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45768  func (cdsfas CommonDataServiceForAppsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 45769  	return nil, false
 45770  }
 45771  
 45772  // AsOracleSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45773  func (cdsfas CommonDataServiceForAppsSink) AsOracleSink() (*OracleSink, bool) {
 45774  	return nil, false
 45775  }
 45776  
 45777  // AsSQLDWSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45778  func (cdsfas CommonDataServiceForAppsSink) AsSQLDWSink() (*SQLDWSink, bool) {
 45779  	return nil, false
 45780  }
 45781  
 45782  // AsSQLMISink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45783  func (cdsfas CommonDataServiceForAppsSink) AsSQLMISink() (*SQLMISink, bool) {
 45784  	return nil, false
 45785  }
 45786  
 45787  // AsAzureSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45788  func (cdsfas CommonDataServiceForAppsSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 45789  	return nil, false
 45790  }
 45791  
 45792  // AsSQLServerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45793  func (cdsfas CommonDataServiceForAppsSink) AsSQLServerSink() (*SQLServerSink, bool) {
 45794  	return nil, false
 45795  }
 45796  
 45797  // AsSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45798  func (cdsfas CommonDataServiceForAppsSink) AsSQLSink() (*SQLSink, bool) {
 45799  	return nil, false
 45800  }
 45801  
 45802  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45803  func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 45804  	return nil, false
 45805  }
 45806  
 45807  // AsDocumentDbCollectionSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45808  func (cdsfas CommonDataServiceForAppsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 45809  	return nil, false
 45810  }
 45811  
 45812  // AsFileSystemSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45813  func (cdsfas CommonDataServiceForAppsSink) AsFileSystemSink() (*FileSystemSink, bool) {
 45814  	return nil, false
 45815  }
 45816  
 45817  // AsBlobSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45818  func (cdsfas CommonDataServiceForAppsSink) AsBlobSink() (*BlobSink, bool) {
 45819  	return nil, false
 45820  }
 45821  
 45822  // AsBinarySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45823  func (cdsfas CommonDataServiceForAppsSink) AsBinarySink() (*BinarySink, bool) {
 45824  	return nil, false
 45825  }
 45826  
 45827  // AsParquetSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45828  func (cdsfas CommonDataServiceForAppsSink) AsParquetSink() (*ParquetSink, bool) {
 45829  	return nil, false
 45830  }
 45831  
 45832  // AsAvroSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45833  func (cdsfas CommonDataServiceForAppsSink) AsAvroSink() (*AvroSink, bool) {
 45834  	return nil, false
 45835  }
 45836  
 45837  // AsAzureTableSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45838  func (cdsfas CommonDataServiceForAppsSink) AsAzureTableSink() (*AzureTableSink, bool) {
 45839  	return nil, false
 45840  }
 45841  
 45842  // AsAzureQueueSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45843  func (cdsfas CommonDataServiceForAppsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 45844  	return nil, false
 45845  }
 45846  
 45847  // AsSapCloudForCustomerSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45848  func (cdsfas CommonDataServiceForAppsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 45849  	return nil, false
 45850  }
 45851  
 45852  // AsAzureMySQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45853  func (cdsfas CommonDataServiceForAppsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 45854  	return nil, false
 45855  }
 45856  
 45857  // AsAzurePostgreSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45858  func (cdsfas CommonDataServiceForAppsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 45859  	return nil, false
 45860  }
 45861  
 45862  // AsOrcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45863  func (cdsfas CommonDataServiceForAppsSink) AsOrcSink() (*OrcSink, bool) {
 45864  	return nil, false
 45865  }
 45866  
 45867  // AsJSONSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45868  func (cdsfas CommonDataServiceForAppsSink) AsJSONSink() (*JSONSink, bool) {
 45869  	return nil, false
 45870  }
 45871  
 45872  // AsDelimitedTextSink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45873  func (cdsfas CommonDataServiceForAppsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 45874  	return nil, false
 45875  }
 45876  
 45877  // AsCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45878  func (cdsfas CommonDataServiceForAppsSink) AsCopySink() (*CopySink, bool) {
 45879  	return nil, false
 45880  }
 45881  
 45882  // AsBasicCopySink is the BasicCopySink implementation for CommonDataServiceForAppsSink.
 45883  func (cdsfas CommonDataServiceForAppsSink) AsBasicCopySink() (BasicCopySink, bool) {
 45884  	return &cdsfas, true
 45885  }
 45886  
 45887  // UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSink struct.
 45888  func (cdsfas *CommonDataServiceForAppsSink) UnmarshalJSON(body []byte) error {
 45889  	var m map[string]*json.RawMessage
 45890  	err := json.Unmarshal(body, &m)
 45891  	if err != nil {
 45892  		return err
 45893  	}
 45894  	for k, v := range m {
 45895  		switch k {
 45896  		case "writeBehavior":
 45897  			if v != nil {
 45898  				var writeBehavior string
 45899  				err = json.Unmarshal(*v, &writeBehavior)
 45900  				if err != nil {
 45901  					return err
 45902  				}
 45903  				cdsfas.WriteBehavior = &writeBehavior
 45904  			}
 45905  		case "ignoreNullValues":
 45906  			if v != nil {
 45907  				var ignoreNullValues interface{}
 45908  				err = json.Unmarshal(*v, &ignoreNullValues)
 45909  				if err != nil {
 45910  					return err
 45911  				}
 45912  				cdsfas.IgnoreNullValues = ignoreNullValues
 45913  			}
 45914  		case "alternateKeyName":
 45915  			if v != nil {
 45916  				var alternateKeyName interface{}
 45917  				err = json.Unmarshal(*v, &alternateKeyName)
 45918  				if err != nil {
 45919  					return err
 45920  				}
 45921  				cdsfas.AlternateKeyName = alternateKeyName
 45922  			}
 45923  		default:
 45924  			if v != nil {
 45925  				var additionalProperties interface{}
 45926  				err = json.Unmarshal(*v, &additionalProperties)
 45927  				if err != nil {
 45928  					return err
 45929  				}
 45930  				if cdsfas.AdditionalProperties == nil {
 45931  					cdsfas.AdditionalProperties = make(map[string]interface{})
 45932  				}
 45933  				cdsfas.AdditionalProperties[k] = additionalProperties
 45934  			}
 45935  		case "writeBatchSize":
 45936  			if v != nil {
 45937  				var writeBatchSize interface{}
 45938  				err = json.Unmarshal(*v, &writeBatchSize)
 45939  				if err != nil {
 45940  					return err
 45941  				}
 45942  				cdsfas.WriteBatchSize = writeBatchSize
 45943  			}
 45944  		case "writeBatchTimeout":
 45945  			if v != nil {
 45946  				var writeBatchTimeout interface{}
 45947  				err = json.Unmarshal(*v, &writeBatchTimeout)
 45948  				if err != nil {
 45949  					return err
 45950  				}
 45951  				cdsfas.WriteBatchTimeout = writeBatchTimeout
 45952  			}
 45953  		case "sinkRetryCount":
 45954  			if v != nil {
 45955  				var sinkRetryCount interface{}
 45956  				err = json.Unmarshal(*v, &sinkRetryCount)
 45957  				if err != nil {
 45958  					return err
 45959  				}
 45960  				cdsfas.SinkRetryCount = sinkRetryCount
 45961  			}
 45962  		case "sinkRetryWait":
 45963  			if v != nil {
 45964  				var sinkRetryWait interface{}
 45965  				err = json.Unmarshal(*v, &sinkRetryWait)
 45966  				if err != nil {
 45967  					return err
 45968  				}
 45969  				cdsfas.SinkRetryWait = sinkRetryWait
 45970  			}
 45971  		case "maxConcurrentConnections":
 45972  			if v != nil {
 45973  				var maxConcurrentConnections interface{}
 45974  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 45975  				if err != nil {
 45976  					return err
 45977  				}
 45978  				cdsfas.MaxConcurrentConnections = maxConcurrentConnections
 45979  			}
 45980  		case "type":
 45981  			if v != nil {
 45982  				var typeVar TypeBasicCopySink
 45983  				err = json.Unmarshal(*v, &typeVar)
 45984  				if err != nil {
 45985  					return err
 45986  				}
 45987  				cdsfas.Type = typeVar
 45988  			}
 45989  		}
 45990  	}
 45991  
 45992  	return nil
 45993  }
 45994  
 45995  // CommonDataServiceForAppsSource a copy activity Common Data Service for Apps source.
 45996  type CommonDataServiceForAppsSource struct {
 45997  	// 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).
 45998  	Query interface{} `json:"query,omitempty"`
 45999  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 46000  	AdditionalProperties map[string]interface{} `json:""`
 46001  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 46002  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 46003  	// 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])).
 46004  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 46005  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 46006  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 46007  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 46008  	Type TypeBasicCopySource `json:"type,omitempty"`
 46009  }
 46010  
 46011  // MarshalJSON is the custom marshaler for CommonDataServiceForAppsSource.
 46012  func (cdsfas CommonDataServiceForAppsSource) MarshalJSON() ([]byte, error) {
 46013  	cdsfas.Type = TypeCommonDataServiceForAppsSource
 46014  	objectMap := make(map[string]interface{})
 46015  	if cdsfas.Query != nil {
 46016  		objectMap["query"] = cdsfas.Query
 46017  	}
 46018  	if cdsfas.SourceRetryCount != nil {
 46019  		objectMap["sourceRetryCount"] = cdsfas.SourceRetryCount
 46020  	}
 46021  	if cdsfas.SourceRetryWait != nil {
 46022  		objectMap["sourceRetryWait"] = cdsfas.SourceRetryWait
 46023  	}
 46024  	if cdsfas.MaxConcurrentConnections != nil {
 46025  		objectMap["maxConcurrentConnections"] = cdsfas.MaxConcurrentConnections
 46026  	}
 46027  	if cdsfas.Type != "" {
 46028  		objectMap["type"] = cdsfas.Type
 46029  	}
 46030  	for k, v := range cdsfas.AdditionalProperties {
 46031  		objectMap[k] = v
 46032  	}
 46033  	return json.Marshal(objectMap)
 46034  }
 46035  
 46036  // AsHTTPSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46037  func (cdsfas CommonDataServiceForAppsSource) AsHTTPSource() (*HTTPSource, bool) {
 46038  	return nil, false
 46039  }
 46040  
 46041  // AsAzureBlobFSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46042  func (cdsfas CommonDataServiceForAppsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 46043  	return nil, false
 46044  }
 46045  
 46046  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46047  func (cdsfas CommonDataServiceForAppsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 46048  	return nil, false
 46049  }
 46050  
 46051  // AsOffice365Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46052  func (cdsfas CommonDataServiceForAppsSource) AsOffice365Source() (*Office365Source, bool) {
 46053  	return nil, false
 46054  }
 46055  
 46056  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46057  func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 46058  	return nil, false
 46059  }
 46060  
 46061  // AsMongoDbV2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46062  func (cdsfas CommonDataServiceForAppsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 46063  	return nil, false
 46064  }
 46065  
 46066  // AsMongoDbSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46067  func (cdsfas CommonDataServiceForAppsSource) AsMongoDbSource() (*MongoDbSource, bool) {
 46068  	return nil, false
 46069  }
 46070  
 46071  // AsWebSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46072  func (cdsfas CommonDataServiceForAppsSource) AsWebSource() (*WebSource, bool) {
 46073  	return nil, false
 46074  }
 46075  
 46076  // AsOracleSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46077  func (cdsfas CommonDataServiceForAppsSource) AsOracleSource() (*OracleSource, bool) {
 46078  	return nil, false
 46079  }
 46080  
 46081  // AsAzureDataExplorerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46082  func (cdsfas CommonDataServiceForAppsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 46083  	return nil, false
 46084  }
 46085  
 46086  // AsHdfsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46087  func (cdsfas CommonDataServiceForAppsSource) AsHdfsSource() (*HdfsSource, bool) {
 46088  	return nil, false
 46089  }
 46090  
 46091  // AsFileSystemSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46092  func (cdsfas CommonDataServiceForAppsSource) AsFileSystemSource() (*FileSystemSource, bool) {
 46093  	return nil, false
 46094  }
 46095  
 46096  // AsRestSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46097  func (cdsfas CommonDataServiceForAppsSource) AsRestSource() (*RestSource, bool) {
 46098  	return nil, false
 46099  }
 46100  
 46101  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46102  func (cdsfas CommonDataServiceForAppsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 46103  	return nil, false
 46104  }
 46105  
 46106  // AsODataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46107  func (cdsfas CommonDataServiceForAppsSource) AsODataSource() (*ODataSource, bool) {
 46108  	return nil, false
 46109  }
 46110  
 46111  // AsMicrosoftAccessSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46112  func (cdsfas CommonDataServiceForAppsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 46113  	return nil, false
 46114  }
 46115  
 46116  // AsRelationalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46117  func (cdsfas CommonDataServiceForAppsSource) AsRelationalSource() (*RelationalSource, bool) {
 46118  	return nil, false
 46119  }
 46120  
 46121  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46122  func (cdsfas CommonDataServiceForAppsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 46123  	return &cdsfas, true
 46124  }
 46125  
 46126  // AsDynamicsCrmSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46127  func (cdsfas CommonDataServiceForAppsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 46128  	return nil, false
 46129  }
 46130  
 46131  // AsDynamicsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46132  func (cdsfas CommonDataServiceForAppsSource) AsDynamicsSource() (*DynamicsSource, bool) {
 46133  	return nil, false
 46134  }
 46135  
 46136  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46137  func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 46138  	return nil, false
 46139  }
 46140  
 46141  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46142  func (cdsfas CommonDataServiceForAppsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 46143  	return nil, false
 46144  }
 46145  
 46146  // AsBlobSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46147  func (cdsfas CommonDataServiceForAppsSource) AsBlobSource() (*BlobSource, bool) {
 46148  	return nil, false
 46149  }
 46150  
 46151  // AsAmazonRedshiftSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46152  func (cdsfas CommonDataServiceForAppsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 46153  	return nil, false
 46154  }
 46155  
 46156  // AsGoogleAdWordsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46157  func (cdsfas CommonDataServiceForAppsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 46158  	return nil, false
 46159  }
 46160  
 46161  // AsOracleServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46162  func (cdsfas CommonDataServiceForAppsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 46163  	return nil, false
 46164  }
 46165  
 46166  // AsDynamicsAXSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46167  func (cdsfas CommonDataServiceForAppsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 46168  	return nil, false
 46169  }
 46170  
 46171  // AsResponsysSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46172  func (cdsfas CommonDataServiceForAppsSource) AsResponsysSource() (*ResponsysSource, bool) {
 46173  	return nil, false
 46174  }
 46175  
 46176  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46177  func (cdsfas CommonDataServiceForAppsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 46178  	return nil, false
 46179  }
 46180  
 46181  // AsVerticaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46182  func (cdsfas CommonDataServiceForAppsSource) AsVerticaSource() (*VerticaSource, bool) {
 46183  	return nil, false
 46184  }
 46185  
 46186  // AsNetezzaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46187  func (cdsfas CommonDataServiceForAppsSource) AsNetezzaSource() (*NetezzaSource, bool) {
 46188  	return nil, false
 46189  }
 46190  
 46191  // AsZohoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46192  func (cdsfas CommonDataServiceForAppsSource) AsZohoSource() (*ZohoSource, bool) {
 46193  	return nil, false
 46194  }
 46195  
 46196  // AsXeroSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46197  func (cdsfas CommonDataServiceForAppsSource) AsXeroSource() (*XeroSource, bool) {
 46198  	return nil, false
 46199  }
 46200  
 46201  // AsSquareSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46202  func (cdsfas CommonDataServiceForAppsSource) AsSquareSource() (*SquareSource, bool) {
 46203  	return nil, false
 46204  }
 46205  
 46206  // AsSparkSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46207  func (cdsfas CommonDataServiceForAppsSource) AsSparkSource() (*SparkSource, bool) {
 46208  	return nil, false
 46209  }
 46210  
 46211  // AsShopifySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46212  func (cdsfas CommonDataServiceForAppsSource) AsShopifySource() (*ShopifySource, bool) {
 46213  	return nil, false
 46214  }
 46215  
 46216  // AsServiceNowSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46217  func (cdsfas CommonDataServiceForAppsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 46218  	return nil, false
 46219  }
 46220  
 46221  // AsQuickBooksSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46222  func (cdsfas CommonDataServiceForAppsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 46223  	return nil, false
 46224  }
 46225  
 46226  // AsPrestoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46227  func (cdsfas CommonDataServiceForAppsSource) AsPrestoSource() (*PrestoSource, bool) {
 46228  	return nil, false
 46229  }
 46230  
 46231  // AsPhoenixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46232  func (cdsfas CommonDataServiceForAppsSource) AsPhoenixSource() (*PhoenixSource, bool) {
 46233  	return nil, false
 46234  }
 46235  
 46236  // AsPaypalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46237  func (cdsfas CommonDataServiceForAppsSource) AsPaypalSource() (*PaypalSource, bool) {
 46238  	return nil, false
 46239  }
 46240  
 46241  // AsMarketoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46242  func (cdsfas CommonDataServiceForAppsSource) AsMarketoSource() (*MarketoSource, bool) {
 46243  	return nil, false
 46244  }
 46245  
 46246  // AsAzureMariaDBSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46247  func (cdsfas CommonDataServiceForAppsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 46248  	return nil, false
 46249  }
 46250  
 46251  // AsMariaDBSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46252  func (cdsfas CommonDataServiceForAppsSource) AsMariaDBSource() (*MariaDBSource, bool) {
 46253  	return nil, false
 46254  }
 46255  
 46256  // AsMagentoSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46257  func (cdsfas CommonDataServiceForAppsSource) AsMagentoSource() (*MagentoSource, bool) {
 46258  	return nil, false
 46259  }
 46260  
 46261  // AsJiraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46262  func (cdsfas CommonDataServiceForAppsSource) AsJiraSource() (*JiraSource, bool) {
 46263  	return nil, false
 46264  }
 46265  
 46266  // AsImpalaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46267  func (cdsfas CommonDataServiceForAppsSource) AsImpalaSource() (*ImpalaSource, bool) {
 46268  	return nil, false
 46269  }
 46270  
 46271  // AsHubspotSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46272  func (cdsfas CommonDataServiceForAppsSource) AsHubspotSource() (*HubspotSource, bool) {
 46273  	return nil, false
 46274  }
 46275  
 46276  // AsHiveSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46277  func (cdsfas CommonDataServiceForAppsSource) AsHiveSource() (*HiveSource, bool) {
 46278  	return nil, false
 46279  }
 46280  
 46281  // AsHBaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46282  func (cdsfas CommonDataServiceForAppsSource) AsHBaseSource() (*HBaseSource, bool) {
 46283  	return nil, false
 46284  }
 46285  
 46286  // AsGreenplumSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46287  func (cdsfas CommonDataServiceForAppsSource) AsGreenplumSource() (*GreenplumSource, bool) {
 46288  	return nil, false
 46289  }
 46290  
 46291  // AsGoogleBigQuerySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46292  func (cdsfas CommonDataServiceForAppsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 46293  	return nil, false
 46294  }
 46295  
 46296  // AsEloquaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46297  func (cdsfas CommonDataServiceForAppsSource) AsEloquaSource() (*EloquaSource, bool) {
 46298  	return nil, false
 46299  }
 46300  
 46301  // AsDrillSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46302  func (cdsfas CommonDataServiceForAppsSource) AsDrillSource() (*DrillSource, bool) {
 46303  	return nil, false
 46304  }
 46305  
 46306  // AsCouchbaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46307  func (cdsfas CommonDataServiceForAppsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 46308  	return nil, false
 46309  }
 46310  
 46311  // AsConcurSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46312  func (cdsfas CommonDataServiceForAppsSource) AsConcurSource() (*ConcurSource, bool) {
 46313  	return nil, false
 46314  }
 46315  
 46316  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46317  func (cdsfas CommonDataServiceForAppsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 46318  	return nil, false
 46319  }
 46320  
 46321  // AsAmazonMWSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46322  func (cdsfas CommonDataServiceForAppsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 46323  	return nil, false
 46324  }
 46325  
 46326  // AsCassandraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46327  func (cdsfas CommonDataServiceForAppsSource) AsCassandraSource() (*CassandraSource, bool) {
 46328  	return nil, false
 46329  }
 46330  
 46331  // AsTeradataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46332  func (cdsfas CommonDataServiceForAppsSource) AsTeradataSource() (*TeradataSource, bool) {
 46333  	return nil, false
 46334  }
 46335  
 46336  // AsAzureMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46337  func (cdsfas CommonDataServiceForAppsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 46338  	return nil, false
 46339  }
 46340  
 46341  // AsSQLDWSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46342  func (cdsfas CommonDataServiceForAppsSource) AsSQLDWSource() (*SQLDWSource, bool) {
 46343  	return nil, false
 46344  }
 46345  
 46346  // AsSQLMISource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46347  func (cdsfas CommonDataServiceForAppsSource) AsSQLMISource() (*SQLMISource, bool) {
 46348  	return nil, false
 46349  }
 46350  
 46351  // AsAzureSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46352  func (cdsfas CommonDataServiceForAppsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 46353  	return nil, false
 46354  }
 46355  
 46356  // AsSQLServerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46357  func (cdsfas CommonDataServiceForAppsSource) AsSQLServerSource() (*SQLServerSource, bool) {
 46358  	return nil, false
 46359  }
 46360  
 46361  // AsSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46362  func (cdsfas CommonDataServiceForAppsSource) AsSQLSource() (*SQLSource, bool) {
 46363  	return nil, false
 46364  }
 46365  
 46366  // AsSapTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46367  func (cdsfas CommonDataServiceForAppsSource) AsSapTableSource() (*SapTableSource, bool) {
 46368  	return nil, false
 46369  }
 46370  
 46371  // AsSapOpenHubSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46372  func (cdsfas CommonDataServiceForAppsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 46373  	return nil, false
 46374  }
 46375  
 46376  // AsSapHanaSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46377  func (cdsfas CommonDataServiceForAppsSource) AsSapHanaSource() (*SapHanaSource, bool) {
 46378  	return nil, false
 46379  }
 46380  
 46381  // AsSapEccSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46382  func (cdsfas CommonDataServiceForAppsSource) AsSapEccSource() (*SapEccSource, bool) {
 46383  	return nil, false
 46384  }
 46385  
 46386  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46387  func (cdsfas CommonDataServiceForAppsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 46388  	return nil, false
 46389  }
 46390  
 46391  // AsSalesforceSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46392  func (cdsfas CommonDataServiceForAppsSource) AsSalesforceSource() (*SalesforceSource, bool) {
 46393  	return nil, false
 46394  }
 46395  
 46396  // AsSapBwSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46397  func (cdsfas CommonDataServiceForAppsSource) AsSapBwSource() (*SapBwSource, bool) {
 46398  	return nil, false
 46399  }
 46400  
 46401  // AsSybaseSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46402  func (cdsfas CommonDataServiceForAppsSource) AsSybaseSource() (*SybaseSource, bool) {
 46403  	return nil, false
 46404  }
 46405  
 46406  // AsPostgreSQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46407  func (cdsfas CommonDataServiceForAppsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 46408  	return nil, false
 46409  }
 46410  
 46411  // AsMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46412  func (cdsfas CommonDataServiceForAppsSource) AsMySQLSource() (*MySQLSource, bool) {
 46413  	return nil, false
 46414  }
 46415  
 46416  // AsOdbcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46417  func (cdsfas CommonDataServiceForAppsSource) AsOdbcSource() (*OdbcSource, bool) {
 46418  	return nil, false
 46419  }
 46420  
 46421  // AsDb2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46422  func (cdsfas CommonDataServiceForAppsSource) AsDb2Source() (*Db2Source, bool) {
 46423  	return nil, false
 46424  }
 46425  
 46426  // AsInformixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46427  func (cdsfas CommonDataServiceForAppsSource) AsInformixSource() (*InformixSource, bool) {
 46428  	return nil, false
 46429  }
 46430  
 46431  // AsAzureTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46432  func (cdsfas CommonDataServiceForAppsSource) AsAzureTableSource() (*AzureTableSource, bool) {
 46433  	return nil, false
 46434  }
 46435  
 46436  // AsTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46437  func (cdsfas CommonDataServiceForAppsSource) AsTabularSource() (*TabularSource, bool) {
 46438  	return nil, false
 46439  }
 46440  
 46441  // AsBasicTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46442  func (cdsfas CommonDataServiceForAppsSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 46443  	return nil, false
 46444  }
 46445  
 46446  // AsBinarySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46447  func (cdsfas CommonDataServiceForAppsSource) AsBinarySource() (*BinarySource, bool) {
 46448  	return nil, false
 46449  }
 46450  
 46451  // AsOrcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46452  func (cdsfas CommonDataServiceForAppsSource) AsOrcSource() (*OrcSource, bool) {
 46453  	return nil, false
 46454  }
 46455  
 46456  // AsJSONSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46457  func (cdsfas CommonDataServiceForAppsSource) AsJSONSource() (*JSONSource, bool) {
 46458  	return nil, false
 46459  }
 46460  
 46461  // AsDelimitedTextSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46462  func (cdsfas CommonDataServiceForAppsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 46463  	return nil, false
 46464  }
 46465  
 46466  // AsParquetSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46467  func (cdsfas CommonDataServiceForAppsSource) AsParquetSource() (*ParquetSource, bool) {
 46468  	return nil, false
 46469  }
 46470  
 46471  // AsAvroSource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46472  func (cdsfas CommonDataServiceForAppsSource) AsAvroSource() (*AvroSource, bool) {
 46473  	return nil, false
 46474  }
 46475  
 46476  // AsCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46477  func (cdsfas CommonDataServiceForAppsSource) AsCopySource() (*CopySource, bool) {
 46478  	return nil, false
 46479  }
 46480  
 46481  // AsBasicCopySource is the BasicCopySource implementation for CommonDataServiceForAppsSource.
 46482  func (cdsfas CommonDataServiceForAppsSource) AsBasicCopySource() (BasicCopySource, bool) {
 46483  	return &cdsfas, true
 46484  }
 46485  
 46486  // UnmarshalJSON is the custom unmarshaler for CommonDataServiceForAppsSource struct.
 46487  func (cdsfas *CommonDataServiceForAppsSource) UnmarshalJSON(body []byte) error {
 46488  	var m map[string]*json.RawMessage
 46489  	err := json.Unmarshal(body, &m)
 46490  	if err != nil {
 46491  		return err
 46492  	}
 46493  	for k, v := range m {
 46494  		switch k {
 46495  		case "query":
 46496  			if v != nil {
 46497  				var query interface{}
 46498  				err = json.Unmarshal(*v, &query)
 46499  				if err != nil {
 46500  					return err
 46501  				}
 46502  				cdsfas.Query = query
 46503  			}
 46504  		default:
 46505  			if v != nil {
 46506  				var additionalProperties interface{}
 46507  				err = json.Unmarshal(*v, &additionalProperties)
 46508  				if err != nil {
 46509  					return err
 46510  				}
 46511  				if cdsfas.AdditionalProperties == nil {
 46512  					cdsfas.AdditionalProperties = make(map[string]interface{})
 46513  				}
 46514  				cdsfas.AdditionalProperties[k] = additionalProperties
 46515  			}
 46516  		case "sourceRetryCount":
 46517  			if v != nil {
 46518  				var sourceRetryCount interface{}
 46519  				err = json.Unmarshal(*v, &sourceRetryCount)
 46520  				if err != nil {
 46521  					return err
 46522  				}
 46523  				cdsfas.SourceRetryCount = sourceRetryCount
 46524  			}
 46525  		case "sourceRetryWait":
 46526  			if v != nil {
 46527  				var sourceRetryWait interface{}
 46528  				err = json.Unmarshal(*v, &sourceRetryWait)
 46529  				if err != nil {
 46530  					return err
 46531  				}
 46532  				cdsfas.SourceRetryWait = sourceRetryWait
 46533  			}
 46534  		case "maxConcurrentConnections":
 46535  			if v != nil {
 46536  				var maxConcurrentConnections interface{}
 46537  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 46538  				if err != nil {
 46539  					return err
 46540  				}
 46541  				cdsfas.MaxConcurrentConnections = maxConcurrentConnections
 46542  			}
 46543  		case "type":
 46544  			if v != nil {
 46545  				var typeVar TypeBasicCopySource
 46546  				err = json.Unmarshal(*v, &typeVar)
 46547  				if err != nil {
 46548  					return err
 46549  				}
 46550  				cdsfas.Type = typeVar
 46551  			}
 46552  		}
 46553  	}
 46554  
 46555  	return nil
 46556  }
 46557  
 46558  // ComponentSetup the custom setup of installing 3rd party components.
 46559  type ComponentSetup struct {
 46560  	// LicensedComponentSetupTypeProperties - Install 3rd party component type properties.
 46561  	*LicensedComponentSetupTypeProperties `json:"typeProperties,omitempty"`
 46562  	// Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup'
 46563  	Type TypeBasicCustomSetupBase `json:"type,omitempty"`
 46564  }
 46565  
 46566  // MarshalJSON is the custom marshaler for ComponentSetup.
 46567  func (cs ComponentSetup) MarshalJSON() ([]byte, error) {
 46568  	cs.Type = TypeComponentSetup
 46569  	objectMap := make(map[string]interface{})
 46570  	if cs.LicensedComponentSetupTypeProperties != nil {
 46571  		objectMap["typeProperties"] = cs.LicensedComponentSetupTypeProperties
 46572  	}
 46573  	if cs.Type != "" {
 46574  		objectMap["type"] = cs.Type
 46575  	}
 46576  	return json.Marshal(objectMap)
 46577  }
 46578  
 46579  // AsComponentSetup is the BasicCustomSetupBase implementation for ComponentSetup.
 46580  func (cs ComponentSetup) AsComponentSetup() (*ComponentSetup, bool) {
 46581  	return &cs, true
 46582  }
 46583  
 46584  // AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for ComponentSetup.
 46585  func (cs ComponentSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) {
 46586  	return nil, false
 46587  }
 46588  
 46589  // AsCmdkeySetup is the BasicCustomSetupBase implementation for ComponentSetup.
 46590  func (cs ComponentSetup) AsCmdkeySetup() (*CmdkeySetup, bool) {
 46591  	return nil, false
 46592  }
 46593  
 46594  // AsCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup.
 46595  func (cs ComponentSetup) AsCustomSetupBase() (*CustomSetupBase, bool) {
 46596  	return nil, false
 46597  }
 46598  
 46599  // AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup.
 46600  func (cs ComponentSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) {
 46601  	return &cs, true
 46602  }
 46603  
 46604  // UnmarshalJSON is the custom unmarshaler for ComponentSetup struct.
 46605  func (cs *ComponentSetup) UnmarshalJSON(body []byte) error {
 46606  	var m map[string]*json.RawMessage
 46607  	err := json.Unmarshal(body, &m)
 46608  	if err != nil {
 46609  		return err
 46610  	}
 46611  	for k, v := range m {
 46612  		switch k {
 46613  		case "typeProperties":
 46614  			if v != nil {
 46615  				var licensedComponentSetupTypeProperties LicensedComponentSetupTypeProperties
 46616  				err = json.Unmarshal(*v, &licensedComponentSetupTypeProperties)
 46617  				if err != nil {
 46618  					return err
 46619  				}
 46620  				cs.LicensedComponentSetupTypeProperties = &licensedComponentSetupTypeProperties
 46621  			}
 46622  		case "type":
 46623  			if v != nil {
 46624  				var typeVar TypeBasicCustomSetupBase
 46625  				err = json.Unmarshal(*v, &typeVar)
 46626  				if err != nil {
 46627  					return err
 46628  				}
 46629  				cs.Type = typeVar
 46630  			}
 46631  		}
 46632  	}
 46633  
 46634  	return nil
 46635  }
 46636  
 46637  // ConcurLinkedService concur Service linked service.
 46638  type ConcurLinkedService struct {
 46639  	// ConcurLinkedServiceTypeProperties - Concur Service linked service properties.
 46640  	*ConcurLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 46641  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 46642  	AdditionalProperties map[string]interface{} `json:""`
 46643  	// ConnectVia - The integration runtime reference.
 46644  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 46645  	// Description - Linked service description.
 46646  	Description *string `json:"description,omitempty"`
 46647  	// Parameters - Parameters for linked service.
 46648  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 46649  	// Annotations - List of tags that can be used for describing the linked service.
 46650  	Annotations *[]interface{} `json:"annotations,omitempty"`
 46651  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 46652  	Type TypeBasicLinkedService `json:"type,omitempty"`
 46653  }
 46654  
 46655  // MarshalJSON is the custom marshaler for ConcurLinkedService.
 46656  func (cls ConcurLinkedService) MarshalJSON() ([]byte, error) {
 46657  	cls.Type = TypeConcur
 46658  	objectMap := make(map[string]interface{})
 46659  	if cls.ConcurLinkedServiceTypeProperties != nil {
 46660  		objectMap["typeProperties"] = cls.ConcurLinkedServiceTypeProperties
 46661  	}
 46662  	if cls.ConnectVia != nil {
 46663  		objectMap["connectVia"] = cls.ConnectVia
 46664  	}
 46665  	if cls.Description != nil {
 46666  		objectMap["description"] = cls.Description
 46667  	}
 46668  	if cls.Parameters != nil {
 46669  		objectMap["parameters"] = cls.Parameters
 46670  	}
 46671  	if cls.Annotations != nil {
 46672  		objectMap["annotations"] = cls.Annotations
 46673  	}
 46674  	if cls.Type != "" {
 46675  		objectMap["type"] = cls.Type
 46676  	}
 46677  	for k, v := range cls.AdditionalProperties {
 46678  		objectMap[k] = v
 46679  	}
 46680  	return json.Marshal(objectMap)
 46681  }
 46682  
 46683  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46684  func (cls ConcurLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 46685  	return nil, false
 46686  }
 46687  
 46688  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46689  func (cls ConcurLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 46690  	return nil, false
 46691  }
 46692  
 46693  // AsSapTableLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46694  func (cls ConcurLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 46695  	return nil, false
 46696  }
 46697  
 46698  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46699  func (cls ConcurLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 46700  	return nil, false
 46701  }
 46702  
 46703  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46704  func (cls ConcurLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 46705  	return nil, false
 46706  }
 46707  
 46708  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46709  func (cls ConcurLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 46710  	return nil, false
 46711  }
 46712  
 46713  // AsResponsysLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46714  func (cls ConcurLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 46715  	return nil, false
 46716  }
 46717  
 46718  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46719  func (cls ConcurLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 46720  	return nil, false
 46721  }
 46722  
 46723  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46724  func (cls ConcurLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 46725  	return nil, false
 46726  }
 46727  
 46728  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46729  func (cls ConcurLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 46730  	return nil, false
 46731  }
 46732  
 46733  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46734  func (cls ConcurLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 46735  	return nil, false
 46736  }
 46737  
 46738  // AsNetezzaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46739  func (cls ConcurLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 46740  	return nil, false
 46741  }
 46742  
 46743  // AsVerticaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46744  func (cls ConcurLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 46745  	return nil, false
 46746  }
 46747  
 46748  // AsZohoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46749  func (cls ConcurLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 46750  	return nil, false
 46751  }
 46752  
 46753  // AsXeroLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46754  func (cls ConcurLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 46755  	return nil, false
 46756  }
 46757  
 46758  // AsSquareLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46759  func (cls ConcurLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 46760  	return nil, false
 46761  }
 46762  
 46763  // AsSparkLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46764  func (cls ConcurLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 46765  	return nil, false
 46766  }
 46767  
 46768  // AsShopifyLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46769  func (cls ConcurLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 46770  	return nil, false
 46771  }
 46772  
 46773  // AsServiceNowLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46774  func (cls ConcurLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 46775  	return nil, false
 46776  }
 46777  
 46778  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46779  func (cls ConcurLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 46780  	return nil, false
 46781  }
 46782  
 46783  // AsPrestoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46784  func (cls ConcurLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 46785  	return nil, false
 46786  }
 46787  
 46788  // AsPhoenixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46789  func (cls ConcurLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 46790  	return nil, false
 46791  }
 46792  
 46793  // AsPaypalLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46794  func (cls ConcurLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 46795  	return nil, false
 46796  }
 46797  
 46798  // AsMarketoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46799  func (cls ConcurLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 46800  	return nil, false
 46801  }
 46802  
 46803  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46804  func (cls ConcurLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 46805  	return nil, false
 46806  }
 46807  
 46808  // AsMariaDBLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46809  func (cls ConcurLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 46810  	return nil, false
 46811  }
 46812  
 46813  // AsMagentoLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46814  func (cls ConcurLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 46815  	return nil, false
 46816  }
 46817  
 46818  // AsJiraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46819  func (cls ConcurLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 46820  	return nil, false
 46821  }
 46822  
 46823  // AsImpalaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46824  func (cls ConcurLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 46825  	return nil, false
 46826  }
 46827  
 46828  // AsHubspotLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46829  func (cls ConcurLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 46830  	return nil, false
 46831  }
 46832  
 46833  // AsHiveLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46834  func (cls ConcurLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 46835  	return nil, false
 46836  }
 46837  
 46838  // AsHBaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46839  func (cls ConcurLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 46840  	return nil, false
 46841  }
 46842  
 46843  // AsGreenplumLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46844  func (cls ConcurLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 46845  	return nil, false
 46846  }
 46847  
 46848  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46849  func (cls ConcurLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 46850  	return nil, false
 46851  }
 46852  
 46853  // AsEloquaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46854  func (cls ConcurLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 46855  	return nil, false
 46856  }
 46857  
 46858  // AsDrillLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46859  func (cls ConcurLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 46860  	return nil, false
 46861  }
 46862  
 46863  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46864  func (cls ConcurLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 46865  	return nil, false
 46866  }
 46867  
 46868  // AsConcurLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46869  func (cls ConcurLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 46870  	return &cls, true
 46871  }
 46872  
 46873  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46874  func (cls ConcurLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 46875  	return nil, false
 46876  }
 46877  
 46878  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46879  func (cls ConcurLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 46880  	return nil, false
 46881  }
 46882  
 46883  // AsSapHanaLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46884  func (cls ConcurLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 46885  	return nil, false
 46886  }
 46887  
 46888  // AsSapBWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46889  func (cls ConcurLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 46890  	return nil, false
 46891  }
 46892  
 46893  // AsSftpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46894  func (cls ConcurLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 46895  	return nil, false
 46896  }
 46897  
 46898  // AsFtpServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46899  func (cls ConcurLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 46900  	return nil, false
 46901  }
 46902  
 46903  // AsHTTPLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46904  func (cls ConcurLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 46905  	return nil, false
 46906  }
 46907  
 46908  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46909  func (cls ConcurLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 46910  	return nil, false
 46911  }
 46912  
 46913  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46914  func (cls ConcurLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 46915  	return nil, false
 46916  }
 46917  
 46918  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46919  func (cls ConcurLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 46920  	return nil, false
 46921  }
 46922  
 46923  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46924  func (cls ConcurLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 46925  	return nil, false
 46926  }
 46927  
 46928  // AsRestServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46929  func (cls ConcurLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 46930  	return nil, false
 46931  }
 46932  
 46933  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46934  func (cls ConcurLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 46935  	return nil, false
 46936  }
 46937  
 46938  // AsSapEccLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46939  func (cls ConcurLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 46940  	return nil, false
 46941  }
 46942  
 46943  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46944  func (cls ConcurLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 46945  	return nil, false
 46946  }
 46947  
 46948  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46949  func (cls ConcurLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 46950  	return nil, false
 46951  }
 46952  
 46953  // AsSalesforceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46954  func (cls ConcurLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 46955  	return nil, false
 46956  }
 46957  
 46958  // AsOffice365LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46959  func (cls ConcurLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 46960  	return nil, false
 46961  }
 46962  
 46963  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46964  func (cls ConcurLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 46965  	return nil, false
 46966  }
 46967  
 46968  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46969  func (cls ConcurLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 46970  	return nil, false
 46971  }
 46972  
 46973  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46974  func (cls ConcurLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 46975  	return nil, false
 46976  }
 46977  
 46978  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46979  func (cls ConcurLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 46980  	return nil, false
 46981  }
 46982  
 46983  // AsMongoDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46984  func (cls ConcurLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 46985  	return nil, false
 46986  }
 46987  
 46988  // AsCassandraLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46989  func (cls ConcurLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 46990  	return nil, false
 46991  }
 46992  
 46993  // AsWebLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46994  func (cls ConcurLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 46995  	return nil, false
 46996  }
 46997  
 46998  // AsODataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 46999  func (cls ConcurLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 47000  	return nil, false
 47001  }
 47002  
 47003  // AsHdfsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47004  func (cls ConcurLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 47005  	return nil, false
 47006  }
 47007  
 47008  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47009  func (cls ConcurLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 47010  	return nil, false
 47011  }
 47012  
 47013  // AsInformixLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47014  func (cls ConcurLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 47015  	return nil, false
 47016  }
 47017  
 47018  // AsOdbcLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47019  func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 47020  	return nil, false
 47021  }
 47022  
 47023  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47024  func (cls ConcurLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 47025  	return nil, false
 47026  }
 47027  
 47028  // AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47029  func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 47030  	return nil, false
 47031  }
 47032  
 47033  // AsTeradataLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47034  func (cls ConcurLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 47035  	return nil, false
 47036  }
 47037  
 47038  // AsDb2LinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47039  func (cls ConcurLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 47040  	return nil, false
 47041  }
 47042  
 47043  // AsSybaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47044  func (cls ConcurLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 47045  	return nil, false
 47046  }
 47047  
 47048  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47049  func (cls ConcurLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 47050  	return nil, false
 47051  }
 47052  
 47053  // AsMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47054  func (cls ConcurLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 47055  	return nil, false
 47056  }
 47057  
 47058  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47059  func (cls ConcurLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 47060  	return nil, false
 47061  }
 47062  
 47063  // AsOracleLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47064  func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 47065  	return nil, false
 47066  }
 47067  
 47068  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47069  func (cls ConcurLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 47070  	return nil, false
 47071  }
 47072  
 47073  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47074  func (cls ConcurLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 47075  	return nil, false
 47076  }
 47077  
 47078  // AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47079  func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 47080  	return nil, false
 47081  }
 47082  
 47083  // AsHDInsightLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47084  func (cls ConcurLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 47085  	return nil, false
 47086  }
 47087  
 47088  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47089  func (cls ConcurLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 47090  	return nil, false
 47091  }
 47092  
 47093  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47094  func (cls ConcurLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 47095  	return nil, false
 47096  }
 47097  
 47098  // AsDynamicsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47099  func (cls ConcurLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 47100  	return nil, false
 47101  }
 47102  
 47103  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47104  func (cls ConcurLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 47105  	return nil, false
 47106  }
 47107  
 47108  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47109  func (cls ConcurLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 47110  	return nil, false
 47111  }
 47112  
 47113  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47114  func (cls ConcurLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 47115  	return nil, false
 47116  }
 47117  
 47118  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47119  func (cls ConcurLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 47120  	return nil, false
 47121  }
 47122  
 47123  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47124  func (cls ConcurLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 47125  	return nil, false
 47126  }
 47127  
 47128  // AsSQLServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47129  func (cls ConcurLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 47130  	return nil, false
 47131  }
 47132  
 47133  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47134  func (cls ConcurLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 47135  	return nil, false
 47136  }
 47137  
 47138  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47139  func (cls ConcurLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 47140  	return nil, false
 47141  }
 47142  
 47143  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47144  func (cls ConcurLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 47145  	return nil, false
 47146  }
 47147  
 47148  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47149  func (cls ConcurLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 47150  	return nil, false
 47151  }
 47152  
 47153  // AsLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47154  func (cls ConcurLinkedService) AsLinkedService() (*LinkedService, bool) {
 47155  	return nil, false
 47156  }
 47157  
 47158  // AsBasicLinkedService is the BasicLinkedService implementation for ConcurLinkedService.
 47159  func (cls ConcurLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 47160  	return &cls, true
 47161  }
 47162  
 47163  // UnmarshalJSON is the custom unmarshaler for ConcurLinkedService struct.
 47164  func (cls *ConcurLinkedService) UnmarshalJSON(body []byte) error {
 47165  	var m map[string]*json.RawMessage
 47166  	err := json.Unmarshal(body, &m)
 47167  	if err != nil {
 47168  		return err
 47169  	}
 47170  	for k, v := range m {
 47171  		switch k {
 47172  		case "typeProperties":
 47173  			if v != nil {
 47174  				var concurLinkedServiceTypeProperties ConcurLinkedServiceTypeProperties
 47175  				err = json.Unmarshal(*v, &concurLinkedServiceTypeProperties)
 47176  				if err != nil {
 47177  					return err
 47178  				}
 47179  				cls.ConcurLinkedServiceTypeProperties = &concurLinkedServiceTypeProperties
 47180  			}
 47181  		default:
 47182  			if v != nil {
 47183  				var additionalProperties interface{}
 47184  				err = json.Unmarshal(*v, &additionalProperties)
 47185  				if err != nil {
 47186  					return err
 47187  				}
 47188  				if cls.AdditionalProperties == nil {
 47189  					cls.AdditionalProperties = make(map[string]interface{})
 47190  				}
 47191  				cls.AdditionalProperties[k] = additionalProperties
 47192  			}
 47193  		case "connectVia":
 47194  			if v != nil {
 47195  				var connectVia IntegrationRuntimeReference
 47196  				err = json.Unmarshal(*v, &connectVia)
 47197  				if err != nil {
 47198  					return err
 47199  				}
 47200  				cls.ConnectVia = &connectVia
 47201  			}
 47202  		case "description":
 47203  			if v != nil {
 47204  				var description string
 47205  				err = json.Unmarshal(*v, &description)
 47206  				if err != nil {
 47207  					return err
 47208  				}
 47209  				cls.Description = &description
 47210  			}
 47211  		case "parameters":
 47212  			if v != nil {
 47213  				var parameters map[string]*ParameterSpecification
 47214  				err = json.Unmarshal(*v, &parameters)
 47215  				if err != nil {
 47216  					return err
 47217  				}
 47218  				cls.Parameters = parameters
 47219  			}
 47220  		case "annotations":
 47221  			if v != nil {
 47222  				var annotations []interface{}
 47223  				err = json.Unmarshal(*v, &annotations)
 47224  				if err != nil {
 47225  					return err
 47226  				}
 47227  				cls.Annotations = &annotations
 47228  			}
 47229  		case "type":
 47230  			if v != nil {
 47231  				var typeVar TypeBasicLinkedService
 47232  				err = json.Unmarshal(*v, &typeVar)
 47233  				if err != nil {
 47234  					return err
 47235  				}
 47236  				cls.Type = typeVar
 47237  			}
 47238  		}
 47239  	}
 47240  
 47241  	return nil
 47242  }
 47243  
 47244  // ConcurLinkedServiceTypeProperties concur Service linked service properties.
 47245  type ConcurLinkedServiceTypeProperties struct {
 47246  	// ClientID - Application client_id supplied by Concur App Management.
 47247  	ClientID interface{} `json:"clientId,omitempty"`
 47248  	// Username - The user name that you use to access Concur Service.
 47249  	Username interface{} `json:"username,omitempty"`
 47250  	// Password - The password corresponding to the user name that you provided in the username field.
 47251  	Password BasicSecretBase `json:"password,omitempty"`
 47252  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
 47253  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
 47254  	// 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.
 47255  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
 47256  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
 47257  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
 47258  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 47259  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 47260  }
 47261  
 47262  // UnmarshalJSON is the custom unmarshaler for ConcurLinkedServiceTypeProperties struct.
 47263  func (clstp *ConcurLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 47264  	var m map[string]*json.RawMessage
 47265  	err := json.Unmarshal(body, &m)
 47266  	if err != nil {
 47267  		return err
 47268  	}
 47269  	for k, v := range m {
 47270  		switch k {
 47271  		case "clientId":
 47272  			if v != nil {
 47273  				var clientID interface{}
 47274  				err = json.Unmarshal(*v, &clientID)
 47275  				if err != nil {
 47276  					return err
 47277  				}
 47278  				clstp.ClientID = clientID
 47279  			}
 47280  		case "username":
 47281  			if v != nil {
 47282  				var username interface{}
 47283  				err = json.Unmarshal(*v, &username)
 47284  				if err != nil {
 47285  					return err
 47286  				}
 47287  				clstp.Username = username
 47288  			}
 47289  		case "password":
 47290  			if v != nil {
 47291  				password, err := unmarshalBasicSecretBase(*v)
 47292  				if err != nil {
 47293  					return err
 47294  				}
 47295  				clstp.Password = password
 47296  			}
 47297  		case "useEncryptedEndpoints":
 47298  			if v != nil {
 47299  				var useEncryptedEndpoints interface{}
 47300  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
 47301  				if err != nil {
 47302  					return err
 47303  				}
 47304  				clstp.UseEncryptedEndpoints = useEncryptedEndpoints
 47305  			}
 47306  		case "useHostVerification":
 47307  			if v != nil {
 47308  				var useHostVerification interface{}
 47309  				err = json.Unmarshal(*v, &useHostVerification)
 47310  				if err != nil {
 47311  					return err
 47312  				}
 47313  				clstp.UseHostVerification = useHostVerification
 47314  			}
 47315  		case "usePeerVerification":
 47316  			if v != nil {
 47317  				var usePeerVerification interface{}
 47318  				err = json.Unmarshal(*v, &usePeerVerification)
 47319  				if err != nil {
 47320  					return err
 47321  				}
 47322  				clstp.UsePeerVerification = usePeerVerification
 47323  			}
 47324  		case "encryptedCredential":
 47325  			if v != nil {
 47326  				var encryptedCredential interface{}
 47327  				err = json.Unmarshal(*v, &encryptedCredential)
 47328  				if err != nil {
 47329  					return err
 47330  				}
 47331  				clstp.EncryptedCredential = encryptedCredential
 47332  			}
 47333  		}
 47334  	}
 47335  
 47336  	return nil
 47337  }
 47338  
 47339  // ConcurObjectDataset concur Service dataset.
 47340  type ConcurObjectDataset struct {
 47341  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 47342  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 47343  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 47344  	AdditionalProperties map[string]interface{} `json:""`
 47345  	// Description - Dataset description.
 47346  	Description *string `json:"description,omitempty"`
 47347  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 47348  	Structure interface{} `json:"structure,omitempty"`
 47349  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 47350  	Schema interface{} `json:"schema,omitempty"`
 47351  	// LinkedServiceName - Linked service reference.
 47352  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 47353  	// Parameters - Parameters for dataset.
 47354  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 47355  	// Annotations - List of tags that can be used for describing the Dataset.
 47356  	Annotations *[]interface{} `json:"annotations,omitempty"`
 47357  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 47358  	Folder *DatasetFolder `json:"folder,omitempty"`
 47359  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 47360  	Type TypeBasicDataset `json:"type,omitempty"`
 47361  }
 47362  
 47363  // MarshalJSON is the custom marshaler for ConcurObjectDataset.
 47364  func (cod ConcurObjectDataset) MarshalJSON() ([]byte, error) {
 47365  	cod.Type = TypeConcurObject
 47366  	objectMap := make(map[string]interface{})
 47367  	if cod.GenericDatasetTypeProperties != nil {
 47368  		objectMap["typeProperties"] = cod.GenericDatasetTypeProperties
 47369  	}
 47370  	if cod.Description != nil {
 47371  		objectMap["description"] = cod.Description
 47372  	}
 47373  	if cod.Structure != nil {
 47374  		objectMap["structure"] = cod.Structure
 47375  	}
 47376  	if cod.Schema != nil {
 47377  		objectMap["schema"] = cod.Schema
 47378  	}
 47379  	if cod.LinkedServiceName != nil {
 47380  		objectMap["linkedServiceName"] = cod.LinkedServiceName
 47381  	}
 47382  	if cod.Parameters != nil {
 47383  		objectMap["parameters"] = cod.Parameters
 47384  	}
 47385  	if cod.Annotations != nil {
 47386  		objectMap["annotations"] = cod.Annotations
 47387  	}
 47388  	if cod.Folder != nil {
 47389  		objectMap["folder"] = cod.Folder
 47390  	}
 47391  	if cod.Type != "" {
 47392  		objectMap["type"] = cod.Type
 47393  	}
 47394  	for k, v := range cod.AdditionalProperties {
 47395  		objectMap[k] = v
 47396  	}
 47397  	return json.Marshal(objectMap)
 47398  }
 47399  
 47400  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47401  func (cod ConcurObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 47402  	return nil, false
 47403  }
 47404  
 47405  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47406  func (cod ConcurObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 47407  	return nil, false
 47408  }
 47409  
 47410  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47411  func (cod ConcurObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 47412  	return nil, false
 47413  }
 47414  
 47415  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47416  func (cod ConcurObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 47417  	return nil, false
 47418  }
 47419  
 47420  // AsResponsysObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47421  func (cod ConcurObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 47422  	return nil, false
 47423  }
 47424  
 47425  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47426  func (cod ConcurObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 47427  	return nil, false
 47428  }
 47429  
 47430  // AsVerticaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47431  func (cod ConcurObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 47432  	return nil, false
 47433  }
 47434  
 47435  // AsNetezzaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47436  func (cod ConcurObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 47437  	return nil, false
 47438  }
 47439  
 47440  // AsZohoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47441  func (cod ConcurObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 47442  	return nil, false
 47443  }
 47444  
 47445  // AsXeroObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47446  func (cod ConcurObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 47447  	return nil, false
 47448  }
 47449  
 47450  // AsSquareObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47451  func (cod ConcurObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 47452  	return nil, false
 47453  }
 47454  
 47455  // AsSparkObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47456  func (cod ConcurObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 47457  	return nil, false
 47458  }
 47459  
 47460  // AsShopifyObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47461  func (cod ConcurObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 47462  	return nil, false
 47463  }
 47464  
 47465  // AsServiceNowObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47466  func (cod ConcurObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 47467  	return nil, false
 47468  }
 47469  
 47470  // AsQuickBooksObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47471  func (cod ConcurObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 47472  	return nil, false
 47473  }
 47474  
 47475  // AsPrestoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47476  func (cod ConcurObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 47477  	return nil, false
 47478  }
 47479  
 47480  // AsPhoenixObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47481  func (cod ConcurObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 47482  	return nil, false
 47483  }
 47484  
 47485  // AsPaypalObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47486  func (cod ConcurObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 47487  	return nil, false
 47488  }
 47489  
 47490  // AsMarketoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47491  func (cod ConcurObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 47492  	return nil, false
 47493  }
 47494  
 47495  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47496  func (cod ConcurObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 47497  	return nil, false
 47498  }
 47499  
 47500  // AsMariaDBTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47501  func (cod ConcurObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 47502  	return nil, false
 47503  }
 47504  
 47505  // AsMagentoObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47506  func (cod ConcurObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 47507  	return nil, false
 47508  }
 47509  
 47510  // AsJiraObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47511  func (cod ConcurObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 47512  	return nil, false
 47513  }
 47514  
 47515  // AsImpalaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47516  func (cod ConcurObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 47517  	return nil, false
 47518  }
 47519  
 47520  // AsHubspotObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47521  func (cod ConcurObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 47522  	return nil, false
 47523  }
 47524  
 47525  // AsHiveObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47526  func (cod ConcurObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 47527  	return nil, false
 47528  }
 47529  
 47530  // AsHBaseObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47531  func (cod ConcurObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 47532  	return nil, false
 47533  }
 47534  
 47535  // AsGreenplumTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47536  func (cod ConcurObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 47537  	return nil, false
 47538  }
 47539  
 47540  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47541  func (cod ConcurObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 47542  	return nil, false
 47543  }
 47544  
 47545  // AsEloquaObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47546  func (cod ConcurObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 47547  	return nil, false
 47548  }
 47549  
 47550  // AsDrillTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47551  func (cod ConcurObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 47552  	return nil, false
 47553  }
 47554  
 47555  // AsCouchbaseTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47556  func (cod ConcurObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 47557  	return nil, false
 47558  }
 47559  
 47560  // AsConcurObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47561  func (cod ConcurObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 47562  	return &cod, true
 47563  }
 47564  
 47565  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47566  func (cod ConcurObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 47567  	return nil, false
 47568  }
 47569  
 47570  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47571  func (cod ConcurObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 47572  	return nil, false
 47573  }
 47574  
 47575  // AsAzureSearchIndexDataset is the BasicDataset implementation for ConcurObjectDataset.
 47576  func (cod ConcurObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 47577  	return nil, false
 47578  }
 47579  
 47580  // AsWebTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47581  func (cod ConcurObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 47582  	return nil, false
 47583  }
 47584  
 47585  // AsSapTableResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47586  func (cod ConcurObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 47587  	return nil, false
 47588  }
 47589  
 47590  // AsRestResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47591  func (cod ConcurObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 47592  	return nil, false
 47593  }
 47594  
 47595  // AsSQLServerTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47596  func (cod ConcurObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 47597  	return nil, false
 47598  }
 47599  
 47600  // AsSapOpenHubTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47601  func (cod ConcurObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 47602  	return nil, false
 47603  }
 47604  
 47605  // AsSapHanaTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47606  func (cod ConcurObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 47607  	return nil, false
 47608  }
 47609  
 47610  // AsSapEccResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47611  func (cod ConcurObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 47612  	return nil, false
 47613  }
 47614  
 47615  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47616  func (cod ConcurObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 47617  	return nil, false
 47618  }
 47619  
 47620  // AsSapBwCubeDataset is the BasicDataset implementation for ConcurObjectDataset.
 47621  func (cod ConcurObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 47622  	return nil, false
 47623  }
 47624  
 47625  // AsSybaseTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47626  func (cod ConcurObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 47627  	return nil, false
 47628  }
 47629  
 47630  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47631  func (cod ConcurObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 47632  	return nil, false
 47633  }
 47634  
 47635  // AsSalesforceObjectDataset is the BasicDataset implementation for ConcurObjectDataset.
 47636  func (cod ConcurObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 47637  	return nil, false
 47638  }
 47639  
 47640  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47641  func (cod ConcurObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 47642  	return nil, false
 47643  }
 47644  
 47645  // AsPostgreSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47646  func (cod ConcurObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 47647  	return nil, false
 47648  }
 47649  
 47650  // AsMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47651  func (cod ConcurObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 47652  	return nil, false
 47653  }
 47654  
 47655  // AsOdbcTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47656  func (cod ConcurObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 47657  	return nil, false
 47658  }
 47659  
 47660  // AsInformixTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47661  func (cod ConcurObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 47662  	return nil, false
 47663  }
 47664  
 47665  // AsRelationalTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47666  func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 47667  	return nil, false
 47668  }
 47669  
 47670  // AsDb2TableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47671  func (cod ConcurObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 47672  	return nil, false
 47673  }
 47674  
 47675  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47676  func (cod ConcurObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 47677  	return nil, false
 47678  }
 47679  
 47680  // AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47681  func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 47682  	return nil, false
 47683  }
 47684  
 47685  // AsTeradataTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47686  func (cod ConcurObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 47687  	return nil, false
 47688  }
 47689  
 47690  // AsOracleTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47691  func (cod ConcurObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 47692  	return nil, false
 47693  }
 47694  
 47695  // AsODataResourceDataset is the BasicDataset implementation for ConcurObjectDataset.
 47696  func (cod ConcurObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 47697  	return nil, false
 47698  }
 47699  
 47700  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
 47701  func (cod ConcurObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 47702  	return nil, false
 47703  }
 47704  
 47705  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
 47706  func (cod ConcurObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 47707  	return nil, false
 47708  }
 47709  
 47710  // AsMongoDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
 47711  func (cod ConcurObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 47712  	return nil, false
 47713  }
 47714  
 47715  // AsOffice365Dataset is the BasicDataset implementation for ConcurObjectDataset.
 47716  func (cod ConcurObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 47717  	return nil, false
 47718  }
 47719  
 47720  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
 47721  func (cod ConcurObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 47722  	return nil, false
 47723  }
 47724  
 47725  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
 47726  func (cod ConcurObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 47727  	return nil, false
 47728  }
 47729  
 47730  // AsDynamicsEntityDataset is the BasicDataset implementation for ConcurObjectDataset.
 47731  func (cod ConcurObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 47732  	return nil, false
 47733  }
 47734  
 47735  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
 47736  func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 47737  	return nil, false
 47738  }
 47739  
 47740  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset.
 47741  func (cod ConcurObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 47742  	return nil, false
 47743  }
 47744  
 47745  // AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset.
 47746  func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
 47747  	return nil, false
 47748  }
 47749  
 47750  // AsCassandraTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47751  func (cod ConcurObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 47752  	return nil, false
 47753  }
 47754  
 47755  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47756  func (cod ConcurObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 47757  	return nil, false
 47758  }
 47759  
 47760  // AsAzureSQLMITableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47761  func (cod ConcurObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 47762  	return nil, false
 47763  }
 47764  
 47765  // AsAzureSQLTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47766  func (cod ConcurObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 47767  	return nil, false
 47768  }
 47769  
 47770  // AsAzureTableDataset is the BasicDataset implementation for ConcurObjectDataset.
 47771  func (cod ConcurObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 47772  	return nil, false
 47773  }
 47774  
 47775  // AsBinaryDataset is the BasicDataset implementation for ConcurObjectDataset.
 47776  func (cod ConcurObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 47777  	return nil, false
 47778  }
 47779  
 47780  // AsOrcDataset is the BasicDataset implementation for ConcurObjectDataset.
 47781  func (cod ConcurObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
 47782  	return nil, false
 47783  }
 47784  
 47785  // AsJSONDataset is the BasicDataset implementation for ConcurObjectDataset.
 47786  func (cod ConcurObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
 47787  	return nil, false
 47788  }
 47789  
 47790  // AsDelimitedTextDataset is the BasicDataset implementation for ConcurObjectDataset.
 47791  func (cod ConcurObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 47792  	return nil, false
 47793  }
 47794  
 47795  // AsParquetDataset is the BasicDataset implementation for ConcurObjectDataset.
 47796  func (cod ConcurObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
 47797  	return nil, false
 47798  }
 47799  
 47800  // AsAvroDataset is the BasicDataset implementation for ConcurObjectDataset.
 47801  func (cod ConcurObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
 47802  	return nil, false
 47803  }
 47804  
 47805  // AsDataset is the BasicDataset implementation for ConcurObjectDataset.
 47806  func (cod ConcurObjectDataset) AsDataset() (*Dataset, bool) {
 47807  	return nil, false
 47808  }
 47809  
 47810  // AsBasicDataset is the BasicDataset implementation for ConcurObjectDataset.
 47811  func (cod ConcurObjectDataset) AsBasicDataset() (BasicDataset, bool) {
 47812  	return &cod, true
 47813  }
 47814  
 47815  // UnmarshalJSON is the custom unmarshaler for ConcurObjectDataset struct.
 47816  func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error {
 47817  	var m map[string]*json.RawMessage
 47818  	err := json.Unmarshal(body, &m)
 47819  	if err != nil {
 47820  		return err
 47821  	}
 47822  	for k, v := range m {
 47823  		switch k {
 47824  		case "typeProperties":
 47825  			if v != nil {
 47826  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 47827  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 47828  				if err != nil {
 47829  					return err
 47830  				}
 47831  				cod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 47832  			}
 47833  		default:
 47834  			if v != nil {
 47835  				var additionalProperties interface{}
 47836  				err = json.Unmarshal(*v, &additionalProperties)
 47837  				if err != nil {
 47838  					return err
 47839  				}
 47840  				if cod.AdditionalProperties == nil {
 47841  					cod.AdditionalProperties = make(map[string]interface{})
 47842  				}
 47843  				cod.AdditionalProperties[k] = additionalProperties
 47844  			}
 47845  		case "description":
 47846  			if v != nil {
 47847  				var description string
 47848  				err = json.Unmarshal(*v, &description)
 47849  				if err != nil {
 47850  					return err
 47851  				}
 47852  				cod.Description = &description
 47853  			}
 47854  		case "structure":
 47855  			if v != nil {
 47856  				var structure interface{}
 47857  				err = json.Unmarshal(*v, &structure)
 47858  				if err != nil {
 47859  					return err
 47860  				}
 47861  				cod.Structure = structure
 47862  			}
 47863  		case "schema":
 47864  			if v != nil {
 47865  				var schema interface{}
 47866  				err = json.Unmarshal(*v, &schema)
 47867  				if err != nil {
 47868  					return err
 47869  				}
 47870  				cod.Schema = schema
 47871  			}
 47872  		case "linkedServiceName":
 47873  			if v != nil {
 47874  				var linkedServiceName LinkedServiceReference
 47875  				err = json.Unmarshal(*v, &linkedServiceName)
 47876  				if err != nil {
 47877  					return err
 47878  				}
 47879  				cod.LinkedServiceName = &linkedServiceName
 47880  			}
 47881  		case "parameters":
 47882  			if v != nil {
 47883  				var parameters map[string]*ParameterSpecification
 47884  				err = json.Unmarshal(*v, &parameters)
 47885  				if err != nil {
 47886  					return err
 47887  				}
 47888  				cod.Parameters = parameters
 47889  			}
 47890  		case "annotations":
 47891  			if v != nil {
 47892  				var annotations []interface{}
 47893  				err = json.Unmarshal(*v, &annotations)
 47894  				if err != nil {
 47895  					return err
 47896  				}
 47897  				cod.Annotations = &annotations
 47898  			}
 47899  		case "folder":
 47900  			if v != nil {
 47901  				var folder DatasetFolder
 47902  				err = json.Unmarshal(*v, &folder)
 47903  				if err != nil {
 47904  					return err
 47905  				}
 47906  				cod.Folder = &folder
 47907  			}
 47908  		case "type":
 47909  			if v != nil {
 47910  				var typeVar TypeBasicDataset
 47911  				err = json.Unmarshal(*v, &typeVar)
 47912  				if err != nil {
 47913  					return err
 47914  				}
 47915  				cod.Type = typeVar
 47916  			}
 47917  		}
 47918  	}
 47919  
 47920  	return nil
 47921  }
 47922  
 47923  // ConcurSource a copy activity Concur Service source.
 47924  type ConcurSource struct {
 47925  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 47926  	Query interface{} `json:"query,omitempty"`
 47927  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 47928  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 47929  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 47930  	AdditionalProperties map[string]interface{} `json:""`
 47931  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 47932  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 47933  	// 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])).
 47934  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 47935  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 47936  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 47937  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 47938  	Type TypeBasicCopySource `json:"type,omitempty"`
 47939  }
 47940  
 47941  // MarshalJSON is the custom marshaler for ConcurSource.
 47942  func (cs ConcurSource) MarshalJSON() ([]byte, error) {
 47943  	cs.Type = TypeConcurSource
 47944  	objectMap := make(map[string]interface{})
 47945  	if cs.Query != nil {
 47946  		objectMap["query"] = cs.Query
 47947  	}
 47948  	if cs.QueryTimeout != nil {
 47949  		objectMap["queryTimeout"] = cs.QueryTimeout
 47950  	}
 47951  	if cs.SourceRetryCount != nil {
 47952  		objectMap["sourceRetryCount"] = cs.SourceRetryCount
 47953  	}
 47954  	if cs.SourceRetryWait != nil {
 47955  		objectMap["sourceRetryWait"] = cs.SourceRetryWait
 47956  	}
 47957  	if cs.MaxConcurrentConnections != nil {
 47958  		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
 47959  	}
 47960  	if cs.Type != "" {
 47961  		objectMap["type"] = cs.Type
 47962  	}
 47963  	for k, v := range cs.AdditionalProperties {
 47964  		objectMap[k] = v
 47965  	}
 47966  	return json.Marshal(objectMap)
 47967  }
 47968  
 47969  // AsHTTPSource is the BasicCopySource implementation for ConcurSource.
 47970  func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) {
 47971  	return nil, false
 47972  }
 47973  
 47974  // AsAzureBlobFSSource is the BasicCopySource implementation for ConcurSource.
 47975  func (cs ConcurSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 47976  	return nil, false
 47977  }
 47978  
 47979  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource.
 47980  func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 47981  	return nil, false
 47982  }
 47983  
 47984  // AsOffice365Source is the BasicCopySource implementation for ConcurSource.
 47985  func (cs ConcurSource) AsOffice365Source() (*Office365Source, bool) {
 47986  	return nil, false
 47987  }
 47988  
 47989  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ConcurSource.
 47990  func (cs ConcurSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 47991  	return nil, false
 47992  }
 47993  
 47994  // AsMongoDbV2Source is the BasicCopySource implementation for ConcurSource.
 47995  func (cs ConcurSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 47996  	return nil, false
 47997  }
 47998  
 47999  // AsMongoDbSource is the BasicCopySource implementation for ConcurSource.
 48000  func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) {
 48001  	return nil, false
 48002  }
 48003  
 48004  // AsWebSource is the BasicCopySource implementation for ConcurSource.
 48005  func (cs ConcurSource) AsWebSource() (*WebSource, bool) {
 48006  	return nil, false
 48007  }
 48008  
 48009  // AsOracleSource is the BasicCopySource implementation for ConcurSource.
 48010  func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) {
 48011  	return nil, false
 48012  }
 48013  
 48014  // AsAzureDataExplorerSource is the BasicCopySource implementation for ConcurSource.
 48015  func (cs ConcurSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 48016  	return nil, false
 48017  }
 48018  
 48019  // AsHdfsSource is the BasicCopySource implementation for ConcurSource.
 48020  func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) {
 48021  	return nil, false
 48022  }
 48023  
 48024  // AsFileSystemSource is the BasicCopySource implementation for ConcurSource.
 48025  func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) {
 48026  	return nil, false
 48027  }
 48028  
 48029  // AsRestSource is the BasicCopySource implementation for ConcurSource.
 48030  func (cs ConcurSource) AsRestSource() (*RestSource, bool) {
 48031  	return nil, false
 48032  }
 48033  
 48034  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ConcurSource.
 48035  func (cs ConcurSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 48036  	return nil, false
 48037  }
 48038  
 48039  // AsODataSource is the BasicCopySource implementation for ConcurSource.
 48040  func (cs ConcurSource) AsODataSource() (*ODataSource, bool) {
 48041  	return nil, false
 48042  }
 48043  
 48044  // AsMicrosoftAccessSource is the BasicCopySource implementation for ConcurSource.
 48045  func (cs ConcurSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 48046  	return nil, false
 48047  }
 48048  
 48049  // AsRelationalSource is the BasicCopySource implementation for ConcurSource.
 48050  func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) {
 48051  	return nil, false
 48052  }
 48053  
 48054  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ConcurSource.
 48055  func (cs ConcurSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 48056  	return nil, false
 48057  }
 48058  
 48059  // AsDynamicsCrmSource is the BasicCopySource implementation for ConcurSource.
 48060  func (cs ConcurSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 48061  	return nil, false
 48062  }
 48063  
 48064  // AsDynamicsSource is the BasicCopySource implementation for ConcurSource.
 48065  func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) {
 48066  	return nil, false
 48067  }
 48068  
 48069  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ConcurSource.
 48070  func (cs ConcurSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 48071  	return nil, false
 48072  }
 48073  
 48074  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource.
 48075  func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 48076  	return nil, false
 48077  }
 48078  
 48079  // AsBlobSource is the BasicCopySource implementation for ConcurSource.
 48080  func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) {
 48081  	return nil, false
 48082  }
 48083  
 48084  // AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource.
 48085  func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 48086  	return nil, false
 48087  }
 48088  
 48089  // AsGoogleAdWordsSource is the BasicCopySource implementation for ConcurSource.
 48090  func (cs ConcurSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 48091  	return nil, false
 48092  }
 48093  
 48094  // AsOracleServiceCloudSource is the BasicCopySource implementation for ConcurSource.
 48095  func (cs ConcurSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 48096  	return nil, false
 48097  }
 48098  
 48099  // AsDynamicsAXSource is the BasicCopySource implementation for ConcurSource.
 48100  func (cs ConcurSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 48101  	return nil, false
 48102  }
 48103  
 48104  // AsResponsysSource is the BasicCopySource implementation for ConcurSource.
 48105  func (cs ConcurSource) AsResponsysSource() (*ResponsysSource, bool) {
 48106  	return nil, false
 48107  }
 48108  
 48109  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ConcurSource.
 48110  func (cs ConcurSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 48111  	return nil, false
 48112  }
 48113  
 48114  // AsVerticaSource is the BasicCopySource implementation for ConcurSource.
 48115  func (cs ConcurSource) AsVerticaSource() (*VerticaSource, bool) {
 48116  	return nil, false
 48117  }
 48118  
 48119  // AsNetezzaSource is the BasicCopySource implementation for ConcurSource.
 48120  func (cs ConcurSource) AsNetezzaSource() (*NetezzaSource, bool) {
 48121  	return nil, false
 48122  }
 48123  
 48124  // AsZohoSource is the BasicCopySource implementation for ConcurSource.
 48125  func (cs ConcurSource) AsZohoSource() (*ZohoSource, bool) {
 48126  	return nil, false
 48127  }
 48128  
 48129  // AsXeroSource is the BasicCopySource implementation for ConcurSource.
 48130  func (cs ConcurSource) AsXeroSource() (*XeroSource, bool) {
 48131  	return nil, false
 48132  }
 48133  
 48134  // AsSquareSource is the BasicCopySource implementation for ConcurSource.
 48135  func (cs ConcurSource) AsSquareSource() (*SquareSource, bool) {
 48136  	return nil, false
 48137  }
 48138  
 48139  // AsSparkSource is the BasicCopySource implementation for ConcurSource.
 48140  func (cs ConcurSource) AsSparkSource() (*SparkSource, bool) {
 48141  	return nil, false
 48142  }
 48143  
 48144  // AsShopifySource is the BasicCopySource implementation for ConcurSource.
 48145  func (cs ConcurSource) AsShopifySource() (*ShopifySource, bool) {
 48146  	return nil, false
 48147  }
 48148  
 48149  // AsServiceNowSource is the BasicCopySource implementation for ConcurSource.
 48150  func (cs ConcurSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 48151  	return nil, false
 48152  }
 48153  
 48154  // AsQuickBooksSource is the BasicCopySource implementation for ConcurSource.
 48155  func (cs ConcurSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 48156  	return nil, false
 48157  }
 48158  
 48159  // AsPrestoSource is the BasicCopySource implementation for ConcurSource.
 48160  func (cs ConcurSource) AsPrestoSource() (*PrestoSource, bool) {
 48161  	return nil, false
 48162  }
 48163  
 48164  // AsPhoenixSource is the BasicCopySource implementation for ConcurSource.
 48165  func (cs ConcurSource) AsPhoenixSource() (*PhoenixSource, bool) {
 48166  	return nil, false
 48167  }
 48168  
 48169  // AsPaypalSource is the BasicCopySource implementation for ConcurSource.
 48170  func (cs ConcurSource) AsPaypalSource() (*PaypalSource, bool) {
 48171  	return nil, false
 48172  }
 48173  
 48174  // AsMarketoSource is the BasicCopySource implementation for ConcurSource.
 48175  func (cs ConcurSource) AsMarketoSource() (*MarketoSource, bool) {
 48176  	return nil, false
 48177  }
 48178  
 48179  // AsAzureMariaDBSource is the BasicCopySource implementation for ConcurSource.
 48180  func (cs ConcurSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 48181  	return nil, false
 48182  }
 48183  
 48184  // AsMariaDBSource is the BasicCopySource implementation for ConcurSource.
 48185  func (cs ConcurSource) AsMariaDBSource() (*MariaDBSource, bool) {
 48186  	return nil, false
 48187  }
 48188  
 48189  // AsMagentoSource is the BasicCopySource implementation for ConcurSource.
 48190  func (cs ConcurSource) AsMagentoSource() (*MagentoSource, bool) {
 48191  	return nil, false
 48192  }
 48193  
 48194  // AsJiraSource is the BasicCopySource implementation for ConcurSource.
 48195  func (cs ConcurSource) AsJiraSource() (*JiraSource, bool) {
 48196  	return nil, false
 48197  }
 48198  
 48199  // AsImpalaSource is the BasicCopySource implementation for ConcurSource.
 48200  func (cs ConcurSource) AsImpalaSource() (*ImpalaSource, bool) {
 48201  	return nil, false
 48202  }
 48203  
 48204  // AsHubspotSource is the BasicCopySource implementation for ConcurSource.
 48205  func (cs ConcurSource) AsHubspotSource() (*HubspotSource, bool) {
 48206  	return nil, false
 48207  }
 48208  
 48209  // AsHiveSource is the BasicCopySource implementation for ConcurSource.
 48210  func (cs ConcurSource) AsHiveSource() (*HiveSource, bool) {
 48211  	return nil, false
 48212  }
 48213  
 48214  // AsHBaseSource is the BasicCopySource implementation for ConcurSource.
 48215  func (cs ConcurSource) AsHBaseSource() (*HBaseSource, bool) {
 48216  	return nil, false
 48217  }
 48218  
 48219  // AsGreenplumSource is the BasicCopySource implementation for ConcurSource.
 48220  func (cs ConcurSource) AsGreenplumSource() (*GreenplumSource, bool) {
 48221  	return nil, false
 48222  }
 48223  
 48224  // AsGoogleBigQuerySource is the BasicCopySource implementation for ConcurSource.
 48225  func (cs ConcurSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 48226  	return nil, false
 48227  }
 48228  
 48229  // AsEloquaSource is the BasicCopySource implementation for ConcurSource.
 48230  func (cs ConcurSource) AsEloquaSource() (*EloquaSource, bool) {
 48231  	return nil, false
 48232  }
 48233  
 48234  // AsDrillSource is the BasicCopySource implementation for ConcurSource.
 48235  func (cs ConcurSource) AsDrillSource() (*DrillSource, bool) {
 48236  	return nil, false
 48237  }
 48238  
 48239  // AsCouchbaseSource is the BasicCopySource implementation for ConcurSource.
 48240  func (cs ConcurSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 48241  	return nil, false
 48242  }
 48243  
 48244  // AsConcurSource is the BasicCopySource implementation for ConcurSource.
 48245  func (cs ConcurSource) AsConcurSource() (*ConcurSource, bool) {
 48246  	return &cs, true
 48247  }
 48248  
 48249  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ConcurSource.
 48250  func (cs ConcurSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 48251  	return nil, false
 48252  }
 48253  
 48254  // AsAmazonMWSSource is the BasicCopySource implementation for ConcurSource.
 48255  func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 48256  	return nil, false
 48257  }
 48258  
 48259  // AsCassandraSource is the BasicCopySource implementation for ConcurSource.
 48260  func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) {
 48261  	return nil, false
 48262  }
 48263  
 48264  // AsTeradataSource is the BasicCopySource implementation for ConcurSource.
 48265  func (cs ConcurSource) AsTeradataSource() (*TeradataSource, bool) {
 48266  	return nil, false
 48267  }
 48268  
 48269  // AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource.
 48270  func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 48271  	return nil, false
 48272  }
 48273  
 48274  // AsSQLDWSource is the BasicCopySource implementation for ConcurSource.
 48275  func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) {
 48276  	return nil, false
 48277  }
 48278  
 48279  // AsSQLMISource is the BasicCopySource implementation for ConcurSource.
 48280  func (cs ConcurSource) AsSQLMISource() (*SQLMISource, bool) {
 48281  	return nil, false
 48282  }
 48283  
 48284  // AsAzureSQLSource is the BasicCopySource implementation for ConcurSource.
 48285  func (cs ConcurSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 48286  	return nil, false
 48287  }
 48288  
 48289  // AsSQLServerSource is the BasicCopySource implementation for ConcurSource.
 48290  func (cs ConcurSource) AsSQLServerSource() (*SQLServerSource, bool) {
 48291  	return nil, false
 48292  }
 48293  
 48294  // AsSQLSource is the BasicCopySource implementation for ConcurSource.
 48295  func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) {
 48296  	return nil, false
 48297  }
 48298  
 48299  // AsSapTableSource is the BasicCopySource implementation for ConcurSource.
 48300  func (cs ConcurSource) AsSapTableSource() (*SapTableSource, bool) {
 48301  	return nil, false
 48302  }
 48303  
 48304  // AsSapOpenHubSource is the BasicCopySource implementation for ConcurSource.
 48305  func (cs ConcurSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 48306  	return nil, false
 48307  }
 48308  
 48309  // AsSapHanaSource is the BasicCopySource implementation for ConcurSource.
 48310  func (cs ConcurSource) AsSapHanaSource() (*SapHanaSource, bool) {
 48311  	return nil, false
 48312  }
 48313  
 48314  // AsSapEccSource is the BasicCopySource implementation for ConcurSource.
 48315  func (cs ConcurSource) AsSapEccSource() (*SapEccSource, bool) {
 48316  	return nil, false
 48317  }
 48318  
 48319  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ConcurSource.
 48320  func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 48321  	return nil, false
 48322  }
 48323  
 48324  // AsSalesforceSource is the BasicCopySource implementation for ConcurSource.
 48325  func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) {
 48326  	return nil, false
 48327  }
 48328  
 48329  // AsSapBwSource is the BasicCopySource implementation for ConcurSource.
 48330  func (cs ConcurSource) AsSapBwSource() (*SapBwSource, bool) {
 48331  	return nil, false
 48332  }
 48333  
 48334  // AsSybaseSource is the BasicCopySource implementation for ConcurSource.
 48335  func (cs ConcurSource) AsSybaseSource() (*SybaseSource, bool) {
 48336  	return nil, false
 48337  }
 48338  
 48339  // AsPostgreSQLSource is the BasicCopySource implementation for ConcurSource.
 48340  func (cs ConcurSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 48341  	return nil, false
 48342  }
 48343  
 48344  // AsMySQLSource is the BasicCopySource implementation for ConcurSource.
 48345  func (cs ConcurSource) AsMySQLSource() (*MySQLSource, bool) {
 48346  	return nil, false
 48347  }
 48348  
 48349  // AsOdbcSource is the BasicCopySource implementation for ConcurSource.
 48350  func (cs ConcurSource) AsOdbcSource() (*OdbcSource, bool) {
 48351  	return nil, false
 48352  }
 48353  
 48354  // AsDb2Source is the BasicCopySource implementation for ConcurSource.
 48355  func (cs ConcurSource) AsDb2Source() (*Db2Source, bool) {
 48356  	return nil, false
 48357  }
 48358  
 48359  // AsInformixSource is the BasicCopySource implementation for ConcurSource.
 48360  func (cs ConcurSource) AsInformixSource() (*InformixSource, bool) {
 48361  	return nil, false
 48362  }
 48363  
 48364  // AsAzureTableSource is the BasicCopySource implementation for ConcurSource.
 48365  func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) {
 48366  	return nil, false
 48367  }
 48368  
 48369  // AsTabularSource is the BasicCopySource implementation for ConcurSource.
 48370  func (cs ConcurSource) AsTabularSource() (*TabularSource, bool) {
 48371  	return nil, false
 48372  }
 48373  
 48374  // AsBasicTabularSource is the BasicCopySource implementation for ConcurSource.
 48375  func (cs ConcurSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 48376  	return &cs, true
 48377  }
 48378  
 48379  // AsBinarySource is the BasicCopySource implementation for ConcurSource.
 48380  func (cs ConcurSource) AsBinarySource() (*BinarySource, bool) {
 48381  	return nil, false
 48382  }
 48383  
 48384  // AsOrcSource is the BasicCopySource implementation for ConcurSource.
 48385  func (cs ConcurSource) AsOrcSource() (*OrcSource, bool) {
 48386  	return nil, false
 48387  }
 48388  
 48389  // AsJSONSource is the BasicCopySource implementation for ConcurSource.
 48390  func (cs ConcurSource) AsJSONSource() (*JSONSource, bool) {
 48391  	return nil, false
 48392  }
 48393  
 48394  // AsDelimitedTextSource is the BasicCopySource implementation for ConcurSource.
 48395  func (cs ConcurSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 48396  	return nil, false
 48397  }
 48398  
 48399  // AsParquetSource is the BasicCopySource implementation for ConcurSource.
 48400  func (cs ConcurSource) AsParquetSource() (*ParquetSource, bool) {
 48401  	return nil, false
 48402  }
 48403  
 48404  // AsAvroSource is the BasicCopySource implementation for ConcurSource.
 48405  func (cs ConcurSource) AsAvroSource() (*AvroSource, bool) {
 48406  	return nil, false
 48407  }
 48408  
 48409  // AsCopySource is the BasicCopySource implementation for ConcurSource.
 48410  func (cs ConcurSource) AsCopySource() (*CopySource, bool) {
 48411  	return nil, false
 48412  }
 48413  
 48414  // AsBasicCopySource is the BasicCopySource implementation for ConcurSource.
 48415  func (cs ConcurSource) AsBasicCopySource() (BasicCopySource, bool) {
 48416  	return &cs, true
 48417  }
 48418  
 48419  // UnmarshalJSON is the custom unmarshaler for ConcurSource struct.
 48420  func (cs *ConcurSource) UnmarshalJSON(body []byte) error {
 48421  	var m map[string]*json.RawMessage
 48422  	err := json.Unmarshal(body, &m)
 48423  	if err != nil {
 48424  		return err
 48425  	}
 48426  	for k, v := range m {
 48427  		switch k {
 48428  		case "query":
 48429  			if v != nil {
 48430  				var query interface{}
 48431  				err = json.Unmarshal(*v, &query)
 48432  				if err != nil {
 48433  					return err
 48434  				}
 48435  				cs.Query = query
 48436  			}
 48437  		case "queryTimeout":
 48438  			if v != nil {
 48439  				var queryTimeout interface{}
 48440  				err = json.Unmarshal(*v, &queryTimeout)
 48441  				if err != nil {
 48442  					return err
 48443  				}
 48444  				cs.QueryTimeout = queryTimeout
 48445  			}
 48446  		default:
 48447  			if v != nil {
 48448  				var additionalProperties interface{}
 48449  				err = json.Unmarshal(*v, &additionalProperties)
 48450  				if err != nil {
 48451  					return err
 48452  				}
 48453  				if cs.AdditionalProperties == nil {
 48454  					cs.AdditionalProperties = make(map[string]interface{})
 48455  				}
 48456  				cs.AdditionalProperties[k] = additionalProperties
 48457  			}
 48458  		case "sourceRetryCount":
 48459  			if v != nil {
 48460  				var sourceRetryCount interface{}
 48461  				err = json.Unmarshal(*v, &sourceRetryCount)
 48462  				if err != nil {
 48463  					return err
 48464  				}
 48465  				cs.SourceRetryCount = sourceRetryCount
 48466  			}
 48467  		case "sourceRetryWait":
 48468  			if v != nil {
 48469  				var sourceRetryWait interface{}
 48470  				err = json.Unmarshal(*v, &sourceRetryWait)
 48471  				if err != nil {
 48472  					return err
 48473  				}
 48474  				cs.SourceRetryWait = sourceRetryWait
 48475  			}
 48476  		case "maxConcurrentConnections":
 48477  			if v != nil {
 48478  				var maxConcurrentConnections interface{}
 48479  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 48480  				if err != nil {
 48481  					return err
 48482  				}
 48483  				cs.MaxConcurrentConnections = maxConcurrentConnections
 48484  			}
 48485  		case "type":
 48486  			if v != nil {
 48487  				var typeVar TypeBasicCopySource
 48488  				err = json.Unmarshal(*v, &typeVar)
 48489  				if err != nil {
 48490  					return err
 48491  				}
 48492  				cs.Type = typeVar
 48493  			}
 48494  		}
 48495  	}
 48496  
 48497  	return nil
 48498  }
 48499  
 48500  // BasicControlActivity base class for all control activities like IfCondition, ForEach , Until.
 48501  type BasicControlActivity interface {
 48502  	AsWebHookActivity() (*WebHookActivity, bool)
 48503  	AsAppendVariableActivity() (*AppendVariableActivity, bool)
 48504  	AsSetVariableActivity() (*SetVariableActivity, bool)
 48505  	AsFilterActivity() (*FilterActivity, bool)
 48506  	AsValidationActivity() (*ValidationActivity, bool)
 48507  	AsUntilActivity() (*UntilActivity, bool)
 48508  	AsWaitActivity() (*WaitActivity, bool)
 48509  	AsForEachActivity() (*ForEachActivity, bool)
 48510  	AsSwitchActivity() (*SwitchActivity, bool)
 48511  	AsIfConditionActivity() (*IfConditionActivity, bool)
 48512  	AsExecutePipelineActivity() (*ExecutePipelineActivity, bool)
 48513  	AsControlActivity() (*ControlActivity, bool)
 48514  }
 48515  
 48516  // ControlActivity base class for all control activities like IfCondition, ForEach , Until.
 48517  type ControlActivity struct {
 48518  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 48519  	AdditionalProperties map[string]interface{} `json:""`
 48520  	// Name - Activity name.
 48521  	Name *string `json:"name,omitempty"`
 48522  	// Description - Activity description.
 48523  	Description *string `json:"description,omitempty"`
 48524  	// DependsOn - Activity depends on condition.
 48525  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 48526  	// UserProperties - Activity user properties.
 48527  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 48528  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 48529  	Type TypeBasicActivity `json:"type,omitempty"`
 48530  }
 48531  
 48532  func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) {
 48533  	var m map[string]interface{}
 48534  	err := json.Unmarshal(body, &m)
 48535  	if err != nil {
 48536  		return nil, err
 48537  	}
 48538  
 48539  	switch m["type"] {
 48540  	case string(TypeWebHook):
 48541  		var wha WebHookActivity
 48542  		err := json.Unmarshal(body, &wha)
 48543  		return wha, err
 48544  	case string(TypeAppendVariable):
 48545  		var ava AppendVariableActivity
 48546  		err := json.Unmarshal(body, &ava)
 48547  		return ava, err
 48548  	case string(TypeSetVariable):
 48549  		var sva SetVariableActivity
 48550  		err := json.Unmarshal(body, &sva)
 48551  		return sva, err
 48552  	case string(TypeFilter):
 48553  		var fa FilterActivity
 48554  		err := json.Unmarshal(body, &fa)
 48555  		return fa, err
 48556  	case string(TypeValidation):
 48557  		var va ValidationActivity
 48558  		err := json.Unmarshal(body, &va)
 48559  		return va, err
 48560  	case string(TypeUntil):
 48561  		var ua UntilActivity
 48562  		err := json.Unmarshal(body, &ua)
 48563  		return ua, err
 48564  	case string(TypeWait):
 48565  		var wa WaitActivity
 48566  		err := json.Unmarshal(body, &wa)
 48567  		return wa, err
 48568  	case string(TypeForEach):
 48569  		var fea ForEachActivity
 48570  		err := json.Unmarshal(body, &fea)
 48571  		return fea, err
 48572  	case string(TypeSwitch):
 48573  		var sa SwitchActivity
 48574  		err := json.Unmarshal(body, &sa)
 48575  		return sa, err
 48576  	case string(TypeIfCondition):
 48577  		var ica IfConditionActivity
 48578  		err := json.Unmarshal(body, &ica)
 48579  		return ica, err
 48580  	case string(TypeExecutePipeline):
 48581  		var epa ExecutePipelineActivity
 48582  		err := json.Unmarshal(body, &epa)
 48583  		return epa, err
 48584  	default:
 48585  		var ca ControlActivity
 48586  		err := json.Unmarshal(body, &ca)
 48587  		return ca, err
 48588  	}
 48589  }
 48590  func unmarshalBasicControlActivityArray(body []byte) ([]BasicControlActivity, error) {
 48591  	var rawMessages []*json.RawMessage
 48592  	err := json.Unmarshal(body, &rawMessages)
 48593  	if err != nil {
 48594  		return nil, err
 48595  	}
 48596  
 48597  	caArray := make([]BasicControlActivity, len(rawMessages))
 48598  
 48599  	for index, rawMessage := range rawMessages {
 48600  		ca, err := unmarshalBasicControlActivity(*rawMessage)
 48601  		if err != nil {
 48602  			return nil, err
 48603  		}
 48604  		caArray[index] = ca
 48605  	}
 48606  	return caArray, nil
 48607  }
 48608  
 48609  // MarshalJSON is the custom marshaler for ControlActivity.
 48610  func (ca ControlActivity) MarshalJSON() ([]byte, error) {
 48611  	ca.Type = TypeContainer
 48612  	objectMap := make(map[string]interface{})
 48613  	if ca.Name != nil {
 48614  		objectMap["name"] = ca.Name
 48615  	}
 48616  	if ca.Description != nil {
 48617  		objectMap["description"] = ca.Description
 48618  	}
 48619  	if ca.DependsOn != nil {
 48620  		objectMap["dependsOn"] = ca.DependsOn
 48621  	}
 48622  	if ca.UserProperties != nil {
 48623  		objectMap["userProperties"] = ca.UserProperties
 48624  	}
 48625  	if ca.Type != "" {
 48626  		objectMap["type"] = ca.Type
 48627  	}
 48628  	for k, v := range ca.AdditionalProperties {
 48629  		objectMap[k] = v
 48630  	}
 48631  	return json.Marshal(objectMap)
 48632  }
 48633  
 48634  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ControlActivity.
 48635  func (ca ControlActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 48636  	return nil, false
 48637  }
 48638  
 48639  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ControlActivity.
 48640  func (ca ControlActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 48641  	return nil, false
 48642  }
 48643  
 48644  // AsSynapseNotebookActivity is the BasicActivity implementation for ControlActivity.
 48645  func (ca ControlActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 48646  	return nil, false
 48647  }
 48648  
 48649  // AsExecuteDataFlowActivity is the BasicActivity implementation for ControlActivity.
 48650  func (ca ControlActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 48651  	return nil, false
 48652  }
 48653  
 48654  // AsAzureFunctionActivity is the BasicActivity implementation for ControlActivity.
 48655  func (ca ControlActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 48656  	return nil, false
 48657  }
 48658  
 48659  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ControlActivity.
 48660  func (ca ControlActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 48661  	return nil, false
 48662  }
 48663  
 48664  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ControlActivity.
 48665  func (ca ControlActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 48666  	return nil, false
 48667  }
 48668  
 48669  // AsDatabricksNotebookActivity is the BasicActivity implementation for ControlActivity.
 48670  func (ca ControlActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 48671  	return nil, false
 48672  }
 48673  
 48674  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ControlActivity.
 48675  func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 48676  	return nil, false
 48677  }
 48678  
 48679  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ControlActivity.
 48680  func (ca ControlActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 48681  	return nil, false
 48682  }
 48683  
 48684  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity.
 48685  func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 48686  	return nil, false
 48687  }
 48688  
 48689  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ControlActivity.
 48690  func (ca ControlActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 48691  	return nil, false
 48692  }
 48693  
 48694  // AsGetMetadataActivity is the BasicActivity implementation for ControlActivity.
 48695  func (ca ControlActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 48696  	return nil, false
 48697  }
 48698  
 48699  // AsWebActivity is the BasicActivity implementation for ControlActivity.
 48700  func (ca ControlActivity) AsWebActivity() (*WebActivity, bool) {
 48701  	return nil, false
 48702  }
 48703  
 48704  // AsLookupActivity is the BasicActivity implementation for ControlActivity.
 48705  func (ca ControlActivity) AsLookupActivity() (*LookupActivity, bool) {
 48706  	return nil, false
 48707  }
 48708  
 48709  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ControlActivity.
 48710  func (ca ControlActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 48711  	return nil, false
 48712  }
 48713  
 48714  // AsDeleteActivity is the BasicActivity implementation for ControlActivity.
 48715  func (ca ControlActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 48716  	return nil, false
 48717  }
 48718  
 48719  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ControlActivity.
 48720  func (ca ControlActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 48721  	return nil, false
 48722  }
 48723  
 48724  // AsCustomActivity is the BasicActivity implementation for ControlActivity.
 48725  func (ca ControlActivity) AsCustomActivity() (*CustomActivity, bool) {
 48726  	return nil, false
 48727  }
 48728  
 48729  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ControlActivity.
 48730  func (ca ControlActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 48731  	return nil, false
 48732  }
 48733  
 48734  // AsHDInsightSparkActivity is the BasicActivity implementation for ControlActivity.
 48735  func (ca ControlActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 48736  	return nil, false
 48737  }
 48738  
 48739  // AsHDInsightStreamingActivity is the BasicActivity implementation for ControlActivity.
 48740  func (ca ControlActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 48741  	return nil, false
 48742  }
 48743  
 48744  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ControlActivity.
 48745  func (ca ControlActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 48746  	return nil, false
 48747  }
 48748  
 48749  // AsHDInsightPigActivity is the BasicActivity implementation for ControlActivity.
 48750  func (ca ControlActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 48751  	return nil, false
 48752  }
 48753  
 48754  // AsHDInsightHiveActivity is the BasicActivity implementation for ControlActivity.
 48755  func (ca ControlActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 48756  	return nil, false
 48757  }
 48758  
 48759  // AsCopyActivity is the BasicActivity implementation for ControlActivity.
 48760  func (ca ControlActivity) AsCopyActivity() (*CopyActivity, bool) {
 48761  	return nil, false
 48762  }
 48763  
 48764  // AsExecutionActivity is the BasicActivity implementation for ControlActivity.
 48765  func (ca ControlActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 48766  	return nil, false
 48767  }
 48768  
 48769  // AsBasicExecutionActivity is the BasicActivity implementation for ControlActivity.
 48770  func (ca ControlActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 48771  	return nil, false
 48772  }
 48773  
 48774  // AsWebHookActivity is the BasicActivity implementation for ControlActivity.
 48775  func (ca ControlActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 48776  	return nil, false
 48777  }
 48778  
 48779  // AsAppendVariableActivity is the BasicActivity implementation for ControlActivity.
 48780  func (ca ControlActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 48781  	return nil, false
 48782  }
 48783  
 48784  // AsSetVariableActivity is the BasicActivity implementation for ControlActivity.
 48785  func (ca ControlActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 48786  	return nil, false
 48787  }
 48788  
 48789  // AsFilterActivity is the BasicActivity implementation for ControlActivity.
 48790  func (ca ControlActivity) AsFilterActivity() (*FilterActivity, bool) {
 48791  	return nil, false
 48792  }
 48793  
 48794  // AsValidationActivity is the BasicActivity implementation for ControlActivity.
 48795  func (ca ControlActivity) AsValidationActivity() (*ValidationActivity, bool) {
 48796  	return nil, false
 48797  }
 48798  
 48799  // AsUntilActivity is the BasicActivity implementation for ControlActivity.
 48800  func (ca ControlActivity) AsUntilActivity() (*UntilActivity, bool) {
 48801  	return nil, false
 48802  }
 48803  
 48804  // AsWaitActivity is the BasicActivity implementation for ControlActivity.
 48805  func (ca ControlActivity) AsWaitActivity() (*WaitActivity, bool) {
 48806  	return nil, false
 48807  }
 48808  
 48809  // AsForEachActivity is the BasicActivity implementation for ControlActivity.
 48810  func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) {
 48811  	return nil, false
 48812  }
 48813  
 48814  // AsSwitchActivity is the BasicActivity implementation for ControlActivity.
 48815  func (ca ControlActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 48816  	return nil, false
 48817  }
 48818  
 48819  // AsIfConditionActivity is the BasicActivity implementation for ControlActivity.
 48820  func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 48821  	return nil, false
 48822  }
 48823  
 48824  // AsExecutePipelineActivity is the BasicActivity implementation for ControlActivity.
 48825  func (ca ControlActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 48826  	return nil, false
 48827  }
 48828  
 48829  // AsControlActivity is the BasicActivity implementation for ControlActivity.
 48830  func (ca ControlActivity) AsControlActivity() (*ControlActivity, bool) {
 48831  	return &ca, true
 48832  }
 48833  
 48834  // AsBasicControlActivity is the BasicActivity implementation for ControlActivity.
 48835  func (ca ControlActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 48836  	return &ca, true
 48837  }
 48838  
 48839  // AsActivity is the BasicActivity implementation for ControlActivity.
 48840  func (ca ControlActivity) AsActivity() (*Activity, bool) {
 48841  	return nil, false
 48842  }
 48843  
 48844  // AsBasicActivity is the BasicActivity implementation for ControlActivity.
 48845  func (ca ControlActivity) AsBasicActivity() (BasicActivity, bool) {
 48846  	return &ca, true
 48847  }
 48848  
 48849  // UnmarshalJSON is the custom unmarshaler for ControlActivity struct.
 48850  func (ca *ControlActivity) UnmarshalJSON(body []byte) error {
 48851  	var m map[string]*json.RawMessage
 48852  	err := json.Unmarshal(body, &m)
 48853  	if err != nil {
 48854  		return err
 48855  	}
 48856  	for k, v := range m {
 48857  		switch k {
 48858  		default:
 48859  			if v != nil {
 48860  				var additionalProperties interface{}
 48861  				err = json.Unmarshal(*v, &additionalProperties)
 48862  				if err != nil {
 48863  					return err
 48864  				}
 48865  				if ca.AdditionalProperties == nil {
 48866  					ca.AdditionalProperties = make(map[string]interface{})
 48867  				}
 48868  				ca.AdditionalProperties[k] = additionalProperties
 48869  			}
 48870  		case "name":
 48871  			if v != nil {
 48872  				var name string
 48873  				err = json.Unmarshal(*v, &name)
 48874  				if err != nil {
 48875  					return err
 48876  				}
 48877  				ca.Name = &name
 48878  			}
 48879  		case "description":
 48880  			if v != nil {
 48881  				var description string
 48882  				err = json.Unmarshal(*v, &description)
 48883  				if err != nil {
 48884  					return err
 48885  				}
 48886  				ca.Description = &description
 48887  			}
 48888  		case "dependsOn":
 48889  			if v != nil {
 48890  				var dependsOn []ActivityDependency
 48891  				err = json.Unmarshal(*v, &dependsOn)
 48892  				if err != nil {
 48893  					return err
 48894  				}
 48895  				ca.DependsOn = &dependsOn
 48896  			}
 48897  		case "userProperties":
 48898  			if v != nil {
 48899  				var userProperties []UserProperty
 48900  				err = json.Unmarshal(*v, &userProperties)
 48901  				if err != nil {
 48902  					return err
 48903  				}
 48904  				ca.UserProperties = &userProperties
 48905  			}
 48906  		case "type":
 48907  			if v != nil {
 48908  				var typeVar TypeBasicActivity
 48909  				err = json.Unmarshal(*v, &typeVar)
 48910  				if err != nil {
 48911  					return err
 48912  				}
 48913  				ca.Type = typeVar
 48914  			}
 48915  		}
 48916  	}
 48917  
 48918  	return nil
 48919  }
 48920  
 48921  // CopyActivity copy activity.
 48922  type CopyActivity struct {
 48923  	// CopyActivityTypeProperties - Copy activity properties.
 48924  	*CopyActivityTypeProperties `json:"typeProperties,omitempty"`
 48925  	// Inputs - List of inputs for the activity.
 48926  	Inputs *[]DatasetReference `json:"inputs,omitempty"`
 48927  	// Outputs - List of outputs for the activity.
 48928  	Outputs *[]DatasetReference `json:"outputs,omitempty"`
 48929  	// LinkedServiceName - Linked service reference.
 48930  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 48931  	// Policy - Activity policy.
 48932  	Policy *ActivityPolicy `json:"policy,omitempty"`
 48933  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 48934  	AdditionalProperties map[string]interface{} `json:""`
 48935  	// Name - Activity name.
 48936  	Name *string `json:"name,omitempty"`
 48937  	// Description - Activity description.
 48938  	Description *string `json:"description,omitempty"`
 48939  	// DependsOn - Activity depends on condition.
 48940  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 48941  	// UserProperties - Activity user properties.
 48942  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 48943  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 48944  	Type TypeBasicActivity `json:"type,omitempty"`
 48945  }
 48946  
 48947  // MarshalJSON is the custom marshaler for CopyActivity.
 48948  func (ca CopyActivity) MarshalJSON() ([]byte, error) {
 48949  	ca.Type = TypeCopy
 48950  	objectMap := make(map[string]interface{})
 48951  	if ca.CopyActivityTypeProperties != nil {
 48952  		objectMap["typeProperties"] = ca.CopyActivityTypeProperties
 48953  	}
 48954  	if ca.Inputs != nil {
 48955  		objectMap["inputs"] = ca.Inputs
 48956  	}
 48957  	if ca.Outputs != nil {
 48958  		objectMap["outputs"] = ca.Outputs
 48959  	}
 48960  	if ca.LinkedServiceName != nil {
 48961  		objectMap["linkedServiceName"] = ca.LinkedServiceName
 48962  	}
 48963  	if ca.Policy != nil {
 48964  		objectMap["policy"] = ca.Policy
 48965  	}
 48966  	if ca.Name != nil {
 48967  		objectMap["name"] = ca.Name
 48968  	}
 48969  	if ca.Description != nil {
 48970  		objectMap["description"] = ca.Description
 48971  	}
 48972  	if ca.DependsOn != nil {
 48973  		objectMap["dependsOn"] = ca.DependsOn
 48974  	}
 48975  	if ca.UserProperties != nil {
 48976  		objectMap["userProperties"] = ca.UserProperties
 48977  	}
 48978  	if ca.Type != "" {
 48979  		objectMap["type"] = ca.Type
 48980  	}
 48981  	for k, v := range ca.AdditionalProperties {
 48982  		objectMap[k] = v
 48983  	}
 48984  	return json.Marshal(objectMap)
 48985  }
 48986  
 48987  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for CopyActivity.
 48988  func (ca CopyActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 48989  	return nil, false
 48990  }
 48991  
 48992  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for CopyActivity.
 48993  func (ca CopyActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 48994  	return nil, false
 48995  }
 48996  
 48997  // AsSynapseNotebookActivity is the BasicActivity implementation for CopyActivity.
 48998  func (ca CopyActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 48999  	return nil, false
 49000  }
 49001  
 49002  // AsExecuteDataFlowActivity is the BasicActivity implementation for CopyActivity.
 49003  func (ca CopyActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 49004  	return nil, false
 49005  }
 49006  
 49007  // AsAzureFunctionActivity is the BasicActivity implementation for CopyActivity.
 49008  func (ca CopyActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 49009  	return nil, false
 49010  }
 49011  
 49012  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for CopyActivity.
 49013  func (ca CopyActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 49014  	return nil, false
 49015  }
 49016  
 49017  // AsDatabricksSparkJarActivity is the BasicActivity implementation for CopyActivity.
 49018  func (ca CopyActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 49019  	return nil, false
 49020  }
 49021  
 49022  // AsDatabricksNotebookActivity is the BasicActivity implementation for CopyActivity.
 49023  func (ca CopyActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 49024  	return nil, false
 49025  }
 49026  
 49027  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CopyActivity.
 49028  func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 49029  	return nil, false
 49030  }
 49031  
 49032  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CopyActivity.
 49033  func (ca CopyActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 49034  	return nil, false
 49035  }
 49036  
 49037  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity.
 49038  func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 49039  	return nil, false
 49040  }
 49041  
 49042  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CopyActivity.
 49043  func (ca CopyActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 49044  	return nil, false
 49045  }
 49046  
 49047  // AsGetMetadataActivity is the BasicActivity implementation for CopyActivity.
 49048  func (ca CopyActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 49049  	return nil, false
 49050  }
 49051  
 49052  // AsWebActivity is the BasicActivity implementation for CopyActivity.
 49053  func (ca CopyActivity) AsWebActivity() (*WebActivity, bool) {
 49054  	return nil, false
 49055  }
 49056  
 49057  // AsLookupActivity is the BasicActivity implementation for CopyActivity.
 49058  func (ca CopyActivity) AsLookupActivity() (*LookupActivity, bool) {
 49059  	return nil, false
 49060  }
 49061  
 49062  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CopyActivity.
 49063  func (ca CopyActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 49064  	return nil, false
 49065  }
 49066  
 49067  // AsDeleteActivity is the BasicActivity implementation for CopyActivity.
 49068  func (ca CopyActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 49069  	return nil, false
 49070  }
 49071  
 49072  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CopyActivity.
 49073  func (ca CopyActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 49074  	return nil, false
 49075  }
 49076  
 49077  // AsCustomActivity is the BasicActivity implementation for CopyActivity.
 49078  func (ca CopyActivity) AsCustomActivity() (*CustomActivity, bool) {
 49079  	return nil, false
 49080  }
 49081  
 49082  // AsExecuteSSISPackageActivity is the BasicActivity implementation for CopyActivity.
 49083  func (ca CopyActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 49084  	return nil, false
 49085  }
 49086  
 49087  // AsHDInsightSparkActivity is the BasicActivity implementation for CopyActivity.
 49088  func (ca CopyActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 49089  	return nil, false
 49090  }
 49091  
 49092  // AsHDInsightStreamingActivity is the BasicActivity implementation for CopyActivity.
 49093  func (ca CopyActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 49094  	return nil, false
 49095  }
 49096  
 49097  // AsHDInsightMapReduceActivity is the BasicActivity implementation for CopyActivity.
 49098  func (ca CopyActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 49099  	return nil, false
 49100  }
 49101  
 49102  // AsHDInsightPigActivity is the BasicActivity implementation for CopyActivity.
 49103  func (ca CopyActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 49104  	return nil, false
 49105  }
 49106  
 49107  // AsHDInsightHiveActivity is the BasicActivity implementation for CopyActivity.
 49108  func (ca CopyActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 49109  	return nil, false
 49110  }
 49111  
 49112  // AsCopyActivity is the BasicActivity implementation for CopyActivity.
 49113  func (ca CopyActivity) AsCopyActivity() (*CopyActivity, bool) {
 49114  	return &ca, true
 49115  }
 49116  
 49117  // AsExecutionActivity is the BasicActivity implementation for CopyActivity.
 49118  func (ca CopyActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 49119  	return nil, false
 49120  }
 49121  
 49122  // AsBasicExecutionActivity is the BasicActivity implementation for CopyActivity.
 49123  func (ca CopyActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 49124  	return &ca, true
 49125  }
 49126  
 49127  // AsWebHookActivity is the BasicActivity implementation for CopyActivity.
 49128  func (ca CopyActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 49129  	return nil, false
 49130  }
 49131  
 49132  // AsAppendVariableActivity is the BasicActivity implementation for CopyActivity.
 49133  func (ca CopyActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 49134  	return nil, false
 49135  }
 49136  
 49137  // AsSetVariableActivity is the BasicActivity implementation for CopyActivity.
 49138  func (ca CopyActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 49139  	return nil, false
 49140  }
 49141  
 49142  // AsFilterActivity is the BasicActivity implementation for CopyActivity.
 49143  func (ca CopyActivity) AsFilterActivity() (*FilterActivity, bool) {
 49144  	return nil, false
 49145  }
 49146  
 49147  // AsValidationActivity is the BasicActivity implementation for CopyActivity.
 49148  func (ca CopyActivity) AsValidationActivity() (*ValidationActivity, bool) {
 49149  	return nil, false
 49150  }
 49151  
 49152  // AsUntilActivity is the BasicActivity implementation for CopyActivity.
 49153  func (ca CopyActivity) AsUntilActivity() (*UntilActivity, bool) {
 49154  	return nil, false
 49155  }
 49156  
 49157  // AsWaitActivity is the BasicActivity implementation for CopyActivity.
 49158  func (ca CopyActivity) AsWaitActivity() (*WaitActivity, bool) {
 49159  	return nil, false
 49160  }
 49161  
 49162  // AsForEachActivity is the BasicActivity implementation for CopyActivity.
 49163  func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) {
 49164  	return nil, false
 49165  }
 49166  
 49167  // AsSwitchActivity is the BasicActivity implementation for CopyActivity.
 49168  func (ca CopyActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 49169  	return nil, false
 49170  }
 49171  
 49172  // AsIfConditionActivity is the BasicActivity implementation for CopyActivity.
 49173  func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 49174  	return nil, false
 49175  }
 49176  
 49177  // AsExecutePipelineActivity is the BasicActivity implementation for CopyActivity.
 49178  func (ca CopyActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 49179  	return nil, false
 49180  }
 49181  
 49182  // AsControlActivity is the BasicActivity implementation for CopyActivity.
 49183  func (ca CopyActivity) AsControlActivity() (*ControlActivity, bool) {
 49184  	return nil, false
 49185  }
 49186  
 49187  // AsBasicControlActivity is the BasicActivity implementation for CopyActivity.
 49188  func (ca CopyActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 49189  	return nil, false
 49190  }
 49191  
 49192  // AsActivity is the BasicActivity implementation for CopyActivity.
 49193  func (ca CopyActivity) AsActivity() (*Activity, bool) {
 49194  	return nil, false
 49195  }
 49196  
 49197  // AsBasicActivity is the BasicActivity implementation for CopyActivity.
 49198  func (ca CopyActivity) AsBasicActivity() (BasicActivity, bool) {
 49199  	return &ca, true
 49200  }
 49201  
 49202  // UnmarshalJSON is the custom unmarshaler for CopyActivity struct.
 49203  func (ca *CopyActivity) UnmarshalJSON(body []byte) error {
 49204  	var m map[string]*json.RawMessage
 49205  	err := json.Unmarshal(body, &m)
 49206  	if err != nil {
 49207  		return err
 49208  	}
 49209  	for k, v := range m {
 49210  		switch k {
 49211  		case "typeProperties":
 49212  			if v != nil {
 49213  				var copyActivityTypeProperties CopyActivityTypeProperties
 49214  				err = json.Unmarshal(*v, &copyActivityTypeProperties)
 49215  				if err != nil {
 49216  					return err
 49217  				}
 49218  				ca.CopyActivityTypeProperties = &copyActivityTypeProperties
 49219  			}
 49220  		case "inputs":
 49221  			if v != nil {
 49222  				var inputs []DatasetReference
 49223  				err = json.Unmarshal(*v, &inputs)
 49224  				if err != nil {
 49225  					return err
 49226  				}
 49227  				ca.Inputs = &inputs
 49228  			}
 49229  		case "outputs":
 49230  			if v != nil {
 49231  				var outputs []DatasetReference
 49232  				err = json.Unmarshal(*v, &outputs)
 49233  				if err != nil {
 49234  					return err
 49235  				}
 49236  				ca.Outputs = &outputs
 49237  			}
 49238  		case "linkedServiceName":
 49239  			if v != nil {
 49240  				var linkedServiceName LinkedServiceReference
 49241  				err = json.Unmarshal(*v, &linkedServiceName)
 49242  				if err != nil {
 49243  					return err
 49244  				}
 49245  				ca.LinkedServiceName = &linkedServiceName
 49246  			}
 49247  		case "policy":
 49248  			if v != nil {
 49249  				var policy ActivityPolicy
 49250  				err = json.Unmarshal(*v, &policy)
 49251  				if err != nil {
 49252  					return err
 49253  				}
 49254  				ca.Policy = &policy
 49255  			}
 49256  		default:
 49257  			if v != nil {
 49258  				var additionalProperties interface{}
 49259  				err = json.Unmarshal(*v, &additionalProperties)
 49260  				if err != nil {
 49261  					return err
 49262  				}
 49263  				if ca.AdditionalProperties == nil {
 49264  					ca.AdditionalProperties = make(map[string]interface{})
 49265  				}
 49266  				ca.AdditionalProperties[k] = additionalProperties
 49267  			}
 49268  		case "name":
 49269  			if v != nil {
 49270  				var name string
 49271  				err = json.Unmarshal(*v, &name)
 49272  				if err != nil {
 49273  					return err
 49274  				}
 49275  				ca.Name = &name
 49276  			}
 49277  		case "description":
 49278  			if v != nil {
 49279  				var description string
 49280  				err = json.Unmarshal(*v, &description)
 49281  				if err != nil {
 49282  					return err
 49283  				}
 49284  				ca.Description = &description
 49285  			}
 49286  		case "dependsOn":
 49287  			if v != nil {
 49288  				var dependsOn []ActivityDependency
 49289  				err = json.Unmarshal(*v, &dependsOn)
 49290  				if err != nil {
 49291  					return err
 49292  				}
 49293  				ca.DependsOn = &dependsOn
 49294  			}
 49295  		case "userProperties":
 49296  			if v != nil {
 49297  				var userProperties []UserProperty
 49298  				err = json.Unmarshal(*v, &userProperties)
 49299  				if err != nil {
 49300  					return err
 49301  				}
 49302  				ca.UserProperties = &userProperties
 49303  			}
 49304  		case "type":
 49305  			if v != nil {
 49306  				var typeVar TypeBasicActivity
 49307  				err = json.Unmarshal(*v, &typeVar)
 49308  				if err != nil {
 49309  					return err
 49310  				}
 49311  				ca.Type = typeVar
 49312  			}
 49313  		}
 49314  	}
 49315  
 49316  	return nil
 49317  }
 49318  
 49319  // CopyActivityTypeProperties copy activity properties.
 49320  type CopyActivityTypeProperties struct {
 49321  	// Source - Copy activity source.
 49322  	Source BasicCopySource `json:"source,omitempty"`
 49323  	// Sink - Copy activity sink.
 49324  	Sink BasicCopySink `json:"sink,omitempty"`
 49325  	// Translator - Copy activity translator. If not specified, tabular translator is used.
 49326  	Translator interface{} `json:"translator,omitempty"`
 49327  	// EnableStaging - Specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
 49328  	EnableStaging interface{} `json:"enableStaging,omitempty"`
 49329  	// StagingSettings - Specifies interim staging settings when EnableStaging is true.
 49330  	StagingSettings *StagingSettings `json:"stagingSettings,omitempty"`
 49331  	// 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.
 49332  	ParallelCopies interface{} `json:"parallelCopies,omitempty"`
 49333  	// 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.
 49334  	DataIntegrationUnits interface{} `json:"dataIntegrationUnits,omitempty"`
 49335  	// EnableSkipIncompatibleRow - Whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
 49336  	EnableSkipIncompatibleRow interface{} `json:"enableSkipIncompatibleRow,omitempty"`
 49337  	// RedirectIncompatibleRowSettings - Redirect incompatible row settings when EnableSkipIncompatibleRow is true.
 49338  	RedirectIncompatibleRowSettings *RedirectIncompatibleRowSettings `json:"redirectIncompatibleRowSettings,omitempty"`
 49339  	// PreserveRules - Preserve Rules.
 49340  	PreserveRules *[]interface{} `json:"preserveRules,omitempty"`
 49341  	// Preserve - Preserve rules.
 49342  	Preserve *[]interface{} `json:"preserve,omitempty"`
 49343  }
 49344  
 49345  // UnmarshalJSON is the custom unmarshaler for CopyActivityTypeProperties struct.
 49346  func (catp *CopyActivityTypeProperties) UnmarshalJSON(body []byte) error {
 49347  	var m map[string]*json.RawMessage
 49348  	err := json.Unmarshal(body, &m)
 49349  	if err != nil {
 49350  		return err
 49351  	}
 49352  	for k, v := range m {
 49353  		switch k {
 49354  		case "source":
 49355  			if v != nil {
 49356  				source, err := unmarshalBasicCopySource(*v)
 49357  				if err != nil {
 49358  					return err
 49359  				}
 49360  				catp.Source = source
 49361  			}
 49362  		case "sink":
 49363  			if v != nil {
 49364  				sink, err := unmarshalBasicCopySink(*v)
 49365  				if err != nil {
 49366  					return err
 49367  				}
 49368  				catp.Sink = sink
 49369  			}
 49370  		case "translator":
 49371  			if v != nil {
 49372  				var translator interface{}
 49373  				err = json.Unmarshal(*v, &translator)
 49374  				if err != nil {
 49375  					return err
 49376  				}
 49377  				catp.Translator = translator
 49378  			}
 49379  		case "enableStaging":
 49380  			if v != nil {
 49381  				var enableStaging interface{}
 49382  				err = json.Unmarshal(*v, &enableStaging)
 49383  				if err != nil {
 49384  					return err
 49385  				}
 49386  				catp.EnableStaging = enableStaging
 49387  			}
 49388  		case "stagingSettings":
 49389  			if v != nil {
 49390  				var stagingSettings StagingSettings
 49391  				err = json.Unmarshal(*v, &stagingSettings)
 49392  				if err != nil {
 49393  					return err
 49394  				}
 49395  				catp.StagingSettings = &stagingSettings
 49396  			}
 49397  		case "parallelCopies":
 49398  			if v != nil {
 49399  				var parallelCopies interface{}
 49400  				err = json.Unmarshal(*v, &parallelCopies)
 49401  				if err != nil {
 49402  					return err
 49403  				}
 49404  				catp.ParallelCopies = parallelCopies
 49405  			}
 49406  		case "dataIntegrationUnits":
 49407  			if v != nil {
 49408  				var dataIntegrationUnits interface{}
 49409  				err = json.Unmarshal(*v, &dataIntegrationUnits)
 49410  				if err != nil {
 49411  					return err
 49412  				}
 49413  				catp.DataIntegrationUnits = dataIntegrationUnits
 49414  			}
 49415  		case "enableSkipIncompatibleRow":
 49416  			if v != nil {
 49417  				var enableSkipIncompatibleRow interface{}
 49418  				err = json.Unmarshal(*v, &enableSkipIncompatibleRow)
 49419  				if err != nil {
 49420  					return err
 49421  				}
 49422  				catp.EnableSkipIncompatibleRow = enableSkipIncompatibleRow
 49423  			}
 49424  		case "redirectIncompatibleRowSettings":
 49425  			if v != nil {
 49426  				var redirectIncompatibleRowSettings RedirectIncompatibleRowSettings
 49427  				err = json.Unmarshal(*v, &redirectIncompatibleRowSettings)
 49428  				if err != nil {
 49429  					return err
 49430  				}
 49431  				catp.RedirectIncompatibleRowSettings = &redirectIncompatibleRowSettings
 49432  			}
 49433  		case "preserveRules":
 49434  			if v != nil {
 49435  				var preserveRules []interface{}
 49436  				err = json.Unmarshal(*v, &preserveRules)
 49437  				if err != nil {
 49438  					return err
 49439  				}
 49440  				catp.PreserveRules = &preserveRules
 49441  			}
 49442  		case "preserve":
 49443  			if v != nil {
 49444  				var preserve []interface{}
 49445  				err = json.Unmarshal(*v, &preserve)
 49446  				if err != nil {
 49447  					return err
 49448  				}
 49449  				catp.Preserve = &preserve
 49450  			}
 49451  		}
 49452  	}
 49453  
 49454  	return nil
 49455  }
 49456  
 49457  // BasicCopySink a copy activity sink.
 49458  type BasicCopySink interface {
 49459  	AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool)
 49460  	AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool)
 49461  	AsSalesforceSink() (*SalesforceSink, bool)
 49462  	AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool)
 49463  	AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool)
 49464  	AsDynamicsCrmSink() (*DynamicsCrmSink, bool)
 49465  	AsDynamicsSink() (*DynamicsSink, bool)
 49466  	AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool)
 49467  	AsInformixSink() (*InformixSink, bool)
 49468  	AsOdbcSink() (*OdbcSink, bool)
 49469  	AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool)
 49470  	AsAzureBlobFSSink() (*AzureBlobFSSink, bool)
 49471  	AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool)
 49472  	AsOracleSink() (*OracleSink, bool)
 49473  	AsSQLDWSink() (*SQLDWSink, bool)
 49474  	AsSQLMISink() (*SQLMISink, bool)
 49475  	AsAzureSQLSink() (*AzureSQLSink, bool)
 49476  	AsSQLServerSink() (*SQLServerSink, bool)
 49477  	AsSQLSink() (*SQLSink, bool)
 49478  	AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool)
 49479  	AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool)
 49480  	AsFileSystemSink() (*FileSystemSink, bool)
 49481  	AsBlobSink() (*BlobSink, bool)
 49482  	AsBinarySink() (*BinarySink, bool)
 49483  	AsParquetSink() (*ParquetSink, bool)
 49484  	AsAvroSink() (*AvroSink, bool)
 49485  	AsAzureTableSink() (*AzureTableSink, bool)
 49486  	AsAzureQueueSink() (*AzureQueueSink, bool)
 49487  	AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool)
 49488  	AsAzureMySQLSink() (*AzureMySQLSink, bool)
 49489  	AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool)
 49490  	AsOrcSink() (*OrcSink, bool)
 49491  	AsJSONSink() (*JSONSink, bool)
 49492  	AsDelimitedTextSink() (*DelimitedTextSink, bool)
 49493  	AsCopySink() (*CopySink, bool)
 49494  }
 49495  
 49496  // CopySink a copy activity sink.
 49497  type CopySink struct {
 49498  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 49499  	AdditionalProperties map[string]interface{} `json:""`
 49500  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 49501  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 49502  	// 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])).
 49503  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 49504  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 49505  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 49506  	// 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])).
 49507  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 49508  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 49509  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 49510  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 49511  	Type TypeBasicCopySink `json:"type,omitempty"`
 49512  }
 49513  
 49514  func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) {
 49515  	var m map[string]interface{}
 49516  	err := json.Unmarshal(body, &m)
 49517  	if err != nil {
 49518  		return nil, err
 49519  	}
 49520  
 49521  	switch m["type"] {
 49522  	case string(TypeCosmosDbMongoDbAPISink):
 49523  		var cdmdas CosmosDbMongoDbAPISink
 49524  		err := json.Unmarshal(body, &cdmdas)
 49525  		return cdmdas, err
 49526  	case string(TypeSalesforceServiceCloudSink):
 49527  		var sscs SalesforceServiceCloudSink
 49528  		err := json.Unmarshal(body, &sscs)
 49529  		return sscs, err
 49530  	case string(TypeSalesforceSink):
 49531  		var ss SalesforceSink
 49532  		err := json.Unmarshal(body, &ss)
 49533  		return ss, err
 49534  	case string(TypeAzureDataExplorerSink):
 49535  		var ades AzureDataExplorerSink
 49536  		err := json.Unmarshal(body, &ades)
 49537  		return ades, err
 49538  	case string(TypeCommonDataServiceForAppsSink):
 49539  		var cdsfas CommonDataServiceForAppsSink
 49540  		err := json.Unmarshal(body, &cdsfas)
 49541  		return cdsfas, err
 49542  	case string(TypeDynamicsCrmSink):
 49543  		var dcs DynamicsCrmSink
 49544  		err := json.Unmarshal(body, &dcs)
 49545  		return dcs, err
 49546  	case string(TypeDynamicsSink):
 49547  		var ds DynamicsSink
 49548  		err := json.Unmarshal(body, &ds)
 49549  		return ds, err
 49550  	case string(TypeMicrosoftAccessSink):
 49551  		var mas MicrosoftAccessSink
 49552  		err := json.Unmarshal(body, &mas)
 49553  		return mas, err
 49554  	case string(TypeInformixSink):
 49555  		var is InformixSink
 49556  		err := json.Unmarshal(body, &is)
 49557  		return is, err
 49558  	case string(TypeOdbcSink):
 49559  		var osVar OdbcSink
 49560  		err := json.Unmarshal(body, &osVar)
 49561  		return osVar, err
 49562  	case string(TypeAzureSearchIndexSink):
 49563  		var asis AzureSearchIndexSink
 49564  		err := json.Unmarshal(body, &asis)
 49565  		return asis, err
 49566  	case string(TypeAzureBlobFSSink):
 49567  		var abfs AzureBlobFSSink
 49568  		err := json.Unmarshal(body, &abfs)
 49569  		return abfs, err
 49570  	case string(TypeAzureDataLakeStoreSink):
 49571  		var adlss AzureDataLakeStoreSink
 49572  		err := json.Unmarshal(body, &adlss)
 49573  		return adlss, err
 49574  	case string(TypeOracleSink):
 49575  		var osVar OracleSink
 49576  		err := json.Unmarshal(body, &osVar)
 49577  		return osVar, err
 49578  	case string(TypeSQLDWSink):
 49579  		var sds SQLDWSink
 49580  		err := json.Unmarshal(body, &sds)
 49581  		return sds, err
 49582  	case string(TypeSQLMISink):
 49583  		var sms SQLMISink
 49584  		err := json.Unmarshal(body, &sms)
 49585  		return sms, err
 49586  	case string(TypeAzureSQLSink):
 49587  		var ass AzureSQLSink
 49588  		err := json.Unmarshal(body, &ass)
 49589  		return ass, err
 49590  	case string(TypeSQLServerSink):
 49591  		var sss SQLServerSink
 49592  		err := json.Unmarshal(body, &sss)
 49593  		return sss, err
 49594  	case string(TypeSQLSink):
 49595  		var ss SQLSink
 49596  		err := json.Unmarshal(body, &ss)
 49597  		return ss, err
 49598  	case string(TypeCosmosDbSQLAPISink):
 49599  		var cdsas CosmosDbSQLAPISink
 49600  		err := json.Unmarshal(body, &cdsas)
 49601  		return cdsas, err
 49602  	case string(TypeDocumentDbCollectionSink):
 49603  		var ddcs DocumentDbCollectionSink
 49604  		err := json.Unmarshal(body, &ddcs)
 49605  		return ddcs, err
 49606  	case string(TypeFileSystemSink):
 49607  		var fss FileSystemSink
 49608  		err := json.Unmarshal(body, &fss)
 49609  		return fss, err
 49610  	case string(TypeBlobSink):
 49611  		var bs BlobSink
 49612  		err := json.Unmarshal(body, &bs)
 49613  		return bs, err
 49614  	case string(TypeBinarySink):
 49615  		var bs BinarySink
 49616  		err := json.Unmarshal(body, &bs)
 49617  		return bs, err
 49618  	case string(TypeParquetSink):
 49619  		var ps ParquetSink
 49620  		err := json.Unmarshal(body, &ps)
 49621  		return ps, err
 49622  	case string(TypeAvroSink):
 49623  		var as AvroSink
 49624  		err := json.Unmarshal(body, &as)
 49625  		return as, err
 49626  	case string(TypeAzureTableSink):
 49627  		var ats AzureTableSink
 49628  		err := json.Unmarshal(body, &ats)
 49629  		return ats, err
 49630  	case string(TypeAzureQueueSink):
 49631  		var aqs AzureQueueSink
 49632  		err := json.Unmarshal(body, &aqs)
 49633  		return aqs, err
 49634  	case string(TypeSapCloudForCustomerSink):
 49635  		var scfcs SapCloudForCustomerSink
 49636  		err := json.Unmarshal(body, &scfcs)
 49637  		return scfcs, err
 49638  	case string(TypeAzureMySQLSink):
 49639  		var amss AzureMySQLSink
 49640  		err := json.Unmarshal(body, &amss)
 49641  		return amss, err
 49642  	case string(TypeAzurePostgreSQLSink):
 49643  		var apss AzurePostgreSQLSink
 49644  		err := json.Unmarshal(body, &apss)
 49645  		return apss, err
 49646  	case string(TypeOrcSink):
 49647  		var osVar OrcSink
 49648  		err := json.Unmarshal(body, &osVar)
 49649  		return osVar, err
 49650  	case string(TypeJSONSink):
 49651  		var js JSONSink
 49652  		err := json.Unmarshal(body, &js)
 49653  		return js, err
 49654  	case string(TypeDelimitedTextSink):
 49655  		var dts DelimitedTextSink
 49656  		err := json.Unmarshal(body, &dts)
 49657  		return dts, err
 49658  	default:
 49659  		var cs CopySink
 49660  		err := json.Unmarshal(body, &cs)
 49661  		return cs, err
 49662  	}
 49663  }
 49664  func unmarshalBasicCopySinkArray(body []byte) ([]BasicCopySink, error) {
 49665  	var rawMessages []*json.RawMessage
 49666  	err := json.Unmarshal(body, &rawMessages)
 49667  	if err != nil {
 49668  		return nil, err
 49669  	}
 49670  
 49671  	csArray := make([]BasicCopySink, len(rawMessages))
 49672  
 49673  	for index, rawMessage := range rawMessages {
 49674  		cs, err := unmarshalBasicCopySink(*rawMessage)
 49675  		if err != nil {
 49676  			return nil, err
 49677  		}
 49678  		csArray[index] = cs
 49679  	}
 49680  	return csArray, nil
 49681  }
 49682  
 49683  // MarshalJSON is the custom marshaler for CopySink.
 49684  func (cs CopySink) MarshalJSON() ([]byte, error) {
 49685  	cs.Type = TypeCopySink
 49686  	objectMap := make(map[string]interface{})
 49687  	if cs.WriteBatchSize != nil {
 49688  		objectMap["writeBatchSize"] = cs.WriteBatchSize
 49689  	}
 49690  	if cs.WriteBatchTimeout != nil {
 49691  		objectMap["writeBatchTimeout"] = cs.WriteBatchTimeout
 49692  	}
 49693  	if cs.SinkRetryCount != nil {
 49694  		objectMap["sinkRetryCount"] = cs.SinkRetryCount
 49695  	}
 49696  	if cs.SinkRetryWait != nil {
 49697  		objectMap["sinkRetryWait"] = cs.SinkRetryWait
 49698  	}
 49699  	if cs.MaxConcurrentConnections != nil {
 49700  		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
 49701  	}
 49702  	if cs.Type != "" {
 49703  		objectMap["type"] = cs.Type
 49704  	}
 49705  	for k, v := range cs.AdditionalProperties {
 49706  		objectMap[k] = v
 49707  	}
 49708  	return json.Marshal(objectMap)
 49709  }
 49710  
 49711  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CopySink.
 49712  func (cs CopySink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 49713  	return nil, false
 49714  }
 49715  
 49716  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for CopySink.
 49717  func (cs CopySink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 49718  	return nil, false
 49719  }
 49720  
 49721  // AsSalesforceSink is the BasicCopySink implementation for CopySink.
 49722  func (cs CopySink) AsSalesforceSink() (*SalesforceSink, bool) {
 49723  	return nil, false
 49724  }
 49725  
 49726  // AsAzureDataExplorerSink is the BasicCopySink implementation for CopySink.
 49727  func (cs CopySink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 49728  	return nil, false
 49729  }
 49730  
 49731  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CopySink.
 49732  func (cs CopySink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 49733  	return nil, false
 49734  }
 49735  
 49736  // AsDynamicsCrmSink is the BasicCopySink implementation for CopySink.
 49737  func (cs CopySink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 49738  	return nil, false
 49739  }
 49740  
 49741  // AsDynamicsSink is the BasicCopySink implementation for CopySink.
 49742  func (cs CopySink) AsDynamicsSink() (*DynamicsSink, bool) {
 49743  	return nil, false
 49744  }
 49745  
 49746  // AsMicrosoftAccessSink is the BasicCopySink implementation for CopySink.
 49747  func (cs CopySink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 49748  	return nil, false
 49749  }
 49750  
 49751  // AsInformixSink is the BasicCopySink implementation for CopySink.
 49752  func (cs CopySink) AsInformixSink() (*InformixSink, bool) {
 49753  	return nil, false
 49754  }
 49755  
 49756  // AsOdbcSink is the BasicCopySink implementation for CopySink.
 49757  func (cs CopySink) AsOdbcSink() (*OdbcSink, bool) {
 49758  	return nil, false
 49759  }
 49760  
 49761  // AsAzureSearchIndexSink is the BasicCopySink implementation for CopySink.
 49762  func (cs CopySink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 49763  	return nil, false
 49764  }
 49765  
 49766  // AsAzureBlobFSSink is the BasicCopySink implementation for CopySink.
 49767  func (cs CopySink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 49768  	return nil, false
 49769  }
 49770  
 49771  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for CopySink.
 49772  func (cs CopySink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 49773  	return nil, false
 49774  }
 49775  
 49776  // AsOracleSink is the BasicCopySink implementation for CopySink.
 49777  func (cs CopySink) AsOracleSink() (*OracleSink, bool) {
 49778  	return nil, false
 49779  }
 49780  
 49781  // AsSQLDWSink is the BasicCopySink implementation for CopySink.
 49782  func (cs CopySink) AsSQLDWSink() (*SQLDWSink, bool) {
 49783  	return nil, false
 49784  }
 49785  
 49786  // AsSQLMISink is the BasicCopySink implementation for CopySink.
 49787  func (cs CopySink) AsSQLMISink() (*SQLMISink, bool) {
 49788  	return nil, false
 49789  }
 49790  
 49791  // AsAzureSQLSink is the BasicCopySink implementation for CopySink.
 49792  func (cs CopySink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 49793  	return nil, false
 49794  }
 49795  
 49796  // AsSQLServerSink is the BasicCopySink implementation for CopySink.
 49797  func (cs CopySink) AsSQLServerSink() (*SQLServerSink, bool) {
 49798  	return nil, false
 49799  }
 49800  
 49801  // AsSQLSink is the BasicCopySink implementation for CopySink.
 49802  func (cs CopySink) AsSQLSink() (*SQLSink, bool) {
 49803  	return nil, false
 49804  }
 49805  
 49806  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for CopySink.
 49807  func (cs CopySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 49808  	return nil, false
 49809  }
 49810  
 49811  // AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink.
 49812  func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 49813  	return nil, false
 49814  }
 49815  
 49816  // AsFileSystemSink is the BasicCopySink implementation for CopySink.
 49817  func (cs CopySink) AsFileSystemSink() (*FileSystemSink, bool) {
 49818  	return nil, false
 49819  }
 49820  
 49821  // AsBlobSink is the BasicCopySink implementation for CopySink.
 49822  func (cs CopySink) AsBlobSink() (*BlobSink, bool) {
 49823  	return nil, false
 49824  }
 49825  
 49826  // AsBinarySink is the BasicCopySink implementation for CopySink.
 49827  func (cs CopySink) AsBinarySink() (*BinarySink, bool) {
 49828  	return nil, false
 49829  }
 49830  
 49831  // AsParquetSink is the BasicCopySink implementation for CopySink.
 49832  func (cs CopySink) AsParquetSink() (*ParquetSink, bool) {
 49833  	return nil, false
 49834  }
 49835  
 49836  // AsAvroSink is the BasicCopySink implementation for CopySink.
 49837  func (cs CopySink) AsAvroSink() (*AvroSink, bool) {
 49838  	return nil, false
 49839  }
 49840  
 49841  // AsAzureTableSink is the BasicCopySink implementation for CopySink.
 49842  func (cs CopySink) AsAzureTableSink() (*AzureTableSink, bool) {
 49843  	return nil, false
 49844  }
 49845  
 49846  // AsAzureQueueSink is the BasicCopySink implementation for CopySink.
 49847  func (cs CopySink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 49848  	return nil, false
 49849  }
 49850  
 49851  // AsSapCloudForCustomerSink is the BasicCopySink implementation for CopySink.
 49852  func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 49853  	return nil, false
 49854  }
 49855  
 49856  // AsAzureMySQLSink is the BasicCopySink implementation for CopySink.
 49857  func (cs CopySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 49858  	return nil, false
 49859  }
 49860  
 49861  // AsAzurePostgreSQLSink is the BasicCopySink implementation for CopySink.
 49862  func (cs CopySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 49863  	return nil, false
 49864  }
 49865  
 49866  // AsOrcSink is the BasicCopySink implementation for CopySink.
 49867  func (cs CopySink) AsOrcSink() (*OrcSink, bool) {
 49868  	return nil, false
 49869  }
 49870  
 49871  // AsJSONSink is the BasicCopySink implementation for CopySink.
 49872  func (cs CopySink) AsJSONSink() (*JSONSink, bool) {
 49873  	return nil, false
 49874  }
 49875  
 49876  // AsDelimitedTextSink is the BasicCopySink implementation for CopySink.
 49877  func (cs CopySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 49878  	return nil, false
 49879  }
 49880  
 49881  // AsCopySink is the BasicCopySink implementation for CopySink.
 49882  func (cs CopySink) AsCopySink() (*CopySink, bool) {
 49883  	return &cs, true
 49884  }
 49885  
 49886  // AsBasicCopySink is the BasicCopySink implementation for CopySink.
 49887  func (cs CopySink) AsBasicCopySink() (BasicCopySink, bool) {
 49888  	return &cs, true
 49889  }
 49890  
 49891  // UnmarshalJSON is the custom unmarshaler for CopySink struct.
 49892  func (cs *CopySink) UnmarshalJSON(body []byte) error {
 49893  	var m map[string]*json.RawMessage
 49894  	err := json.Unmarshal(body, &m)
 49895  	if err != nil {
 49896  		return err
 49897  	}
 49898  	for k, v := range m {
 49899  		switch k {
 49900  		default:
 49901  			if v != nil {
 49902  				var additionalProperties interface{}
 49903  				err = json.Unmarshal(*v, &additionalProperties)
 49904  				if err != nil {
 49905  					return err
 49906  				}
 49907  				if cs.AdditionalProperties == nil {
 49908  					cs.AdditionalProperties = make(map[string]interface{})
 49909  				}
 49910  				cs.AdditionalProperties[k] = additionalProperties
 49911  			}
 49912  		case "writeBatchSize":
 49913  			if v != nil {
 49914  				var writeBatchSize interface{}
 49915  				err = json.Unmarshal(*v, &writeBatchSize)
 49916  				if err != nil {
 49917  					return err
 49918  				}
 49919  				cs.WriteBatchSize = writeBatchSize
 49920  			}
 49921  		case "writeBatchTimeout":
 49922  			if v != nil {
 49923  				var writeBatchTimeout interface{}
 49924  				err = json.Unmarshal(*v, &writeBatchTimeout)
 49925  				if err != nil {
 49926  					return err
 49927  				}
 49928  				cs.WriteBatchTimeout = writeBatchTimeout
 49929  			}
 49930  		case "sinkRetryCount":
 49931  			if v != nil {
 49932  				var sinkRetryCount interface{}
 49933  				err = json.Unmarshal(*v, &sinkRetryCount)
 49934  				if err != nil {
 49935  					return err
 49936  				}
 49937  				cs.SinkRetryCount = sinkRetryCount
 49938  			}
 49939  		case "sinkRetryWait":
 49940  			if v != nil {
 49941  				var sinkRetryWait interface{}
 49942  				err = json.Unmarshal(*v, &sinkRetryWait)
 49943  				if err != nil {
 49944  					return err
 49945  				}
 49946  				cs.SinkRetryWait = sinkRetryWait
 49947  			}
 49948  		case "maxConcurrentConnections":
 49949  			if v != nil {
 49950  				var maxConcurrentConnections interface{}
 49951  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 49952  				if err != nil {
 49953  					return err
 49954  				}
 49955  				cs.MaxConcurrentConnections = maxConcurrentConnections
 49956  			}
 49957  		case "type":
 49958  			if v != nil {
 49959  				var typeVar TypeBasicCopySink
 49960  				err = json.Unmarshal(*v, &typeVar)
 49961  				if err != nil {
 49962  					return err
 49963  				}
 49964  				cs.Type = typeVar
 49965  			}
 49966  		}
 49967  	}
 49968  
 49969  	return nil
 49970  }
 49971  
 49972  // BasicCopySource a copy activity source.
 49973  type BasicCopySource interface {
 49974  	AsHTTPSource() (*HTTPSource, bool)
 49975  	AsAzureBlobFSSource() (*AzureBlobFSSource, bool)
 49976  	AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool)
 49977  	AsOffice365Source() (*Office365Source, bool)
 49978  	AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool)
 49979  	AsMongoDbV2Source() (*MongoDbV2Source, bool)
 49980  	AsMongoDbSource() (*MongoDbSource, bool)
 49981  	AsWebSource() (*WebSource, bool)
 49982  	AsOracleSource() (*OracleSource, bool)
 49983  	AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool)
 49984  	AsHdfsSource() (*HdfsSource, bool)
 49985  	AsFileSystemSource() (*FileSystemSource, bool)
 49986  	AsRestSource() (*RestSource, bool)
 49987  	AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool)
 49988  	AsODataSource() (*ODataSource, bool)
 49989  	AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool)
 49990  	AsRelationalSource() (*RelationalSource, bool)
 49991  	AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool)
 49992  	AsDynamicsCrmSource() (*DynamicsCrmSource, bool)
 49993  	AsDynamicsSource() (*DynamicsSource, bool)
 49994  	AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool)
 49995  	AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool)
 49996  	AsBlobSource() (*BlobSource, bool)
 49997  	AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool)
 49998  	AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool)
 49999  	AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool)
 50000  	AsDynamicsAXSource() (*DynamicsAXSource, bool)
 50001  	AsResponsysSource() (*ResponsysSource, bool)
 50002  	AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool)
 50003  	AsVerticaSource() (*VerticaSource, bool)
 50004  	AsNetezzaSource() (*NetezzaSource, bool)
 50005  	AsZohoSource() (*ZohoSource, bool)
 50006  	AsXeroSource() (*XeroSource, bool)
 50007  	AsSquareSource() (*SquareSource, bool)
 50008  	AsSparkSource() (*SparkSource, bool)
 50009  	AsShopifySource() (*ShopifySource, bool)
 50010  	AsServiceNowSource() (*ServiceNowSource, bool)
 50011  	AsQuickBooksSource() (*QuickBooksSource, bool)
 50012  	AsPrestoSource() (*PrestoSource, bool)
 50013  	AsPhoenixSource() (*PhoenixSource, bool)
 50014  	AsPaypalSource() (*PaypalSource, bool)
 50015  	AsMarketoSource() (*MarketoSource, bool)
 50016  	AsAzureMariaDBSource() (*AzureMariaDBSource, bool)
 50017  	AsMariaDBSource() (*MariaDBSource, bool)
 50018  	AsMagentoSource() (*MagentoSource, bool)
 50019  	AsJiraSource() (*JiraSource, bool)
 50020  	AsImpalaSource() (*ImpalaSource, bool)
 50021  	AsHubspotSource() (*HubspotSource, bool)
 50022  	AsHiveSource() (*HiveSource, bool)
 50023  	AsHBaseSource() (*HBaseSource, bool)
 50024  	AsGreenplumSource() (*GreenplumSource, bool)
 50025  	AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool)
 50026  	AsEloquaSource() (*EloquaSource, bool)
 50027  	AsDrillSource() (*DrillSource, bool)
 50028  	AsCouchbaseSource() (*CouchbaseSource, bool)
 50029  	AsConcurSource() (*ConcurSource, bool)
 50030  	AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool)
 50031  	AsAmazonMWSSource() (*AmazonMWSSource, bool)
 50032  	AsCassandraSource() (*CassandraSource, bool)
 50033  	AsTeradataSource() (*TeradataSource, bool)
 50034  	AsAzureMySQLSource() (*AzureMySQLSource, bool)
 50035  	AsSQLDWSource() (*SQLDWSource, bool)
 50036  	AsSQLMISource() (*SQLMISource, bool)
 50037  	AsAzureSQLSource() (*AzureSQLSource, bool)
 50038  	AsSQLServerSource() (*SQLServerSource, bool)
 50039  	AsSQLSource() (*SQLSource, bool)
 50040  	AsSapTableSource() (*SapTableSource, bool)
 50041  	AsSapOpenHubSource() (*SapOpenHubSource, bool)
 50042  	AsSapHanaSource() (*SapHanaSource, bool)
 50043  	AsSapEccSource() (*SapEccSource, bool)
 50044  	AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool)
 50045  	AsSalesforceSource() (*SalesforceSource, bool)
 50046  	AsSapBwSource() (*SapBwSource, bool)
 50047  	AsSybaseSource() (*SybaseSource, bool)
 50048  	AsPostgreSQLSource() (*PostgreSQLSource, bool)
 50049  	AsMySQLSource() (*MySQLSource, bool)
 50050  	AsOdbcSource() (*OdbcSource, bool)
 50051  	AsDb2Source() (*Db2Source, bool)
 50052  	AsInformixSource() (*InformixSource, bool)
 50053  	AsAzureTableSource() (*AzureTableSource, bool)
 50054  	AsTabularSource() (*TabularSource, bool)
 50055  	AsBasicTabularSource() (BasicTabularSource, bool)
 50056  	AsBinarySource() (*BinarySource, bool)
 50057  	AsOrcSource() (*OrcSource, bool)
 50058  	AsJSONSource() (*JSONSource, bool)
 50059  	AsDelimitedTextSource() (*DelimitedTextSource, bool)
 50060  	AsParquetSource() (*ParquetSource, bool)
 50061  	AsAvroSource() (*AvroSource, bool)
 50062  	AsCopySource() (*CopySource, bool)
 50063  }
 50064  
 50065  // CopySource a copy activity source.
 50066  type CopySource struct {
 50067  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 50068  	AdditionalProperties map[string]interface{} `json:""`
 50069  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 50070  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 50071  	// 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])).
 50072  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 50073  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 50074  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 50075  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 50076  	Type TypeBasicCopySource `json:"type,omitempty"`
 50077  }
 50078  
 50079  func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) {
 50080  	var m map[string]interface{}
 50081  	err := json.Unmarshal(body, &m)
 50082  	if err != nil {
 50083  		return nil, err
 50084  	}
 50085  
 50086  	switch m["type"] {
 50087  	case string(TypeHTTPSource):
 50088  		var hs HTTPSource
 50089  		err := json.Unmarshal(body, &hs)
 50090  		return hs, err
 50091  	case string(TypeAzureBlobFSSource):
 50092  		var abfs AzureBlobFSSource
 50093  		err := json.Unmarshal(body, &abfs)
 50094  		return abfs, err
 50095  	case string(TypeAzureDataLakeStoreSource):
 50096  		var adlss AzureDataLakeStoreSource
 50097  		err := json.Unmarshal(body, &adlss)
 50098  		return adlss, err
 50099  	case string(TypeOffice365Source):
 50100  		var o3s Office365Source
 50101  		err := json.Unmarshal(body, &o3s)
 50102  		return o3s, err
 50103  	case string(TypeCosmosDbMongoDbAPISource):
 50104  		var cdmdas CosmosDbMongoDbAPISource
 50105  		err := json.Unmarshal(body, &cdmdas)
 50106  		return cdmdas, err
 50107  	case string(TypeMongoDbV2Source):
 50108  		var mdvs MongoDbV2Source
 50109  		err := json.Unmarshal(body, &mdvs)
 50110  		return mdvs, err
 50111  	case string(TypeMongoDbSource):
 50112  		var mds MongoDbSource
 50113  		err := json.Unmarshal(body, &mds)
 50114  		return mds, err
 50115  	case string(TypeWebSource):
 50116  		var ws WebSource
 50117  		err := json.Unmarshal(body, &ws)
 50118  		return ws, err
 50119  	case string(TypeOracleSource):
 50120  		var osVar OracleSource
 50121  		err := json.Unmarshal(body, &osVar)
 50122  		return osVar, err
 50123  	case string(TypeAzureDataExplorerSource):
 50124  		var ades AzureDataExplorerSource
 50125  		err := json.Unmarshal(body, &ades)
 50126  		return ades, err
 50127  	case string(TypeHdfsSource):
 50128  		var hs HdfsSource
 50129  		err := json.Unmarshal(body, &hs)
 50130  		return hs, err
 50131  	case string(TypeFileSystemSource):
 50132  		var fss FileSystemSource
 50133  		err := json.Unmarshal(body, &fss)
 50134  		return fss, err
 50135  	case string(TypeRestSource):
 50136  		var rs RestSource
 50137  		err := json.Unmarshal(body, &rs)
 50138  		return rs, err
 50139  	case string(TypeSalesforceServiceCloudSource):
 50140  		var sscs SalesforceServiceCloudSource
 50141  		err := json.Unmarshal(body, &sscs)
 50142  		return sscs, err
 50143  	case string(TypeODataSource):
 50144  		var ods ODataSource
 50145  		err := json.Unmarshal(body, &ods)
 50146  		return ods, err
 50147  	case string(TypeMicrosoftAccessSource):
 50148  		var mas MicrosoftAccessSource
 50149  		err := json.Unmarshal(body, &mas)
 50150  		return mas, err
 50151  	case string(TypeRelationalSource):
 50152  		var rs RelationalSource
 50153  		err := json.Unmarshal(body, &rs)
 50154  		return rs, err
 50155  	case string(TypeCommonDataServiceForAppsSource):
 50156  		var cdsfas CommonDataServiceForAppsSource
 50157  		err := json.Unmarshal(body, &cdsfas)
 50158  		return cdsfas, err
 50159  	case string(TypeDynamicsCrmSource):
 50160  		var dcs DynamicsCrmSource
 50161  		err := json.Unmarshal(body, &dcs)
 50162  		return dcs, err
 50163  	case string(TypeDynamicsSource):
 50164  		var ds DynamicsSource
 50165  		err := json.Unmarshal(body, &ds)
 50166  		return ds, err
 50167  	case string(TypeCosmosDbSQLAPISource):
 50168  		var cdsas CosmosDbSQLAPISource
 50169  		err := json.Unmarshal(body, &cdsas)
 50170  		return cdsas, err
 50171  	case string(TypeDocumentDbCollectionSource):
 50172  		var ddcs DocumentDbCollectionSource
 50173  		err := json.Unmarshal(body, &ddcs)
 50174  		return ddcs, err
 50175  	case string(TypeBlobSource):
 50176  		var bs BlobSource
 50177  		err := json.Unmarshal(body, &bs)
 50178  		return bs, err
 50179  	case string(TypeAmazonRedshiftSource):
 50180  		var ars AmazonRedshiftSource
 50181  		err := json.Unmarshal(body, &ars)
 50182  		return ars, err
 50183  	case string(TypeGoogleAdWordsSource):
 50184  		var gaws GoogleAdWordsSource
 50185  		err := json.Unmarshal(body, &gaws)
 50186  		return gaws, err
 50187  	case string(TypeOracleServiceCloudSource):
 50188  		var oscs OracleServiceCloudSource
 50189  		err := json.Unmarshal(body, &oscs)
 50190  		return oscs, err
 50191  	case string(TypeDynamicsAXSource):
 50192  		var das DynamicsAXSource
 50193  		err := json.Unmarshal(body, &das)
 50194  		return das, err
 50195  	case string(TypeResponsysSource):
 50196  		var rs ResponsysSource
 50197  		err := json.Unmarshal(body, &rs)
 50198  		return rs, err
 50199  	case string(TypeSalesforceMarketingCloudSource):
 50200  		var smcs SalesforceMarketingCloudSource
 50201  		err := json.Unmarshal(body, &smcs)
 50202  		return smcs, err
 50203  	case string(TypeVerticaSource):
 50204  		var vs VerticaSource
 50205  		err := json.Unmarshal(body, &vs)
 50206  		return vs, err
 50207  	case string(TypeNetezzaSource):
 50208  		var ns NetezzaSource
 50209  		err := json.Unmarshal(body, &ns)
 50210  		return ns, err
 50211  	case string(TypeZohoSource):
 50212  		var zs ZohoSource
 50213  		err := json.Unmarshal(body, &zs)
 50214  		return zs, err
 50215  	case string(TypeXeroSource):
 50216  		var xs XeroSource
 50217  		err := json.Unmarshal(body, &xs)
 50218  		return xs, err
 50219  	case string(TypeSquareSource):
 50220  		var ss SquareSource
 50221  		err := json.Unmarshal(body, &ss)
 50222  		return ss, err
 50223  	case string(TypeSparkSource):
 50224  		var ss SparkSource
 50225  		err := json.Unmarshal(body, &ss)
 50226  		return ss, err
 50227  	case string(TypeShopifySource):
 50228  		var ss ShopifySource
 50229  		err := json.Unmarshal(body, &ss)
 50230  		return ss, err
 50231  	case string(TypeServiceNowSource):
 50232  		var sns ServiceNowSource
 50233  		err := json.Unmarshal(body, &sns)
 50234  		return sns, err
 50235  	case string(TypeQuickBooksSource):
 50236  		var qbs QuickBooksSource
 50237  		err := json.Unmarshal(body, &qbs)
 50238  		return qbs, err
 50239  	case string(TypePrestoSource):
 50240  		var ps PrestoSource
 50241  		err := json.Unmarshal(body, &ps)
 50242  		return ps, err
 50243  	case string(TypePhoenixSource):
 50244  		var ps PhoenixSource
 50245  		err := json.Unmarshal(body, &ps)
 50246  		return ps, err
 50247  	case string(TypePaypalSource):
 50248  		var ps PaypalSource
 50249  		err := json.Unmarshal(body, &ps)
 50250  		return ps, err
 50251  	case string(TypeMarketoSource):
 50252  		var ms MarketoSource
 50253  		err := json.Unmarshal(body, &ms)
 50254  		return ms, err
 50255  	case string(TypeAzureMariaDBSource):
 50256  		var amds AzureMariaDBSource
 50257  		err := json.Unmarshal(body, &amds)
 50258  		return amds, err
 50259  	case string(TypeMariaDBSource):
 50260  		var mds MariaDBSource
 50261  		err := json.Unmarshal(body, &mds)
 50262  		return mds, err
 50263  	case string(TypeMagentoSource):
 50264  		var ms MagentoSource
 50265  		err := json.Unmarshal(body, &ms)
 50266  		return ms, err
 50267  	case string(TypeJiraSource):
 50268  		var js JiraSource
 50269  		err := json.Unmarshal(body, &js)
 50270  		return js, err
 50271  	case string(TypeImpalaSource):
 50272  		var is ImpalaSource
 50273  		err := json.Unmarshal(body, &is)
 50274  		return is, err
 50275  	case string(TypeHubspotSource):
 50276  		var hs HubspotSource
 50277  		err := json.Unmarshal(body, &hs)
 50278  		return hs, err
 50279  	case string(TypeHiveSource):
 50280  		var hs HiveSource
 50281  		err := json.Unmarshal(body, &hs)
 50282  		return hs, err
 50283  	case string(TypeHBaseSource):
 50284  		var hbs HBaseSource
 50285  		err := json.Unmarshal(body, &hbs)
 50286  		return hbs, err
 50287  	case string(TypeGreenplumSource):
 50288  		var gs GreenplumSource
 50289  		err := json.Unmarshal(body, &gs)
 50290  		return gs, err
 50291  	case string(TypeGoogleBigQuerySource):
 50292  		var gbqs GoogleBigQuerySource
 50293  		err := json.Unmarshal(body, &gbqs)
 50294  		return gbqs, err
 50295  	case string(TypeEloquaSource):
 50296  		var es EloquaSource
 50297  		err := json.Unmarshal(body, &es)
 50298  		return es, err
 50299  	case string(TypeDrillSource):
 50300  		var ds DrillSource
 50301  		err := json.Unmarshal(body, &ds)
 50302  		return ds, err
 50303  	case string(TypeCouchbaseSource):
 50304  		var cs CouchbaseSource
 50305  		err := json.Unmarshal(body, &cs)
 50306  		return cs, err
 50307  	case string(TypeConcurSource):
 50308  		var cs ConcurSource
 50309  		err := json.Unmarshal(body, &cs)
 50310  		return cs, err
 50311  	case string(TypeAzurePostgreSQLSource):
 50312  		var apss AzurePostgreSQLSource
 50313  		err := json.Unmarshal(body, &apss)
 50314  		return apss, err
 50315  	case string(TypeAmazonMWSSource):
 50316  		var ams AmazonMWSSource
 50317  		err := json.Unmarshal(body, &ams)
 50318  		return ams, err
 50319  	case string(TypeCassandraSource):
 50320  		var cs CassandraSource
 50321  		err := json.Unmarshal(body, &cs)
 50322  		return cs, err
 50323  	case string(TypeTeradataSource):
 50324  		var ts TeradataSource
 50325  		err := json.Unmarshal(body, &ts)
 50326  		return ts, err
 50327  	case string(TypeAzureMySQLSource):
 50328  		var amss AzureMySQLSource
 50329  		err := json.Unmarshal(body, &amss)
 50330  		return amss, err
 50331  	case string(TypeSQLDWSource):
 50332  		var sds SQLDWSource
 50333  		err := json.Unmarshal(body, &sds)
 50334  		return sds, err
 50335  	case string(TypeSQLMISource):
 50336  		var sms SQLMISource
 50337  		err := json.Unmarshal(body, &sms)
 50338  		return sms, err
 50339  	case string(TypeAzureSQLSource):
 50340  		var ass AzureSQLSource
 50341  		err := json.Unmarshal(body, &ass)
 50342  		return ass, err
 50343  	case string(TypeSQLServerSource):
 50344  		var sss SQLServerSource
 50345  		err := json.Unmarshal(body, &sss)
 50346  		return sss, err
 50347  	case string(TypeSQLSource):
 50348  		var ss SQLSource
 50349  		err := json.Unmarshal(body, &ss)
 50350  		return ss, err
 50351  	case string(TypeSapTableSource):
 50352  		var sts SapTableSource
 50353  		err := json.Unmarshal(body, &sts)
 50354  		return sts, err
 50355  	case string(TypeSapOpenHubSource):
 50356  		var sohs SapOpenHubSource
 50357  		err := json.Unmarshal(body, &sohs)
 50358  		return sohs, err
 50359  	case string(TypeSapHanaSource):
 50360  		var shs SapHanaSource
 50361  		err := json.Unmarshal(body, &shs)
 50362  		return shs, err
 50363  	case string(TypeSapEccSource):
 50364  		var ses SapEccSource
 50365  		err := json.Unmarshal(body, &ses)
 50366  		return ses, err
 50367  	case string(TypeSapCloudForCustomerSource):
 50368  		var scfcs SapCloudForCustomerSource
 50369  		err := json.Unmarshal(body, &scfcs)
 50370  		return scfcs, err
 50371  	case string(TypeSalesforceSource):
 50372  		var ss SalesforceSource
 50373  		err := json.Unmarshal(body, &ss)
 50374  		return ss, err
 50375  	case string(TypeSapBwSource):
 50376  		var sbs SapBwSource
 50377  		err := json.Unmarshal(body, &sbs)
 50378  		return sbs, err
 50379  	case string(TypeSybaseSource):
 50380  		var ss SybaseSource
 50381  		err := json.Unmarshal(body, &ss)
 50382  		return ss, err
 50383  	case string(TypePostgreSQLSource):
 50384  		var pss PostgreSQLSource
 50385  		err := json.Unmarshal(body, &pss)
 50386  		return pss, err
 50387  	case string(TypeMySQLSource):
 50388  		var mss MySQLSource
 50389  		err := json.Unmarshal(body, &mss)
 50390  		return mss, err
 50391  	case string(TypeOdbcSource):
 50392  		var osVar OdbcSource
 50393  		err := json.Unmarshal(body, &osVar)
 50394  		return osVar, err
 50395  	case string(TypeDb2Source):
 50396  		var d2s Db2Source
 50397  		err := json.Unmarshal(body, &d2s)
 50398  		return d2s, err
 50399  	case string(TypeInformixSource):
 50400  		var is InformixSource
 50401  		err := json.Unmarshal(body, &is)
 50402  		return is, err
 50403  	case string(TypeAzureTableSource):
 50404  		var ats AzureTableSource
 50405  		err := json.Unmarshal(body, &ats)
 50406  		return ats, err
 50407  	case string(TypeTabularSource):
 50408  		var ts TabularSource
 50409  		err := json.Unmarshal(body, &ts)
 50410  		return ts, err
 50411  	case string(TypeBinarySource):
 50412  		var bs BinarySource
 50413  		err := json.Unmarshal(body, &bs)
 50414  		return bs, err
 50415  	case string(TypeOrcSource):
 50416  		var osVar OrcSource
 50417  		err := json.Unmarshal(body, &osVar)
 50418  		return osVar, err
 50419  	case string(TypeJSONSource):
 50420  		var js JSONSource
 50421  		err := json.Unmarshal(body, &js)
 50422  		return js, err
 50423  	case string(TypeDelimitedTextSource):
 50424  		var dts DelimitedTextSource
 50425  		err := json.Unmarshal(body, &dts)
 50426  		return dts, err
 50427  	case string(TypeParquetSource):
 50428  		var ps ParquetSource
 50429  		err := json.Unmarshal(body, &ps)
 50430  		return ps, err
 50431  	case string(TypeAvroSource):
 50432  		var as AvroSource
 50433  		err := json.Unmarshal(body, &as)
 50434  		return as, err
 50435  	default:
 50436  		var cs CopySource
 50437  		err := json.Unmarshal(body, &cs)
 50438  		return cs, err
 50439  	}
 50440  }
 50441  func unmarshalBasicCopySourceArray(body []byte) ([]BasicCopySource, error) {
 50442  	var rawMessages []*json.RawMessage
 50443  	err := json.Unmarshal(body, &rawMessages)
 50444  	if err != nil {
 50445  		return nil, err
 50446  	}
 50447  
 50448  	csArray := make([]BasicCopySource, len(rawMessages))
 50449  
 50450  	for index, rawMessage := range rawMessages {
 50451  		cs, err := unmarshalBasicCopySource(*rawMessage)
 50452  		if err != nil {
 50453  			return nil, err
 50454  		}
 50455  		csArray[index] = cs
 50456  	}
 50457  	return csArray, nil
 50458  }
 50459  
 50460  // MarshalJSON is the custom marshaler for CopySource.
 50461  func (cs CopySource) MarshalJSON() ([]byte, error) {
 50462  	cs.Type = TypeCopySource
 50463  	objectMap := make(map[string]interface{})
 50464  	if cs.SourceRetryCount != nil {
 50465  		objectMap["sourceRetryCount"] = cs.SourceRetryCount
 50466  	}
 50467  	if cs.SourceRetryWait != nil {
 50468  		objectMap["sourceRetryWait"] = cs.SourceRetryWait
 50469  	}
 50470  	if cs.MaxConcurrentConnections != nil {
 50471  		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
 50472  	}
 50473  	if cs.Type != "" {
 50474  		objectMap["type"] = cs.Type
 50475  	}
 50476  	for k, v := range cs.AdditionalProperties {
 50477  		objectMap[k] = v
 50478  	}
 50479  	return json.Marshal(objectMap)
 50480  }
 50481  
 50482  // AsHTTPSource is the BasicCopySource implementation for CopySource.
 50483  func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) {
 50484  	return nil, false
 50485  }
 50486  
 50487  // AsAzureBlobFSSource is the BasicCopySource implementation for CopySource.
 50488  func (cs CopySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 50489  	return nil, false
 50490  }
 50491  
 50492  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource.
 50493  func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 50494  	return nil, false
 50495  }
 50496  
 50497  // AsOffice365Source is the BasicCopySource implementation for CopySource.
 50498  func (cs CopySource) AsOffice365Source() (*Office365Source, bool) {
 50499  	return nil, false
 50500  }
 50501  
 50502  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CopySource.
 50503  func (cs CopySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 50504  	return nil, false
 50505  }
 50506  
 50507  // AsMongoDbV2Source is the BasicCopySource implementation for CopySource.
 50508  func (cs CopySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 50509  	return nil, false
 50510  }
 50511  
 50512  // AsMongoDbSource is the BasicCopySource implementation for CopySource.
 50513  func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) {
 50514  	return nil, false
 50515  }
 50516  
 50517  // AsWebSource is the BasicCopySource implementation for CopySource.
 50518  func (cs CopySource) AsWebSource() (*WebSource, bool) {
 50519  	return nil, false
 50520  }
 50521  
 50522  // AsOracleSource is the BasicCopySource implementation for CopySource.
 50523  func (cs CopySource) AsOracleSource() (*OracleSource, bool) {
 50524  	return nil, false
 50525  }
 50526  
 50527  // AsAzureDataExplorerSource is the BasicCopySource implementation for CopySource.
 50528  func (cs CopySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 50529  	return nil, false
 50530  }
 50531  
 50532  // AsHdfsSource is the BasicCopySource implementation for CopySource.
 50533  func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) {
 50534  	return nil, false
 50535  }
 50536  
 50537  // AsFileSystemSource is the BasicCopySource implementation for CopySource.
 50538  func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) {
 50539  	return nil, false
 50540  }
 50541  
 50542  // AsRestSource is the BasicCopySource implementation for CopySource.
 50543  func (cs CopySource) AsRestSource() (*RestSource, bool) {
 50544  	return nil, false
 50545  }
 50546  
 50547  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CopySource.
 50548  func (cs CopySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 50549  	return nil, false
 50550  }
 50551  
 50552  // AsODataSource is the BasicCopySource implementation for CopySource.
 50553  func (cs CopySource) AsODataSource() (*ODataSource, bool) {
 50554  	return nil, false
 50555  }
 50556  
 50557  // AsMicrosoftAccessSource is the BasicCopySource implementation for CopySource.
 50558  func (cs CopySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 50559  	return nil, false
 50560  }
 50561  
 50562  // AsRelationalSource is the BasicCopySource implementation for CopySource.
 50563  func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) {
 50564  	return nil, false
 50565  }
 50566  
 50567  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CopySource.
 50568  func (cs CopySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 50569  	return nil, false
 50570  }
 50571  
 50572  // AsDynamicsCrmSource is the BasicCopySource implementation for CopySource.
 50573  func (cs CopySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 50574  	return nil, false
 50575  }
 50576  
 50577  // AsDynamicsSource is the BasicCopySource implementation for CopySource.
 50578  func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) {
 50579  	return nil, false
 50580  }
 50581  
 50582  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CopySource.
 50583  func (cs CopySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 50584  	return nil, false
 50585  }
 50586  
 50587  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource.
 50588  func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 50589  	return nil, false
 50590  }
 50591  
 50592  // AsBlobSource is the BasicCopySource implementation for CopySource.
 50593  func (cs CopySource) AsBlobSource() (*BlobSource, bool) {
 50594  	return nil, false
 50595  }
 50596  
 50597  // AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource.
 50598  func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 50599  	return nil, false
 50600  }
 50601  
 50602  // AsGoogleAdWordsSource is the BasicCopySource implementation for CopySource.
 50603  func (cs CopySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 50604  	return nil, false
 50605  }
 50606  
 50607  // AsOracleServiceCloudSource is the BasicCopySource implementation for CopySource.
 50608  func (cs CopySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 50609  	return nil, false
 50610  }
 50611  
 50612  // AsDynamicsAXSource is the BasicCopySource implementation for CopySource.
 50613  func (cs CopySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 50614  	return nil, false
 50615  }
 50616  
 50617  // AsResponsysSource is the BasicCopySource implementation for CopySource.
 50618  func (cs CopySource) AsResponsysSource() (*ResponsysSource, bool) {
 50619  	return nil, false
 50620  }
 50621  
 50622  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CopySource.
 50623  func (cs CopySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 50624  	return nil, false
 50625  }
 50626  
 50627  // AsVerticaSource is the BasicCopySource implementation for CopySource.
 50628  func (cs CopySource) AsVerticaSource() (*VerticaSource, bool) {
 50629  	return nil, false
 50630  }
 50631  
 50632  // AsNetezzaSource is the BasicCopySource implementation for CopySource.
 50633  func (cs CopySource) AsNetezzaSource() (*NetezzaSource, bool) {
 50634  	return nil, false
 50635  }
 50636  
 50637  // AsZohoSource is the BasicCopySource implementation for CopySource.
 50638  func (cs CopySource) AsZohoSource() (*ZohoSource, bool) {
 50639  	return nil, false
 50640  }
 50641  
 50642  // AsXeroSource is the BasicCopySource implementation for CopySource.
 50643  func (cs CopySource) AsXeroSource() (*XeroSource, bool) {
 50644  	return nil, false
 50645  }
 50646  
 50647  // AsSquareSource is the BasicCopySource implementation for CopySource.
 50648  func (cs CopySource) AsSquareSource() (*SquareSource, bool) {
 50649  	return nil, false
 50650  }
 50651  
 50652  // AsSparkSource is the BasicCopySource implementation for CopySource.
 50653  func (cs CopySource) AsSparkSource() (*SparkSource, bool) {
 50654  	return nil, false
 50655  }
 50656  
 50657  // AsShopifySource is the BasicCopySource implementation for CopySource.
 50658  func (cs CopySource) AsShopifySource() (*ShopifySource, bool) {
 50659  	return nil, false
 50660  }
 50661  
 50662  // AsServiceNowSource is the BasicCopySource implementation for CopySource.
 50663  func (cs CopySource) AsServiceNowSource() (*ServiceNowSource, bool) {
 50664  	return nil, false
 50665  }
 50666  
 50667  // AsQuickBooksSource is the BasicCopySource implementation for CopySource.
 50668  func (cs CopySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 50669  	return nil, false
 50670  }
 50671  
 50672  // AsPrestoSource is the BasicCopySource implementation for CopySource.
 50673  func (cs CopySource) AsPrestoSource() (*PrestoSource, bool) {
 50674  	return nil, false
 50675  }
 50676  
 50677  // AsPhoenixSource is the BasicCopySource implementation for CopySource.
 50678  func (cs CopySource) AsPhoenixSource() (*PhoenixSource, bool) {
 50679  	return nil, false
 50680  }
 50681  
 50682  // AsPaypalSource is the BasicCopySource implementation for CopySource.
 50683  func (cs CopySource) AsPaypalSource() (*PaypalSource, bool) {
 50684  	return nil, false
 50685  }
 50686  
 50687  // AsMarketoSource is the BasicCopySource implementation for CopySource.
 50688  func (cs CopySource) AsMarketoSource() (*MarketoSource, bool) {
 50689  	return nil, false
 50690  }
 50691  
 50692  // AsAzureMariaDBSource is the BasicCopySource implementation for CopySource.
 50693  func (cs CopySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 50694  	return nil, false
 50695  }
 50696  
 50697  // AsMariaDBSource is the BasicCopySource implementation for CopySource.
 50698  func (cs CopySource) AsMariaDBSource() (*MariaDBSource, bool) {
 50699  	return nil, false
 50700  }
 50701  
 50702  // AsMagentoSource is the BasicCopySource implementation for CopySource.
 50703  func (cs CopySource) AsMagentoSource() (*MagentoSource, bool) {
 50704  	return nil, false
 50705  }
 50706  
 50707  // AsJiraSource is the BasicCopySource implementation for CopySource.
 50708  func (cs CopySource) AsJiraSource() (*JiraSource, bool) {
 50709  	return nil, false
 50710  }
 50711  
 50712  // AsImpalaSource is the BasicCopySource implementation for CopySource.
 50713  func (cs CopySource) AsImpalaSource() (*ImpalaSource, bool) {
 50714  	return nil, false
 50715  }
 50716  
 50717  // AsHubspotSource is the BasicCopySource implementation for CopySource.
 50718  func (cs CopySource) AsHubspotSource() (*HubspotSource, bool) {
 50719  	return nil, false
 50720  }
 50721  
 50722  // AsHiveSource is the BasicCopySource implementation for CopySource.
 50723  func (cs CopySource) AsHiveSource() (*HiveSource, bool) {
 50724  	return nil, false
 50725  }
 50726  
 50727  // AsHBaseSource is the BasicCopySource implementation for CopySource.
 50728  func (cs CopySource) AsHBaseSource() (*HBaseSource, bool) {
 50729  	return nil, false
 50730  }
 50731  
 50732  // AsGreenplumSource is the BasicCopySource implementation for CopySource.
 50733  func (cs CopySource) AsGreenplumSource() (*GreenplumSource, bool) {
 50734  	return nil, false
 50735  }
 50736  
 50737  // AsGoogleBigQuerySource is the BasicCopySource implementation for CopySource.
 50738  func (cs CopySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 50739  	return nil, false
 50740  }
 50741  
 50742  // AsEloquaSource is the BasicCopySource implementation for CopySource.
 50743  func (cs CopySource) AsEloquaSource() (*EloquaSource, bool) {
 50744  	return nil, false
 50745  }
 50746  
 50747  // AsDrillSource is the BasicCopySource implementation for CopySource.
 50748  func (cs CopySource) AsDrillSource() (*DrillSource, bool) {
 50749  	return nil, false
 50750  }
 50751  
 50752  // AsCouchbaseSource is the BasicCopySource implementation for CopySource.
 50753  func (cs CopySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 50754  	return nil, false
 50755  }
 50756  
 50757  // AsConcurSource is the BasicCopySource implementation for CopySource.
 50758  func (cs CopySource) AsConcurSource() (*ConcurSource, bool) {
 50759  	return nil, false
 50760  }
 50761  
 50762  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CopySource.
 50763  func (cs CopySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 50764  	return nil, false
 50765  }
 50766  
 50767  // AsAmazonMWSSource is the BasicCopySource implementation for CopySource.
 50768  func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 50769  	return nil, false
 50770  }
 50771  
 50772  // AsCassandraSource is the BasicCopySource implementation for CopySource.
 50773  func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) {
 50774  	return nil, false
 50775  }
 50776  
 50777  // AsTeradataSource is the BasicCopySource implementation for CopySource.
 50778  func (cs CopySource) AsTeradataSource() (*TeradataSource, bool) {
 50779  	return nil, false
 50780  }
 50781  
 50782  // AsAzureMySQLSource is the BasicCopySource implementation for CopySource.
 50783  func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 50784  	return nil, false
 50785  }
 50786  
 50787  // AsSQLDWSource is the BasicCopySource implementation for CopySource.
 50788  func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) {
 50789  	return nil, false
 50790  }
 50791  
 50792  // AsSQLMISource is the BasicCopySource implementation for CopySource.
 50793  func (cs CopySource) AsSQLMISource() (*SQLMISource, bool) {
 50794  	return nil, false
 50795  }
 50796  
 50797  // AsAzureSQLSource is the BasicCopySource implementation for CopySource.
 50798  func (cs CopySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 50799  	return nil, false
 50800  }
 50801  
 50802  // AsSQLServerSource is the BasicCopySource implementation for CopySource.
 50803  func (cs CopySource) AsSQLServerSource() (*SQLServerSource, bool) {
 50804  	return nil, false
 50805  }
 50806  
 50807  // AsSQLSource is the BasicCopySource implementation for CopySource.
 50808  func (cs CopySource) AsSQLSource() (*SQLSource, bool) {
 50809  	return nil, false
 50810  }
 50811  
 50812  // AsSapTableSource is the BasicCopySource implementation for CopySource.
 50813  func (cs CopySource) AsSapTableSource() (*SapTableSource, bool) {
 50814  	return nil, false
 50815  }
 50816  
 50817  // AsSapOpenHubSource is the BasicCopySource implementation for CopySource.
 50818  func (cs CopySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 50819  	return nil, false
 50820  }
 50821  
 50822  // AsSapHanaSource is the BasicCopySource implementation for CopySource.
 50823  func (cs CopySource) AsSapHanaSource() (*SapHanaSource, bool) {
 50824  	return nil, false
 50825  }
 50826  
 50827  // AsSapEccSource is the BasicCopySource implementation for CopySource.
 50828  func (cs CopySource) AsSapEccSource() (*SapEccSource, bool) {
 50829  	return nil, false
 50830  }
 50831  
 50832  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CopySource.
 50833  func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 50834  	return nil, false
 50835  }
 50836  
 50837  // AsSalesforceSource is the BasicCopySource implementation for CopySource.
 50838  func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) {
 50839  	return nil, false
 50840  }
 50841  
 50842  // AsSapBwSource is the BasicCopySource implementation for CopySource.
 50843  func (cs CopySource) AsSapBwSource() (*SapBwSource, bool) {
 50844  	return nil, false
 50845  }
 50846  
 50847  // AsSybaseSource is the BasicCopySource implementation for CopySource.
 50848  func (cs CopySource) AsSybaseSource() (*SybaseSource, bool) {
 50849  	return nil, false
 50850  }
 50851  
 50852  // AsPostgreSQLSource is the BasicCopySource implementation for CopySource.
 50853  func (cs CopySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 50854  	return nil, false
 50855  }
 50856  
 50857  // AsMySQLSource is the BasicCopySource implementation for CopySource.
 50858  func (cs CopySource) AsMySQLSource() (*MySQLSource, bool) {
 50859  	return nil, false
 50860  }
 50861  
 50862  // AsOdbcSource is the BasicCopySource implementation for CopySource.
 50863  func (cs CopySource) AsOdbcSource() (*OdbcSource, bool) {
 50864  	return nil, false
 50865  }
 50866  
 50867  // AsDb2Source is the BasicCopySource implementation for CopySource.
 50868  func (cs CopySource) AsDb2Source() (*Db2Source, bool) {
 50869  	return nil, false
 50870  }
 50871  
 50872  // AsInformixSource is the BasicCopySource implementation for CopySource.
 50873  func (cs CopySource) AsInformixSource() (*InformixSource, bool) {
 50874  	return nil, false
 50875  }
 50876  
 50877  // AsAzureTableSource is the BasicCopySource implementation for CopySource.
 50878  func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) {
 50879  	return nil, false
 50880  }
 50881  
 50882  // AsTabularSource is the BasicCopySource implementation for CopySource.
 50883  func (cs CopySource) AsTabularSource() (*TabularSource, bool) {
 50884  	return nil, false
 50885  }
 50886  
 50887  // AsBasicTabularSource is the BasicCopySource implementation for CopySource.
 50888  func (cs CopySource) AsBasicTabularSource() (BasicTabularSource, bool) {
 50889  	return nil, false
 50890  }
 50891  
 50892  // AsBinarySource is the BasicCopySource implementation for CopySource.
 50893  func (cs CopySource) AsBinarySource() (*BinarySource, bool) {
 50894  	return nil, false
 50895  }
 50896  
 50897  // AsOrcSource is the BasicCopySource implementation for CopySource.
 50898  func (cs CopySource) AsOrcSource() (*OrcSource, bool) {
 50899  	return nil, false
 50900  }
 50901  
 50902  // AsJSONSource is the BasicCopySource implementation for CopySource.
 50903  func (cs CopySource) AsJSONSource() (*JSONSource, bool) {
 50904  	return nil, false
 50905  }
 50906  
 50907  // AsDelimitedTextSource is the BasicCopySource implementation for CopySource.
 50908  func (cs CopySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 50909  	return nil, false
 50910  }
 50911  
 50912  // AsParquetSource is the BasicCopySource implementation for CopySource.
 50913  func (cs CopySource) AsParquetSource() (*ParquetSource, bool) {
 50914  	return nil, false
 50915  }
 50916  
 50917  // AsAvroSource is the BasicCopySource implementation for CopySource.
 50918  func (cs CopySource) AsAvroSource() (*AvroSource, bool) {
 50919  	return nil, false
 50920  }
 50921  
 50922  // AsCopySource is the BasicCopySource implementation for CopySource.
 50923  func (cs CopySource) AsCopySource() (*CopySource, bool) {
 50924  	return &cs, true
 50925  }
 50926  
 50927  // AsBasicCopySource is the BasicCopySource implementation for CopySource.
 50928  func (cs CopySource) AsBasicCopySource() (BasicCopySource, bool) {
 50929  	return &cs, true
 50930  }
 50931  
 50932  // UnmarshalJSON is the custom unmarshaler for CopySource struct.
 50933  func (cs *CopySource) UnmarshalJSON(body []byte) error {
 50934  	var m map[string]*json.RawMessage
 50935  	err := json.Unmarshal(body, &m)
 50936  	if err != nil {
 50937  		return err
 50938  	}
 50939  	for k, v := range m {
 50940  		switch k {
 50941  		default:
 50942  			if v != nil {
 50943  				var additionalProperties interface{}
 50944  				err = json.Unmarshal(*v, &additionalProperties)
 50945  				if err != nil {
 50946  					return err
 50947  				}
 50948  				if cs.AdditionalProperties == nil {
 50949  					cs.AdditionalProperties = make(map[string]interface{})
 50950  				}
 50951  				cs.AdditionalProperties[k] = additionalProperties
 50952  			}
 50953  		case "sourceRetryCount":
 50954  			if v != nil {
 50955  				var sourceRetryCount interface{}
 50956  				err = json.Unmarshal(*v, &sourceRetryCount)
 50957  				if err != nil {
 50958  					return err
 50959  				}
 50960  				cs.SourceRetryCount = sourceRetryCount
 50961  			}
 50962  		case "sourceRetryWait":
 50963  			if v != nil {
 50964  				var sourceRetryWait interface{}
 50965  				err = json.Unmarshal(*v, &sourceRetryWait)
 50966  				if err != nil {
 50967  					return err
 50968  				}
 50969  				cs.SourceRetryWait = sourceRetryWait
 50970  			}
 50971  		case "maxConcurrentConnections":
 50972  			if v != nil {
 50973  				var maxConcurrentConnections interface{}
 50974  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 50975  				if err != nil {
 50976  					return err
 50977  				}
 50978  				cs.MaxConcurrentConnections = maxConcurrentConnections
 50979  			}
 50980  		case "type":
 50981  			if v != nil {
 50982  				var typeVar TypeBasicCopySource
 50983  				err = json.Unmarshal(*v, &typeVar)
 50984  				if err != nil {
 50985  					return err
 50986  				}
 50987  				cs.Type = typeVar
 50988  			}
 50989  		}
 50990  	}
 50991  
 50992  	return nil
 50993  }
 50994  
 50995  // BasicCopyTranslator a copy activity translator.
 50996  type BasicCopyTranslator interface {
 50997  	AsTabularTranslator() (*TabularTranslator, bool)
 50998  	AsCopyTranslator() (*CopyTranslator, bool)
 50999  }
 51000  
 51001  // CopyTranslator a copy activity translator.
 51002  type CopyTranslator struct {
 51003  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 51004  	AdditionalProperties map[string]interface{} `json:""`
 51005  	// Type - Possible values include: 'TypeCopyTranslator', 'TypeTabularTranslator'
 51006  	Type TypeBasicCopyTranslator `json:"type,omitempty"`
 51007  }
 51008  
 51009  func unmarshalBasicCopyTranslator(body []byte) (BasicCopyTranslator, error) {
 51010  	var m map[string]interface{}
 51011  	err := json.Unmarshal(body, &m)
 51012  	if err != nil {
 51013  		return nil, err
 51014  	}
 51015  
 51016  	switch m["type"] {
 51017  	case string(TypeTabularTranslator):
 51018  		var tt TabularTranslator
 51019  		err := json.Unmarshal(body, &tt)
 51020  		return tt, err
 51021  	default:
 51022  		var ct CopyTranslator
 51023  		err := json.Unmarshal(body, &ct)
 51024  		return ct, err
 51025  	}
 51026  }
 51027  func unmarshalBasicCopyTranslatorArray(body []byte) ([]BasicCopyTranslator, error) {
 51028  	var rawMessages []*json.RawMessage
 51029  	err := json.Unmarshal(body, &rawMessages)
 51030  	if err != nil {
 51031  		return nil, err
 51032  	}
 51033  
 51034  	ctArray := make([]BasicCopyTranslator, len(rawMessages))
 51035  
 51036  	for index, rawMessage := range rawMessages {
 51037  		ct, err := unmarshalBasicCopyTranslator(*rawMessage)
 51038  		if err != nil {
 51039  			return nil, err
 51040  		}
 51041  		ctArray[index] = ct
 51042  	}
 51043  	return ctArray, nil
 51044  }
 51045  
 51046  // MarshalJSON is the custom marshaler for CopyTranslator.
 51047  func (ct CopyTranslator) MarshalJSON() ([]byte, error) {
 51048  	ct.Type = TypeCopyTranslator
 51049  	objectMap := make(map[string]interface{})
 51050  	if ct.Type != "" {
 51051  		objectMap["type"] = ct.Type
 51052  	}
 51053  	for k, v := range ct.AdditionalProperties {
 51054  		objectMap[k] = v
 51055  	}
 51056  	return json.Marshal(objectMap)
 51057  }
 51058  
 51059  // AsTabularTranslator is the BasicCopyTranslator implementation for CopyTranslator.
 51060  func (ct CopyTranslator) AsTabularTranslator() (*TabularTranslator, bool) {
 51061  	return nil, false
 51062  }
 51063  
 51064  // AsCopyTranslator is the BasicCopyTranslator implementation for CopyTranslator.
 51065  func (ct CopyTranslator) AsCopyTranslator() (*CopyTranslator, bool) {
 51066  	return &ct, true
 51067  }
 51068  
 51069  // AsBasicCopyTranslator is the BasicCopyTranslator implementation for CopyTranslator.
 51070  func (ct CopyTranslator) AsBasicCopyTranslator() (BasicCopyTranslator, bool) {
 51071  	return &ct, true
 51072  }
 51073  
 51074  // UnmarshalJSON is the custom unmarshaler for CopyTranslator struct.
 51075  func (ct *CopyTranslator) UnmarshalJSON(body []byte) error {
 51076  	var m map[string]*json.RawMessage
 51077  	err := json.Unmarshal(body, &m)
 51078  	if err != nil {
 51079  		return err
 51080  	}
 51081  	for k, v := range m {
 51082  		switch k {
 51083  		default:
 51084  			if v != nil {
 51085  				var additionalProperties interface{}
 51086  				err = json.Unmarshal(*v, &additionalProperties)
 51087  				if err != nil {
 51088  					return err
 51089  				}
 51090  				if ct.AdditionalProperties == nil {
 51091  					ct.AdditionalProperties = make(map[string]interface{})
 51092  				}
 51093  				ct.AdditionalProperties[k] = additionalProperties
 51094  			}
 51095  		case "type":
 51096  			if v != nil {
 51097  				var typeVar TypeBasicCopyTranslator
 51098  				err = json.Unmarshal(*v, &typeVar)
 51099  				if err != nil {
 51100  					return err
 51101  				}
 51102  				ct.Type = typeVar
 51103  			}
 51104  		}
 51105  	}
 51106  
 51107  	return nil
 51108  }
 51109  
 51110  // CosmosDbLinkedService microsoft Azure Cosmos Database (CosmosDB) linked service.
 51111  type CosmosDbLinkedService struct {
 51112  	// CosmosDbLinkedServiceTypeProperties - CosmosDB linked service properties.
 51113  	*CosmosDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 51114  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 51115  	AdditionalProperties map[string]interface{} `json:""`
 51116  	// ConnectVia - The integration runtime reference.
 51117  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 51118  	// Description - Linked service description.
 51119  	Description *string `json:"description,omitempty"`
 51120  	// Parameters - Parameters for linked service.
 51121  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 51122  	// Annotations - List of tags that can be used for describing the linked service.
 51123  	Annotations *[]interface{} `json:"annotations,omitempty"`
 51124  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 51125  	Type TypeBasicLinkedService `json:"type,omitempty"`
 51126  }
 51127  
 51128  // MarshalJSON is the custom marshaler for CosmosDbLinkedService.
 51129  func (cdls CosmosDbLinkedService) MarshalJSON() ([]byte, error) {
 51130  	cdls.Type = TypeCosmosDb
 51131  	objectMap := make(map[string]interface{})
 51132  	if cdls.CosmosDbLinkedServiceTypeProperties != nil {
 51133  		objectMap["typeProperties"] = cdls.CosmosDbLinkedServiceTypeProperties
 51134  	}
 51135  	if cdls.ConnectVia != nil {
 51136  		objectMap["connectVia"] = cdls.ConnectVia
 51137  	}
 51138  	if cdls.Description != nil {
 51139  		objectMap["description"] = cdls.Description
 51140  	}
 51141  	if cdls.Parameters != nil {
 51142  		objectMap["parameters"] = cdls.Parameters
 51143  	}
 51144  	if cdls.Annotations != nil {
 51145  		objectMap["annotations"] = cdls.Annotations
 51146  	}
 51147  	if cdls.Type != "" {
 51148  		objectMap["type"] = cdls.Type
 51149  	}
 51150  	for k, v := range cdls.AdditionalProperties {
 51151  		objectMap[k] = v
 51152  	}
 51153  	return json.Marshal(objectMap)
 51154  }
 51155  
 51156  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51157  func (cdls CosmosDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 51158  	return nil, false
 51159  }
 51160  
 51161  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51162  func (cdls CosmosDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 51163  	return nil, false
 51164  }
 51165  
 51166  // AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51167  func (cdls CosmosDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 51168  	return nil, false
 51169  }
 51170  
 51171  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51172  func (cdls CosmosDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 51173  	return nil, false
 51174  }
 51175  
 51176  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51177  func (cdls CosmosDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 51178  	return nil, false
 51179  }
 51180  
 51181  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51182  func (cdls CosmosDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 51183  	return nil, false
 51184  }
 51185  
 51186  // AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51187  func (cdls CosmosDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 51188  	return nil, false
 51189  }
 51190  
 51191  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51192  func (cdls CosmosDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 51193  	return nil, false
 51194  }
 51195  
 51196  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51197  func (cdls CosmosDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 51198  	return nil, false
 51199  }
 51200  
 51201  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51202  func (cdls CosmosDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 51203  	return nil, false
 51204  }
 51205  
 51206  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51207  func (cdls CosmosDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 51208  	return nil, false
 51209  }
 51210  
 51211  // AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51212  func (cdls CosmosDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 51213  	return nil, false
 51214  }
 51215  
 51216  // AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51217  func (cdls CosmosDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 51218  	return nil, false
 51219  }
 51220  
 51221  // AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51222  func (cdls CosmosDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 51223  	return nil, false
 51224  }
 51225  
 51226  // AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51227  func (cdls CosmosDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 51228  	return nil, false
 51229  }
 51230  
 51231  // AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51232  func (cdls CosmosDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 51233  	return nil, false
 51234  }
 51235  
 51236  // AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51237  func (cdls CosmosDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 51238  	return nil, false
 51239  }
 51240  
 51241  // AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51242  func (cdls CosmosDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 51243  	return nil, false
 51244  }
 51245  
 51246  // AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51247  func (cdls CosmosDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 51248  	return nil, false
 51249  }
 51250  
 51251  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51252  func (cdls CosmosDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 51253  	return nil, false
 51254  }
 51255  
 51256  // AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51257  func (cdls CosmosDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 51258  	return nil, false
 51259  }
 51260  
 51261  // AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51262  func (cdls CosmosDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 51263  	return nil, false
 51264  }
 51265  
 51266  // AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51267  func (cdls CosmosDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 51268  	return nil, false
 51269  }
 51270  
 51271  // AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51272  func (cdls CosmosDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 51273  	return nil, false
 51274  }
 51275  
 51276  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51277  func (cdls CosmosDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 51278  	return nil, false
 51279  }
 51280  
 51281  // AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51282  func (cdls CosmosDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 51283  	return nil, false
 51284  }
 51285  
 51286  // AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51287  func (cdls CosmosDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 51288  	return nil, false
 51289  }
 51290  
 51291  // AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51292  func (cdls CosmosDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 51293  	return nil, false
 51294  }
 51295  
 51296  // AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51297  func (cdls CosmosDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 51298  	return nil, false
 51299  }
 51300  
 51301  // AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51302  func (cdls CosmosDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 51303  	return nil, false
 51304  }
 51305  
 51306  // AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51307  func (cdls CosmosDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 51308  	return nil, false
 51309  }
 51310  
 51311  // AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51312  func (cdls CosmosDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 51313  	return nil, false
 51314  }
 51315  
 51316  // AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51317  func (cdls CosmosDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 51318  	return nil, false
 51319  }
 51320  
 51321  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51322  func (cdls CosmosDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 51323  	return nil, false
 51324  }
 51325  
 51326  // AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51327  func (cdls CosmosDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 51328  	return nil, false
 51329  }
 51330  
 51331  // AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51332  func (cdls CosmosDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 51333  	return nil, false
 51334  }
 51335  
 51336  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51337  func (cdls CosmosDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 51338  	return nil, false
 51339  }
 51340  
 51341  // AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51342  func (cdls CosmosDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 51343  	return nil, false
 51344  }
 51345  
 51346  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51347  func (cdls CosmosDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 51348  	return nil, false
 51349  }
 51350  
 51351  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51352  func (cdls CosmosDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 51353  	return nil, false
 51354  }
 51355  
 51356  // AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51357  func (cdls CosmosDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 51358  	return nil, false
 51359  }
 51360  
 51361  // AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51362  func (cdls CosmosDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 51363  	return nil, false
 51364  }
 51365  
 51366  // AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51367  func (cdls CosmosDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 51368  	return nil, false
 51369  }
 51370  
 51371  // AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51372  func (cdls CosmosDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 51373  	return nil, false
 51374  }
 51375  
 51376  // AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51377  func (cdls CosmosDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 51378  	return nil, false
 51379  }
 51380  
 51381  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51382  func (cdls CosmosDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 51383  	return nil, false
 51384  }
 51385  
 51386  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51387  func (cdls CosmosDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 51388  	return nil, false
 51389  }
 51390  
 51391  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51392  func (cdls CosmosDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 51393  	return nil, false
 51394  }
 51395  
 51396  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51397  func (cdls CosmosDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 51398  	return nil, false
 51399  }
 51400  
 51401  // AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51402  func (cdls CosmosDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 51403  	return nil, false
 51404  }
 51405  
 51406  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51407  func (cdls CosmosDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 51408  	return nil, false
 51409  }
 51410  
 51411  // AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51412  func (cdls CosmosDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 51413  	return nil, false
 51414  }
 51415  
 51416  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51417  func (cdls CosmosDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 51418  	return nil, false
 51419  }
 51420  
 51421  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51422  func (cdls CosmosDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 51423  	return nil, false
 51424  }
 51425  
 51426  // AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51427  func (cdls CosmosDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 51428  	return nil, false
 51429  }
 51430  
 51431  // AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51432  func (cdls CosmosDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 51433  	return nil, false
 51434  }
 51435  
 51436  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51437  func (cdls CosmosDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 51438  	return nil, false
 51439  }
 51440  
 51441  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51442  func (cdls CosmosDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 51443  	return nil, false
 51444  }
 51445  
 51446  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51447  func (cdls CosmosDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 51448  	return nil, false
 51449  }
 51450  
 51451  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51452  func (cdls CosmosDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 51453  	return nil, false
 51454  }
 51455  
 51456  // AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51457  func (cdls CosmosDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 51458  	return nil, false
 51459  }
 51460  
 51461  // AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51462  func (cdls CosmosDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 51463  	return nil, false
 51464  }
 51465  
 51466  // AsWebLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51467  func (cdls CosmosDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 51468  	return nil, false
 51469  }
 51470  
 51471  // AsODataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51472  func (cdls CosmosDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 51473  	return nil, false
 51474  }
 51475  
 51476  // AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51477  func (cdls CosmosDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 51478  	return nil, false
 51479  }
 51480  
 51481  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51482  func (cdls CosmosDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 51483  	return nil, false
 51484  }
 51485  
 51486  // AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51487  func (cdls CosmosDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 51488  	return nil, false
 51489  }
 51490  
 51491  // AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51492  func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 51493  	return nil, false
 51494  }
 51495  
 51496  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51497  func (cdls CosmosDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 51498  	return nil, false
 51499  }
 51500  
 51501  // AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51502  func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 51503  	return nil, false
 51504  }
 51505  
 51506  // AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51507  func (cdls CosmosDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 51508  	return nil, false
 51509  }
 51510  
 51511  // AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51512  func (cdls CosmosDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 51513  	return nil, false
 51514  }
 51515  
 51516  // AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51517  func (cdls CosmosDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 51518  	return nil, false
 51519  }
 51520  
 51521  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51522  func (cdls CosmosDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 51523  	return nil, false
 51524  }
 51525  
 51526  // AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51527  func (cdls CosmosDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 51528  	return nil, false
 51529  }
 51530  
 51531  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51532  func (cdls CosmosDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 51533  	return nil, false
 51534  }
 51535  
 51536  // AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51537  func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 51538  	return nil, false
 51539  }
 51540  
 51541  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51542  func (cdls CosmosDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 51543  	return nil, false
 51544  }
 51545  
 51546  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51547  func (cdls CosmosDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 51548  	return nil, false
 51549  }
 51550  
 51551  // AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51552  func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 51553  	return nil, false
 51554  }
 51555  
 51556  // AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51557  func (cdls CosmosDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 51558  	return nil, false
 51559  }
 51560  
 51561  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51562  func (cdls CosmosDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 51563  	return nil, false
 51564  }
 51565  
 51566  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51567  func (cdls CosmosDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 51568  	return nil, false
 51569  }
 51570  
 51571  // AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51572  func (cdls CosmosDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 51573  	return nil, false
 51574  }
 51575  
 51576  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51577  func (cdls CosmosDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 51578  	return &cdls, true
 51579  }
 51580  
 51581  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51582  func (cdls CosmosDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 51583  	return nil, false
 51584  }
 51585  
 51586  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51587  func (cdls CosmosDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 51588  	return nil, false
 51589  }
 51590  
 51591  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51592  func (cdls CosmosDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 51593  	return nil, false
 51594  }
 51595  
 51596  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51597  func (cdls CosmosDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 51598  	return nil, false
 51599  }
 51600  
 51601  // AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51602  func (cdls CosmosDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 51603  	return nil, false
 51604  }
 51605  
 51606  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51607  func (cdls CosmosDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 51608  	return nil, false
 51609  }
 51610  
 51611  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51612  func (cdls CosmosDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 51613  	return nil, false
 51614  }
 51615  
 51616  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51617  func (cdls CosmosDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 51618  	return nil, false
 51619  }
 51620  
 51621  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51622  func (cdls CosmosDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 51623  	return nil, false
 51624  }
 51625  
 51626  // AsLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51627  func (cdls CosmosDbLinkedService) AsLinkedService() (*LinkedService, bool) {
 51628  	return nil, false
 51629  }
 51630  
 51631  // AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService.
 51632  func (cdls CosmosDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 51633  	return &cdls, true
 51634  }
 51635  
 51636  // UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedService struct.
 51637  func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error {
 51638  	var m map[string]*json.RawMessage
 51639  	err := json.Unmarshal(body, &m)
 51640  	if err != nil {
 51641  		return err
 51642  	}
 51643  	for k, v := range m {
 51644  		switch k {
 51645  		case "typeProperties":
 51646  			if v != nil {
 51647  				var cosmosDbLinkedServiceTypeProperties CosmosDbLinkedServiceTypeProperties
 51648  				err = json.Unmarshal(*v, &cosmosDbLinkedServiceTypeProperties)
 51649  				if err != nil {
 51650  					return err
 51651  				}
 51652  				cdls.CosmosDbLinkedServiceTypeProperties = &cosmosDbLinkedServiceTypeProperties
 51653  			}
 51654  		default:
 51655  			if v != nil {
 51656  				var additionalProperties interface{}
 51657  				err = json.Unmarshal(*v, &additionalProperties)
 51658  				if err != nil {
 51659  					return err
 51660  				}
 51661  				if cdls.AdditionalProperties == nil {
 51662  					cdls.AdditionalProperties = make(map[string]interface{})
 51663  				}
 51664  				cdls.AdditionalProperties[k] = additionalProperties
 51665  			}
 51666  		case "connectVia":
 51667  			if v != nil {
 51668  				var connectVia IntegrationRuntimeReference
 51669  				err = json.Unmarshal(*v, &connectVia)
 51670  				if err != nil {
 51671  					return err
 51672  				}
 51673  				cdls.ConnectVia = &connectVia
 51674  			}
 51675  		case "description":
 51676  			if v != nil {
 51677  				var description string
 51678  				err = json.Unmarshal(*v, &description)
 51679  				if err != nil {
 51680  					return err
 51681  				}
 51682  				cdls.Description = &description
 51683  			}
 51684  		case "parameters":
 51685  			if v != nil {
 51686  				var parameters map[string]*ParameterSpecification
 51687  				err = json.Unmarshal(*v, &parameters)
 51688  				if err != nil {
 51689  					return err
 51690  				}
 51691  				cdls.Parameters = parameters
 51692  			}
 51693  		case "annotations":
 51694  			if v != nil {
 51695  				var annotations []interface{}
 51696  				err = json.Unmarshal(*v, &annotations)
 51697  				if err != nil {
 51698  					return err
 51699  				}
 51700  				cdls.Annotations = &annotations
 51701  			}
 51702  		case "type":
 51703  			if v != nil {
 51704  				var typeVar TypeBasicLinkedService
 51705  				err = json.Unmarshal(*v, &typeVar)
 51706  				if err != nil {
 51707  					return err
 51708  				}
 51709  				cdls.Type = typeVar
 51710  			}
 51711  		}
 51712  	}
 51713  
 51714  	return nil
 51715  }
 51716  
 51717  // CosmosDbLinkedServiceTypeProperties cosmosDB linked service properties.
 51718  type CosmosDbLinkedServiceTypeProperties struct {
 51719  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 51720  	ConnectionString interface{} `json:"connectionString,omitempty"`
 51721  	// AccountEndpoint - The endpoint of the Azure CosmosDB account. Type: string (or Expression with resultType string)
 51722  	AccountEndpoint interface{} `json:"accountEndpoint,omitempty"`
 51723  	// Database - The name of the database. Type: string (or Expression with resultType string)
 51724  	Database interface{} `json:"database,omitempty"`
 51725  	// AccountKey - The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference.
 51726  	AccountKey BasicSecretBase `json:"accountKey,omitempty"`
 51727  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 51728  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 51729  }
 51730  
 51731  // UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedServiceTypeProperties struct.
 51732  func (cdlstp *CosmosDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 51733  	var m map[string]*json.RawMessage
 51734  	err := json.Unmarshal(body, &m)
 51735  	if err != nil {
 51736  		return err
 51737  	}
 51738  	for k, v := range m {
 51739  		switch k {
 51740  		case "connectionString":
 51741  			if v != nil {
 51742  				var connectionString interface{}
 51743  				err = json.Unmarshal(*v, &connectionString)
 51744  				if err != nil {
 51745  					return err
 51746  				}
 51747  				cdlstp.ConnectionString = connectionString
 51748  			}
 51749  		case "accountEndpoint":
 51750  			if v != nil {
 51751  				var accountEndpoint interface{}
 51752  				err = json.Unmarshal(*v, &accountEndpoint)
 51753  				if err != nil {
 51754  					return err
 51755  				}
 51756  				cdlstp.AccountEndpoint = accountEndpoint
 51757  			}
 51758  		case "database":
 51759  			if v != nil {
 51760  				var databaseVar interface{}
 51761  				err = json.Unmarshal(*v, &databaseVar)
 51762  				if err != nil {
 51763  					return err
 51764  				}
 51765  				cdlstp.Database = databaseVar
 51766  			}
 51767  		case "accountKey":
 51768  			if v != nil {
 51769  				accountKey, err := unmarshalBasicSecretBase(*v)
 51770  				if err != nil {
 51771  					return err
 51772  				}
 51773  				cdlstp.AccountKey = accountKey
 51774  			}
 51775  		case "encryptedCredential":
 51776  			if v != nil {
 51777  				var encryptedCredential interface{}
 51778  				err = json.Unmarshal(*v, &encryptedCredential)
 51779  				if err != nil {
 51780  					return err
 51781  				}
 51782  				cdlstp.EncryptedCredential = encryptedCredential
 51783  			}
 51784  		}
 51785  	}
 51786  
 51787  	return nil
 51788  }
 51789  
 51790  // CosmosDbMongoDbAPICollectionDataset the CosmosDB (MongoDB API) database dataset.
 51791  type CosmosDbMongoDbAPICollectionDataset struct {
 51792  	// CosmosDbMongoDbAPICollectionDatasetTypeProperties - CosmosDB (MongoDB API) database dataset properties.
 51793  	*CosmosDbMongoDbAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
 51794  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 51795  	AdditionalProperties map[string]interface{} `json:""`
 51796  	// Description - Dataset description.
 51797  	Description *string `json:"description,omitempty"`
 51798  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 51799  	Structure interface{} `json:"structure,omitempty"`
 51800  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 51801  	Schema interface{} `json:"schema,omitempty"`
 51802  	// LinkedServiceName - Linked service reference.
 51803  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 51804  	// Parameters - Parameters for dataset.
 51805  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 51806  	// Annotations - List of tags that can be used for describing the Dataset.
 51807  	Annotations *[]interface{} `json:"annotations,omitempty"`
 51808  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 51809  	Folder *DatasetFolder `json:"folder,omitempty"`
 51810  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 51811  	Type TypeBasicDataset `json:"type,omitempty"`
 51812  }
 51813  
 51814  // MarshalJSON is the custom marshaler for CosmosDbMongoDbAPICollectionDataset.
 51815  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) MarshalJSON() ([]byte, error) {
 51816  	cdmdacd.Type = TypeCosmosDbMongoDbAPICollection
 51817  	objectMap := make(map[string]interface{})
 51818  	if cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties != nil {
 51819  		objectMap["typeProperties"] = cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties
 51820  	}
 51821  	if cdmdacd.Description != nil {
 51822  		objectMap["description"] = cdmdacd.Description
 51823  	}
 51824  	if cdmdacd.Structure != nil {
 51825  		objectMap["structure"] = cdmdacd.Structure
 51826  	}
 51827  	if cdmdacd.Schema != nil {
 51828  		objectMap["schema"] = cdmdacd.Schema
 51829  	}
 51830  	if cdmdacd.LinkedServiceName != nil {
 51831  		objectMap["linkedServiceName"] = cdmdacd.LinkedServiceName
 51832  	}
 51833  	if cdmdacd.Parameters != nil {
 51834  		objectMap["parameters"] = cdmdacd.Parameters
 51835  	}
 51836  	if cdmdacd.Annotations != nil {
 51837  		objectMap["annotations"] = cdmdacd.Annotations
 51838  	}
 51839  	if cdmdacd.Folder != nil {
 51840  		objectMap["folder"] = cdmdacd.Folder
 51841  	}
 51842  	if cdmdacd.Type != "" {
 51843  		objectMap["type"] = cdmdacd.Type
 51844  	}
 51845  	for k, v := range cdmdacd.AdditionalProperties {
 51846  		objectMap[k] = v
 51847  	}
 51848  	return json.Marshal(objectMap)
 51849  }
 51850  
 51851  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51852  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 51853  	return nil, false
 51854  }
 51855  
 51856  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51857  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 51858  	return nil, false
 51859  }
 51860  
 51861  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51862  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 51863  	return nil, false
 51864  }
 51865  
 51866  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51867  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 51868  	return nil, false
 51869  }
 51870  
 51871  // AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51872  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 51873  	return nil, false
 51874  }
 51875  
 51876  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51877  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 51878  	return nil, false
 51879  }
 51880  
 51881  // AsVerticaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51882  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 51883  	return nil, false
 51884  }
 51885  
 51886  // AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51887  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 51888  	return nil, false
 51889  }
 51890  
 51891  // AsZohoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51892  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 51893  	return nil, false
 51894  }
 51895  
 51896  // AsXeroObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51897  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 51898  	return nil, false
 51899  }
 51900  
 51901  // AsSquareObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51902  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 51903  	return nil, false
 51904  }
 51905  
 51906  // AsSparkObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51907  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 51908  	return nil, false
 51909  }
 51910  
 51911  // AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51912  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 51913  	return nil, false
 51914  }
 51915  
 51916  // AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51917  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 51918  	return nil, false
 51919  }
 51920  
 51921  // AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51922  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 51923  	return nil, false
 51924  }
 51925  
 51926  // AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51927  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 51928  	return nil, false
 51929  }
 51930  
 51931  // AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51932  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 51933  	return nil, false
 51934  }
 51935  
 51936  // AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51937  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 51938  	return nil, false
 51939  }
 51940  
 51941  // AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51942  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 51943  	return nil, false
 51944  }
 51945  
 51946  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51947  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 51948  	return nil, false
 51949  }
 51950  
 51951  // AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51952  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 51953  	return nil, false
 51954  }
 51955  
 51956  // AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51957  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 51958  	return nil, false
 51959  }
 51960  
 51961  // AsJiraObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51962  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 51963  	return nil, false
 51964  }
 51965  
 51966  // AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51967  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 51968  	return nil, false
 51969  }
 51970  
 51971  // AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51972  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 51973  	return nil, false
 51974  }
 51975  
 51976  // AsHiveObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51977  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 51978  	return nil, false
 51979  }
 51980  
 51981  // AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51982  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 51983  	return nil, false
 51984  }
 51985  
 51986  // AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51987  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 51988  	return nil, false
 51989  }
 51990  
 51991  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51992  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 51993  	return nil, false
 51994  }
 51995  
 51996  // AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 51997  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 51998  	return nil, false
 51999  }
 52000  
 52001  // AsDrillTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52002  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 52003  	return nil, false
 52004  }
 52005  
 52006  // AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52007  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 52008  	return nil, false
 52009  }
 52010  
 52011  // AsConcurObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52012  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 52013  	return nil, false
 52014  }
 52015  
 52016  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52017  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 52018  	return nil, false
 52019  }
 52020  
 52021  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52022  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 52023  	return nil, false
 52024  }
 52025  
 52026  // AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52027  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 52028  	return nil, false
 52029  }
 52030  
 52031  // AsWebTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52032  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 52033  	return nil, false
 52034  }
 52035  
 52036  // AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52037  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 52038  	return nil, false
 52039  }
 52040  
 52041  // AsRestResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52042  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 52043  	return nil, false
 52044  }
 52045  
 52046  // AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52047  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 52048  	return nil, false
 52049  }
 52050  
 52051  // AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52052  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 52053  	return nil, false
 52054  }
 52055  
 52056  // AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52057  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 52058  	return nil, false
 52059  }
 52060  
 52061  // AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52062  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 52063  	return nil, false
 52064  }
 52065  
 52066  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52067  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 52068  	return nil, false
 52069  }
 52070  
 52071  // AsSapBwCubeDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52072  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 52073  	return nil, false
 52074  }
 52075  
 52076  // AsSybaseTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52077  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 52078  	return nil, false
 52079  }
 52080  
 52081  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52082  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 52083  	return nil, false
 52084  }
 52085  
 52086  // AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52087  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 52088  	return nil, false
 52089  }
 52090  
 52091  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52092  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 52093  	return nil, false
 52094  }
 52095  
 52096  // AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52097  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 52098  	return nil, false
 52099  }
 52100  
 52101  // AsMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52102  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 52103  	return nil, false
 52104  }
 52105  
 52106  // AsOdbcTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52107  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 52108  	return nil, false
 52109  }
 52110  
 52111  // AsInformixTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52112  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 52113  	return nil, false
 52114  }
 52115  
 52116  // AsRelationalTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52117  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 52118  	return nil, false
 52119  }
 52120  
 52121  // AsDb2TableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52122  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 52123  	return nil, false
 52124  }
 52125  
 52126  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52127  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 52128  	return nil, false
 52129  }
 52130  
 52131  // AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52132  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 52133  	return nil, false
 52134  }
 52135  
 52136  // AsTeradataTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52137  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 52138  	return nil, false
 52139  }
 52140  
 52141  // AsOracleTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52142  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 52143  	return nil, false
 52144  }
 52145  
 52146  // AsODataResourceDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52147  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 52148  	return nil, false
 52149  }
 52150  
 52151  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52152  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 52153  	return &cdmdacd, true
 52154  }
 52155  
 52156  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52157  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 52158  	return nil, false
 52159  }
 52160  
 52161  // AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52162  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 52163  	return nil, false
 52164  }
 52165  
 52166  // AsOffice365Dataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52167  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 52168  	return nil, false
 52169  }
 52170  
 52171  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52172  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 52173  	return nil, false
 52174  }
 52175  
 52176  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52177  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 52178  	return nil, false
 52179  }
 52180  
 52181  // AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52182  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 52183  	return nil, false
 52184  }
 52185  
 52186  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52187  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 52188  	return nil, false
 52189  }
 52190  
 52191  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52192  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 52193  	return nil, false
 52194  }
 52195  
 52196  // AsCustomDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52197  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
 52198  	return nil, false
 52199  }
 52200  
 52201  // AsCassandraTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52202  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 52203  	return nil, false
 52204  }
 52205  
 52206  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52207  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 52208  	return nil, false
 52209  }
 52210  
 52211  // AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52212  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 52213  	return nil, false
 52214  }
 52215  
 52216  // AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52217  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 52218  	return nil, false
 52219  }
 52220  
 52221  // AsAzureTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52222  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 52223  	return nil, false
 52224  }
 52225  
 52226  // AsBinaryDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52227  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 52228  	return nil, false
 52229  }
 52230  
 52231  // AsOrcDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52232  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) {
 52233  	return nil, false
 52234  }
 52235  
 52236  // AsJSONDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52237  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) {
 52238  	return nil, false
 52239  }
 52240  
 52241  // AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52242  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 52243  	return nil, false
 52244  }
 52245  
 52246  // AsParquetDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52247  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
 52248  	return nil, false
 52249  }
 52250  
 52251  // AsAvroDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52252  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAvroDataset() (*AvroDataset, bool) {
 52253  	return nil, false
 52254  }
 52255  
 52256  // AsDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52257  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDataset() (*Dataset, bool) {
 52258  	return nil, false
 52259  }
 52260  
 52261  // AsBasicDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset.
 52262  func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) {
 52263  	return &cdmdacd, true
 52264  }
 52265  
 52266  // UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPICollectionDataset struct.
 52267  func (cdmdacd *CosmosDbMongoDbAPICollectionDataset) UnmarshalJSON(body []byte) error {
 52268  	var m map[string]*json.RawMessage
 52269  	err := json.Unmarshal(body, &m)
 52270  	if err != nil {
 52271  		return err
 52272  	}
 52273  	for k, v := range m {
 52274  		switch k {
 52275  		case "typeProperties":
 52276  			if v != nil {
 52277  				var cosmosDbMongoDbAPICollectionDatasetTypeProperties CosmosDbMongoDbAPICollectionDatasetTypeProperties
 52278  				err = json.Unmarshal(*v, &cosmosDbMongoDbAPICollectionDatasetTypeProperties)
 52279  				if err != nil {
 52280  					return err
 52281  				}
 52282  				cdmdacd.CosmosDbMongoDbAPICollectionDatasetTypeProperties = &cosmosDbMongoDbAPICollectionDatasetTypeProperties
 52283  			}
 52284  		default:
 52285  			if v != nil {
 52286  				var additionalProperties interface{}
 52287  				err = json.Unmarshal(*v, &additionalProperties)
 52288  				if err != nil {
 52289  					return err
 52290  				}
 52291  				if cdmdacd.AdditionalProperties == nil {
 52292  					cdmdacd.AdditionalProperties = make(map[string]interface{})
 52293  				}
 52294  				cdmdacd.AdditionalProperties[k] = additionalProperties
 52295  			}
 52296  		case "description":
 52297  			if v != nil {
 52298  				var description string
 52299  				err = json.Unmarshal(*v, &description)
 52300  				if err != nil {
 52301  					return err
 52302  				}
 52303  				cdmdacd.Description = &description
 52304  			}
 52305  		case "structure":
 52306  			if v != nil {
 52307  				var structure interface{}
 52308  				err = json.Unmarshal(*v, &structure)
 52309  				if err != nil {
 52310  					return err
 52311  				}
 52312  				cdmdacd.Structure = structure
 52313  			}
 52314  		case "schema":
 52315  			if v != nil {
 52316  				var schema interface{}
 52317  				err = json.Unmarshal(*v, &schema)
 52318  				if err != nil {
 52319  					return err
 52320  				}
 52321  				cdmdacd.Schema = schema
 52322  			}
 52323  		case "linkedServiceName":
 52324  			if v != nil {
 52325  				var linkedServiceName LinkedServiceReference
 52326  				err = json.Unmarshal(*v, &linkedServiceName)
 52327  				if err != nil {
 52328  					return err
 52329  				}
 52330  				cdmdacd.LinkedServiceName = &linkedServiceName
 52331  			}
 52332  		case "parameters":
 52333  			if v != nil {
 52334  				var parameters map[string]*ParameterSpecification
 52335  				err = json.Unmarshal(*v, &parameters)
 52336  				if err != nil {
 52337  					return err
 52338  				}
 52339  				cdmdacd.Parameters = parameters
 52340  			}
 52341  		case "annotations":
 52342  			if v != nil {
 52343  				var annotations []interface{}
 52344  				err = json.Unmarshal(*v, &annotations)
 52345  				if err != nil {
 52346  					return err
 52347  				}
 52348  				cdmdacd.Annotations = &annotations
 52349  			}
 52350  		case "folder":
 52351  			if v != nil {
 52352  				var folder DatasetFolder
 52353  				err = json.Unmarshal(*v, &folder)
 52354  				if err != nil {
 52355  					return err
 52356  				}
 52357  				cdmdacd.Folder = &folder
 52358  			}
 52359  		case "type":
 52360  			if v != nil {
 52361  				var typeVar TypeBasicDataset
 52362  				err = json.Unmarshal(*v, &typeVar)
 52363  				if err != nil {
 52364  					return err
 52365  				}
 52366  				cdmdacd.Type = typeVar
 52367  			}
 52368  		}
 52369  	}
 52370  
 52371  	return nil
 52372  }
 52373  
 52374  // CosmosDbMongoDbAPICollectionDatasetTypeProperties cosmosDB (MongoDB API) database dataset properties.
 52375  type CosmosDbMongoDbAPICollectionDatasetTypeProperties struct {
 52376  	// Collection - The collection name of the CosmosDB (MongoDB API) database. Type: string (or Expression with resultType string).
 52377  	Collection interface{} `json:"collection,omitempty"`
 52378  }
 52379  
 52380  // CosmosDbMongoDbAPILinkedService linked service for CosmosDB (MongoDB API) data source.
 52381  type CosmosDbMongoDbAPILinkedService struct {
 52382  	// CosmosDbMongoDbAPILinkedServiceTypeProperties - CosmosDB (MongoDB API) linked service properties.
 52383  	*CosmosDbMongoDbAPILinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 52384  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 52385  	AdditionalProperties map[string]interface{} `json:""`
 52386  	// ConnectVia - The integration runtime reference.
 52387  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 52388  	// Description - Linked service description.
 52389  	Description *string `json:"description,omitempty"`
 52390  	// Parameters - Parameters for linked service.
 52391  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 52392  	// Annotations - List of tags that can be used for describing the linked service.
 52393  	Annotations *[]interface{} `json:"annotations,omitempty"`
 52394  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 52395  	Type TypeBasicLinkedService `json:"type,omitempty"`
 52396  }
 52397  
 52398  // MarshalJSON is the custom marshaler for CosmosDbMongoDbAPILinkedService.
 52399  func (cdmdals CosmosDbMongoDbAPILinkedService) MarshalJSON() ([]byte, error) {
 52400  	cdmdals.Type = TypeCosmosDbMongoDbAPI
 52401  	objectMap := make(map[string]interface{})
 52402  	if cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties != nil {
 52403  		objectMap["typeProperties"] = cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties
 52404  	}
 52405  	if cdmdals.ConnectVia != nil {
 52406  		objectMap["connectVia"] = cdmdals.ConnectVia
 52407  	}
 52408  	if cdmdals.Description != nil {
 52409  		objectMap["description"] = cdmdals.Description
 52410  	}
 52411  	if cdmdals.Parameters != nil {
 52412  		objectMap["parameters"] = cdmdals.Parameters
 52413  	}
 52414  	if cdmdals.Annotations != nil {
 52415  		objectMap["annotations"] = cdmdals.Annotations
 52416  	}
 52417  	if cdmdals.Type != "" {
 52418  		objectMap["type"] = cdmdals.Type
 52419  	}
 52420  	for k, v := range cdmdals.AdditionalProperties {
 52421  		objectMap[k] = v
 52422  	}
 52423  	return json.Marshal(objectMap)
 52424  }
 52425  
 52426  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52427  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 52428  	return nil, false
 52429  }
 52430  
 52431  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52432  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 52433  	return nil, false
 52434  }
 52435  
 52436  // AsSapTableLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52437  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 52438  	return nil, false
 52439  }
 52440  
 52441  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52442  func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 52443  	return nil, false
 52444  }
 52445  
 52446  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52447  func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 52448  	return nil, false
 52449  }
 52450  
 52451  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52452  func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 52453  	return nil, false
 52454  }
 52455  
 52456  // AsResponsysLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52457  func (cdmdals CosmosDbMongoDbAPILinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 52458  	return nil, false
 52459  }
 52460  
 52461  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52462  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 52463  	return nil, false
 52464  }
 52465  
 52466  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52467  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 52468  	return nil, false
 52469  }
 52470  
 52471  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52472  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 52473  	return nil, false
 52474  }
 52475  
 52476  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52477  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 52478  	return nil, false
 52479  }
 52480  
 52481  // AsNetezzaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52482  func (cdmdals CosmosDbMongoDbAPILinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 52483  	return nil, false
 52484  }
 52485  
 52486  // AsVerticaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52487  func (cdmdals CosmosDbMongoDbAPILinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 52488  	return nil, false
 52489  }
 52490  
 52491  // AsZohoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52492  func (cdmdals CosmosDbMongoDbAPILinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 52493  	return nil, false
 52494  }
 52495  
 52496  // AsXeroLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52497  func (cdmdals CosmosDbMongoDbAPILinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 52498  	return nil, false
 52499  }
 52500  
 52501  // AsSquareLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52502  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 52503  	return nil, false
 52504  }
 52505  
 52506  // AsSparkLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52507  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 52508  	return nil, false
 52509  }
 52510  
 52511  // AsShopifyLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52512  func (cdmdals CosmosDbMongoDbAPILinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 52513  	return nil, false
 52514  }
 52515  
 52516  // AsServiceNowLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52517  func (cdmdals CosmosDbMongoDbAPILinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 52518  	return nil, false
 52519  }
 52520  
 52521  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52522  func (cdmdals CosmosDbMongoDbAPILinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 52523  	return nil, false
 52524  }
 52525  
 52526  // AsPrestoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52527  func (cdmdals CosmosDbMongoDbAPILinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 52528  	return nil, false
 52529  }
 52530  
 52531  // AsPhoenixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52532  func (cdmdals CosmosDbMongoDbAPILinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 52533  	return nil, false
 52534  }
 52535  
 52536  // AsPaypalLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52537  func (cdmdals CosmosDbMongoDbAPILinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 52538  	return nil, false
 52539  }
 52540  
 52541  // AsMarketoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52542  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 52543  	return nil, false
 52544  }
 52545  
 52546  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52547  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 52548  	return nil, false
 52549  }
 52550  
 52551  // AsMariaDBLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52552  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 52553  	return nil, false
 52554  }
 52555  
 52556  // AsMagentoLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52557  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 52558  	return nil, false
 52559  }
 52560  
 52561  // AsJiraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52562  func (cdmdals CosmosDbMongoDbAPILinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 52563  	return nil, false
 52564  }
 52565  
 52566  // AsImpalaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52567  func (cdmdals CosmosDbMongoDbAPILinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 52568  	return nil, false
 52569  }
 52570  
 52571  // AsHubspotLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52572  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 52573  	return nil, false
 52574  }
 52575  
 52576  // AsHiveLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52577  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 52578  	return nil, false
 52579  }
 52580  
 52581  // AsHBaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52582  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 52583  	return nil, false
 52584  }
 52585  
 52586  // AsGreenplumLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52587  func (cdmdals CosmosDbMongoDbAPILinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 52588  	return nil, false
 52589  }
 52590  
 52591  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52592  func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 52593  	return nil, false
 52594  }
 52595  
 52596  // AsEloquaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52597  func (cdmdals CosmosDbMongoDbAPILinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 52598  	return nil, false
 52599  }
 52600  
 52601  // AsDrillLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52602  func (cdmdals CosmosDbMongoDbAPILinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 52603  	return nil, false
 52604  }
 52605  
 52606  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52607  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 52608  	return nil, false
 52609  }
 52610  
 52611  // AsConcurLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52612  func (cdmdals CosmosDbMongoDbAPILinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 52613  	return nil, false
 52614  }
 52615  
 52616  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52617  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 52618  	return nil, false
 52619  }
 52620  
 52621  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52622  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 52623  	return nil, false
 52624  }
 52625  
 52626  // AsSapHanaLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52627  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 52628  	return nil, false
 52629  }
 52630  
 52631  // AsSapBWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52632  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 52633  	return nil, false
 52634  }
 52635  
 52636  // AsSftpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52637  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 52638  	return nil, false
 52639  }
 52640  
 52641  // AsFtpServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52642  func (cdmdals CosmosDbMongoDbAPILinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 52643  	return nil, false
 52644  }
 52645  
 52646  // AsHTTPLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52647  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 52648  	return nil, false
 52649  }
 52650  
 52651  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52652  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 52653  	return nil, false
 52654  }
 52655  
 52656  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52657  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 52658  	return nil, false
 52659  }
 52660  
 52661  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52662  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 52663  	return nil, false
 52664  }
 52665  
 52666  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52667  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 52668  	return nil, false
 52669  }
 52670  
 52671  // AsRestServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52672  func (cdmdals CosmosDbMongoDbAPILinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 52673  	return nil, false
 52674  }
 52675  
 52676  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52677  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 52678  	return nil, false
 52679  }
 52680  
 52681  // AsSapEccLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52682  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 52683  	return nil, false
 52684  }
 52685  
 52686  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52687  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 52688  	return nil, false
 52689  }
 52690  
 52691  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52692  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 52693  	return nil, false
 52694  }
 52695  
 52696  // AsSalesforceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52697  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 52698  	return nil, false
 52699  }
 52700  
 52701  // AsOffice365LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52702  func (cdmdals CosmosDbMongoDbAPILinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 52703  	return nil, false
 52704  }
 52705  
 52706  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52707  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 52708  	return nil, false
 52709  }
 52710  
 52711  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52712  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 52713  	return nil, false
 52714  }
 52715  
 52716  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52717  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 52718  	return &cdmdals, true
 52719  }
 52720  
 52721  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52722  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 52723  	return nil, false
 52724  }
 52725  
 52726  // AsMongoDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52727  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 52728  	return nil, false
 52729  }
 52730  
 52731  // AsCassandraLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52732  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 52733  	return nil, false
 52734  }
 52735  
 52736  // AsWebLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52737  func (cdmdals CosmosDbMongoDbAPILinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 52738  	return nil, false
 52739  }
 52740  
 52741  // AsODataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52742  func (cdmdals CosmosDbMongoDbAPILinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 52743  	return nil, false
 52744  }
 52745  
 52746  // AsHdfsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52747  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 52748  	return nil, false
 52749  }
 52750  
 52751  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52752  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 52753  	return nil, false
 52754  }
 52755  
 52756  // AsInformixLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52757  func (cdmdals CosmosDbMongoDbAPILinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 52758  	return nil, false
 52759  }
 52760  
 52761  // AsOdbcLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52762  func (cdmdals CosmosDbMongoDbAPILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 52763  	return nil, false
 52764  }
 52765  
 52766  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52767  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 52768  	return nil, false
 52769  }
 52770  
 52771  // AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52772  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 52773  	return nil, false
 52774  }
 52775  
 52776  // AsTeradataLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52777  func (cdmdals CosmosDbMongoDbAPILinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 52778  	return nil, false
 52779  }
 52780  
 52781  // AsDb2LinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52782  func (cdmdals CosmosDbMongoDbAPILinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 52783  	return nil, false
 52784  }
 52785  
 52786  // AsSybaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52787  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 52788  	return nil, false
 52789  }
 52790  
 52791  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52792  func (cdmdals CosmosDbMongoDbAPILinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 52793  	return nil, false
 52794  }
 52795  
 52796  // AsMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52797  func (cdmdals CosmosDbMongoDbAPILinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 52798  	return nil, false
 52799  }
 52800  
 52801  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52802  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 52803  	return nil, false
 52804  }
 52805  
 52806  // AsOracleLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52807  func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 52808  	return nil, false
 52809  }
 52810  
 52811  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52812  func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 52813  	return nil, false
 52814  }
 52815  
 52816  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52817  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 52818  	return nil, false
 52819  }
 52820  
 52821  // AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52822  func (cdmdals CosmosDbMongoDbAPILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 52823  	return nil, false
 52824  }
 52825  
 52826  // AsHDInsightLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52827  func (cdmdals CosmosDbMongoDbAPILinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 52828  	return nil, false
 52829  }
 52830  
 52831  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52832  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 52833  	return nil, false
 52834  }
 52835  
 52836  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52837  func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 52838  	return nil, false
 52839  }
 52840  
 52841  // AsDynamicsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52842  func (cdmdals CosmosDbMongoDbAPILinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 52843  	return nil, false
 52844  }
 52845  
 52846  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52847  func (cdmdals CosmosDbMongoDbAPILinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 52848  	return nil, false
 52849  }
 52850  
 52851  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52852  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 52853  	return nil, false
 52854  }
 52855  
 52856  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52857  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 52858  	return nil, false
 52859  }
 52860  
 52861  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52862  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 52863  	return nil, false
 52864  }
 52865  
 52866  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52867  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 52868  	return nil, false
 52869  }
 52870  
 52871  // AsSQLServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52872  func (cdmdals CosmosDbMongoDbAPILinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 52873  	return nil, false
 52874  }
 52875  
 52876  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52877  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 52878  	return nil, false
 52879  }
 52880  
 52881  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52882  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 52883  	return nil, false
 52884  }
 52885  
 52886  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52887  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 52888  	return nil, false
 52889  }
 52890  
 52891  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52892  func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 52893  	return nil, false
 52894  }
 52895  
 52896  // AsLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52897  func (cdmdals CosmosDbMongoDbAPILinkedService) AsLinkedService() (*LinkedService, bool) {
 52898  	return nil, false
 52899  }
 52900  
 52901  // AsBasicLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService.
 52902  func (cdmdals CosmosDbMongoDbAPILinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 52903  	return &cdmdals, true
 52904  }
 52905  
 52906  // UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPILinkedService struct.
 52907  func (cdmdals *CosmosDbMongoDbAPILinkedService) UnmarshalJSON(body []byte) error {
 52908  	var m map[string]*json.RawMessage
 52909  	err := json.Unmarshal(body, &m)
 52910  	if err != nil {
 52911  		return err
 52912  	}
 52913  	for k, v := range m {
 52914  		switch k {
 52915  		case "typeProperties":
 52916  			if v != nil {
 52917  				var cosmosDbMongoDbAPILinkedServiceTypeProperties CosmosDbMongoDbAPILinkedServiceTypeProperties
 52918  				err = json.Unmarshal(*v, &cosmosDbMongoDbAPILinkedServiceTypeProperties)
 52919  				if err != nil {
 52920  					return err
 52921  				}
 52922  				cdmdals.CosmosDbMongoDbAPILinkedServiceTypeProperties = &cosmosDbMongoDbAPILinkedServiceTypeProperties
 52923  			}
 52924  		default:
 52925  			if v != nil {
 52926  				var additionalProperties interface{}
 52927  				err = json.Unmarshal(*v, &additionalProperties)
 52928  				if err != nil {
 52929  					return err
 52930  				}
 52931  				if cdmdals.AdditionalProperties == nil {
 52932  					cdmdals.AdditionalProperties = make(map[string]interface{})
 52933  				}
 52934  				cdmdals.AdditionalProperties[k] = additionalProperties
 52935  			}
 52936  		case "connectVia":
 52937  			if v != nil {
 52938  				var connectVia IntegrationRuntimeReference
 52939  				err = json.Unmarshal(*v, &connectVia)
 52940  				if err != nil {
 52941  					return err
 52942  				}
 52943  				cdmdals.ConnectVia = &connectVia
 52944  			}
 52945  		case "description":
 52946  			if v != nil {
 52947  				var description string
 52948  				err = json.Unmarshal(*v, &description)
 52949  				if err != nil {
 52950  					return err
 52951  				}
 52952  				cdmdals.Description = &description
 52953  			}
 52954  		case "parameters":
 52955  			if v != nil {
 52956  				var parameters map[string]*ParameterSpecification
 52957  				err = json.Unmarshal(*v, &parameters)
 52958  				if err != nil {
 52959  					return err
 52960  				}
 52961  				cdmdals.Parameters = parameters
 52962  			}
 52963  		case "annotations":
 52964  			if v != nil {
 52965  				var annotations []interface{}
 52966  				err = json.Unmarshal(*v, &annotations)
 52967  				if err != nil {
 52968  					return err
 52969  				}
 52970  				cdmdals.Annotations = &annotations
 52971  			}
 52972  		case "type":
 52973  			if v != nil {
 52974  				var typeVar TypeBasicLinkedService
 52975  				err = json.Unmarshal(*v, &typeVar)
 52976  				if err != nil {
 52977  					return err
 52978  				}
 52979  				cdmdals.Type = typeVar
 52980  			}
 52981  		}
 52982  	}
 52983  
 52984  	return nil
 52985  }
 52986  
 52987  // CosmosDbMongoDbAPILinkedServiceTypeProperties cosmosDB (MongoDB API) linked service properties.
 52988  type CosmosDbMongoDbAPILinkedServiceTypeProperties struct {
 52989  	// ConnectionString - The CosmosDB (MongoDB API) connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
 52990  	ConnectionString interface{} `json:"connectionString,omitempty"`
 52991  	// Database - The name of the CosmosDB (MongoDB API) database that you want to access. Type: string (or Expression with resultType string).
 52992  	Database interface{} `json:"database,omitempty"`
 52993  }
 52994  
 52995  // CosmosDbMongoDbAPISink a copy activity sink for a CosmosDB (MongoDB API) database.
 52996  type CosmosDbMongoDbAPISink struct {
 52997  	// 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).
 52998  	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
 52999  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 53000  	AdditionalProperties map[string]interface{} `json:""`
 53001  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 53002  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 53003  	// 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])).
 53004  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 53005  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 53006  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 53007  	// 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])).
 53008  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 53009  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 53010  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 53011  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 53012  	Type TypeBasicCopySink `json:"type,omitempty"`
 53013  }
 53014  
 53015  // MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISink.
 53016  func (cdmdas CosmosDbMongoDbAPISink) MarshalJSON() ([]byte, error) {
 53017  	cdmdas.Type = TypeCosmosDbMongoDbAPISink
 53018  	objectMap := make(map[string]interface{})
 53019  	if cdmdas.WriteBehavior != nil {
 53020  		objectMap["writeBehavior"] = cdmdas.WriteBehavior
 53021  	}
 53022  	if cdmdas.WriteBatchSize != nil {
 53023  		objectMap["writeBatchSize"] = cdmdas.WriteBatchSize
 53024  	}
 53025  	if cdmdas.WriteBatchTimeout != nil {
 53026  		objectMap["writeBatchTimeout"] = cdmdas.WriteBatchTimeout
 53027  	}
 53028  	if cdmdas.SinkRetryCount != nil {
 53029  		objectMap["sinkRetryCount"] = cdmdas.SinkRetryCount
 53030  	}
 53031  	if cdmdas.SinkRetryWait != nil {
 53032  		objectMap["sinkRetryWait"] = cdmdas.SinkRetryWait
 53033  	}
 53034  	if cdmdas.MaxConcurrentConnections != nil {
 53035  		objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections
 53036  	}
 53037  	if cdmdas.Type != "" {
 53038  		objectMap["type"] = cdmdas.Type
 53039  	}
 53040  	for k, v := range cdmdas.AdditionalProperties {
 53041  		objectMap[k] = v
 53042  	}
 53043  	return json.Marshal(objectMap)
 53044  }
 53045  
 53046  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53047  func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 53048  	return &cdmdas, true
 53049  }
 53050  
 53051  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53052  func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 53053  	return nil, false
 53054  }
 53055  
 53056  // AsSalesforceSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53057  func (cdmdas CosmosDbMongoDbAPISink) AsSalesforceSink() (*SalesforceSink, bool) {
 53058  	return nil, false
 53059  }
 53060  
 53061  // AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53062  func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 53063  	return nil, false
 53064  }
 53065  
 53066  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53067  func (cdmdas CosmosDbMongoDbAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 53068  	return nil, false
 53069  }
 53070  
 53071  // AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53072  func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 53073  	return nil, false
 53074  }
 53075  
 53076  // AsDynamicsSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53077  func (cdmdas CosmosDbMongoDbAPISink) AsDynamicsSink() (*DynamicsSink, bool) {
 53078  	return nil, false
 53079  }
 53080  
 53081  // AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53082  func (cdmdas CosmosDbMongoDbAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 53083  	return nil, false
 53084  }
 53085  
 53086  // AsInformixSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53087  func (cdmdas CosmosDbMongoDbAPISink) AsInformixSink() (*InformixSink, bool) {
 53088  	return nil, false
 53089  }
 53090  
 53091  // AsOdbcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53092  func (cdmdas CosmosDbMongoDbAPISink) AsOdbcSink() (*OdbcSink, bool) {
 53093  	return nil, false
 53094  }
 53095  
 53096  // AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53097  func (cdmdas CosmosDbMongoDbAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 53098  	return nil, false
 53099  }
 53100  
 53101  // AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53102  func (cdmdas CosmosDbMongoDbAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 53103  	return nil, false
 53104  }
 53105  
 53106  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53107  func (cdmdas CosmosDbMongoDbAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 53108  	return nil, false
 53109  }
 53110  
 53111  // AsOracleSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53112  func (cdmdas CosmosDbMongoDbAPISink) AsOracleSink() (*OracleSink, bool) {
 53113  	return nil, false
 53114  }
 53115  
 53116  // AsSQLDWSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53117  func (cdmdas CosmosDbMongoDbAPISink) AsSQLDWSink() (*SQLDWSink, bool) {
 53118  	return nil, false
 53119  }
 53120  
 53121  // AsSQLMISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53122  func (cdmdas CosmosDbMongoDbAPISink) AsSQLMISink() (*SQLMISink, bool) {
 53123  	return nil, false
 53124  }
 53125  
 53126  // AsAzureSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53127  func (cdmdas CosmosDbMongoDbAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 53128  	return nil, false
 53129  }
 53130  
 53131  // AsSQLServerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53132  func (cdmdas CosmosDbMongoDbAPISink) AsSQLServerSink() (*SQLServerSink, bool) {
 53133  	return nil, false
 53134  }
 53135  
 53136  // AsSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53137  func (cdmdas CosmosDbMongoDbAPISink) AsSQLSink() (*SQLSink, bool) {
 53138  	return nil, false
 53139  }
 53140  
 53141  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53142  func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 53143  	return nil, false
 53144  }
 53145  
 53146  // AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53147  func (cdmdas CosmosDbMongoDbAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 53148  	return nil, false
 53149  }
 53150  
 53151  // AsFileSystemSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53152  func (cdmdas CosmosDbMongoDbAPISink) AsFileSystemSink() (*FileSystemSink, bool) {
 53153  	return nil, false
 53154  }
 53155  
 53156  // AsBlobSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53157  func (cdmdas CosmosDbMongoDbAPISink) AsBlobSink() (*BlobSink, bool) {
 53158  	return nil, false
 53159  }
 53160  
 53161  // AsBinarySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53162  func (cdmdas CosmosDbMongoDbAPISink) AsBinarySink() (*BinarySink, bool) {
 53163  	return nil, false
 53164  }
 53165  
 53166  // AsParquetSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53167  func (cdmdas CosmosDbMongoDbAPISink) AsParquetSink() (*ParquetSink, bool) {
 53168  	return nil, false
 53169  }
 53170  
 53171  // AsAvroSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53172  func (cdmdas CosmosDbMongoDbAPISink) AsAvroSink() (*AvroSink, bool) {
 53173  	return nil, false
 53174  }
 53175  
 53176  // AsAzureTableSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53177  func (cdmdas CosmosDbMongoDbAPISink) AsAzureTableSink() (*AzureTableSink, bool) {
 53178  	return nil, false
 53179  }
 53180  
 53181  // AsAzureQueueSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53182  func (cdmdas CosmosDbMongoDbAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 53183  	return nil, false
 53184  }
 53185  
 53186  // AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53187  func (cdmdas CosmosDbMongoDbAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 53188  	return nil, false
 53189  }
 53190  
 53191  // AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53192  func (cdmdas CosmosDbMongoDbAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 53193  	return nil, false
 53194  }
 53195  
 53196  // AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53197  func (cdmdas CosmosDbMongoDbAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 53198  	return nil, false
 53199  }
 53200  
 53201  // AsOrcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53202  func (cdmdas CosmosDbMongoDbAPISink) AsOrcSink() (*OrcSink, bool) {
 53203  	return nil, false
 53204  }
 53205  
 53206  // AsJSONSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53207  func (cdmdas CosmosDbMongoDbAPISink) AsJSONSink() (*JSONSink, bool) {
 53208  	return nil, false
 53209  }
 53210  
 53211  // AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53212  func (cdmdas CosmosDbMongoDbAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 53213  	return nil, false
 53214  }
 53215  
 53216  // AsCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53217  func (cdmdas CosmosDbMongoDbAPISink) AsCopySink() (*CopySink, bool) {
 53218  	return nil, false
 53219  }
 53220  
 53221  // AsBasicCopySink is the BasicCopySink implementation for CosmosDbMongoDbAPISink.
 53222  func (cdmdas CosmosDbMongoDbAPISink) AsBasicCopySink() (BasicCopySink, bool) {
 53223  	return &cdmdas, true
 53224  }
 53225  
 53226  // UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISink struct.
 53227  func (cdmdas *CosmosDbMongoDbAPISink) UnmarshalJSON(body []byte) error {
 53228  	var m map[string]*json.RawMessage
 53229  	err := json.Unmarshal(body, &m)
 53230  	if err != nil {
 53231  		return err
 53232  	}
 53233  	for k, v := range m {
 53234  		switch k {
 53235  		case "writeBehavior":
 53236  			if v != nil {
 53237  				var writeBehavior interface{}
 53238  				err = json.Unmarshal(*v, &writeBehavior)
 53239  				if err != nil {
 53240  					return err
 53241  				}
 53242  				cdmdas.WriteBehavior = writeBehavior
 53243  			}
 53244  		default:
 53245  			if v != nil {
 53246  				var additionalProperties interface{}
 53247  				err = json.Unmarshal(*v, &additionalProperties)
 53248  				if err != nil {
 53249  					return err
 53250  				}
 53251  				if cdmdas.AdditionalProperties == nil {
 53252  					cdmdas.AdditionalProperties = make(map[string]interface{})
 53253  				}
 53254  				cdmdas.AdditionalProperties[k] = additionalProperties
 53255  			}
 53256  		case "writeBatchSize":
 53257  			if v != nil {
 53258  				var writeBatchSize interface{}
 53259  				err = json.Unmarshal(*v, &writeBatchSize)
 53260  				if err != nil {
 53261  					return err
 53262  				}
 53263  				cdmdas.WriteBatchSize = writeBatchSize
 53264  			}
 53265  		case "writeBatchTimeout":
 53266  			if v != nil {
 53267  				var writeBatchTimeout interface{}
 53268  				err = json.Unmarshal(*v, &writeBatchTimeout)
 53269  				if err != nil {
 53270  					return err
 53271  				}
 53272  				cdmdas.WriteBatchTimeout = writeBatchTimeout
 53273  			}
 53274  		case "sinkRetryCount":
 53275  			if v != nil {
 53276  				var sinkRetryCount interface{}
 53277  				err = json.Unmarshal(*v, &sinkRetryCount)
 53278  				if err != nil {
 53279  					return err
 53280  				}
 53281  				cdmdas.SinkRetryCount = sinkRetryCount
 53282  			}
 53283  		case "sinkRetryWait":
 53284  			if v != nil {
 53285  				var sinkRetryWait interface{}
 53286  				err = json.Unmarshal(*v, &sinkRetryWait)
 53287  				if err != nil {
 53288  					return err
 53289  				}
 53290  				cdmdas.SinkRetryWait = sinkRetryWait
 53291  			}
 53292  		case "maxConcurrentConnections":
 53293  			if v != nil {
 53294  				var maxConcurrentConnections interface{}
 53295  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 53296  				if err != nil {
 53297  					return err
 53298  				}
 53299  				cdmdas.MaxConcurrentConnections = maxConcurrentConnections
 53300  			}
 53301  		case "type":
 53302  			if v != nil {
 53303  				var typeVar TypeBasicCopySink
 53304  				err = json.Unmarshal(*v, &typeVar)
 53305  				if err != nil {
 53306  					return err
 53307  				}
 53308  				cdmdas.Type = typeVar
 53309  			}
 53310  		}
 53311  	}
 53312  
 53313  	return nil
 53314  }
 53315  
 53316  // CosmosDbMongoDbAPISource a copy activity source for a CosmosDB (MongoDB API) database.
 53317  type CosmosDbMongoDbAPISource struct {
 53318  	// 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).
 53319  	Filter interface{} `json:"filter,omitempty"`
 53320  	// CursorMethods - Cursor methods for Mongodb query.
 53321  	CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"`
 53322  	// 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).
 53323  	BatchSize interface{} `json:"batchSize,omitempty"`
 53324  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 53325  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 53326  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 53327  	AdditionalProperties map[string]interface{} `json:""`
 53328  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 53329  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 53330  	// 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])).
 53331  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 53332  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 53333  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 53334  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 53335  	Type TypeBasicCopySource `json:"type,omitempty"`
 53336  }
 53337  
 53338  // MarshalJSON is the custom marshaler for CosmosDbMongoDbAPISource.
 53339  func (cdmdas CosmosDbMongoDbAPISource) MarshalJSON() ([]byte, error) {
 53340  	cdmdas.Type = TypeCosmosDbMongoDbAPISource
 53341  	objectMap := make(map[string]interface{})
 53342  	if cdmdas.Filter != nil {
 53343  		objectMap["filter"] = cdmdas.Filter
 53344  	}
 53345  	if cdmdas.CursorMethods != nil {
 53346  		objectMap["cursorMethods"] = cdmdas.CursorMethods
 53347  	}
 53348  	if cdmdas.BatchSize != nil {
 53349  		objectMap["batchSize"] = cdmdas.BatchSize
 53350  	}
 53351  	if cdmdas.QueryTimeout != nil {
 53352  		objectMap["queryTimeout"] = cdmdas.QueryTimeout
 53353  	}
 53354  	if cdmdas.SourceRetryCount != nil {
 53355  		objectMap["sourceRetryCount"] = cdmdas.SourceRetryCount
 53356  	}
 53357  	if cdmdas.SourceRetryWait != nil {
 53358  		objectMap["sourceRetryWait"] = cdmdas.SourceRetryWait
 53359  	}
 53360  	if cdmdas.MaxConcurrentConnections != nil {
 53361  		objectMap["maxConcurrentConnections"] = cdmdas.MaxConcurrentConnections
 53362  	}
 53363  	if cdmdas.Type != "" {
 53364  		objectMap["type"] = cdmdas.Type
 53365  	}
 53366  	for k, v := range cdmdas.AdditionalProperties {
 53367  		objectMap[k] = v
 53368  	}
 53369  	return json.Marshal(objectMap)
 53370  }
 53371  
 53372  // AsHTTPSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53373  func (cdmdas CosmosDbMongoDbAPISource) AsHTTPSource() (*HTTPSource, bool) {
 53374  	return nil, false
 53375  }
 53376  
 53377  // AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53378  func (cdmdas CosmosDbMongoDbAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 53379  	return nil, false
 53380  }
 53381  
 53382  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53383  func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 53384  	return nil, false
 53385  }
 53386  
 53387  // AsOffice365Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53388  func (cdmdas CosmosDbMongoDbAPISource) AsOffice365Source() (*Office365Source, bool) {
 53389  	return nil, false
 53390  }
 53391  
 53392  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53393  func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 53394  	return &cdmdas, true
 53395  }
 53396  
 53397  // AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53398  func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 53399  	return nil, false
 53400  }
 53401  
 53402  // AsMongoDbSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53403  func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbSource() (*MongoDbSource, bool) {
 53404  	return nil, false
 53405  }
 53406  
 53407  // AsWebSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53408  func (cdmdas CosmosDbMongoDbAPISource) AsWebSource() (*WebSource, bool) {
 53409  	return nil, false
 53410  }
 53411  
 53412  // AsOracleSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53413  func (cdmdas CosmosDbMongoDbAPISource) AsOracleSource() (*OracleSource, bool) {
 53414  	return nil, false
 53415  }
 53416  
 53417  // AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53418  func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 53419  	return nil, false
 53420  }
 53421  
 53422  // AsHdfsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53423  func (cdmdas CosmosDbMongoDbAPISource) AsHdfsSource() (*HdfsSource, bool) {
 53424  	return nil, false
 53425  }
 53426  
 53427  // AsFileSystemSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53428  func (cdmdas CosmosDbMongoDbAPISource) AsFileSystemSource() (*FileSystemSource, bool) {
 53429  	return nil, false
 53430  }
 53431  
 53432  // AsRestSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53433  func (cdmdas CosmosDbMongoDbAPISource) AsRestSource() (*RestSource, bool) {
 53434  	return nil, false
 53435  }
 53436  
 53437  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53438  func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 53439  	return nil, false
 53440  }
 53441  
 53442  // AsODataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53443  func (cdmdas CosmosDbMongoDbAPISource) AsODataSource() (*ODataSource, bool) {
 53444  	return nil, false
 53445  }
 53446  
 53447  // AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53448  func (cdmdas CosmosDbMongoDbAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 53449  	return nil, false
 53450  }
 53451  
 53452  // AsRelationalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53453  func (cdmdas CosmosDbMongoDbAPISource) AsRelationalSource() (*RelationalSource, bool) {
 53454  	return nil, false
 53455  }
 53456  
 53457  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53458  func (cdmdas CosmosDbMongoDbAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 53459  	return nil, false
 53460  }
 53461  
 53462  // AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53463  func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 53464  	return nil, false
 53465  }
 53466  
 53467  // AsDynamicsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53468  func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsSource() (*DynamicsSource, bool) {
 53469  	return nil, false
 53470  }
 53471  
 53472  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53473  func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 53474  	return nil, false
 53475  }
 53476  
 53477  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53478  func (cdmdas CosmosDbMongoDbAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 53479  	return nil, false
 53480  }
 53481  
 53482  // AsBlobSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53483  func (cdmdas CosmosDbMongoDbAPISource) AsBlobSource() (*BlobSource, bool) {
 53484  	return nil, false
 53485  }
 53486  
 53487  // AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53488  func (cdmdas CosmosDbMongoDbAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 53489  	return nil, false
 53490  }
 53491  
 53492  // AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53493  func (cdmdas CosmosDbMongoDbAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 53494  	return nil, false
 53495  }
 53496  
 53497  // AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53498  func (cdmdas CosmosDbMongoDbAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 53499  	return nil, false
 53500  }
 53501  
 53502  // AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53503  func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 53504  	return nil, false
 53505  }
 53506  
 53507  // AsResponsysSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53508  func (cdmdas CosmosDbMongoDbAPISource) AsResponsysSource() (*ResponsysSource, bool) {
 53509  	return nil, false
 53510  }
 53511  
 53512  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53513  func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 53514  	return nil, false
 53515  }
 53516  
 53517  // AsVerticaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53518  func (cdmdas CosmosDbMongoDbAPISource) AsVerticaSource() (*VerticaSource, bool) {
 53519  	return nil, false
 53520  }
 53521  
 53522  // AsNetezzaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53523  func (cdmdas CosmosDbMongoDbAPISource) AsNetezzaSource() (*NetezzaSource, bool) {
 53524  	return nil, false
 53525  }
 53526  
 53527  // AsZohoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53528  func (cdmdas CosmosDbMongoDbAPISource) AsZohoSource() (*ZohoSource, bool) {
 53529  	return nil, false
 53530  }
 53531  
 53532  // AsXeroSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53533  func (cdmdas CosmosDbMongoDbAPISource) AsXeroSource() (*XeroSource, bool) {
 53534  	return nil, false
 53535  }
 53536  
 53537  // AsSquareSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53538  func (cdmdas CosmosDbMongoDbAPISource) AsSquareSource() (*SquareSource, bool) {
 53539  	return nil, false
 53540  }
 53541  
 53542  // AsSparkSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53543  func (cdmdas CosmosDbMongoDbAPISource) AsSparkSource() (*SparkSource, bool) {
 53544  	return nil, false
 53545  }
 53546  
 53547  // AsShopifySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53548  func (cdmdas CosmosDbMongoDbAPISource) AsShopifySource() (*ShopifySource, bool) {
 53549  	return nil, false
 53550  }
 53551  
 53552  // AsServiceNowSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53553  func (cdmdas CosmosDbMongoDbAPISource) AsServiceNowSource() (*ServiceNowSource, bool) {
 53554  	return nil, false
 53555  }
 53556  
 53557  // AsQuickBooksSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53558  func (cdmdas CosmosDbMongoDbAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 53559  	return nil, false
 53560  }
 53561  
 53562  // AsPrestoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53563  func (cdmdas CosmosDbMongoDbAPISource) AsPrestoSource() (*PrestoSource, bool) {
 53564  	return nil, false
 53565  }
 53566  
 53567  // AsPhoenixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53568  func (cdmdas CosmosDbMongoDbAPISource) AsPhoenixSource() (*PhoenixSource, bool) {
 53569  	return nil, false
 53570  }
 53571  
 53572  // AsPaypalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53573  func (cdmdas CosmosDbMongoDbAPISource) AsPaypalSource() (*PaypalSource, bool) {
 53574  	return nil, false
 53575  }
 53576  
 53577  // AsMarketoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53578  func (cdmdas CosmosDbMongoDbAPISource) AsMarketoSource() (*MarketoSource, bool) {
 53579  	return nil, false
 53580  }
 53581  
 53582  // AsAzureMariaDBSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53583  func (cdmdas CosmosDbMongoDbAPISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 53584  	return nil, false
 53585  }
 53586  
 53587  // AsMariaDBSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53588  func (cdmdas CosmosDbMongoDbAPISource) AsMariaDBSource() (*MariaDBSource, bool) {
 53589  	return nil, false
 53590  }
 53591  
 53592  // AsMagentoSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53593  func (cdmdas CosmosDbMongoDbAPISource) AsMagentoSource() (*MagentoSource, bool) {
 53594  	return nil, false
 53595  }
 53596  
 53597  // AsJiraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53598  func (cdmdas CosmosDbMongoDbAPISource) AsJiraSource() (*JiraSource, bool) {
 53599  	return nil, false
 53600  }
 53601  
 53602  // AsImpalaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53603  func (cdmdas CosmosDbMongoDbAPISource) AsImpalaSource() (*ImpalaSource, bool) {
 53604  	return nil, false
 53605  }
 53606  
 53607  // AsHubspotSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53608  func (cdmdas CosmosDbMongoDbAPISource) AsHubspotSource() (*HubspotSource, bool) {
 53609  	return nil, false
 53610  }
 53611  
 53612  // AsHiveSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53613  func (cdmdas CosmosDbMongoDbAPISource) AsHiveSource() (*HiveSource, bool) {
 53614  	return nil, false
 53615  }
 53616  
 53617  // AsHBaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53618  func (cdmdas CosmosDbMongoDbAPISource) AsHBaseSource() (*HBaseSource, bool) {
 53619  	return nil, false
 53620  }
 53621  
 53622  // AsGreenplumSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53623  func (cdmdas CosmosDbMongoDbAPISource) AsGreenplumSource() (*GreenplumSource, bool) {
 53624  	return nil, false
 53625  }
 53626  
 53627  // AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53628  func (cdmdas CosmosDbMongoDbAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 53629  	return nil, false
 53630  }
 53631  
 53632  // AsEloquaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53633  func (cdmdas CosmosDbMongoDbAPISource) AsEloquaSource() (*EloquaSource, bool) {
 53634  	return nil, false
 53635  }
 53636  
 53637  // AsDrillSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53638  func (cdmdas CosmosDbMongoDbAPISource) AsDrillSource() (*DrillSource, bool) {
 53639  	return nil, false
 53640  }
 53641  
 53642  // AsCouchbaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53643  func (cdmdas CosmosDbMongoDbAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 53644  	return nil, false
 53645  }
 53646  
 53647  // AsConcurSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53648  func (cdmdas CosmosDbMongoDbAPISource) AsConcurSource() (*ConcurSource, bool) {
 53649  	return nil, false
 53650  }
 53651  
 53652  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53653  func (cdmdas CosmosDbMongoDbAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 53654  	return nil, false
 53655  }
 53656  
 53657  // AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53658  func (cdmdas CosmosDbMongoDbAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 53659  	return nil, false
 53660  }
 53661  
 53662  // AsCassandraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53663  func (cdmdas CosmosDbMongoDbAPISource) AsCassandraSource() (*CassandraSource, bool) {
 53664  	return nil, false
 53665  }
 53666  
 53667  // AsTeradataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53668  func (cdmdas CosmosDbMongoDbAPISource) AsTeradataSource() (*TeradataSource, bool) {
 53669  	return nil, false
 53670  }
 53671  
 53672  // AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53673  func (cdmdas CosmosDbMongoDbAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 53674  	return nil, false
 53675  }
 53676  
 53677  // AsSQLDWSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53678  func (cdmdas CosmosDbMongoDbAPISource) AsSQLDWSource() (*SQLDWSource, bool) {
 53679  	return nil, false
 53680  }
 53681  
 53682  // AsSQLMISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53683  func (cdmdas CosmosDbMongoDbAPISource) AsSQLMISource() (*SQLMISource, bool) {
 53684  	return nil, false
 53685  }
 53686  
 53687  // AsAzureSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53688  func (cdmdas CosmosDbMongoDbAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 53689  	return nil, false
 53690  }
 53691  
 53692  // AsSQLServerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53693  func (cdmdas CosmosDbMongoDbAPISource) AsSQLServerSource() (*SQLServerSource, bool) {
 53694  	return nil, false
 53695  }
 53696  
 53697  // AsSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53698  func (cdmdas CosmosDbMongoDbAPISource) AsSQLSource() (*SQLSource, bool) {
 53699  	return nil, false
 53700  }
 53701  
 53702  // AsSapTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53703  func (cdmdas CosmosDbMongoDbAPISource) AsSapTableSource() (*SapTableSource, bool) {
 53704  	return nil, false
 53705  }
 53706  
 53707  // AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53708  func (cdmdas CosmosDbMongoDbAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 53709  	return nil, false
 53710  }
 53711  
 53712  // AsSapHanaSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53713  func (cdmdas CosmosDbMongoDbAPISource) AsSapHanaSource() (*SapHanaSource, bool) {
 53714  	return nil, false
 53715  }
 53716  
 53717  // AsSapEccSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53718  func (cdmdas CosmosDbMongoDbAPISource) AsSapEccSource() (*SapEccSource, bool) {
 53719  	return nil, false
 53720  }
 53721  
 53722  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53723  func (cdmdas CosmosDbMongoDbAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 53724  	return nil, false
 53725  }
 53726  
 53727  // AsSalesforceSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53728  func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceSource() (*SalesforceSource, bool) {
 53729  	return nil, false
 53730  }
 53731  
 53732  // AsSapBwSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53733  func (cdmdas CosmosDbMongoDbAPISource) AsSapBwSource() (*SapBwSource, bool) {
 53734  	return nil, false
 53735  }
 53736  
 53737  // AsSybaseSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53738  func (cdmdas CosmosDbMongoDbAPISource) AsSybaseSource() (*SybaseSource, bool) {
 53739  	return nil, false
 53740  }
 53741  
 53742  // AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53743  func (cdmdas CosmosDbMongoDbAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 53744  	return nil, false
 53745  }
 53746  
 53747  // AsMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53748  func (cdmdas CosmosDbMongoDbAPISource) AsMySQLSource() (*MySQLSource, bool) {
 53749  	return nil, false
 53750  }
 53751  
 53752  // AsOdbcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53753  func (cdmdas CosmosDbMongoDbAPISource) AsOdbcSource() (*OdbcSource, bool) {
 53754  	return nil, false
 53755  }
 53756  
 53757  // AsDb2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53758  func (cdmdas CosmosDbMongoDbAPISource) AsDb2Source() (*Db2Source, bool) {
 53759  	return nil, false
 53760  }
 53761  
 53762  // AsInformixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53763  func (cdmdas CosmosDbMongoDbAPISource) AsInformixSource() (*InformixSource, bool) {
 53764  	return nil, false
 53765  }
 53766  
 53767  // AsAzureTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53768  func (cdmdas CosmosDbMongoDbAPISource) AsAzureTableSource() (*AzureTableSource, bool) {
 53769  	return nil, false
 53770  }
 53771  
 53772  // AsTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53773  func (cdmdas CosmosDbMongoDbAPISource) AsTabularSource() (*TabularSource, bool) {
 53774  	return nil, false
 53775  }
 53776  
 53777  // AsBasicTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53778  func (cdmdas CosmosDbMongoDbAPISource) AsBasicTabularSource() (BasicTabularSource, bool) {
 53779  	return nil, false
 53780  }
 53781  
 53782  // AsBinarySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53783  func (cdmdas CosmosDbMongoDbAPISource) AsBinarySource() (*BinarySource, bool) {
 53784  	return nil, false
 53785  }
 53786  
 53787  // AsOrcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53788  func (cdmdas CosmosDbMongoDbAPISource) AsOrcSource() (*OrcSource, bool) {
 53789  	return nil, false
 53790  }
 53791  
 53792  // AsJSONSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53793  func (cdmdas CosmosDbMongoDbAPISource) AsJSONSource() (*JSONSource, bool) {
 53794  	return nil, false
 53795  }
 53796  
 53797  // AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53798  func (cdmdas CosmosDbMongoDbAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 53799  	return nil, false
 53800  }
 53801  
 53802  // AsParquetSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53803  func (cdmdas CosmosDbMongoDbAPISource) AsParquetSource() (*ParquetSource, bool) {
 53804  	return nil, false
 53805  }
 53806  
 53807  // AsAvroSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53808  func (cdmdas CosmosDbMongoDbAPISource) AsAvroSource() (*AvroSource, bool) {
 53809  	return nil, false
 53810  }
 53811  
 53812  // AsCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53813  func (cdmdas CosmosDbMongoDbAPISource) AsCopySource() (*CopySource, bool) {
 53814  	return nil, false
 53815  }
 53816  
 53817  // AsBasicCopySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource.
 53818  func (cdmdas CosmosDbMongoDbAPISource) AsBasicCopySource() (BasicCopySource, bool) {
 53819  	return &cdmdas, true
 53820  }
 53821  
 53822  // UnmarshalJSON is the custom unmarshaler for CosmosDbMongoDbAPISource struct.
 53823  func (cdmdas *CosmosDbMongoDbAPISource) UnmarshalJSON(body []byte) error {
 53824  	var m map[string]*json.RawMessage
 53825  	err := json.Unmarshal(body, &m)
 53826  	if err != nil {
 53827  		return err
 53828  	}
 53829  	for k, v := range m {
 53830  		switch k {
 53831  		case "filter":
 53832  			if v != nil {
 53833  				var filter interface{}
 53834  				err = json.Unmarshal(*v, &filter)
 53835  				if err != nil {
 53836  					return err
 53837  				}
 53838  				cdmdas.Filter = filter
 53839  			}
 53840  		case "cursorMethods":
 53841  			if v != nil {
 53842  				var cursorMethods MongoDbCursorMethodsProperties
 53843  				err = json.Unmarshal(*v, &cursorMethods)
 53844  				if err != nil {
 53845  					return err
 53846  				}
 53847  				cdmdas.CursorMethods = &cursorMethods
 53848  			}
 53849  		case "batchSize":
 53850  			if v != nil {
 53851  				var batchSize interface{}
 53852  				err = json.Unmarshal(*v, &batchSize)
 53853  				if err != nil {
 53854  					return err
 53855  				}
 53856  				cdmdas.BatchSize = batchSize
 53857  			}
 53858  		case "queryTimeout":
 53859  			if v != nil {
 53860  				var queryTimeout interface{}
 53861  				err = json.Unmarshal(*v, &queryTimeout)
 53862  				if err != nil {
 53863  					return err
 53864  				}
 53865  				cdmdas.QueryTimeout = queryTimeout
 53866  			}
 53867  		default:
 53868  			if v != nil {
 53869  				var additionalProperties interface{}
 53870  				err = json.Unmarshal(*v, &additionalProperties)
 53871  				if err != nil {
 53872  					return err
 53873  				}
 53874  				if cdmdas.AdditionalProperties == nil {
 53875  					cdmdas.AdditionalProperties = make(map[string]interface{})
 53876  				}
 53877  				cdmdas.AdditionalProperties[k] = additionalProperties
 53878  			}
 53879  		case "sourceRetryCount":
 53880  			if v != nil {
 53881  				var sourceRetryCount interface{}
 53882  				err = json.Unmarshal(*v, &sourceRetryCount)
 53883  				if err != nil {
 53884  					return err
 53885  				}
 53886  				cdmdas.SourceRetryCount = sourceRetryCount
 53887  			}
 53888  		case "sourceRetryWait":
 53889  			if v != nil {
 53890  				var sourceRetryWait interface{}
 53891  				err = json.Unmarshal(*v, &sourceRetryWait)
 53892  				if err != nil {
 53893  					return err
 53894  				}
 53895  				cdmdas.SourceRetryWait = sourceRetryWait
 53896  			}
 53897  		case "maxConcurrentConnections":
 53898  			if v != nil {
 53899  				var maxConcurrentConnections interface{}
 53900  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 53901  				if err != nil {
 53902  					return err
 53903  				}
 53904  				cdmdas.MaxConcurrentConnections = maxConcurrentConnections
 53905  			}
 53906  		case "type":
 53907  			if v != nil {
 53908  				var typeVar TypeBasicCopySource
 53909  				err = json.Unmarshal(*v, &typeVar)
 53910  				if err != nil {
 53911  					return err
 53912  				}
 53913  				cdmdas.Type = typeVar
 53914  			}
 53915  		}
 53916  	}
 53917  
 53918  	return nil
 53919  }
 53920  
 53921  // CosmosDbSQLAPICollectionDataset microsoft Azure CosmosDB (SQL API) Collection dataset.
 53922  type CosmosDbSQLAPICollectionDataset struct {
 53923  	// CosmosDbSQLAPICollectionDatasetTypeProperties - CosmosDB (SQL API) Collection dataset properties.
 53924  	*CosmosDbSQLAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
 53925  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 53926  	AdditionalProperties map[string]interface{} `json:""`
 53927  	// Description - Dataset description.
 53928  	Description *string `json:"description,omitempty"`
 53929  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 53930  	Structure interface{} `json:"structure,omitempty"`
 53931  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 53932  	Schema interface{} `json:"schema,omitempty"`
 53933  	// LinkedServiceName - Linked service reference.
 53934  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 53935  	// Parameters - Parameters for dataset.
 53936  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 53937  	// Annotations - List of tags that can be used for describing the Dataset.
 53938  	Annotations *[]interface{} `json:"annotations,omitempty"`
 53939  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 53940  	Folder *DatasetFolder `json:"folder,omitempty"`
 53941  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 53942  	Type TypeBasicDataset `json:"type,omitempty"`
 53943  }
 53944  
 53945  // MarshalJSON is the custom marshaler for CosmosDbSQLAPICollectionDataset.
 53946  func (cdsacd CosmosDbSQLAPICollectionDataset) MarshalJSON() ([]byte, error) {
 53947  	cdsacd.Type = TypeCosmosDbSQLAPICollection
 53948  	objectMap := make(map[string]interface{})
 53949  	if cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties != nil {
 53950  		objectMap["typeProperties"] = cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties
 53951  	}
 53952  	if cdsacd.Description != nil {
 53953  		objectMap["description"] = cdsacd.Description
 53954  	}
 53955  	if cdsacd.Structure != nil {
 53956  		objectMap["structure"] = cdsacd.Structure
 53957  	}
 53958  	if cdsacd.Schema != nil {
 53959  		objectMap["schema"] = cdsacd.Schema
 53960  	}
 53961  	if cdsacd.LinkedServiceName != nil {
 53962  		objectMap["linkedServiceName"] = cdsacd.LinkedServiceName
 53963  	}
 53964  	if cdsacd.Parameters != nil {
 53965  		objectMap["parameters"] = cdsacd.Parameters
 53966  	}
 53967  	if cdsacd.Annotations != nil {
 53968  		objectMap["annotations"] = cdsacd.Annotations
 53969  	}
 53970  	if cdsacd.Folder != nil {
 53971  		objectMap["folder"] = cdsacd.Folder
 53972  	}
 53973  	if cdsacd.Type != "" {
 53974  		objectMap["type"] = cdsacd.Type
 53975  	}
 53976  	for k, v := range cdsacd.AdditionalProperties {
 53977  		objectMap[k] = v
 53978  	}
 53979  	return json.Marshal(objectMap)
 53980  }
 53981  
 53982  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 53983  func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 53984  	return nil, false
 53985  }
 53986  
 53987  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 53988  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 53989  	return nil, false
 53990  }
 53991  
 53992  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 53993  func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 53994  	return nil, false
 53995  }
 53996  
 53997  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 53998  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 53999  	return nil, false
 54000  }
 54001  
 54002  // AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54003  func (cdsacd CosmosDbSQLAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 54004  	return nil, false
 54005  }
 54006  
 54007  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54008  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 54009  	return nil, false
 54010  }
 54011  
 54012  // AsVerticaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54013  func (cdsacd CosmosDbSQLAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 54014  	return nil, false
 54015  }
 54016  
 54017  // AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54018  func (cdsacd CosmosDbSQLAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 54019  	return nil, false
 54020  }
 54021  
 54022  // AsZohoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54023  func (cdsacd CosmosDbSQLAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 54024  	return nil, false
 54025  }
 54026  
 54027  // AsXeroObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54028  func (cdsacd CosmosDbSQLAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 54029  	return nil, false
 54030  }
 54031  
 54032  // AsSquareObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54033  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 54034  	return nil, false
 54035  }
 54036  
 54037  // AsSparkObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54038  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 54039  	return nil, false
 54040  }
 54041  
 54042  // AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54043  func (cdsacd CosmosDbSQLAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 54044  	return nil, false
 54045  }
 54046  
 54047  // AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54048  func (cdsacd CosmosDbSQLAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 54049  	return nil, false
 54050  }
 54051  
 54052  // AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54053  func (cdsacd CosmosDbSQLAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 54054  	return nil, false
 54055  }
 54056  
 54057  // AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54058  func (cdsacd CosmosDbSQLAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 54059  	return nil, false
 54060  }
 54061  
 54062  // AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54063  func (cdsacd CosmosDbSQLAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 54064  	return nil, false
 54065  }
 54066  
 54067  // AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54068  func (cdsacd CosmosDbSQLAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 54069  	return nil, false
 54070  }
 54071  
 54072  // AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54073  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 54074  	return nil, false
 54075  }
 54076  
 54077  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54078  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 54079  	return nil, false
 54080  }
 54081  
 54082  // AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54083  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 54084  	return nil, false
 54085  }
 54086  
 54087  // AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54088  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 54089  	return nil, false
 54090  }
 54091  
 54092  // AsJiraObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54093  func (cdsacd CosmosDbSQLAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 54094  	return nil, false
 54095  }
 54096  
 54097  // AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54098  func (cdsacd CosmosDbSQLAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 54099  	return nil, false
 54100  }
 54101  
 54102  // AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54103  func (cdsacd CosmosDbSQLAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 54104  	return nil, false
 54105  }
 54106  
 54107  // AsHiveObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54108  func (cdsacd CosmosDbSQLAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 54109  	return nil, false
 54110  }
 54111  
 54112  // AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54113  func (cdsacd CosmosDbSQLAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 54114  	return nil, false
 54115  }
 54116  
 54117  // AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54118  func (cdsacd CosmosDbSQLAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 54119  	return nil, false
 54120  }
 54121  
 54122  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54123  func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 54124  	return nil, false
 54125  }
 54126  
 54127  // AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54128  func (cdsacd CosmosDbSQLAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 54129  	return nil, false
 54130  }
 54131  
 54132  // AsDrillTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54133  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 54134  	return nil, false
 54135  }
 54136  
 54137  // AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54138  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 54139  	return nil, false
 54140  }
 54141  
 54142  // AsConcurObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54143  func (cdsacd CosmosDbSQLAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 54144  	return nil, false
 54145  }
 54146  
 54147  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54148  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 54149  	return nil, false
 54150  }
 54151  
 54152  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54153  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 54154  	return nil, false
 54155  }
 54156  
 54157  // AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54158  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 54159  	return nil, false
 54160  }
 54161  
 54162  // AsWebTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54163  func (cdsacd CosmosDbSQLAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 54164  	return nil, false
 54165  }
 54166  
 54167  // AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54168  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 54169  	return nil, false
 54170  }
 54171  
 54172  // AsRestResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54173  func (cdsacd CosmosDbSQLAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 54174  	return nil, false
 54175  }
 54176  
 54177  // AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54178  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 54179  	return nil, false
 54180  }
 54181  
 54182  // AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54183  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 54184  	return nil, false
 54185  }
 54186  
 54187  // AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54188  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 54189  	return nil, false
 54190  }
 54191  
 54192  // AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54193  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 54194  	return nil, false
 54195  }
 54196  
 54197  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54198  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 54199  	return nil, false
 54200  }
 54201  
 54202  // AsSapBwCubeDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54203  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 54204  	return nil, false
 54205  }
 54206  
 54207  // AsSybaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54208  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 54209  	return nil, false
 54210  }
 54211  
 54212  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54213  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 54214  	return nil, false
 54215  }
 54216  
 54217  // AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54218  func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 54219  	return nil, false
 54220  }
 54221  
 54222  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54223  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 54224  	return nil, false
 54225  }
 54226  
 54227  // AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54228  func (cdsacd CosmosDbSQLAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 54229  	return nil, false
 54230  }
 54231  
 54232  // AsMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54233  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 54234  	return nil, false
 54235  }
 54236  
 54237  // AsOdbcTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54238  func (cdsacd CosmosDbSQLAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 54239  	return nil, false
 54240  }
 54241  
 54242  // AsInformixTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54243  func (cdsacd CosmosDbSQLAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 54244  	return nil, false
 54245  }
 54246  
 54247  // AsRelationalTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54248  func (cdsacd CosmosDbSQLAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 54249  	return nil, false
 54250  }
 54251  
 54252  // AsDb2TableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54253  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 54254  	return nil, false
 54255  }
 54256  
 54257  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54258  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 54259  	return nil, false
 54260  }
 54261  
 54262  // AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54263  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 54264  	return nil, false
 54265  }
 54266  
 54267  // AsTeradataTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54268  func (cdsacd CosmosDbSQLAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 54269  	return nil, false
 54270  }
 54271  
 54272  // AsOracleTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54273  func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 54274  	return nil, false
 54275  }
 54276  
 54277  // AsODataResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54278  func (cdsacd CosmosDbSQLAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 54279  	return nil, false
 54280  }
 54281  
 54282  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54283  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 54284  	return nil, false
 54285  }
 54286  
 54287  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54288  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 54289  	return nil, false
 54290  }
 54291  
 54292  // AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54293  func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 54294  	return nil, false
 54295  }
 54296  
 54297  // AsOffice365Dataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54298  func (cdsacd CosmosDbSQLAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 54299  	return nil, false
 54300  }
 54301  
 54302  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54303  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 54304  	return nil, false
 54305  }
 54306  
 54307  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54308  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 54309  	return nil, false
 54310  }
 54311  
 54312  // AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54313  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 54314  	return nil, false
 54315  }
 54316  
 54317  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54318  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 54319  	return nil, false
 54320  }
 54321  
 54322  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54323  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 54324  	return &cdsacd, true
 54325  }
 54326  
 54327  // AsCustomDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54328  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
 54329  	return nil, false
 54330  }
 54331  
 54332  // AsCassandraTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54333  func (cdsacd CosmosDbSQLAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 54334  	return nil, false
 54335  }
 54336  
 54337  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54338  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 54339  	return nil, false
 54340  }
 54341  
 54342  // AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54343  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 54344  	return nil, false
 54345  }
 54346  
 54347  // AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54348  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 54349  	return nil, false
 54350  }
 54351  
 54352  // AsAzureTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54353  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 54354  	return nil, false
 54355  }
 54356  
 54357  // AsBinaryDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54358  func (cdsacd CosmosDbSQLAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 54359  	return nil, false
 54360  }
 54361  
 54362  // AsOrcDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54363  func (cdsacd CosmosDbSQLAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) {
 54364  	return nil, false
 54365  }
 54366  
 54367  // AsJSONDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54368  func (cdsacd CosmosDbSQLAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) {
 54369  	return nil, false
 54370  }
 54371  
 54372  // AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54373  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 54374  	return nil, false
 54375  }
 54376  
 54377  // AsParquetDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54378  func (cdsacd CosmosDbSQLAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
 54379  	return nil, false
 54380  }
 54381  
 54382  // AsAvroDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54383  func (cdsacd CosmosDbSQLAPICollectionDataset) AsAvroDataset() (*AvroDataset, bool) {
 54384  	return nil, false
 54385  }
 54386  
 54387  // AsDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54388  func (cdsacd CosmosDbSQLAPICollectionDataset) AsDataset() (*Dataset, bool) {
 54389  	return nil, false
 54390  }
 54391  
 54392  // AsBasicDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset.
 54393  func (cdsacd CosmosDbSQLAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) {
 54394  	return &cdsacd, true
 54395  }
 54396  
 54397  // UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPICollectionDataset struct.
 54398  func (cdsacd *CosmosDbSQLAPICollectionDataset) UnmarshalJSON(body []byte) error {
 54399  	var m map[string]*json.RawMessage
 54400  	err := json.Unmarshal(body, &m)
 54401  	if err != nil {
 54402  		return err
 54403  	}
 54404  	for k, v := range m {
 54405  		switch k {
 54406  		case "typeProperties":
 54407  			if v != nil {
 54408  				var cosmosDbSQLAPICollectionDatasetTypeProperties CosmosDbSQLAPICollectionDatasetTypeProperties
 54409  				err = json.Unmarshal(*v, &cosmosDbSQLAPICollectionDatasetTypeProperties)
 54410  				if err != nil {
 54411  					return err
 54412  				}
 54413  				cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties = &cosmosDbSQLAPICollectionDatasetTypeProperties
 54414  			}
 54415  		default:
 54416  			if v != nil {
 54417  				var additionalProperties interface{}
 54418  				err = json.Unmarshal(*v, &additionalProperties)
 54419  				if err != nil {
 54420  					return err
 54421  				}
 54422  				if cdsacd.AdditionalProperties == nil {
 54423  					cdsacd.AdditionalProperties = make(map[string]interface{})
 54424  				}
 54425  				cdsacd.AdditionalProperties[k] = additionalProperties
 54426  			}
 54427  		case "description":
 54428  			if v != nil {
 54429  				var description string
 54430  				err = json.Unmarshal(*v, &description)
 54431  				if err != nil {
 54432  					return err
 54433  				}
 54434  				cdsacd.Description = &description
 54435  			}
 54436  		case "structure":
 54437  			if v != nil {
 54438  				var structure interface{}
 54439  				err = json.Unmarshal(*v, &structure)
 54440  				if err != nil {
 54441  					return err
 54442  				}
 54443  				cdsacd.Structure = structure
 54444  			}
 54445  		case "schema":
 54446  			if v != nil {
 54447  				var schema interface{}
 54448  				err = json.Unmarshal(*v, &schema)
 54449  				if err != nil {
 54450  					return err
 54451  				}
 54452  				cdsacd.Schema = schema
 54453  			}
 54454  		case "linkedServiceName":
 54455  			if v != nil {
 54456  				var linkedServiceName LinkedServiceReference
 54457  				err = json.Unmarshal(*v, &linkedServiceName)
 54458  				if err != nil {
 54459  					return err
 54460  				}
 54461  				cdsacd.LinkedServiceName = &linkedServiceName
 54462  			}
 54463  		case "parameters":
 54464  			if v != nil {
 54465  				var parameters map[string]*ParameterSpecification
 54466  				err = json.Unmarshal(*v, &parameters)
 54467  				if err != nil {
 54468  					return err
 54469  				}
 54470  				cdsacd.Parameters = parameters
 54471  			}
 54472  		case "annotations":
 54473  			if v != nil {
 54474  				var annotations []interface{}
 54475  				err = json.Unmarshal(*v, &annotations)
 54476  				if err != nil {
 54477  					return err
 54478  				}
 54479  				cdsacd.Annotations = &annotations
 54480  			}
 54481  		case "folder":
 54482  			if v != nil {
 54483  				var folder DatasetFolder
 54484  				err = json.Unmarshal(*v, &folder)
 54485  				if err != nil {
 54486  					return err
 54487  				}
 54488  				cdsacd.Folder = &folder
 54489  			}
 54490  		case "type":
 54491  			if v != nil {
 54492  				var typeVar TypeBasicDataset
 54493  				err = json.Unmarshal(*v, &typeVar)
 54494  				if err != nil {
 54495  					return err
 54496  				}
 54497  				cdsacd.Type = typeVar
 54498  			}
 54499  		}
 54500  	}
 54501  
 54502  	return nil
 54503  }
 54504  
 54505  // CosmosDbSQLAPICollectionDatasetTypeProperties cosmosDB (SQL API) Collection dataset properties.
 54506  type CosmosDbSQLAPICollectionDatasetTypeProperties struct {
 54507  	// CollectionName - CosmosDB (SQL API) collection name. Type: string (or Expression with resultType string).
 54508  	CollectionName interface{} `json:"collectionName,omitempty"`
 54509  }
 54510  
 54511  // CosmosDbSQLAPISink a copy activity Azure CosmosDB (SQL API) Collection sink.
 54512  type CosmosDbSQLAPISink struct {
 54513  	// WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert.
 54514  	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
 54515  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 54516  	AdditionalProperties map[string]interface{} `json:""`
 54517  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 54518  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 54519  	// 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])).
 54520  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 54521  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 54522  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 54523  	// 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])).
 54524  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 54525  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 54526  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 54527  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 54528  	Type TypeBasicCopySink `json:"type,omitempty"`
 54529  }
 54530  
 54531  // MarshalJSON is the custom marshaler for CosmosDbSQLAPISink.
 54532  func (cdsas CosmosDbSQLAPISink) MarshalJSON() ([]byte, error) {
 54533  	cdsas.Type = TypeCosmosDbSQLAPISink
 54534  	objectMap := make(map[string]interface{})
 54535  	if cdsas.WriteBehavior != nil {
 54536  		objectMap["writeBehavior"] = cdsas.WriteBehavior
 54537  	}
 54538  	if cdsas.WriteBatchSize != nil {
 54539  		objectMap["writeBatchSize"] = cdsas.WriteBatchSize
 54540  	}
 54541  	if cdsas.WriteBatchTimeout != nil {
 54542  		objectMap["writeBatchTimeout"] = cdsas.WriteBatchTimeout
 54543  	}
 54544  	if cdsas.SinkRetryCount != nil {
 54545  		objectMap["sinkRetryCount"] = cdsas.SinkRetryCount
 54546  	}
 54547  	if cdsas.SinkRetryWait != nil {
 54548  		objectMap["sinkRetryWait"] = cdsas.SinkRetryWait
 54549  	}
 54550  	if cdsas.MaxConcurrentConnections != nil {
 54551  		objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections
 54552  	}
 54553  	if cdsas.Type != "" {
 54554  		objectMap["type"] = cdsas.Type
 54555  	}
 54556  	for k, v := range cdsas.AdditionalProperties {
 54557  		objectMap[k] = v
 54558  	}
 54559  	return json.Marshal(objectMap)
 54560  }
 54561  
 54562  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54563  func (cdsas CosmosDbSQLAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 54564  	return nil, false
 54565  }
 54566  
 54567  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54568  func (cdsas CosmosDbSQLAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 54569  	return nil, false
 54570  }
 54571  
 54572  // AsSalesforceSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54573  func (cdsas CosmosDbSQLAPISink) AsSalesforceSink() (*SalesforceSink, bool) {
 54574  	return nil, false
 54575  }
 54576  
 54577  // AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54578  func (cdsas CosmosDbSQLAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 54579  	return nil, false
 54580  }
 54581  
 54582  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54583  func (cdsas CosmosDbSQLAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 54584  	return nil, false
 54585  }
 54586  
 54587  // AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54588  func (cdsas CosmosDbSQLAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 54589  	return nil, false
 54590  }
 54591  
 54592  // AsDynamicsSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54593  func (cdsas CosmosDbSQLAPISink) AsDynamicsSink() (*DynamicsSink, bool) {
 54594  	return nil, false
 54595  }
 54596  
 54597  // AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54598  func (cdsas CosmosDbSQLAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 54599  	return nil, false
 54600  }
 54601  
 54602  // AsInformixSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54603  func (cdsas CosmosDbSQLAPISink) AsInformixSink() (*InformixSink, bool) {
 54604  	return nil, false
 54605  }
 54606  
 54607  // AsOdbcSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54608  func (cdsas CosmosDbSQLAPISink) AsOdbcSink() (*OdbcSink, bool) {
 54609  	return nil, false
 54610  }
 54611  
 54612  // AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54613  func (cdsas CosmosDbSQLAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 54614  	return nil, false
 54615  }
 54616  
 54617  // AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54618  func (cdsas CosmosDbSQLAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 54619  	return nil, false
 54620  }
 54621  
 54622  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54623  func (cdsas CosmosDbSQLAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 54624  	return nil, false
 54625  }
 54626  
 54627  // AsOracleSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54628  func (cdsas CosmosDbSQLAPISink) AsOracleSink() (*OracleSink, bool) {
 54629  	return nil, false
 54630  }
 54631  
 54632  // AsSQLDWSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54633  func (cdsas CosmosDbSQLAPISink) AsSQLDWSink() (*SQLDWSink, bool) {
 54634  	return nil, false
 54635  }
 54636  
 54637  // AsSQLMISink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54638  func (cdsas CosmosDbSQLAPISink) AsSQLMISink() (*SQLMISink, bool) {
 54639  	return nil, false
 54640  }
 54641  
 54642  // AsAzureSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54643  func (cdsas CosmosDbSQLAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 54644  	return nil, false
 54645  }
 54646  
 54647  // AsSQLServerSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54648  func (cdsas CosmosDbSQLAPISink) AsSQLServerSink() (*SQLServerSink, bool) {
 54649  	return nil, false
 54650  }
 54651  
 54652  // AsSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54653  func (cdsas CosmosDbSQLAPISink) AsSQLSink() (*SQLSink, bool) {
 54654  	return nil, false
 54655  }
 54656  
 54657  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54658  func (cdsas CosmosDbSQLAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 54659  	return &cdsas, true
 54660  }
 54661  
 54662  // AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54663  func (cdsas CosmosDbSQLAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 54664  	return nil, false
 54665  }
 54666  
 54667  // AsFileSystemSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54668  func (cdsas CosmosDbSQLAPISink) AsFileSystemSink() (*FileSystemSink, bool) {
 54669  	return nil, false
 54670  }
 54671  
 54672  // AsBlobSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54673  func (cdsas CosmosDbSQLAPISink) AsBlobSink() (*BlobSink, bool) {
 54674  	return nil, false
 54675  }
 54676  
 54677  // AsBinarySink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54678  func (cdsas CosmosDbSQLAPISink) AsBinarySink() (*BinarySink, bool) {
 54679  	return nil, false
 54680  }
 54681  
 54682  // AsParquetSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54683  func (cdsas CosmosDbSQLAPISink) AsParquetSink() (*ParquetSink, bool) {
 54684  	return nil, false
 54685  }
 54686  
 54687  // AsAvroSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54688  func (cdsas CosmosDbSQLAPISink) AsAvroSink() (*AvroSink, bool) {
 54689  	return nil, false
 54690  }
 54691  
 54692  // AsAzureTableSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54693  func (cdsas CosmosDbSQLAPISink) AsAzureTableSink() (*AzureTableSink, bool) {
 54694  	return nil, false
 54695  }
 54696  
 54697  // AsAzureQueueSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54698  func (cdsas CosmosDbSQLAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 54699  	return nil, false
 54700  }
 54701  
 54702  // AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54703  func (cdsas CosmosDbSQLAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 54704  	return nil, false
 54705  }
 54706  
 54707  // AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54708  func (cdsas CosmosDbSQLAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 54709  	return nil, false
 54710  }
 54711  
 54712  // AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54713  func (cdsas CosmosDbSQLAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 54714  	return nil, false
 54715  }
 54716  
 54717  // AsOrcSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54718  func (cdsas CosmosDbSQLAPISink) AsOrcSink() (*OrcSink, bool) {
 54719  	return nil, false
 54720  }
 54721  
 54722  // AsJSONSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54723  func (cdsas CosmosDbSQLAPISink) AsJSONSink() (*JSONSink, bool) {
 54724  	return nil, false
 54725  }
 54726  
 54727  // AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54728  func (cdsas CosmosDbSQLAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 54729  	return nil, false
 54730  }
 54731  
 54732  // AsCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54733  func (cdsas CosmosDbSQLAPISink) AsCopySink() (*CopySink, bool) {
 54734  	return nil, false
 54735  }
 54736  
 54737  // AsBasicCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink.
 54738  func (cdsas CosmosDbSQLAPISink) AsBasicCopySink() (BasicCopySink, bool) {
 54739  	return &cdsas, true
 54740  }
 54741  
 54742  // UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISink struct.
 54743  func (cdsas *CosmosDbSQLAPISink) UnmarshalJSON(body []byte) error {
 54744  	var m map[string]*json.RawMessage
 54745  	err := json.Unmarshal(body, &m)
 54746  	if err != nil {
 54747  		return err
 54748  	}
 54749  	for k, v := range m {
 54750  		switch k {
 54751  		case "writeBehavior":
 54752  			if v != nil {
 54753  				var writeBehavior interface{}
 54754  				err = json.Unmarshal(*v, &writeBehavior)
 54755  				if err != nil {
 54756  					return err
 54757  				}
 54758  				cdsas.WriteBehavior = writeBehavior
 54759  			}
 54760  		default:
 54761  			if v != nil {
 54762  				var additionalProperties interface{}
 54763  				err = json.Unmarshal(*v, &additionalProperties)
 54764  				if err != nil {
 54765  					return err
 54766  				}
 54767  				if cdsas.AdditionalProperties == nil {
 54768  					cdsas.AdditionalProperties = make(map[string]interface{})
 54769  				}
 54770  				cdsas.AdditionalProperties[k] = additionalProperties
 54771  			}
 54772  		case "writeBatchSize":
 54773  			if v != nil {
 54774  				var writeBatchSize interface{}
 54775  				err = json.Unmarshal(*v, &writeBatchSize)
 54776  				if err != nil {
 54777  					return err
 54778  				}
 54779  				cdsas.WriteBatchSize = writeBatchSize
 54780  			}
 54781  		case "writeBatchTimeout":
 54782  			if v != nil {
 54783  				var writeBatchTimeout interface{}
 54784  				err = json.Unmarshal(*v, &writeBatchTimeout)
 54785  				if err != nil {
 54786  					return err
 54787  				}
 54788  				cdsas.WriteBatchTimeout = writeBatchTimeout
 54789  			}
 54790  		case "sinkRetryCount":
 54791  			if v != nil {
 54792  				var sinkRetryCount interface{}
 54793  				err = json.Unmarshal(*v, &sinkRetryCount)
 54794  				if err != nil {
 54795  					return err
 54796  				}
 54797  				cdsas.SinkRetryCount = sinkRetryCount
 54798  			}
 54799  		case "sinkRetryWait":
 54800  			if v != nil {
 54801  				var sinkRetryWait interface{}
 54802  				err = json.Unmarshal(*v, &sinkRetryWait)
 54803  				if err != nil {
 54804  					return err
 54805  				}
 54806  				cdsas.SinkRetryWait = sinkRetryWait
 54807  			}
 54808  		case "maxConcurrentConnections":
 54809  			if v != nil {
 54810  				var maxConcurrentConnections interface{}
 54811  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 54812  				if err != nil {
 54813  					return err
 54814  				}
 54815  				cdsas.MaxConcurrentConnections = maxConcurrentConnections
 54816  			}
 54817  		case "type":
 54818  			if v != nil {
 54819  				var typeVar TypeBasicCopySink
 54820  				err = json.Unmarshal(*v, &typeVar)
 54821  				if err != nil {
 54822  					return err
 54823  				}
 54824  				cdsas.Type = typeVar
 54825  			}
 54826  		}
 54827  	}
 54828  
 54829  	return nil
 54830  }
 54831  
 54832  // CosmosDbSQLAPISource a copy activity Azure CosmosDB (SQL API) Collection source.
 54833  type CosmosDbSQLAPISource struct {
 54834  	// Query - SQL API query. Type: string (or Expression with resultType string).
 54835  	Query interface{} `json:"query,omitempty"`
 54836  	// PageSize - Page size of the result. Type: integer (or Expression with resultType integer).
 54837  	PageSize interface{} `json:"pageSize,omitempty"`
 54838  	// PreferredRegions - Preferred regions. Type: array of strings (or Expression with resultType array of strings).
 54839  	PreferredRegions interface{} `json:"preferredRegions,omitempty"`
 54840  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 54841  	AdditionalProperties map[string]interface{} `json:""`
 54842  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 54843  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 54844  	// 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])).
 54845  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 54846  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 54847  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 54848  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 54849  	Type TypeBasicCopySource `json:"type,omitempty"`
 54850  }
 54851  
 54852  // MarshalJSON is the custom marshaler for CosmosDbSQLAPISource.
 54853  func (cdsas CosmosDbSQLAPISource) MarshalJSON() ([]byte, error) {
 54854  	cdsas.Type = TypeCosmosDbSQLAPISource
 54855  	objectMap := make(map[string]interface{})
 54856  	if cdsas.Query != nil {
 54857  		objectMap["query"] = cdsas.Query
 54858  	}
 54859  	if cdsas.PageSize != nil {
 54860  		objectMap["pageSize"] = cdsas.PageSize
 54861  	}
 54862  	if cdsas.PreferredRegions != nil {
 54863  		objectMap["preferredRegions"] = cdsas.PreferredRegions
 54864  	}
 54865  	if cdsas.SourceRetryCount != nil {
 54866  		objectMap["sourceRetryCount"] = cdsas.SourceRetryCount
 54867  	}
 54868  	if cdsas.SourceRetryWait != nil {
 54869  		objectMap["sourceRetryWait"] = cdsas.SourceRetryWait
 54870  	}
 54871  	if cdsas.MaxConcurrentConnections != nil {
 54872  		objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections
 54873  	}
 54874  	if cdsas.Type != "" {
 54875  		objectMap["type"] = cdsas.Type
 54876  	}
 54877  	for k, v := range cdsas.AdditionalProperties {
 54878  		objectMap[k] = v
 54879  	}
 54880  	return json.Marshal(objectMap)
 54881  }
 54882  
 54883  // AsHTTPSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54884  func (cdsas CosmosDbSQLAPISource) AsHTTPSource() (*HTTPSource, bool) {
 54885  	return nil, false
 54886  }
 54887  
 54888  // AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54889  func (cdsas CosmosDbSQLAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 54890  	return nil, false
 54891  }
 54892  
 54893  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54894  func (cdsas CosmosDbSQLAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 54895  	return nil, false
 54896  }
 54897  
 54898  // AsOffice365Source is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54899  func (cdsas CosmosDbSQLAPISource) AsOffice365Source() (*Office365Source, bool) {
 54900  	return nil, false
 54901  }
 54902  
 54903  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54904  func (cdsas CosmosDbSQLAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 54905  	return nil, false
 54906  }
 54907  
 54908  // AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54909  func (cdsas CosmosDbSQLAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 54910  	return nil, false
 54911  }
 54912  
 54913  // AsMongoDbSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54914  func (cdsas CosmosDbSQLAPISource) AsMongoDbSource() (*MongoDbSource, bool) {
 54915  	return nil, false
 54916  }
 54917  
 54918  // AsWebSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54919  func (cdsas CosmosDbSQLAPISource) AsWebSource() (*WebSource, bool) {
 54920  	return nil, false
 54921  }
 54922  
 54923  // AsOracleSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54924  func (cdsas CosmosDbSQLAPISource) AsOracleSource() (*OracleSource, bool) {
 54925  	return nil, false
 54926  }
 54927  
 54928  // AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54929  func (cdsas CosmosDbSQLAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 54930  	return nil, false
 54931  }
 54932  
 54933  // AsHdfsSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54934  func (cdsas CosmosDbSQLAPISource) AsHdfsSource() (*HdfsSource, bool) {
 54935  	return nil, false
 54936  }
 54937  
 54938  // AsFileSystemSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54939  func (cdsas CosmosDbSQLAPISource) AsFileSystemSource() (*FileSystemSource, bool) {
 54940  	return nil, false
 54941  }
 54942  
 54943  // AsRestSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54944  func (cdsas CosmosDbSQLAPISource) AsRestSource() (*RestSource, bool) {
 54945  	return nil, false
 54946  }
 54947  
 54948  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54949  func (cdsas CosmosDbSQLAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 54950  	return nil, false
 54951  }
 54952  
 54953  // AsODataSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54954  func (cdsas CosmosDbSQLAPISource) AsODataSource() (*ODataSource, bool) {
 54955  	return nil, false
 54956  }
 54957  
 54958  // AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54959  func (cdsas CosmosDbSQLAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 54960  	return nil, false
 54961  }
 54962  
 54963  // AsRelationalSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54964  func (cdsas CosmosDbSQLAPISource) AsRelationalSource() (*RelationalSource, bool) {
 54965  	return nil, false
 54966  }
 54967  
 54968  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54969  func (cdsas CosmosDbSQLAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 54970  	return nil, false
 54971  }
 54972  
 54973  // AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54974  func (cdsas CosmosDbSQLAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 54975  	return nil, false
 54976  }
 54977  
 54978  // AsDynamicsSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54979  func (cdsas CosmosDbSQLAPISource) AsDynamicsSource() (*DynamicsSource, bool) {
 54980  	return nil, false
 54981  }
 54982  
 54983  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54984  func (cdsas CosmosDbSQLAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 54985  	return &cdsas, true
 54986  }
 54987  
 54988  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54989  func (cdsas CosmosDbSQLAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 54990  	return nil, false
 54991  }
 54992  
 54993  // AsBlobSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54994  func (cdsas CosmosDbSQLAPISource) AsBlobSource() (*BlobSource, bool) {
 54995  	return nil, false
 54996  }
 54997  
 54998  // AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 54999  func (cdsas CosmosDbSQLAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 55000  	return nil, false
 55001  }
 55002  
 55003  // AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55004  func (cdsas CosmosDbSQLAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 55005  	return nil, false
 55006  }
 55007  
 55008  // AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55009  func (cdsas CosmosDbSQLAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 55010  	return nil, false
 55011  }
 55012  
 55013  // AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55014  func (cdsas CosmosDbSQLAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 55015  	return nil, false
 55016  }
 55017  
 55018  // AsResponsysSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55019  func (cdsas CosmosDbSQLAPISource) AsResponsysSource() (*ResponsysSource, bool) {
 55020  	return nil, false
 55021  }
 55022  
 55023  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55024  func (cdsas CosmosDbSQLAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 55025  	return nil, false
 55026  }
 55027  
 55028  // AsVerticaSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55029  func (cdsas CosmosDbSQLAPISource) AsVerticaSource() (*VerticaSource, bool) {
 55030  	return nil, false
 55031  }
 55032  
 55033  // AsNetezzaSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55034  func (cdsas CosmosDbSQLAPISource) AsNetezzaSource() (*NetezzaSource, bool) {
 55035  	return nil, false
 55036  }
 55037  
 55038  // AsZohoSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55039  func (cdsas CosmosDbSQLAPISource) AsZohoSource() (*ZohoSource, bool) {
 55040  	return nil, false
 55041  }
 55042  
 55043  // AsXeroSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55044  func (cdsas CosmosDbSQLAPISource) AsXeroSource() (*XeroSource, bool) {
 55045  	return nil, false
 55046  }
 55047  
 55048  // AsSquareSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55049  func (cdsas CosmosDbSQLAPISource) AsSquareSource() (*SquareSource, bool) {
 55050  	return nil, false
 55051  }
 55052  
 55053  // AsSparkSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55054  func (cdsas CosmosDbSQLAPISource) AsSparkSource() (*SparkSource, bool) {
 55055  	return nil, false
 55056  }
 55057  
 55058  // AsShopifySource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55059  func (cdsas CosmosDbSQLAPISource) AsShopifySource() (*ShopifySource, bool) {
 55060  	return nil, false
 55061  }
 55062  
 55063  // AsServiceNowSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55064  func (cdsas CosmosDbSQLAPISource) AsServiceNowSource() (*ServiceNowSource, bool) {
 55065  	return nil, false
 55066  }
 55067  
 55068  // AsQuickBooksSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55069  func (cdsas CosmosDbSQLAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 55070  	return nil, false
 55071  }
 55072  
 55073  // AsPrestoSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55074  func (cdsas CosmosDbSQLAPISource) AsPrestoSource() (*PrestoSource, bool) {
 55075  	return nil, false
 55076  }
 55077  
 55078  // AsPhoenixSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55079  func (cdsas CosmosDbSQLAPISource) AsPhoenixSource() (*PhoenixSource, bool) {
 55080  	return nil, false
 55081  }
 55082  
 55083  // AsPaypalSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55084  func (cdsas CosmosDbSQLAPISource) AsPaypalSource() (*PaypalSource, bool) {
 55085  	return nil, false
 55086  }
 55087  
 55088  // AsMarketoSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55089  func (cdsas CosmosDbSQLAPISource) AsMarketoSource() (*MarketoSource, bool) {
 55090  	return nil, false
 55091  }
 55092  
 55093  // AsAzureMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55094  func (cdsas CosmosDbSQLAPISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 55095  	return nil, false
 55096  }
 55097  
 55098  // AsMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55099  func (cdsas CosmosDbSQLAPISource) AsMariaDBSource() (*MariaDBSource, bool) {
 55100  	return nil, false
 55101  }
 55102  
 55103  // AsMagentoSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55104  func (cdsas CosmosDbSQLAPISource) AsMagentoSource() (*MagentoSource, bool) {
 55105  	return nil, false
 55106  }
 55107  
 55108  // AsJiraSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55109  func (cdsas CosmosDbSQLAPISource) AsJiraSource() (*JiraSource, bool) {
 55110  	return nil, false
 55111  }
 55112  
 55113  // AsImpalaSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55114  func (cdsas CosmosDbSQLAPISource) AsImpalaSource() (*ImpalaSource, bool) {
 55115  	return nil, false
 55116  }
 55117  
 55118  // AsHubspotSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55119  func (cdsas CosmosDbSQLAPISource) AsHubspotSource() (*HubspotSource, bool) {
 55120  	return nil, false
 55121  }
 55122  
 55123  // AsHiveSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55124  func (cdsas CosmosDbSQLAPISource) AsHiveSource() (*HiveSource, bool) {
 55125  	return nil, false
 55126  }
 55127  
 55128  // AsHBaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55129  func (cdsas CosmosDbSQLAPISource) AsHBaseSource() (*HBaseSource, bool) {
 55130  	return nil, false
 55131  }
 55132  
 55133  // AsGreenplumSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55134  func (cdsas CosmosDbSQLAPISource) AsGreenplumSource() (*GreenplumSource, bool) {
 55135  	return nil, false
 55136  }
 55137  
 55138  // AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55139  func (cdsas CosmosDbSQLAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 55140  	return nil, false
 55141  }
 55142  
 55143  // AsEloquaSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55144  func (cdsas CosmosDbSQLAPISource) AsEloquaSource() (*EloquaSource, bool) {
 55145  	return nil, false
 55146  }
 55147  
 55148  // AsDrillSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55149  func (cdsas CosmosDbSQLAPISource) AsDrillSource() (*DrillSource, bool) {
 55150  	return nil, false
 55151  }
 55152  
 55153  // AsCouchbaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55154  func (cdsas CosmosDbSQLAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 55155  	return nil, false
 55156  }
 55157  
 55158  // AsConcurSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55159  func (cdsas CosmosDbSQLAPISource) AsConcurSource() (*ConcurSource, bool) {
 55160  	return nil, false
 55161  }
 55162  
 55163  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55164  func (cdsas CosmosDbSQLAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 55165  	return nil, false
 55166  }
 55167  
 55168  // AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55169  func (cdsas CosmosDbSQLAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 55170  	return nil, false
 55171  }
 55172  
 55173  // AsCassandraSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55174  func (cdsas CosmosDbSQLAPISource) AsCassandraSource() (*CassandraSource, bool) {
 55175  	return nil, false
 55176  }
 55177  
 55178  // AsTeradataSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55179  func (cdsas CosmosDbSQLAPISource) AsTeradataSource() (*TeradataSource, bool) {
 55180  	return nil, false
 55181  }
 55182  
 55183  // AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55184  func (cdsas CosmosDbSQLAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 55185  	return nil, false
 55186  }
 55187  
 55188  // AsSQLDWSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55189  func (cdsas CosmosDbSQLAPISource) AsSQLDWSource() (*SQLDWSource, bool) {
 55190  	return nil, false
 55191  }
 55192  
 55193  // AsSQLMISource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55194  func (cdsas CosmosDbSQLAPISource) AsSQLMISource() (*SQLMISource, bool) {
 55195  	return nil, false
 55196  }
 55197  
 55198  // AsAzureSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55199  func (cdsas CosmosDbSQLAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 55200  	return nil, false
 55201  }
 55202  
 55203  // AsSQLServerSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55204  func (cdsas CosmosDbSQLAPISource) AsSQLServerSource() (*SQLServerSource, bool) {
 55205  	return nil, false
 55206  }
 55207  
 55208  // AsSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55209  func (cdsas CosmosDbSQLAPISource) AsSQLSource() (*SQLSource, bool) {
 55210  	return nil, false
 55211  }
 55212  
 55213  // AsSapTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55214  func (cdsas CosmosDbSQLAPISource) AsSapTableSource() (*SapTableSource, bool) {
 55215  	return nil, false
 55216  }
 55217  
 55218  // AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55219  func (cdsas CosmosDbSQLAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 55220  	return nil, false
 55221  }
 55222  
 55223  // AsSapHanaSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55224  func (cdsas CosmosDbSQLAPISource) AsSapHanaSource() (*SapHanaSource, bool) {
 55225  	return nil, false
 55226  }
 55227  
 55228  // AsSapEccSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55229  func (cdsas CosmosDbSQLAPISource) AsSapEccSource() (*SapEccSource, bool) {
 55230  	return nil, false
 55231  }
 55232  
 55233  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55234  func (cdsas CosmosDbSQLAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 55235  	return nil, false
 55236  }
 55237  
 55238  // AsSalesforceSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55239  func (cdsas CosmosDbSQLAPISource) AsSalesforceSource() (*SalesforceSource, bool) {
 55240  	return nil, false
 55241  }
 55242  
 55243  // AsSapBwSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55244  func (cdsas CosmosDbSQLAPISource) AsSapBwSource() (*SapBwSource, bool) {
 55245  	return nil, false
 55246  }
 55247  
 55248  // AsSybaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55249  func (cdsas CosmosDbSQLAPISource) AsSybaseSource() (*SybaseSource, bool) {
 55250  	return nil, false
 55251  }
 55252  
 55253  // AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55254  func (cdsas CosmosDbSQLAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 55255  	return nil, false
 55256  }
 55257  
 55258  // AsMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55259  func (cdsas CosmosDbSQLAPISource) AsMySQLSource() (*MySQLSource, bool) {
 55260  	return nil, false
 55261  }
 55262  
 55263  // AsOdbcSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55264  func (cdsas CosmosDbSQLAPISource) AsOdbcSource() (*OdbcSource, bool) {
 55265  	return nil, false
 55266  }
 55267  
 55268  // AsDb2Source is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55269  func (cdsas CosmosDbSQLAPISource) AsDb2Source() (*Db2Source, bool) {
 55270  	return nil, false
 55271  }
 55272  
 55273  // AsInformixSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55274  func (cdsas CosmosDbSQLAPISource) AsInformixSource() (*InformixSource, bool) {
 55275  	return nil, false
 55276  }
 55277  
 55278  // AsAzureTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55279  func (cdsas CosmosDbSQLAPISource) AsAzureTableSource() (*AzureTableSource, bool) {
 55280  	return nil, false
 55281  }
 55282  
 55283  // AsTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55284  func (cdsas CosmosDbSQLAPISource) AsTabularSource() (*TabularSource, bool) {
 55285  	return nil, false
 55286  }
 55287  
 55288  // AsBasicTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55289  func (cdsas CosmosDbSQLAPISource) AsBasicTabularSource() (BasicTabularSource, bool) {
 55290  	return nil, false
 55291  }
 55292  
 55293  // AsBinarySource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55294  func (cdsas CosmosDbSQLAPISource) AsBinarySource() (*BinarySource, bool) {
 55295  	return nil, false
 55296  }
 55297  
 55298  // AsOrcSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55299  func (cdsas CosmosDbSQLAPISource) AsOrcSource() (*OrcSource, bool) {
 55300  	return nil, false
 55301  }
 55302  
 55303  // AsJSONSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55304  func (cdsas CosmosDbSQLAPISource) AsJSONSource() (*JSONSource, bool) {
 55305  	return nil, false
 55306  }
 55307  
 55308  // AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55309  func (cdsas CosmosDbSQLAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 55310  	return nil, false
 55311  }
 55312  
 55313  // AsParquetSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55314  func (cdsas CosmosDbSQLAPISource) AsParquetSource() (*ParquetSource, bool) {
 55315  	return nil, false
 55316  }
 55317  
 55318  // AsAvroSource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55319  func (cdsas CosmosDbSQLAPISource) AsAvroSource() (*AvroSource, bool) {
 55320  	return nil, false
 55321  }
 55322  
 55323  // AsCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55324  func (cdsas CosmosDbSQLAPISource) AsCopySource() (*CopySource, bool) {
 55325  	return nil, false
 55326  }
 55327  
 55328  // AsBasicCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource.
 55329  func (cdsas CosmosDbSQLAPISource) AsBasicCopySource() (BasicCopySource, bool) {
 55330  	return &cdsas, true
 55331  }
 55332  
 55333  // UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISource struct.
 55334  func (cdsas *CosmosDbSQLAPISource) UnmarshalJSON(body []byte) error {
 55335  	var m map[string]*json.RawMessage
 55336  	err := json.Unmarshal(body, &m)
 55337  	if err != nil {
 55338  		return err
 55339  	}
 55340  	for k, v := range m {
 55341  		switch k {
 55342  		case "query":
 55343  			if v != nil {
 55344  				var query interface{}
 55345  				err = json.Unmarshal(*v, &query)
 55346  				if err != nil {
 55347  					return err
 55348  				}
 55349  				cdsas.Query = query
 55350  			}
 55351  		case "pageSize":
 55352  			if v != nil {
 55353  				var pageSize interface{}
 55354  				err = json.Unmarshal(*v, &pageSize)
 55355  				if err != nil {
 55356  					return err
 55357  				}
 55358  				cdsas.PageSize = pageSize
 55359  			}
 55360  		case "preferredRegions":
 55361  			if v != nil {
 55362  				var preferredRegions interface{}
 55363  				err = json.Unmarshal(*v, &preferredRegions)
 55364  				if err != nil {
 55365  					return err
 55366  				}
 55367  				cdsas.PreferredRegions = preferredRegions
 55368  			}
 55369  		default:
 55370  			if v != nil {
 55371  				var additionalProperties interface{}
 55372  				err = json.Unmarshal(*v, &additionalProperties)
 55373  				if err != nil {
 55374  					return err
 55375  				}
 55376  				if cdsas.AdditionalProperties == nil {
 55377  					cdsas.AdditionalProperties = make(map[string]interface{})
 55378  				}
 55379  				cdsas.AdditionalProperties[k] = additionalProperties
 55380  			}
 55381  		case "sourceRetryCount":
 55382  			if v != nil {
 55383  				var sourceRetryCount interface{}
 55384  				err = json.Unmarshal(*v, &sourceRetryCount)
 55385  				if err != nil {
 55386  					return err
 55387  				}
 55388  				cdsas.SourceRetryCount = sourceRetryCount
 55389  			}
 55390  		case "sourceRetryWait":
 55391  			if v != nil {
 55392  				var sourceRetryWait interface{}
 55393  				err = json.Unmarshal(*v, &sourceRetryWait)
 55394  				if err != nil {
 55395  					return err
 55396  				}
 55397  				cdsas.SourceRetryWait = sourceRetryWait
 55398  			}
 55399  		case "maxConcurrentConnections":
 55400  			if v != nil {
 55401  				var maxConcurrentConnections interface{}
 55402  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 55403  				if err != nil {
 55404  					return err
 55405  				}
 55406  				cdsas.MaxConcurrentConnections = maxConcurrentConnections
 55407  			}
 55408  		case "type":
 55409  			if v != nil {
 55410  				var typeVar TypeBasicCopySource
 55411  				err = json.Unmarshal(*v, &typeVar)
 55412  				if err != nil {
 55413  					return err
 55414  				}
 55415  				cdsas.Type = typeVar
 55416  			}
 55417  		}
 55418  	}
 55419  
 55420  	return nil
 55421  }
 55422  
 55423  // CouchbaseLinkedService couchbase server linked service.
 55424  type CouchbaseLinkedService struct {
 55425  	// CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties.
 55426  	*CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 55427  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 55428  	AdditionalProperties map[string]interface{} `json:""`
 55429  	// ConnectVia - The integration runtime reference.
 55430  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 55431  	// Description - Linked service description.
 55432  	Description *string `json:"description,omitempty"`
 55433  	// Parameters - Parameters for linked service.
 55434  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 55435  	// Annotations - List of tags that can be used for describing the linked service.
 55436  	Annotations *[]interface{} `json:"annotations,omitempty"`
 55437  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 55438  	Type TypeBasicLinkedService `json:"type,omitempty"`
 55439  }
 55440  
 55441  // MarshalJSON is the custom marshaler for CouchbaseLinkedService.
 55442  func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) {
 55443  	cls.Type = TypeCouchbase
 55444  	objectMap := make(map[string]interface{})
 55445  	if cls.CouchbaseLinkedServiceTypeProperties != nil {
 55446  		objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties
 55447  	}
 55448  	if cls.ConnectVia != nil {
 55449  		objectMap["connectVia"] = cls.ConnectVia
 55450  	}
 55451  	if cls.Description != nil {
 55452  		objectMap["description"] = cls.Description
 55453  	}
 55454  	if cls.Parameters != nil {
 55455  		objectMap["parameters"] = cls.Parameters
 55456  	}
 55457  	if cls.Annotations != nil {
 55458  		objectMap["annotations"] = cls.Annotations
 55459  	}
 55460  	if cls.Type != "" {
 55461  		objectMap["type"] = cls.Type
 55462  	}
 55463  	for k, v := range cls.AdditionalProperties {
 55464  		objectMap[k] = v
 55465  	}
 55466  	return json.Marshal(objectMap)
 55467  }
 55468  
 55469  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55470  func (cls CouchbaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 55471  	return nil, false
 55472  }
 55473  
 55474  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55475  func (cls CouchbaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 55476  	return nil, false
 55477  }
 55478  
 55479  // AsSapTableLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55480  func (cls CouchbaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 55481  	return nil, false
 55482  }
 55483  
 55484  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55485  func (cls CouchbaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 55486  	return nil, false
 55487  }
 55488  
 55489  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55490  func (cls CouchbaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 55491  	return nil, false
 55492  }
 55493  
 55494  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55495  func (cls CouchbaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 55496  	return nil, false
 55497  }
 55498  
 55499  // AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55500  func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 55501  	return nil, false
 55502  }
 55503  
 55504  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55505  func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 55506  	return nil, false
 55507  }
 55508  
 55509  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55510  func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 55511  	return nil, false
 55512  }
 55513  
 55514  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55515  func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 55516  	return nil, false
 55517  }
 55518  
 55519  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55520  func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 55521  	return nil, false
 55522  }
 55523  
 55524  // AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55525  func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 55526  	return nil, false
 55527  }
 55528  
 55529  // AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55530  func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 55531  	return nil, false
 55532  }
 55533  
 55534  // AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55535  func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 55536  	return nil, false
 55537  }
 55538  
 55539  // AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55540  func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 55541  	return nil, false
 55542  }
 55543  
 55544  // AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55545  func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 55546  	return nil, false
 55547  }
 55548  
 55549  // AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55550  func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 55551  	return nil, false
 55552  }
 55553  
 55554  // AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55555  func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 55556  	return nil, false
 55557  }
 55558  
 55559  // AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55560  func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 55561  	return nil, false
 55562  }
 55563  
 55564  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55565  func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 55566  	return nil, false
 55567  }
 55568  
 55569  // AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55570  func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 55571  	return nil, false
 55572  }
 55573  
 55574  // AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55575  func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 55576  	return nil, false
 55577  }
 55578  
 55579  // AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55580  func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 55581  	return nil, false
 55582  }
 55583  
 55584  // AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55585  func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 55586  	return nil, false
 55587  }
 55588  
 55589  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55590  func (cls CouchbaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 55591  	return nil, false
 55592  }
 55593  
 55594  // AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55595  func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 55596  	return nil, false
 55597  }
 55598  
 55599  // AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55600  func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 55601  	return nil, false
 55602  }
 55603  
 55604  // AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55605  func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 55606  	return nil, false
 55607  }
 55608  
 55609  // AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55610  func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 55611  	return nil, false
 55612  }
 55613  
 55614  // AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55615  func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 55616  	return nil, false
 55617  }
 55618  
 55619  // AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55620  func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 55621  	return nil, false
 55622  }
 55623  
 55624  // AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55625  func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 55626  	return nil, false
 55627  }
 55628  
 55629  // AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55630  func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 55631  	return nil, false
 55632  }
 55633  
 55634  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55635  func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 55636  	return nil, false
 55637  }
 55638  
 55639  // AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55640  func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 55641  	return nil, false
 55642  }
 55643  
 55644  // AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55645  func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 55646  	return nil, false
 55647  }
 55648  
 55649  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55650  func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 55651  	return &cls, true
 55652  }
 55653  
 55654  // AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55655  func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 55656  	return nil, false
 55657  }
 55658  
 55659  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55660  func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 55661  	return nil, false
 55662  }
 55663  
 55664  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55665  func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 55666  	return nil, false
 55667  }
 55668  
 55669  // AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55670  func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 55671  	return nil, false
 55672  }
 55673  
 55674  // AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55675  func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 55676  	return nil, false
 55677  }
 55678  
 55679  // AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55680  func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 55681  	return nil, false
 55682  }
 55683  
 55684  // AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55685  func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 55686  	return nil, false
 55687  }
 55688  
 55689  // AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55690  func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 55691  	return nil, false
 55692  }
 55693  
 55694  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55695  func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 55696  	return nil, false
 55697  }
 55698  
 55699  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55700  func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 55701  	return nil, false
 55702  }
 55703  
 55704  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55705  func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 55706  	return nil, false
 55707  }
 55708  
 55709  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55710  func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 55711  	return nil, false
 55712  }
 55713  
 55714  // AsRestServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55715  func (cls CouchbaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 55716  	return nil, false
 55717  }
 55718  
 55719  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55720  func (cls CouchbaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 55721  	return nil, false
 55722  }
 55723  
 55724  // AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55725  func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 55726  	return nil, false
 55727  }
 55728  
 55729  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55730  func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 55731  	return nil, false
 55732  }
 55733  
 55734  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55735  func (cls CouchbaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 55736  	return nil, false
 55737  }
 55738  
 55739  // AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55740  func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 55741  	return nil, false
 55742  }
 55743  
 55744  // AsOffice365LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55745  func (cls CouchbaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 55746  	return nil, false
 55747  }
 55748  
 55749  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55750  func (cls CouchbaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 55751  	return nil, false
 55752  }
 55753  
 55754  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55755  func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 55756  	return nil, false
 55757  }
 55758  
 55759  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55760  func (cls CouchbaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 55761  	return nil, false
 55762  }
 55763  
 55764  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55765  func (cls CouchbaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 55766  	return nil, false
 55767  }
 55768  
 55769  // AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55770  func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 55771  	return nil, false
 55772  }
 55773  
 55774  // AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55775  func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 55776  	return nil, false
 55777  }
 55778  
 55779  // AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55780  func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 55781  	return nil, false
 55782  }
 55783  
 55784  // AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55785  func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 55786  	return nil, false
 55787  }
 55788  
 55789  // AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55790  func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 55791  	return nil, false
 55792  }
 55793  
 55794  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55795  func (cls CouchbaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 55796  	return nil, false
 55797  }
 55798  
 55799  // AsInformixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55800  func (cls CouchbaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 55801  	return nil, false
 55802  }
 55803  
 55804  // AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55805  func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 55806  	return nil, false
 55807  }
 55808  
 55809  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55810  func (cls CouchbaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 55811  	return nil, false
 55812  }
 55813  
 55814  // AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55815  func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 55816  	return nil, false
 55817  }
 55818  
 55819  // AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55820  func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 55821  	return nil, false
 55822  }
 55823  
 55824  // AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55825  func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 55826  	return nil, false
 55827  }
 55828  
 55829  // AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55830  func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 55831  	return nil, false
 55832  }
 55833  
 55834  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55835  func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 55836  	return nil, false
 55837  }
 55838  
 55839  // AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55840  func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 55841  	return nil, false
 55842  }
 55843  
 55844  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55845  func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 55846  	return nil, false
 55847  }
 55848  
 55849  // AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55850  func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 55851  	return nil, false
 55852  }
 55853  
 55854  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55855  func (cls CouchbaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 55856  	return nil, false
 55857  }
 55858  
 55859  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55860  func (cls CouchbaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 55861  	return nil, false
 55862  }
 55863  
 55864  // AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55865  func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 55866  	return nil, false
 55867  }
 55868  
 55869  // AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55870  func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 55871  	return nil, false
 55872  }
 55873  
 55874  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55875  func (cls CouchbaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 55876  	return nil, false
 55877  }
 55878  
 55879  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55880  func (cls CouchbaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 55881  	return nil, false
 55882  }
 55883  
 55884  // AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55885  func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 55886  	return nil, false
 55887  }
 55888  
 55889  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55890  func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 55891  	return nil, false
 55892  }
 55893  
 55894  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55895  func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 55896  	return nil, false
 55897  }
 55898  
 55899  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55900  func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 55901  	return nil, false
 55902  }
 55903  
 55904  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55905  func (cls CouchbaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 55906  	return nil, false
 55907  }
 55908  
 55909  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55910  func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 55911  	return nil, false
 55912  }
 55913  
 55914  // AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55915  func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 55916  	return nil, false
 55917  }
 55918  
 55919  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55920  func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 55921  	return nil, false
 55922  }
 55923  
 55924  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55925  func (cls CouchbaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 55926  	return nil, false
 55927  }
 55928  
 55929  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55930  func (cls CouchbaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 55931  	return nil, false
 55932  }
 55933  
 55934  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55935  func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 55936  	return nil, false
 55937  }
 55938  
 55939  // AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55940  func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) {
 55941  	return nil, false
 55942  }
 55943  
 55944  // AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService.
 55945  func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 55946  	return &cls, true
 55947  }
 55948  
 55949  // UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct.
 55950  func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error {
 55951  	var m map[string]*json.RawMessage
 55952  	err := json.Unmarshal(body, &m)
 55953  	if err != nil {
 55954  		return err
 55955  	}
 55956  	for k, v := range m {
 55957  		switch k {
 55958  		case "typeProperties":
 55959  			if v != nil {
 55960  				var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties
 55961  				err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties)
 55962  				if err != nil {
 55963  					return err
 55964  				}
 55965  				cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties
 55966  			}
 55967  		default:
 55968  			if v != nil {
 55969  				var additionalProperties interface{}
 55970  				err = json.Unmarshal(*v, &additionalProperties)
 55971  				if err != nil {
 55972  					return err
 55973  				}
 55974  				if cls.AdditionalProperties == nil {
 55975  					cls.AdditionalProperties = make(map[string]interface{})
 55976  				}
 55977  				cls.AdditionalProperties[k] = additionalProperties
 55978  			}
 55979  		case "connectVia":
 55980  			if v != nil {
 55981  				var connectVia IntegrationRuntimeReference
 55982  				err = json.Unmarshal(*v, &connectVia)
 55983  				if err != nil {
 55984  					return err
 55985  				}
 55986  				cls.ConnectVia = &connectVia
 55987  			}
 55988  		case "description":
 55989  			if v != nil {
 55990  				var description string
 55991  				err = json.Unmarshal(*v, &description)
 55992  				if err != nil {
 55993  					return err
 55994  				}
 55995  				cls.Description = &description
 55996  			}
 55997  		case "parameters":
 55998  			if v != nil {
 55999  				var parameters map[string]*ParameterSpecification
 56000  				err = json.Unmarshal(*v, &parameters)
 56001  				if err != nil {
 56002  					return err
 56003  				}
 56004  				cls.Parameters = parameters
 56005  			}
 56006  		case "annotations":
 56007  			if v != nil {
 56008  				var annotations []interface{}
 56009  				err = json.Unmarshal(*v, &annotations)
 56010  				if err != nil {
 56011  					return err
 56012  				}
 56013  				cls.Annotations = &annotations
 56014  			}
 56015  		case "type":
 56016  			if v != nil {
 56017  				var typeVar TypeBasicLinkedService
 56018  				err = json.Unmarshal(*v, &typeVar)
 56019  				if err != nil {
 56020  					return err
 56021  				}
 56022  				cls.Type = typeVar
 56023  			}
 56024  		}
 56025  	}
 56026  
 56027  	return nil
 56028  }
 56029  
 56030  // CouchbaseLinkedServiceTypeProperties couchbase server linked service properties.
 56031  type CouchbaseLinkedServiceTypeProperties struct {
 56032  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 56033  	ConnectionString interface{} `json:"connectionString,omitempty"`
 56034  	// CredString - The Azure key vault secret reference of credString in connection string.
 56035  	CredString *AzureKeyVaultSecretReference `json:"credString,omitempty"`
 56036  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 56037  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 56038  }
 56039  
 56040  // CouchbaseSource a copy activity Couchbase server source.
 56041  type CouchbaseSource struct {
 56042  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 56043  	Query interface{} `json:"query,omitempty"`
 56044  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 56045  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 56046  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 56047  	AdditionalProperties map[string]interface{} `json:""`
 56048  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 56049  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 56050  	// 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])).
 56051  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 56052  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 56053  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 56054  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 56055  	Type TypeBasicCopySource `json:"type,omitempty"`
 56056  }
 56057  
 56058  // MarshalJSON is the custom marshaler for CouchbaseSource.
 56059  func (cs CouchbaseSource) MarshalJSON() ([]byte, error) {
 56060  	cs.Type = TypeCouchbaseSource
 56061  	objectMap := make(map[string]interface{})
 56062  	if cs.Query != nil {
 56063  		objectMap["query"] = cs.Query
 56064  	}
 56065  	if cs.QueryTimeout != nil {
 56066  		objectMap["queryTimeout"] = cs.QueryTimeout
 56067  	}
 56068  	if cs.SourceRetryCount != nil {
 56069  		objectMap["sourceRetryCount"] = cs.SourceRetryCount
 56070  	}
 56071  	if cs.SourceRetryWait != nil {
 56072  		objectMap["sourceRetryWait"] = cs.SourceRetryWait
 56073  	}
 56074  	if cs.MaxConcurrentConnections != nil {
 56075  		objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections
 56076  	}
 56077  	if cs.Type != "" {
 56078  		objectMap["type"] = cs.Type
 56079  	}
 56080  	for k, v := range cs.AdditionalProperties {
 56081  		objectMap[k] = v
 56082  	}
 56083  	return json.Marshal(objectMap)
 56084  }
 56085  
 56086  // AsHTTPSource is the BasicCopySource implementation for CouchbaseSource.
 56087  func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) {
 56088  	return nil, false
 56089  }
 56090  
 56091  // AsAzureBlobFSSource is the BasicCopySource implementation for CouchbaseSource.
 56092  func (cs CouchbaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 56093  	return nil, false
 56094  }
 56095  
 56096  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource.
 56097  func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 56098  	return nil, false
 56099  }
 56100  
 56101  // AsOffice365Source is the BasicCopySource implementation for CouchbaseSource.
 56102  func (cs CouchbaseSource) AsOffice365Source() (*Office365Source, bool) {
 56103  	return nil, false
 56104  }
 56105  
 56106  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CouchbaseSource.
 56107  func (cs CouchbaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 56108  	return nil, false
 56109  }
 56110  
 56111  // AsMongoDbV2Source is the BasicCopySource implementation for CouchbaseSource.
 56112  func (cs CouchbaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 56113  	return nil, false
 56114  }
 56115  
 56116  // AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource.
 56117  func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
 56118  	return nil, false
 56119  }
 56120  
 56121  // AsWebSource is the BasicCopySource implementation for CouchbaseSource.
 56122  func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) {
 56123  	return nil, false
 56124  }
 56125  
 56126  // AsOracleSource is the BasicCopySource implementation for CouchbaseSource.
 56127  func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) {
 56128  	return nil, false
 56129  }
 56130  
 56131  // AsAzureDataExplorerSource is the BasicCopySource implementation for CouchbaseSource.
 56132  func (cs CouchbaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 56133  	return nil, false
 56134  }
 56135  
 56136  // AsHdfsSource is the BasicCopySource implementation for CouchbaseSource.
 56137  func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) {
 56138  	return nil, false
 56139  }
 56140  
 56141  // AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource.
 56142  func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
 56143  	return nil, false
 56144  }
 56145  
 56146  // AsRestSource is the BasicCopySource implementation for CouchbaseSource.
 56147  func (cs CouchbaseSource) AsRestSource() (*RestSource, bool) {
 56148  	return nil, false
 56149  }
 56150  
 56151  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for CouchbaseSource.
 56152  func (cs CouchbaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 56153  	return nil, false
 56154  }
 56155  
 56156  // AsODataSource is the BasicCopySource implementation for CouchbaseSource.
 56157  func (cs CouchbaseSource) AsODataSource() (*ODataSource, bool) {
 56158  	return nil, false
 56159  }
 56160  
 56161  // AsMicrosoftAccessSource is the BasicCopySource implementation for CouchbaseSource.
 56162  func (cs CouchbaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 56163  	return nil, false
 56164  }
 56165  
 56166  // AsRelationalSource is the BasicCopySource implementation for CouchbaseSource.
 56167  func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) {
 56168  	return nil, false
 56169  }
 56170  
 56171  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CouchbaseSource.
 56172  func (cs CouchbaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 56173  	return nil, false
 56174  }
 56175  
 56176  // AsDynamicsCrmSource is the BasicCopySource implementation for CouchbaseSource.
 56177  func (cs CouchbaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 56178  	return nil, false
 56179  }
 56180  
 56181  // AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource.
 56182  func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
 56183  	return nil, false
 56184  }
 56185  
 56186  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for CouchbaseSource.
 56187  func (cs CouchbaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 56188  	return nil, false
 56189  }
 56190  
 56191  // AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource.
 56192  func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 56193  	return nil, false
 56194  }
 56195  
 56196  // AsBlobSource is the BasicCopySource implementation for CouchbaseSource.
 56197  func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) {
 56198  	return nil, false
 56199  }
 56200  
 56201  // AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource.
 56202  func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 56203  	return nil, false
 56204  }
 56205  
 56206  // AsGoogleAdWordsSource is the BasicCopySource implementation for CouchbaseSource.
 56207  func (cs CouchbaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 56208  	return nil, false
 56209  }
 56210  
 56211  // AsOracleServiceCloudSource is the BasicCopySource implementation for CouchbaseSource.
 56212  func (cs CouchbaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 56213  	return nil, false
 56214  }
 56215  
 56216  // AsDynamicsAXSource is the BasicCopySource implementation for CouchbaseSource.
 56217  func (cs CouchbaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 56218  	return nil, false
 56219  }
 56220  
 56221  // AsResponsysSource is the BasicCopySource implementation for CouchbaseSource.
 56222  func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) {
 56223  	return nil, false
 56224  }
 56225  
 56226  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource.
 56227  func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 56228  	return nil, false
 56229  }
 56230  
 56231  // AsVerticaSource is the BasicCopySource implementation for CouchbaseSource.
 56232  func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) {
 56233  	return nil, false
 56234  }
 56235  
 56236  // AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource.
 56237  func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
 56238  	return nil, false
 56239  }
 56240  
 56241  // AsZohoSource is the BasicCopySource implementation for CouchbaseSource.
 56242  func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) {
 56243  	return nil, false
 56244  }
 56245  
 56246  // AsXeroSource is the BasicCopySource implementation for CouchbaseSource.
 56247  func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) {
 56248  	return nil, false
 56249  }
 56250  
 56251  // AsSquareSource is the BasicCopySource implementation for CouchbaseSource.
 56252  func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) {
 56253  	return nil, false
 56254  }
 56255  
 56256  // AsSparkSource is the BasicCopySource implementation for CouchbaseSource.
 56257  func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) {
 56258  	return nil, false
 56259  }
 56260  
 56261  // AsShopifySource is the BasicCopySource implementation for CouchbaseSource.
 56262  func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) {
 56263  	return nil, false
 56264  }
 56265  
 56266  // AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource.
 56267  func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 56268  	return nil, false
 56269  }
 56270  
 56271  // AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource.
 56272  func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 56273  	return nil, false
 56274  }
 56275  
 56276  // AsPrestoSource is the BasicCopySource implementation for CouchbaseSource.
 56277  func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) {
 56278  	return nil, false
 56279  }
 56280  
 56281  // AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource.
 56282  func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
 56283  	return nil, false
 56284  }
 56285  
 56286  // AsPaypalSource is the BasicCopySource implementation for CouchbaseSource.
 56287  func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) {
 56288  	return nil, false
 56289  }
 56290  
 56291  // AsMarketoSource is the BasicCopySource implementation for CouchbaseSource.
 56292  func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) {
 56293  	return nil, false
 56294  }
 56295  
 56296  // AsAzureMariaDBSource is the BasicCopySource implementation for CouchbaseSource.
 56297  func (cs CouchbaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 56298  	return nil, false
 56299  }
 56300  
 56301  // AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource.
 56302  func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
 56303  	return nil, false
 56304  }
 56305  
 56306  // AsMagentoSource is the BasicCopySource implementation for CouchbaseSource.
 56307  func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) {
 56308  	return nil, false
 56309  }
 56310  
 56311  // AsJiraSource is the BasicCopySource implementation for CouchbaseSource.
 56312  func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) {
 56313  	return nil, false
 56314  }
 56315  
 56316  // AsImpalaSource is the BasicCopySource implementation for CouchbaseSource.
 56317  func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) {
 56318  	return nil, false
 56319  }
 56320  
 56321  // AsHubspotSource is the BasicCopySource implementation for CouchbaseSource.
 56322  func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) {
 56323  	return nil, false
 56324  }
 56325  
 56326  // AsHiveSource is the BasicCopySource implementation for CouchbaseSource.
 56327  func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) {
 56328  	return nil, false
 56329  }
 56330  
 56331  // AsHBaseSource is the BasicCopySource implementation for CouchbaseSource.
 56332  func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) {
 56333  	return nil, false
 56334  }
 56335  
 56336  // AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource.
 56337  func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
 56338  	return nil, false
 56339  }
 56340  
 56341  // AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource.
 56342  func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 56343  	return nil, false
 56344  }
 56345  
 56346  // AsEloquaSource is the BasicCopySource implementation for CouchbaseSource.
 56347  func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) {
 56348  	return nil, false
 56349  }
 56350  
 56351  // AsDrillSource is the BasicCopySource implementation for CouchbaseSource.
 56352  func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) {
 56353  	return nil, false
 56354  }
 56355  
 56356  // AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource.
 56357  func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 56358  	return &cs, true
 56359  }
 56360  
 56361  // AsConcurSource is the BasicCopySource implementation for CouchbaseSource.
 56362  func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) {
 56363  	return nil, false
 56364  }
 56365  
 56366  // AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
 56367  func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 56368  	return nil, false
 56369  }
 56370  
 56371  // AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource.
 56372  func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 56373  	return nil, false
 56374  }
 56375  
 56376  // AsCassandraSource is the BasicCopySource implementation for CouchbaseSource.
 56377  func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) {
 56378  	return nil, false
 56379  }
 56380  
 56381  // AsTeradataSource is the BasicCopySource implementation for CouchbaseSource.
 56382  func (cs CouchbaseSource) AsTeradataSource() (*TeradataSource, bool) {
 56383  	return nil, false
 56384  }
 56385  
 56386  // AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource.
 56387  func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 56388  	return nil, false
 56389  }
 56390  
 56391  // AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource.
 56392  func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
 56393  	return nil, false
 56394  }
 56395  
 56396  // AsSQLMISource is the BasicCopySource implementation for CouchbaseSource.
 56397  func (cs CouchbaseSource) AsSQLMISource() (*SQLMISource, bool) {
 56398  	return nil, false
 56399  }
 56400  
 56401  // AsAzureSQLSource is the BasicCopySource implementation for CouchbaseSource.
 56402  func (cs CouchbaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 56403  	return nil, false
 56404  }
 56405  
 56406  // AsSQLServerSource is the BasicCopySource implementation for CouchbaseSource.
 56407  func (cs CouchbaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
 56408  	return nil, false
 56409  }
 56410  
 56411  // AsSQLSource is the BasicCopySource implementation for CouchbaseSource.
 56412  func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) {
 56413  	return nil, false
 56414  }
 56415  
 56416  // AsSapTableSource is the BasicCopySource implementation for CouchbaseSource.
 56417  func (cs CouchbaseSource) AsSapTableSource() (*SapTableSource, bool) {
 56418  	return nil, false
 56419  }
 56420  
 56421  // AsSapOpenHubSource is the BasicCopySource implementation for CouchbaseSource.
 56422  func (cs CouchbaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 56423  	return nil, false
 56424  }
 56425  
 56426  // AsSapHanaSource is the BasicCopySource implementation for CouchbaseSource.
 56427  func (cs CouchbaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
 56428  	return nil, false
 56429  }
 56430  
 56431  // AsSapEccSource is the BasicCopySource implementation for CouchbaseSource.
 56432  func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) {
 56433  	return nil, false
 56434  }
 56435  
 56436  // AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource.
 56437  func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 56438  	return nil, false
 56439  }
 56440  
 56441  // AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource.
 56442  func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
 56443  	return nil, false
 56444  }
 56445  
 56446  // AsSapBwSource is the BasicCopySource implementation for CouchbaseSource.
 56447  func (cs CouchbaseSource) AsSapBwSource() (*SapBwSource, bool) {
 56448  	return nil, false
 56449  }
 56450  
 56451  // AsSybaseSource is the BasicCopySource implementation for CouchbaseSource.
 56452  func (cs CouchbaseSource) AsSybaseSource() (*SybaseSource, bool) {
 56453  	return nil, false
 56454  }
 56455  
 56456  // AsPostgreSQLSource is the BasicCopySource implementation for CouchbaseSource.
 56457  func (cs CouchbaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 56458  	return nil, false
 56459  }
 56460  
 56461  // AsMySQLSource is the BasicCopySource implementation for CouchbaseSource.
 56462  func (cs CouchbaseSource) AsMySQLSource() (*MySQLSource, bool) {
 56463  	return nil, false
 56464  }
 56465  
 56466  // AsOdbcSource is the BasicCopySource implementation for CouchbaseSource.
 56467  func (cs CouchbaseSource) AsOdbcSource() (*OdbcSource, bool) {
 56468  	return nil, false
 56469  }
 56470  
 56471  // AsDb2Source is the BasicCopySource implementation for CouchbaseSource.
 56472  func (cs CouchbaseSource) AsDb2Source() (*Db2Source, bool) {
 56473  	return nil, false
 56474  }
 56475  
 56476  // AsInformixSource is the BasicCopySource implementation for CouchbaseSource.
 56477  func (cs CouchbaseSource) AsInformixSource() (*InformixSource, bool) {
 56478  	return nil, false
 56479  }
 56480  
 56481  // AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource.
 56482  func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
 56483  	return nil, false
 56484  }
 56485  
 56486  // AsTabularSource is the BasicCopySource implementation for CouchbaseSource.
 56487  func (cs CouchbaseSource) AsTabularSource() (*TabularSource, bool) {
 56488  	return nil, false
 56489  }
 56490  
 56491  // AsBasicTabularSource is the BasicCopySource implementation for CouchbaseSource.
 56492  func (cs CouchbaseSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 56493  	return &cs, true
 56494  }
 56495  
 56496  // AsBinarySource is the BasicCopySource implementation for CouchbaseSource.
 56497  func (cs CouchbaseSource) AsBinarySource() (*BinarySource, bool) {
 56498  	return nil, false
 56499  }
 56500  
 56501  // AsOrcSource is the BasicCopySource implementation for CouchbaseSource.
 56502  func (cs CouchbaseSource) AsOrcSource() (*OrcSource, bool) {
 56503  	return nil, false
 56504  }
 56505  
 56506  // AsJSONSource is the BasicCopySource implementation for CouchbaseSource.
 56507  func (cs CouchbaseSource) AsJSONSource() (*JSONSource, bool) {
 56508  	return nil, false
 56509  }
 56510  
 56511  // AsDelimitedTextSource is the BasicCopySource implementation for CouchbaseSource.
 56512  func (cs CouchbaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 56513  	return nil, false
 56514  }
 56515  
 56516  // AsParquetSource is the BasicCopySource implementation for CouchbaseSource.
 56517  func (cs CouchbaseSource) AsParquetSource() (*ParquetSource, bool) {
 56518  	return nil, false
 56519  }
 56520  
 56521  // AsAvroSource is the BasicCopySource implementation for CouchbaseSource.
 56522  func (cs CouchbaseSource) AsAvroSource() (*AvroSource, bool) {
 56523  	return nil, false
 56524  }
 56525  
 56526  // AsCopySource is the BasicCopySource implementation for CouchbaseSource.
 56527  func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) {
 56528  	return nil, false
 56529  }
 56530  
 56531  // AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource.
 56532  func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) {
 56533  	return &cs, true
 56534  }
 56535  
 56536  // UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct.
 56537  func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error {
 56538  	var m map[string]*json.RawMessage
 56539  	err := json.Unmarshal(body, &m)
 56540  	if err != nil {
 56541  		return err
 56542  	}
 56543  	for k, v := range m {
 56544  		switch k {
 56545  		case "query":
 56546  			if v != nil {
 56547  				var query interface{}
 56548  				err = json.Unmarshal(*v, &query)
 56549  				if err != nil {
 56550  					return err
 56551  				}
 56552  				cs.Query = query
 56553  			}
 56554  		case "queryTimeout":
 56555  			if v != nil {
 56556  				var queryTimeout interface{}
 56557  				err = json.Unmarshal(*v, &queryTimeout)
 56558  				if err != nil {
 56559  					return err
 56560  				}
 56561  				cs.QueryTimeout = queryTimeout
 56562  			}
 56563  		default:
 56564  			if v != nil {
 56565  				var additionalProperties interface{}
 56566  				err = json.Unmarshal(*v, &additionalProperties)
 56567  				if err != nil {
 56568  					return err
 56569  				}
 56570  				if cs.AdditionalProperties == nil {
 56571  					cs.AdditionalProperties = make(map[string]interface{})
 56572  				}
 56573  				cs.AdditionalProperties[k] = additionalProperties
 56574  			}
 56575  		case "sourceRetryCount":
 56576  			if v != nil {
 56577  				var sourceRetryCount interface{}
 56578  				err = json.Unmarshal(*v, &sourceRetryCount)
 56579  				if err != nil {
 56580  					return err
 56581  				}
 56582  				cs.SourceRetryCount = sourceRetryCount
 56583  			}
 56584  		case "sourceRetryWait":
 56585  			if v != nil {
 56586  				var sourceRetryWait interface{}
 56587  				err = json.Unmarshal(*v, &sourceRetryWait)
 56588  				if err != nil {
 56589  					return err
 56590  				}
 56591  				cs.SourceRetryWait = sourceRetryWait
 56592  			}
 56593  		case "maxConcurrentConnections":
 56594  			if v != nil {
 56595  				var maxConcurrentConnections interface{}
 56596  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 56597  				if err != nil {
 56598  					return err
 56599  				}
 56600  				cs.MaxConcurrentConnections = maxConcurrentConnections
 56601  			}
 56602  		case "type":
 56603  			if v != nil {
 56604  				var typeVar TypeBasicCopySource
 56605  				err = json.Unmarshal(*v, &typeVar)
 56606  				if err != nil {
 56607  					return err
 56608  				}
 56609  				cs.Type = typeVar
 56610  			}
 56611  		}
 56612  	}
 56613  
 56614  	return nil
 56615  }
 56616  
 56617  // CouchbaseTableDataset couchbase server dataset.
 56618  type CouchbaseTableDataset struct {
 56619  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 56620  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 56621  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 56622  	AdditionalProperties map[string]interface{} `json:""`
 56623  	// Description - Dataset description.
 56624  	Description *string `json:"description,omitempty"`
 56625  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 56626  	Structure interface{} `json:"structure,omitempty"`
 56627  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 56628  	Schema interface{} `json:"schema,omitempty"`
 56629  	// LinkedServiceName - Linked service reference.
 56630  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 56631  	// Parameters - Parameters for dataset.
 56632  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 56633  	// Annotations - List of tags that can be used for describing the Dataset.
 56634  	Annotations *[]interface{} `json:"annotations,omitempty"`
 56635  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 56636  	Folder *DatasetFolder `json:"folder,omitempty"`
 56637  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 56638  	Type TypeBasicDataset `json:"type,omitempty"`
 56639  }
 56640  
 56641  // MarshalJSON is the custom marshaler for CouchbaseTableDataset.
 56642  func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) {
 56643  	ctd.Type = TypeCouchbaseTable
 56644  	objectMap := make(map[string]interface{})
 56645  	if ctd.GenericDatasetTypeProperties != nil {
 56646  		objectMap["typeProperties"] = ctd.GenericDatasetTypeProperties
 56647  	}
 56648  	if ctd.Description != nil {
 56649  		objectMap["description"] = ctd.Description
 56650  	}
 56651  	if ctd.Structure != nil {
 56652  		objectMap["structure"] = ctd.Structure
 56653  	}
 56654  	if ctd.Schema != nil {
 56655  		objectMap["schema"] = ctd.Schema
 56656  	}
 56657  	if ctd.LinkedServiceName != nil {
 56658  		objectMap["linkedServiceName"] = ctd.LinkedServiceName
 56659  	}
 56660  	if ctd.Parameters != nil {
 56661  		objectMap["parameters"] = ctd.Parameters
 56662  	}
 56663  	if ctd.Annotations != nil {
 56664  		objectMap["annotations"] = ctd.Annotations
 56665  	}
 56666  	if ctd.Folder != nil {
 56667  		objectMap["folder"] = ctd.Folder
 56668  	}
 56669  	if ctd.Type != "" {
 56670  		objectMap["type"] = ctd.Type
 56671  	}
 56672  	for k, v := range ctd.AdditionalProperties {
 56673  		objectMap[k] = v
 56674  	}
 56675  	return json.Marshal(objectMap)
 56676  }
 56677  
 56678  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56679  func (ctd CouchbaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 56680  	return nil, false
 56681  }
 56682  
 56683  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56684  func (ctd CouchbaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 56685  	return nil, false
 56686  }
 56687  
 56688  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56689  func (ctd CouchbaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 56690  	return nil, false
 56691  }
 56692  
 56693  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56694  func (ctd CouchbaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 56695  	return nil, false
 56696  }
 56697  
 56698  // AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56699  func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 56700  	return nil, false
 56701  }
 56702  
 56703  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56704  func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 56705  	return nil, false
 56706  }
 56707  
 56708  // AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56709  func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 56710  	return nil, false
 56711  }
 56712  
 56713  // AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56714  func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 56715  	return nil, false
 56716  }
 56717  
 56718  // AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56719  func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 56720  	return nil, false
 56721  }
 56722  
 56723  // AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56724  func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 56725  	return nil, false
 56726  }
 56727  
 56728  // AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56729  func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 56730  	return nil, false
 56731  }
 56732  
 56733  // AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56734  func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 56735  	return nil, false
 56736  }
 56737  
 56738  // AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56739  func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 56740  	return nil, false
 56741  }
 56742  
 56743  // AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56744  func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 56745  	return nil, false
 56746  }
 56747  
 56748  // AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56749  func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 56750  	return nil, false
 56751  }
 56752  
 56753  // AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56754  func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 56755  	return nil, false
 56756  }
 56757  
 56758  // AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56759  func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 56760  	return nil, false
 56761  }
 56762  
 56763  // AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56764  func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 56765  	return nil, false
 56766  }
 56767  
 56768  // AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56769  func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 56770  	return nil, false
 56771  }
 56772  
 56773  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56774  func (ctd CouchbaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 56775  	return nil, false
 56776  }
 56777  
 56778  // AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56779  func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 56780  	return nil, false
 56781  }
 56782  
 56783  // AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56784  func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 56785  	return nil, false
 56786  }
 56787  
 56788  // AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56789  func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 56790  	return nil, false
 56791  }
 56792  
 56793  // AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56794  func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 56795  	return nil, false
 56796  }
 56797  
 56798  // AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56799  func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 56800  	return nil, false
 56801  }
 56802  
 56803  // AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56804  func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 56805  	return nil, false
 56806  }
 56807  
 56808  // AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56809  func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 56810  	return nil, false
 56811  }
 56812  
 56813  // AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56814  func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 56815  	return nil, false
 56816  }
 56817  
 56818  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56819  func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 56820  	return nil, false
 56821  }
 56822  
 56823  // AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56824  func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 56825  	return nil, false
 56826  }
 56827  
 56828  // AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56829  func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 56830  	return nil, false
 56831  }
 56832  
 56833  // AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56834  func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 56835  	return &ctd, true
 56836  }
 56837  
 56838  // AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56839  func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 56840  	return nil, false
 56841  }
 56842  
 56843  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56844  func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 56845  	return nil, false
 56846  }
 56847  
 56848  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56849  func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 56850  	return nil, false
 56851  }
 56852  
 56853  // AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56854  func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 56855  	return nil, false
 56856  }
 56857  
 56858  // AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56859  func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 56860  	return nil, false
 56861  }
 56862  
 56863  // AsSapTableResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56864  func (ctd CouchbaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 56865  	return nil, false
 56866  }
 56867  
 56868  // AsRestResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56869  func (ctd CouchbaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 56870  	return nil, false
 56871  }
 56872  
 56873  // AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56874  func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 56875  	return nil, false
 56876  }
 56877  
 56878  // AsSapOpenHubTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56879  func (ctd CouchbaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 56880  	return nil, false
 56881  }
 56882  
 56883  // AsSapHanaTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56884  func (ctd CouchbaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 56885  	return nil, false
 56886  }
 56887  
 56888  // AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56889  func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 56890  	return nil, false
 56891  }
 56892  
 56893  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56894  func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 56895  	return nil, false
 56896  }
 56897  
 56898  // AsSapBwCubeDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56899  func (ctd CouchbaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 56900  	return nil, false
 56901  }
 56902  
 56903  // AsSybaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56904  func (ctd CouchbaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 56905  	return nil, false
 56906  }
 56907  
 56908  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56909  func (ctd CouchbaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 56910  	return nil, false
 56911  }
 56912  
 56913  // AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56914  func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 56915  	return nil, false
 56916  }
 56917  
 56918  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56919  func (ctd CouchbaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 56920  	return nil, false
 56921  }
 56922  
 56923  // AsPostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56924  func (ctd CouchbaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 56925  	return nil, false
 56926  }
 56927  
 56928  // AsMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56929  func (ctd CouchbaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 56930  	return nil, false
 56931  }
 56932  
 56933  // AsOdbcTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56934  func (ctd CouchbaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 56935  	return nil, false
 56936  }
 56937  
 56938  // AsInformixTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56939  func (ctd CouchbaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 56940  	return nil, false
 56941  }
 56942  
 56943  // AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56944  func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 56945  	return nil, false
 56946  }
 56947  
 56948  // AsDb2TableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56949  func (ctd CouchbaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 56950  	return nil, false
 56951  }
 56952  
 56953  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56954  func (ctd CouchbaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 56955  	return nil, false
 56956  }
 56957  
 56958  // AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56959  func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 56960  	return nil, false
 56961  }
 56962  
 56963  // AsTeradataTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56964  func (ctd CouchbaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 56965  	return nil, false
 56966  }
 56967  
 56968  // AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56969  func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 56970  	return nil, false
 56971  }
 56972  
 56973  // AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56974  func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 56975  	return nil, false
 56976  }
 56977  
 56978  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56979  func (ctd CouchbaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 56980  	return nil, false
 56981  }
 56982  
 56983  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56984  func (ctd CouchbaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 56985  	return nil, false
 56986  }
 56987  
 56988  // AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56989  func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 56990  	return nil, false
 56991  }
 56992  
 56993  // AsOffice365Dataset is the BasicDataset implementation for CouchbaseTableDataset.
 56994  func (ctd CouchbaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 56995  	return nil, false
 56996  }
 56997  
 56998  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
 56999  func (ctd CouchbaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 57000  	return nil, false
 57001  }
 57002  
 57003  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57004  func (ctd CouchbaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 57005  	return nil, false
 57006  }
 57007  
 57008  // AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57009  func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 57010  	return nil, false
 57011  }
 57012  
 57013  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57014  func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 57015  	return nil, false
 57016  }
 57017  
 57018  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57019  func (ctd CouchbaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 57020  	return nil, false
 57021  }
 57022  
 57023  // AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57024  func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 57025  	return nil, false
 57026  }
 57027  
 57028  // AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57029  func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 57030  	return nil, false
 57031  }
 57032  
 57033  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57034  func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 57035  	return nil, false
 57036  }
 57037  
 57038  // AsAzureSQLMITableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57039  func (ctd CouchbaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 57040  	return nil, false
 57041  }
 57042  
 57043  // AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57044  func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 57045  	return nil, false
 57046  }
 57047  
 57048  // AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57049  func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 57050  	return nil, false
 57051  }
 57052  
 57053  // AsBinaryDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57054  func (ctd CouchbaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 57055  	return nil, false
 57056  }
 57057  
 57058  // AsOrcDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57059  func (ctd CouchbaseTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 57060  	return nil, false
 57061  }
 57062  
 57063  // AsJSONDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57064  func (ctd CouchbaseTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 57065  	return nil, false
 57066  }
 57067  
 57068  // AsDelimitedTextDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57069  func (ctd CouchbaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 57070  	return nil, false
 57071  }
 57072  
 57073  // AsParquetDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57074  func (ctd CouchbaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 57075  	return nil, false
 57076  }
 57077  
 57078  // AsAvroDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57079  func (ctd CouchbaseTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 57080  	return nil, false
 57081  }
 57082  
 57083  // AsDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57084  func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) {
 57085  	return nil, false
 57086  }
 57087  
 57088  // AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset.
 57089  func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) {
 57090  	return &ctd, true
 57091  }
 57092  
 57093  // UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct.
 57094  func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error {
 57095  	var m map[string]*json.RawMessage
 57096  	err := json.Unmarshal(body, &m)
 57097  	if err != nil {
 57098  		return err
 57099  	}
 57100  	for k, v := range m {
 57101  		switch k {
 57102  		case "typeProperties":
 57103  			if v != nil {
 57104  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 57105  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 57106  				if err != nil {
 57107  					return err
 57108  				}
 57109  				ctd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 57110  			}
 57111  		default:
 57112  			if v != nil {
 57113  				var additionalProperties interface{}
 57114  				err = json.Unmarshal(*v, &additionalProperties)
 57115  				if err != nil {
 57116  					return err
 57117  				}
 57118  				if ctd.AdditionalProperties == nil {
 57119  					ctd.AdditionalProperties = make(map[string]interface{})
 57120  				}
 57121  				ctd.AdditionalProperties[k] = additionalProperties
 57122  			}
 57123  		case "description":
 57124  			if v != nil {
 57125  				var description string
 57126  				err = json.Unmarshal(*v, &description)
 57127  				if err != nil {
 57128  					return err
 57129  				}
 57130  				ctd.Description = &description
 57131  			}
 57132  		case "structure":
 57133  			if v != nil {
 57134  				var structure interface{}
 57135  				err = json.Unmarshal(*v, &structure)
 57136  				if err != nil {
 57137  					return err
 57138  				}
 57139  				ctd.Structure = structure
 57140  			}
 57141  		case "schema":
 57142  			if v != nil {
 57143  				var schema interface{}
 57144  				err = json.Unmarshal(*v, &schema)
 57145  				if err != nil {
 57146  					return err
 57147  				}
 57148  				ctd.Schema = schema
 57149  			}
 57150  		case "linkedServiceName":
 57151  			if v != nil {
 57152  				var linkedServiceName LinkedServiceReference
 57153  				err = json.Unmarshal(*v, &linkedServiceName)
 57154  				if err != nil {
 57155  					return err
 57156  				}
 57157  				ctd.LinkedServiceName = &linkedServiceName
 57158  			}
 57159  		case "parameters":
 57160  			if v != nil {
 57161  				var parameters map[string]*ParameterSpecification
 57162  				err = json.Unmarshal(*v, &parameters)
 57163  				if err != nil {
 57164  					return err
 57165  				}
 57166  				ctd.Parameters = parameters
 57167  			}
 57168  		case "annotations":
 57169  			if v != nil {
 57170  				var annotations []interface{}
 57171  				err = json.Unmarshal(*v, &annotations)
 57172  				if err != nil {
 57173  					return err
 57174  				}
 57175  				ctd.Annotations = &annotations
 57176  			}
 57177  		case "folder":
 57178  			if v != nil {
 57179  				var folder DatasetFolder
 57180  				err = json.Unmarshal(*v, &folder)
 57181  				if err != nil {
 57182  					return err
 57183  				}
 57184  				ctd.Folder = &folder
 57185  			}
 57186  		case "type":
 57187  			if v != nil {
 57188  				var typeVar TypeBasicDataset
 57189  				err = json.Unmarshal(*v, &typeVar)
 57190  				if err != nil {
 57191  					return err
 57192  				}
 57193  				ctd.Type = typeVar
 57194  			}
 57195  		}
 57196  	}
 57197  
 57198  	return nil
 57199  }
 57200  
 57201  // CreateDataFlowDebugSessionRequest request body structure for creating data flow debug session.
 57202  type CreateDataFlowDebugSessionRequest struct {
 57203  	// DataFlowName - The name of the data flow.
 57204  	DataFlowName *string `json:"dataFlowName,omitempty"`
 57205  	// ExistingClusterID - The ID of existing Databricks cluster.
 57206  	ExistingClusterID *string `json:"existingClusterId,omitempty"`
 57207  	// ClusterTimeout - Timeout setting for Databricks cluster.
 57208  	ClusterTimeout *int32 `json:"clusterTimeout,omitempty"`
 57209  	// NewClusterName - The name of new Databricks cluster.
 57210  	NewClusterName *string `json:"newClusterName,omitempty"`
 57211  	// NewClusterNodeType - The type of new Databricks cluster.
 57212  	NewClusterNodeType *string `json:"newClusterNodeType,omitempty"`
 57213  	// DataBricksLinkedService - Data bricks linked service.
 57214  	DataBricksLinkedService *LinkedServiceResource `json:"dataBricksLinkedService,omitempty"`
 57215  }
 57216  
 57217  // CreateDataFlowDebugSessionResponse response body structure for creating data flow debug session.
 57218  type CreateDataFlowDebugSessionResponse struct {
 57219  	autorest.Response `json:"-"`
 57220  	// SessionID - The ID of data flow debug session.
 57221  	SessionID *string `json:"sessionId,omitempty"`
 57222  }
 57223  
 57224  // CreateRunResponse response body with a run identifier.
 57225  type CreateRunResponse struct {
 57226  	autorest.Response `json:"-"`
 57227  	// RunID - Identifier of a run.
 57228  	RunID *string `json:"runId,omitempty"`
 57229  }
 57230  
 57231  // CustomActivity custom activity type.
 57232  type CustomActivity struct {
 57233  	// CustomActivityTypeProperties - Custom activity properties.
 57234  	*CustomActivityTypeProperties `json:"typeProperties,omitempty"`
 57235  	// LinkedServiceName - Linked service reference.
 57236  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 57237  	// Policy - Activity policy.
 57238  	Policy *ActivityPolicy `json:"policy,omitempty"`
 57239  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 57240  	AdditionalProperties map[string]interface{} `json:""`
 57241  	// Name - Activity name.
 57242  	Name *string `json:"name,omitempty"`
 57243  	// Description - Activity description.
 57244  	Description *string `json:"description,omitempty"`
 57245  	// DependsOn - Activity depends on condition.
 57246  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 57247  	// UserProperties - Activity user properties.
 57248  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 57249  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 57250  	Type TypeBasicActivity `json:"type,omitempty"`
 57251  }
 57252  
 57253  // MarshalJSON is the custom marshaler for CustomActivity.
 57254  func (ca CustomActivity) MarshalJSON() ([]byte, error) {
 57255  	ca.Type = TypeCustom
 57256  	objectMap := make(map[string]interface{})
 57257  	if ca.CustomActivityTypeProperties != nil {
 57258  		objectMap["typeProperties"] = ca.CustomActivityTypeProperties
 57259  	}
 57260  	if ca.LinkedServiceName != nil {
 57261  		objectMap["linkedServiceName"] = ca.LinkedServiceName
 57262  	}
 57263  	if ca.Policy != nil {
 57264  		objectMap["policy"] = ca.Policy
 57265  	}
 57266  	if ca.Name != nil {
 57267  		objectMap["name"] = ca.Name
 57268  	}
 57269  	if ca.Description != nil {
 57270  		objectMap["description"] = ca.Description
 57271  	}
 57272  	if ca.DependsOn != nil {
 57273  		objectMap["dependsOn"] = ca.DependsOn
 57274  	}
 57275  	if ca.UserProperties != nil {
 57276  		objectMap["userProperties"] = ca.UserProperties
 57277  	}
 57278  	if ca.Type != "" {
 57279  		objectMap["type"] = ca.Type
 57280  	}
 57281  	for k, v := range ca.AdditionalProperties {
 57282  		objectMap[k] = v
 57283  	}
 57284  	return json.Marshal(objectMap)
 57285  }
 57286  
 57287  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for CustomActivity.
 57288  func (ca CustomActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 57289  	return nil, false
 57290  }
 57291  
 57292  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for CustomActivity.
 57293  func (ca CustomActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 57294  	return nil, false
 57295  }
 57296  
 57297  // AsSynapseNotebookActivity is the BasicActivity implementation for CustomActivity.
 57298  func (ca CustomActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 57299  	return nil, false
 57300  }
 57301  
 57302  // AsExecuteDataFlowActivity is the BasicActivity implementation for CustomActivity.
 57303  func (ca CustomActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 57304  	return nil, false
 57305  }
 57306  
 57307  // AsAzureFunctionActivity is the BasicActivity implementation for CustomActivity.
 57308  func (ca CustomActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 57309  	return nil, false
 57310  }
 57311  
 57312  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for CustomActivity.
 57313  func (ca CustomActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 57314  	return nil, false
 57315  }
 57316  
 57317  // AsDatabricksSparkJarActivity is the BasicActivity implementation for CustomActivity.
 57318  func (ca CustomActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 57319  	return nil, false
 57320  }
 57321  
 57322  // AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity.
 57323  func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 57324  	return nil, false
 57325  }
 57326  
 57327  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity.
 57328  func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 57329  	return nil, false
 57330  }
 57331  
 57332  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CustomActivity.
 57333  func (ca CustomActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 57334  	return nil, false
 57335  }
 57336  
 57337  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity.
 57338  func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 57339  	return nil, false
 57340  }
 57341  
 57342  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity.
 57343  func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 57344  	return nil, false
 57345  }
 57346  
 57347  // AsGetMetadataActivity is the BasicActivity implementation for CustomActivity.
 57348  func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 57349  	return nil, false
 57350  }
 57351  
 57352  // AsWebActivity is the BasicActivity implementation for CustomActivity.
 57353  func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) {
 57354  	return nil, false
 57355  }
 57356  
 57357  // AsLookupActivity is the BasicActivity implementation for CustomActivity.
 57358  func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) {
 57359  	return nil, false
 57360  }
 57361  
 57362  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CustomActivity.
 57363  func (ca CustomActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 57364  	return nil, false
 57365  }
 57366  
 57367  // AsDeleteActivity is the BasicActivity implementation for CustomActivity.
 57368  func (ca CustomActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 57369  	return nil, false
 57370  }
 57371  
 57372  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity.
 57373  func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 57374  	return nil, false
 57375  }
 57376  
 57377  // AsCustomActivity is the BasicActivity implementation for CustomActivity.
 57378  func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) {
 57379  	return &ca, true
 57380  }
 57381  
 57382  // AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity.
 57383  func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 57384  	return nil, false
 57385  }
 57386  
 57387  // AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity.
 57388  func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 57389  	return nil, false
 57390  }
 57391  
 57392  // AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity.
 57393  func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 57394  	return nil, false
 57395  }
 57396  
 57397  // AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity.
 57398  func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 57399  	return nil, false
 57400  }
 57401  
 57402  // AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity.
 57403  func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 57404  	return nil, false
 57405  }
 57406  
 57407  // AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity.
 57408  func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 57409  	return nil, false
 57410  }
 57411  
 57412  // AsCopyActivity is the BasicActivity implementation for CustomActivity.
 57413  func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) {
 57414  	return nil, false
 57415  }
 57416  
 57417  // AsExecutionActivity is the BasicActivity implementation for CustomActivity.
 57418  func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 57419  	return nil, false
 57420  }
 57421  
 57422  // AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity.
 57423  func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 57424  	return &ca, true
 57425  }
 57426  
 57427  // AsWebHookActivity is the BasicActivity implementation for CustomActivity.
 57428  func (ca CustomActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 57429  	return nil, false
 57430  }
 57431  
 57432  // AsAppendVariableActivity is the BasicActivity implementation for CustomActivity.
 57433  func (ca CustomActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 57434  	return nil, false
 57435  }
 57436  
 57437  // AsSetVariableActivity is the BasicActivity implementation for CustomActivity.
 57438  func (ca CustomActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 57439  	return nil, false
 57440  }
 57441  
 57442  // AsFilterActivity is the BasicActivity implementation for CustomActivity.
 57443  func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) {
 57444  	return nil, false
 57445  }
 57446  
 57447  // AsValidationActivity is the BasicActivity implementation for CustomActivity.
 57448  func (ca CustomActivity) AsValidationActivity() (*ValidationActivity, bool) {
 57449  	return nil, false
 57450  }
 57451  
 57452  // AsUntilActivity is the BasicActivity implementation for CustomActivity.
 57453  func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) {
 57454  	return nil, false
 57455  }
 57456  
 57457  // AsWaitActivity is the BasicActivity implementation for CustomActivity.
 57458  func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) {
 57459  	return nil, false
 57460  }
 57461  
 57462  // AsForEachActivity is the BasicActivity implementation for CustomActivity.
 57463  func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) {
 57464  	return nil, false
 57465  }
 57466  
 57467  // AsSwitchActivity is the BasicActivity implementation for CustomActivity.
 57468  func (ca CustomActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 57469  	return nil, false
 57470  }
 57471  
 57472  // AsIfConditionActivity is the BasicActivity implementation for CustomActivity.
 57473  func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 57474  	return nil, false
 57475  }
 57476  
 57477  // AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity.
 57478  func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 57479  	return nil, false
 57480  }
 57481  
 57482  // AsControlActivity is the BasicActivity implementation for CustomActivity.
 57483  func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) {
 57484  	return nil, false
 57485  }
 57486  
 57487  // AsBasicControlActivity is the BasicActivity implementation for CustomActivity.
 57488  func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 57489  	return nil, false
 57490  }
 57491  
 57492  // AsActivity is the BasicActivity implementation for CustomActivity.
 57493  func (ca CustomActivity) AsActivity() (*Activity, bool) {
 57494  	return nil, false
 57495  }
 57496  
 57497  // AsBasicActivity is the BasicActivity implementation for CustomActivity.
 57498  func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) {
 57499  	return &ca, true
 57500  }
 57501  
 57502  // UnmarshalJSON is the custom unmarshaler for CustomActivity struct.
 57503  func (ca *CustomActivity) UnmarshalJSON(body []byte) error {
 57504  	var m map[string]*json.RawMessage
 57505  	err := json.Unmarshal(body, &m)
 57506  	if err != nil {
 57507  		return err
 57508  	}
 57509  	for k, v := range m {
 57510  		switch k {
 57511  		case "typeProperties":
 57512  			if v != nil {
 57513  				var customActivityTypeProperties CustomActivityTypeProperties
 57514  				err = json.Unmarshal(*v, &customActivityTypeProperties)
 57515  				if err != nil {
 57516  					return err
 57517  				}
 57518  				ca.CustomActivityTypeProperties = &customActivityTypeProperties
 57519  			}
 57520  		case "linkedServiceName":
 57521  			if v != nil {
 57522  				var linkedServiceName LinkedServiceReference
 57523  				err = json.Unmarshal(*v, &linkedServiceName)
 57524  				if err != nil {
 57525  					return err
 57526  				}
 57527  				ca.LinkedServiceName = &linkedServiceName
 57528  			}
 57529  		case "policy":
 57530  			if v != nil {
 57531  				var policy ActivityPolicy
 57532  				err = json.Unmarshal(*v, &policy)
 57533  				if err != nil {
 57534  					return err
 57535  				}
 57536  				ca.Policy = &policy
 57537  			}
 57538  		default:
 57539  			if v != nil {
 57540  				var additionalProperties interface{}
 57541  				err = json.Unmarshal(*v, &additionalProperties)
 57542  				if err != nil {
 57543  					return err
 57544  				}
 57545  				if ca.AdditionalProperties == nil {
 57546  					ca.AdditionalProperties = make(map[string]interface{})
 57547  				}
 57548  				ca.AdditionalProperties[k] = additionalProperties
 57549  			}
 57550  		case "name":
 57551  			if v != nil {
 57552  				var name string
 57553  				err = json.Unmarshal(*v, &name)
 57554  				if err != nil {
 57555  					return err
 57556  				}
 57557  				ca.Name = &name
 57558  			}
 57559  		case "description":
 57560  			if v != nil {
 57561  				var description string
 57562  				err = json.Unmarshal(*v, &description)
 57563  				if err != nil {
 57564  					return err
 57565  				}
 57566  				ca.Description = &description
 57567  			}
 57568  		case "dependsOn":
 57569  			if v != nil {
 57570  				var dependsOn []ActivityDependency
 57571  				err = json.Unmarshal(*v, &dependsOn)
 57572  				if err != nil {
 57573  					return err
 57574  				}
 57575  				ca.DependsOn = &dependsOn
 57576  			}
 57577  		case "userProperties":
 57578  			if v != nil {
 57579  				var userProperties []UserProperty
 57580  				err = json.Unmarshal(*v, &userProperties)
 57581  				if err != nil {
 57582  					return err
 57583  				}
 57584  				ca.UserProperties = &userProperties
 57585  			}
 57586  		case "type":
 57587  			if v != nil {
 57588  				var typeVar TypeBasicActivity
 57589  				err = json.Unmarshal(*v, &typeVar)
 57590  				if err != nil {
 57591  					return err
 57592  				}
 57593  				ca.Type = typeVar
 57594  			}
 57595  		}
 57596  	}
 57597  
 57598  	return nil
 57599  }
 57600  
 57601  // CustomActivityReferenceObject reference objects for custom activity
 57602  type CustomActivityReferenceObject struct {
 57603  	// LinkedServices - Linked service references.
 57604  	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
 57605  	// Datasets - Dataset references.
 57606  	Datasets *[]DatasetReference `json:"datasets,omitempty"`
 57607  }
 57608  
 57609  // CustomActivityTypeProperties custom activity properties.
 57610  type CustomActivityTypeProperties struct {
 57611  	// Command - Command for custom activity Type: string (or Expression with resultType string).
 57612  	Command interface{} `json:"command,omitempty"`
 57613  	// ResourceLinkedService - Resource linked service reference.
 57614  	ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"`
 57615  	// FolderPath - Folder path for resource files Type: string (or Expression with resultType string).
 57616  	FolderPath interface{} `json:"folderPath,omitempty"`
 57617  	// ReferenceObjects - Reference objects
 57618  	ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"`
 57619  	// 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.
 57620  	ExtendedProperties map[string]interface{} `json:"extendedProperties"`
 57621  	// RetentionTimeInDays - The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double).
 57622  	RetentionTimeInDays interface{} `json:"retentionTimeInDays,omitempty"`
 57623  }
 57624  
 57625  // MarshalJSON is the custom marshaler for CustomActivityTypeProperties.
 57626  func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) {
 57627  	objectMap := make(map[string]interface{})
 57628  	if catp.Command != nil {
 57629  		objectMap["command"] = catp.Command
 57630  	}
 57631  	if catp.ResourceLinkedService != nil {
 57632  		objectMap["resourceLinkedService"] = catp.ResourceLinkedService
 57633  	}
 57634  	if catp.FolderPath != nil {
 57635  		objectMap["folderPath"] = catp.FolderPath
 57636  	}
 57637  	if catp.ReferenceObjects != nil {
 57638  		objectMap["referenceObjects"] = catp.ReferenceObjects
 57639  	}
 57640  	if catp.ExtendedProperties != nil {
 57641  		objectMap["extendedProperties"] = catp.ExtendedProperties
 57642  	}
 57643  	if catp.RetentionTimeInDays != nil {
 57644  		objectMap["retentionTimeInDays"] = catp.RetentionTimeInDays
 57645  	}
 57646  	return json.Marshal(objectMap)
 57647  }
 57648  
 57649  // CustomDataset the custom dataset.
 57650  type CustomDataset struct {
 57651  	// TypeProperties - Custom dataset properties.
 57652  	TypeProperties interface{} `json:"typeProperties,omitempty"`
 57653  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 57654  	AdditionalProperties map[string]interface{} `json:""`
 57655  	// Description - Dataset description.
 57656  	Description *string `json:"description,omitempty"`
 57657  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 57658  	Structure interface{} `json:"structure,omitempty"`
 57659  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 57660  	Schema interface{} `json:"schema,omitempty"`
 57661  	// LinkedServiceName - Linked service reference.
 57662  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 57663  	// Parameters - Parameters for dataset.
 57664  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 57665  	// Annotations - List of tags that can be used for describing the Dataset.
 57666  	Annotations *[]interface{} `json:"annotations,omitempty"`
 57667  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 57668  	Folder *DatasetFolder `json:"folder,omitempty"`
 57669  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 57670  	Type TypeBasicDataset `json:"type,omitempty"`
 57671  }
 57672  
 57673  // MarshalJSON is the custom marshaler for CustomDataset.
 57674  func (cd CustomDataset) MarshalJSON() ([]byte, error) {
 57675  	cd.Type = TypeCustomDataset
 57676  	objectMap := make(map[string]interface{})
 57677  	if cd.TypeProperties != nil {
 57678  		objectMap["typeProperties"] = cd.TypeProperties
 57679  	}
 57680  	if cd.Description != nil {
 57681  		objectMap["description"] = cd.Description
 57682  	}
 57683  	if cd.Structure != nil {
 57684  		objectMap["structure"] = cd.Structure
 57685  	}
 57686  	if cd.Schema != nil {
 57687  		objectMap["schema"] = cd.Schema
 57688  	}
 57689  	if cd.LinkedServiceName != nil {
 57690  		objectMap["linkedServiceName"] = cd.LinkedServiceName
 57691  	}
 57692  	if cd.Parameters != nil {
 57693  		objectMap["parameters"] = cd.Parameters
 57694  	}
 57695  	if cd.Annotations != nil {
 57696  		objectMap["annotations"] = cd.Annotations
 57697  	}
 57698  	if cd.Folder != nil {
 57699  		objectMap["folder"] = cd.Folder
 57700  	}
 57701  	if cd.Type != "" {
 57702  		objectMap["type"] = cd.Type
 57703  	}
 57704  	for k, v := range cd.AdditionalProperties {
 57705  		objectMap[k] = v
 57706  	}
 57707  	return json.Marshal(objectMap)
 57708  }
 57709  
 57710  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CustomDataset.
 57711  func (cd CustomDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 57712  	return nil, false
 57713  }
 57714  
 57715  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for CustomDataset.
 57716  func (cd CustomDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 57717  	return nil, false
 57718  }
 57719  
 57720  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset.
 57721  func (cd CustomDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 57722  	return nil, false
 57723  }
 57724  
 57725  // AsDynamicsAXResourceDataset is the BasicDataset implementation for CustomDataset.
 57726  func (cd CustomDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 57727  	return nil, false
 57728  }
 57729  
 57730  // AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset.
 57731  func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 57732  	return nil, false
 57733  }
 57734  
 57735  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset.
 57736  func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 57737  	return nil, false
 57738  }
 57739  
 57740  // AsVerticaTableDataset is the BasicDataset implementation for CustomDataset.
 57741  func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 57742  	return nil, false
 57743  }
 57744  
 57745  // AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset.
 57746  func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 57747  	return nil, false
 57748  }
 57749  
 57750  // AsZohoObjectDataset is the BasicDataset implementation for CustomDataset.
 57751  func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 57752  	return nil, false
 57753  }
 57754  
 57755  // AsXeroObjectDataset is the BasicDataset implementation for CustomDataset.
 57756  func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 57757  	return nil, false
 57758  }
 57759  
 57760  // AsSquareObjectDataset is the BasicDataset implementation for CustomDataset.
 57761  func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 57762  	return nil, false
 57763  }
 57764  
 57765  // AsSparkObjectDataset is the BasicDataset implementation for CustomDataset.
 57766  func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 57767  	return nil, false
 57768  }
 57769  
 57770  // AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset.
 57771  func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 57772  	return nil, false
 57773  }
 57774  
 57775  // AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset.
 57776  func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 57777  	return nil, false
 57778  }
 57779  
 57780  // AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset.
 57781  func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 57782  	return nil, false
 57783  }
 57784  
 57785  // AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset.
 57786  func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 57787  	return nil, false
 57788  }
 57789  
 57790  // AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset.
 57791  func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 57792  	return nil, false
 57793  }
 57794  
 57795  // AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset.
 57796  func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 57797  	return nil, false
 57798  }
 57799  
 57800  // AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset.
 57801  func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 57802  	return nil, false
 57803  }
 57804  
 57805  // AsAzureMariaDBTableDataset is the BasicDataset implementation for CustomDataset.
 57806  func (cd CustomDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 57807  	return nil, false
 57808  }
 57809  
 57810  // AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset.
 57811  func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 57812  	return nil, false
 57813  }
 57814  
 57815  // AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset.
 57816  func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 57817  	return nil, false
 57818  }
 57819  
 57820  // AsJiraObjectDataset is the BasicDataset implementation for CustomDataset.
 57821  func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 57822  	return nil, false
 57823  }
 57824  
 57825  // AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset.
 57826  func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 57827  	return nil, false
 57828  }
 57829  
 57830  // AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset.
 57831  func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 57832  	return nil, false
 57833  }
 57834  
 57835  // AsHiveObjectDataset is the BasicDataset implementation for CustomDataset.
 57836  func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 57837  	return nil, false
 57838  }
 57839  
 57840  // AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset.
 57841  func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 57842  	return nil, false
 57843  }
 57844  
 57845  // AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset.
 57846  func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 57847  	return nil, false
 57848  }
 57849  
 57850  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset.
 57851  func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 57852  	return nil, false
 57853  }
 57854  
 57855  // AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset.
 57856  func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 57857  	return nil, false
 57858  }
 57859  
 57860  // AsDrillTableDataset is the BasicDataset implementation for CustomDataset.
 57861  func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 57862  	return nil, false
 57863  }
 57864  
 57865  // AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset.
 57866  func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 57867  	return nil, false
 57868  }
 57869  
 57870  // AsConcurObjectDataset is the BasicDataset implementation for CustomDataset.
 57871  func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 57872  	return nil, false
 57873  }
 57874  
 57875  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
 57876  func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 57877  	return nil, false
 57878  }
 57879  
 57880  // AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset.
 57881  func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 57882  	return nil, false
 57883  }
 57884  
 57885  // AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset.
 57886  func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 57887  	return nil, false
 57888  }
 57889  
 57890  // AsWebTableDataset is the BasicDataset implementation for CustomDataset.
 57891  func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 57892  	return nil, false
 57893  }
 57894  
 57895  // AsSapTableResourceDataset is the BasicDataset implementation for CustomDataset.
 57896  func (cd CustomDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 57897  	return nil, false
 57898  }
 57899  
 57900  // AsRestResourceDataset is the BasicDataset implementation for CustomDataset.
 57901  func (cd CustomDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 57902  	return nil, false
 57903  }
 57904  
 57905  // AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset.
 57906  func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 57907  	return nil, false
 57908  }
 57909  
 57910  // AsSapOpenHubTableDataset is the BasicDataset implementation for CustomDataset.
 57911  func (cd CustomDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 57912  	return nil, false
 57913  }
 57914  
 57915  // AsSapHanaTableDataset is the BasicDataset implementation for CustomDataset.
 57916  func (cd CustomDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 57917  	return nil, false
 57918  }
 57919  
 57920  // AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset.
 57921  func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 57922  	return nil, false
 57923  }
 57924  
 57925  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset.
 57926  func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 57927  	return nil, false
 57928  }
 57929  
 57930  // AsSapBwCubeDataset is the BasicDataset implementation for CustomDataset.
 57931  func (cd CustomDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 57932  	return nil, false
 57933  }
 57934  
 57935  // AsSybaseTableDataset is the BasicDataset implementation for CustomDataset.
 57936  func (cd CustomDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 57937  	return nil, false
 57938  }
 57939  
 57940  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset.
 57941  func (cd CustomDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 57942  	return nil, false
 57943  }
 57944  
 57945  // AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset.
 57946  func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 57947  	return nil, false
 57948  }
 57949  
 57950  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for CustomDataset.
 57951  func (cd CustomDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 57952  	return nil, false
 57953  }
 57954  
 57955  // AsPostgreSQLTableDataset is the BasicDataset implementation for CustomDataset.
 57956  func (cd CustomDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 57957  	return nil, false
 57958  }
 57959  
 57960  // AsMySQLTableDataset is the BasicDataset implementation for CustomDataset.
 57961  func (cd CustomDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 57962  	return nil, false
 57963  }
 57964  
 57965  // AsOdbcTableDataset is the BasicDataset implementation for CustomDataset.
 57966  func (cd CustomDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 57967  	return nil, false
 57968  }
 57969  
 57970  // AsInformixTableDataset is the BasicDataset implementation for CustomDataset.
 57971  func (cd CustomDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 57972  	return nil, false
 57973  }
 57974  
 57975  // AsRelationalTableDataset is the BasicDataset implementation for CustomDataset.
 57976  func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 57977  	return nil, false
 57978  }
 57979  
 57980  // AsDb2TableDataset is the BasicDataset implementation for CustomDataset.
 57981  func (cd CustomDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 57982  	return nil, false
 57983  }
 57984  
 57985  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for CustomDataset.
 57986  func (cd CustomDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 57987  	return nil, false
 57988  }
 57989  
 57990  // AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset.
 57991  func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 57992  	return nil, false
 57993  }
 57994  
 57995  // AsTeradataTableDataset is the BasicDataset implementation for CustomDataset.
 57996  func (cd CustomDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 57997  	return nil, false
 57998  }
 57999  
 58000  // AsOracleTableDataset is the BasicDataset implementation for CustomDataset.
 58001  func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 58002  	return nil, false
 58003  }
 58004  
 58005  // AsODataResourceDataset is the BasicDataset implementation for CustomDataset.
 58006  func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 58007  	return nil, false
 58008  }
 58009  
 58010  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CustomDataset.
 58011  func (cd CustomDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 58012  	return nil, false
 58013  }
 58014  
 58015  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for CustomDataset.
 58016  func (cd CustomDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 58017  	return nil, false
 58018  }
 58019  
 58020  // AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset.
 58021  func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 58022  	return nil, false
 58023  }
 58024  
 58025  // AsOffice365Dataset is the BasicDataset implementation for CustomDataset.
 58026  func (cd CustomDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 58027  	return nil, false
 58028  }
 58029  
 58030  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CustomDataset.
 58031  func (cd CustomDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 58032  	return nil, false
 58033  }
 58034  
 58035  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for CustomDataset.
 58036  func (cd CustomDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 58037  	return nil, false
 58038  }
 58039  
 58040  // AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset.
 58041  func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 58042  	return nil, false
 58043  }
 58044  
 58045  // AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset.
 58046  func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 58047  	return nil, false
 58048  }
 58049  
 58050  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CustomDataset.
 58051  func (cd CustomDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 58052  	return nil, false
 58053  }
 58054  
 58055  // AsCustomDataset is the BasicDataset implementation for CustomDataset.
 58056  func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) {
 58057  	return &cd, true
 58058  }
 58059  
 58060  // AsCassandraTableDataset is the BasicDataset implementation for CustomDataset.
 58061  func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 58062  	return nil, false
 58063  }
 58064  
 58065  // AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset.
 58066  func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 58067  	return nil, false
 58068  }
 58069  
 58070  // AsAzureSQLMITableDataset is the BasicDataset implementation for CustomDataset.
 58071  func (cd CustomDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 58072  	return nil, false
 58073  }
 58074  
 58075  // AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset.
 58076  func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 58077  	return nil, false
 58078  }
 58079  
 58080  // AsAzureTableDataset is the BasicDataset implementation for CustomDataset.
 58081  func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 58082  	return nil, false
 58083  }
 58084  
 58085  // AsBinaryDataset is the BasicDataset implementation for CustomDataset.
 58086  func (cd CustomDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 58087  	return nil, false
 58088  }
 58089  
 58090  // AsOrcDataset is the BasicDataset implementation for CustomDataset.
 58091  func (cd CustomDataset) AsOrcDataset() (*OrcDataset, bool) {
 58092  	return nil, false
 58093  }
 58094  
 58095  // AsJSONDataset is the BasicDataset implementation for CustomDataset.
 58096  func (cd CustomDataset) AsJSONDataset() (*JSONDataset, bool) {
 58097  	return nil, false
 58098  }
 58099  
 58100  // AsDelimitedTextDataset is the BasicDataset implementation for CustomDataset.
 58101  func (cd CustomDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 58102  	return nil, false
 58103  }
 58104  
 58105  // AsParquetDataset is the BasicDataset implementation for CustomDataset.
 58106  func (cd CustomDataset) AsParquetDataset() (*ParquetDataset, bool) {
 58107  	return nil, false
 58108  }
 58109  
 58110  // AsAvroDataset is the BasicDataset implementation for CustomDataset.
 58111  func (cd CustomDataset) AsAvroDataset() (*AvroDataset, bool) {
 58112  	return nil, false
 58113  }
 58114  
 58115  // AsDataset is the BasicDataset implementation for CustomDataset.
 58116  func (cd CustomDataset) AsDataset() (*Dataset, bool) {
 58117  	return nil, false
 58118  }
 58119  
 58120  // AsBasicDataset is the BasicDataset implementation for CustomDataset.
 58121  func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) {
 58122  	return &cd, true
 58123  }
 58124  
 58125  // UnmarshalJSON is the custom unmarshaler for CustomDataset struct.
 58126  func (cd *CustomDataset) UnmarshalJSON(body []byte) error {
 58127  	var m map[string]*json.RawMessage
 58128  	err := json.Unmarshal(body, &m)
 58129  	if err != nil {
 58130  		return err
 58131  	}
 58132  	for k, v := range m {
 58133  		switch k {
 58134  		case "typeProperties":
 58135  			if v != nil {
 58136  				var typeProperties interface{}
 58137  				err = json.Unmarshal(*v, &typeProperties)
 58138  				if err != nil {
 58139  					return err
 58140  				}
 58141  				cd.TypeProperties = typeProperties
 58142  			}
 58143  		default:
 58144  			if v != nil {
 58145  				var additionalProperties interface{}
 58146  				err = json.Unmarshal(*v, &additionalProperties)
 58147  				if err != nil {
 58148  					return err
 58149  				}
 58150  				if cd.AdditionalProperties == nil {
 58151  					cd.AdditionalProperties = make(map[string]interface{})
 58152  				}
 58153  				cd.AdditionalProperties[k] = additionalProperties
 58154  			}
 58155  		case "description":
 58156  			if v != nil {
 58157  				var description string
 58158  				err = json.Unmarshal(*v, &description)
 58159  				if err != nil {
 58160  					return err
 58161  				}
 58162  				cd.Description = &description
 58163  			}
 58164  		case "structure":
 58165  			if v != nil {
 58166  				var structure interface{}
 58167  				err = json.Unmarshal(*v, &structure)
 58168  				if err != nil {
 58169  					return err
 58170  				}
 58171  				cd.Structure = structure
 58172  			}
 58173  		case "schema":
 58174  			if v != nil {
 58175  				var schema interface{}
 58176  				err = json.Unmarshal(*v, &schema)
 58177  				if err != nil {
 58178  					return err
 58179  				}
 58180  				cd.Schema = schema
 58181  			}
 58182  		case "linkedServiceName":
 58183  			if v != nil {
 58184  				var linkedServiceName LinkedServiceReference
 58185  				err = json.Unmarshal(*v, &linkedServiceName)
 58186  				if err != nil {
 58187  					return err
 58188  				}
 58189  				cd.LinkedServiceName = &linkedServiceName
 58190  			}
 58191  		case "parameters":
 58192  			if v != nil {
 58193  				var parameters map[string]*ParameterSpecification
 58194  				err = json.Unmarshal(*v, &parameters)
 58195  				if err != nil {
 58196  					return err
 58197  				}
 58198  				cd.Parameters = parameters
 58199  			}
 58200  		case "annotations":
 58201  			if v != nil {
 58202  				var annotations []interface{}
 58203  				err = json.Unmarshal(*v, &annotations)
 58204  				if err != nil {
 58205  					return err
 58206  				}
 58207  				cd.Annotations = &annotations
 58208  			}
 58209  		case "folder":
 58210  			if v != nil {
 58211  				var folder DatasetFolder
 58212  				err = json.Unmarshal(*v, &folder)
 58213  				if err != nil {
 58214  					return err
 58215  				}
 58216  				cd.Folder = &folder
 58217  			}
 58218  		case "type":
 58219  			if v != nil {
 58220  				var typeVar TypeBasicDataset
 58221  				err = json.Unmarshal(*v, &typeVar)
 58222  				if err != nil {
 58223  					return err
 58224  				}
 58225  				cd.Type = typeVar
 58226  			}
 58227  		}
 58228  	}
 58229  
 58230  	return nil
 58231  }
 58232  
 58233  // CustomDataSourceLinkedService custom linked service.
 58234  type CustomDataSourceLinkedService struct {
 58235  	// TypeProperties - Custom linked service properties.
 58236  	TypeProperties interface{} `json:"typeProperties,omitempty"`
 58237  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 58238  	AdditionalProperties map[string]interface{} `json:""`
 58239  	// ConnectVia - The integration runtime reference.
 58240  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 58241  	// Description - Linked service description.
 58242  	Description *string `json:"description,omitempty"`
 58243  	// Parameters - Parameters for linked service.
 58244  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 58245  	// Annotations - List of tags that can be used for describing the linked service.
 58246  	Annotations *[]interface{} `json:"annotations,omitempty"`
 58247  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 58248  	Type TypeBasicLinkedService `json:"type,omitempty"`
 58249  }
 58250  
 58251  // MarshalJSON is the custom marshaler for CustomDataSourceLinkedService.
 58252  func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) {
 58253  	cdsls.Type = TypeCustomDataSource
 58254  	objectMap := make(map[string]interface{})
 58255  	if cdsls.TypeProperties != nil {
 58256  		objectMap["typeProperties"] = cdsls.TypeProperties
 58257  	}
 58258  	if cdsls.ConnectVia != nil {
 58259  		objectMap["connectVia"] = cdsls.ConnectVia
 58260  	}
 58261  	if cdsls.Description != nil {
 58262  		objectMap["description"] = cdsls.Description
 58263  	}
 58264  	if cdsls.Parameters != nil {
 58265  		objectMap["parameters"] = cdsls.Parameters
 58266  	}
 58267  	if cdsls.Annotations != nil {
 58268  		objectMap["annotations"] = cdsls.Annotations
 58269  	}
 58270  	if cdsls.Type != "" {
 58271  		objectMap["type"] = cdsls.Type
 58272  	}
 58273  	for k, v := range cdsls.AdditionalProperties {
 58274  		objectMap[k] = v
 58275  	}
 58276  	return json.Marshal(objectMap)
 58277  }
 58278  
 58279  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58280  func (cdsls CustomDataSourceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 58281  	return nil, false
 58282  }
 58283  
 58284  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58285  func (cdsls CustomDataSourceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 58286  	return nil, false
 58287  }
 58288  
 58289  // AsSapTableLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58290  func (cdsls CustomDataSourceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 58291  	return nil, false
 58292  }
 58293  
 58294  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58295  func (cdsls CustomDataSourceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 58296  	return nil, false
 58297  }
 58298  
 58299  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58300  func (cdsls CustomDataSourceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 58301  	return nil, false
 58302  }
 58303  
 58304  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58305  func (cdsls CustomDataSourceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 58306  	return nil, false
 58307  }
 58308  
 58309  // AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58310  func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 58311  	return nil, false
 58312  }
 58313  
 58314  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58315  func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 58316  	return nil, false
 58317  }
 58318  
 58319  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58320  func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 58321  	return nil, false
 58322  }
 58323  
 58324  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58325  func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 58326  	return nil, false
 58327  }
 58328  
 58329  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58330  func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 58331  	return nil, false
 58332  }
 58333  
 58334  // AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58335  func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 58336  	return nil, false
 58337  }
 58338  
 58339  // AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58340  func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 58341  	return nil, false
 58342  }
 58343  
 58344  // AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58345  func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 58346  	return nil, false
 58347  }
 58348  
 58349  // AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58350  func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 58351  	return nil, false
 58352  }
 58353  
 58354  // AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58355  func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 58356  	return nil, false
 58357  }
 58358  
 58359  // AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58360  func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 58361  	return nil, false
 58362  }
 58363  
 58364  // AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58365  func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 58366  	return nil, false
 58367  }
 58368  
 58369  // AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58370  func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 58371  	return nil, false
 58372  }
 58373  
 58374  // AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58375  func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 58376  	return nil, false
 58377  }
 58378  
 58379  // AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58380  func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 58381  	return nil, false
 58382  }
 58383  
 58384  // AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58385  func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 58386  	return nil, false
 58387  }
 58388  
 58389  // AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58390  func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 58391  	return nil, false
 58392  }
 58393  
 58394  // AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58395  func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 58396  	return nil, false
 58397  }
 58398  
 58399  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58400  func (cdsls CustomDataSourceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 58401  	return nil, false
 58402  }
 58403  
 58404  // AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58405  func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 58406  	return nil, false
 58407  }
 58408  
 58409  // AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58410  func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 58411  	return nil, false
 58412  }
 58413  
 58414  // AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58415  func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 58416  	return nil, false
 58417  }
 58418  
 58419  // AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58420  func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 58421  	return nil, false
 58422  }
 58423  
 58424  // AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58425  func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 58426  	return nil, false
 58427  }
 58428  
 58429  // AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58430  func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 58431  	return nil, false
 58432  }
 58433  
 58434  // AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58435  func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 58436  	return nil, false
 58437  }
 58438  
 58439  // AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58440  func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 58441  	return nil, false
 58442  }
 58443  
 58444  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58445  func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 58446  	return nil, false
 58447  }
 58448  
 58449  // AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58450  func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 58451  	return nil, false
 58452  }
 58453  
 58454  // AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58455  func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 58456  	return nil, false
 58457  }
 58458  
 58459  // AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58460  func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 58461  	return nil, false
 58462  }
 58463  
 58464  // AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58465  func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 58466  	return nil, false
 58467  }
 58468  
 58469  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58470  func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 58471  	return nil, false
 58472  }
 58473  
 58474  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58475  func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 58476  	return nil, false
 58477  }
 58478  
 58479  // AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58480  func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 58481  	return nil, false
 58482  }
 58483  
 58484  // AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58485  func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 58486  	return nil, false
 58487  }
 58488  
 58489  // AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58490  func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 58491  	return nil, false
 58492  }
 58493  
 58494  // AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58495  func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 58496  	return nil, false
 58497  }
 58498  
 58499  // AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58500  func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 58501  	return nil, false
 58502  }
 58503  
 58504  // AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58505  func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 58506  	return nil, false
 58507  }
 58508  
 58509  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58510  func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 58511  	return &cdsls, true
 58512  }
 58513  
 58514  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58515  func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 58516  	return nil, false
 58517  }
 58518  
 58519  // AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58520  func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 58521  	return nil, false
 58522  }
 58523  
 58524  // AsRestServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58525  func (cdsls CustomDataSourceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 58526  	return nil, false
 58527  }
 58528  
 58529  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58530  func (cdsls CustomDataSourceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 58531  	return nil, false
 58532  }
 58533  
 58534  // AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58535  func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 58536  	return nil, false
 58537  }
 58538  
 58539  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58540  func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 58541  	return nil, false
 58542  }
 58543  
 58544  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58545  func (cdsls CustomDataSourceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 58546  	return nil, false
 58547  }
 58548  
 58549  // AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58550  func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 58551  	return nil, false
 58552  }
 58553  
 58554  // AsOffice365LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58555  func (cdsls CustomDataSourceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 58556  	return nil, false
 58557  }
 58558  
 58559  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58560  func (cdsls CustomDataSourceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 58561  	return nil, false
 58562  }
 58563  
 58564  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58565  func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 58566  	return nil, false
 58567  }
 58568  
 58569  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58570  func (cdsls CustomDataSourceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 58571  	return nil, false
 58572  }
 58573  
 58574  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58575  func (cdsls CustomDataSourceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 58576  	return nil, false
 58577  }
 58578  
 58579  // AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58580  func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 58581  	return nil, false
 58582  }
 58583  
 58584  // AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58585  func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 58586  	return nil, false
 58587  }
 58588  
 58589  // AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58590  func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 58591  	return nil, false
 58592  }
 58593  
 58594  // AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58595  func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 58596  	return nil, false
 58597  }
 58598  
 58599  // AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58600  func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 58601  	return nil, false
 58602  }
 58603  
 58604  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58605  func (cdsls CustomDataSourceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 58606  	return nil, false
 58607  }
 58608  
 58609  // AsInformixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58610  func (cdsls CustomDataSourceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 58611  	return nil, false
 58612  }
 58613  
 58614  // AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58615  func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 58616  	return nil, false
 58617  }
 58618  
 58619  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58620  func (cdsls CustomDataSourceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 58621  	return nil, false
 58622  }
 58623  
 58624  // AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58625  func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 58626  	return nil, false
 58627  }
 58628  
 58629  // AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58630  func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 58631  	return nil, false
 58632  }
 58633  
 58634  // AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58635  func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 58636  	return nil, false
 58637  }
 58638  
 58639  // AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58640  func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 58641  	return nil, false
 58642  }
 58643  
 58644  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58645  func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 58646  	return nil, false
 58647  }
 58648  
 58649  // AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58650  func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 58651  	return nil, false
 58652  }
 58653  
 58654  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58655  func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 58656  	return nil, false
 58657  }
 58658  
 58659  // AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58660  func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 58661  	return nil, false
 58662  }
 58663  
 58664  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58665  func (cdsls CustomDataSourceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 58666  	return nil, false
 58667  }
 58668  
 58669  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58670  func (cdsls CustomDataSourceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 58671  	return nil, false
 58672  }
 58673  
 58674  // AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58675  func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 58676  	return nil, false
 58677  }
 58678  
 58679  // AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58680  func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 58681  	return nil, false
 58682  }
 58683  
 58684  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58685  func (cdsls CustomDataSourceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 58686  	return nil, false
 58687  }
 58688  
 58689  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58690  func (cdsls CustomDataSourceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 58691  	return nil, false
 58692  }
 58693  
 58694  // AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58695  func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 58696  	return nil, false
 58697  }
 58698  
 58699  // AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58700  func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 58701  	return nil, false
 58702  }
 58703  
 58704  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58705  func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 58706  	return nil, false
 58707  }
 58708  
 58709  // AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58710  func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 58711  	return nil, false
 58712  }
 58713  
 58714  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58715  func (cdsls CustomDataSourceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 58716  	return nil, false
 58717  }
 58718  
 58719  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58720  func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 58721  	return nil, false
 58722  }
 58723  
 58724  // AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58725  func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 58726  	return nil, false
 58727  }
 58728  
 58729  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58730  func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 58731  	return nil, false
 58732  }
 58733  
 58734  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58735  func (cdsls CustomDataSourceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 58736  	return nil, false
 58737  }
 58738  
 58739  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58740  func (cdsls CustomDataSourceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 58741  	return nil, false
 58742  }
 58743  
 58744  // AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58745  func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 58746  	return nil, false
 58747  }
 58748  
 58749  // AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58750  func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) {
 58751  	return nil, false
 58752  }
 58753  
 58754  // AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService.
 58755  func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 58756  	return &cdsls, true
 58757  }
 58758  
 58759  // UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct.
 58760  func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error {
 58761  	var m map[string]*json.RawMessage
 58762  	err := json.Unmarshal(body, &m)
 58763  	if err != nil {
 58764  		return err
 58765  	}
 58766  	for k, v := range m {
 58767  		switch k {
 58768  		case "typeProperties":
 58769  			if v != nil {
 58770  				var typeProperties interface{}
 58771  				err = json.Unmarshal(*v, &typeProperties)
 58772  				if err != nil {
 58773  					return err
 58774  				}
 58775  				cdsls.TypeProperties = typeProperties
 58776  			}
 58777  		default:
 58778  			if v != nil {
 58779  				var additionalProperties interface{}
 58780  				err = json.Unmarshal(*v, &additionalProperties)
 58781  				if err != nil {
 58782  					return err
 58783  				}
 58784  				if cdsls.AdditionalProperties == nil {
 58785  					cdsls.AdditionalProperties = make(map[string]interface{})
 58786  				}
 58787  				cdsls.AdditionalProperties[k] = additionalProperties
 58788  			}
 58789  		case "connectVia":
 58790  			if v != nil {
 58791  				var connectVia IntegrationRuntimeReference
 58792  				err = json.Unmarshal(*v, &connectVia)
 58793  				if err != nil {
 58794  					return err
 58795  				}
 58796  				cdsls.ConnectVia = &connectVia
 58797  			}
 58798  		case "description":
 58799  			if v != nil {
 58800  				var description string
 58801  				err = json.Unmarshal(*v, &description)
 58802  				if err != nil {
 58803  					return err
 58804  				}
 58805  				cdsls.Description = &description
 58806  			}
 58807  		case "parameters":
 58808  			if v != nil {
 58809  				var parameters map[string]*ParameterSpecification
 58810  				err = json.Unmarshal(*v, &parameters)
 58811  				if err != nil {
 58812  					return err
 58813  				}
 58814  				cdsls.Parameters = parameters
 58815  			}
 58816  		case "annotations":
 58817  			if v != nil {
 58818  				var annotations []interface{}
 58819  				err = json.Unmarshal(*v, &annotations)
 58820  				if err != nil {
 58821  					return err
 58822  				}
 58823  				cdsls.Annotations = &annotations
 58824  			}
 58825  		case "type":
 58826  			if v != nil {
 58827  				var typeVar TypeBasicLinkedService
 58828  				err = json.Unmarshal(*v, &typeVar)
 58829  				if err != nil {
 58830  					return err
 58831  				}
 58832  				cdsls.Type = typeVar
 58833  			}
 58834  		}
 58835  	}
 58836  
 58837  	return nil
 58838  }
 58839  
 58840  // CustomerManagedKeyDetails details of the customer managed key associated with the workspace
 58841  type CustomerManagedKeyDetails struct {
 58842  	// Status - READ-ONLY; The customer managed key status on the workspace
 58843  	Status *string `json:"status,omitempty"`
 58844  	// Key - The key object of the workspace
 58845  	Key *WorkspaceKeyDetails `json:"key,omitempty"`
 58846  }
 58847  
 58848  // MarshalJSON is the custom marshaler for CustomerManagedKeyDetails.
 58849  func (cmkd CustomerManagedKeyDetails) MarshalJSON() ([]byte, error) {
 58850  	objectMap := make(map[string]interface{})
 58851  	if cmkd.Key != nil {
 58852  		objectMap["key"] = cmkd.Key
 58853  	}
 58854  	return json.Marshal(objectMap)
 58855  }
 58856  
 58857  // BasicCustomSetupBase the base definition of the custom setup.
 58858  type BasicCustomSetupBase interface {
 58859  	AsComponentSetup() (*ComponentSetup, bool)
 58860  	AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool)
 58861  	AsCmdkeySetup() (*CmdkeySetup, bool)
 58862  	AsCustomSetupBase() (*CustomSetupBase, bool)
 58863  }
 58864  
 58865  // CustomSetupBase the base definition of the custom setup.
 58866  type CustomSetupBase struct {
 58867  	// Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup'
 58868  	Type TypeBasicCustomSetupBase `json:"type,omitempty"`
 58869  }
 58870  
 58871  func unmarshalBasicCustomSetupBase(body []byte) (BasicCustomSetupBase, error) {
 58872  	var m map[string]interface{}
 58873  	err := json.Unmarshal(body, &m)
 58874  	if err != nil {
 58875  		return nil, err
 58876  	}
 58877  
 58878  	switch m["type"] {
 58879  	case string(TypeComponentSetup):
 58880  		var cs ComponentSetup
 58881  		err := json.Unmarshal(body, &cs)
 58882  		return cs, err
 58883  	case string(TypeEnvironmentVariableSetup):
 58884  		var evs EnvironmentVariableSetup
 58885  		err := json.Unmarshal(body, &evs)
 58886  		return evs, err
 58887  	case string(TypeCmdkeySetup):
 58888  		var cs CmdkeySetup
 58889  		err := json.Unmarshal(body, &cs)
 58890  		return cs, err
 58891  	default:
 58892  		var csb CustomSetupBase
 58893  		err := json.Unmarshal(body, &csb)
 58894  		return csb, err
 58895  	}
 58896  }
 58897  func unmarshalBasicCustomSetupBaseArray(body []byte) ([]BasicCustomSetupBase, error) {
 58898  	var rawMessages []*json.RawMessage
 58899  	err := json.Unmarshal(body, &rawMessages)
 58900  	if err != nil {
 58901  		return nil, err
 58902  	}
 58903  
 58904  	csbArray := make([]BasicCustomSetupBase, len(rawMessages))
 58905  
 58906  	for index, rawMessage := range rawMessages {
 58907  		csb, err := unmarshalBasicCustomSetupBase(*rawMessage)
 58908  		if err != nil {
 58909  			return nil, err
 58910  		}
 58911  		csbArray[index] = csb
 58912  	}
 58913  	return csbArray, nil
 58914  }
 58915  
 58916  // MarshalJSON is the custom marshaler for CustomSetupBase.
 58917  func (csb CustomSetupBase) MarshalJSON() ([]byte, error) {
 58918  	csb.Type = TypeCustomSetupBase
 58919  	objectMap := make(map[string]interface{})
 58920  	if csb.Type != "" {
 58921  		objectMap["type"] = csb.Type
 58922  	}
 58923  	return json.Marshal(objectMap)
 58924  }
 58925  
 58926  // AsComponentSetup is the BasicCustomSetupBase implementation for CustomSetupBase.
 58927  func (csb CustomSetupBase) AsComponentSetup() (*ComponentSetup, bool) {
 58928  	return nil, false
 58929  }
 58930  
 58931  // AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CustomSetupBase.
 58932  func (csb CustomSetupBase) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) {
 58933  	return nil, false
 58934  }
 58935  
 58936  // AsCmdkeySetup is the BasicCustomSetupBase implementation for CustomSetupBase.
 58937  func (csb CustomSetupBase) AsCmdkeySetup() (*CmdkeySetup, bool) {
 58938  	return nil, false
 58939  }
 58940  
 58941  // AsCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase.
 58942  func (csb CustomSetupBase) AsCustomSetupBase() (*CustomSetupBase, bool) {
 58943  	return &csb, true
 58944  }
 58945  
 58946  // AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase.
 58947  func (csb CustomSetupBase) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) {
 58948  	return &csb, true
 58949  }
 58950  
 58951  // DatabricksNotebookActivity databricksNotebook activity.
 58952  type DatabricksNotebookActivity struct {
 58953  	// DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties.
 58954  	*DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"`
 58955  	// LinkedServiceName - Linked service reference.
 58956  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 58957  	// Policy - Activity policy.
 58958  	Policy *ActivityPolicy `json:"policy,omitempty"`
 58959  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 58960  	AdditionalProperties map[string]interface{} `json:""`
 58961  	// Name - Activity name.
 58962  	Name *string `json:"name,omitempty"`
 58963  	// Description - Activity description.
 58964  	Description *string `json:"description,omitempty"`
 58965  	// DependsOn - Activity depends on condition.
 58966  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 58967  	// UserProperties - Activity user properties.
 58968  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 58969  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 58970  	Type TypeBasicActivity `json:"type,omitempty"`
 58971  }
 58972  
 58973  // MarshalJSON is the custom marshaler for DatabricksNotebookActivity.
 58974  func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) {
 58975  	dna.Type = TypeDatabricksNotebook
 58976  	objectMap := make(map[string]interface{})
 58977  	if dna.DatabricksNotebookActivityTypeProperties != nil {
 58978  		objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties
 58979  	}
 58980  	if dna.LinkedServiceName != nil {
 58981  		objectMap["linkedServiceName"] = dna.LinkedServiceName
 58982  	}
 58983  	if dna.Policy != nil {
 58984  		objectMap["policy"] = dna.Policy
 58985  	}
 58986  	if dna.Name != nil {
 58987  		objectMap["name"] = dna.Name
 58988  	}
 58989  	if dna.Description != nil {
 58990  		objectMap["description"] = dna.Description
 58991  	}
 58992  	if dna.DependsOn != nil {
 58993  		objectMap["dependsOn"] = dna.DependsOn
 58994  	}
 58995  	if dna.UserProperties != nil {
 58996  		objectMap["userProperties"] = dna.UserProperties
 58997  	}
 58998  	if dna.Type != "" {
 58999  		objectMap["type"] = dna.Type
 59000  	}
 59001  	for k, v := range dna.AdditionalProperties {
 59002  		objectMap[k] = v
 59003  	}
 59004  	return json.Marshal(objectMap)
 59005  }
 59006  
 59007  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59008  func (dna DatabricksNotebookActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 59009  	return nil, false
 59010  }
 59011  
 59012  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59013  func (dna DatabricksNotebookActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 59014  	return nil, false
 59015  }
 59016  
 59017  // AsSynapseNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59018  func (dna DatabricksNotebookActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 59019  	return nil, false
 59020  }
 59021  
 59022  // AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59023  func (dna DatabricksNotebookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 59024  	return nil, false
 59025  }
 59026  
 59027  // AsAzureFunctionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59028  func (dna DatabricksNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 59029  	return nil, false
 59030  }
 59031  
 59032  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59033  func (dna DatabricksNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 59034  	return nil, false
 59035  }
 59036  
 59037  // AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59038  func (dna DatabricksNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 59039  	return nil, false
 59040  }
 59041  
 59042  // AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59043  func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 59044  	return &dna, true
 59045  }
 59046  
 59047  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59048  func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 59049  	return nil, false
 59050  }
 59051  
 59052  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59053  func (dna DatabricksNotebookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 59054  	return nil, false
 59055  }
 59056  
 59057  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59058  func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 59059  	return nil, false
 59060  }
 59061  
 59062  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59063  func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 59064  	return nil, false
 59065  }
 59066  
 59067  // AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59068  func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 59069  	return nil, false
 59070  }
 59071  
 59072  // AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59073  func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) {
 59074  	return nil, false
 59075  }
 59076  
 59077  // AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59078  func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) {
 59079  	return nil, false
 59080  }
 59081  
 59082  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59083  func (dna DatabricksNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 59084  	return nil, false
 59085  }
 59086  
 59087  // AsDeleteActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59088  func (dna DatabricksNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 59089  	return nil, false
 59090  }
 59091  
 59092  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59093  func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 59094  	return nil, false
 59095  }
 59096  
 59097  // AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59098  func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) {
 59099  	return nil, false
 59100  }
 59101  
 59102  // AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59103  func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 59104  	return nil, false
 59105  }
 59106  
 59107  // AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59108  func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 59109  	return nil, false
 59110  }
 59111  
 59112  // AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59113  func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 59114  	return nil, false
 59115  }
 59116  
 59117  // AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59118  func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 59119  	return nil, false
 59120  }
 59121  
 59122  // AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59123  func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 59124  	return nil, false
 59125  }
 59126  
 59127  // AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59128  func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 59129  	return nil, false
 59130  }
 59131  
 59132  // AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59133  func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) {
 59134  	return nil, false
 59135  }
 59136  
 59137  // AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59138  func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 59139  	return nil, false
 59140  }
 59141  
 59142  // AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59143  func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 59144  	return &dna, true
 59145  }
 59146  
 59147  // AsWebHookActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59148  func (dna DatabricksNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 59149  	return nil, false
 59150  }
 59151  
 59152  // AsAppendVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59153  func (dna DatabricksNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 59154  	return nil, false
 59155  }
 59156  
 59157  // AsSetVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59158  func (dna DatabricksNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 59159  	return nil, false
 59160  }
 59161  
 59162  // AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59163  func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) {
 59164  	return nil, false
 59165  }
 59166  
 59167  // AsValidationActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59168  func (dna DatabricksNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) {
 59169  	return nil, false
 59170  }
 59171  
 59172  // AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59173  func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) {
 59174  	return nil, false
 59175  }
 59176  
 59177  // AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59178  func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) {
 59179  	return nil, false
 59180  }
 59181  
 59182  // AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59183  func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) {
 59184  	return nil, false
 59185  }
 59186  
 59187  // AsSwitchActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59188  func (dna DatabricksNotebookActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 59189  	return nil, false
 59190  }
 59191  
 59192  // AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59193  func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 59194  	return nil, false
 59195  }
 59196  
 59197  // AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59198  func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 59199  	return nil, false
 59200  }
 59201  
 59202  // AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59203  func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) {
 59204  	return nil, false
 59205  }
 59206  
 59207  // AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59208  func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 59209  	return nil, false
 59210  }
 59211  
 59212  // AsActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59213  func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) {
 59214  	return nil, false
 59215  }
 59216  
 59217  // AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity.
 59218  func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) {
 59219  	return &dna, true
 59220  }
 59221  
 59222  // UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct.
 59223  func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error {
 59224  	var m map[string]*json.RawMessage
 59225  	err := json.Unmarshal(body, &m)
 59226  	if err != nil {
 59227  		return err
 59228  	}
 59229  	for k, v := range m {
 59230  		switch k {
 59231  		case "typeProperties":
 59232  			if v != nil {
 59233  				var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties
 59234  				err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties)
 59235  				if err != nil {
 59236  					return err
 59237  				}
 59238  				dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties
 59239  			}
 59240  		case "linkedServiceName":
 59241  			if v != nil {
 59242  				var linkedServiceName LinkedServiceReference
 59243  				err = json.Unmarshal(*v, &linkedServiceName)
 59244  				if err != nil {
 59245  					return err
 59246  				}
 59247  				dna.LinkedServiceName = &linkedServiceName
 59248  			}
 59249  		case "policy":
 59250  			if v != nil {
 59251  				var policy ActivityPolicy
 59252  				err = json.Unmarshal(*v, &policy)
 59253  				if err != nil {
 59254  					return err
 59255  				}
 59256  				dna.Policy = &policy
 59257  			}
 59258  		default:
 59259  			if v != nil {
 59260  				var additionalProperties interface{}
 59261  				err = json.Unmarshal(*v, &additionalProperties)
 59262  				if err != nil {
 59263  					return err
 59264  				}
 59265  				if dna.AdditionalProperties == nil {
 59266  					dna.AdditionalProperties = make(map[string]interface{})
 59267  				}
 59268  				dna.AdditionalProperties[k] = additionalProperties
 59269  			}
 59270  		case "name":
 59271  			if v != nil {
 59272  				var name string
 59273  				err = json.Unmarshal(*v, &name)
 59274  				if err != nil {
 59275  					return err
 59276  				}
 59277  				dna.Name = &name
 59278  			}
 59279  		case "description":
 59280  			if v != nil {
 59281  				var description string
 59282  				err = json.Unmarshal(*v, &description)
 59283  				if err != nil {
 59284  					return err
 59285  				}
 59286  				dna.Description = &description
 59287  			}
 59288  		case "dependsOn":
 59289  			if v != nil {
 59290  				var dependsOn []ActivityDependency
 59291  				err = json.Unmarshal(*v, &dependsOn)
 59292  				if err != nil {
 59293  					return err
 59294  				}
 59295  				dna.DependsOn = &dependsOn
 59296  			}
 59297  		case "userProperties":
 59298  			if v != nil {
 59299  				var userProperties []UserProperty
 59300  				err = json.Unmarshal(*v, &userProperties)
 59301  				if err != nil {
 59302  					return err
 59303  				}
 59304  				dna.UserProperties = &userProperties
 59305  			}
 59306  		case "type":
 59307  			if v != nil {
 59308  				var typeVar TypeBasicActivity
 59309  				err = json.Unmarshal(*v, &typeVar)
 59310  				if err != nil {
 59311  					return err
 59312  				}
 59313  				dna.Type = typeVar
 59314  			}
 59315  		}
 59316  	}
 59317  
 59318  	return nil
 59319  }
 59320  
 59321  // DatabricksNotebookActivityTypeProperties databricks notebook activity properties.
 59322  type DatabricksNotebookActivityTypeProperties struct {
 59323  	// 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).
 59324  	NotebookPath interface{} `json:"notebookPath,omitempty"`
 59325  	// 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.
 59326  	BaseParameters map[string]interface{} `json:"baseParameters"`
 59327  	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
 59328  	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
 59329  }
 59330  
 59331  // MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties.
 59332  func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) {
 59333  	objectMap := make(map[string]interface{})
 59334  	if dnatp.NotebookPath != nil {
 59335  		objectMap["notebookPath"] = dnatp.NotebookPath
 59336  	}
 59337  	if dnatp.BaseParameters != nil {
 59338  		objectMap["baseParameters"] = dnatp.BaseParameters
 59339  	}
 59340  	if dnatp.Libraries != nil {
 59341  		objectMap["libraries"] = dnatp.Libraries
 59342  	}
 59343  	return json.Marshal(objectMap)
 59344  }
 59345  
 59346  // DatabricksSparkJarActivity databricksSparkJar activity.
 59347  type DatabricksSparkJarActivity struct {
 59348  	// DatabricksSparkJarActivityTypeProperties - Databricks SparkJar activity properties.
 59349  	*DatabricksSparkJarActivityTypeProperties `json:"typeProperties,omitempty"`
 59350  	// LinkedServiceName - Linked service reference.
 59351  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 59352  	// Policy - Activity policy.
 59353  	Policy *ActivityPolicy `json:"policy,omitempty"`
 59354  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 59355  	AdditionalProperties map[string]interface{} `json:""`
 59356  	// Name - Activity name.
 59357  	Name *string `json:"name,omitempty"`
 59358  	// Description - Activity description.
 59359  	Description *string `json:"description,omitempty"`
 59360  	// DependsOn - Activity depends on condition.
 59361  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 59362  	// UserProperties - Activity user properties.
 59363  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 59364  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 59365  	Type TypeBasicActivity `json:"type,omitempty"`
 59366  }
 59367  
 59368  // MarshalJSON is the custom marshaler for DatabricksSparkJarActivity.
 59369  func (dsja DatabricksSparkJarActivity) MarshalJSON() ([]byte, error) {
 59370  	dsja.Type = TypeDatabricksSparkJar
 59371  	objectMap := make(map[string]interface{})
 59372  	if dsja.DatabricksSparkJarActivityTypeProperties != nil {
 59373  		objectMap["typeProperties"] = dsja.DatabricksSparkJarActivityTypeProperties
 59374  	}
 59375  	if dsja.LinkedServiceName != nil {
 59376  		objectMap["linkedServiceName"] = dsja.LinkedServiceName
 59377  	}
 59378  	if dsja.Policy != nil {
 59379  		objectMap["policy"] = dsja.Policy
 59380  	}
 59381  	if dsja.Name != nil {
 59382  		objectMap["name"] = dsja.Name
 59383  	}
 59384  	if dsja.Description != nil {
 59385  		objectMap["description"] = dsja.Description
 59386  	}
 59387  	if dsja.DependsOn != nil {
 59388  		objectMap["dependsOn"] = dsja.DependsOn
 59389  	}
 59390  	if dsja.UserProperties != nil {
 59391  		objectMap["userProperties"] = dsja.UserProperties
 59392  	}
 59393  	if dsja.Type != "" {
 59394  		objectMap["type"] = dsja.Type
 59395  	}
 59396  	for k, v := range dsja.AdditionalProperties {
 59397  		objectMap[k] = v
 59398  	}
 59399  	return json.Marshal(objectMap)
 59400  }
 59401  
 59402  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59403  func (dsja DatabricksSparkJarActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 59404  	return nil, false
 59405  }
 59406  
 59407  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59408  func (dsja DatabricksSparkJarActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 59409  	return nil, false
 59410  }
 59411  
 59412  // AsSynapseNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59413  func (dsja DatabricksSparkJarActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 59414  	return nil, false
 59415  }
 59416  
 59417  // AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59418  func (dsja DatabricksSparkJarActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 59419  	return nil, false
 59420  }
 59421  
 59422  // AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59423  func (dsja DatabricksSparkJarActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 59424  	return nil, false
 59425  }
 59426  
 59427  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59428  func (dsja DatabricksSparkJarActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 59429  	return nil, false
 59430  }
 59431  
 59432  // AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59433  func (dsja DatabricksSparkJarActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 59434  	return &dsja, true
 59435  }
 59436  
 59437  // AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59438  func (dsja DatabricksSparkJarActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 59439  	return nil, false
 59440  }
 59441  
 59442  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59443  func (dsja DatabricksSparkJarActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 59444  	return nil, false
 59445  }
 59446  
 59447  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59448  func (dsja DatabricksSparkJarActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 59449  	return nil, false
 59450  }
 59451  
 59452  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59453  func (dsja DatabricksSparkJarActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 59454  	return nil, false
 59455  }
 59456  
 59457  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59458  func (dsja DatabricksSparkJarActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 59459  	return nil, false
 59460  }
 59461  
 59462  // AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59463  func (dsja DatabricksSparkJarActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 59464  	return nil, false
 59465  }
 59466  
 59467  // AsWebActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59468  func (dsja DatabricksSparkJarActivity) AsWebActivity() (*WebActivity, bool) {
 59469  	return nil, false
 59470  }
 59471  
 59472  // AsLookupActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59473  func (dsja DatabricksSparkJarActivity) AsLookupActivity() (*LookupActivity, bool) {
 59474  	return nil, false
 59475  }
 59476  
 59477  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59478  func (dsja DatabricksSparkJarActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 59479  	return nil, false
 59480  }
 59481  
 59482  // AsDeleteActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59483  func (dsja DatabricksSparkJarActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 59484  	return nil, false
 59485  }
 59486  
 59487  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59488  func (dsja DatabricksSparkJarActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 59489  	return nil, false
 59490  }
 59491  
 59492  // AsCustomActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59493  func (dsja DatabricksSparkJarActivity) AsCustomActivity() (*CustomActivity, bool) {
 59494  	return nil, false
 59495  }
 59496  
 59497  // AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59498  func (dsja DatabricksSparkJarActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 59499  	return nil, false
 59500  }
 59501  
 59502  // AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59503  func (dsja DatabricksSparkJarActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 59504  	return nil, false
 59505  }
 59506  
 59507  // AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59508  func (dsja DatabricksSparkJarActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 59509  	return nil, false
 59510  }
 59511  
 59512  // AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59513  func (dsja DatabricksSparkJarActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 59514  	return nil, false
 59515  }
 59516  
 59517  // AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59518  func (dsja DatabricksSparkJarActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 59519  	return nil, false
 59520  }
 59521  
 59522  // AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59523  func (dsja DatabricksSparkJarActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 59524  	return nil, false
 59525  }
 59526  
 59527  // AsCopyActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59528  func (dsja DatabricksSparkJarActivity) AsCopyActivity() (*CopyActivity, bool) {
 59529  	return nil, false
 59530  }
 59531  
 59532  // AsExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59533  func (dsja DatabricksSparkJarActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 59534  	return nil, false
 59535  }
 59536  
 59537  // AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59538  func (dsja DatabricksSparkJarActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 59539  	return &dsja, true
 59540  }
 59541  
 59542  // AsWebHookActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59543  func (dsja DatabricksSparkJarActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 59544  	return nil, false
 59545  }
 59546  
 59547  // AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59548  func (dsja DatabricksSparkJarActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 59549  	return nil, false
 59550  }
 59551  
 59552  // AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59553  func (dsja DatabricksSparkJarActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 59554  	return nil, false
 59555  }
 59556  
 59557  // AsFilterActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59558  func (dsja DatabricksSparkJarActivity) AsFilterActivity() (*FilterActivity, bool) {
 59559  	return nil, false
 59560  }
 59561  
 59562  // AsValidationActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59563  func (dsja DatabricksSparkJarActivity) AsValidationActivity() (*ValidationActivity, bool) {
 59564  	return nil, false
 59565  }
 59566  
 59567  // AsUntilActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59568  func (dsja DatabricksSparkJarActivity) AsUntilActivity() (*UntilActivity, bool) {
 59569  	return nil, false
 59570  }
 59571  
 59572  // AsWaitActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59573  func (dsja DatabricksSparkJarActivity) AsWaitActivity() (*WaitActivity, bool) {
 59574  	return nil, false
 59575  }
 59576  
 59577  // AsForEachActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59578  func (dsja DatabricksSparkJarActivity) AsForEachActivity() (*ForEachActivity, bool) {
 59579  	return nil, false
 59580  }
 59581  
 59582  // AsSwitchActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59583  func (dsja DatabricksSparkJarActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 59584  	return nil, false
 59585  }
 59586  
 59587  // AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59588  func (dsja DatabricksSparkJarActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 59589  	return nil, false
 59590  }
 59591  
 59592  // AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59593  func (dsja DatabricksSparkJarActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 59594  	return nil, false
 59595  }
 59596  
 59597  // AsControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59598  func (dsja DatabricksSparkJarActivity) AsControlActivity() (*ControlActivity, bool) {
 59599  	return nil, false
 59600  }
 59601  
 59602  // AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59603  func (dsja DatabricksSparkJarActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 59604  	return nil, false
 59605  }
 59606  
 59607  // AsActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59608  func (dsja DatabricksSparkJarActivity) AsActivity() (*Activity, bool) {
 59609  	return nil, false
 59610  }
 59611  
 59612  // AsBasicActivity is the BasicActivity implementation for DatabricksSparkJarActivity.
 59613  func (dsja DatabricksSparkJarActivity) AsBasicActivity() (BasicActivity, bool) {
 59614  	return &dsja, true
 59615  }
 59616  
 59617  // UnmarshalJSON is the custom unmarshaler for DatabricksSparkJarActivity struct.
 59618  func (dsja *DatabricksSparkJarActivity) UnmarshalJSON(body []byte) error {
 59619  	var m map[string]*json.RawMessage
 59620  	err := json.Unmarshal(body, &m)
 59621  	if err != nil {
 59622  		return err
 59623  	}
 59624  	for k, v := range m {
 59625  		switch k {
 59626  		case "typeProperties":
 59627  			if v != nil {
 59628  				var databricksSparkJarActivityTypeProperties DatabricksSparkJarActivityTypeProperties
 59629  				err = json.Unmarshal(*v, &databricksSparkJarActivityTypeProperties)
 59630  				if err != nil {
 59631  					return err
 59632  				}
 59633  				dsja.DatabricksSparkJarActivityTypeProperties = &databricksSparkJarActivityTypeProperties
 59634  			}
 59635  		case "linkedServiceName":
 59636  			if v != nil {
 59637  				var linkedServiceName LinkedServiceReference
 59638  				err = json.Unmarshal(*v, &linkedServiceName)
 59639  				if err != nil {
 59640  					return err
 59641  				}
 59642  				dsja.LinkedServiceName = &linkedServiceName
 59643  			}
 59644  		case "policy":
 59645  			if v != nil {
 59646  				var policy ActivityPolicy
 59647  				err = json.Unmarshal(*v, &policy)
 59648  				if err != nil {
 59649  					return err
 59650  				}
 59651  				dsja.Policy = &policy
 59652  			}
 59653  		default:
 59654  			if v != nil {
 59655  				var additionalProperties interface{}
 59656  				err = json.Unmarshal(*v, &additionalProperties)
 59657  				if err != nil {
 59658  					return err
 59659  				}
 59660  				if dsja.AdditionalProperties == nil {
 59661  					dsja.AdditionalProperties = make(map[string]interface{})
 59662  				}
 59663  				dsja.AdditionalProperties[k] = additionalProperties
 59664  			}
 59665  		case "name":
 59666  			if v != nil {
 59667  				var name string
 59668  				err = json.Unmarshal(*v, &name)
 59669  				if err != nil {
 59670  					return err
 59671  				}
 59672  				dsja.Name = &name
 59673  			}
 59674  		case "description":
 59675  			if v != nil {
 59676  				var description string
 59677  				err = json.Unmarshal(*v, &description)
 59678  				if err != nil {
 59679  					return err
 59680  				}
 59681  				dsja.Description = &description
 59682  			}
 59683  		case "dependsOn":
 59684  			if v != nil {
 59685  				var dependsOn []ActivityDependency
 59686  				err = json.Unmarshal(*v, &dependsOn)
 59687  				if err != nil {
 59688  					return err
 59689  				}
 59690  				dsja.DependsOn = &dependsOn
 59691  			}
 59692  		case "userProperties":
 59693  			if v != nil {
 59694  				var userProperties []UserProperty
 59695  				err = json.Unmarshal(*v, &userProperties)
 59696  				if err != nil {
 59697  					return err
 59698  				}
 59699  				dsja.UserProperties = &userProperties
 59700  			}
 59701  		case "type":
 59702  			if v != nil {
 59703  				var typeVar TypeBasicActivity
 59704  				err = json.Unmarshal(*v, &typeVar)
 59705  				if err != nil {
 59706  					return err
 59707  				}
 59708  				dsja.Type = typeVar
 59709  			}
 59710  		}
 59711  	}
 59712  
 59713  	return nil
 59714  }
 59715  
 59716  // DatabricksSparkJarActivityTypeProperties databricks SparkJar activity properties.
 59717  type DatabricksSparkJarActivityTypeProperties struct {
 59718  	// 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).
 59719  	MainClassName interface{} `json:"mainClassName,omitempty"`
 59720  	// Parameters - Parameters that will be passed to the main method.
 59721  	Parameters *[]interface{} `json:"parameters,omitempty"`
 59722  	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
 59723  	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
 59724  }
 59725  
 59726  // DatabricksSparkPythonActivity databricksSparkPython activity.
 59727  type DatabricksSparkPythonActivity struct {
 59728  	// DatabricksSparkPythonActivityTypeProperties - Databricks SparkPython activity properties.
 59729  	*DatabricksSparkPythonActivityTypeProperties `json:"typeProperties,omitempty"`
 59730  	// LinkedServiceName - Linked service reference.
 59731  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 59732  	// Policy - Activity policy.
 59733  	Policy *ActivityPolicy `json:"policy,omitempty"`
 59734  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 59735  	AdditionalProperties map[string]interface{} `json:""`
 59736  	// Name - Activity name.
 59737  	Name *string `json:"name,omitempty"`
 59738  	// Description - Activity description.
 59739  	Description *string `json:"description,omitempty"`
 59740  	// DependsOn - Activity depends on condition.
 59741  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 59742  	// UserProperties - Activity user properties.
 59743  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 59744  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 59745  	Type TypeBasicActivity `json:"type,omitempty"`
 59746  }
 59747  
 59748  // MarshalJSON is the custom marshaler for DatabricksSparkPythonActivity.
 59749  func (dspa DatabricksSparkPythonActivity) MarshalJSON() ([]byte, error) {
 59750  	dspa.Type = TypeDatabricksSparkPython
 59751  	objectMap := make(map[string]interface{})
 59752  	if dspa.DatabricksSparkPythonActivityTypeProperties != nil {
 59753  		objectMap["typeProperties"] = dspa.DatabricksSparkPythonActivityTypeProperties
 59754  	}
 59755  	if dspa.LinkedServiceName != nil {
 59756  		objectMap["linkedServiceName"] = dspa.LinkedServiceName
 59757  	}
 59758  	if dspa.Policy != nil {
 59759  		objectMap["policy"] = dspa.Policy
 59760  	}
 59761  	if dspa.Name != nil {
 59762  		objectMap["name"] = dspa.Name
 59763  	}
 59764  	if dspa.Description != nil {
 59765  		objectMap["description"] = dspa.Description
 59766  	}
 59767  	if dspa.DependsOn != nil {
 59768  		objectMap["dependsOn"] = dspa.DependsOn
 59769  	}
 59770  	if dspa.UserProperties != nil {
 59771  		objectMap["userProperties"] = dspa.UserProperties
 59772  	}
 59773  	if dspa.Type != "" {
 59774  		objectMap["type"] = dspa.Type
 59775  	}
 59776  	for k, v := range dspa.AdditionalProperties {
 59777  		objectMap[k] = v
 59778  	}
 59779  	return json.Marshal(objectMap)
 59780  }
 59781  
 59782  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59783  func (dspa DatabricksSparkPythonActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 59784  	return nil, false
 59785  }
 59786  
 59787  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59788  func (dspa DatabricksSparkPythonActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 59789  	return nil, false
 59790  }
 59791  
 59792  // AsSynapseNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59793  func (dspa DatabricksSparkPythonActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 59794  	return nil, false
 59795  }
 59796  
 59797  // AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59798  func (dspa DatabricksSparkPythonActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 59799  	return nil, false
 59800  }
 59801  
 59802  // AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59803  func (dspa DatabricksSparkPythonActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 59804  	return nil, false
 59805  }
 59806  
 59807  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59808  func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 59809  	return &dspa, true
 59810  }
 59811  
 59812  // AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59813  func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 59814  	return nil, false
 59815  }
 59816  
 59817  // AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59818  func (dspa DatabricksSparkPythonActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 59819  	return nil, false
 59820  }
 59821  
 59822  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59823  func (dspa DatabricksSparkPythonActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 59824  	return nil, false
 59825  }
 59826  
 59827  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59828  func (dspa DatabricksSparkPythonActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 59829  	return nil, false
 59830  }
 59831  
 59832  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59833  func (dspa DatabricksSparkPythonActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 59834  	return nil, false
 59835  }
 59836  
 59837  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59838  func (dspa DatabricksSparkPythonActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 59839  	return nil, false
 59840  }
 59841  
 59842  // AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59843  func (dspa DatabricksSparkPythonActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 59844  	return nil, false
 59845  }
 59846  
 59847  // AsWebActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59848  func (dspa DatabricksSparkPythonActivity) AsWebActivity() (*WebActivity, bool) {
 59849  	return nil, false
 59850  }
 59851  
 59852  // AsLookupActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59853  func (dspa DatabricksSparkPythonActivity) AsLookupActivity() (*LookupActivity, bool) {
 59854  	return nil, false
 59855  }
 59856  
 59857  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59858  func (dspa DatabricksSparkPythonActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 59859  	return nil, false
 59860  }
 59861  
 59862  // AsDeleteActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59863  func (dspa DatabricksSparkPythonActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 59864  	return nil, false
 59865  }
 59866  
 59867  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59868  func (dspa DatabricksSparkPythonActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 59869  	return nil, false
 59870  }
 59871  
 59872  // AsCustomActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59873  func (dspa DatabricksSparkPythonActivity) AsCustomActivity() (*CustomActivity, bool) {
 59874  	return nil, false
 59875  }
 59876  
 59877  // AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59878  func (dspa DatabricksSparkPythonActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 59879  	return nil, false
 59880  }
 59881  
 59882  // AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59883  func (dspa DatabricksSparkPythonActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 59884  	return nil, false
 59885  }
 59886  
 59887  // AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59888  func (dspa DatabricksSparkPythonActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 59889  	return nil, false
 59890  }
 59891  
 59892  // AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59893  func (dspa DatabricksSparkPythonActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 59894  	return nil, false
 59895  }
 59896  
 59897  // AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59898  func (dspa DatabricksSparkPythonActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 59899  	return nil, false
 59900  }
 59901  
 59902  // AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59903  func (dspa DatabricksSparkPythonActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 59904  	return nil, false
 59905  }
 59906  
 59907  // AsCopyActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59908  func (dspa DatabricksSparkPythonActivity) AsCopyActivity() (*CopyActivity, bool) {
 59909  	return nil, false
 59910  }
 59911  
 59912  // AsExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59913  func (dspa DatabricksSparkPythonActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 59914  	return nil, false
 59915  }
 59916  
 59917  // AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59918  func (dspa DatabricksSparkPythonActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 59919  	return &dspa, true
 59920  }
 59921  
 59922  // AsWebHookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59923  func (dspa DatabricksSparkPythonActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 59924  	return nil, false
 59925  }
 59926  
 59927  // AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59928  func (dspa DatabricksSparkPythonActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 59929  	return nil, false
 59930  }
 59931  
 59932  // AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59933  func (dspa DatabricksSparkPythonActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 59934  	return nil, false
 59935  }
 59936  
 59937  // AsFilterActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59938  func (dspa DatabricksSparkPythonActivity) AsFilterActivity() (*FilterActivity, bool) {
 59939  	return nil, false
 59940  }
 59941  
 59942  // AsValidationActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59943  func (dspa DatabricksSparkPythonActivity) AsValidationActivity() (*ValidationActivity, bool) {
 59944  	return nil, false
 59945  }
 59946  
 59947  // AsUntilActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59948  func (dspa DatabricksSparkPythonActivity) AsUntilActivity() (*UntilActivity, bool) {
 59949  	return nil, false
 59950  }
 59951  
 59952  // AsWaitActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59953  func (dspa DatabricksSparkPythonActivity) AsWaitActivity() (*WaitActivity, bool) {
 59954  	return nil, false
 59955  }
 59956  
 59957  // AsForEachActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59958  func (dspa DatabricksSparkPythonActivity) AsForEachActivity() (*ForEachActivity, bool) {
 59959  	return nil, false
 59960  }
 59961  
 59962  // AsSwitchActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59963  func (dspa DatabricksSparkPythonActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 59964  	return nil, false
 59965  }
 59966  
 59967  // AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59968  func (dspa DatabricksSparkPythonActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 59969  	return nil, false
 59970  }
 59971  
 59972  // AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59973  func (dspa DatabricksSparkPythonActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 59974  	return nil, false
 59975  }
 59976  
 59977  // AsControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59978  func (dspa DatabricksSparkPythonActivity) AsControlActivity() (*ControlActivity, bool) {
 59979  	return nil, false
 59980  }
 59981  
 59982  // AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59983  func (dspa DatabricksSparkPythonActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 59984  	return nil, false
 59985  }
 59986  
 59987  // AsActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59988  func (dspa DatabricksSparkPythonActivity) AsActivity() (*Activity, bool) {
 59989  	return nil, false
 59990  }
 59991  
 59992  // AsBasicActivity is the BasicActivity implementation for DatabricksSparkPythonActivity.
 59993  func (dspa DatabricksSparkPythonActivity) AsBasicActivity() (BasicActivity, bool) {
 59994  	return &dspa, true
 59995  }
 59996  
 59997  // UnmarshalJSON is the custom unmarshaler for DatabricksSparkPythonActivity struct.
 59998  func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error {
 59999  	var m map[string]*json.RawMessage
 60000  	err := json.Unmarshal(body, &m)
 60001  	if err != nil {
 60002  		return err
 60003  	}
 60004  	for k, v := range m {
 60005  		switch k {
 60006  		case "typeProperties":
 60007  			if v != nil {
 60008  				var databricksSparkPythonActivityTypeProperties DatabricksSparkPythonActivityTypeProperties
 60009  				err = json.Unmarshal(*v, &databricksSparkPythonActivityTypeProperties)
 60010  				if err != nil {
 60011  					return err
 60012  				}
 60013  				dspa.DatabricksSparkPythonActivityTypeProperties = &databricksSparkPythonActivityTypeProperties
 60014  			}
 60015  		case "linkedServiceName":
 60016  			if v != nil {
 60017  				var linkedServiceName LinkedServiceReference
 60018  				err = json.Unmarshal(*v, &linkedServiceName)
 60019  				if err != nil {
 60020  					return err
 60021  				}
 60022  				dspa.LinkedServiceName = &linkedServiceName
 60023  			}
 60024  		case "policy":
 60025  			if v != nil {
 60026  				var policy ActivityPolicy
 60027  				err = json.Unmarshal(*v, &policy)
 60028  				if err != nil {
 60029  					return err
 60030  				}
 60031  				dspa.Policy = &policy
 60032  			}
 60033  		default:
 60034  			if v != nil {
 60035  				var additionalProperties interface{}
 60036  				err = json.Unmarshal(*v, &additionalProperties)
 60037  				if err != nil {
 60038  					return err
 60039  				}
 60040  				if dspa.AdditionalProperties == nil {
 60041  					dspa.AdditionalProperties = make(map[string]interface{})
 60042  				}
 60043  				dspa.AdditionalProperties[k] = additionalProperties
 60044  			}
 60045  		case "name":
 60046  			if v != nil {
 60047  				var name string
 60048  				err = json.Unmarshal(*v, &name)
 60049  				if err != nil {
 60050  					return err
 60051  				}
 60052  				dspa.Name = &name
 60053  			}
 60054  		case "description":
 60055  			if v != nil {
 60056  				var description string
 60057  				err = json.Unmarshal(*v, &description)
 60058  				if err != nil {
 60059  					return err
 60060  				}
 60061  				dspa.Description = &description
 60062  			}
 60063  		case "dependsOn":
 60064  			if v != nil {
 60065  				var dependsOn []ActivityDependency
 60066  				err = json.Unmarshal(*v, &dependsOn)
 60067  				if err != nil {
 60068  					return err
 60069  				}
 60070  				dspa.DependsOn = &dependsOn
 60071  			}
 60072  		case "userProperties":
 60073  			if v != nil {
 60074  				var userProperties []UserProperty
 60075  				err = json.Unmarshal(*v, &userProperties)
 60076  				if err != nil {
 60077  					return err
 60078  				}
 60079  				dspa.UserProperties = &userProperties
 60080  			}
 60081  		case "type":
 60082  			if v != nil {
 60083  				var typeVar TypeBasicActivity
 60084  				err = json.Unmarshal(*v, &typeVar)
 60085  				if err != nil {
 60086  					return err
 60087  				}
 60088  				dspa.Type = typeVar
 60089  			}
 60090  		}
 60091  	}
 60092  
 60093  	return nil
 60094  }
 60095  
 60096  // DatabricksSparkPythonActivityTypeProperties databricks SparkPython activity properties.
 60097  type DatabricksSparkPythonActivityTypeProperties struct {
 60098  	// PythonFile - The URI of the Python file to be executed. DBFS paths are supported. Type: string (or Expression with resultType string).
 60099  	PythonFile interface{} `json:"pythonFile,omitempty"`
 60100  	// Parameters - Command line parameters that will be passed to the Python file.
 60101  	Parameters *[]interface{} `json:"parameters,omitempty"`
 60102  	// Libraries - A list of libraries to be installed on the cluster that will execute the job.
 60103  	Libraries *[]map[string]interface{} `json:"libraries,omitempty"`
 60104  }
 60105  
 60106  // BasicDataFlow azure Synapse nested object which contains a flow with data movements and transformations.
 60107  type BasicDataFlow interface {
 60108  	AsMappingDataFlow() (*MappingDataFlow, bool)
 60109  	AsDataFlow() (*DataFlow, bool)
 60110  }
 60111  
 60112  // DataFlow azure Synapse nested object which contains a flow with data movements and transformations.
 60113  type DataFlow struct {
 60114  	// Description - The description of the data flow.
 60115  	Description *string `json:"description,omitempty"`
 60116  	// Annotations - List of tags that can be used for describing the data flow.
 60117  	Annotations *[]interface{} `json:"annotations,omitempty"`
 60118  	// Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level.
 60119  	Folder *DataFlowFolder `json:"folder,omitempty"`
 60120  	// Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow'
 60121  	Type TypeBasicDataFlow `json:"type,omitempty"`
 60122  }
 60123  
 60124  func unmarshalBasicDataFlow(body []byte) (BasicDataFlow, error) {
 60125  	var m map[string]interface{}
 60126  	err := json.Unmarshal(body, &m)
 60127  	if err != nil {
 60128  		return nil, err
 60129  	}
 60130  
 60131  	switch m["type"] {
 60132  	case string(TypeMappingDataFlow):
 60133  		var mdf MappingDataFlow
 60134  		err := json.Unmarshal(body, &mdf)
 60135  		return mdf, err
 60136  	default:
 60137  		var df DataFlow
 60138  		err := json.Unmarshal(body, &df)
 60139  		return df, err
 60140  	}
 60141  }
 60142  func unmarshalBasicDataFlowArray(body []byte) ([]BasicDataFlow, error) {
 60143  	var rawMessages []*json.RawMessage
 60144  	err := json.Unmarshal(body, &rawMessages)
 60145  	if err != nil {
 60146  		return nil, err
 60147  	}
 60148  
 60149  	dfArray := make([]BasicDataFlow, len(rawMessages))
 60150  
 60151  	for index, rawMessage := range rawMessages {
 60152  		df, err := unmarshalBasicDataFlow(*rawMessage)
 60153  		if err != nil {
 60154  			return nil, err
 60155  		}
 60156  		dfArray[index] = df
 60157  	}
 60158  	return dfArray, nil
 60159  }
 60160  
 60161  // MarshalJSON is the custom marshaler for DataFlow.
 60162  func (df DataFlow) MarshalJSON() ([]byte, error) {
 60163  	df.Type = TypeDataFlow
 60164  	objectMap := make(map[string]interface{})
 60165  	if df.Description != nil {
 60166  		objectMap["description"] = df.Description
 60167  	}
 60168  	if df.Annotations != nil {
 60169  		objectMap["annotations"] = df.Annotations
 60170  	}
 60171  	if df.Folder != nil {
 60172  		objectMap["folder"] = df.Folder
 60173  	}
 60174  	if df.Type != "" {
 60175  		objectMap["type"] = df.Type
 60176  	}
 60177  	return json.Marshal(objectMap)
 60178  }
 60179  
 60180  // AsMappingDataFlow is the BasicDataFlow implementation for DataFlow.
 60181  func (df DataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) {
 60182  	return nil, false
 60183  }
 60184  
 60185  // AsDataFlow is the BasicDataFlow implementation for DataFlow.
 60186  func (df DataFlow) AsDataFlow() (*DataFlow, bool) {
 60187  	return &df, true
 60188  }
 60189  
 60190  // AsBasicDataFlow is the BasicDataFlow implementation for DataFlow.
 60191  func (df DataFlow) AsBasicDataFlow() (BasicDataFlow, bool) {
 60192  	return &df, true
 60193  }
 60194  
 60195  // DataFlowCreateOrUpdateDataFlowFuture an abstraction for monitoring and retrieving the results of a
 60196  // long-running operation.
 60197  type DataFlowCreateOrUpdateDataFlowFuture struct {
 60198  	azure.FutureAPI
 60199  	// Result returns the result of the asynchronous operation.
 60200  	// If the operation has not completed it will return an error.
 60201  	Result func(DataFlowClient) (DataFlowResource, error)
 60202  }
 60203  
 60204  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 60205  func (future *DataFlowCreateOrUpdateDataFlowFuture) UnmarshalJSON(body []byte) error {
 60206  	var azFuture azure.Future
 60207  	if err := json.Unmarshal(body, &azFuture); err != nil {
 60208  		return err
 60209  	}
 60210  	future.FutureAPI = &azFuture
 60211  	future.Result = future.result
 60212  	return nil
 60213  }
 60214  
 60215  // result is the default implementation for DataFlowCreateOrUpdateDataFlowFuture.Result.
 60216  func (future *DataFlowCreateOrUpdateDataFlowFuture) result(client DataFlowClient) (dfr DataFlowResource, err error) {
 60217  	var done bool
 60218  	done, err = future.DoneWithContext(context.Background(), client)
 60219  	if err != nil {
 60220  		err = autorest.NewErrorWithError(err, "artifacts.DataFlowCreateOrUpdateDataFlowFuture", "Result", future.Response(), "Polling failure")
 60221  		return
 60222  	}
 60223  	if !done {
 60224  		dfr.Response.Response = future.Response()
 60225  		err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowCreateOrUpdateDataFlowFuture")
 60226  		return
 60227  	}
 60228  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
 60229  	if dfr.Response.Response, err = future.GetResult(sender); err == nil && dfr.Response.Response.StatusCode != http.StatusNoContent {
 60230  		dfr, err = client.CreateOrUpdateDataFlowResponder(dfr.Response.Response)
 60231  		if err != nil {
 60232  			err = autorest.NewErrorWithError(err, "artifacts.DataFlowCreateOrUpdateDataFlowFuture", "Result", dfr.Response.Response, "Failure responding to request")
 60233  		}
 60234  	}
 60235  	return
 60236  }
 60237  
 60238  // DataFlowDebugCommandRequest request body structure for data flow expression preview.
 60239  type DataFlowDebugCommandRequest struct {
 60240  	// SessionID - The ID of data flow debug session.
 60241  	SessionID *string `json:"sessionId,omitempty"`
 60242  	// DataFlowName - The data flow which contains the debug session.
 60243  	DataFlowName *string `json:"dataFlowName,omitempty"`
 60244  	// CommandName - The command name.
 60245  	CommandName *string `json:"commandName,omitempty"`
 60246  	// CommandPayload - The command payload object.
 60247  	CommandPayload interface{} `json:"commandPayload,omitempty"`
 60248  }
 60249  
 60250  // DataFlowDebugCommandResponse response body structure of data flow result for data preview, statistics or
 60251  // expression preview.
 60252  type DataFlowDebugCommandResponse struct {
 60253  	autorest.Response `json:"-"`
 60254  	// Status - The run status of data preview, statistics or expression preview.
 60255  	Status *string `json:"status,omitempty"`
 60256  	// Data - The result data of data preview, statistics or expression preview.
 60257  	Data *string `json:"data,omitempty"`
 60258  }
 60259  
 60260  // DataFlowDebugPackage request body structure for starting data flow debug session.
 60261  type DataFlowDebugPackage struct {
 60262  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 60263  	AdditionalProperties map[string]interface{} `json:""`
 60264  	// SessionID - The ID of data flow debug session.
 60265  	SessionID *string `json:"sessionId,omitempty"`
 60266  	// DataFlow - Data flow instance.
 60267  	DataFlow *DataFlowDebugResource `json:"dataFlow,omitempty"`
 60268  	// Datasets - List of datasets.
 60269  	Datasets *[]DatasetDebugResource `json:"datasets,omitempty"`
 60270  	// LinkedServices - List of linked services.
 60271  	LinkedServices *[]LinkedServiceDebugResource `json:"linkedServices,omitempty"`
 60272  	// Staging - Staging info for debug session.
 60273  	Staging *DataFlowStagingInfo `json:"staging,omitempty"`
 60274  	// DebugSettings - Data flow debug settings.
 60275  	DebugSettings *DataFlowDebugPackageDebugSettings `json:"debugSettings,omitempty"`
 60276  }
 60277  
 60278  // MarshalJSON is the custom marshaler for DataFlowDebugPackage.
 60279  func (dfdp DataFlowDebugPackage) MarshalJSON() ([]byte, error) {
 60280  	objectMap := make(map[string]interface{})
 60281  	if dfdp.SessionID != nil {
 60282  		objectMap["sessionId"] = dfdp.SessionID
 60283  	}
 60284  	if dfdp.DataFlow != nil {
 60285  		objectMap["dataFlow"] = dfdp.DataFlow
 60286  	}
 60287  	if dfdp.Datasets != nil {
 60288  		objectMap["datasets"] = dfdp.Datasets
 60289  	}
 60290  	if dfdp.LinkedServices != nil {
 60291  		objectMap["linkedServices"] = dfdp.LinkedServices
 60292  	}
 60293  	if dfdp.Staging != nil {
 60294  		objectMap["staging"] = dfdp.Staging
 60295  	}
 60296  	if dfdp.DebugSettings != nil {
 60297  		objectMap["debugSettings"] = dfdp.DebugSettings
 60298  	}
 60299  	for k, v := range dfdp.AdditionalProperties {
 60300  		objectMap[k] = v
 60301  	}
 60302  	return json.Marshal(objectMap)
 60303  }
 60304  
 60305  // UnmarshalJSON is the custom unmarshaler for DataFlowDebugPackage struct.
 60306  func (dfdp *DataFlowDebugPackage) UnmarshalJSON(body []byte) error {
 60307  	var m map[string]*json.RawMessage
 60308  	err := json.Unmarshal(body, &m)
 60309  	if err != nil {
 60310  		return err
 60311  	}
 60312  	for k, v := range m {
 60313  		switch k {
 60314  		default:
 60315  			if v != nil {
 60316  				var additionalProperties interface{}
 60317  				err = json.Unmarshal(*v, &additionalProperties)
 60318  				if err != nil {
 60319  					return err
 60320  				}
 60321  				if dfdp.AdditionalProperties == nil {
 60322  					dfdp.AdditionalProperties = make(map[string]interface{})
 60323  				}
 60324  				dfdp.AdditionalProperties[k] = additionalProperties
 60325  			}
 60326  		case "sessionId":
 60327  			if v != nil {
 60328  				var sessionID string
 60329  				err = json.Unmarshal(*v, &sessionID)
 60330  				if err != nil {
 60331  					return err
 60332  				}
 60333  				dfdp.SessionID = &sessionID
 60334  			}
 60335  		case "dataFlow":
 60336  			if v != nil {
 60337  				var dataFlow DataFlowDebugResource
 60338  				err = json.Unmarshal(*v, &dataFlow)
 60339  				if err != nil {
 60340  					return err
 60341  				}
 60342  				dfdp.DataFlow = &dataFlow
 60343  			}
 60344  		case "datasets":
 60345  			if v != nil {
 60346  				var datasets []DatasetDebugResource
 60347  				err = json.Unmarshal(*v, &datasets)
 60348  				if err != nil {
 60349  					return err
 60350  				}
 60351  				dfdp.Datasets = &datasets
 60352  			}
 60353  		case "linkedServices":
 60354  			if v != nil {
 60355  				var linkedServices []LinkedServiceDebugResource
 60356  				err = json.Unmarshal(*v, &linkedServices)
 60357  				if err != nil {
 60358  					return err
 60359  				}
 60360  				dfdp.LinkedServices = &linkedServices
 60361  			}
 60362  		case "staging":
 60363  			if v != nil {
 60364  				var staging DataFlowStagingInfo
 60365  				err = json.Unmarshal(*v, &staging)
 60366  				if err != nil {
 60367  					return err
 60368  				}
 60369  				dfdp.Staging = &staging
 60370  			}
 60371  		case "debugSettings":
 60372  			if v != nil {
 60373  				var debugSettings DataFlowDebugPackageDebugSettings
 60374  				err = json.Unmarshal(*v, &debugSettings)
 60375  				if err != nil {
 60376  					return err
 60377  				}
 60378  				dfdp.DebugSettings = &debugSettings
 60379  			}
 60380  		}
 60381  	}
 60382  
 60383  	return nil
 60384  }
 60385  
 60386  // DataFlowDebugPackageDebugSettings data flow debug settings.
 60387  type DataFlowDebugPackageDebugSettings struct {
 60388  	// SourceSettings - Source setting for data flow debug.
 60389  	SourceSettings *[]DataFlowSourceSetting `json:"sourceSettings,omitempty"`
 60390  	// Parameters - Data flow parameters.
 60391  	Parameters map[string]interface{} `json:"parameters"`
 60392  	// DatasetParameters - Parameters for dataset.
 60393  	DatasetParameters interface{} `json:"datasetParameters,omitempty"`
 60394  }
 60395  
 60396  // MarshalJSON is the custom marshaler for DataFlowDebugPackageDebugSettings.
 60397  func (dfdpS DataFlowDebugPackageDebugSettings) MarshalJSON() ([]byte, error) {
 60398  	objectMap := make(map[string]interface{})
 60399  	if dfdpS.SourceSettings != nil {
 60400  		objectMap["sourceSettings"] = dfdpS.SourceSettings
 60401  	}
 60402  	if dfdpS.Parameters != nil {
 60403  		objectMap["parameters"] = dfdpS.Parameters
 60404  	}
 60405  	if dfdpS.DatasetParameters != nil {
 60406  		objectMap["datasetParameters"] = dfdpS.DatasetParameters
 60407  	}
 60408  	return json.Marshal(objectMap)
 60409  }
 60410  
 60411  // DataFlowDebugPreviewDataRequest request body structure for data flow preview data.
 60412  type DataFlowDebugPreviewDataRequest struct {
 60413  	// SessionID - The ID of data flow debug session.
 60414  	SessionID *string `json:"sessionId,omitempty"`
 60415  	// DataFlowName - The data flow which contains the debug session.
 60416  	DataFlowName *string `json:"dataFlowName,omitempty"`
 60417  	// StreamName - The output stream name.
 60418  	StreamName *string `json:"streamName,omitempty"`
 60419  	// RowLimits - The row limit for preview request.
 60420  	RowLimits *int32 `json:"rowLimits,omitempty"`
 60421  }
 60422  
 60423  // DataFlowDebugQueryResponse response body structure of data flow query for data preview, statistics or
 60424  // expression preview.
 60425  type DataFlowDebugQueryResponse struct {
 60426  	// RunID - The run ID of data flow debug session.
 60427  	RunID *string `json:"runId,omitempty"`
 60428  }
 60429  
 60430  // DataFlowDebugResource data flow debug resource.
 60431  type DataFlowDebugResource struct {
 60432  	// Properties - Data flow properties.
 60433  	Properties BasicDataFlow `json:"properties,omitempty"`
 60434  	// Name - The resource name.
 60435  	Name *string `json:"name,omitempty"`
 60436  }
 60437  
 60438  // UnmarshalJSON is the custom unmarshaler for DataFlowDebugResource struct.
 60439  func (dfdr *DataFlowDebugResource) UnmarshalJSON(body []byte) error {
 60440  	var m map[string]*json.RawMessage
 60441  	err := json.Unmarshal(body, &m)
 60442  	if err != nil {
 60443  		return err
 60444  	}
 60445  	for k, v := range m {
 60446  		switch k {
 60447  		case "properties":
 60448  			if v != nil {
 60449  				properties, err := unmarshalBasicDataFlow(*v)
 60450  				if err != nil {
 60451  					return err
 60452  				}
 60453  				dfdr.Properties = properties
 60454  			}
 60455  		case "name":
 60456  			if v != nil {
 60457  				var name string
 60458  				err = json.Unmarshal(*v, &name)
 60459  				if err != nil {
 60460  					return err
 60461  				}
 60462  				dfdr.Name = &name
 60463  			}
 60464  		}
 60465  	}
 60466  
 60467  	return nil
 60468  }
 60469  
 60470  // DataFlowDebugResultResponse response body structure of data flow result for data preview, statistics or
 60471  // expression preview.
 60472  type DataFlowDebugResultResponse struct {
 60473  	// Status - The run status of data preview, statistics or expression preview.
 60474  	Status *string `json:"status,omitempty"`
 60475  	// Data - The result data of data preview, statistics or expression preview.
 60476  	Data *string `json:"data,omitempty"`
 60477  }
 60478  
 60479  // DataFlowDebugSessionCreateDataFlowDebugSessionFuture an abstraction for monitoring and retrieving the
 60480  // results of a long-running operation.
 60481  type DataFlowDebugSessionCreateDataFlowDebugSessionFuture struct {
 60482  	azure.FutureAPI
 60483  	// Result returns the result of the asynchronous operation.
 60484  	// If the operation has not completed it will return an error.
 60485  	Result func(DataFlowDebugSessionClient) (CreateDataFlowDebugSessionResponse, error)
 60486  }
 60487  
 60488  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 60489  func (future *DataFlowDebugSessionCreateDataFlowDebugSessionFuture) UnmarshalJSON(body []byte) error {
 60490  	var azFuture azure.Future
 60491  	if err := json.Unmarshal(body, &azFuture); err != nil {
 60492  		return err
 60493  	}
 60494  	future.FutureAPI = &azFuture
 60495  	future.Result = future.result
 60496  	return nil
 60497  }
 60498  
 60499  // result is the default implementation for DataFlowDebugSessionCreateDataFlowDebugSessionFuture.Result.
 60500  func (future *DataFlowDebugSessionCreateDataFlowDebugSessionFuture) result(client DataFlowDebugSessionClient) (cdfdsr CreateDataFlowDebugSessionResponse, err error) {
 60501  	var done bool
 60502  	done, err = future.DoneWithContext(context.Background(), client)
 60503  	if err != nil {
 60504  		err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture", "Result", future.Response(), "Polling failure")
 60505  		return
 60506  	}
 60507  	if !done {
 60508  		cdfdsr.Response.Response = future.Response()
 60509  		err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture")
 60510  		return
 60511  	}
 60512  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
 60513  	if cdfdsr.Response.Response, err = future.GetResult(sender); err == nil && cdfdsr.Response.Response.StatusCode != http.StatusNoContent {
 60514  		cdfdsr, err = client.CreateDataFlowDebugSessionResponder(cdfdsr.Response.Response)
 60515  		if err != nil {
 60516  			err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionCreateDataFlowDebugSessionFuture", "Result", cdfdsr.Response.Response, "Failure responding to request")
 60517  		}
 60518  	}
 60519  	return
 60520  }
 60521  
 60522  // DataFlowDebugSessionExecuteCommandFuture an abstraction for monitoring and retrieving the results of a
 60523  // long-running operation.
 60524  type DataFlowDebugSessionExecuteCommandFuture struct {
 60525  	azure.FutureAPI
 60526  	// Result returns the result of the asynchronous operation.
 60527  	// If the operation has not completed it will return an error.
 60528  	Result func(DataFlowDebugSessionClient) (DataFlowDebugCommandResponse, error)
 60529  }
 60530  
 60531  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 60532  func (future *DataFlowDebugSessionExecuteCommandFuture) UnmarshalJSON(body []byte) error {
 60533  	var azFuture azure.Future
 60534  	if err := json.Unmarshal(body, &azFuture); err != nil {
 60535  		return err
 60536  	}
 60537  	future.FutureAPI = &azFuture
 60538  	future.Result = future.result
 60539  	return nil
 60540  }
 60541  
 60542  // result is the default implementation for DataFlowDebugSessionExecuteCommandFuture.Result.
 60543  func (future *DataFlowDebugSessionExecuteCommandFuture) result(client DataFlowDebugSessionClient) (dfdcr DataFlowDebugCommandResponse, err error) {
 60544  	var done bool
 60545  	done, err = future.DoneWithContext(context.Background(), client)
 60546  	if err != nil {
 60547  		err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionExecuteCommandFuture", "Result", future.Response(), "Polling failure")
 60548  		return
 60549  	}
 60550  	if !done {
 60551  		dfdcr.Response.Response = future.Response()
 60552  		err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowDebugSessionExecuteCommandFuture")
 60553  		return
 60554  	}
 60555  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
 60556  	if dfdcr.Response.Response, err = future.GetResult(sender); err == nil && dfdcr.Response.Response.StatusCode != http.StatusNoContent {
 60557  		dfdcr, err = client.ExecuteCommandResponder(dfdcr.Response.Response)
 60558  		if err != nil {
 60559  			err = autorest.NewErrorWithError(err, "artifacts.DataFlowDebugSessionExecuteCommandFuture", "Result", dfdcr.Response.Response, "Failure responding to request")
 60560  		}
 60561  	}
 60562  	return
 60563  }
 60564  
 60565  // DataFlowDebugSessionInfo data flow debug session info.
 60566  type DataFlowDebugSessionInfo struct {
 60567  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 60568  	AdditionalProperties map[string]interface{} `json:""`
 60569  	// DataFlowName - The name of the data flow.
 60570  	DataFlowName *string `json:"dataFlowName,omitempty"`
 60571  	// ComputeType - Compute type of the cluster.
 60572  	ComputeType *string `json:"computeType,omitempty"`
 60573  	// CoreCount - Core count of the cluster.
 60574  	CoreCount *int32 `json:"coreCount,omitempty"`
 60575  	// NodeCount - Node count of the cluster. (deprecated property)
 60576  	NodeCount *int32 `json:"nodeCount,omitempty"`
 60577  	// IntegrationRuntimeName - Attached integration runtime name of data flow debug session.
 60578  	IntegrationRuntimeName *string `json:"integrationRuntimeName,omitempty"`
 60579  	// SessionID - The ID of data flow debug session.
 60580  	SessionID *string `json:"sessionId,omitempty"`
 60581  	// StartTime - Start time of data flow debug session.
 60582  	StartTime *string `json:"startTime,omitempty"`
 60583  	// TimeToLiveInMinutes - Compute type of the cluster.
 60584  	TimeToLiveInMinutes *int32 `json:"timeToLiveInMinutes,omitempty"`
 60585  	// LastActivityTime - Last activity time of data flow debug session.
 60586  	LastActivityTime *string `json:"lastActivityTime,omitempty"`
 60587  }
 60588  
 60589  // MarshalJSON is the custom marshaler for DataFlowDebugSessionInfo.
 60590  func (dfdsi DataFlowDebugSessionInfo) MarshalJSON() ([]byte, error) {
 60591  	objectMap := make(map[string]interface{})
 60592  	if dfdsi.DataFlowName != nil {
 60593  		objectMap["dataFlowName"] = dfdsi.DataFlowName
 60594  	}
 60595  	if dfdsi.ComputeType != nil {
 60596  		objectMap["computeType"] = dfdsi.ComputeType
 60597  	}
 60598  	if dfdsi.CoreCount != nil {
 60599  		objectMap["coreCount"] = dfdsi.CoreCount
 60600  	}
 60601  	if dfdsi.NodeCount != nil {
 60602  		objectMap["nodeCount"] = dfdsi.NodeCount
 60603  	}
 60604  	if dfdsi.IntegrationRuntimeName != nil {
 60605  		objectMap["integrationRuntimeName"] = dfdsi.IntegrationRuntimeName
 60606  	}
 60607  	if dfdsi.SessionID != nil {
 60608  		objectMap["sessionId"] = dfdsi.SessionID
 60609  	}
 60610  	if dfdsi.StartTime != nil {
 60611  		objectMap["startTime"] = dfdsi.StartTime
 60612  	}
 60613  	if dfdsi.TimeToLiveInMinutes != nil {
 60614  		objectMap["timeToLiveInMinutes"] = dfdsi.TimeToLiveInMinutes
 60615  	}
 60616  	if dfdsi.LastActivityTime != nil {
 60617  		objectMap["lastActivityTime"] = dfdsi.LastActivityTime
 60618  	}
 60619  	for k, v := range dfdsi.AdditionalProperties {
 60620  		objectMap[k] = v
 60621  	}
 60622  	return json.Marshal(objectMap)
 60623  }
 60624  
 60625  // UnmarshalJSON is the custom unmarshaler for DataFlowDebugSessionInfo struct.
 60626  func (dfdsi *DataFlowDebugSessionInfo) UnmarshalJSON(body []byte) error {
 60627  	var m map[string]*json.RawMessage
 60628  	err := json.Unmarshal(body, &m)
 60629  	if err != nil {
 60630  		return err
 60631  	}
 60632  	for k, v := range m {
 60633  		switch k {
 60634  		default:
 60635  			if v != nil {
 60636  				var additionalProperties interface{}
 60637  				err = json.Unmarshal(*v, &additionalProperties)
 60638  				if err != nil {
 60639  					return err
 60640  				}
 60641  				if dfdsi.AdditionalProperties == nil {
 60642  					dfdsi.AdditionalProperties = make(map[string]interface{})
 60643  				}
 60644  				dfdsi.AdditionalProperties[k] = additionalProperties
 60645  			}
 60646  		case "dataFlowName":
 60647  			if v != nil {
 60648  				var dataFlowName string
 60649  				err = json.Unmarshal(*v, &dataFlowName)
 60650  				if err != nil {
 60651  					return err
 60652  				}
 60653  				dfdsi.DataFlowName = &dataFlowName
 60654  			}
 60655  		case "computeType":
 60656  			if v != nil {
 60657  				var computeType string
 60658  				err = json.Unmarshal(*v, &computeType)
 60659  				if err != nil {
 60660  					return err
 60661  				}
 60662  				dfdsi.ComputeType = &computeType
 60663  			}
 60664  		case "coreCount":
 60665  			if v != nil {
 60666  				var coreCount int32
 60667  				err = json.Unmarshal(*v, &coreCount)
 60668  				if err != nil {
 60669  					return err
 60670  				}
 60671  				dfdsi.CoreCount = &coreCount
 60672  			}
 60673  		case "nodeCount":
 60674  			if v != nil {
 60675  				var nodeCount int32
 60676  				err = json.Unmarshal(*v, &nodeCount)
 60677  				if err != nil {
 60678  					return err
 60679  				}
 60680  				dfdsi.NodeCount = &nodeCount
 60681  			}
 60682  		case "integrationRuntimeName":
 60683  			if v != nil {
 60684  				var integrationRuntimeName string
 60685  				err = json.Unmarshal(*v, &integrationRuntimeName)
 60686  				if err != nil {
 60687  					return err
 60688  				}
 60689  				dfdsi.IntegrationRuntimeName = &integrationRuntimeName
 60690  			}
 60691  		case "sessionId":
 60692  			if v != nil {
 60693  				var sessionID string
 60694  				err = json.Unmarshal(*v, &sessionID)
 60695  				if err != nil {
 60696  					return err
 60697  				}
 60698  				dfdsi.SessionID = &sessionID
 60699  			}
 60700  		case "startTime":
 60701  			if v != nil {
 60702  				var startTime string
 60703  				err = json.Unmarshal(*v, &startTime)
 60704  				if err != nil {
 60705  					return err
 60706  				}
 60707  				dfdsi.StartTime = &startTime
 60708  			}
 60709  		case "timeToLiveInMinutes":
 60710  			if v != nil {
 60711  				var timeToLiveInMinutes int32
 60712  				err = json.Unmarshal(*v, &timeToLiveInMinutes)
 60713  				if err != nil {
 60714  					return err
 60715  				}
 60716  				dfdsi.TimeToLiveInMinutes = &timeToLiveInMinutes
 60717  			}
 60718  		case "lastActivityTime":
 60719  			if v != nil {
 60720  				var lastActivityTime string
 60721  				err = json.Unmarshal(*v, &lastActivityTime)
 60722  				if err != nil {
 60723  					return err
 60724  				}
 60725  				dfdsi.LastActivityTime = &lastActivityTime
 60726  			}
 60727  		}
 60728  	}
 60729  
 60730  	return nil
 60731  }
 60732  
 60733  // DataFlowDebugStatisticsRequest request body structure for data flow statistics.
 60734  type DataFlowDebugStatisticsRequest struct {
 60735  	// SessionID - The ID of data flow debug session.
 60736  	SessionID *string `json:"sessionId,omitempty"`
 60737  	// DataFlowName - The data flow which contains the debug session.
 60738  	DataFlowName *string `json:"dataFlowName,omitempty"`
 60739  	// StreamName - The output stream name.
 60740  	StreamName *string `json:"streamName,omitempty"`
 60741  	// Columns - List of column names.
 60742  	Columns *[]string `json:"columns,omitempty"`
 60743  }
 60744  
 60745  // DataFlowDeleteDataFlowFuture an abstraction for monitoring and retrieving the results of a long-running
 60746  // operation.
 60747  type DataFlowDeleteDataFlowFuture struct {
 60748  	azure.FutureAPI
 60749  	// Result returns the result of the asynchronous operation.
 60750  	// If the operation has not completed it will return an error.
 60751  	Result func(DataFlowClient) (autorest.Response, error)
 60752  }
 60753  
 60754  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 60755  func (future *DataFlowDeleteDataFlowFuture) UnmarshalJSON(body []byte) error {
 60756  	var azFuture azure.Future
 60757  	if err := json.Unmarshal(body, &azFuture); err != nil {
 60758  		return err
 60759  	}
 60760  	future.FutureAPI = &azFuture
 60761  	future.Result = future.result
 60762  	return nil
 60763  }
 60764  
 60765  // result is the default implementation for DataFlowDeleteDataFlowFuture.Result.
 60766  func (future *DataFlowDeleteDataFlowFuture) result(client DataFlowClient) (ar autorest.Response, err error) {
 60767  	var done bool
 60768  	done, err = future.DoneWithContext(context.Background(), client)
 60769  	if err != nil {
 60770  		err = autorest.NewErrorWithError(err, "artifacts.DataFlowDeleteDataFlowFuture", "Result", future.Response(), "Polling failure")
 60771  		return
 60772  	}
 60773  	if !done {
 60774  		ar.Response = future.Response()
 60775  		err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowDeleteDataFlowFuture")
 60776  		return
 60777  	}
 60778  	ar.Response = future.Response()
 60779  	return
 60780  }
 60781  
 60782  // DataFlowFolder the folder that this data flow is in. If not specified, Data flow will appear at the root
 60783  // level.
 60784  type DataFlowFolder struct {
 60785  	// Name - The name of the folder that this data flow is in.
 60786  	Name *string `json:"name,omitempty"`
 60787  }
 60788  
 60789  // DataFlowListResponse a list of data flow resources.
 60790  type DataFlowListResponse struct {
 60791  	autorest.Response `json:"-"`
 60792  	// Value - List of data flows.
 60793  	Value *[]DataFlowResource `json:"value,omitempty"`
 60794  	// NextLink - The link to the next page of results, if any remaining results exist.
 60795  	NextLink *string `json:"nextLink,omitempty"`
 60796  }
 60797  
 60798  // DataFlowListResponseIterator provides access to a complete listing of DataFlowResource values.
 60799  type DataFlowListResponseIterator struct {
 60800  	i    int
 60801  	page DataFlowListResponsePage
 60802  }
 60803  
 60804  // NextWithContext advances to the next value.  If there was an error making
 60805  // the request the iterator does not advance and the error is returned.
 60806  func (iter *DataFlowListResponseIterator) NextWithContext(ctx context.Context) (err error) {
 60807  	if tracing.IsEnabled() {
 60808  		ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponseIterator.NextWithContext")
 60809  		defer func() {
 60810  			sc := -1
 60811  			if iter.Response().Response.Response != nil {
 60812  				sc = iter.Response().Response.Response.StatusCode
 60813  			}
 60814  			tracing.EndSpan(ctx, sc, err)
 60815  		}()
 60816  	}
 60817  	iter.i++
 60818  	if iter.i < len(iter.page.Values()) {
 60819  		return nil
 60820  	}
 60821  	err = iter.page.NextWithContext(ctx)
 60822  	if err != nil {
 60823  		iter.i--
 60824  		return err
 60825  	}
 60826  	iter.i = 0
 60827  	return nil
 60828  }
 60829  
 60830  // Next advances to the next value.  If there was an error making
 60831  // the request the iterator does not advance and the error is returned.
 60832  // Deprecated: Use NextWithContext() instead.
 60833  func (iter *DataFlowListResponseIterator) Next() error {
 60834  	return iter.NextWithContext(context.Background())
 60835  }
 60836  
 60837  // NotDone returns true if the enumeration should be started or is not yet complete.
 60838  func (iter DataFlowListResponseIterator) NotDone() bool {
 60839  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
 60840  }
 60841  
 60842  // Response returns the raw server response from the last page request.
 60843  func (iter DataFlowListResponseIterator) Response() DataFlowListResponse {
 60844  	return iter.page.Response()
 60845  }
 60846  
 60847  // Value returns the current value or a zero-initialized value if the
 60848  // iterator has advanced beyond the end of the collection.
 60849  func (iter DataFlowListResponseIterator) Value() DataFlowResource {
 60850  	if !iter.page.NotDone() {
 60851  		return DataFlowResource{}
 60852  	}
 60853  	return iter.page.Values()[iter.i]
 60854  }
 60855  
 60856  // Creates a new instance of the DataFlowListResponseIterator type.
 60857  func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator {
 60858  	return DataFlowListResponseIterator{page: page}
 60859  }
 60860  
 60861  // IsEmpty returns true if the ListResult contains no values.
 60862  func (dflr DataFlowListResponse) IsEmpty() bool {
 60863  	return dflr.Value == nil || len(*dflr.Value) == 0
 60864  }
 60865  
 60866  // hasNextLink returns true if the NextLink is not empty.
 60867  func (dflr DataFlowListResponse) hasNextLink() bool {
 60868  	return dflr.NextLink != nil && len(*dflr.NextLink) != 0
 60869  }
 60870  
 60871  // dataFlowListResponsePreparer prepares a request to retrieve the next set of results.
 60872  // It returns nil if no more results exist.
 60873  func (dflr DataFlowListResponse) dataFlowListResponsePreparer(ctx context.Context) (*http.Request, error) {
 60874  	if !dflr.hasNextLink() {
 60875  		return nil, nil
 60876  	}
 60877  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
 60878  		autorest.AsJSON(),
 60879  		autorest.AsGet(),
 60880  		autorest.WithBaseURL(to.String(dflr.NextLink)))
 60881  }
 60882  
 60883  // DataFlowListResponsePage contains a page of DataFlowResource values.
 60884  type DataFlowListResponsePage struct {
 60885  	fn   func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)
 60886  	dflr DataFlowListResponse
 60887  }
 60888  
 60889  // NextWithContext advances to the next page of values.  If there was an error making
 60890  // the request the page does not advance and the error is returned.
 60891  func (page *DataFlowListResponsePage) NextWithContext(ctx context.Context) (err error) {
 60892  	if tracing.IsEnabled() {
 60893  		ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponsePage.NextWithContext")
 60894  		defer func() {
 60895  			sc := -1
 60896  			if page.Response().Response.Response != nil {
 60897  				sc = page.Response().Response.Response.StatusCode
 60898  			}
 60899  			tracing.EndSpan(ctx, sc, err)
 60900  		}()
 60901  	}
 60902  	for {
 60903  		next, err := page.fn(ctx, page.dflr)
 60904  		if err != nil {
 60905  			return err
 60906  		}
 60907  		page.dflr = next
 60908  		if !next.hasNextLink() || !next.IsEmpty() {
 60909  			break
 60910  		}
 60911  	}
 60912  	return nil
 60913  }
 60914  
 60915  // Next advances to the next page of values.  If there was an error making
 60916  // the request the page does not advance and the error is returned.
 60917  // Deprecated: Use NextWithContext() instead.
 60918  func (page *DataFlowListResponsePage) Next() error {
 60919  	return page.NextWithContext(context.Background())
 60920  }
 60921  
 60922  // NotDone returns true if the page enumeration should be started or is not yet complete.
 60923  func (page DataFlowListResponsePage) NotDone() bool {
 60924  	return !page.dflr.IsEmpty()
 60925  }
 60926  
 60927  // Response returns the raw server response from the last page request.
 60928  func (page DataFlowListResponsePage) Response() DataFlowListResponse {
 60929  	return page.dflr
 60930  }
 60931  
 60932  // Values returns the slice of values for the current page or nil if there are no values.
 60933  func (page DataFlowListResponsePage) Values() []DataFlowResource {
 60934  	if page.dflr.IsEmpty() {
 60935  		return nil
 60936  	}
 60937  	return *page.dflr.Value
 60938  }
 60939  
 60940  // Creates a new instance of the DataFlowListResponsePage type.
 60941  func NewDataFlowListResponsePage(cur DataFlowListResponse, getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage {
 60942  	return DataFlowListResponsePage{
 60943  		fn:   getNextPage,
 60944  		dflr: cur,
 60945  	}
 60946  }
 60947  
 60948  // DataFlowReference data flow reference type.
 60949  type DataFlowReference struct {
 60950  	// Type - Data flow reference type.
 60951  	Type *string `json:"type,omitempty"`
 60952  	// ReferenceName - Reference data flow name.
 60953  	ReferenceName *string `json:"referenceName,omitempty"`
 60954  	// DatasetParameters - Reference data flow parameters from dataset.
 60955  	DatasetParameters interface{} `json:"datasetParameters,omitempty"`
 60956  }
 60957  
 60958  // DataFlowRenameDataFlowFuture an abstraction for monitoring and retrieving the results of a long-running
 60959  // operation.
 60960  type DataFlowRenameDataFlowFuture struct {
 60961  	azure.FutureAPI
 60962  	// Result returns the result of the asynchronous operation.
 60963  	// If the operation has not completed it will return an error.
 60964  	Result func(DataFlowClient) (autorest.Response, error)
 60965  }
 60966  
 60967  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 60968  func (future *DataFlowRenameDataFlowFuture) UnmarshalJSON(body []byte) error {
 60969  	var azFuture azure.Future
 60970  	if err := json.Unmarshal(body, &azFuture); err != nil {
 60971  		return err
 60972  	}
 60973  	future.FutureAPI = &azFuture
 60974  	future.Result = future.result
 60975  	return nil
 60976  }
 60977  
 60978  // result is the default implementation for DataFlowRenameDataFlowFuture.Result.
 60979  func (future *DataFlowRenameDataFlowFuture) result(client DataFlowClient) (ar autorest.Response, err error) {
 60980  	var done bool
 60981  	done, err = future.DoneWithContext(context.Background(), client)
 60982  	if err != nil {
 60983  		err = autorest.NewErrorWithError(err, "artifacts.DataFlowRenameDataFlowFuture", "Result", future.Response(), "Polling failure")
 60984  		return
 60985  	}
 60986  	if !done {
 60987  		ar.Response = future.Response()
 60988  		err = azure.NewAsyncOpIncompleteError("artifacts.DataFlowRenameDataFlowFuture")
 60989  		return
 60990  	}
 60991  	ar.Response = future.Response()
 60992  	return
 60993  }
 60994  
 60995  // DataFlowResource data flow resource type.
 60996  type DataFlowResource struct {
 60997  	autorest.Response `json:"-"`
 60998  	// Properties - Data flow properties.
 60999  	Properties BasicDataFlow `json:"properties,omitempty"`
 61000  	// Etag - READ-ONLY; Resource Etag.
 61001  	Etag *string `json:"etag,omitempty"`
 61002  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
 61003  	ID *string `json:"id,omitempty"`
 61004  	// Name - READ-ONLY; The name of the resource
 61005  	Name *string `json:"name,omitempty"`
 61006  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 61007  	Type *string `json:"type,omitempty"`
 61008  }
 61009  
 61010  // MarshalJSON is the custom marshaler for DataFlowResource.
 61011  func (dfr DataFlowResource) MarshalJSON() ([]byte, error) {
 61012  	objectMap := make(map[string]interface{})
 61013  	objectMap["properties"] = dfr.Properties
 61014  	return json.Marshal(objectMap)
 61015  }
 61016  
 61017  // UnmarshalJSON is the custom unmarshaler for DataFlowResource struct.
 61018  func (dfr *DataFlowResource) UnmarshalJSON(body []byte) error {
 61019  	var m map[string]*json.RawMessage
 61020  	err := json.Unmarshal(body, &m)
 61021  	if err != nil {
 61022  		return err
 61023  	}
 61024  	for k, v := range m {
 61025  		switch k {
 61026  		case "properties":
 61027  			if v != nil {
 61028  				properties, err := unmarshalBasicDataFlow(*v)
 61029  				if err != nil {
 61030  					return err
 61031  				}
 61032  				dfr.Properties = properties
 61033  			}
 61034  		case "etag":
 61035  			if v != nil {
 61036  				var etag string
 61037  				err = json.Unmarshal(*v, &etag)
 61038  				if err != nil {
 61039  					return err
 61040  				}
 61041  				dfr.Etag = &etag
 61042  			}
 61043  		case "id":
 61044  			if v != nil {
 61045  				var ID string
 61046  				err = json.Unmarshal(*v, &ID)
 61047  				if err != nil {
 61048  					return err
 61049  				}
 61050  				dfr.ID = &ID
 61051  			}
 61052  		case "name":
 61053  			if v != nil {
 61054  				var name string
 61055  				err = json.Unmarshal(*v, &name)
 61056  				if err != nil {
 61057  					return err
 61058  				}
 61059  				dfr.Name = &name
 61060  			}
 61061  		case "type":
 61062  			if v != nil {
 61063  				var typeVar string
 61064  				err = json.Unmarshal(*v, &typeVar)
 61065  				if err != nil {
 61066  					return err
 61067  				}
 61068  				dfr.Type = &typeVar
 61069  			}
 61070  		}
 61071  	}
 61072  
 61073  	return nil
 61074  }
 61075  
 61076  // DataFlowSink transformation for data flow sink.
 61077  type DataFlowSink struct {
 61078  	// Dataset - Dataset reference.
 61079  	Dataset *DatasetReference `json:"dataset,omitempty"`
 61080  	// Name - Transformation name.
 61081  	Name *string `json:"name,omitempty"`
 61082  	// Description - Transformation description.
 61083  	Description *string `json:"description,omitempty"`
 61084  }
 61085  
 61086  // DataFlowSource transformation for data flow source.
 61087  type DataFlowSource struct {
 61088  	// Dataset - Dataset reference.
 61089  	Dataset *DatasetReference `json:"dataset,omitempty"`
 61090  	// Name - Transformation name.
 61091  	Name *string `json:"name,omitempty"`
 61092  	// Description - Transformation description.
 61093  	Description *string `json:"description,omitempty"`
 61094  }
 61095  
 61096  // DataFlowSourceSetting definition of data flow source setting for debug.
 61097  type DataFlowSourceSetting struct {
 61098  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 61099  	AdditionalProperties map[string]interface{} `json:""`
 61100  	// SourceName - The data flow source name.
 61101  	SourceName *string `json:"sourceName,omitempty"`
 61102  	// RowLimit - Defines the row limit of data flow source in debug.
 61103  	RowLimit *int32 `json:"rowLimit,omitempty"`
 61104  }
 61105  
 61106  // MarshalJSON is the custom marshaler for DataFlowSourceSetting.
 61107  func (dfss DataFlowSourceSetting) MarshalJSON() ([]byte, error) {
 61108  	objectMap := make(map[string]interface{})
 61109  	if dfss.SourceName != nil {
 61110  		objectMap["sourceName"] = dfss.SourceName
 61111  	}
 61112  	if dfss.RowLimit != nil {
 61113  		objectMap["rowLimit"] = dfss.RowLimit
 61114  	}
 61115  	for k, v := range dfss.AdditionalProperties {
 61116  		objectMap[k] = v
 61117  	}
 61118  	return json.Marshal(objectMap)
 61119  }
 61120  
 61121  // UnmarshalJSON is the custom unmarshaler for DataFlowSourceSetting struct.
 61122  func (dfss *DataFlowSourceSetting) UnmarshalJSON(body []byte) error {
 61123  	var m map[string]*json.RawMessage
 61124  	err := json.Unmarshal(body, &m)
 61125  	if err != nil {
 61126  		return err
 61127  	}
 61128  	for k, v := range m {
 61129  		switch k {
 61130  		default:
 61131  			if v != nil {
 61132  				var additionalProperties interface{}
 61133  				err = json.Unmarshal(*v, &additionalProperties)
 61134  				if err != nil {
 61135  					return err
 61136  				}
 61137  				if dfss.AdditionalProperties == nil {
 61138  					dfss.AdditionalProperties = make(map[string]interface{})
 61139  				}
 61140  				dfss.AdditionalProperties[k] = additionalProperties
 61141  			}
 61142  		case "sourceName":
 61143  			if v != nil {
 61144  				var sourceName string
 61145  				err = json.Unmarshal(*v, &sourceName)
 61146  				if err != nil {
 61147  					return err
 61148  				}
 61149  				dfss.SourceName = &sourceName
 61150  			}
 61151  		case "rowLimit":
 61152  			if v != nil {
 61153  				var rowLimit int32
 61154  				err = json.Unmarshal(*v, &rowLimit)
 61155  				if err != nil {
 61156  					return err
 61157  				}
 61158  				dfss.RowLimit = &rowLimit
 61159  			}
 61160  		}
 61161  	}
 61162  
 61163  	return nil
 61164  }
 61165  
 61166  // DataFlowStagingInfo staging info for execute data flow activity.
 61167  type DataFlowStagingInfo struct {
 61168  	// LinkedService - Staging linked service reference.
 61169  	LinkedService *LinkedServiceReference `json:"linkedService,omitempty"`
 61170  	// FolderPath - Folder path for staging blob.
 61171  	FolderPath *string `json:"folderPath,omitempty"`
 61172  }
 61173  
 61174  // DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity.
 61175  type DataLakeAnalyticsUSQLActivity struct {
 61176  	// DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties.
 61177  	*DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"`
 61178  	// LinkedServiceName - Linked service reference.
 61179  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 61180  	// Policy - Activity policy.
 61181  	Policy *ActivityPolicy `json:"policy,omitempty"`
 61182  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 61183  	AdditionalProperties map[string]interface{} `json:""`
 61184  	// Name - Activity name.
 61185  	Name *string `json:"name,omitempty"`
 61186  	// Description - Activity description.
 61187  	Description *string `json:"description,omitempty"`
 61188  	// DependsOn - Activity depends on condition.
 61189  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 61190  	// UserProperties - Activity user properties.
 61191  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 61192  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 61193  	Type TypeBasicActivity `json:"type,omitempty"`
 61194  }
 61195  
 61196  // MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity.
 61197  func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) {
 61198  	dlaua.Type = TypeDataLakeAnalyticsUSQL
 61199  	objectMap := make(map[string]interface{})
 61200  	if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil {
 61201  		objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties
 61202  	}
 61203  	if dlaua.LinkedServiceName != nil {
 61204  		objectMap["linkedServiceName"] = dlaua.LinkedServiceName
 61205  	}
 61206  	if dlaua.Policy != nil {
 61207  		objectMap["policy"] = dlaua.Policy
 61208  	}
 61209  	if dlaua.Name != nil {
 61210  		objectMap["name"] = dlaua.Name
 61211  	}
 61212  	if dlaua.Description != nil {
 61213  		objectMap["description"] = dlaua.Description
 61214  	}
 61215  	if dlaua.DependsOn != nil {
 61216  		objectMap["dependsOn"] = dlaua.DependsOn
 61217  	}
 61218  	if dlaua.UserProperties != nil {
 61219  		objectMap["userProperties"] = dlaua.UserProperties
 61220  	}
 61221  	if dlaua.Type != "" {
 61222  		objectMap["type"] = dlaua.Type
 61223  	}
 61224  	for k, v := range dlaua.AdditionalProperties {
 61225  		objectMap[k] = v
 61226  	}
 61227  	return json.Marshal(objectMap)
 61228  }
 61229  
 61230  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61231  func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 61232  	return nil, false
 61233  }
 61234  
 61235  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61236  func (dlaua DataLakeAnalyticsUSQLActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 61237  	return nil, false
 61238  }
 61239  
 61240  // AsSynapseNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61241  func (dlaua DataLakeAnalyticsUSQLActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 61242  	return nil, false
 61243  }
 61244  
 61245  // AsExecuteDataFlowActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61246  func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 61247  	return nil, false
 61248  }
 61249  
 61250  // AsAzureFunctionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61251  func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 61252  	return nil, false
 61253  }
 61254  
 61255  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61256  func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 61257  	return nil, false
 61258  }
 61259  
 61260  // AsDatabricksSparkJarActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61261  func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 61262  	return nil, false
 61263  }
 61264  
 61265  // AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61266  func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 61267  	return nil, false
 61268  }
 61269  
 61270  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61271  func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 61272  	return &dlaua, true
 61273  }
 61274  
 61275  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61276  func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 61277  	return nil, false
 61278  }
 61279  
 61280  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61281  func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 61282  	return nil, false
 61283  }
 61284  
 61285  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61286  func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 61287  	return nil, false
 61288  }
 61289  
 61290  // AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61291  func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 61292  	return nil, false
 61293  }
 61294  
 61295  // AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61296  func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) {
 61297  	return nil, false
 61298  }
 61299  
 61300  // AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61301  func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) {
 61302  	return nil, false
 61303  }
 61304  
 61305  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61306  func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 61307  	return nil, false
 61308  }
 61309  
 61310  // AsDeleteActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61311  func (dlaua DataLakeAnalyticsUSQLActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 61312  	return nil, false
 61313  }
 61314  
 61315  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61316  func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 61317  	return nil, false
 61318  }
 61319  
 61320  // AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61321  func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) {
 61322  	return nil, false
 61323  }
 61324  
 61325  // AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61326  func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 61327  	return nil, false
 61328  }
 61329  
 61330  // AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61331  func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 61332  	return nil, false
 61333  }
 61334  
 61335  // AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61336  func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 61337  	return nil, false
 61338  }
 61339  
 61340  // AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61341  func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 61342  	return nil, false
 61343  }
 61344  
 61345  // AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61346  func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 61347  	return nil, false
 61348  }
 61349  
 61350  // AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61351  func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 61352  	return nil, false
 61353  }
 61354  
 61355  // AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61356  func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) {
 61357  	return nil, false
 61358  }
 61359  
 61360  // AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61361  func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 61362  	return nil, false
 61363  }
 61364  
 61365  // AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61366  func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 61367  	return &dlaua, true
 61368  }
 61369  
 61370  // AsWebHookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61371  func (dlaua DataLakeAnalyticsUSQLActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 61372  	return nil, false
 61373  }
 61374  
 61375  // AsAppendVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61376  func (dlaua DataLakeAnalyticsUSQLActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 61377  	return nil, false
 61378  }
 61379  
 61380  // AsSetVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61381  func (dlaua DataLakeAnalyticsUSQLActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 61382  	return nil, false
 61383  }
 61384  
 61385  // AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61386  func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) {
 61387  	return nil, false
 61388  }
 61389  
 61390  // AsValidationActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61391  func (dlaua DataLakeAnalyticsUSQLActivity) AsValidationActivity() (*ValidationActivity, bool) {
 61392  	return nil, false
 61393  }
 61394  
 61395  // AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61396  func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) {
 61397  	return nil, false
 61398  }
 61399  
 61400  // AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61401  func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) {
 61402  	return nil, false
 61403  }
 61404  
 61405  // AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61406  func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) {
 61407  	return nil, false
 61408  }
 61409  
 61410  // AsSwitchActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61411  func (dlaua DataLakeAnalyticsUSQLActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 61412  	return nil, false
 61413  }
 61414  
 61415  // AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61416  func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 61417  	return nil, false
 61418  }
 61419  
 61420  // AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61421  func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 61422  	return nil, false
 61423  }
 61424  
 61425  // AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61426  func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) {
 61427  	return nil, false
 61428  }
 61429  
 61430  // AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61431  func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 61432  	return nil, false
 61433  }
 61434  
 61435  // AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61436  func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) {
 61437  	return nil, false
 61438  }
 61439  
 61440  // AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity.
 61441  func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) {
 61442  	return &dlaua, true
 61443  }
 61444  
 61445  // UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct.
 61446  func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error {
 61447  	var m map[string]*json.RawMessage
 61448  	err := json.Unmarshal(body, &m)
 61449  	if err != nil {
 61450  		return err
 61451  	}
 61452  	for k, v := range m {
 61453  		switch k {
 61454  		case "typeProperties":
 61455  			if v != nil {
 61456  				var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties
 61457  				err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties)
 61458  				if err != nil {
 61459  					return err
 61460  				}
 61461  				dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties
 61462  			}
 61463  		case "linkedServiceName":
 61464  			if v != nil {
 61465  				var linkedServiceName LinkedServiceReference
 61466  				err = json.Unmarshal(*v, &linkedServiceName)
 61467  				if err != nil {
 61468  					return err
 61469  				}
 61470  				dlaua.LinkedServiceName = &linkedServiceName
 61471  			}
 61472  		case "policy":
 61473  			if v != nil {
 61474  				var policy ActivityPolicy
 61475  				err = json.Unmarshal(*v, &policy)
 61476  				if err != nil {
 61477  					return err
 61478  				}
 61479  				dlaua.Policy = &policy
 61480  			}
 61481  		default:
 61482  			if v != nil {
 61483  				var additionalProperties interface{}
 61484  				err = json.Unmarshal(*v, &additionalProperties)
 61485  				if err != nil {
 61486  					return err
 61487  				}
 61488  				if dlaua.AdditionalProperties == nil {
 61489  					dlaua.AdditionalProperties = make(map[string]interface{})
 61490  				}
 61491  				dlaua.AdditionalProperties[k] = additionalProperties
 61492  			}
 61493  		case "name":
 61494  			if v != nil {
 61495  				var name string
 61496  				err = json.Unmarshal(*v, &name)
 61497  				if err != nil {
 61498  					return err
 61499  				}
 61500  				dlaua.Name = &name
 61501  			}
 61502  		case "description":
 61503  			if v != nil {
 61504  				var description string
 61505  				err = json.Unmarshal(*v, &description)
 61506  				if err != nil {
 61507  					return err
 61508  				}
 61509  				dlaua.Description = &description
 61510  			}
 61511  		case "dependsOn":
 61512  			if v != nil {
 61513  				var dependsOn []ActivityDependency
 61514  				err = json.Unmarshal(*v, &dependsOn)
 61515  				if err != nil {
 61516  					return err
 61517  				}
 61518  				dlaua.DependsOn = &dependsOn
 61519  			}
 61520  		case "userProperties":
 61521  			if v != nil {
 61522  				var userProperties []UserProperty
 61523  				err = json.Unmarshal(*v, &userProperties)
 61524  				if err != nil {
 61525  					return err
 61526  				}
 61527  				dlaua.UserProperties = &userProperties
 61528  			}
 61529  		case "type":
 61530  			if v != nil {
 61531  				var typeVar TypeBasicActivity
 61532  				err = json.Unmarshal(*v, &typeVar)
 61533  				if err != nil {
 61534  					return err
 61535  				}
 61536  				dlaua.Type = typeVar
 61537  			}
 61538  		}
 61539  	}
 61540  
 61541  	return nil
 61542  }
 61543  
 61544  // DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties.
 61545  type DataLakeAnalyticsUSQLActivityTypeProperties struct {
 61546  	// ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
 61547  	ScriptPath interface{} `json:"scriptPath,omitempty"`
 61548  	// ScriptLinkedService - Script linked service reference.
 61549  	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
 61550  	// 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.
 61551  	DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"`
 61552  	// 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.
 61553  	Priority interface{} `json:"priority,omitempty"`
 61554  	// Parameters - Parameters for U-SQL job request.
 61555  	Parameters map[string]interface{} `json:"parameters"`
 61556  	// RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
 61557  	RuntimeVersion interface{} `json:"runtimeVersion,omitempty"`
 61558  	// CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
 61559  	CompilationMode interface{} `json:"compilationMode,omitempty"`
 61560  }
 61561  
 61562  // MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties.
 61563  func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) {
 61564  	objectMap := make(map[string]interface{})
 61565  	if dlauatp.ScriptPath != nil {
 61566  		objectMap["scriptPath"] = dlauatp.ScriptPath
 61567  	}
 61568  	if dlauatp.ScriptLinkedService != nil {
 61569  		objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService
 61570  	}
 61571  	if dlauatp.DegreeOfParallelism != nil {
 61572  		objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism
 61573  	}
 61574  	if dlauatp.Priority != nil {
 61575  		objectMap["priority"] = dlauatp.Priority
 61576  	}
 61577  	if dlauatp.Parameters != nil {
 61578  		objectMap["parameters"] = dlauatp.Parameters
 61579  	}
 61580  	if dlauatp.RuntimeVersion != nil {
 61581  		objectMap["runtimeVersion"] = dlauatp.RuntimeVersion
 61582  	}
 61583  	if dlauatp.CompilationMode != nil {
 61584  		objectMap["compilationMode"] = dlauatp.CompilationMode
 61585  	}
 61586  	return json.Marshal(objectMap)
 61587  }
 61588  
 61589  // DataLakeStorageAccountDetails details of the data lake storage account associated with the workspace
 61590  type DataLakeStorageAccountDetails struct {
 61591  	// AccountURL - Account URL
 61592  	AccountURL *string `json:"accountUrl,omitempty"`
 61593  	// Filesystem - Filesystem name
 61594  	Filesystem *string `json:"filesystem,omitempty"`
 61595  }
 61596  
 61597  // BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as
 61598  // tables, files, folders, and documents.
 61599  type BasicDataset interface {
 61600  	AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool)
 61601  	AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool)
 61602  	AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool)
 61603  	AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool)
 61604  	AsResponsysObjectDataset() (*ResponsysObjectDataset, bool)
 61605  	AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool)
 61606  	AsVerticaTableDataset() (*VerticaTableDataset, bool)
 61607  	AsNetezzaTableDataset() (*NetezzaTableDataset, bool)
 61608  	AsZohoObjectDataset() (*ZohoObjectDataset, bool)
 61609  	AsXeroObjectDataset() (*XeroObjectDataset, bool)
 61610  	AsSquareObjectDataset() (*SquareObjectDataset, bool)
 61611  	AsSparkObjectDataset() (*SparkObjectDataset, bool)
 61612  	AsShopifyObjectDataset() (*ShopifyObjectDataset, bool)
 61613  	AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool)
 61614  	AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool)
 61615  	AsPrestoObjectDataset() (*PrestoObjectDataset, bool)
 61616  	AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool)
 61617  	AsPaypalObjectDataset() (*PaypalObjectDataset, bool)
 61618  	AsMarketoObjectDataset() (*MarketoObjectDataset, bool)
 61619  	AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool)
 61620  	AsMariaDBTableDataset() (*MariaDBTableDataset, bool)
 61621  	AsMagentoObjectDataset() (*MagentoObjectDataset, bool)
 61622  	AsJiraObjectDataset() (*JiraObjectDataset, bool)
 61623  	AsImpalaObjectDataset() (*ImpalaObjectDataset, bool)
 61624  	AsHubspotObjectDataset() (*HubspotObjectDataset, bool)
 61625  	AsHiveObjectDataset() (*HiveObjectDataset, bool)
 61626  	AsHBaseObjectDataset() (*HBaseObjectDataset, bool)
 61627  	AsGreenplumTableDataset() (*GreenplumTableDataset, bool)
 61628  	AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool)
 61629  	AsEloquaObjectDataset() (*EloquaObjectDataset, bool)
 61630  	AsDrillTableDataset() (*DrillTableDataset, bool)
 61631  	AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool)
 61632  	AsConcurObjectDataset() (*ConcurObjectDataset, bool)
 61633  	AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool)
 61634  	AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool)
 61635  	AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool)
 61636  	AsWebTableDataset() (*WebTableDataset, bool)
 61637  	AsSapTableResourceDataset() (*SapTableResourceDataset, bool)
 61638  	AsRestResourceDataset() (*RestResourceDataset, bool)
 61639  	AsSQLServerTableDataset() (*SQLServerTableDataset, bool)
 61640  	AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool)
 61641  	AsSapHanaTableDataset() (*SapHanaTableDataset, bool)
 61642  	AsSapEccResourceDataset() (*SapEccResourceDataset, bool)
 61643  	AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool)
 61644  	AsSapBwCubeDataset() (*SapBwCubeDataset, bool)
 61645  	AsSybaseTableDataset() (*SybaseTableDataset, bool)
 61646  	AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool)
 61647  	AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool)
 61648  	AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool)
 61649  	AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool)
 61650  	AsMySQLTableDataset() (*MySQLTableDataset, bool)
 61651  	AsOdbcTableDataset() (*OdbcTableDataset, bool)
 61652  	AsInformixTableDataset() (*InformixTableDataset, bool)
 61653  	AsRelationalTableDataset() (*RelationalTableDataset, bool)
 61654  	AsDb2TableDataset() (*Db2TableDataset, bool)
 61655  	AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool)
 61656  	AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool)
 61657  	AsTeradataTableDataset() (*TeradataTableDataset, bool)
 61658  	AsOracleTableDataset() (*OracleTableDataset, bool)
 61659  	AsODataResourceDataset() (*ODataResourceDataset, bool)
 61660  	AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool)
 61661  	AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool)
 61662  	AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool)
 61663  	AsOffice365Dataset() (*Office365Dataset, bool)
 61664  	AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool)
 61665  	AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool)
 61666  	AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool)
 61667  	AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool)
 61668  	AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool)
 61669  	AsCustomDataset() (*CustomDataset, bool)
 61670  	AsCassandraTableDataset() (*CassandraTableDataset, bool)
 61671  	AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool)
 61672  	AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool)
 61673  	AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool)
 61674  	AsAzureTableDataset() (*AzureTableDataset, bool)
 61675  	AsBinaryDataset() (*BinaryDataset, bool)
 61676  	AsOrcDataset() (*OrcDataset, bool)
 61677  	AsJSONDataset() (*JSONDataset, bool)
 61678  	AsDelimitedTextDataset() (*DelimitedTextDataset, bool)
 61679  	AsParquetDataset() (*ParquetDataset, bool)
 61680  	AsAvroDataset() (*AvroDataset, bool)
 61681  	AsDataset() (*Dataset, bool)
 61682  }
 61683  
 61684  // Dataset the Azure Data Factory nested object which identifies data within different data stores, such as
 61685  // tables, files, folders, and documents.
 61686  type Dataset struct {
 61687  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 61688  	AdditionalProperties map[string]interface{} `json:""`
 61689  	// Description - Dataset description.
 61690  	Description *string `json:"description,omitempty"`
 61691  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 61692  	Structure interface{} `json:"structure,omitempty"`
 61693  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 61694  	Schema interface{} `json:"schema,omitempty"`
 61695  	// LinkedServiceName - Linked service reference.
 61696  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 61697  	// Parameters - Parameters for dataset.
 61698  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 61699  	// Annotations - List of tags that can be used for describing the Dataset.
 61700  	Annotations *[]interface{} `json:"annotations,omitempty"`
 61701  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 61702  	Folder *DatasetFolder `json:"folder,omitempty"`
 61703  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 61704  	Type TypeBasicDataset `json:"type,omitempty"`
 61705  }
 61706  
 61707  func unmarshalBasicDataset(body []byte) (BasicDataset, error) {
 61708  	var m map[string]interface{}
 61709  	err := json.Unmarshal(body, &m)
 61710  	if err != nil {
 61711  		return nil, err
 61712  	}
 61713  
 61714  	switch m["type"] {
 61715  	case string(TypeGoogleAdWordsObject):
 61716  		var gawod GoogleAdWordsObjectDataset
 61717  		err := json.Unmarshal(body, &gawod)
 61718  		return gawod, err
 61719  	case string(TypeAzureDataExplorerTable):
 61720  		var adetd AzureDataExplorerTableDataset
 61721  		err := json.Unmarshal(body, &adetd)
 61722  		return adetd, err
 61723  	case string(TypeOracleServiceCloudObject):
 61724  		var oscod OracleServiceCloudObjectDataset
 61725  		err := json.Unmarshal(body, &oscod)
 61726  		return oscod, err
 61727  	case string(TypeDynamicsAXResource):
 61728  		var dard DynamicsAXResourceDataset
 61729  		err := json.Unmarshal(body, &dard)
 61730  		return dard, err
 61731  	case string(TypeResponsysObject):
 61732  		var rod ResponsysObjectDataset
 61733  		err := json.Unmarshal(body, &rod)
 61734  		return rod, err
 61735  	case string(TypeSalesforceMarketingCloudObject):
 61736  		var smcod SalesforceMarketingCloudObjectDataset
 61737  		err := json.Unmarshal(body, &smcod)
 61738  		return smcod, err
 61739  	case string(TypeVerticaTable):
 61740  		var vtd VerticaTableDataset
 61741  		err := json.Unmarshal(body, &vtd)
 61742  		return vtd, err
 61743  	case string(TypeNetezzaTable):
 61744  		var ntd NetezzaTableDataset
 61745  		err := json.Unmarshal(body, &ntd)
 61746  		return ntd, err
 61747  	case string(TypeZohoObject):
 61748  		var zod ZohoObjectDataset
 61749  		err := json.Unmarshal(body, &zod)
 61750  		return zod, err
 61751  	case string(TypeXeroObject):
 61752  		var xod XeroObjectDataset
 61753  		err := json.Unmarshal(body, &xod)
 61754  		return xod, err
 61755  	case string(TypeSquareObject):
 61756  		var sod SquareObjectDataset
 61757  		err := json.Unmarshal(body, &sod)
 61758  		return sod, err
 61759  	case string(TypeSparkObject):
 61760  		var sod SparkObjectDataset
 61761  		err := json.Unmarshal(body, &sod)
 61762  		return sod, err
 61763  	case string(TypeShopifyObject):
 61764  		var sod ShopifyObjectDataset
 61765  		err := json.Unmarshal(body, &sod)
 61766  		return sod, err
 61767  	case string(TypeServiceNowObject):
 61768  		var snod ServiceNowObjectDataset
 61769  		err := json.Unmarshal(body, &snod)
 61770  		return snod, err
 61771  	case string(TypeQuickBooksObject):
 61772  		var qbod QuickBooksObjectDataset
 61773  		err := json.Unmarshal(body, &qbod)
 61774  		return qbod, err
 61775  	case string(TypePrestoObject):
 61776  		var pod PrestoObjectDataset
 61777  		err := json.Unmarshal(body, &pod)
 61778  		return pod, err
 61779  	case string(TypePhoenixObject):
 61780  		var pod PhoenixObjectDataset
 61781  		err := json.Unmarshal(body, &pod)
 61782  		return pod, err
 61783  	case string(TypePaypalObject):
 61784  		var pod PaypalObjectDataset
 61785  		err := json.Unmarshal(body, &pod)
 61786  		return pod, err
 61787  	case string(TypeMarketoObject):
 61788  		var mod MarketoObjectDataset
 61789  		err := json.Unmarshal(body, &mod)
 61790  		return mod, err
 61791  	case string(TypeAzureMariaDBTable):
 61792  		var amdtd AzureMariaDBTableDataset
 61793  		err := json.Unmarshal(body, &amdtd)
 61794  		return amdtd, err
 61795  	case string(TypeMariaDBTable):
 61796  		var mdtd MariaDBTableDataset
 61797  		err := json.Unmarshal(body, &mdtd)
 61798  		return mdtd, err
 61799  	case string(TypeMagentoObject):
 61800  		var mod MagentoObjectDataset
 61801  		err := json.Unmarshal(body, &mod)
 61802  		return mod, err
 61803  	case string(TypeJiraObject):
 61804  		var jod JiraObjectDataset
 61805  		err := json.Unmarshal(body, &jod)
 61806  		return jod, err
 61807  	case string(TypeImpalaObject):
 61808  		var iod ImpalaObjectDataset
 61809  		err := json.Unmarshal(body, &iod)
 61810  		return iod, err
 61811  	case string(TypeHubspotObject):
 61812  		var hod HubspotObjectDataset
 61813  		err := json.Unmarshal(body, &hod)
 61814  		return hod, err
 61815  	case string(TypeHiveObject):
 61816  		var hod HiveObjectDataset
 61817  		err := json.Unmarshal(body, &hod)
 61818  		return hod, err
 61819  	case string(TypeHBaseObject):
 61820  		var hbod HBaseObjectDataset
 61821  		err := json.Unmarshal(body, &hbod)
 61822  		return hbod, err
 61823  	case string(TypeGreenplumTable):
 61824  		var gtd GreenplumTableDataset
 61825  		err := json.Unmarshal(body, &gtd)
 61826  		return gtd, err
 61827  	case string(TypeGoogleBigQueryObject):
 61828  		var gbqod GoogleBigQueryObjectDataset
 61829  		err := json.Unmarshal(body, &gbqod)
 61830  		return gbqod, err
 61831  	case string(TypeEloquaObject):
 61832  		var eod EloquaObjectDataset
 61833  		err := json.Unmarshal(body, &eod)
 61834  		return eod, err
 61835  	case string(TypeDrillTable):
 61836  		var dtd DrillTableDataset
 61837  		err := json.Unmarshal(body, &dtd)
 61838  		return dtd, err
 61839  	case string(TypeCouchbaseTable):
 61840  		var ctd CouchbaseTableDataset
 61841  		err := json.Unmarshal(body, &ctd)
 61842  		return ctd, err
 61843  	case string(TypeConcurObject):
 61844  		var cod ConcurObjectDataset
 61845  		err := json.Unmarshal(body, &cod)
 61846  		return cod, err
 61847  	case string(TypeAzurePostgreSQLTable):
 61848  		var apstd AzurePostgreSQLTableDataset
 61849  		err := json.Unmarshal(body, &apstd)
 61850  		return apstd, err
 61851  	case string(TypeAmazonMWSObject):
 61852  		var amod AmazonMWSObjectDataset
 61853  		err := json.Unmarshal(body, &amod)
 61854  		return amod, err
 61855  	case string(TypeAzureSearchIndex):
 61856  		var asid AzureSearchIndexDataset
 61857  		err := json.Unmarshal(body, &asid)
 61858  		return asid, err
 61859  	case string(TypeWebTable):
 61860  		var wtd WebTableDataset
 61861  		err := json.Unmarshal(body, &wtd)
 61862  		return wtd, err
 61863  	case string(TypeSapTableResource):
 61864  		var strd SapTableResourceDataset
 61865  		err := json.Unmarshal(body, &strd)
 61866  		return strd, err
 61867  	case string(TypeRestResource):
 61868  		var rrd RestResourceDataset
 61869  		err := json.Unmarshal(body, &rrd)
 61870  		return rrd, err
 61871  	case string(TypeSQLServerTable):
 61872  		var sstd SQLServerTableDataset
 61873  		err := json.Unmarshal(body, &sstd)
 61874  		return sstd, err
 61875  	case string(TypeSapOpenHubTable):
 61876  		var sohtd SapOpenHubTableDataset
 61877  		err := json.Unmarshal(body, &sohtd)
 61878  		return sohtd, err
 61879  	case string(TypeSapHanaTable):
 61880  		var shtd SapHanaTableDataset
 61881  		err := json.Unmarshal(body, &shtd)
 61882  		return shtd, err
 61883  	case string(TypeSapEccResource):
 61884  		var serd SapEccResourceDataset
 61885  		err := json.Unmarshal(body, &serd)
 61886  		return serd, err
 61887  	case string(TypeSapCloudForCustomerResource):
 61888  		var scfcrd SapCloudForCustomerResourceDataset
 61889  		err := json.Unmarshal(body, &scfcrd)
 61890  		return scfcrd, err
 61891  	case string(TypeSapBwCube):
 61892  		var sbcd SapBwCubeDataset
 61893  		err := json.Unmarshal(body, &sbcd)
 61894  		return sbcd, err
 61895  	case string(TypeSybaseTable):
 61896  		var std SybaseTableDataset
 61897  		err := json.Unmarshal(body, &std)
 61898  		return std, err
 61899  	case string(TypeSalesforceServiceCloudObject):
 61900  		var sscod SalesforceServiceCloudObjectDataset
 61901  		err := json.Unmarshal(body, &sscod)
 61902  		return sscod, err
 61903  	case string(TypeSalesforceObject):
 61904  		var sod SalesforceObjectDataset
 61905  		err := json.Unmarshal(body, &sod)
 61906  		return sod, err
 61907  	case string(TypeMicrosoftAccessTable):
 61908  		var matd MicrosoftAccessTableDataset
 61909  		err := json.Unmarshal(body, &matd)
 61910  		return matd, err
 61911  	case string(TypePostgreSQLTable):
 61912  		var pstd PostgreSQLTableDataset
 61913  		err := json.Unmarshal(body, &pstd)
 61914  		return pstd, err
 61915  	case string(TypeMySQLTable):
 61916  		var mstd MySQLTableDataset
 61917  		err := json.Unmarshal(body, &mstd)
 61918  		return mstd, err
 61919  	case string(TypeOdbcTable):
 61920  		var otd OdbcTableDataset
 61921  		err := json.Unmarshal(body, &otd)
 61922  		return otd, err
 61923  	case string(TypeInformixTable):
 61924  		var itd InformixTableDataset
 61925  		err := json.Unmarshal(body, &itd)
 61926  		return itd, err
 61927  	case string(TypeRelationalTable):
 61928  		var rtd RelationalTableDataset
 61929  		err := json.Unmarshal(body, &rtd)
 61930  		return rtd, err
 61931  	case string(TypeDb2Table):
 61932  		var d2td Db2TableDataset
 61933  		err := json.Unmarshal(body, &d2td)
 61934  		return d2td, err
 61935  	case string(TypeAmazonRedshiftTable):
 61936  		var artd AmazonRedshiftTableDataset
 61937  		err := json.Unmarshal(body, &artd)
 61938  		return artd, err
 61939  	case string(TypeAzureMySQLTable):
 61940  		var amstd AzureMySQLTableDataset
 61941  		err := json.Unmarshal(body, &amstd)
 61942  		return amstd, err
 61943  	case string(TypeTeradataTable):
 61944  		var ttd TeradataTableDataset
 61945  		err := json.Unmarshal(body, &ttd)
 61946  		return ttd, err
 61947  	case string(TypeOracleTable):
 61948  		var otd OracleTableDataset
 61949  		err := json.Unmarshal(body, &otd)
 61950  		return otd, err
 61951  	case string(TypeODataResource):
 61952  		var odrd ODataResourceDataset
 61953  		err := json.Unmarshal(body, &odrd)
 61954  		return odrd, err
 61955  	case string(TypeCosmosDbMongoDbAPICollection):
 61956  		var cdmdacd CosmosDbMongoDbAPICollectionDataset
 61957  		err := json.Unmarshal(body, &cdmdacd)
 61958  		return cdmdacd, err
 61959  	case string(TypeMongoDbV2Collection):
 61960  		var mdvcd MongoDbV2CollectionDataset
 61961  		err := json.Unmarshal(body, &mdvcd)
 61962  		return mdvcd, err
 61963  	case string(TypeMongoDbCollection):
 61964  		var mdcd MongoDbCollectionDataset
 61965  		err := json.Unmarshal(body, &mdcd)
 61966  		return mdcd, err
 61967  	case string(TypeOffice365Table):
 61968  		var o3d Office365Dataset
 61969  		err := json.Unmarshal(body, &o3d)
 61970  		return o3d, err
 61971  	case string(TypeCommonDataServiceForAppsEntity):
 61972  		var cdsfaed CommonDataServiceForAppsEntityDataset
 61973  		err := json.Unmarshal(body, &cdsfaed)
 61974  		return cdsfaed, err
 61975  	case string(TypeDynamicsCrmEntity):
 61976  		var dced DynamicsCrmEntityDataset
 61977  		err := json.Unmarshal(body, &dced)
 61978  		return dced, err
 61979  	case string(TypeDynamicsEntity):
 61980  		var ded DynamicsEntityDataset
 61981  		err := json.Unmarshal(body, &ded)
 61982  		return ded, err
 61983  	case string(TypeDocumentDbCollection):
 61984  		var ddcd DocumentDbCollectionDataset
 61985  		err := json.Unmarshal(body, &ddcd)
 61986  		return ddcd, err
 61987  	case string(TypeCosmosDbSQLAPICollection):
 61988  		var cdsacd CosmosDbSQLAPICollectionDataset
 61989  		err := json.Unmarshal(body, &cdsacd)
 61990  		return cdsacd, err
 61991  	case string(TypeCustomDataset):
 61992  		var cd CustomDataset
 61993  		err := json.Unmarshal(body, &cd)
 61994  		return cd, err
 61995  	case string(TypeCassandraTable):
 61996  		var ctd CassandraTableDataset
 61997  		err := json.Unmarshal(body, &ctd)
 61998  		return ctd, err
 61999  	case string(TypeAzureSQLDWTable):
 62000  		var asdtd AzureSQLDWTableDataset
 62001  		err := json.Unmarshal(body, &asdtd)
 62002  		return asdtd, err
 62003  	case string(TypeAzureSQLMITable):
 62004  		var asmtd AzureSQLMITableDataset
 62005  		err := json.Unmarshal(body, &asmtd)
 62006  		return asmtd, err
 62007  	case string(TypeAzureSQLTable):
 62008  		var astd AzureSQLTableDataset
 62009  		err := json.Unmarshal(body, &astd)
 62010  		return astd, err
 62011  	case string(TypeAzureTable):
 62012  		var atd AzureTableDataset
 62013  		err := json.Unmarshal(body, &atd)
 62014  		return atd, err
 62015  	case string(TypeBinary):
 62016  		var bd BinaryDataset
 62017  		err := json.Unmarshal(body, &bd)
 62018  		return bd, err
 62019  	case string(TypeOrc):
 62020  		var od OrcDataset
 62021  		err := json.Unmarshal(body, &od)
 62022  		return od, err
 62023  	case string(TypeJSON):
 62024  		var jd JSONDataset
 62025  		err := json.Unmarshal(body, &jd)
 62026  		return jd, err
 62027  	case string(TypeDelimitedText):
 62028  		var dtd DelimitedTextDataset
 62029  		err := json.Unmarshal(body, &dtd)
 62030  		return dtd, err
 62031  	case string(TypeParquet):
 62032  		var pd ParquetDataset
 62033  		err := json.Unmarshal(body, &pd)
 62034  		return pd, err
 62035  	case string(TypeAvro):
 62036  		var ad AvroDataset
 62037  		err := json.Unmarshal(body, &ad)
 62038  		return ad, err
 62039  	default:
 62040  		var d Dataset
 62041  		err := json.Unmarshal(body, &d)
 62042  		return d, err
 62043  	}
 62044  }
 62045  func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) {
 62046  	var rawMessages []*json.RawMessage
 62047  	err := json.Unmarshal(body, &rawMessages)
 62048  	if err != nil {
 62049  		return nil, err
 62050  	}
 62051  
 62052  	dArray := make([]BasicDataset, len(rawMessages))
 62053  
 62054  	for index, rawMessage := range rawMessages {
 62055  		d, err := unmarshalBasicDataset(*rawMessage)
 62056  		if err != nil {
 62057  			return nil, err
 62058  		}
 62059  		dArray[index] = d
 62060  	}
 62061  	return dArray, nil
 62062  }
 62063  
 62064  // MarshalJSON is the custom marshaler for Dataset.
 62065  func (d Dataset) MarshalJSON() ([]byte, error) {
 62066  	d.Type = TypeDataset
 62067  	objectMap := make(map[string]interface{})
 62068  	if d.Description != nil {
 62069  		objectMap["description"] = d.Description
 62070  	}
 62071  	if d.Structure != nil {
 62072  		objectMap["structure"] = d.Structure
 62073  	}
 62074  	if d.Schema != nil {
 62075  		objectMap["schema"] = d.Schema
 62076  	}
 62077  	if d.LinkedServiceName != nil {
 62078  		objectMap["linkedServiceName"] = d.LinkedServiceName
 62079  	}
 62080  	if d.Parameters != nil {
 62081  		objectMap["parameters"] = d.Parameters
 62082  	}
 62083  	if d.Annotations != nil {
 62084  		objectMap["annotations"] = d.Annotations
 62085  	}
 62086  	if d.Folder != nil {
 62087  		objectMap["folder"] = d.Folder
 62088  	}
 62089  	if d.Type != "" {
 62090  		objectMap["type"] = d.Type
 62091  	}
 62092  	for k, v := range d.AdditionalProperties {
 62093  		objectMap[k] = v
 62094  	}
 62095  	return json.Marshal(objectMap)
 62096  }
 62097  
 62098  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Dataset.
 62099  func (d Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 62100  	return nil, false
 62101  }
 62102  
 62103  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for Dataset.
 62104  func (d Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 62105  	return nil, false
 62106  }
 62107  
 62108  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Dataset.
 62109  func (d Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 62110  	return nil, false
 62111  }
 62112  
 62113  // AsDynamicsAXResourceDataset is the BasicDataset implementation for Dataset.
 62114  func (d Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 62115  	return nil, false
 62116  }
 62117  
 62118  // AsResponsysObjectDataset is the BasicDataset implementation for Dataset.
 62119  func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 62120  	return nil, false
 62121  }
 62122  
 62123  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset.
 62124  func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 62125  	return nil, false
 62126  }
 62127  
 62128  // AsVerticaTableDataset is the BasicDataset implementation for Dataset.
 62129  func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 62130  	return nil, false
 62131  }
 62132  
 62133  // AsNetezzaTableDataset is the BasicDataset implementation for Dataset.
 62134  func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 62135  	return nil, false
 62136  }
 62137  
 62138  // AsZohoObjectDataset is the BasicDataset implementation for Dataset.
 62139  func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 62140  	return nil, false
 62141  }
 62142  
 62143  // AsXeroObjectDataset is the BasicDataset implementation for Dataset.
 62144  func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 62145  	return nil, false
 62146  }
 62147  
 62148  // AsSquareObjectDataset is the BasicDataset implementation for Dataset.
 62149  func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 62150  	return nil, false
 62151  }
 62152  
 62153  // AsSparkObjectDataset is the BasicDataset implementation for Dataset.
 62154  func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 62155  	return nil, false
 62156  }
 62157  
 62158  // AsShopifyObjectDataset is the BasicDataset implementation for Dataset.
 62159  func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 62160  	return nil, false
 62161  }
 62162  
 62163  // AsServiceNowObjectDataset is the BasicDataset implementation for Dataset.
 62164  func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 62165  	return nil, false
 62166  }
 62167  
 62168  // AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset.
 62169  func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 62170  	return nil, false
 62171  }
 62172  
 62173  // AsPrestoObjectDataset is the BasicDataset implementation for Dataset.
 62174  func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 62175  	return nil, false
 62176  }
 62177  
 62178  // AsPhoenixObjectDataset is the BasicDataset implementation for Dataset.
 62179  func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 62180  	return nil, false
 62181  }
 62182  
 62183  // AsPaypalObjectDataset is the BasicDataset implementation for Dataset.
 62184  func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 62185  	return nil, false
 62186  }
 62187  
 62188  // AsMarketoObjectDataset is the BasicDataset implementation for Dataset.
 62189  func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 62190  	return nil, false
 62191  }
 62192  
 62193  // AsAzureMariaDBTableDataset is the BasicDataset implementation for Dataset.
 62194  func (d Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 62195  	return nil, false
 62196  }
 62197  
 62198  // AsMariaDBTableDataset is the BasicDataset implementation for Dataset.
 62199  func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 62200  	return nil, false
 62201  }
 62202  
 62203  // AsMagentoObjectDataset is the BasicDataset implementation for Dataset.
 62204  func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 62205  	return nil, false
 62206  }
 62207  
 62208  // AsJiraObjectDataset is the BasicDataset implementation for Dataset.
 62209  func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 62210  	return nil, false
 62211  }
 62212  
 62213  // AsImpalaObjectDataset is the BasicDataset implementation for Dataset.
 62214  func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 62215  	return nil, false
 62216  }
 62217  
 62218  // AsHubspotObjectDataset is the BasicDataset implementation for Dataset.
 62219  func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 62220  	return nil, false
 62221  }
 62222  
 62223  // AsHiveObjectDataset is the BasicDataset implementation for Dataset.
 62224  func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 62225  	return nil, false
 62226  }
 62227  
 62228  // AsHBaseObjectDataset is the BasicDataset implementation for Dataset.
 62229  func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 62230  	return nil, false
 62231  }
 62232  
 62233  // AsGreenplumTableDataset is the BasicDataset implementation for Dataset.
 62234  func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 62235  	return nil, false
 62236  }
 62237  
 62238  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset.
 62239  func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 62240  	return nil, false
 62241  }
 62242  
 62243  // AsEloquaObjectDataset is the BasicDataset implementation for Dataset.
 62244  func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 62245  	return nil, false
 62246  }
 62247  
 62248  // AsDrillTableDataset is the BasicDataset implementation for Dataset.
 62249  func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 62250  	return nil, false
 62251  }
 62252  
 62253  // AsCouchbaseTableDataset is the BasicDataset implementation for Dataset.
 62254  func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 62255  	return nil, false
 62256  }
 62257  
 62258  // AsConcurObjectDataset is the BasicDataset implementation for Dataset.
 62259  func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 62260  	return nil, false
 62261  }
 62262  
 62263  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset.
 62264  func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 62265  	return nil, false
 62266  }
 62267  
 62268  // AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset.
 62269  func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 62270  	return nil, false
 62271  }
 62272  
 62273  // AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset.
 62274  func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 62275  	return nil, false
 62276  }
 62277  
 62278  // AsWebTableDataset is the BasicDataset implementation for Dataset.
 62279  func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
 62280  	return nil, false
 62281  }
 62282  
 62283  // AsSapTableResourceDataset is the BasicDataset implementation for Dataset.
 62284  func (d Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 62285  	return nil, false
 62286  }
 62287  
 62288  // AsRestResourceDataset is the BasicDataset implementation for Dataset.
 62289  func (d Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 62290  	return nil, false
 62291  }
 62292  
 62293  // AsSQLServerTableDataset is the BasicDataset implementation for Dataset.
 62294  func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 62295  	return nil, false
 62296  }
 62297  
 62298  // AsSapOpenHubTableDataset is the BasicDataset implementation for Dataset.
 62299  func (d Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 62300  	return nil, false
 62301  }
 62302  
 62303  // AsSapHanaTableDataset is the BasicDataset implementation for Dataset.
 62304  func (d Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 62305  	return nil, false
 62306  }
 62307  
 62308  // AsSapEccResourceDataset is the BasicDataset implementation for Dataset.
 62309  func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 62310  	return nil, false
 62311  }
 62312  
 62313  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset.
 62314  func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 62315  	return nil, false
 62316  }
 62317  
 62318  // AsSapBwCubeDataset is the BasicDataset implementation for Dataset.
 62319  func (d Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 62320  	return nil, false
 62321  }
 62322  
 62323  // AsSybaseTableDataset is the BasicDataset implementation for Dataset.
 62324  func (d Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 62325  	return nil, false
 62326  }
 62327  
 62328  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Dataset.
 62329  func (d Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 62330  	return nil, false
 62331  }
 62332  
 62333  // AsSalesforceObjectDataset is the BasicDataset implementation for Dataset.
 62334  func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 62335  	return nil, false
 62336  }
 62337  
 62338  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for Dataset.
 62339  func (d Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 62340  	return nil, false
 62341  }
 62342  
 62343  // AsPostgreSQLTableDataset is the BasicDataset implementation for Dataset.
 62344  func (d Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 62345  	return nil, false
 62346  }
 62347  
 62348  // AsMySQLTableDataset is the BasicDataset implementation for Dataset.
 62349  func (d Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 62350  	return nil, false
 62351  }
 62352  
 62353  // AsOdbcTableDataset is the BasicDataset implementation for Dataset.
 62354  func (d Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 62355  	return nil, false
 62356  }
 62357  
 62358  // AsInformixTableDataset is the BasicDataset implementation for Dataset.
 62359  func (d Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 62360  	return nil, false
 62361  }
 62362  
 62363  // AsRelationalTableDataset is the BasicDataset implementation for Dataset.
 62364  func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 62365  	return nil, false
 62366  }
 62367  
 62368  // AsDb2TableDataset is the BasicDataset implementation for Dataset.
 62369  func (d Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 62370  	return nil, false
 62371  }
 62372  
 62373  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for Dataset.
 62374  func (d Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 62375  	return nil, false
 62376  }
 62377  
 62378  // AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset.
 62379  func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 62380  	return nil, false
 62381  }
 62382  
 62383  // AsTeradataTableDataset is the BasicDataset implementation for Dataset.
 62384  func (d Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 62385  	return nil, false
 62386  }
 62387  
 62388  // AsOracleTableDataset is the BasicDataset implementation for Dataset.
 62389  func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 62390  	return nil, false
 62391  }
 62392  
 62393  // AsODataResourceDataset is the BasicDataset implementation for Dataset.
 62394  func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 62395  	return nil, false
 62396  }
 62397  
 62398  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Dataset.
 62399  func (d Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 62400  	return nil, false
 62401  }
 62402  
 62403  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for Dataset.
 62404  func (d Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 62405  	return nil, false
 62406  }
 62407  
 62408  // AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset.
 62409  func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 62410  	return nil, false
 62411  }
 62412  
 62413  // AsOffice365Dataset is the BasicDataset implementation for Dataset.
 62414  func (d Dataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 62415  	return nil, false
 62416  }
 62417  
 62418  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Dataset.
 62419  func (d Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 62420  	return nil, false
 62421  }
 62422  
 62423  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for Dataset.
 62424  func (d Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 62425  	return nil, false
 62426  }
 62427  
 62428  // AsDynamicsEntityDataset is the BasicDataset implementation for Dataset.
 62429  func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 62430  	return nil, false
 62431  }
 62432  
 62433  // AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset.
 62434  func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 62435  	return nil, false
 62436  }
 62437  
 62438  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Dataset.
 62439  func (d Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 62440  	return nil, false
 62441  }
 62442  
 62443  // AsCustomDataset is the BasicDataset implementation for Dataset.
 62444  func (d Dataset) AsCustomDataset() (*CustomDataset, bool) {
 62445  	return nil, false
 62446  }
 62447  
 62448  // AsCassandraTableDataset is the BasicDataset implementation for Dataset.
 62449  func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 62450  	return nil, false
 62451  }
 62452  
 62453  // AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset.
 62454  func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 62455  	return nil, false
 62456  }
 62457  
 62458  // AsAzureSQLMITableDataset is the BasicDataset implementation for Dataset.
 62459  func (d Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 62460  	return nil, false
 62461  }
 62462  
 62463  // AsAzureSQLTableDataset is the BasicDataset implementation for Dataset.
 62464  func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 62465  	return nil, false
 62466  }
 62467  
 62468  // AsAzureTableDataset is the BasicDataset implementation for Dataset.
 62469  func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 62470  	return nil, false
 62471  }
 62472  
 62473  // AsBinaryDataset is the BasicDataset implementation for Dataset.
 62474  func (d Dataset) AsBinaryDataset() (*BinaryDataset, bool) {
 62475  	return nil, false
 62476  }
 62477  
 62478  // AsOrcDataset is the BasicDataset implementation for Dataset.
 62479  func (d Dataset) AsOrcDataset() (*OrcDataset, bool) {
 62480  	return nil, false
 62481  }
 62482  
 62483  // AsJSONDataset is the BasicDataset implementation for Dataset.
 62484  func (d Dataset) AsJSONDataset() (*JSONDataset, bool) {
 62485  	return nil, false
 62486  }
 62487  
 62488  // AsDelimitedTextDataset is the BasicDataset implementation for Dataset.
 62489  func (d Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 62490  	return nil, false
 62491  }
 62492  
 62493  // AsParquetDataset is the BasicDataset implementation for Dataset.
 62494  func (d Dataset) AsParquetDataset() (*ParquetDataset, bool) {
 62495  	return nil, false
 62496  }
 62497  
 62498  // AsAvroDataset is the BasicDataset implementation for Dataset.
 62499  func (d Dataset) AsAvroDataset() (*AvroDataset, bool) {
 62500  	return nil, false
 62501  }
 62502  
 62503  // AsDataset is the BasicDataset implementation for Dataset.
 62504  func (d Dataset) AsDataset() (*Dataset, bool) {
 62505  	return &d, true
 62506  }
 62507  
 62508  // AsBasicDataset is the BasicDataset implementation for Dataset.
 62509  func (d Dataset) AsBasicDataset() (BasicDataset, bool) {
 62510  	return &d, true
 62511  }
 62512  
 62513  // UnmarshalJSON is the custom unmarshaler for Dataset struct.
 62514  func (d *Dataset) UnmarshalJSON(body []byte) error {
 62515  	var m map[string]*json.RawMessage
 62516  	err := json.Unmarshal(body, &m)
 62517  	if err != nil {
 62518  		return err
 62519  	}
 62520  	for k, v := range m {
 62521  		switch k {
 62522  		default:
 62523  			if v != nil {
 62524  				var additionalProperties interface{}
 62525  				err = json.Unmarshal(*v, &additionalProperties)
 62526  				if err != nil {
 62527  					return err
 62528  				}
 62529  				if d.AdditionalProperties == nil {
 62530  					d.AdditionalProperties = make(map[string]interface{})
 62531  				}
 62532  				d.AdditionalProperties[k] = additionalProperties
 62533  			}
 62534  		case "description":
 62535  			if v != nil {
 62536  				var description string
 62537  				err = json.Unmarshal(*v, &description)
 62538  				if err != nil {
 62539  					return err
 62540  				}
 62541  				d.Description = &description
 62542  			}
 62543  		case "structure":
 62544  			if v != nil {
 62545  				var structure interface{}
 62546  				err = json.Unmarshal(*v, &structure)
 62547  				if err != nil {
 62548  					return err
 62549  				}
 62550  				d.Structure = structure
 62551  			}
 62552  		case "schema":
 62553  			if v != nil {
 62554  				var schema interface{}
 62555  				err = json.Unmarshal(*v, &schema)
 62556  				if err != nil {
 62557  					return err
 62558  				}
 62559  				d.Schema = schema
 62560  			}
 62561  		case "linkedServiceName":
 62562  			if v != nil {
 62563  				var linkedServiceName LinkedServiceReference
 62564  				err = json.Unmarshal(*v, &linkedServiceName)
 62565  				if err != nil {
 62566  					return err
 62567  				}
 62568  				d.LinkedServiceName = &linkedServiceName
 62569  			}
 62570  		case "parameters":
 62571  			if v != nil {
 62572  				var parameters map[string]*ParameterSpecification
 62573  				err = json.Unmarshal(*v, &parameters)
 62574  				if err != nil {
 62575  					return err
 62576  				}
 62577  				d.Parameters = parameters
 62578  			}
 62579  		case "annotations":
 62580  			if v != nil {
 62581  				var annotations []interface{}
 62582  				err = json.Unmarshal(*v, &annotations)
 62583  				if err != nil {
 62584  					return err
 62585  				}
 62586  				d.Annotations = &annotations
 62587  			}
 62588  		case "folder":
 62589  			if v != nil {
 62590  				var folder DatasetFolder
 62591  				err = json.Unmarshal(*v, &folder)
 62592  				if err != nil {
 62593  					return err
 62594  				}
 62595  				d.Folder = &folder
 62596  			}
 62597  		case "type":
 62598  			if v != nil {
 62599  				var typeVar TypeBasicDataset
 62600  				err = json.Unmarshal(*v, &typeVar)
 62601  				if err != nil {
 62602  					return err
 62603  				}
 62604  				d.Type = typeVar
 62605  			}
 62606  		}
 62607  	}
 62608  
 62609  	return nil
 62610  }
 62611  
 62612  // DatasetBZip2Compression the BZip2 compression method used on a dataset.
 62613  type DatasetBZip2Compression struct {
 62614  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 62615  	AdditionalProperties map[string]interface{} `json:""`
 62616  	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
 62617  	Type TypeBasicDatasetCompression `json:"type,omitempty"`
 62618  }
 62619  
 62620  // MarshalJSON is the custom marshaler for DatasetBZip2Compression.
 62621  func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) {
 62622  	dbz2c.Type = TypeBZip2
 62623  	objectMap := make(map[string]interface{})
 62624  	if dbz2c.Type != "" {
 62625  		objectMap["type"] = dbz2c.Type
 62626  	}
 62627  	for k, v := range dbz2c.AdditionalProperties {
 62628  		objectMap[k] = v
 62629  	}
 62630  	return json.Marshal(objectMap)
 62631  }
 62632  
 62633  // AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62634  func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
 62635  	return nil, false
 62636  }
 62637  
 62638  // AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62639  func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
 62640  	return nil, false
 62641  }
 62642  
 62643  // AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62644  func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
 62645  	return nil, false
 62646  }
 62647  
 62648  // AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62649  func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
 62650  	return &dbz2c, true
 62651  }
 62652  
 62653  // AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62654  func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) {
 62655  	return nil, false
 62656  }
 62657  
 62658  // AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression.
 62659  func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
 62660  	return &dbz2c, true
 62661  }
 62662  
 62663  // UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct.
 62664  func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error {
 62665  	var m map[string]*json.RawMessage
 62666  	err := json.Unmarshal(body, &m)
 62667  	if err != nil {
 62668  		return err
 62669  	}
 62670  	for k, v := range m {
 62671  		switch k {
 62672  		default:
 62673  			if v != nil {
 62674  				var additionalProperties interface{}
 62675  				err = json.Unmarshal(*v, &additionalProperties)
 62676  				if err != nil {
 62677  					return err
 62678  				}
 62679  				if dbz2c.AdditionalProperties == nil {
 62680  					dbz2c.AdditionalProperties = make(map[string]interface{})
 62681  				}
 62682  				dbz2c.AdditionalProperties[k] = additionalProperties
 62683  			}
 62684  		case "type":
 62685  			if v != nil {
 62686  				var typeVar TypeBasicDatasetCompression
 62687  				err = json.Unmarshal(*v, &typeVar)
 62688  				if err != nil {
 62689  					return err
 62690  				}
 62691  				dbz2c.Type = typeVar
 62692  			}
 62693  		}
 62694  	}
 62695  
 62696  	return nil
 62697  }
 62698  
 62699  // BasicDatasetCompression the compression method used on a dataset.
 62700  type BasicDatasetCompression interface {
 62701  	AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool)
 62702  	AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool)
 62703  	AsDatasetGZipCompression() (*DatasetGZipCompression, bool)
 62704  	AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool)
 62705  	AsDatasetCompression() (*DatasetCompression, bool)
 62706  }
 62707  
 62708  // DatasetCompression the compression method used on a dataset.
 62709  type DatasetCompression struct {
 62710  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 62711  	AdditionalProperties map[string]interface{} `json:""`
 62712  	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
 62713  	Type TypeBasicDatasetCompression `json:"type,omitempty"`
 62714  }
 62715  
 62716  func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) {
 62717  	var m map[string]interface{}
 62718  	err := json.Unmarshal(body, &m)
 62719  	if err != nil {
 62720  		return nil, err
 62721  	}
 62722  
 62723  	switch m["type"] {
 62724  	case string(TypeZipDeflate):
 62725  		var dzdc DatasetZipDeflateCompression
 62726  		err := json.Unmarshal(body, &dzdc)
 62727  		return dzdc, err
 62728  	case string(TypeDeflate):
 62729  		var ddc DatasetDeflateCompression
 62730  		err := json.Unmarshal(body, &ddc)
 62731  		return ddc, err
 62732  	case string(TypeGZip):
 62733  		var dgzc DatasetGZipCompression
 62734  		err := json.Unmarshal(body, &dgzc)
 62735  		return dgzc, err
 62736  	case string(TypeBZip2):
 62737  		var dbz2c DatasetBZip2Compression
 62738  		err := json.Unmarshal(body, &dbz2c)
 62739  		return dbz2c, err
 62740  	default:
 62741  		var dc DatasetCompression
 62742  		err := json.Unmarshal(body, &dc)
 62743  		return dc, err
 62744  	}
 62745  }
 62746  func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) {
 62747  	var rawMessages []*json.RawMessage
 62748  	err := json.Unmarshal(body, &rawMessages)
 62749  	if err != nil {
 62750  		return nil, err
 62751  	}
 62752  
 62753  	dcArray := make([]BasicDatasetCompression, len(rawMessages))
 62754  
 62755  	for index, rawMessage := range rawMessages {
 62756  		dc, err := unmarshalBasicDatasetCompression(*rawMessage)
 62757  		if err != nil {
 62758  			return nil, err
 62759  		}
 62760  		dcArray[index] = dc
 62761  	}
 62762  	return dcArray, nil
 62763  }
 62764  
 62765  // MarshalJSON is the custom marshaler for DatasetCompression.
 62766  func (dc DatasetCompression) MarshalJSON() ([]byte, error) {
 62767  	dc.Type = TypeDatasetCompression
 62768  	objectMap := make(map[string]interface{})
 62769  	if dc.Type != "" {
 62770  		objectMap["type"] = dc.Type
 62771  	}
 62772  	for k, v := range dc.AdditionalProperties {
 62773  		objectMap[k] = v
 62774  	}
 62775  	return json.Marshal(objectMap)
 62776  }
 62777  
 62778  // AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
 62779  func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
 62780  	return nil, false
 62781  }
 62782  
 62783  // AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression.
 62784  func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
 62785  	return nil, false
 62786  }
 62787  
 62788  // AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression.
 62789  func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
 62790  	return nil, false
 62791  }
 62792  
 62793  // AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression.
 62794  func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
 62795  	return nil, false
 62796  }
 62797  
 62798  // AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
 62799  func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) {
 62800  	return &dc, true
 62801  }
 62802  
 62803  // AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression.
 62804  func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
 62805  	return &dc, true
 62806  }
 62807  
 62808  // UnmarshalJSON is the custom unmarshaler for DatasetCompression struct.
 62809  func (dc *DatasetCompression) UnmarshalJSON(body []byte) error {
 62810  	var m map[string]*json.RawMessage
 62811  	err := json.Unmarshal(body, &m)
 62812  	if err != nil {
 62813  		return err
 62814  	}
 62815  	for k, v := range m {
 62816  		switch k {
 62817  		default:
 62818  			if v != nil {
 62819  				var additionalProperties interface{}
 62820  				err = json.Unmarshal(*v, &additionalProperties)
 62821  				if err != nil {
 62822  					return err
 62823  				}
 62824  				if dc.AdditionalProperties == nil {
 62825  					dc.AdditionalProperties = make(map[string]interface{})
 62826  				}
 62827  				dc.AdditionalProperties[k] = additionalProperties
 62828  			}
 62829  		case "type":
 62830  			if v != nil {
 62831  				var typeVar TypeBasicDatasetCompression
 62832  				err = json.Unmarshal(*v, &typeVar)
 62833  				if err != nil {
 62834  					return err
 62835  				}
 62836  				dc.Type = typeVar
 62837  			}
 62838  		}
 62839  	}
 62840  
 62841  	return nil
 62842  }
 62843  
 62844  // DatasetCreateOrUpdateDatasetFuture an abstraction for monitoring and retrieving the results of a
 62845  // long-running operation.
 62846  type DatasetCreateOrUpdateDatasetFuture struct {
 62847  	azure.FutureAPI
 62848  	// Result returns the result of the asynchronous operation.
 62849  	// If the operation has not completed it will return an error.
 62850  	Result func(DatasetClient) (DatasetResource, error)
 62851  }
 62852  
 62853  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 62854  func (future *DatasetCreateOrUpdateDatasetFuture) UnmarshalJSON(body []byte) error {
 62855  	var azFuture azure.Future
 62856  	if err := json.Unmarshal(body, &azFuture); err != nil {
 62857  		return err
 62858  	}
 62859  	future.FutureAPI = &azFuture
 62860  	future.Result = future.result
 62861  	return nil
 62862  }
 62863  
 62864  // result is the default implementation for DatasetCreateOrUpdateDatasetFuture.Result.
 62865  func (future *DatasetCreateOrUpdateDatasetFuture) result(client DatasetClient) (dr DatasetResource, err error) {
 62866  	var done bool
 62867  	done, err = future.DoneWithContext(context.Background(), client)
 62868  	if err != nil {
 62869  		err = autorest.NewErrorWithError(err, "artifacts.DatasetCreateOrUpdateDatasetFuture", "Result", future.Response(), "Polling failure")
 62870  		return
 62871  	}
 62872  	if !done {
 62873  		dr.Response.Response = future.Response()
 62874  		err = azure.NewAsyncOpIncompleteError("artifacts.DatasetCreateOrUpdateDatasetFuture")
 62875  		return
 62876  	}
 62877  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
 62878  	if dr.Response.Response, err = future.GetResult(sender); err == nil && dr.Response.Response.StatusCode != http.StatusNoContent {
 62879  		dr, err = client.CreateOrUpdateDatasetResponder(dr.Response.Response)
 62880  		if err != nil {
 62881  			err = autorest.NewErrorWithError(err, "artifacts.DatasetCreateOrUpdateDatasetFuture", "Result", dr.Response.Response, "Failure responding to request")
 62882  		}
 62883  	}
 62884  	return
 62885  }
 62886  
 62887  // DatasetDataElement columns that define the structure of the dataset.
 62888  type DatasetDataElement struct {
 62889  	// Name - Name of the column. Type: string (or Expression with resultType string).
 62890  	Name interface{} `json:"name,omitempty"`
 62891  	// Type - Type of the column. Type: string (or Expression with resultType string).
 62892  	Type interface{} `json:"type,omitempty"`
 62893  }
 62894  
 62895  // DatasetDebugResource dataset debug resource.
 62896  type DatasetDebugResource struct {
 62897  	// Properties - Dataset properties.
 62898  	Properties BasicDataset `json:"properties,omitempty"`
 62899  	// Name - The resource name.
 62900  	Name *string `json:"name,omitempty"`
 62901  }
 62902  
 62903  // UnmarshalJSON is the custom unmarshaler for DatasetDebugResource struct.
 62904  func (ddr *DatasetDebugResource) UnmarshalJSON(body []byte) error {
 62905  	var m map[string]*json.RawMessage
 62906  	err := json.Unmarshal(body, &m)
 62907  	if err != nil {
 62908  		return err
 62909  	}
 62910  	for k, v := range m {
 62911  		switch k {
 62912  		case "properties":
 62913  			if v != nil {
 62914  				properties, err := unmarshalBasicDataset(*v)
 62915  				if err != nil {
 62916  					return err
 62917  				}
 62918  				ddr.Properties = properties
 62919  			}
 62920  		case "name":
 62921  			if v != nil {
 62922  				var name string
 62923  				err = json.Unmarshal(*v, &name)
 62924  				if err != nil {
 62925  					return err
 62926  				}
 62927  				ddr.Name = &name
 62928  			}
 62929  		}
 62930  	}
 62931  
 62932  	return nil
 62933  }
 62934  
 62935  // DatasetDeflateCompression the Deflate compression method used on a dataset.
 62936  type DatasetDeflateCompression struct {
 62937  	// Level - The Deflate compression level. Possible values include: 'Optimal', 'Fastest'
 62938  	Level DatasetCompressionLevel `json:"level,omitempty"`
 62939  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 62940  	AdditionalProperties map[string]interface{} `json:""`
 62941  	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
 62942  	Type TypeBasicDatasetCompression `json:"type,omitempty"`
 62943  }
 62944  
 62945  // MarshalJSON is the custom marshaler for DatasetDeflateCompression.
 62946  func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) {
 62947  	ddc.Type = TypeDeflate
 62948  	objectMap := make(map[string]interface{})
 62949  	if ddc.Level != "" {
 62950  		objectMap["level"] = ddc.Level
 62951  	}
 62952  	if ddc.Type != "" {
 62953  		objectMap["type"] = ddc.Type
 62954  	}
 62955  	for k, v := range ddc.AdditionalProperties {
 62956  		objectMap[k] = v
 62957  	}
 62958  	return json.Marshal(objectMap)
 62959  }
 62960  
 62961  // AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62962  func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
 62963  	return nil, false
 62964  }
 62965  
 62966  // AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62967  func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
 62968  	return &ddc, true
 62969  }
 62970  
 62971  // AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62972  func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
 62973  	return nil, false
 62974  }
 62975  
 62976  // AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62977  func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
 62978  	return nil, false
 62979  }
 62980  
 62981  // AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62982  func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
 62983  	return nil, false
 62984  }
 62985  
 62986  // AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression.
 62987  func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
 62988  	return &ddc, true
 62989  }
 62990  
 62991  // UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct.
 62992  func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error {
 62993  	var m map[string]*json.RawMessage
 62994  	err := json.Unmarshal(body, &m)
 62995  	if err != nil {
 62996  		return err
 62997  	}
 62998  	for k, v := range m {
 62999  		switch k {
 63000  		case "level":
 63001  			if v != nil {
 63002  				var level DatasetCompressionLevel
 63003  				err = json.Unmarshal(*v, &level)
 63004  				if err != nil {
 63005  					return err
 63006  				}
 63007  				ddc.Level = level
 63008  			}
 63009  		default:
 63010  			if v != nil {
 63011  				var additionalProperties interface{}
 63012  				err = json.Unmarshal(*v, &additionalProperties)
 63013  				if err != nil {
 63014  					return err
 63015  				}
 63016  				if ddc.AdditionalProperties == nil {
 63017  					ddc.AdditionalProperties = make(map[string]interface{})
 63018  				}
 63019  				ddc.AdditionalProperties[k] = additionalProperties
 63020  			}
 63021  		case "type":
 63022  			if v != nil {
 63023  				var typeVar TypeBasicDatasetCompression
 63024  				err = json.Unmarshal(*v, &typeVar)
 63025  				if err != nil {
 63026  					return err
 63027  				}
 63028  				ddc.Type = typeVar
 63029  			}
 63030  		}
 63031  	}
 63032  
 63033  	return nil
 63034  }
 63035  
 63036  // DatasetDeleteDatasetFuture an abstraction for monitoring and retrieving the results of a long-running
 63037  // operation.
 63038  type DatasetDeleteDatasetFuture struct {
 63039  	azure.FutureAPI
 63040  	// Result returns the result of the asynchronous operation.
 63041  	// If the operation has not completed it will return an error.
 63042  	Result func(DatasetClient) (autorest.Response, error)
 63043  }
 63044  
 63045  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 63046  func (future *DatasetDeleteDatasetFuture) UnmarshalJSON(body []byte) error {
 63047  	var azFuture azure.Future
 63048  	if err := json.Unmarshal(body, &azFuture); err != nil {
 63049  		return err
 63050  	}
 63051  	future.FutureAPI = &azFuture
 63052  	future.Result = future.result
 63053  	return nil
 63054  }
 63055  
 63056  // result is the default implementation for DatasetDeleteDatasetFuture.Result.
 63057  func (future *DatasetDeleteDatasetFuture) result(client DatasetClient) (ar autorest.Response, err error) {
 63058  	var done bool
 63059  	done, err = future.DoneWithContext(context.Background(), client)
 63060  	if err != nil {
 63061  		err = autorest.NewErrorWithError(err, "artifacts.DatasetDeleteDatasetFuture", "Result", future.Response(), "Polling failure")
 63062  		return
 63063  	}
 63064  	if !done {
 63065  		ar.Response = future.Response()
 63066  		err = azure.NewAsyncOpIncompleteError("artifacts.DatasetDeleteDatasetFuture")
 63067  		return
 63068  	}
 63069  	ar.Response = future.Response()
 63070  	return
 63071  }
 63072  
 63073  // DatasetFolder the folder that this Dataset is in. If not specified, Dataset will appear at the root
 63074  // level.
 63075  type DatasetFolder struct {
 63076  	// Name - The name of the folder that this Dataset is in.
 63077  	Name *string `json:"name,omitempty"`
 63078  }
 63079  
 63080  // DatasetGZipCompression the GZip compression method used on a dataset.
 63081  type DatasetGZipCompression struct {
 63082  	// Level - The GZip compression level. Possible values include: 'Optimal', 'Fastest'
 63083  	Level DatasetCompressionLevel `json:"level,omitempty"`
 63084  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 63085  	AdditionalProperties map[string]interface{} `json:""`
 63086  	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
 63087  	Type TypeBasicDatasetCompression `json:"type,omitempty"`
 63088  }
 63089  
 63090  // MarshalJSON is the custom marshaler for DatasetGZipCompression.
 63091  func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) {
 63092  	dgzc.Type = TypeGZip
 63093  	objectMap := make(map[string]interface{})
 63094  	if dgzc.Level != "" {
 63095  		objectMap["level"] = dgzc.Level
 63096  	}
 63097  	if dgzc.Type != "" {
 63098  		objectMap["type"] = dgzc.Type
 63099  	}
 63100  	for k, v := range dgzc.AdditionalProperties {
 63101  		objectMap[k] = v
 63102  	}
 63103  	return json.Marshal(objectMap)
 63104  }
 63105  
 63106  // AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63107  func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
 63108  	return nil, false
 63109  }
 63110  
 63111  // AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63112  func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
 63113  	return nil, false
 63114  }
 63115  
 63116  // AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63117  func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
 63118  	return &dgzc, true
 63119  }
 63120  
 63121  // AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63122  func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
 63123  	return nil, false
 63124  }
 63125  
 63126  // AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63127  func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) {
 63128  	return nil, false
 63129  }
 63130  
 63131  // AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression.
 63132  func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
 63133  	return &dgzc, true
 63134  }
 63135  
 63136  // UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct.
 63137  func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error {
 63138  	var m map[string]*json.RawMessage
 63139  	err := json.Unmarshal(body, &m)
 63140  	if err != nil {
 63141  		return err
 63142  	}
 63143  	for k, v := range m {
 63144  		switch k {
 63145  		case "level":
 63146  			if v != nil {
 63147  				var level DatasetCompressionLevel
 63148  				err = json.Unmarshal(*v, &level)
 63149  				if err != nil {
 63150  					return err
 63151  				}
 63152  				dgzc.Level = level
 63153  			}
 63154  		default:
 63155  			if v != nil {
 63156  				var additionalProperties interface{}
 63157  				err = json.Unmarshal(*v, &additionalProperties)
 63158  				if err != nil {
 63159  					return err
 63160  				}
 63161  				if dgzc.AdditionalProperties == nil {
 63162  					dgzc.AdditionalProperties = make(map[string]interface{})
 63163  				}
 63164  				dgzc.AdditionalProperties[k] = additionalProperties
 63165  			}
 63166  		case "type":
 63167  			if v != nil {
 63168  				var typeVar TypeBasicDatasetCompression
 63169  				err = json.Unmarshal(*v, &typeVar)
 63170  				if err != nil {
 63171  					return err
 63172  				}
 63173  				dgzc.Type = typeVar
 63174  			}
 63175  		}
 63176  	}
 63177  
 63178  	return nil
 63179  }
 63180  
 63181  // DatasetListResponse a list of dataset resources.
 63182  type DatasetListResponse struct {
 63183  	autorest.Response `json:"-"`
 63184  	// Value - List of datasets.
 63185  	Value *[]DatasetResource `json:"value,omitempty"`
 63186  	// NextLink - The link to the next page of results, if any remaining results exist.
 63187  	NextLink *string `json:"nextLink,omitempty"`
 63188  }
 63189  
 63190  // DatasetListResponseIterator provides access to a complete listing of DatasetResource values.
 63191  type DatasetListResponseIterator struct {
 63192  	i    int
 63193  	page DatasetListResponsePage
 63194  }
 63195  
 63196  // NextWithContext advances to the next value.  If there was an error making
 63197  // the request the iterator does not advance and the error is returned.
 63198  func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) {
 63199  	if tracing.IsEnabled() {
 63200  		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext")
 63201  		defer func() {
 63202  			sc := -1
 63203  			if iter.Response().Response.Response != nil {
 63204  				sc = iter.Response().Response.Response.StatusCode
 63205  			}
 63206  			tracing.EndSpan(ctx, sc, err)
 63207  		}()
 63208  	}
 63209  	iter.i++
 63210  	if iter.i < len(iter.page.Values()) {
 63211  		return nil
 63212  	}
 63213  	err = iter.page.NextWithContext(ctx)
 63214  	if err != nil {
 63215  		iter.i--
 63216  		return err
 63217  	}
 63218  	iter.i = 0
 63219  	return nil
 63220  }
 63221  
 63222  // Next advances to the next value.  If there was an error making
 63223  // the request the iterator does not advance and the error is returned.
 63224  // Deprecated: Use NextWithContext() instead.
 63225  func (iter *DatasetListResponseIterator) Next() error {
 63226  	return iter.NextWithContext(context.Background())
 63227  }
 63228  
 63229  // NotDone returns true if the enumeration should be started or is not yet complete.
 63230  func (iter DatasetListResponseIterator) NotDone() bool {
 63231  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
 63232  }
 63233  
 63234  // Response returns the raw server response from the last page request.
 63235  func (iter DatasetListResponseIterator) Response() DatasetListResponse {
 63236  	return iter.page.Response()
 63237  }
 63238  
 63239  // Value returns the current value or a zero-initialized value if the
 63240  // iterator has advanced beyond the end of the collection.
 63241  func (iter DatasetListResponseIterator) Value() DatasetResource {
 63242  	if !iter.page.NotDone() {
 63243  		return DatasetResource{}
 63244  	}
 63245  	return iter.page.Values()[iter.i]
 63246  }
 63247  
 63248  // Creates a new instance of the DatasetListResponseIterator type.
 63249  func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator {
 63250  	return DatasetListResponseIterator{page: page}
 63251  }
 63252  
 63253  // IsEmpty returns true if the ListResult contains no values.
 63254  func (dlr DatasetListResponse) IsEmpty() bool {
 63255  	return dlr.Value == nil || len(*dlr.Value) == 0
 63256  }
 63257  
 63258  // hasNextLink returns true if the NextLink is not empty.
 63259  func (dlr DatasetListResponse) hasNextLink() bool {
 63260  	return dlr.NextLink != nil && len(*dlr.NextLink) != 0
 63261  }
 63262  
 63263  // datasetListResponsePreparer prepares a request to retrieve the next set of results.
 63264  // It returns nil if no more results exist.
 63265  func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) {
 63266  	if !dlr.hasNextLink() {
 63267  		return nil, nil
 63268  	}
 63269  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
 63270  		autorest.AsJSON(),
 63271  		autorest.AsGet(),
 63272  		autorest.WithBaseURL(to.String(dlr.NextLink)))
 63273  }
 63274  
 63275  // DatasetListResponsePage contains a page of DatasetResource values.
 63276  type DatasetListResponsePage struct {
 63277  	fn  func(context.Context, DatasetListResponse) (DatasetListResponse, error)
 63278  	dlr DatasetListResponse
 63279  }
 63280  
 63281  // NextWithContext advances to the next page of values.  If there was an error making
 63282  // the request the page does not advance and the error is returned.
 63283  func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) {
 63284  	if tracing.IsEnabled() {
 63285  		ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext")
 63286  		defer func() {
 63287  			sc := -1
 63288  			if page.Response().Response.Response != nil {
 63289  				sc = page.Response().Response.Response.StatusCode
 63290  			}
 63291  			tracing.EndSpan(ctx, sc, err)
 63292  		}()
 63293  	}
 63294  	for {
 63295  		next, err := page.fn(ctx, page.dlr)
 63296  		if err != nil {
 63297  			return err
 63298  		}
 63299  		page.dlr = next
 63300  		if !next.hasNextLink() || !next.IsEmpty() {
 63301  			break
 63302  		}
 63303  	}
 63304  	return nil
 63305  }
 63306  
 63307  // Next advances to the next page of values.  If there was an error making
 63308  // the request the page does not advance and the error is returned.
 63309  // Deprecated: Use NextWithContext() instead.
 63310  func (page *DatasetListResponsePage) Next() error {
 63311  	return page.NextWithContext(context.Background())
 63312  }
 63313  
 63314  // NotDone returns true if the page enumeration should be started or is not yet complete.
 63315  func (page DatasetListResponsePage) NotDone() bool {
 63316  	return !page.dlr.IsEmpty()
 63317  }
 63318  
 63319  // Response returns the raw server response from the last page request.
 63320  func (page DatasetListResponsePage) Response() DatasetListResponse {
 63321  	return page.dlr
 63322  }
 63323  
 63324  // Values returns the slice of values for the current page or nil if there are no values.
 63325  func (page DatasetListResponsePage) Values() []DatasetResource {
 63326  	if page.dlr.IsEmpty() {
 63327  		return nil
 63328  	}
 63329  	return *page.dlr.Value
 63330  }
 63331  
 63332  // Creates a new instance of the DatasetListResponsePage type.
 63333  func NewDatasetListResponsePage(cur DatasetListResponse, getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage {
 63334  	return DatasetListResponsePage{
 63335  		fn:  getNextPage,
 63336  		dlr: cur,
 63337  	}
 63338  }
 63339  
 63340  // BasicDatasetLocation dataset location.
 63341  type BasicDatasetLocation interface {
 63342  	AsHdfsLocation() (*HdfsLocation, bool)
 63343  	AsHTTPServerLocation() (*HTTPServerLocation, bool)
 63344  	AsSftpLocation() (*SftpLocation, bool)
 63345  	AsFtpServerLocation() (*FtpServerLocation, bool)
 63346  	AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool)
 63347  	AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool)
 63348  	AsFileServerLocation() (*FileServerLocation, bool)
 63349  	AsAmazonS3Location() (*AmazonS3Location, bool)
 63350  	AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool)
 63351  	AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool)
 63352  	AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool)
 63353  	AsDatasetLocation() (*DatasetLocation, bool)
 63354  }
 63355  
 63356  // DatasetLocation dataset location.
 63357  type DatasetLocation struct {
 63358  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 63359  	AdditionalProperties map[string]interface{} `json:""`
 63360  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 63361  	FolderPath interface{} `json:"folderPath,omitempty"`
 63362  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 63363  	FileName interface{} `json:"fileName,omitempty"`
 63364  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 63365  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 63366  }
 63367  
 63368  func unmarshalBasicDatasetLocation(body []byte) (BasicDatasetLocation, error) {
 63369  	var m map[string]interface{}
 63370  	err := json.Unmarshal(body, &m)
 63371  	if err != nil {
 63372  		return nil, err
 63373  	}
 63374  
 63375  	switch m["type"] {
 63376  	case string(TypeHdfsLocation):
 63377  		var hl HdfsLocation
 63378  		err := json.Unmarshal(body, &hl)
 63379  		return hl, err
 63380  	case string(TypeHTTPServerLocation):
 63381  		var hsl HTTPServerLocation
 63382  		err := json.Unmarshal(body, &hsl)
 63383  		return hsl, err
 63384  	case string(TypeSftpLocation):
 63385  		var sl SftpLocation
 63386  		err := json.Unmarshal(body, &sl)
 63387  		return sl, err
 63388  	case string(TypeFtpServerLocation):
 63389  		var fsl FtpServerLocation
 63390  		err := json.Unmarshal(body, &fsl)
 63391  		return fsl, err
 63392  	case string(TypeGoogleCloudStorageLocation):
 63393  		var gcsl GoogleCloudStorageLocation
 63394  		err := json.Unmarshal(body, &gcsl)
 63395  		return gcsl, err
 63396  	case string(TypeAzureFileStorageLocation):
 63397  		var afsl AzureFileStorageLocation
 63398  		err := json.Unmarshal(body, &afsl)
 63399  		return afsl, err
 63400  	case string(TypeFileServerLocation):
 63401  		var fsl FileServerLocation
 63402  		err := json.Unmarshal(body, &fsl)
 63403  		return fsl, err
 63404  	case string(TypeAmazonS3Location):
 63405  		var asl AmazonS3Location
 63406  		err := json.Unmarshal(body, &asl)
 63407  		return asl, err
 63408  	case string(TypeAzureDataLakeStoreLocation):
 63409  		var adlsl AzureDataLakeStoreLocation
 63410  		err := json.Unmarshal(body, &adlsl)
 63411  		return adlsl, err
 63412  	case string(TypeAzureBlobFSLocation):
 63413  		var abfl AzureBlobFSLocation
 63414  		err := json.Unmarshal(body, &abfl)
 63415  		return abfl, err
 63416  	case string(TypeAzureBlobStorageLocation):
 63417  		var absl AzureBlobStorageLocation
 63418  		err := json.Unmarshal(body, &absl)
 63419  		return absl, err
 63420  	default:
 63421  		var dl DatasetLocation
 63422  		err := json.Unmarshal(body, &dl)
 63423  		return dl, err
 63424  	}
 63425  }
 63426  func unmarshalBasicDatasetLocationArray(body []byte) ([]BasicDatasetLocation, error) {
 63427  	var rawMessages []*json.RawMessage
 63428  	err := json.Unmarshal(body, &rawMessages)
 63429  	if err != nil {
 63430  		return nil, err
 63431  	}
 63432  
 63433  	dlArray := make([]BasicDatasetLocation, len(rawMessages))
 63434  
 63435  	for index, rawMessage := range rawMessages {
 63436  		dl, err := unmarshalBasicDatasetLocation(*rawMessage)
 63437  		if err != nil {
 63438  			return nil, err
 63439  		}
 63440  		dlArray[index] = dl
 63441  	}
 63442  	return dlArray, nil
 63443  }
 63444  
 63445  // MarshalJSON is the custom marshaler for DatasetLocation.
 63446  func (dl DatasetLocation) MarshalJSON() ([]byte, error) {
 63447  	dl.Type = TypeDatasetLocation
 63448  	objectMap := make(map[string]interface{})
 63449  	if dl.FolderPath != nil {
 63450  		objectMap["folderPath"] = dl.FolderPath
 63451  	}
 63452  	if dl.FileName != nil {
 63453  		objectMap["fileName"] = dl.FileName
 63454  	}
 63455  	if dl.Type != "" {
 63456  		objectMap["type"] = dl.Type
 63457  	}
 63458  	for k, v := range dl.AdditionalProperties {
 63459  		objectMap[k] = v
 63460  	}
 63461  	return json.Marshal(objectMap)
 63462  }
 63463  
 63464  // AsHdfsLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63465  func (dl DatasetLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 63466  	return nil, false
 63467  }
 63468  
 63469  // AsHTTPServerLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63470  func (dl DatasetLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 63471  	return nil, false
 63472  }
 63473  
 63474  // AsSftpLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63475  func (dl DatasetLocation) AsSftpLocation() (*SftpLocation, bool) {
 63476  	return nil, false
 63477  }
 63478  
 63479  // AsFtpServerLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63480  func (dl DatasetLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 63481  	return nil, false
 63482  }
 63483  
 63484  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63485  func (dl DatasetLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 63486  	return nil, false
 63487  }
 63488  
 63489  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63490  func (dl DatasetLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 63491  	return nil, false
 63492  }
 63493  
 63494  // AsFileServerLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63495  func (dl DatasetLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 63496  	return nil, false
 63497  }
 63498  
 63499  // AsAmazonS3Location is the BasicDatasetLocation implementation for DatasetLocation.
 63500  func (dl DatasetLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 63501  	return nil, false
 63502  }
 63503  
 63504  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63505  func (dl DatasetLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 63506  	return nil, false
 63507  }
 63508  
 63509  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63510  func (dl DatasetLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 63511  	return nil, false
 63512  }
 63513  
 63514  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63515  func (dl DatasetLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 63516  	return nil, false
 63517  }
 63518  
 63519  // AsDatasetLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63520  func (dl DatasetLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 63521  	return &dl, true
 63522  }
 63523  
 63524  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for DatasetLocation.
 63525  func (dl DatasetLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 63526  	return &dl, true
 63527  }
 63528  
 63529  // UnmarshalJSON is the custom unmarshaler for DatasetLocation struct.
 63530  func (dl *DatasetLocation) UnmarshalJSON(body []byte) error {
 63531  	var m map[string]*json.RawMessage
 63532  	err := json.Unmarshal(body, &m)
 63533  	if err != nil {
 63534  		return err
 63535  	}
 63536  	for k, v := range m {
 63537  		switch k {
 63538  		default:
 63539  			if v != nil {
 63540  				var additionalProperties interface{}
 63541  				err = json.Unmarshal(*v, &additionalProperties)
 63542  				if err != nil {
 63543  					return err
 63544  				}
 63545  				if dl.AdditionalProperties == nil {
 63546  					dl.AdditionalProperties = make(map[string]interface{})
 63547  				}
 63548  				dl.AdditionalProperties[k] = additionalProperties
 63549  			}
 63550  		case "folderPath":
 63551  			if v != nil {
 63552  				var folderPath interface{}
 63553  				err = json.Unmarshal(*v, &folderPath)
 63554  				if err != nil {
 63555  					return err
 63556  				}
 63557  				dl.FolderPath = folderPath
 63558  			}
 63559  		case "fileName":
 63560  			if v != nil {
 63561  				var fileName interface{}
 63562  				err = json.Unmarshal(*v, &fileName)
 63563  				if err != nil {
 63564  					return err
 63565  				}
 63566  				dl.FileName = fileName
 63567  			}
 63568  		case "type":
 63569  			if v != nil {
 63570  				var typeVar TypeBasicDatasetLocation
 63571  				err = json.Unmarshal(*v, &typeVar)
 63572  				if err != nil {
 63573  					return err
 63574  				}
 63575  				dl.Type = typeVar
 63576  			}
 63577  		}
 63578  	}
 63579  
 63580  	return nil
 63581  }
 63582  
 63583  // DatasetReference dataset reference type.
 63584  type DatasetReference struct {
 63585  	// Type - Dataset reference type.
 63586  	Type *string `json:"type,omitempty"`
 63587  	// ReferenceName - Reference dataset name.
 63588  	ReferenceName *string `json:"referenceName,omitempty"`
 63589  	// Parameters - Arguments for dataset.
 63590  	Parameters map[string]interface{} `json:"parameters"`
 63591  }
 63592  
 63593  // MarshalJSON is the custom marshaler for DatasetReference.
 63594  func (dr DatasetReference) MarshalJSON() ([]byte, error) {
 63595  	objectMap := make(map[string]interface{})
 63596  	if dr.Type != nil {
 63597  		objectMap["type"] = dr.Type
 63598  	}
 63599  	if dr.ReferenceName != nil {
 63600  		objectMap["referenceName"] = dr.ReferenceName
 63601  	}
 63602  	if dr.Parameters != nil {
 63603  		objectMap["parameters"] = dr.Parameters
 63604  	}
 63605  	return json.Marshal(objectMap)
 63606  }
 63607  
 63608  // DatasetRenameDatasetFuture an abstraction for monitoring and retrieving the results of a long-running
 63609  // operation.
 63610  type DatasetRenameDatasetFuture struct {
 63611  	azure.FutureAPI
 63612  	// Result returns the result of the asynchronous operation.
 63613  	// If the operation has not completed it will return an error.
 63614  	Result func(DatasetClient) (autorest.Response, error)
 63615  }
 63616  
 63617  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
 63618  func (future *DatasetRenameDatasetFuture) UnmarshalJSON(body []byte) error {
 63619  	var azFuture azure.Future
 63620  	if err := json.Unmarshal(body, &azFuture); err != nil {
 63621  		return err
 63622  	}
 63623  	future.FutureAPI = &azFuture
 63624  	future.Result = future.result
 63625  	return nil
 63626  }
 63627  
 63628  // result is the default implementation for DatasetRenameDatasetFuture.Result.
 63629  func (future *DatasetRenameDatasetFuture) result(client DatasetClient) (ar autorest.Response, err error) {
 63630  	var done bool
 63631  	done, err = future.DoneWithContext(context.Background(), client)
 63632  	if err != nil {
 63633  		err = autorest.NewErrorWithError(err, "artifacts.DatasetRenameDatasetFuture", "Result", future.Response(), "Polling failure")
 63634  		return
 63635  	}
 63636  	if !done {
 63637  		ar.Response = future.Response()
 63638  		err = azure.NewAsyncOpIncompleteError("artifacts.DatasetRenameDatasetFuture")
 63639  		return
 63640  	}
 63641  	ar.Response = future.Response()
 63642  	return
 63643  }
 63644  
 63645  // DatasetResource dataset resource type.
 63646  type DatasetResource struct {
 63647  	autorest.Response `json:"-"`
 63648  	// Properties - Dataset properties.
 63649  	Properties BasicDataset `json:"properties,omitempty"`
 63650  	// Etag - READ-ONLY; Resource Etag.
 63651  	Etag *string `json:"etag,omitempty"`
 63652  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
 63653  	ID *string `json:"id,omitempty"`
 63654  	// Name - READ-ONLY; The name of the resource
 63655  	Name *string `json:"name,omitempty"`
 63656  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
 63657  	Type *string `json:"type,omitempty"`
 63658  }
 63659  
 63660  // MarshalJSON is the custom marshaler for DatasetResource.
 63661  func (dr DatasetResource) MarshalJSON() ([]byte, error) {
 63662  	objectMap := make(map[string]interface{})
 63663  	objectMap["properties"] = dr.Properties
 63664  	return json.Marshal(objectMap)
 63665  }
 63666  
 63667  // UnmarshalJSON is the custom unmarshaler for DatasetResource struct.
 63668  func (dr *DatasetResource) UnmarshalJSON(body []byte) error {
 63669  	var m map[string]*json.RawMessage
 63670  	err := json.Unmarshal(body, &m)
 63671  	if err != nil {
 63672  		return err
 63673  	}
 63674  	for k, v := range m {
 63675  		switch k {
 63676  		case "properties":
 63677  			if v != nil {
 63678  				properties, err := unmarshalBasicDataset(*v)
 63679  				if err != nil {
 63680  					return err
 63681  				}
 63682  				dr.Properties = properties
 63683  			}
 63684  		case "etag":
 63685  			if v != nil {
 63686  				var etag string
 63687  				err = json.Unmarshal(*v, &etag)
 63688  				if err != nil {
 63689  					return err
 63690  				}
 63691  				dr.Etag = &etag
 63692  			}
 63693  		case "id":
 63694  			if v != nil {
 63695  				var ID string
 63696  				err = json.Unmarshal(*v, &ID)
 63697  				if err != nil {
 63698  					return err
 63699  				}
 63700  				dr.ID = &ID
 63701  			}
 63702  		case "name":
 63703  			if v != nil {
 63704  				var name string
 63705  				err = json.Unmarshal(*v, &name)
 63706  				if err != nil {
 63707  					return err
 63708  				}
 63709  				dr.Name = &name
 63710  			}
 63711  		case "type":
 63712  			if v != nil {
 63713  				var typeVar string
 63714  				err = json.Unmarshal(*v, &typeVar)
 63715  				if err != nil {
 63716  					return err
 63717  				}
 63718  				dr.Type = &typeVar
 63719  			}
 63720  		}
 63721  	}
 63722  
 63723  	return nil
 63724  }
 63725  
 63726  // DatasetSchemaDataElement columns that define the physical type schema of the dataset.
 63727  type DatasetSchemaDataElement struct {
 63728  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 63729  	AdditionalProperties map[string]interface{} `json:""`
 63730  	// Name - Name of the schema column. Type: string (or Expression with resultType string).
 63731  	Name interface{} `json:"name,omitempty"`
 63732  	// Type - Type of the schema column. Type: string (or Expression with resultType string).
 63733  	Type interface{} `json:"type,omitempty"`
 63734  }
 63735  
 63736  // MarshalJSON is the custom marshaler for DatasetSchemaDataElement.
 63737  func (dsde DatasetSchemaDataElement) MarshalJSON() ([]byte, error) {
 63738  	objectMap := make(map[string]interface{})
 63739  	if dsde.Name != nil {
 63740  		objectMap["name"] = dsde.Name
 63741  	}
 63742  	if dsde.Type != nil {
 63743  		objectMap["type"] = dsde.Type
 63744  	}
 63745  	for k, v := range dsde.AdditionalProperties {
 63746  		objectMap[k] = v
 63747  	}
 63748  	return json.Marshal(objectMap)
 63749  }
 63750  
 63751  // UnmarshalJSON is the custom unmarshaler for DatasetSchemaDataElement struct.
 63752  func (dsde *DatasetSchemaDataElement) UnmarshalJSON(body []byte) error {
 63753  	var m map[string]*json.RawMessage
 63754  	err := json.Unmarshal(body, &m)
 63755  	if err != nil {
 63756  		return err
 63757  	}
 63758  	for k, v := range m {
 63759  		switch k {
 63760  		default:
 63761  			if v != nil {
 63762  				var additionalProperties interface{}
 63763  				err = json.Unmarshal(*v, &additionalProperties)
 63764  				if err != nil {
 63765  					return err
 63766  				}
 63767  				if dsde.AdditionalProperties == nil {
 63768  					dsde.AdditionalProperties = make(map[string]interface{})
 63769  				}
 63770  				dsde.AdditionalProperties[k] = additionalProperties
 63771  			}
 63772  		case "name":
 63773  			if v != nil {
 63774  				var name interface{}
 63775  				err = json.Unmarshal(*v, &name)
 63776  				if err != nil {
 63777  					return err
 63778  				}
 63779  				dsde.Name = name
 63780  			}
 63781  		case "type":
 63782  			if v != nil {
 63783  				var typeVar interface{}
 63784  				err = json.Unmarshal(*v, &typeVar)
 63785  				if err != nil {
 63786  					return err
 63787  				}
 63788  				dsde.Type = typeVar
 63789  			}
 63790  		}
 63791  	}
 63792  
 63793  	return nil
 63794  }
 63795  
 63796  // BasicDatasetStorageFormat the format definition of a storage.
 63797  type BasicDatasetStorageFormat interface {
 63798  	AsTextFormat() (*TextFormat, bool)
 63799  	AsJSONFormat() (*JSONFormat, bool)
 63800  	AsAvroFormat() (*AvroFormat, bool)
 63801  	AsOrcFormat() (*OrcFormat, bool)
 63802  	AsParquetFormat() (*ParquetFormat, bool)
 63803  	AsDatasetStorageFormat() (*DatasetStorageFormat, bool)
 63804  }
 63805  
 63806  // DatasetStorageFormat the format definition of a storage.
 63807  type DatasetStorageFormat struct {
 63808  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 63809  	AdditionalProperties map[string]interface{} `json:""`
 63810  	// Serializer - Serializer. Type: string (or Expression with resultType string).
 63811  	Serializer interface{} `json:"serializer,omitempty"`
 63812  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
 63813  	Deserializer interface{} `json:"deserializer,omitempty"`
 63814  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
 63815  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
 63816  }
 63817  
 63818  func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) {
 63819  	var m map[string]interface{}
 63820  	err := json.Unmarshal(body, &m)
 63821  	if err != nil {
 63822  		return nil, err
 63823  	}
 63824  
 63825  	switch m["type"] {
 63826  	case string(TypeTextFormat):
 63827  		var tf TextFormat
 63828  		err := json.Unmarshal(body, &tf)
 63829  		return tf, err
 63830  	case string(TypeJSONFormat):
 63831  		var jf JSONFormat
 63832  		err := json.Unmarshal(body, &jf)
 63833  		return jf, err
 63834  	case string(TypeAvroFormat):
 63835  		var af AvroFormat
 63836  		err := json.Unmarshal(body, &af)
 63837  		return af, err
 63838  	case string(TypeOrcFormat):
 63839  		var of OrcFormat
 63840  		err := json.Unmarshal(body, &of)
 63841  		return of, err
 63842  	case string(TypeParquetFormat):
 63843  		var pf ParquetFormat
 63844  		err := json.Unmarshal(body, &pf)
 63845  		return pf, err
 63846  	default:
 63847  		var dsf DatasetStorageFormat
 63848  		err := json.Unmarshal(body, &dsf)
 63849  		return dsf, err
 63850  	}
 63851  }
 63852  func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) {
 63853  	var rawMessages []*json.RawMessage
 63854  	err := json.Unmarshal(body, &rawMessages)
 63855  	if err != nil {
 63856  		return nil, err
 63857  	}
 63858  
 63859  	dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages))
 63860  
 63861  	for index, rawMessage := range rawMessages {
 63862  		dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage)
 63863  		if err != nil {
 63864  			return nil, err
 63865  		}
 63866  		dsfArray[index] = dsf
 63867  	}
 63868  	return dsfArray, nil
 63869  }
 63870  
 63871  // MarshalJSON is the custom marshaler for DatasetStorageFormat.
 63872  func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) {
 63873  	dsf.Type = TypeDatasetStorageFormat
 63874  	objectMap := make(map[string]interface{})
 63875  	if dsf.Serializer != nil {
 63876  		objectMap["serializer"] = dsf.Serializer
 63877  	}
 63878  	if dsf.Deserializer != nil {
 63879  		objectMap["deserializer"] = dsf.Deserializer
 63880  	}
 63881  	if dsf.Type != "" {
 63882  		objectMap["type"] = dsf.Type
 63883  	}
 63884  	for k, v := range dsf.AdditionalProperties {
 63885  		objectMap[k] = v
 63886  	}
 63887  	return json.Marshal(objectMap)
 63888  }
 63889  
 63890  // AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63891  func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) {
 63892  	return nil, false
 63893  }
 63894  
 63895  // AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63896  func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) {
 63897  	return nil, false
 63898  }
 63899  
 63900  // AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63901  func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) {
 63902  	return nil, false
 63903  }
 63904  
 63905  // AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63906  func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) {
 63907  	return nil, false
 63908  }
 63909  
 63910  // AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63911  func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) {
 63912  	return nil, false
 63913  }
 63914  
 63915  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63916  func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
 63917  	return &dsf, true
 63918  }
 63919  
 63920  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat.
 63921  func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
 63922  	return &dsf, true
 63923  }
 63924  
 63925  // UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct.
 63926  func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error {
 63927  	var m map[string]*json.RawMessage
 63928  	err := json.Unmarshal(body, &m)
 63929  	if err != nil {
 63930  		return err
 63931  	}
 63932  	for k, v := range m {
 63933  		switch k {
 63934  		default:
 63935  			if v != nil {
 63936  				var additionalProperties interface{}
 63937  				err = json.Unmarshal(*v, &additionalProperties)
 63938  				if err != nil {
 63939  					return err
 63940  				}
 63941  				if dsf.AdditionalProperties == nil {
 63942  					dsf.AdditionalProperties = make(map[string]interface{})
 63943  				}
 63944  				dsf.AdditionalProperties[k] = additionalProperties
 63945  			}
 63946  		case "serializer":
 63947  			if v != nil {
 63948  				var serializer interface{}
 63949  				err = json.Unmarshal(*v, &serializer)
 63950  				if err != nil {
 63951  					return err
 63952  				}
 63953  				dsf.Serializer = serializer
 63954  			}
 63955  		case "deserializer":
 63956  			if v != nil {
 63957  				var deserializer interface{}
 63958  				err = json.Unmarshal(*v, &deserializer)
 63959  				if err != nil {
 63960  					return err
 63961  				}
 63962  				dsf.Deserializer = deserializer
 63963  			}
 63964  		case "type":
 63965  			if v != nil {
 63966  				var typeVar TypeBasicDatasetStorageFormat
 63967  				err = json.Unmarshal(*v, &typeVar)
 63968  				if err != nil {
 63969  					return err
 63970  				}
 63971  				dsf.Type = typeVar
 63972  			}
 63973  		}
 63974  	}
 63975  
 63976  	return nil
 63977  }
 63978  
 63979  // DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset.
 63980  type DatasetZipDeflateCompression struct {
 63981  	// Level - The ZipDeflate compression level. Possible values include: 'Optimal', 'Fastest'
 63982  	Level DatasetCompressionLevel `json:"level,omitempty"`
 63983  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 63984  	AdditionalProperties map[string]interface{} `json:""`
 63985  	// Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2'
 63986  	Type TypeBasicDatasetCompression `json:"type,omitempty"`
 63987  }
 63988  
 63989  // MarshalJSON is the custom marshaler for DatasetZipDeflateCompression.
 63990  func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) {
 63991  	dzdc.Type = TypeZipDeflate
 63992  	objectMap := make(map[string]interface{})
 63993  	if dzdc.Level != "" {
 63994  		objectMap["level"] = dzdc.Level
 63995  	}
 63996  	if dzdc.Type != "" {
 63997  		objectMap["type"] = dzdc.Type
 63998  	}
 63999  	for k, v := range dzdc.AdditionalProperties {
 64000  		objectMap[k] = v
 64001  	}
 64002  	return json.Marshal(objectMap)
 64003  }
 64004  
 64005  // AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64006  func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) {
 64007  	return &dzdc, true
 64008  }
 64009  
 64010  // AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64011  func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) {
 64012  	return nil, false
 64013  }
 64014  
 64015  // AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64016  func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) {
 64017  	return nil, false
 64018  }
 64019  
 64020  // AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64021  func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) {
 64022  	return nil, false
 64023  }
 64024  
 64025  // AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64026  func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) {
 64027  	return nil, false
 64028  }
 64029  
 64030  // AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression.
 64031  func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) {
 64032  	return &dzdc, true
 64033  }
 64034  
 64035  // UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct.
 64036  func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error {
 64037  	var m map[string]*json.RawMessage
 64038  	err := json.Unmarshal(body, &m)
 64039  	if err != nil {
 64040  		return err
 64041  	}
 64042  	for k, v := range m {
 64043  		switch k {
 64044  		case "level":
 64045  			if v != nil {
 64046  				var level DatasetCompressionLevel
 64047  				err = json.Unmarshal(*v, &level)
 64048  				if err != nil {
 64049  					return err
 64050  				}
 64051  				dzdc.Level = level
 64052  			}
 64053  		default:
 64054  			if v != nil {
 64055  				var additionalProperties interface{}
 64056  				err = json.Unmarshal(*v, &additionalProperties)
 64057  				if err != nil {
 64058  					return err
 64059  				}
 64060  				if dzdc.AdditionalProperties == nil {
 64061  					dzdc.AdditionalProperties = make(map[string]interface{})
 64062  				}
 64063  				dzdc.AdditionalProperties[k] = additionalProperties
 64064  			}
 64065  		case "type":
 64066  			if v != nil {
 64067  				var typeVar TypeBasicDatasetCompression
 64068  				err = json.Unmarshal(*v, &typeVar)
 64069  				if err != nil {
 64070  					return err
 64071  				}
 64072  				dzdc.Type = typeVar
 64073  			}
 64074  		}
 64075  	}
 64076  
 64077  	return nil
 64078  }
 64079  
 64080  // Db2LinkedService linked service for DB2 data source.
 64081  type Db2LinkedService struct {
 64082  	// Db2LinkedServiceTypeProperties - DB2 linked service properties.
 64083  	*Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 64084  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 64085  	AdditionalProperties map[string]interface{} `json:""`
 64086  	// ConnectVia - The integration runtime reference.
 64087  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 64088  	// Description - Linked service description.
 64089  	Description *string `json:"description,omitempty"`
 64090  	// Parameters - Parameters for linked service.
 64091  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 64092  	// Annotations - List of tags that can be used for describing the linked service.
 64093  	Annotations *[]interface{} `json:"annotations,omitempty"`
 64094  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 64095  	Type TypeBasicLinkedService `json:"type,omitempty"`
 64096  }
 64097  
 64098  // MarshalJSON is the custom marshaler for Db2LinkedService.
 64099  func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) {
 64100  	d2ls.Type = TypeDb2
 64101  	objectMap := make(map[string]interface{})
 64102  	if d2ls.Db2LinkedServiceTypeProperties != nil {
 64103  		objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties
 64104  	}
 64105  	if d2ls.ConnectVia != nil {
 64106  		objectMap["connectVia"] = d2ls.ConnectVia
 64107  	}
 64108  	if d2ls.Description != nil {
 64109  		objectMap["description"] = d2ls.Description
 64110  	}
 64111  	if d2ls.Parameters != nil {
 64112  		objectMap["parameters"] = d2ls.Parameters
 64113  	}
 64114  	if d2ls.Annotations != nil {
 64115  		objectMap["annotations"] = d2ls.Annotations
 64116  	}
 64117  	if d2ls.Type != "" {
 64118  		objectMap["type"] = d2ls.Type
 64119  	}
 64120  	for k, v := range d2ls.AdditionalProperties {
 64121  		objectMap[k] = v
 64122  	}
 64123  	return json.Marshal(objectMap)
 64124  }
 64125  
 64126  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64127  func (d2ls Db2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 64128  	return nil, false
 64129  }
 64130  
 64131  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64132  func (d2ls Db2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 64133  	return nil, false
 64134  }
 64135  
 64136  // AsSapTableLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64137  func (d2ls Db2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 64138  	return nil, false
 64139  }
 64140  
 64141  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64142  func (d2ls Db2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 64143  	return nil, false
 64144  }
 64145  
 64146  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64147  func (d2ls Db2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 64148  	return nil, false
 64149  }
 64150  
 64151  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64152  func (d2ls Db2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 64153  	return nil, false
 64154  }
 64155  
 64156  // AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64157  func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 64158  	return nil, false
 64159  }
 64160  
 64161  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64162  func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 64163  	return nil, false
 64164  }
 64165  
 64166  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64167  func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 64168  	return nil, false
 64169  }
 64170  
 64171  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64172  func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 64173  	return nil, false
 64174  }
 64175  
 64176  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64177  func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 64178  	return nil, false
 64179  }
 64180  
 64181  // AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64182  func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 64183  	return nil, false
 64184  }
 64185  
 64186  // AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64187  func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 64188  	return nil, false
 64189  }
 64190  
 64191  // AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64192  func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 64193  	return nil, false
 64194  }
 64195  
 64196  // AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64197  func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 64198  	return nil, false
 64199  }
 64200  
 64201  // AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64202  func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 64203  	return nil, false
 64204  }
 64205  
 64206  // AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64207  func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 64208  	return nil, false
 64209  }
 64210  
 64211  // AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64212  func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 64213  	return nil, false
 64214  }
 64215  
 64216  // AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64217  func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 64218  	return nil, false
 64219  }
 64220  
 64221  // AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64222  func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 64223  	return nil, false
 64224  }
 64225  
 64226  // AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64227  func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 64228  	return nil, false
 64229  }
 64230  
 64231  // AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64232  func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 64233  	return nil, false
 64234  }
 64235  
 64236  // AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64237  func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 64238  	return nil, false
 64239  }
 64240  
 64241  // AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64242  func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 64243  	return nil, false
 64244  }
 64245  
 64246  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64247  func (d2ls Db2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 64248  	return nil, false
 64249  }
 64250  
 64251  // AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64252  func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 64253  	return nil, false
 64254  }
 64255  
 64256  // AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64257  func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 64258  	return nil, false
 64259  }
 64260  
 64261  // AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64262  func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 64263  	return nil, false
 64264  }
 64265  
 64266  // AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64267  func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 64268  	return nil, false
 64269  }
 64270  
 64271  // AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64272  func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 64273  	return nil, false
 64274  }
 64275  
 64276  // AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64277  func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 64278  	return nil, false
 64279  }
 64280  
 64281  // AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64282  func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 64283  	return nil, false
 64284  }
 64285  
 64286  // AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64287  func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 64288  	return nil, false
 64289  }
 64290  
 64291  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64292  func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 64293  	return nil, false
 64294  }
 64295  
 64296  // AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64297  func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 64298  	return nil, false
 64299  }
 64300  
 64301  // AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64302  func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 64303  	return nil, false
 64304  }
 64305  
 64306  // AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64307  func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 64308  	return nil, false
 64309  }
 64310  
 64311  // AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64312  func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 64313  	return nil, false
 64314  }
 64315  
 64316  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64317  func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 64318  	return nil, false
 64319  }
 64320  
 64321  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64322  func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 64323  	return nil, false
 64324  }
 64325  
 64326  // AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64327  func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 64328  	return nil, false
 64329  }
 64330  
 64331  // AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64332  func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 64333  	return nil, false
 64334  }
 64335  
 64336  // AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64337  func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 64338  	return nil, false
 64339  }
 64340  
 64341  // AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64342  func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 64343  	return nil, false
 64344  }
 64345  
 64346  // AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64347  func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 64348  	return nil, false
 64349  }
 64350  
 64351  // AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64352  func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 64353  	return nil, false
 64354  }
 64355  
 64356  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64357  func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 64358  	return nil, false
 64359  }
 64360  
 64361  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64362  func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 64363  	return nil, false
 64364  }
 64365  
 64366  // AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64367  func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 64368  	return nil, false
 64369  }
 64370  
 64371  // AsRestServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64372  func (d2ls Db2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 64373  	return nil, false
 64374  }
 64375  
 64376  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64377  func (d2ls Db2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 64378  	return nil, false
 64379  }
 64380  
 64381  // AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64382  func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 64383  	return nil, false
 64384  }
 64385  
 64386  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64387  func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 64388  	return nil, false
 64389  }
 64390  
 64391  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64392  func (d2ls Db2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 64393  	return nil, false
 64394  }
 64395  
 64396  // AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64397  func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 64398  	return nil, false
 64399  }
 64400  
 64401  // AsOffice365LinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64402  func (d2ls Db2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 64403  	return nil, false
 64404  }
 64405  
 64406  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64407  func (d2ls Db2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 64408  	return nil, false
 64409  }
 64410  
 64411  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64412  func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 64413  	return nil, false
 64414  }
 64415  
 64416  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64417  func (d2ls Db2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 64418  	return nil, false
 64419  }
 64420  
 64421  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64422  func (d2ls Db2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 64423  	return nil, false
 64424  }
 64425  
 64426  // AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64427  func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 64428  	return nil, false
 64429  }
 64430  
 64431  // AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64432  func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 64433  	return nil, false
 64434  }
 64435  
 64436  // AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64437  func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 64438  	return nil, false
 64439  }
 64440  
 64441  // AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64442  func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 64443  	return nil, false
 64444  }
 64445  
 64446  // AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64447  func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 64448  	return nil, false
 64449  }
 64450  
 64451  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64452  func (d2ls Db2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 64453  	return nil, false
 64454  }
 64455  
 64456  // AsInformixLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64457  func (d2ls Db2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 64458  	return nil, false
 64459  }
 64460  
 64461  // AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64462  func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 64463  	return nil, false
 64464  }
 64465  
 64466  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64467  func (d2ls Db2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 64468  	return nil, false
 64469  }
 64470  
 64471  // AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64472  func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 64473  	return nil, false
 64474  }
 64475  
 64476  // AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64477  func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 64478  	return nil, false
 64479  }
 64480  
 64481  // AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64482  func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 64483  	return &d2ls, true
 64484  }
 64485  
 64486  // AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64487  func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 64488  	return nil, false
 64489  }
 64490  
 64491  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64492  func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 64493  	return nil, false
 64494  }
 64495  
 64496  // AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64497  func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 64498  	return nil, false
 64499  }
 64500  
 64501  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64502  func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 64503  	return nil, false
 64504  }
 64505  
 64506  // AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64507  func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 64508  	return nil, false
 64509  }
 64510  
 64511  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64512  func (d2ls Db2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 64513  	return nil, false
 64514  }
 64515  
 64516  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64517  func (d2ls Db2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 64518  	return nil, false
 64519  }
 64520  
 64521  // AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64522  func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 64523  	return nil, false
 64524  }
 64525  
 64526  // AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64527  func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 64528  	return nil, false
 64529  }
 64530  
 64531  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64532  func (d2ls Db2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 64533  	return nil, false
 64534  }
 64535  
 64536  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64537  func (d2ls Db2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 64538  	return nil, false
 64539  }
 64540  
 64541  // AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64542  func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 64543  	return nil, false
 64544  }
 64545  
 64546  // AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64547  func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 64548  	return nil, false
 64549  }
 64550  
 64551  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64552  func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 64553  	return nil, false
 64554  }
 64555  
 64556  // AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64557  func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 64558  	return nil, false
 64559  }
 64560  
 64561  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64562  func (d2ls Db2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 64563  	return nil, false
 64564  }
 64565  
 64566  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64567  func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 64568  	return nil, false
 64569  }
 64570  
 64571  // AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64572  func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 64573  	return nil, false
 64574  }
 64575  
 64576  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64577  func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 64578  	return nil, false
 64579  }
 64580  
 64581  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64582  func (d2ls Db2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 64583  	return nil, false
 64584  }
 64585  
 64586  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64587  func (d2ls Db2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 64588  	return nil, false
 64589  }
 64590  
 64591  // AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64592  func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 64593  	return nil, false
 64594  }
 64595  
 64596  // AsLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64597  func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) {
 64598  	return nil, false
 64599  }
 64600  
 64601  // AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService.
 64602  func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 64603  	return &d2ls, true
 64604  }
 64605  
 64606  // UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct.
 64607  func (d2ls *Db2LinkedService) 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 "typeProperties":
 64616  			if v != nil {
 64617  				var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties
 64618  				err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties)
 64619  				if err != nil {
 64620  					return err
 64621  				}
 64622  				d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties
 64623  			}
 64624  		default:
 64625  			if v != nil {
 64626  				var additionalProperties interface{}
 64627  				err = json.Unmarshal(*v, &additionalProperties)
 64628  				if err != nil {
 64629  					return err
 64630  				}
 64631  				if d2ls.AdditionalProperties == nil {
 64632  					d2ls.AdditionalProperties = make(map[string]interface{})
 64633  				}
 64634  				d2ls.AdditionalProperties[k] = additionalProperties
 64635  			}
 64636  		case "connectVia":
 64637  			if v != nil {
 64638  				var connectVia IntegrationRuntimeReference
 64639  				err = json.Unmarshal(*v, &connectVia)
 64640  				if err != nil {
 64641  					return err
 64642  				}
 64643  				d2ls.ConnectVia = &connectVia
 64644  			}
 64645  		case "description":
 64646  			if v != nil {
 64647  				var description string
 64648  				err = json.Unmarshal(*v, &description)
 64649  				if err != nil {
 64650  					return err
 64651  				}
 64652  				d2ls.Description = &description
 64653  			}
 64654  		case "parameters":
 64655  			if v != nil {
 64656  				var parameters map[string]*ParameterSpecification
 64657  				err = json.Unmarshal(*v, &parameters)
 64658  				if err != nil {
 64659  					return err
 64660  				}
 64661  				d2ls.Parameters = parameters
 64662  			}
 64663  		case "annotations":
 64664  			if v != nil {
 64665  				var annotations []interface{}
 64666  				err = json.Unmarshal(*v, &annotations)
 64667  				if err != nil {
 64668  					return err
 64669  				}
 64670  				d2ls.Annotations = &annotations
 64671  			}
 64672  		case "type":
 64673  			if v != nil {
 64674  				var typeVar TypeBasicLinkedService
 64675  				err = json.Unmarshal(*v, &typeVar)
 64676  				if err != nil {
 64677  					return err
 64678  				}
 64679  				d2ls.Type = typeVar
 64680  			}
 64681  		}
 64682  	}
 64683  
 64684  	return nil
 64685  }
 64686  
 64687  // Db2LinkedServiceTypeProperties dB2 linked service properties.
 64688  type Db2LinkedServiceTypeProperties struct {
 64689  	// Server - Server name for connection. Type: string (or Expression with resultType string).
 64690  	Server interface{} `json:"server,omitempty"`
 64691  	// Database - Database name for connection. Type: string (or Expression with resultType string).
 64692  	Database interface{} `json:"database,omitempty"`
 64693  	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic'
 64694  	AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"`
 64695  	// Username - Username for authentication. Type: string (or Expression with resultType string).
 64696  	Username interface{} `json:"username,omitempty"`
 64697  	// Password - Password for authentication.
 64698  	Password BasicSecretBase `json:"password,omitempty"`
 64699  	// PackageCollection - Under where packages are created when querying database. Type: string (or Expression with resultType string).
 64700  	PackageCollection interface{} `json:"packageCollection,omitempty"`
 64701  	// CertificateCommonName - Certificate Common Name when TLS is enabled. Type: string (or Expression with resultType string).
 64702  	CertificateCommonName interface{} `json:"certificateCommonName,omitempty"`
 64703  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 64704  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 64705  }
 64706  
 64707  // UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct.
 64708  func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 64709  	var m map[string]*json.RawMessage
 64710  	err := json.Unmarshal(body, &m)
 64711  	if err != nil {
 64712  		return err
 64713  	}
 64714  	for k, v := range m {
 64715  		switch k {
 64716  		case "server":
 64717  			if v != nil {
 64718  				var server interface{}
 64719  				err = json.Unmarshal(*v, &server)
 64720  				if err != nil {
 64721  					return err
 64722  				}
 64723  				d2lstp.Server = server
 64724  			}
 64725  		case "database":
 64726  			if v != nil {
 64727  				var databaseVar interface{}
 64728  				err = json.Unmarshal(*v, &databaseVar)
 64729  				if err != nil {
 64730  					return err
 64731  				}
 64732  				d2lstp.Database = databaseVar
 64733  			}
 64734  		case "authenticationType":
 64735  			if v != nil {
 64736  				var authenticationType Db2AuthenticationType
 64737  				err = json.Unmarshal(*v, &authenticationType)
 64738  				if err != nil {
 64739  					return err
 64740  				}
 64741  				d2lstp.AuthenticationType = authenticationType
 64742  			}
 64743  		case "username":
 64744  			if v != nil {
 64745  				var username interface{}
 64746  				err = json.Unmarshal(*v, &username)
 64747  				if err != nil {
 64748  					return err
 64749  				}
 64750  				d2lstp.Username = username
 64751  			}
 64752  		case "password":
 64753  			if v != nil {
 64754  				password, err := unmarshalBasicSecretBase(*v)
 64755  				if err != nil {
 64756  					return err
 64757  				}
 64758  				d2lstp.Password = password
 64759  			}
 64760  		case "packageCollection":
 64761  			if v != nil {
 64762  				var packageCollection interface{}
 64763  				err = json.Unmarshal(*v, &packageCollection)
 64764  				if err != nil {
 64765  					return err
 64766  				}
 64767  				d2lstp.PackageCollection = packageCollection
 64768  			}
 64769  		case "certificateCommonName":
 64770  			if v != nil {
 64771  				var certificateCommonName interface{}
 64772  				err = json.Unmarshal(*v, &certificateCommonName)
 64773  				if err != nil {
 64774  					return err
 64775  				}
 64776  				d2lstp.CertificateCommonName = certificateCommonName
 64777  			}
 64778  		case "encryptedCredential":
 64779  			if v != nil {
 64780  				var encryptedCredential interface{}
 64781  				err = json.Unmarshal(*v, &encryptedCredential)
 64782  				if err != nil {
 64783  					return err
 64784  				}
 64785  				d2lstp.EncryptedCredential = encryptedCredential
 64786  			}
 64787  		}
 64788  	}
 64789  
 64790  	return nil
 64791  }
 64792  
 64793  // Db2Source a copy activity source for Db2 databases.
 64794  type Db2Source struct {
 64795  	// Query - Database query. Type: string (or Expression with resultType string).
 64796  	Query interface{} `json:"query,omitempty"`
 64797  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 64798  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 64799  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 64800  	AdditionalProperties map[string]interface{} `json:""`
 64801  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 64802  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 64803  	// 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])).
 64804  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 64805  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 64806  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 64807  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 64808  	Type TypeBasicCopySource `json:"type,omitempty"`
 64809  }
 64810  
 64811  // MarshalJSON is the custom marshaler for Db2Source.
 64812  func (d2s Db2Source) MarshalJSON() ([]byte, error) {
 64813  	d2s.Type = TypeDb2Source
 64814  	objectMap := make(map[string]interface{})
 64815  	if d2s.Query != nil {
 64816  		objectMap["query"] = d2s.Query
 64817  	}
 64818  	if d2s.QueryTimeout != nil {
 64819  		objectMap["queryTimeout"] = d2s.QueryTimeout
 64820  	}
 64821  	if d2s.SourceRetryCount != nil {
 64822  		objectMap["sourceRetryCount"] = d2s.SourceRetryCount
 64823  	}
 64824  	if d2s.SourceRetryWait != nil {
 64825  		objectMap["sourceRetryWait"] = d2s.SourceRetryWait
 64826  	}
 64827  	if d2s.MaxConcurrentConnections != nil {
 64828  		objectMap["maxConcurrentConnections"] = d2s.MaxConcurrentConnections
 64829  	}
 64830  	if d2s.Type != "" {
 64831  		objectMap["type"] = d2s.Type
 64832  	}
 64833  	for k, v := range d2s.AdditionalProperties {
 64834  		objectMap[k] = v
 64835  	}
 64836  	return json.Marshal(objectMap)
 64837  }
 64838  
 64839  // AsHTTPSource is the BasicCopySource implementation for Db2Source.
 64840  func (d2s Db2Source) AsHTTPSource() (*HTTPSource, bool) {
 64841  	return nil, false
 64842  }
 64843  
 64844  // AsAzureBlobFSSource is the BasicCopySource implementation for Db2Source.
 64845  func (d2s Db2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 64846  	return nil, false
 64847  }
 64848  
 64849  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for Db2Source.
 64850  func (d2s Db2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 64851  	return nil, false
 64852  }
 64853  
 64854  // AsOffice365Source is the BasicCopySource implementation for Db2Source.
 64855  func (d2s Db2Source) AsOffice365Source() (*Office365Source, bool) {
 64856  	return nil, false
 64857  }
 64858  
 64859  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Db2Source.
 64860  func (d2s Db2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 64861  	return nil, false
 64862  }
 64863  
 64864  // AsMongoDbV2Source is the BasicCopySource implementation for Db2Source.
 64865  func (d2s Db2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 64866  	return nil, false
 64867  }
 64868  
 64869  // AsMongoDbSource is the BasicCopySource implementation for Db2Source.
 64870  func (d2s Db2Source) AsMongoDbSource() (*MongoDbSource, bool) {
 64871  	return nil, false
 64872  }
 64873  
 64874  // AsWebSource is the BasicCopySource implementation for Db2Source.
 64875  func (d2s Db2Source) AsWebSource() (*WebSource, bool) {
 64876  	return nil, false
 64877  }
 64878  
 64879  // AsOracleSource is the BasicCopySource implementation for Db2Source.
 64880  func (d2s Db2Source) AsOracleSource() (*OracleSource, bool) {
 64881  	return nil, false
 64882  }
 64883  
 64884  // AsAzureDataExplorerSource is the BasicCopySource implementation for Db2Source.
 64885  func (d2s Db2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 64886  	return nil, false
 64887  }
 64888  
 64889  // AsHdfsSource is the BasicCopySource implementation for Db2Source.
 64890  func (d2s Db2Source) AsHdfsSource() (*HdfsSource, bool) {
 64891  	return nil, false
 64892  }
 64893  
 64894  // AsFileSystemSource is the BasicCopySource implementation for Db2Source.
 64895  func (d2s Db2Source) AsFileSystemSource() (*FileSystemSource, bool) {
 64896  	return nil, false
 64897  }
 64898  
 64899  // AsRestSource is the BasicCopySource implementation for Db2Source.
 64900  func (d2s Db2Source) AsRestSource() (*RestSource, bool) {
 64901  	return nil, false
 64902  }
 64903  
 64904  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for Db2Source.
 64905  func (d2s Db2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 64906  	return nil, false
 64907  }
 64908  
 64909  // AsODataSource is the BasicCopySource implementation for Db2Source.
 64910  func (d2s Db2Source) AsODataSource() (*ODataSource, bool) {
 64911  	return nil, false
 64912  }
 64913  
 64914  // AsMicrosoftAccessSource is the BasicCopySource implementation for Db2Source.
 64915  func (d2s Db2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 64916  	return nil, false
 64917  }
 64918  
 64919  // AsRelationalSource is the BasicCopySource implementation for Db2Source.
 64920  func (d2s Db2Source) AsRelationalSource() (*RelationalSource, bool) {
 64921  	return nil, false
 64922  }
 64923  
 64924  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Db2Source.
 64925  func (d2s Db2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 64926  	return nil, false
 64927  }
 64928  
 64929  // AsDynamicsCrmSource is the BasicCopySource implementation for Db2Source.
 64930  func (d2s Db2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 64931  	return nil, false
 64932  }
 64933  
 64934  // AsDynamicsSource is the BasicCopySource implementation for Db2Source.
 64935  func (d2s Db2Source) AsDynamicsSource() (*DynamicsSource, bool) {
 64936  	return nil, false
 64937  }
 64938  
 64939  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for Db2Source.
 64940  func (d2s Db2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 64941  	return nil, false
 64942  }
 64943  
 64944  // AsDocumentDbCollectionSource is the BasicCopySource implementation for Db2Source.
 64945  func (d2s Db2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 64946  	return nil, false
 64947  }
 64948  
 64949  // AsBlobSource is the BasicCopySource implementation for Db2Source.
 64950  func (d2s Db2Source) AsBlobSource() (*BlobSource, bool) {
 64951  	return nil, false
 64952  }
 64953  
 64954  // AsAmazonRedshiftSource is the BasicCopySource implementation for Db2Source.
 64955  func (d2s Db2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 64956  	return nil, false
 64957  }
 64958  
 64959  // AsGoogleAdWordsSource is the BasicCopySource implementation for Db2Source.
 64960  func (d2s Db2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 64961  	return nil, false
 64962  }
 64963  
 64964  // AsOracleServiceCloudSource is the BasicCopySource implementation for Db2Source.
 64965  func (d2s Db2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 64966  	return nil, false
 64967  }
 64968  
 64969  // AsDynamicsAXSource is the BasicCopySource implementation for Db2Source.
 64970  func (d2s Db2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 64971  	return nil, false
 64972  }
 64973  
 64974  // AsResponsysSource is the BasicCopySource implementation for Db2Source.
 64975  func (d2s Db2Source) AsResponsysSource() (*ResponsysSource, bool) {
 64976  	return nil, false
 64977  }
 64978  
 64979  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Db2Source.
 64980  func (d2s Db2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 64981  	return nil, false
 64982  }
 64983  
 64984  // AsVerticaSource is the BasicCopySource implementation for Db2Source.
 64985  func (d2s Db2Source) AsVerticaSource() (*VerticaSource, bool) {
 64986  	return nil, false
 64987  }
 64988  
 64989  // AsNetezzaSource is the BasicCopySource implementation for Db2Source.
 64990  func (d2s Db2Source) AsNetezzaSource() (*NetezzaSource, bool) {
 64991  	return nil, false
 64992  }
 64993  
 64994  // AsZohoSource is the BasicCopySource implementation for Db2Source.
 64995  func (d2s Db2Source) AsZohoSource() (*ZohoSource, bool) {
 64996  	return nil, false
 64997  }
 64998  
 64999  // AsXeroSource is the BasicCopySource implementation for Db2Source.
 65000  func (d2s Db2Source) AsXeroSource() (*XeroSource, bool) {
 65001  	return nil, false
 65002  }
 65003  
 65004  // AsSquareSource is the BasicCopySource implementation for Db2Source.
 65005  func (d2s Db2Source) AsSquareSource() (*SquareSource, bool) {
 65006  	return nil, false
 65007  }
 65008  
 65009  // AsSparkSource is the BasicCopySource implementation for Db2Source.
 65010  func (d2s Db2Source) AsSparkSource() (*SparkSource, bool) {
 65011  	return nil, false
 65012  }
 65013  
 65014  // AsShopifySource is the BasicCopySource implementation for Db2Source.
 65015  func (d2s Db2Source) AsShopifySource() (*ShopifySource, bool) {
 65016  	return nil, false
 65017  }
 65018  
 65019  // AsServiceNowSource is the BasicCopySource implementation for Db2Source.
 65020  func (d2s Db2Source) AsServiceNowSource() (*ServiceNowSource, bool) {
 65021  	return nil, false
 65022  }
 65023  
 65024  // AsQuickBooksSource is the BasicCopySource implementation for Db2Source.
 65025  func (d2s Db2Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
 65026  	return nil, false
 65027  }
 65028  
 65029  // AsPrestoSource is the BasicCopySource implementation for Db2Source.
 65030  func (d2s Db2Source) AsPrestoSource() (*PrestoSource, bool) {
 65031  	return nil, false
 65032  }
 65033  
 65034  // AsPhoenixSource is the BasicCopySource implementation for Db2Source.
 65035  func (d2s Db2Source) AsPhoenixSource() (*PhoenixSource, bool) {
 65036  	return nil, false
 65037  }
 65038  
 65039  // AsPaypalSource is the BasicCopySource implementation for Db2Source.
 65040  func (d2s Db2Source) AsPaypalSource() (*PaypalSource, bool) {
 65041  	return nil, false
 65042  }
 65043  
 65044  // AsMarketoSource is the BasicCopySource implementation for Db2Source.
 65045  func (d2s Db2Source) AsMarketoSource() (*MarketoSource, bool) {
 65046  	return nil, false
 65047  }
 65048  
 65049  // AsAzureMariaDBSource is the BasicCopySource implementation for Db2Source.
 65050  func (d2s Db2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 65051  	return nil, false
 65052  }
 65053  
 65054  // AsMariaDBSource is the BasicCopySource implementation for Db2Source.
 65055  func (d2s Db2Source) AsMariaDBSource() (*MariaDBSource, bool) {
 65056  	return nil, false
 65057  }
 65058  
 65059  // AsMagentoSource is the BasicCopySource implementation for Db2Source.
 65060  func (d2s Db2Source) AsMagentoSource() (*MagentoSource, bool) {
 65061  	return nil, false
 65062  }
 65063  
 65064  // AsJiraSource is the BasicCopySource implementation for Db2Source.
 65065  func (d2s Db2Source) AsJiraSource() (*JiraSource, bool) {
 65066  	return nil, false
 65067  }
 65068  
 65069  // AsImpalaSource is the BasicCopySource implementation for Db2Source.
 65070  func (d2s Db2Source) AsImpalaSource() (*ImpalaSource, bool) {
 65071  	return nil, false
 65072  }
 65073  
 65074  // AsHubspotSource is the BasicCopySource implementation for Db2Source.
 65075  func (d2s Db2Source) AsHubspotSource() (*HubspotSource, bool) {
 65076  	return nil, false
 65077  }
 65078  
 65079  // AsHiveSource is the BasicCopySource implementation for Db2Source.
 65080  func (d2s Db2Source) AsHiveSource() (*HiveSource, bool) {
 65081  	return nil, false
 65082  }
 65083  
 65084  // AsHBaseSource is the BasicCopySource implementation for Db2Source.
 65085  func (d2s Db2Source) AsHBaseSource() (*HBaseSource, bool) {
 65086  	return nil, false
 65087  }
 65088  
 65089  // AsGreenplumSource is the BasicCopySource implementation for Db2Source.
 65090  func (d2s Db2Source) AsGreenplumSource() (*GreenplumSource, bool) {
 65091  	return nil, false
 65092  }
 65093  
 65094  // AsGoogleBigQuerySource is the BasicCopySource implementation for Db2Source.
 65095  func (d2s Db2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 65096  	return nil, false
 65097  }
 65098  
 65099  // AsEloquaSource is the BasicCopySource implementation for Db2Source.
 65100  func (d2s Db2Source) AsEloquaSource() (*EloquaSource, bool) {
 65101  	return nil, false
 65102  }
 65103  
 65104  // AsDrillSource is the BasicCopySource implementation for Db2Source.
 65105  func (d2s Db2Source) AsDrillSource() (*DrillSource, bool) {
 65106  	return nil, false
 65107  }
 65108  
 65109  // AsCouchbaseSource is the BasicCopySource implementation for Db2Source.
 65110  func (d2s Db2Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
 65111  	return nil, false
 65112  }
 65113  
 65114  // AsConcurSource is the BasicCopySource implementation for Db2Source.
 65115  func (d2s Db2Source) AsConcurSource() (*ConcurSource, bool) {
 65116  	return nil, false
 65117  }
 65118  
 65119  // AsAzurePostgreSQLSource is the BasicCopySource implementation for Db2Source.
 65120  func (d2s Db2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 65121  	return nil, false
 65122  }
 65123  
 65124  // AsAmazonMWSSource is the BasicCopySource implementation for Db2Source.
 65125  func (d2s Db2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 65126  	return nil, false
 65127  }
 65128  
 65129  // AsCassandraSource is the BasicCopySource implementation for Db2Source.
 65130  func (d2s Db2Source) AsCassandraSource() (*CassandraSource, bool) {
 65131  	return nil, false
 65132  }
 65133  
 65134  // AsTeradataSource is the BasicCopySource implementation for Db2Source.
 65135  func (d2s Db2Source) AsTeradataSource() (*TeradataSource, bool) {
 65136  	return nil, false
 65137  }
 65138  
 65139  // AsAzureMySQLSource is the BasicCopySource implementation for Db2Source.
 65140  func (d2s Db2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 65141  	return nil, false
 65142  }
 65143  
 65144  // AsSQLDWSource is the BasicCopySource implementation for Db2Source.
 65145  func (d2s Db2Source) AsSQLDWSource() (*SQLDWSource, bool) {
 65146  	return nil, false
 65147  }
 65148  
 65149  // AsSQLMISource is the BasicCopySource implementation for Db2Source.
 65150  func (d2s Db2Source) AsSQLMISource() (*SQLMISource, bool) {
 65151  	return nil, false
 65152  }
 65153  
 65154  // AsAzureSQLSource is the BasicCopySource implementation for Db2Source.
 65155  func (d2s Db2Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
 65156  	return nil, false
 65157  }
 65158  
 65159  // AsSQLServerSource is the BasicCopySource implementation for Db2Source.
 65160  func (d2s Db2Source) AsSQLServerSource() (*SQLServerSource, bool) {
 65161  	return nil, false
 65162  }
 65163  
 65164  // AsSQLSource is the BasicCopySource implementation for Db2Source.
 65165  func (d2s Db2Source) AsSQLSource() (*SQLSource, bool) {
 65166  	return nil, false
 65167  }
 65168  
 65169  // AsSapTableSource is the BasicCopySource implementation for Db2Source.
 65170  func (d2s Db2Source) AsSapTableSource() (*SapTableSource, bool) {
 65171  	return nil, false
 65172  }
 65173  
 65174  // AsSapOpenHubSource is the BasicCopySource implementation for Db2Source.
 65175  func (d2s Db2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 65176  	return nil, false
 65177  }
 65178  
 65179  // AsSapHanaSource is the BasicCopySource implementation for Db2Source.
 65180  func (d2s Db2Source) AsSapHanaSource() (*SapHanaSource, bool) {
 65181  	return nil, false
 65182  }
 65183  
 65184  // AsSapEccSource is the BasicCopySource implementation for Db2Source.
 65185  func (d2s Db2Source) AsSapEccSource() (*SapEccSource, bool) {
 65186  	return nil, false
 65187  }
 65188  
 65189  // AsSapCloudForCustomerSource is the BasicCopySource implementation for Db2Source.
 65190  func (d2s Db2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 65191  	return nil, false
 65192  }
 65193  
 65194  // AsSalesforceSource is the BasicCopySource implementation for Db2Source.
 65195  func (d2s Db2Source) AsSalesforceSource() (*SalesforceSource, bool) {
 65196  	return nil, false
 65197  }
 65198  
 65199  // AsSapBwSource is the BasicCopySource implementation for Db2Source.
 65200  func (d2s Db2Source) AsSapBwSource() (*SapBwSource, bool) {
 65201  	return nil, false
 65202  }
 65203  
 65204  // AsSybaseSource is the BasicCopySource implementation for Db2Source.
 65205  func (d2s Db2Source) AsSybaseSource() (*SybaseSource, bool) {
 65206  	return nil, false
 65207  }
 65208  
 65209  // AsPostgreSQLSource is the BasicCopySource implementation for Db2Source.
 65210  func (d2s Db2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 65211  	return nil, false
 65212  }
 65213  
 65214  // AsMySQLSource is the BasicCopySource implementation for Db2Source.
 65215  func (d2s Db2Source) AsMySQLSource() (*MySQLSource, bool) {
 65216  	return nil, false
 65217  }
 65218  
 65219  // AsOdbcSource is the BasicCopySource implementation for Db2Source.
 65220  func (d2s Db2Source) AsOdbcSource() (*OdbcSource, bool) {
 65221  	return nil, false
 65222  }
 65223  
 65224  // AsDb2Source is the BasicCopySource implementation for Db2Source.
 65225  func (d2s Db2Source) AsDb2Source() (*Db2Source, bool) {
 65226  	return &d2s, true
 65227  }
 65228  
 65229  // AsInformixSource is the BasicCopySource implementation for Db2Source.
 65230  func (d2s Db2Source) AsInformixSource() (*InformixSource, bool) {
 65231  	return nil, false
 65232  }
 65233  
 65234  // AsAzureTableSource is the BasicCopySource implementation for Db2Source.
 65235  func (d2s Db2Source) AsAzureTableSource() (*AzureTableSource, bool) {
 65236  	return nil, false
 65237  }
 65238  
 65239  // AsTabularSource is the BasicCopySource implementation for Db2Source.
 65240  func (d2s Db2Source) AsTabularSource() (*TabularSource, bool) {
 65241  	return nil, false
 65242  }
 65243  
 65244  // AsBasicTabularSource is the BasicCopySource implementation for Db2Source.
 65245  func (d2s Db2Source) AsBasicTabularSource() (BasicTabularSource, bool) {
 65246  	return &d2s, true
 65247  }
 65248  
 65249  // AsBinarySource is the BasicCopySource implementation for Db2Source.
 65250  func (d2s Db2Source) AsBinarySource() (*BinarySource, bool) {
 65251  	return nil, false
 65252  }
 65253  
 65254  // AsOrcSource is the BasicCopySource implementation for Db2Source.
 65255  func (d2s Db2Source) AsOrcSource() (*OrcSource, bool) {
 65256  	return nil, false
 65257  }
 65258  
 65259  // AsJSONSource is the BasicCopySource implementation for Db2Source.
 65260  func (d2s Db2Source) AsJSONSource() (*JSONSource, bool) {
 65261  	return nil, false
 65262  }
 65263  
 65264  // AsDelimitedTextSource is the BasicCopySource implementation for Db2Source.
 65265  func (d2s Db2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 65266  	return nil, false
 65267  }
 65268  
 65269  // AsParquetSource is the BasicCopySource implementation for Db2Source.
 65270  func (d2s Db2Source) AsParquetSource() (*ParquetSource, bool) {
 65271  	return nil, false
 65272  }
 65273  
 65274  // AsAvroSource is the BasicCopySource implementation for Db2Source.
 65275  func (d2s Db2Source) AsAvroSource() (*AvroSource, bool) {
 65276  	return nil, false
 65277  }
 65278  
 65279  // AsCopySource is the BasicCopySource implementation for Db2Source.
 65280  func (d2s Db2Source) AsCopySource() (*CopySource, bool) {
 65281  	return nil, false
 65282  }
 65283  
 65284  // AsBasicCopySource is the BasicCopySource implementation for Db2Source.
 65285  func (d2s Db2Source) AsBasicCopySource() (BasicCopySource, bool) {
 65286  	return &d2s, true
 65287  }
 65288  
 65289  // UnmarshalJSON is the custom unmarshaler for Db2Source struct.
 65290  func (d2s *Db2Source) UnmarshalJSON(body []byte) error {
 65291  	var m map[string]*json.RawMessage
 65292  	err := json.Unmarshal(body, &m)
 65293  	if err != nil {
 65294  		return err
 65295  	}
 65296  	for k, v := range m {
 65297  		switch k {
 65298  		case "query":
 65299  			if v != nil {
 65300  				var query interface{}
 65301  				err = json.Unmarshal(*v, &query)
 65302  				if err != nil {
 65303  					return err
 65304  				}
 65305  				d2s.Query = query
 65306  			}
 65307  		case "queryTimeout":
 65308  			if v != nil {
 65309  				var queryTimeout interface{}
 65310  				err = json.Unmarshal(*v, &queryTimeout)
 65311  				if err != nil {
 65312  					return err
 65313  				}
 65314  				d2s.QueryTimeout = queryTimeout
 65315  			}
 65316  		default:
 65317  			if v != nil {
 65318  				var additionalProperties interface{}
 65319  				err = json.Unmarshal(*v, &additionalProperties)
 65320  				if err != nil {
 65321  					return err
 65322  				}
 65323  				if d2s.AdditionalProperties == nil {
 65324  					d2s.AdditionalProperties = make(map[string]interface{})
 65325  				}
 65326  				d2s.AdditionalProperties[k] = additionalProperties
 65327  			}
 65328  		case "sourceRetryCount":
 65329  			if v != nil {
 65330  				var sourceRetryCount interface{}
 65331  				err = json.Unmarshal(*v, &sourceRetryCount)
 65332  				if err != nil {
 65333  					return err
 65334  				}
 65335  				d2s.SourceRetryCount = sourceRetryCount
 65336  			}
 65337  		case "sourceRetryWait":
 65338  			if v != nil {
 65339  				var sourceRetryWait interface{}
 65340  				err = json.Unmarshal(*v, &sourceRetryWait)
 65341  				if err != nil {
 65342  					return err
 65343  				}
 65344  				d2s.SourceRetryWait = sourceRetryWait
 65345  			}
 65346  		case "maxConcurrentConnections":
 65347  			if v != nil {
 65348  				var maxConcurrentConnections interface{}
 65349  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 65350  				if err != nil {
 65351  					return err
 65352  				}
 65353  				d2s.MaxConcurrentConnections = maxConcurrentConnections
 65354  			}
 65355  		case "type":
 65356  			if v != nil {
 65357  				var typeVar TypeBasicCopySource
 65358  				err = json.Unmarshal(*v, &typeVar)
 65359  				if err != nil {
 65360  					return err
 65361  				}
 65362  				d2s.Type = typeVar
 65363  			}
 65364  		}
 65365  	}
 65366  
 65367  	return nil
 65368  }
 65369  
 65370  // Db2TableDataset the Db2 table dataset.
 65371  type Db2TableDataset struct {
 65372  	// Db2TableDatasetTypeProperties - Db2 table dataset properties.
 65373  	*Db2TableDatasetTypeProperties `json:"typeProperties,omitempty"`
 65374  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 65375  	AdditionalProperties map[string]interface{} `json:""`
 65376  	// Description - Dataset description.
 65377  	Description *string `json:"description,omitempty"`
 65378  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 65379  	Structure interface{} `json:"structure,omitempty"`
 65380  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 65381  	Schema interface{} `json:"schema,omitempty"`
 65382  	// LinkedServiceName - Linked service reference.
 65383  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 65384  	// Parameters - Parameters for dataset.
 65385  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 65386  	// Annotations - List of tags that can be used for describing the Dataset.
 65387  	Annotations *[]interface{} `json:"annotations,omitempty"`
 65388  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 65389  	Folder *DatasetFolder `json:"folder,omitempty"`
 65390  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 65391  	Type TypeBasicDataset `json:"type,omitempty"`
 65392  }
 65393  
 65394  // MarshalJSON is the custom marshaler for Db2TableDataset.
 65395  func (d2td Db2TableDataset) MarshalJSON() ([]byte, error) {
 65396  	d2td.Type = TypeDb2Table
 65397  	objectMap := make(map[string]interface{})
 65398  	if d2td.Db2TableDatasetTypeProperties != nil {
 65399  		objectMap["typeProperties"] = d2td.Db2TableDatasetTypeProperties
 65400  	}
 65401  	if d2td.Description != nil {
 65402  		objectMap["description"] = d2td.Description
 65403  	}
 65404  	if d2td.Structure != nil {
 65405  		objectMap["structure"] = d2td.Structure
 65406  	}
 65407  	if d2td.Schema != nil {
 65408  		objectMap["schema"] = d2td.Schema
 65409  	}
 65410  	if d2td.LinkedServiceName != nil {
 65411  		objectMap["linkedServiceName"] = d2td.LinkedServiceName
 65412  	}
 65413  	if d2td.Parameters != nil {
 65414  		objectMap["parameters"] = d2td.Parameters
 65415  	}
 65416  	if d2td.Annotations != nil {
 65417  		objectMap["annotations"] = d2td.Annotations
 65418  	}
 65419  	if d2td.Folder != nil {
 65420  		objectMap["folder"] = d2td.Folder
 65421  	}
 65422  	if d2td.Type != "" {
 65423  		objectMap["type"] = d2td.Type
 65424  	}
 65425  	for k, v := range d2td.AdditionalProperties {
 65426  		objectMap[k] = v
 65427  	}
 65428  	return json.Marshal(objectMap)
 65429  }
 65430  
 65431  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65432  func (d2td Db2TableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 65433  	return nil, false
 65434  }
 65435  
 65436  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for Db2TableDataset.
 65437  func (d2td Db2TableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 65438  	return nil, false
 65439  }
 65440  
 65441  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65442  func (d2td Db2TableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 65443  	return nil, false
 65444  }
 65445  
 65446  // AsDynamicsAXResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65447  func (d2td Db2TableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 65448  	return nil, false
 65449  }
 65450  
 65451  // AsResponsysObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65452  func (d2td Db2TableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 65453  	return nil, false
 65454  }
 65455  
 65456  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65457  func (d2td Db2TableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 65458  	return nil, false
 65459  }
 65460  
 65461  // AsVerticaTableDataset is the BasicDataset implementation for Db2TableDataset.
 65462  func (d2td Db2TableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 65463  	return nil, false
 65464  }
 65465  
 65466  // AsNetezzaTableDataset is the BasicDataset implementation for Db2TableDataset.
 65467  func (d2td Db2TableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 65468  	return nil, false
 65469  }
 65470  
 65471  // AsZohoObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65472  func (d2td Db2TableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 65473  	return nil, false
 65474  }
 65475  
 65476  // AsXeroObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65477  func (d2td Db2TableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 65478  	return nil, false
 65479  }
 65480  
 65481  // AsSquareObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65482  func (d2td Db2TableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 65483  	return nil, false
 65484  }
 65485  
 65486  // AsSparkObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65487  func (d2td Db2TableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 65488  	return nil, false
 65489  }
 65490  
 65491  // AsShopifyObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65492  func (d2td Db2TableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 65493  	return nil, false
 65494  }
 65495  
 65496  // AsServiceNowObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65497  func (d2td Db2TableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 65498  	return nil, false
 65499  }
 65500  
 65501  // AsQuickBooksObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65502  func (d2td Db2TableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 65503  	return nil, false
 65504  }
 65505  
 65506  // AsPrestoObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65507  func (d2td Db2TableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 65508  	return nil, false
 65509  }
 65510  
 65511  // AsPhoenixObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65512  func (d2td Db2TableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 65513  	return nil, false
 65514  }
 65515  
 65516  // AsPaypalObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65517  func (d2td Db2TableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 65518  	return nil, false
 65519  }
 65520  
 65521  // AsMarketoObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65522  func (d2td Db2TableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 65523  	return nil, false
 65524  }
 65525  
 65526  // AsAzureMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset.
 65527  func (d2td Db2TableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 65528  	return nil, false
 65529  }
 65530  
 65531  // AsMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset.
 65532  func (d2td Db2TableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 65533  	return nil, false
 65534  }
 65535  
 65536  // AsMagentoObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65537  func (d2td Db2TableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 65538  	return nil, false
 65539  }
 65540  
 65541  // AsJiraObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65542  func (d2td Db2TableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 65543  	return nil, false
 65544  }
 65545  
 65546  // AsImpalaObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65547  func (d2td Db2TableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 65548  	return nil, false
 65549  }
 65550  
 65551  // AsHubspotObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65552  func (d2td Db2TableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 65553  	return nil, false
 65554  }
 65555  
 65556  // AsHiveObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65557  func (d2td Db2TableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 65558  	return nil, false
 65559  }
 65560  
 65561  // AsHBaseObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65562  func (d2td Db2TableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 65563  	return nil, false
 65564  }
 65565  
 65566  // AsGreenplumTableDataset is the BasicDataset implementation for Db2TableDataset.
 65567  func (d2td Db2TableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 65568  	return nil, false
 65569  }
 65570  
 65571  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65572  func (d2td Db2TableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 65573  	return nil, false
 65574  }
 65575  
 65576  // AsEloquaObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65577  func (d2td Db2TableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 65578  	return nil, false
 65579  }
 65580  
 65581  // AsDrillTableDataset is the BasicDataset implementation for Db2TableDataset.
 65582  func (d2td Db2TableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 65583  	return nil, false
 65584  }
 65585  
 65586  // AsCouchbaseTableDataset is the BasicDataset implementation for Db2TableDataset.
 65587  func (d2td Db2TableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 65588  	return nil, false
 65589  }
 65590  
 65591  // AsConcurObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65592  func (d2td Db2TableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 65593  	return nil, false
 65594  }
 65595  
 65596  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset.
 65597  func (d2td Db2TableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 65598  	return nil, false
 65599  }
 65600  
 65601  // AsAmazonMWSObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65602  func (d2td Db2TableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 65603  	return nil, false
 65604  }
 65605  
 65606  // AsAzureSearchIndexDataset is the BasicDataset implementation for Db2TableDataset.
 65607  func (d2td Db2TableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 65608  	return nil, false
 65609  }
 65610  
 65611  // AsWebTableDataset is the BasicDataset implementation for Db2TableDataset.
 65612  func (d2td Db2TableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 65613  	return nil, false
 65614  }
 65615  
 65616  // AsSapTableResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65617  func (d2td Db2TableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 65618  	return nil, false
 65619  }
 65620  
 65621  // AsRestResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65622  func (d2td Db2TableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 65623  	return nil, false
 65624  }
 65625  
 65626  // AsSQLServerTableDataset is the BasicDataset implementation for Db2TableDataset.
 65627  func (d2td Db2TableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 65628  	return nil, false
 65629  }
 65630  
 65631  // AsSapOpenHubTableDataset is the BasicDataset implementation for Db2TableDataset.
 65632  func (d2td Db2TableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 65633  	return nil, false
 65634  }
 65635  
 65636  // AsSapHanaTableDataset is the BasicDataset implementation for Db2TableDataset.
 65637  func (d2td Db2TableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 65638  	return nil, false
 65639  }
 65640  
 65641  // AsSapEccResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65642  func (d2td Db2TableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 65643  	return nil, false
 65644  }
 65645  
 65646  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65647  func (d2td Db2TableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 65648  	return nil, false
 65649  }
 65650  
 65651  // AsSapBwCubeDataset is the BasicDataset implementation for Db2TableDataset.
 65652  func (d2td Db2TableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 65653  	return nil, false
 65654  }
 65655  
 65656  // AsSybaseTableDataset is the BasicDataset implementation for Db2TableDataset.
 65657  func (d2td Db2TableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 65658  	return nil, false
 65659  }
 65660  
 65661  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65662  func (d2td Db2TableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 65663  	return nil, false
 65664  }
 65665  
 65666  // AsSalesforceObjectDataset is the BasicDataset implementation for Db2TableDataset.
 65667  func (d2td Db2TableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 65668  	return nil, false
 65669  }
 65670  
 65671  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for Db2TableDataset.
 65672  func (d2td Db2TableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 65673  	return nil, false
 65674  }
 65675  
 65676  // AsPostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset.
 65677  func (d2td Db2TableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 65678  	return nil, false
 65679  }
 65680  
 65681  // AsMySQLTableDataset is the BasicDataset implementation for Db2TableDataset.
 65682  func (d2td Db2TableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 65683  	return nil, false
 65684  }
 65685  
 65686  // AsOdbcTableDataset is the BasicDataset implementation for Db2TableDataset.
 65687  func (d2td Db2TableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 65688  	return nil, false
 65689  }
 65690  
 65691  // AsInformixTableDataset is the BasicDataset implementation for Db2TableDataset.
 65692  func (d2td Db2TableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 65693  	return nil, false
 65694  }
 65695  
 65696  // AsRelationalTableDataset is the BasicDataset implementation for Db2TableDataset.
 65697  func (d2td Db2TableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 65698  	return nil, false
 65699  }
 65700  
 65701  // AsDb2TableDataset is the BasicDataset implementation for Db2TableDataset.
 65702  func (d2td Db2TableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 65703  	return &d2td, true
 65704  }
 65705  
 65706  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for Db2TableDataset.
 65707  func (d2td Db2TableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 65708  	return nil, false
 65709  }
 65710  
 65711  // AsAzureMySQLTableDataset is the BasicDataset implementation for Db2TableDataset.
 65712  func (d2td Db2TableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 65713  	return nil, false
 65714  }
 65715  
 65716  // AsTeradataTableDataset is the BasicDataset implementation for Db2TableDataset.
 65717  func (d2td Db2TableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 65718  	return nil, false
 65719  }
 65720  
 65721  // AsOracleTableDataset is the BasicDataset implementation for Db2TableDataset.
 65722  func (d2td Db2TableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 65723  	return nil, false
 65724  }
 65725  
 65726  // AsODataResourceDataset is the BasicDataset implementation for Db2TableDataset.
 65727  func (d2td Db2TableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 65728  	return nil, false
 65729  }
 65730  
 65731  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Db2TableDataset.
 65732  func (d2td Db2TableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 65733  	return nil, false
 65734  }
 65735  
 65736  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for Db2TableDataset.
 65737  func (d2td Db2TableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 65738  	return nil, false
 65739  }
 65740  
 65741  // AsMongoDbCollectionDataset is the BasicDataset implementation for Db2TableDataset.
 65742  func (d2td Db2TableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 65743  	return nil, false
 65744  }
 65745  
 65746  // AsOffice365Dataset is the BasicDataset implementation for Db2TableDataset.
 65747  func (d2td Db2TableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 65748  	return nil, false
 65749  }
 65750  
 65751  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Db2TableDataset.
 65752  func (d2td Db2TableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 65753  	return nil, false
 65754  }
 65755  
 65756  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for Db2TableDataset.
 65757  func (d2td Db2TableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 65758  	return nil, false
 65759  }
 65760  
 65761  // AsDynamicsEntityDataset is the BasicDataset implementation for Db2TableDataset.
 65762  func (d2td Db2TableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 65763  	return nil, false
 65764  }
 65765  
 65766  // AsDocumentDbCollectionDataset is the BasicDataset implementation for Db2TableDataset.
 65767  func (d2td Db2TableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 65768  	return nil, false
 65769  }
 65770  
 65771  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Db2TableDataset.
 65772  func (d2td Db2TableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 65773  	return nil, false
 65774  }
 65775  
 65776  // AsCustomDataset is the BasicDataset implementation for Db2TableDataset.
 65777  func (d2td Db2TableDataset) AsCustomDataset() (*CustomDataset, bool) {
 65778  	return nil, false
 65779  }
 65780  
 65781  // AsCassandraTableDataset is the BasicDataset implementation for Db2TableDataset.
 65782  func (d2td Db2TableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 65783  	return nil, false
 65784  }
 65785  
 65786  // AsAzureSQLDWTableDataset is the BasicDataset implementation for Db2TableDataset.
 65787  func (d2td Db2TableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 65788  	return nil, false
 65789  }
 65790  
 65791  // AsAzureSQLMITableDataset is the BasicDataset implementation for Db2TableDataset.
 65792  func (d2td Db2TableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 65793  	return nil, false
 65794  }
 65795  
 65796  // AsAzureSQLTableDataset is the BasicDataset implementation for Db2TableDataset.
 65797  func (d2td Db2TableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 65798  	return nil, false
 65799  }
 65800  
 65801  // AsAzureTableDataset is the BasicDataset implementation for Db2TableDataset.
 65802  func (d2td Db2TableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 65803  	return nil, false
 65804  }
 65805  
 65806  // AsBinaryDataset is the BasicDataset implementation for Db2TableDataset.
 65807  func (d2td Db2TableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 65808  	return nil, false
 65809  }
 65810  
 65811  // AsOrcDataset is the BasicDataset implementation for Db2TableDataset.
 65812  func (d2td Db2TableDataset) AsOrcDataset() (*OrcDataset, bool) {
 65813  	return nil, false
 65814  }
 65815  
 65816  // AsJSONDataset is the BasicDataset implementation for Db2TableDataset.
 65817  func (d2td Db2TableDataset) AsJSONDataset() (*JSONDataset, bool) {
 65818  	return nil, false
 65819  }
 65820  
 65821  // AsDelimitedTextDataset is the BasicDataset implementation for Db2TableDataset.
 65822  func (d2td Db2TableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 65823  	return nil, false
 65824  }
 65825  
 65826  // AsParquetDataset is the BasicDataset implementation for Db2TableDataset.
 65827  func (d2td Db2TableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 65828  	return nil, false
 65829  }
 65830  
 65831  // AsAvroDataset is the BasicDataset implementation for Db2TableDataset.
 65832  func (d2td Db2TableDataset) AsAvroDataset() (*AvroDataset, bool) {
 65833  	return nil, false
 65834  }
 65835  
 65836  // AsDataset is the BasicDataset implementation for Db2TableDataset.
 65837  func (d2td Db2TableDataset) AsDataset() (*Dataset, bool) {
 65838  	return nil, false
 65839  }
 65840  
 65841  // AsBasicDataset is the BasicDataset implementation for Db2TableDataset.
 65842  func (d2td Db2TableDataset) AsBasicDataset() (BasicDataset, bool) {
 65843  	return &d2td, true
 65844  }
 65845  
 65846  // UnmarshalJSON is the custom unmarshaler for Db2TableDataset struct.
 65847  func (d2td *Db2TableDataset) UnmarshalJSON(body []byte) error {
 65848  	var m map[string]*json.RawMessage
 65849  	err := json.Unmarshal(body, &m)
 65850  	if err != nil {
 65851  		return err
 65852  	}
 65853  	for k, v := range m {
 65854  		switch k {
 65855  		case "typeProperties":
 65856  			if v != nil {
 65857  				var db2TableDatasetTypeProperties Db2TableDatasetTypeProperties
 65858  				err = json.Unmarshal(*v, &db2TableDatasetTypeProperties)
 65859  				if err != nil {
 65860  					return err
 65861  				}
 65862  				d2td.Db2TableDatasetTypeProperties = &db2TableDatasetTypeProperties
 65863  			}
 65864  		default:
 65865  			if v != nil {
 65866  				var additionalProperties interface{}
 65867  				err = json.Unmarshal(*v, &additionalProperties)
 65868  				if err != nil {
 65869  					return err
 65870  				}
 65871  				if d2td.AdditionalProperties == nil {
 65872  					d2td.AdditionalProperties = make(map[string]interface{})
 65873  				}
 65874  				d2td.AdditionalProperties[k] = additionalProperties
 65875  			}
 65876  		case "description":
 65877  			if v != nil {
 65878  				var description string
 65879  				err = json.Unmarshal(*v, &description)
 65880  				if err != nil {
 65881  					return err
 65882  				}
 65883  				d2td.Description = &description
 65884  			}
 65885  		case "structure":
 65886  			if v != nil {
 65887  				var structure interface{}
 65888  				err = json.Unmarshal(*v, &structure)
 65889  				if err != nil {
 65890  					return err
 65891  				}
 65892  				d2td.Structure = structure
 65893  			}
 65894  		case "schema":
 65895  			if v != nil {
 65896  				var schema interface{}
 65897  				err = json.Unmarshal(*v, &schema)
 65898  				if err != nil {
 65899  					return err
 65900  				}
 65901  				d2td.Schema = schema
 65902  			}
 65903  		case "linkedServiceName":
 65904  			if v != nil {
 65905  				var linkedServiceName LinkedServiceReference
 65906  				err = json.Unmarshal(*v, &linkedServiceName)
 65907  				if err != nil {
 65908  					return err
 65909  				}
 65910  				d2td.LinkedServiceName = &linkedServiceName
 65911  			}
 65912  		case "parameters":
 65913  			if v != nil {
 65914  				var parameters map[string]*ParameterSpecification
 65915  				err = json.Unmarshal(*v, &parameters)
 65916  				if err != nil {
 65917  					return err
 65918  				}
 65919  				d2td.Parameters = parameters
 65920  			}
 65921  		case "annotations":
 65922  			if v != nil {
 65923  				var annotations []interface{}
 65924  				err = json.Unmarshal(*v, &annotations)
 65925  				if err != nil {
 65926  					return err
 65927  				}
 65928  				d2td.Annotations = &annotations
 65929  			}
 65930  		case "folder":
 65931  			if v != nil {
 65932  				var folder DatasetFolder
 65933  				err = json.Unmarshal(*v, &folder)
 65934  				if err != nil {
 65935  					return err
 65936  				}
 65937  				d2td.Folder = &folder
 65938  			}
 65939  		case "type":
 65940  			if v != nil {
 65941  				var typeVar TypeBasicDataset
 65942  				err = json.Unmarshal(*v, &typeVar)
 65943  				if err != nil {
 65944  					return err
 65945  				}
 65946  				d2td.Type = typeVar
 65947  			}
 65948  		}
 65949  	}
 65950  
 65951  	return nil
 65952  }
 65953  
 65954  // Db2TableDatasetTypeProperties db2 table dataset properties.
 65955  type Db2TableDatasetTypeProperties struct {
 65956  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 65957  	TableName interface{} `json:"tableName,omitempty"`
 65958  	// Schema - The Db2 schema name. Type: string (or Expression with resultType string).
 65959  	Schema interface{} `json:"schema,omitempty"`
 65960  	// Table - The Db2 table name. Type: string (or Expression with resultType string).
 65961  	Table interface{} `json:"table,omitempty"`
 65962  }
 65963  
 65964  // DeleteActivity delete activity.
 65965  type DeleteActivity struct {
 65966  	// DeleteActivityTypeProperties - Delete activity properties.
 65967  	*DeleteActivityTypeProperties `json:"typeProperties,omitempty"`
 65968  	// LinkedServiceName - Linked service reference.
 65969  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 65970  	// Policy - Activity policy.
 65971  	Policy *ActivityPolicy `json:"policy,omitempty"`
 65972  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 65973  	AdditionalProperties map[string]interface{} `json:""`
 65974  	// Name - Activity name.
 65975  	Name *string `json:"name,omitempty"`
 65976  	// Description - Activity description.
 65977  	Description *string `json:"description,omitempty"`
 65978  	// DependsOn - Activity depends on condition.
 65979  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 65980  	// UserProperties - Activity user properties.
 65981  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 65982  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 65983  	Type TypeBasicActivity `json:"type,omitempty"`
 65984  }
 65985  
 65986  // MarshalJSON is the custom marshaler for DeleteActivity.
 65987  func (da DeleteActivity) MarshalJSON() ([]byte, error) {
 65988  	da.Type = TypeDelete
 65989  	objectMap := make(map[string]interface{})
 65990  	if da.DeleteActivityTypeProperties != nil {
 65991  		objectMap["typeProperties"] = da.DeleteActivityTypeProperties
 65992  	}
 65993  	if da.LinkedServiceName != nil {
 65994  		objectMap["linkedServiceName"] = da.LinkedServiceName
 65995  	}
 65996  	if da.Policy != nil {
 65997  		objectMap["policy"] = da.Policy
 65998  	}
 65999  	if da.Name != nil {
 66000  		objectMap["name"] = da.Name
 66001  	}
 66002  	if da.Description != nil {
 66003  		objectMap["description"] = da.Description
 66004  	}
 66005  	if da.DependsOn != nil {
 66006  		objectMap["dependsOn"] = da.DependsOn
 66007  	}
 66008  	if da.UserProperties != nil {
 66009  		objectMap["userProperties"] = da.UserProperties
 66010  	}
 66011  	if da.Type != "" {
 66012  		objectMap["type"] = da.Type
 66013  	}
 66014  	for k, v := range da.AdditionalProperties {
 66015  		objectMap[k] = v
 66016  	}
 66017  	return json.Marshal(objectMap)
 66018  }
 66019  
 66020  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for DeleteActivity.
 66021  func (da DeleteActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 66022  	return nil, false
 66023  }
 66024  
 66025  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for DeleteActivity.
 66026  func (da DeleteActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 66027  	return nil, false
 66028  }
 66029  
 66030  // AsSynapseNotebookActivity is the BasicActivity implementation for DeleteActivity.
 66031  func (da DeleteActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 66032  	return nil, false
 66033  }
 66034  
 66035  // AsExecuteDataFlowActivity is the BasicActivity implementation for DeleteActivity.
 66036  func (da DeleteActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 66037  	return nil, false
 66038  }
 66039  
 66040  // AsAzureFunctionActivity is the BasicActivity implementation for DeleteActivity.
 66041  func (da DeleteActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 66042  	return nil, false
 66043  }
 66044  
 66045  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for DeleteActivity.
 66046  func (da DeleteActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 66047  	return nil, false
 66048  }
 66049  
 66050  // AsDatabricksSparkJarActivity is the BasicActivity implementation for DeleteActivity.
 66051  func (da DeleteActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 66052  	return nil, false
 66053  }
 66054  
 66055  // AsDatabricksNotebookActivity is the BasicActivity implementation for DeleteActivity.
 66056  func (da DeleteActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 66057  	return nil, false
 66058  }
 66059  
 66060  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DeleteActivity.
 66061  func (da DeleteActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 66062  	return nil, false
 66063  }
 66064  
 66065  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DeleteActivity.
 66066  func (da DeleteActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 66067  	return nil, false
 66068  }
 66069  
 66070  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DeleteActivity.
 66071  func (da DeleteActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 66072  	return nil, false
 66073  }
 66074  
 66075  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DeleteActivity.
 66076  func (da DeleteActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 66077  	return nil, false
 66078  }
 66079  
 66080  // AsGetMetadataActivity is the BasicActivity implementation for DeleteActivity.
 66081  func (da DeleteActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 66082  	return nil, false
 66083  }
 66084  
 66085  // AsWebActivity is the BasicActivity implementation for DeleteActivity.
 66086  func (da DeleteActivity) AsWebActivity() (*WebActivity, bool) {
 66087  	return nil, false
 66088  }
 66089  
 66090  // AsLookupActivity is the BasicActivity implementation for DeleteActivity.
 66091  func (da DeleteActivity) AsLookupActivity() (*LookupActivity, bool) {
 66092  	return nil, false
 66093  }
 66094  
 66095  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DeleteActivity.
 66096  func (da DeleteActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 66097  	return nil, false
 66098  }
 66099  
 66100  // AsDeleteActivity is the BasicActivity implementation for DeleteActivity.
 66101  func (da DeleteActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 66102  	return &da, true
 66103  }
 66104  
 66105  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DeleteActivity.
 66106  func (da DeleteActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 66107  	return nil, false
 66108  }
 66109  
 66110  // AsCustomActivity is the BasicActivity implementation for DeleteActivity.
 66111  func (da DeleteActivity) AsCustomActivity() (*CustomActivity, bool) {
 66112  	return nil, false
 66113  }
 66114  
 66115  // AsExecuteSSISPackageActivity is the BasicActivity implementation for DeleteActivity.
 66116  func (da DeleteActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 66117  	return nil, false
 66118  }
 66119  
 66120  // AsHDInsightSparkActivity is the BasicActivity implementation for DeleteActivity.
 66121  func (da DeleteActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 66122  	return nil, false
 66123  }
 66124  
 66125  // AsHDInsightStreamingActivity is the BasicActivity implementation for DeleteActivity.
 66126  func (da DeleteActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 66127  	return nil, false
 66128  }
 66129  
 66130  // AsHDInsightMapReduceActivity is the BasicActivity implementation for DeleteActivity.
 66131  func (da DeleteActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 66132  	return nil, false
 66133  }
 66134  
 66135  // AsHDInsightPigActivity is the BasicActivity implementation for DeleteActivity.
 66136  func (da DeleteActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 66137  	return nil, false
 66138  }
 66139  
 66140  // AsHDInsightHiveActivity is the BasicActivity implementation for DeleteActivity.
 66141  func (da DeleteActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 66142  	return nil, false
 66143  }
 66144  
 66145  // AsCopyActivity is the BasicActivity implementation for DeleteActivity.
 66146  func (da DeleteActivity) AsCopyActivity() (*CopyActivity, bool) {
 66147  	return nil, false
 66148  }
 66149  
 66150  // AsExecutionActivity is the BasicActivity implementation for DeleteActivity.
 66151  func (da DeleteActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 66152  	return nil, false
 66153  }
 66154  
 66155  // AsBasicExecutionActivity is the BasicActivity implementation for DeleteActivity.
 66156  func (da DeleteActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 66157  	return &da, true
 66158  }
 66159  
 66160  // AsWebHookActivity is the BasicActivity implementation for DeleteActivity.
 66161  func (da DeleteActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 66162  	return nil, false
 66163  }
 66164  
 66165  // AsAppendVariableActivity is the BasicActivity implementation for DeleteActivity.
 66166  func (da DeleteActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 66167  	return nil, false
 66168  }
 66169  
 66170  // AsSetVariableActivity is the BasicActivity implementation for DeleteActivity.
 66171  func (da DeleteActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 66172  	return nil, false
 66173  }
 66174  
 66175  // AsFilterActivity is the BasicActivity implementation for DeleteActivity.
 66176  func (da DeleteActivity) AsFilterActivity() (*FilterActivity, bool) {
 66177  	return nil, false
 66178  }
 66179  
 66180  // AsValidationActivity is the BasicActivity implementation for DeleteActivity.
 66181  func (da DeleteActivity) AsValidationActivity() (*ValidationActivity, bool) {
 66182  	return nil, false
 66183  }
 66184  
 66185  // AsUntilActivity is the BasicActivity implementation for DeleteActivity.
 66186  func (da DeleteActivity) AsUntilActivity() (*UntilActivity, bool) {
 66187  	return nil, false
 66188  }
 66189  
 66190  // AsWaitActivity is the BasicActivity implementation for DeleteActivity.
 66191  func (da DeleteActivity) AsWaitActivity() (*WaitActivity, bool) {
 66192  	return nil, false
 66193  }
 66194  
 66195  // AsForEachActivity is the BasicActivity implementation for DeleteActivity.
 66196  func (da DeleteActivity) AsForEachActivity() (*ForEachActivity, bool) {
 66197  	return nil, false
 66198  }
 66199  
 66200  // AsSwitchActivity is the BasicActivity implementation for DeleteActivity.
 66201  func (da DeleteActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 66202  	return nil, false
 66203  }
 66204  
 66205  // AsIfConditionActivity is the BasicActivity implementation for DeleteActivity.
 66206  func (da DeleteActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 66207  	return nil, false
 66208  }
 66209  
 66210  // AsExecutePipelineActivity is the BasicActivity implementation for DeleteActivity.
 66211  func (da DeleteActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 66212  	return nil, false
 66213  }
 66214  
 66215  // AsControlActivity is the BasicActivity implementation for DeleteActivity.
 66216  func (da DeleteActivity) AsControlActivity() (*ControlActivity, bool) {
 66217  	return nil, false
 66218  }
 66219  
 66220  // AsBasicControlActivity is the BasicActivity implementation for DeleteActivity.
 66221  func (da DeleteActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 66222  	return nil, false
 66223  }
 66224  
 66225  // AsActivity is the BasicActivity implementation for DeleteActivity.
 66226  func (da DeleteActivity) AsActivity() (*Activity, bool) {
 66227  	return nil, false
 66228  }
 66229  
 66230  // AsBasicActivity is the BasicActivity implementation for DeleteActivity.
 66231  func (da DeleteActivity) AsBasicActivity() (BasicActivity, bool) {
 66232  	return &da, true
 66233  }
 66234  
 66235  // UnmarshalJSON is the custom unmarshaler for DeleteActivity struct.
 66236  func (da *DeleteActivity) UnmarshalJSON(body []byte) error {
 66237  	var m map[string]*json.RawMessage
 66238  	err := json.Unmarshal(body, &m)
 66239  	if err != nil {
 66240  		return err
 66241  	}
 66242  	for k, v := range m {
 66243  		switch k {
 66244  		case "typeProperties":
 66245  			if v != nil {
 66246  				var deleteActivityTypeProperties DeleteActivityTypeProperties
 66247  				err = json.Unmarshal(*v, &deleteActivityTypeProperties)
 66248  				if err != nil {
 66249  					return err
 66250  				}
 66251  				da.DeleteActivityTypeProperties = &deleteActivityTypeProperties
 66252  			}
 66253  		case "linkedServiceName":
 66254  			if v != nil {
 66255  				var linkedServiceName LinkedServiceReference
 66256  				err = json.Unmarshal(*v, &linkedServiceName)
 66257  				if err != nil {
 66258  					return err
 66259  				}
 66260  				da.LinkedServiceName = &linkedServiceName
 66261  			}
 66262  		case "policy":
 66263  			if v != nil {
 66264  				var policy ActivityPolicy
 66265  				err = json.Unmarshal(*v, &policy)
 66266  				if err != nil {
 66267  					return err
 66268  				}
 66269  				da.Policy = &policy
 66270  			}
 66271  		default:
 66272  			if v != nil {
 66273  				var additionalProperties interface{}
 66274  				err = json.Unmarshal(*v, &additionalProperties)
 66275  				if err != nil {
 66276  					return err
 66277  				}
 66278  				if da.AdditionalProperties == nil {
 66279  					da.AdditionalProperties = make(map[string]interface{})
 66280  				}
 66281  				da.AdditionalProperties[k] = additionalProperties
 66282  			}
 66283  		case "name":
 66284  			if v != nil {
 66285  				var name string
 66286  				err = json.Unmarshal(*v, &name)
 66287  				if err != nil {
 66288  					return err
 66289  				}
 66290  				da.Name = &name
 66291  			}
 66292  		case "description":
 66293  			if v != nil {
 66294  				var description string
 66295  				err = json.Unmarshal(*v, &description)
 66296  				if err != nil {
 66297  					return err
 66298  				}
 66299  				da.Description = &description
 66300  			}
 66301  		case "dependsOn":
 66302  			if v != nil {
 66303  				var dependsOn []ActivityDependency
 66304  				err = json.Unmarshal(*v, &dependsOn)
 66305  				if err != nil {
 66306  					return err
 66307  				}
 66308  				da.DependsOn = &dependsOn
 66309  			}
 66310  		case "userProperties":
 66311  			if v != nil {
 66312  				var userProperties []UserProperty
 66313  				err = json.Unmarshal(*v, &userProperties)
 66314  				if err != nil {
 66315  					return err
 66316  				}
 66317  				da.UserProperties = &userProperties
 66318  			}
 66319  		case "type":
 66320  			if v != nil {
 66321  				var typeVar TypeBasicActivity
 66322  				err = json.Unmarshal(*v, &typeVar)
 66323  				if err != nil {
 66324  					return err
 66325  				}
 66326  				da.Type = typeVar
 66327  			}
 66328  		}
 66329  	}
 66330  
 66331  	return nil
 66332  }
 66333  
 66334  // DeleteActivityTypeProperties delete activity properties.
 66335  type DeleteActivityTypeProperties struct {
 66336  	// 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).
 66337  	Recursive interface{} `json:"recursive,omitempty"`
 66338  	// MaxConcurrentConnections - The max concurrent connections to connect data source at the same time.
 66339  	MaxConcurrentConnections *int32 `json:"maxConcurrentConnections,omitempty"`
 66340  	// EnableLogging - Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean).
 66341  	EnableLogging interface{} `json:"enableLogging,omitempty"`
 66342  	// LogStorageSettings - Log storage settings customer need to provide when enableLogging is true.
 66343  	LogStorageSettings *LogStorageSettings `json:"logStorageSettings,omitempty"`
 66344  	// Dataset - Delete activity dataset reference.
 66345  	Dataset *DatasetReference `json:"dataset,omitempty"`
 66346  }
 66347  
 66348  // DeleteDataFlowDebugSessionRequest request body structure for deleting data flow debug session.
 66349  type DeleteDataFlowDebugSessionRequest struct {
 66350  	// SessionID - The ID of data flow debug session.
 66351  	SessionID *string `json:"sessionId,omitempty"`
 66352  	// DataFlowName - The data flow which contains the debug session.
 66353  	DataFlowName *string `json:"dataFlowName,omitempty"`
 66354  }
 66355  
 66356  // DelimitedTextDataset delimited text dataset.
 66357  type DelimitedTextDataset struct {
 66358  	// DelimitedTextDatasetTypeProperties - Delimited text dataset properties.
 66359  	*DelimitedTextDatasetTypeProperties `json:"typeProperties,omitempty"`
 66360  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 66361  	AdditionalProperties map[string]interface{} `json:""`
 66362  	// Description - Dataset description.
 66363  	Description *string `json:"description,omitempty"`
 66364  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 66365  	Structure interface{} `json:"structure,omitempty"`
 66366  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 66367  	Schema interface{} `json:"schema,omitempty"`
 66368  	// LinkedServiceName - Linked service reference.
 66369  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 66370  	// Parameters - Parameters for dataset.
 66371  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 66372  	// Annotations - List of tags that can be used for describing the Dataset.
 66373  	Annotations *[]interface{} `json:"annotations,omitempty"`
 66374  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 66375  	Folder *DatasetFolder `json:"folder,omitempty"`
 66376  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 66377  	Type TypeBasicDataset `json:"type,omitempty"`
 66378  }
 66379  
 66380  // MarshalJSON is the custom marshaler for DelimitedTextDataset.
 66381  func (dtd DelimitedTextDataset) MarshalJSON() ([]byte, error) {
 66382  	dtd.Type = TypeDelimitedText
 66383  	objectMap := make(map[string]interface{})
 66384  	if dtd.DelimitedTextDatasetTypeProperties != nil {
 66385  		objectMap["typeProperties"] = dtd.DelimitedTextDatasetTypeProperties
 66386  	}
 66387  	if dtd.Description != nil {
 66388  		objectMap["description"] = dtd.Description
 66389  	}
 66390  	if dtd.Structure != nil {
 66391  		objectMap["structure"] = dtd.Structure
 66392  	}
 66393  	if dtd.Schema != nil {
 66394  		objectMap["schema"] = dtd.Schema
 66395  	}
 66396  	if dtd.LinkedServiceName != nil {
 66397  		objectMap["linkedServiceName"] = dtd.LinkedServiceName
 66398  	}
 66399  	if dtd.Parameters != nil {
 66400  		objectMap["parameters"] = dtd.Parameters
 66401  	}
 66402  	if dtd.Annotations != nil {
 66403  		objectMap["annotations"] = dtd.Annotations
 66404  	}
 66405  	if dtd.Folder != nil {
 66406  		objectMap["folder"] = dtd.Folder
 66407  	}
 66408  	if dtd.Type != "" {
 66409  		objectMap["type"] = dtd.Type
 66410  	}
 66411  	for k, v := range dtd.AdditionalProperties {
 66412  		objectMap[k] = v
 66413  	}
 66414  	return json.Marshal(objectMap)
 66415  }
 66416  
 66417  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66418  func (dtd DelimitedTextDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 66419  	return nil, false
 66420  }
 66421  
 66422  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66423  func (dtd DelimitedTextDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 66424  	return nil, false
 66425  }
 66426  
 66427  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66428  func (dtd DelimitedTextDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 66429  	return nil, false
 66430  }
 66431  
 66432  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66433  func (dtd DelimitedTextDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 66434  	return nil, false
 66435  }
 66436  
 66437  // AsResponsysObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66438  func (dtd DelimitedTextDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 66439  	return nil, false
 66440  }
 66441  
 66442  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66443  func (dtd DelimitedTextDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 66444  	return nil, false
 66445  }
 66446  
 66447  // AsVerticaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66448  func (dtd DelimitedTextDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 66449  	return nil, false
 66450  }
 66451  
 66452  // AsNetezzaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66453  func (dtd DelimitedTextDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 66454  	return nil, false
 66455  }
 66456  
 66457  // AsZohoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66458  func (dtd DelimitedTextDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 66459  	return nil, false
 66460  }
 66461  
 66462  // AsXeroObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66463  func (dtd DelimitedTextDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 66464  	return nil, false
 66465  }
 66466  
 66467  // AsSquareObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66468  func (dtd DelimitedTextDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 66469  	return nil, false
 66470  }
 66471  
 66472  // AsSparkObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66473  func (dtd DelimitedTextDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 66474  	return nil, false
 66475  }
 66476  
 66477  // AsShopifyObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66478  func (dtd DelimitedTextDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 66479  	return nil, false
 66480  }
 66481  
 66482  // AsServiceNowObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66483  func (dtd DelimitedTextDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 66484  	return nil, false
 66485  }
 66486  
 66487  // AsQuickBooksObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66488  func (dtd DelimitedTextDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 66489  	return nil, false
 66490  }
 66491  
 66492  // AsPrestoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66493  func (dtd DelimitedTextDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 66494  	return nil, false
 66495  }
 66496  
 66497  // AsPhoenixObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66498  func (dtd DelimitedTextDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 66499  	return nil, false
 66500  }
 66501  
 66502  // AsPaypalObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66503  func (dtd DelimitedTextDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 66504  	return nil, false
 66505  }
 66506  
 66507  // AsMarketoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66508  func (dtd DelimitedTextDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 66509  	return nil, false
 66510  }
 66511  
 66512  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66513  func (dtd DelimitedTextDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 66514  	return nil, false
 66515  }
 66516  
 66517  // AsMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66518  func (dtd DelimitedTextDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 66519  	return nil, false
 66520  }
 66521  
 66522  // AsMagentoObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66523  func (dtd DelimitedTextDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 66524  	return nil, false
 66525  }
 66526  
 66527  // AsJiraObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66528  func (dtd DelimitedTextDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 66529  	return nil, false
 66530  }
 66531  
 66532  // AsImpalaObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66533  func (dtd DelimitedTextDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 66534  	return nil, false
 66535  }
 66536  
 66537  // AsHubspotObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66538  func (dtd DelimitedTextDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 66539  	return nil, false
 66540  }
 66541  
 66542  // AsHiveObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66543  func (dtd DelimitedTextDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 66544  	return nil, false
 66545  }
 66546  
 66547  // AsHBaseObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66548  func (dtd DelimitedTextDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 66549  	return nil, false
 66550  }
 66551  
 66552  // AsGreenplumTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66553  func (dtd DelimitedTextDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 66554  	return nil, false
 66555  }
 66556  
 66557  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66558  func (dtd DelimitedTextDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 66559  	return nil, false
 66560  }
 66561  
 66562  // AsEloquaObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66563  func (dtd DelimitedTextDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 66564  	return nil, false
 66565  }
 66566  
 66567  // AsDrillTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66568  func (dtd DelimitedTextDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 66569  	return nil, false
 66570  }
 66571  
 66572  // AsCouchbaseTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66573  func (dtd DelimitedTextDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 66574  	return nil, false
 66575  }
 66576  
 66577  // AsConcurObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66578  func (dtd DelimitedTextDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 66579  	return nil, false
 66580  }
 66581  
 66582  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66583  func (dtd DelimitedTextDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 66584  	return nil, false
 66585  }
 66586  
 66587  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66588  func (dtd DelimitedTextDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 66589  	return nil, false
 66590  }
 66591  
 66592  // AsAzureSearchIndexDataset is the BasicDataset implementation for DelimitedTextDataset.
 66593  func (dtd DelimitedTextDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 66594  	return nil, false
 66595  }
 66596  
 66597  // AsWebTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66598  func (dtd DelimitedTextDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 66599  	return nil, false
 66600  }
 66601  
 66602  // AsSapTableResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66603  func (dtd DelimitedTextDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 66604  	return nil, false
 66605  }
 66606  
 66607  // AsRestResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66608  func (dtd DelimitedTextDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 66609  	return nil, false
 66610  }
 66611  
 66612  // AsSQLServerTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66613  func (dtd DelimitedTextDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 66614  	return nil, false
 66615  }
 66616  
 66617  // AsSapOpenHubTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66618  func (dtd DelimitedTextDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 66619  	return nil, false
 66620  }
 66621  
 66622  // AsSapHanaTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66623  func (dtd DelimitedTextDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 66624  	return nil, false
 66625  }
 66626  
 66627  // AsSapEccResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66628  func (dtd DelimitedTextDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 66629  	return nil, false
 66630  }
 66631  
 66632  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66633  func (dtd DelimitedTextDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 66634  	return nil, false
 66635  }
 66636  
 66637  // AsSapBwCubeDataset is the BasicDataset implementation for DelimitedTextDataset.
 66638  func (dtd DelimitedTextDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 66639  	return nil, false
 66640  }
 66641  
 66642  // AsSybaseTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66643  func (dtd DelimitedTextDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 66644  	return nil, false
 66645  }
 66646  
 66647  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66648  func (dtd DelimitedTextDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 66649  	return nil, false
 66650  }
 66651  
 66652  // AsSalesforceObjectDataset is the BasicDataset implementation for DelimitedTextDataset.
 66653  func (dtd DelimitedTextDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 66654  	return nil, false
 66655  }
 66656  
 66657  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66658  func (dtd DelimitedTextDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 66659  	return nil, false
 66660  }
 66661  
 66662  // AsPostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66663  func (dtd DelimitedTextDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 66664  	return nil, false
 66665  }
 66666  
 66667  // AsMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66668  func (dtd DelimitedTextDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 66669  	return nil, false
 66670  }
 66671  
 66672  // AsOdbcTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66673  func (dtd DelimitedTextDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 66674  	return nil, false
 66675  }
 66676  
 66677  // AsInformixTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66678  func (dtd DelimitedTextDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 66679  	return nil, false
 66680  }
 66681  
 66682  // AsRelationalTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66683  func (dtd DelimitedTextDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 66684  	return nil, false
 66685  }
 66686  
 66687  // AsDb2TableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66688  func (dtd DelimitedTextDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 66689  	return nil, false
 66690  }
 66691  
 66692  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66693  func (dtd DelimitedTextDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 66694  	return nil, false
 66695  }
 66696  
 66697  // AsAzureMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66698  func (dtd DelimitedTextDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 66699  	return nil, false
 66700  }
 66701  
 66702  // AsTeradataTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66703  func (dtd DelimitedTextDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 66704  	return nil, false
 66705  }
 66706  
 66707  // AsOracleTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66708  func (dtd DelimitedTextDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 66709  	return nil, false
 66710  }
 66711  
 66712  // AsODataResourceDataset is the BasicDataset implementation for DelimitedTextDataset.
 66713  func (dtd DelimitedTextDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 66714  	return nil, false
 66715  }
 66716  
 66717  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
 66718  func (dtd DelimitedTextDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 66719  	return nil, false
 66720  }
 66721  
 66722  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
 66723  func (dtd DelimitedTextDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 66724  	return nil, false
 66725  }
 66726  
 66727  // AsMongoDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
 66728  func (dtd DelimitedTextDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 66729  	return nil, false
 66730  }
 66731  
 66732  // AsOffice365Dataset is the BasicDataset implementation for DelimitedTextDataset.
 66733  func (dtd DelimitedTextDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 66734  	return nil, false
 66735  }
 66736  
 66737  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
 66738  func (dtd DelimitedTextDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 66739  	return nil, false
 66740  }
 66741  
 66742  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
 66743  func (dtd DelimitedTextDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 66744  	return nil, false
 66745  }
 66746  
 66747  // AsDynamicsEntityDataset is the BasicDataset implementation for DelimitedTextDataset.
 66748  func (dtd DelimitedTextDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 66749  	return nil, false
 66750  }
 66751  
 66752  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
 66753  func (dtd DelimitedTextDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 66754  	return nil, false
 66755  }
 66756  
 66757  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset.
 66758  func (dtd DelimitedTextDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 66759  	return nil, false
 66760  }
 66761  
 66762  // AsCustomDataset is the BasicDataset implementation for DelimitedTextDataset.
 66763  func (dtd DelimitedTextDataset) AsCustomDataset() (*CustomDataset, bool) {
 66764  	return nil, false
 66765  }
 66766  
 66767  // AsCassandraTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66768  func (dtd DelimitedTextDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 66769  	return nil, false
 66770  }
 66771  
 66772  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66773  func (dtd DelimitedTextDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 66774  	return nil, false
 66775  }
 66776  
 66777  // AsAzureSQLMITableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66778  func (dtd DelimitedTextDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 66779  	return nil, false
 66780  }
 66781  
 66782  // AsAzureSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66783  func (dtd DelimitedTextDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 66784  	return nil, false
 66785  }
 66786  
 66787  // AsAzureTableDataset is the BasicDataset implementation for DelimitedTextDataset.
 66788  func (dtd DelimitedTextDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 66789  	return nil, false
 66790  }
 66791  
 66792  // AsBinaryDataset is the BasicDataset implementation for DelimitedTextDataset.
 66793  func (dtd DelimitedTextDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 66794  	return nil, false
 66795  }
 66796  
 66797  // AsOrcDataset is the BasicDataset implementation for DelimitedTextDataset.
 66798  func (dtd DelimitedTextDataset) AsOrcDataset() (*OrcDataset, bool) {
 66799  	return nil, false
 66800  }
 66801  
 66802  // AsJSONDataset is the BasicDataset implementation for DelimitedTextDataset.
 66803  func (dtd DelimitedTextDataset) AsJSONDataset() (*JSONDataset, bool) {
 66804  	return nil, false
 66805  }
 66806  
 66807  // AsDelimitedTextDataset is the BasicDataset implementation for DelimitedTextDataset.
 66808  func (dtd DelimitedTextDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 66809  	return &dtd, true
 66810  }
 66811  
 66812  // AsParquetDataset is the BasicDataset implementation for DelimitedTextDataset.
 66813  func (dtd DelimitedTextDataset) AsParquetDataset() (*ParquetDataset, bool) {
 66814  	return nil, false
 66815  }
 66816  
 66817  // AsAvroDataset is the BasicDataset implementation for DelimitedTextDataset.
 66818  func (dtd DelimitedTextDataset) AsAvroDataset() (*AvroDataset, bool) {
 66819  	return nil, false
 66820  }
 66821  
 66822  // AsDataset is the BasicDataset implementation for DelimitedTextDataset.
 66823  func (dtd DelimitedTextDataset) AsDataset() (*Dataset, bool) {
 66824  	return nil, false
 66825  }
 66826  
 66827  // AsBasicDataset is the BasicDataset implementation for DelimitedTextDataset.
 66828  func (dtd DelimitedTextDataset) AsBasicDataset() (BasicDataset, bool) {
 66829  	return &dtd, true
 66830  }
 66831  
 66832  // UnmarshalJSON is the custom unmarshaler for DelimitedTextDataset struct.
 66833  func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error {
 66834  	var m map[string]*json.RawMessage
 66835  	err := json.Unmarshal(body, &m)
 66836  	if err != nil {
 66837  		return err
 66838  	}
 66839  	for k, v := range m {
 66840  		switch k {
 66841  		case "typeProperties":
 66842  			if v != nil {
 66843  				var delimitedTextDatasetTypeProperties DelimitedTextDatasetTypeProperties
 66844  				err = json.Unmarshal(*v, &delimitedTextDatasetTypeProperties)
 66845  				if err != nil {
 66846  					return err
 66847  				}
 66848  				dtd.DelimitedTextDatasetTypeProperties = &delimitedTextDatasetTypeProperties
 66849  			}
 66850  		default:
 66851  			if v != nil {
 66852  				var additionalProperties interface{}
 66853  				err = json.Unmarshal(*v, &additionalProperties)
 66854  				if err != nil {
 66855  					return err
 66856  				}
 66857  				if dtd.AdditionalProperties == nil {
 66858  					dtd.AdditionalProperties = make(map[string]interface{})
 66859  				}
 66860  				dtd.AdditionalProperties[k] = additionalProperties
 66861  			}
 66862  		case "description":
 66863  			if v != nil {
 66864  				var description string
 66865  				err = json.Unmarshal(*v, &description)
 66866  				if err != nil {
 66867  					return err
 66868  				}
 66869  				dtd.Description = &description
 66870  			}
 66871  		case "structure":
 66872  			if v != nil {
 66873  				var structure interface{}
 66874  				err = json.Unmarshal(*v, &structure)
 66875  				if err != nil {
 66876  					return err
 66877  				}
 66878  				dtd.Structure = structure
 66879  			}
 66880  		case "schema":
 66881  			if v != nil {
 66882  				var schema interface{}
 66883  				err = json.Unmarshal(*v, &schema)
 66884  				if err != nil {
 66885  					return err
 66886  				}
 66887  				dtd.Schema = schema
 66888  			}
 66889  		case "linkedServiceName":
 66890  			if v != nil {
 66891  				var linkedServiceName LinkedServiceReference
 66892  				err = json.Unmarshal(*v, &linkedServiceName)
 66893  				if err != nil {
 66894  					return err
 66895  				}
 66896  				dtd.LinkedServiceName = &linkedServiceName
 66897  			}
 66898  		case "parameters":
 66899  			if v != nil {
 66900  				var parameters map[string]*ParameterSpecification
 66901  				err = json.Unmarshal(*v, &parameters)
 66902  				if err != nil {
 66903  					return err
 66904  				}
 66905  				dtd.Parameters = parameters
 66906  			}
 66907  		case "annotations":
 66908  			if v != nil {
 66909  				var annotations []interface{}
 66910  				err = json.Unmarshal(*v, &annotations)
 66911  				if err != nil {
 66912  					return err
 66913  				}
 66914  				dtd.Annotations = &annotations
 66915  			}
 66916  		case "folder":
 66917  			if v != nil {
 66918  				var folder DatasetFolder
 66919  				err = json.Unmarshal(*v, &folder)
 66920  				if err != nil {
 66921  					return err
 66922  				}
 66923  				dtd.Folder = &folder
 66924  			}
 66925  		case "type":
 66926  			if v != nil {
 66927  				var typeVar TypeBasicDataset
 66928  				err = json.Unmarshal(*v, &typeVar)
 66929  				if err != nil {
 66930  					return err
 66931  				}
 66932  				dtd.Type = typeVar
 66933  			}
 66934  		}
 66935  	}
 66936  
 66937  	return nil
 66938  }
 66939  
 66940  // DelimitedTextDatasetTypeProperties delimitedText dataset properties.
 66941  type DelimitedTextDatasetTypeProperties struct {
 66942  	// Location - The location of the delimited text storage.
 66943  	Location BasicDatasetLocation `json:"location,omitempty"`
 66944  	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
 66945  	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
 66946  	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
 66947  	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
 66948  	// 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).
 66949  	EncodingName interface{} `json:"encodingName,omitempty"`
 66950  	// CompressionCodec - Possible values include: 'DelimitedTextCompressionCodecBzip2', 'DelimitedTextCompressionCodecGzip', 'DelimitedTextCompressionCodecDeflate', 'DelimitedTextCompressionCodecZipDeflate', 'DelimitedTextCompressionCodecSnappy', 'DelimitedTextCompressionCodecLz4'
 66951  	CompressionCodec DelimitedTextCompressionCodec `json:"compressionCodec,omitempty"`
 66952  	// CompressionLevel - The data compression method used for DelimitedText. Possible values include: 'Optimal', 'Fastest'
 66953  	CompressionLevel DatasetCompressionLevel `json:"compressionLevel,omitempty"`
 66954  	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
 66955  	QuoteChar interface{} `json:"quoteChar,omitempty"`
 66956  	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
 66957  	EscapeChar interface{} `json:"escapeChar,omitempty"`
 66958  	// 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).
 66959  	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
 66960  	// NullValue - The null value string. Type: string (or Expression with resultType string).
 66961  	NullValue interface{} `json:"nullValue,omitempty"`
 66962  }
 66963  
 66964  // UnmarshalJSON is the custom unmarshaler for DelimitedTextDatasetTypeProperties struct.
 66965  func (dtdtp *DelimitedTextDatasetTypeProperties) UnmarshalJSON(body []byte) error {
 66966  	var m map[string]*json.RawMessage
 66967  	err := json.Unmarshal(body, &m)
 66968  	if err != nil {
 66969  		return err
 66970  	}
 66971  	for k, v := range m {
 66972  		switch k {
 66973  		case "location":
 66974  			if v != nil {
 66975  				location, err := unmarshalBasicDatasetLocation(*v)
 66976  				if err != nil {
 66977  					return err
 66978  				}
 66979  				dtdtp.Location = location
 66980  			}
 66981  		case "columnDelimiter":
 66982  			if v != nil {
 66983  				var columnDelimiter interface{}
 66984  				err = json.Unmarshal(*v, &columnDelimiter)
 66985  				if err != nil {
 66986  					return err
 66987  				}
 66988  				dtdtp.ColumnDelimiter = columnDelimiter
 66989  			}
 66990  		case "rowDelimiter":
 66991  			if v != nil {
 66992  				var rowDelimiter interface{}
 66993  				err = json.Unmarshal(*v, &rowDelimiter)
 66994  				if err != nil {
 66995  					return err
 66996  				}
 66997  				dtdtp.RowDelimiter = rowDelimiter
 66998  			}
 66999  		case "encodingName":
 67000  			if v != nil {
 67001  				var encodingName interface{}
 67002  				err = json.Unmarshal(*v, &encodingName)
 67003  				if err != nil {
 67004  					return err
 67005  				}
 67006  				dtdtp.EncodingName = encodingName
 67007  			}
 67008  		case "compressionCodec":
 67009  			if v != nil {
 67010  				var compressionCodec DelimitedTextCompressionCodec
 67011  				err = json.Unmarshal(*v, &compressionCodec)
 67012  				if err != nil {
 67013  					return err
 67014  				}
 67015  				dtdtp.CompressionCodec = compressionCodec
 67016  			}
 67017  		case "compressionLevel":
 67018  			if v != nil {
 67019  				var compressionLevel DatasetCompressionLevel
 67020  				err = json.Unmarshal(*v, &compressionLevel)
 67021  				if err != nil {
 67022  					return err
 67023  				}
 67024  				dtdtp.CompressionLevel = compressionLevel
 67025  			}
 67026  		case "quoteChar":
 67027  			if v != nil {
 67028  				var quoteChar interface{}
 67029  				err = json.Unmarshal(*v, &quoteChar)
 67030  				if err != nil {
 67031  					return err
 67032  				}
 67033  				dtdtp.QuoteChar = quoteChar
 67034  			}
 67035  		case "escapeChar":
 67036  			if v != nil {
 67037  				var escapeChar interface{}
 67038  				err = json.Unmarshal(*v, &escapeChar)
 67039  				if err != nil {
 67040  					return err
 67041  				}
 67042  				dtdtp.EscapeChar = escapeChar
 67043  			}
 67044  		case "firstRowAsHeader":
 67045  			if v != nil {
 67046  				var firstRowAsHeader interface{}
 67047  				err = json.Unmarshal(*v, &firstRowAsHeader)
 67048  				if err != nil {
 67049  					return err
 67050  				}
 67051  				dtdtp.FirstRowAsHeader = firstRowAsHeader
 67052  			}
 67053  		case "nullValue":
 67054  			if v != nil {
 67055  				var nullValue interface{}
 67056  				err = json.Unmarshal(*v, &nullValue)
 67057  				if err != nil {
 67058  					return err
 67059  				}
 67060  				dtdtp.NullValue = nullValue
 67061  			}
 67062  		}
 67063  	}
 67064  
 67065  	return nil
 67066  }
 67067  
 67068  // DelimitedTextReadSettings delimited text read settings.
 67069  type DelimitedTextReadSettings struct {
 67070  	// SkipLineCount - Indicates the number of non-empty rows to skip when reading data from input files. Type: integer (or Expression with resultType integer).
 67071  	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
 67072  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 67073  	AdditionalProperties map[string]interface{} `json:""`
 67074  	// Type - Possible values include: 'TypeFormatReadSettings', 'TypeDelimitedTextReadSettings'
 67075  	Type TypeBasicFormatReadSettings `json:"type,omitempty"`
 67076  }
 67077  
 67078  // MarshalJSON is the custom marshaler for DelimitedTextReadSettings.
 67079  func (dtrs DelimitedTextReadSettings) MarshalJSON() ([]byte, error) {
 67080  	dtrs.Type = TypeDelimitedTextReadSettings
 67081  	objectMap := make(map[string]interface{})
 67082  	if dtrs.SkipLineCount != nil {
 67083  		objectMap["skipLineCount"] = dtrs.SkipLineCount
 67084  	}
 67085  	if dtrs.Type != "" {
 67086  		objectMap["type"] = dtrs.Type
 67087  	}
 67088  	for k, v := range dtrs.AdditionalProperties {
 67089  		objectMap[k] = v
 67090  	}
 67091  	return json.Marshal(objectMap)
 67092  }
 67093  
 67094  // AsDelimitedTextReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings.
 67095  func (dtrs DelimitedTextReadSettings) AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool) {
 67096  	return &dtrs, true
 67097  }
 67098  
 67099  // AsFormatReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings.
 67100  func (dtrs DelimitedTextReadSettings) AsFormatReadSettings() (*FormatReadSettings, bool) {
 67101  	return nil, false
 67102  }
 67103  
 67104  // AsBasicFormatReadSettings is the BasicFormatReadSettings implementation for DelimitedTextReadSettings.
 67105  func (dtrs DelimitedTextReadSettings) AsBasicFormatReadSettings() (BasicFormatReadSettings, bool) {
 67106  	return &dtrs, true
 67107  }
 67108  
 67109  // UnmarshalJSON is the custom unmarshaler for DelimitedTextReadSettings struct.
 67110  func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error {
 67111  	var m map[string]*json.RawMessage
 67112  	err := json.Unmarshal(body, &m)
 67113  	if err != nil {
 67114  		return err
 67115  	}
 67116  	for k, v := range m {
 67117  		switch k {
 67118  		case "skipLineCount":
 67119  			if v != nil {
 67120  				var skipLineCount interface{}
 67121  				err = json.Unmarshal(*v, &skipLineCount)
 67122  				if err != nil {
 67123  					return err
 67124  				}
 67125  				dtrs.SkipLineCount = skipLineCount
 67126  			}
 67127  		default:
 67128  			if v != nil {
 67129  				var additionalProperties interface{}
 67130  				err = json.Unmarshal(*v, &additionalProperties)
 67131  				if err != nil {
 67132  					return err
 67133  				}
 67134  				if dtrs.AdditionalProperties == nil {
 67135  					dtrs.AdditionalProperties = make(map[string]interface{})
 67136  				}
 67137  				dtrs.AdditionalProperties[k] = additionalProperties
 67138  			}
 67139  		case "type":
 67140  			if v != nil {
 67141  				var typeVar TypeBasicFormatReadSettings
 67142  				err = json.Unmarshal(*v, &typeVar)
 67143  				if err != nil {
 67144  					return err
 67145  				}
 67146  				dtrs.Type = typeVar
 67147  			}
 67148  		}
 67149  	}
 67150  
 67151  	return nil
 67152  }
 67153  
 67154  // DelimitedTextSink a copy activity DelimitedText sink.
 67155  type DelimitedTextSink struct {
 67156  	// StoreSettings - DelimitedText store settings.
 67157  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
 67158  	// FormatSettings - DelimitedText format settings.
 67159  	FormatSettings *DelimitedTextWriteSettings `json:"formatSettings,omitempty"`
 67160  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 67161  	AdditionalProperties map[string]interface{} `json:""`
 67162  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 67163  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 67164  	// 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])).
 67165  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 67166  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 67167  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 67168  	// 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])).
 67169  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 67170  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 67171  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 67172  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 67173  	Type TypeBasicCopySink `json:"type,omitempty"`
 67174  }
 67175  
 67176  // MarshalJSON is the custom marshaler for DelimitedTextSink.
 67177  func (dts DelimitedTextSink) MarshalJSON() ([]byte, error) {
 67178  	dts.Type = TypeDelimitedTextSink
 67179  	objectMap := make(map[string]interface{})
 67180  	objectMap["storeSettings"] = dts.StoreSettings
 67181  	if dts.FormatSettings != nil {
 67182  		objectMap["formatSettings"] = dts.FormatSettings
 67183  	}
 67184  	if dts.WriteBatchSize != nil {
 67185  		objectMap["writeBatchSize"] = dts.WriteBatchSize
 67186  	}
 67187  	if dts.WriteBatchTimeout != nil {
 67188  		objectMap["writeBatchTimeout"] = dts.WriteBatchTimeout
 67189  	}
 67190  	if dts.SinkRetryCount != nil {
 67191  		objectMap["sinkRetryCount"] = dts.SinkRetryCount
 67192  	}
 67193  	if dts.SinkRetryWait != nil {
 67194  		objectMap["sinkRetryWait"] = dts.SinkRetryWait
 67195  	}
 67196  	if dts.MaxConcurrentConnections != nil {
 67197  		objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections
 67198  	}
 67199  	if dts.Type != "" {
 67200  		objectMap["type"] = dts.Type
 67201  	}
 67202  	for k, v := range dts.AdditionalProperties {
 67203  		objectMap[k] = v
 67204  	}
 67205  	return json.Marshal(objectMap)
 67206  }
 67207  
 67208  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DelimitedTextSink.
 67209  func (dts DelimitedTextSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 67210  	return nil, false
 67211  }
 67212  
 67213  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for DelimitedTextSink.
 67214  func (dts DelimitedTextSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 67215  	return nil, false
 67216  }
 67217  
 67218  // AsSalesforceSink is the BasicCopySink implementation for DelimitedTextSink.
 67219  func (dts DelimitedTextSink) AsSalesforceSink() (*SalesforceSink, bool) {
 67220  	return nil, false
 67221  }
 67222  
 67223  // AsAzureDataExplorerSink is the BasicCopySink implementation for DelimitedTextSink.
 67224  func (dts DelimitedTextSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 67225  	return nil, false
 67226  }
 67227  
 67228  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DelimitedTextSink.
 67229  func (dts DelimitedTextSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 67230  	return nil, false
 67231  }
 67232  
 67233  // AsDynamicsCrmSink is the BasicCopySink implementation for DelimitedTextSink.
 67234  func (dts DelimitedTextSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 67235  	return nil, false
 67236  }
 67237  
 67238  // AsDynamicsSink is the BasicCopySink implementation for DelimitedTextSink.
 67239  func (dts DelimitedTextSink) AsDynamicsSink() (*DynamicsSink, bool) {
 67240  	return nil, false
 67241  }
 67242  
 67243  // AsMicrosoftAccessSink is the BasicCopySink implementation for DelimitedTextSink.
 67244  func (dts DelimitedTextSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 67245  	return nil, false
 67246  }
 67247  
 67248  // AsInformixSink is the BasicCopySink implementation for DelimitedTextSink.
 67249  func (dts DelimitedTextSink) AsInformixSink() (*InformixSink, bool) {
 67250  	return nil, false
 67251  }
 67252  
 67253  // AsOdbcSink is the BasicCopySink implementation for DelimitedTextSink.
 67254  func (dts DelimitedTextSink) AsOdbcSink() (*OdbcSink, bool) {
 67255  	return nil, false
 67256  }
 67257  
 67258  // AsAzureSearchIndexSink is the BasicCopySink implementation for DelimitedTextSink.
 67259  func (dts DelimitedTextSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 67260  	return nil, false
 67261  }
 67262  
 67263  // AsAzureBlobFSSink is the BasicCopySink implementation for DelimitedTextSink.
 67264  func (dts DelimitedTextSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 67265  	return nil, false
 67266  }
 67267  
 67268  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for DelimitedTextSink.
 67269  func (dts DelimitedTextSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 67270  	return nil, false
 67271  }
 67272  
 67273  // AsOracleSink is the BasicCopySink implementation for DelimitedTextSink.
 67274  func (dts DelimitedTextSink) AsOracleSink() (*OracleSink, bool) {
 67275  	return nil, false
 67276  }
 67277  
 67278  // AsSQLDWSink is the BasicCopySink implementation for DelimitedTextSink.
 67279  func (dts DelimitedTextSink) AsSQLDWSink() (*SQLDWSink, bool) {
 67280  	return nil, false
 67281  }
 67282  
 67283  // AsSQLMISink is the BasicCopySink implementation for DelimitedTextSink.
 67284  func (dts DelimitedTextSink) AsSQLMISink() (*SQLMISink, bool) {
 67285  	return nil, false
 67286  }
 67287  
 67288  // AsAzureSQLSink is the BasicCopySink implementation for DelimitedTextSink.
 67289  func (dts DelimitedTextSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 67290  	return nil, false
 67291  }
 67292  
 67293  // AsSQLServerSink is the BasicCopySink implementation for DelimitedTextSink.
 67294  func (dts DelimitedTextSink) AsSQLServerSink() (*SQLServerSink, bool) {
 67295  	return nil, false
 67296  }
 67297  
 67298  // AsSQLSink is the BasicCopySink implementation for DelimitedTextSink.
 67299  func (dts DelimitedTextSink) AsSQLSink() (*SQLSink, bool) {
 67300  	return nil, false
 67301  }
 67302  
 67303  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for DelimitedTextSink.
 67304  func (dts DelimitedTextSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 67305  	return nil, false
 67306  }
 67307  
 67308  // AsDocumentDbCollectionSink is the BasicCopySink implementation for DelimitedTextSink.
 67309  func (dts DelimitedTextSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 67310  	return nil, false
 67311  }
 67312  
 67313  // AsFileSystemSink is the BasicCopySink implementation for DelimitedTextSink.
 67314  func (dts DelimitedTextSink) AsFileSystemSink() (*FileSystemSink, bool) {
 67315  	return nil, false
 67316  }
 67317  
 67318  // AsBlobSink is the BasicCopySink implementation for DelimitedTextSink.
 67319  func (dts DelimitedTextSink) AsBlobSink() (*BlobSink, bool) {
 67320  	return nil, false
 67321  }
 67322  
 67323  // AsBinarySink is the BasicCopySink implementation for DelimitedTextSink.
 67324  func (dts DelimitedTextSink) AsBinarySink() (*BinarySink, bool) {
 67325  	return nil, false
 67326  }
 67327  
 67328  // AsParquetSink is the BasicCopySink implementation for DelimitedTextSink.
 67329  func (dts DelimitedTextSink) AsParquetSink() (*ParquetSink, bool) {
 67330  	return nil, false
 67331  }
 67332  
 67333  // AsAvroSink is the BasicCopySink implementation for DelimitedTextSink.
 67334  func (dts DelimitedTextSink) AsAvroSink() (*AvroSink, bool) {
 67335  	return nil, false
 67336  }
 67337  
 67338  // AsAzureTableSink is the BasicCopySink implementation for DelimitedTextSink.
 67339  func (dts DelimitedTextSink) AsAzureTableSink() (*AzureTableSink, bool) {
 67340  	return nil, false
 67341  }
 67342  
 67343  // AsAzureQueueSink is the BasicCopySink implementation for DelimitedTextSink.
 67344  func (dts DelimitedTextSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 67345  	return nil, false
 67346  }
 67347  
 67348  // AsSapCloudForCustomerSink is the BasicCopySink implementation for DelimitedTextSink.
 67349  func (dts DelimitedTextSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 67350  	return nil, false
 67351  }
 67352  
 67353  // AsAzureMySQLSink is the BasicCopySink implementation for DelimitedTextSink.
 67354  func (dts DelimitedTextSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 67355  	return nil, false
 67356  }
 67357  
 67358  // AsAzurePostgreSQLSink is the BasicCopySink implementation for DelimitedTextSink.
 67359  func (dts DelimitedTextSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 67360  	return nil, false
 67361  }
 67362  
 67363  // AsOrcSink is the BasicCopySink implementation for DelimitedTextSink.
 67364  func (dts DelimitedTextSink) AsOrcSink() (*OrcSink, bool) {
 67365  	return nil, false
 67366  }
 67367  
 67368  // AsJSONSink is the BasicCopySink implementation for DelimitedTextSink.
 67369  func (dts DelimitedTextSink) AsJSONSink() (*JSONSink, bool) {
 67370  	return nil, false
 67371  }
 67372  
 67373  // AsDelimitedTextSink is the BasicCopySink implementation for DelimitedTextSink.
 67374  func (dts DelimitedTextSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 67375  	return &dts, true
 67376  }
 67377  
 67378  // AsCopySink is the BasicCopySink implementation for DelimitedTextSink.
 67379  func (dts DelimitedTextSink) AsCopySink() (*CopySink, bool) {
 67380  	return nil, false
 67381  }
 67382  
 67383  // AsBasicCopySink is the BasicCopySink implementation for DelimitedTextSink.
 67384  func (dts DelimitedTextSink) AsBasicCopySink() (BasicCopySink, bool) {
 67385  	return &dts, true
 67386  }
 67387  
 67388  // UnmarshalJSON is the custom unmarshaler for DelimitedTextSink struct.
 67389  func (dts *DelimitedTextSink) UnmarshalJSON(body []byte) error {
 67390  	var m map[string]*json.RawMessage
 67391  	err := json.Unmarshal(body, &m)
 67392  	if err != nil {
 67393  		return err
 67394  	}
 67395  	for k, v := range m {
 67396  		switch k {
 67397  		case "storeSettings":
 67398  			if v != nil {
 67399  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
 67400  				if err != nil {
 67401  					return err
 67402  				}
 67403  				dts.StoreSettings = storeSettings
 67404  			}
 67405  		case "formatSettings":
 67406  			if v != nil {
 67407  				var formatSettings DelimitedTextWriteSettings
 67408  				err = json.Unmarshal(*v, &formatSettings)
 67409  				if err != nil {
 67410  					return err
 67411  				}
 67412  				dts.FormatSettings = &formatSettings
 67413  			}
 67414  		default:
 67415  			if v != nil {
 67416  				var additionalProperties interface{}
 67417  				err = json.Unmarshal(*v, &additionalProperties)
 67418  				if err != nil {
 67419  					return err
 67420  				}
 67421  				if dts.AdditionalProperties == nil {
 67422  					dts.AdditionalProperties = make(map[string]interface{})
 67423  				}
 67424  				dts.AdditionalProperties[k] = additionalProperties
 67425  			}
 67426  		case "writeBatchSize":
 67427  			if v != nil {
 67428  				var writeBatchSize interface{}
 67429  				err = json.Unmarshal(*v, &writeBatchSize)
 67430  				if err != nil {
 67431  					return err
 67432  				}
 67433  				dts.WriteBatchSize = writeBatchSize
 67434  			}
 67435  		case "writeBatchTimeout":
 67436  			if v != nil {
 67437  				var writeBatchTimeout interface{}
 67438  				err = json.Unmarshal(*v, &writeBatchTimeout)
 67439  				if err != nil {
 67440  					return err
 67441  				}
 67442  				dts.WriteBatchTimeout = writeBatchTimeout
 67443  			}
 67444  		case "sinkRetryCount":
 67445  			if v != nil {
 67446  				var sinkRetryCount interface{}
 67447  				err = json.Unmarshal(*v, &sinkRetryCount)
 67448  				if err != nil {
 67449  					return err
 67450  				}
 67451  				dts.SinkRetryCount = sinkRetryCount
 67452  			}
 67453  		case "sinkRetryWait":
 67454  			if v != nil {
 67455  				var sinkRetryWait interface{}
 67456  				err = json.Unmarshal(*v, &sinkRetryWait)
 67457  				if err != nil {
 67458  					return err
 67459  				}
 67460  				dts.SinkRetryWait = sinkRetryWait
 67461  			}
 67462  		case "maxConcurrentConnections":
 67463  			if v != nil {
 67464  				var maxConcurrentConnections interface{}
 67465  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 67466  				if err != nil {
 67467  					return err
 67468  				}
 67469  				dts.MaxConcurrentConnections = maxConcurrentConnections
 67470  			}
 67471  		case "type":
 67472  			if v != nil {
 67473  				var typeVar TypeBasicCopySink
 67474  				err = json.Unmarshal(*v, &typeVar)
 67475  				if err != nil {
 67476  					return err
 67477  				}
 67478  				dts.Type = typeVar
 67479  			}
 67480  		}
 67481  	}
 67482  
 67483  	return nil
 67484  }
 67485  
 67486  // DelimitedTextSource a copy activity DelimitedText source.
 67487  type DelimitedTextSource struct {
 67488  	// StoreSettings - DelimitedText store settings.
 67489  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
 67490  	// FormatSettings - DelimitedText format settings.
 67491  	FormatSettings *DelimitedTextReadSettings `json:"formatSettings,omitempty"`
 67492  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 67493  	AdditionalProperties map[string]interface{} `json:""`
 67494  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 67495  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 67496  	// 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])).
 67497  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 67498  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 67499  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 67500  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 67501  	Type TypeBasicCopySource `json:"type,omitempty"`
 67502  }
 67503  
 67504  // MarshalJSON is the custom marshaler for DelimitedTextSource.
 67505  func (dts DelimitedTextSource) MarshalJSON() ([]byte, error) {
 67506  	dts.Type = TypeDelimitedTextSource
 67507  	objectMap := make(map[string]interface{})
 67508  	objectMap["storeSettings"] = dts.StoreSettings
 67509  	if dts.FormatSettings != nil {
 67510  		objectMap["formatSettings"] = dts.FormatSettings
 67511  	}
 67512  	if dts.SourceRetryCount != nil {
 67513  		objectMap["sourceRetryCount"] = dts.SourceRetryCount
 67514  	}
 67515  	if dts.SourceRetryWait != nil {
 67516  		objectMap["sourceRetryWait"] = dts.SourceRetryWait
 67517  	}
 67518  	if dts.MaxConcurrentConnections != nil {
 67519  		objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections
 67520  	}
 67521  	if dts.Type != "" {
 67522  		objectMap["type"] = dts.Type
 67523  	}
 67524  	for k, v := range dts.AdditionalProperties {
 67525  		objectMap[k] = v
 67526  	}
 67527  	return json.Marshal(objectMap)
 67528  }
 67529  
 67530  // AsHTTPSource is the BasicCopySource implementation for DelimitedTextSource.
 67531  func (dts DelimitedTextSource) AsHTTPSource() (*HTTPSource, bool) {
 67532  	return nil, false
 67533  }
 67534  
 67535  // AsAzureBlobFSSource is the BasicCopySource implementation for DelimitedTextSource.
 67536  func (dts DelimitedTextSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 67537  	return nil, false
 67538  }
 67539  
 67540  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DelimitedTextSource.
 67541  func (dts DelimitedTextSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 67542  	return nil, false
 67543  }
 67544  
 67545  // AsOffice365Source is the BasicCopySource implementation for DelimitedTextSource.
 67546  func (dts DelimitedTextSource) AsOffice365Source() (*Office365Source, bool) {
 67547  	return nil, false
 67548  }
 67549  
 67550  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DelimitedTextSource.
 67551  func (dts DelimitedTextSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 67552  	return nil, false
 67553  }
 67554  
 67555  // AsMongoDbV2Source is the BasicCopySource implementation for DelimitedTextSource.
 67556  func (dts DelimitedTextSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 67557  	return nil, false
 67558  }
 67559  
 67560  // AsMongoDbSource is the BasicCopySource implementation for DelimitedTextSource.
 67561  func (dts DelimitedTextSource) AsMongoDbSource() (*MongoDbSource, bool) {
 67562  	return nil, false
 67563  }
 67564  
 67565  // AsWebSource is the BasicCopySource implementation for DelimitedTextSource.
 67566  func (dts DelimitedTextSource) AsWebSource() (*WebSource, bool) {
 67567  	return nil, false
 67568  }
 67569  
 67570  // AsOracleSource is the BasicCopySource implementation for DelimitedTextSource.
 67571  func (dts DelimitedTextSource) AsOracleSource() (*OracleSource, bool) {
 67572  	return nil, false
 67573  }
 67574  
 67575  // AsAzureDataExplorerSource is the BasicCopySource implementation for DelimitedTextSource.
 67576  func (dts DelimitedTextSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 67577  	return nil, false
 67578  }
 67579  
 67580  // AsHdfsSource is the BasicCopySource implementation for DelimitedTextSource.
 67581  func (dts DelimitedTextSource) AsHdfsSource() (*HdfsSource, bool) {
 67582  	return nil, false
 67583  }
 67584  
 67585  // AsFileSystemSource is the BasicCopySource implementation for DelimitedTextSource.
 67586  func (dts DelimitedTextSource) AsFileSystemSource() (*FileSystemSource, bool) {
 67587  	return nil, false
 67588  }
 67589  
 67590  // AsRestSource is the BasicCopySource implementation for DelimitedTextSource.
 67591  func (dts DelimitedTextSource) AsRestSource() (*RestSource, bool) {
 67592  	return nil, false
 67593  }
 67594  
 67595  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource.
 67596  func (dts DelimitedTextSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 67597  	return nil, false
 67598  }
 67599  
 67600  // AsODataSource is the BasicCopySource implementation for DelimitedTextSource.
 67601  func (dts DelimitedTextSource) AsODataSource() (*ODataSource, bool) {
 67602  	return nil, false
 67603  }
 67604  
 67605  // AsMicrosoftAccessSource is the BasicCopySource implementation for DelimitedTextSource.
 67606  func (dts DelimitedTextSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 67607  	return nil, false
 67608  }
 67609  
 67610  // AsRelationalSource is the BasicCopySource implementation for DelimitedTextSource.
 67611  func (dts DelimitedTextSource) AsRelationalSource() (*RelationalSource, bool) {
 67612  	return nil, false
 67613  }
 67614  
 67615  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DelimitedTextSource.
 67616  func (dts DelimitedTextSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 67617  	return nil, false
 67618  }
 67619  
 67620  // AsDynamicsCrmSource is the BasicCopySource implementation for DelimitedTextSource.
 67621  func (dts DelimitedTextSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 67622  	return nil, false
 67623  }
 67624  
 67625  // AsDynamicsSource is the BasicCopySource implementation for DelimitedTextSource.
 67626  func (dts DelimitedTextSource) AsDynamicsSource() (*DynamicsSource, bool) {
 67627  	return nil, false
 67628  }
 67629  
 67630  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DelimitedTextSource.
 67631  func (dts DelimitedTextSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 67632  	return nil, false
 67633  }
 67634  
 67635  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DelimitedTextSource.
 67636  func (dts DelimitedTextSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 67637  	return nil, false
 67638  }
 67639  
 67640  // AsBlobSource is the BasicCopySource implementation for DelimitedTextSource.
 67641  func (dts DelimitedTextSource) AsBlobSource() (*BlobSource, bool) {
 67642  	return nil, false
 67643  }
 67644  
 67645  // AsAmazonRedshiftSource is the BasicCopySource implementation for DelimitedTextSource.
 67646  func (dts DelimitedTextSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 67647  	return nil, false
 67648  }
 67649  
 67650  // AsGoogleAdWordsSource is the BasicCopySource implementation for DelimitedTextSource.
 67651  func (dts DelimitedTextSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 67652  	return nil, false
 67653  }
 67654  
 67655  // AsOracleServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource.
 67656  func (dts DelimitedTextSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 67657  	return nil, false
 67658  }
 67659  
 67660  // AsDynamicsAXSource is the BasicCopySource implementation for DelimitedTextSource.
 67661  func (dts DelimitedTextSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 67662  	return nil, false
 67663  }
 67664  
 67665  // AsResponsysSource is the BasicCopySource implementation for DelimitedTextSource.
 67666  func (dts DelimitedTextSource) AsResponsysSource() (*ResponsysSource, bool) {
 67667  	return nil, false
 67668  }
 67669  
 67670  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DelimitedTextSource.
 67671  func (dts DelimitedTextSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 67672  	return nil, false
 67673  }
 67674  
 67675  // AsVerticaSource is the BasicCopySource implementation for DelimitedTextSource.
 67676  func (dts DelimitedTextSource) AsVerticaSource() (*VerticaSource, bool) {
 67677  	return nil, false
 67678  }
 67679  
 67680  // AsNetezzaSource is the BasicCopySource implementation for DelimitedTextSource.
 67681  func (dts DelimitedTextSource) AsNetezzaSource() (*NetezzaSource, bool) {
 67682  	return nil, false
 67683  }
 67684  
 67685  // AsZohoSource is the BasicCopySource implementation for DelimitedTextSource.
 67686  func (dts DelimitedTextSource) AsZohoSource() (*ZohoSource, bool) {
 67687  	return nil, false
 67688  }
 67689  
 67690  // AsXeroSource is the BasicCopySource implementation for DelimitedTextSource.
 67691  func (dts DelimitedTextSource) AsXeroSource() (*XeroSource, bool) {
 67692  	return nil, false
 67693  }
 67694  
 67695  // AsSquareSource is the BasicCopySource implementation for DelimitedTextSource.
 67696  func (dts DelimitedTextSource) AsSquareSource() (*SquareSource, bool) {
 67697  	return nil, false
 67698  }
 67699  
 67700  // AsSparkSource is the BasicCopySource implementation for DelimitedTextSource.
 67701  func (dts DelimitedTextSource) AsSparkSource() (*SparkSource, bool) {
 67702  	return nil, false
 67703  }
 67704  
 67705  // AsShopifySource is the BasicCopySource implementation for DelimitedTextSource.
 67706  func (dts DelimitedTextSource) AsShopifySource() (*ShopifySource, bool) {
 67707  	return nil, false
 67708  }
 67709  
 67710  // AsServiceNowSource is the BasicCopySource implementation for DelimitedTextSource.
 67711  func (dts DelimitedTextSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 67712  	return nil, false
 67713  }
 67714  
 67715  // AsQuickBooksSource is the BasicCopySource implementation for DelimitedTextSource.
 67716  func (dts DelimitedTextSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 67717  	return nil, false
 67718  }
 67719  
 67720  // AsPrestoSource is the BasicCopySource implementation for DelimitedTextSource.
 67721  func (dts DelimitedTextSource) AsPrestoSource() (*PrestoSource, bool) {
 67722  	return nil, false
 67723  }
 67724  
 67725  // AsPhoenixSource is the BasicCopySource implementation for DelimitedTextSource.
 67726  func (dts DelimitedTextSource) AsPhoenixSource() (*PhoenixSource, bool) {
 67727  	return nil, false
 67728  }
 67729  
 67730  // AsPaypalSource is the BasicCopySource implementation for DelimitedTextSource.
 67731  func (dts DelimitedTextSource) AsPaypalSource() (*PaypalSource, bool) {
 67732  	return nil, false
 67733  }
 67734  
 67735  // AsMarketoSource is the BasicCopySource implementation for DelimitedTextSource.
 67736  func (dts DelimitedTextSource) AsMarketoSource() (*MarketoSource, bool) {
 67737  	return nil, false
 67738  }
 67739  
 67740  // AsAzureMariaDBSource is the BasicCopySource implementation for DelimitedTextSource.
 67741  func (dts DelimitedTextSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 67742  	return nil, false
 67743  }
 67744  
 67745  // AsMariaDBSource is the BasicCopySource implementation for DelimitedTextSource.
 67746  func (dts DelimitedTextSource) AsMariaDBSource() (*MariaDBSource, bool) {
 67747  	return nil, false
 67748  }
 67749  
 67750  // AsMagentoSource is the BasicCopySource implementation for DelimitedTextSource.
 67751  func (dts DelimitedTextSource) AsMagentoSource() (*MagentoSource, bool) {
 67752  	return nil, false
 67753  }
 67754  
 67755  // AsJiraSource is the BasicCopySource implementation for DelimitedTextSource.
 67756  func (dts DelimitedTextSource) AsJiraSource() (*JiraSource, bool) {
 67757  	return nil, false
 67758  }
 67759  
 67760  // AsImpalaSource is the BasicCopySource implementation for DelimitedTextSource.
 67761  func (dts DelimitedTextSource) AsImpalaSource() (*ImpalaSource, bool) {
 67762  	return nil, false
 67763  }
 67764  
 67765  // AsHubspotSource is the BasicCopySource implementation for DelimitedTextSource.
 67766  func (dts DelimitedTextSource) AsHubspotSource() (*HubspotSource, bool) {
 67767  	return nil, false
 67768  }
 67769  
 67770  // AsHiveSource is the BasicCopySource implementation for DelimitedTextSource.
 67771  func (dts DelimitedTextSource) AsHiveSource() (*HiveSource, bool) {
 67772  	return nil, false
 67773  }
 67774  
 67775  // AsHBaseSource is the BasicCopySource implementation for DelimitedTextSource.
 67776  func (dts DelimitedTextSource) AsHBaseSource() (*HBaseSource, bool) {
 67777  	return nil, false
 67778  }
 67779  
 67780  // AsGreenplumSource is the BasicCopySource implementation for DelimitedTextSource.
 67781  func (dts DelimitedTextSource) AsGreenplumSource() (*GreenplumSource, bool) {
 67782  	return nil, false
 67783  }
 67784  
 67785  // AsGoogleBigQuerySource is the BasicCopySource implementation for DelimitedTextSource.
 67786  func (dts DelimitedTextSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 67787  	return nil, false
 67788  }
 67789  
 67790  // AsEloquaSource is the BasicCopySource implementation for DelimitedTextSource.
 67791  func (dts DelimitedTextSource) AsEloquaSource() (*EloquaSource, bool) {
 67792  	return nil, false
 67793  }
 67794  
 67795  // AsDrillSource is the BasicCopySource implementation for DelimitedTextSource.
 67796  func (dts DelimitedTextSource) AsDrillSource() (*DrillSource, bool) {
 67797  	return nil, false
 67798  }
 67799  
 67800  // AsCouchbaseSource is the BasicCopySource implementation for DelimitedTextSource.
 67801  func (dts DelimitedTextSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 67802  	return nil, false
 67803  }
 67804  
 67805  // AsConcurSource is the BasicCopySource implementation for DelimitedTextSource.
 67806  func (dts DelimitedTextSource) AsConcurSource() (*ConcurSource, bool) {
 67807  	return nil, false
 67808  }
 67809  
 67810  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67811  func (dts DelimitedTextSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 67812  	return nil, false
 67813  }
 67814  
 67815  // AsAmazonMWSSource is the BasicCopySource implementation for DelimitedTextSource.
 67816  func (dts DelimitedTextSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 67817  	return nil, false
 67818  }
 67819  
 67820  // AsCassandraSource is the BasicCopySource implementation for DelimitedTextSource.
 67821  func (dts DelimitedTextSource) AsCassandraSource() (*CassandraSource, bool) {
 67822  	return nil, false
 67823  }
 67824  
 67825  // AsTeradataSource is the BasicCopySource implementation for DelimitedTextSource.
 67826  func (dts DelimitedTextSource) AsTeradataSource() (*TeradataSource, bool) {
 67827  	return nil, false
 67828  }
 67829  
 67830  // AsAzureMySQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67831  func (dts DelimitedTextSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 67832  	return nil, false
 67833  }
 67834  
 67835  // AsSQLDWSource is the BasicCopySource implementation for DelimitedTextSource.
 67836  func (dts DelimitedTextSource) AsSQLDWSource() (*SQLDWSource, bool) {
 67837  	return nil, false
 67838  }
 67839  
 67840  // AsSQLMISource is the BasicCopySource implementation for DelimitedTextSource.
 67841  func (dts DelimitedTextSource) AsSQLMISource() (*SQLMISource, bool) {
 67842  	return nil, false
 67843  }
 67844  
 67845  // AsAzureSQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67846  func (dts DelimitedTextSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 67847  	return nil, false
 67848  }
 67849  
 67850  // AsSQLServerSource is the BasicCopySource implementation for DelimitedTextSource.
 67851  func (dts DelimitedTextSource) AsSQLServerSource() (*SQLServerSource, bool) {
 67852  	return nil, false
 67853  }
 67854  
 67855  // AsSQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67856  func (dts DelimitedTextSource) AsSQLSource() (*SQLSource, bool) {
 67857  	return nil, false
 67858  }
 67859  
 67860  // AsSapTableSource is the BasicCopySource implementation for DelimitedTextSource.
 67861  func (dts DelimitedTextSource) AsSapTableSource() (*SapTableSource, bool) {
 67862  	return nil, false
 67863  }
 67864  
 67865  // AsSapOpenHubSource is the BasicCopySource implementation for DelimitedTextSource.
 67866  func (dts DelimitedTextSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 67867  	return nil, false
 67868  }
 67869  
 67870  // AsSapHanaSource is the BasicCopySource implementation for DelimitedTextSource.
 67871  func (dts DelimitedTextSource) AsSapHanaSource() (*SapHanaSource, bool) {
 67872  	return nil, false
 67873  }
 67874  
 67875  // AsSapEccSource is the BasicCopySource implementation for DelimitedTextSource.
 67876  func (dts DelimitedTextSource) AsSapEccSource() (*SapEccSource, bool) {
 67877  	return nil, false
 67878  }
 67879  
 67880  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DelimitedTextSource.
 67881  func (dts DelimitedTextSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 67882  	return nil, false
 67883  }
 67884  
 67885  // AsSalesforceSource is the BasicCopySource implementation for DelimitedTextSource.
 67886  func (dts DelimitedTextSource) AsSalesforceSource() (*SalesforceSource, bool) {
 67887  	return nil, false
 67888  }
 67889  
 67890  // AsSapBwSource is the BasicCopySource implementation for DelimitedTextSource.
 67891  func (dts DelimitedTextSource) AsSapBwSource() (*SapBwSource, bool) {
 67892  	return nil, false
 67893  }
 67894  
 67895  // AsSybaseSource is the BasicCopySource implementation for DelimitedTextSource.
 67896  func (dts DelimitedTextSource) AsSybaseSource() (*SybaseSource, bool) {
 67897  	return nil, false
 67898  }
 67899  
 67900  // AsPostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67901  func (dts DelimitedTextSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 67902  	return nil, false
 67903  }
 67904  
 67905  // AsMySQLSource is the BasicCopySource implementation for DelimitedTextSource.
 67906  func (dts DelimitedTextSource) AsMySQLSource() (*MySQLSource, bool) {
 67907  	return nil, false
 67908  }
 67909  
 67910  // AsOdbcSource is the BasicCopySource implementation for DelimitedTextSource.
 67911  func (dts DelimitedTextSource) AsOdbcSource() (*OdbcSource, bool) {
 67912  	return nil, false
 67913  }
 67914  
 67915  // AsDb2Source is the BasicCopySource implementation for DelimitedTextSource.
 67916  func (dts DelimitedTextSource) AsDb2Source() (*Db2Source, bool) {
 67917  	return nil, false
 67918  }
 67919  
 67920  // AsInformixSource is the BasicCopySource implementation for DelimitedTextSource.
 67921  func (dts DelimitedTextSource) AsInformixSource() (*InformixSource, bool) {
 67922  	return nil, false
 67923  }
 67924  
 67925  // AsAzureTableSource is the BasicCopySource implementation for DelimitedTextSource.
 67926  func (dts DelimitedTextSource) AsAzureTableSource() (*AzureTableSource, bool) {
 67927  	return nil, false
 67928  }
 67929  
 67930  // AsTabularSource is the BasicCopySource implementation for DelimitedTextSource.
 67931  func (dts DelimitedTextSource) AsTabularSource() (*TabularSource, bool) {
 67932  	return nil, false
 67933  }
 67934  
 67935  // AsBasicTabularSource is the BasicCopySource implementation for DelimitedTextSource.
 67936  func (dts DelimitedTextSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 67937  	return nil, false
 67938  }
 67939  
 67940  // AsBinarySource is the BasicCopySource implementation for DelimitedTextSource.
 67941  func (dts DelimitedTextSource) AsBinarySource() (*BinarySource, bool) {
 67942  	return nil, false
 67943  }
 67944  
 67945  // AsOrcSource is the BasicCopySource implementation for DelimitedTextSource.
 67946  func (dts DelimitedTextSource) AsOrcSource() (*OrcSource, bool) {
 67947  	return nil, false
 67948  }
 67949  
 67950  // AsJSONSource is the BasicCopySource implementation for DelimitedTextSource.
 67951  func (dts DelimitedTextSource) AsJSONSource() (*JSONSource, bool) {
 67952  	return nil, false
 67953  }
 67954  
 67955  // AsDelimitedTextSource is the BasicCopySource implementation for DelimitedTextSource.
 67956  func (dts DelimitedTextSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 67957  	return &dts, true
 67958  }
 67959  
 67960  // AsParquetSource is the BasicCopySource implementation for DelimitedTextSource.
 67961  func (dts DelimitedTextSource) AsParquetSource() (*ParquetSource, bool) {
 67962  	return nil, false
 67963  }
 67964  
 67965  // AsAvroSource is the BasicCopySource implementation for DelimitedTextSource.
 67966  func (dts DelimitedTextSource) AsAvroSource() (*AvroSource, bool) {
 67967  	return nil, false
 67968  }
 67969  
 67970  // AsCopySource is the BasicCopySource implementation for DelimitedTextSource.
 67971  func (dts DelimitedTextSource) AsCopySource() (*CopySource, bool) {
 67972  	return nil, false
 67973  }
 67974  
 67975  // AsBasicCopySource is the BasicCopySource implementation for DelimitedTextSource.
 67976  func (dts DelimitedTextSource) AsBasicCopySource() (BasicCopySource, bool) {
 67977  	return &dts, true
 67978  }
 67979  
 67980  // UnmarshalJSON is the custom unmarshaler for DelimitedTextSource struct.
 67981  func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error {
 67982  	var m map[string]*json.RawMessage
 67983  	err := json.Unmarshal(body, &m)
 67984  	if err != nil {
 67985  		return err
 67986  	}
 67987  	for k, v := range m {
 67988  		switch k {
 67989  		case "storeSettings":
 67990  			if v != nil {
 67991  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
 67992  				if err != nil {
 67993  					return err
 67994  				}
 67995  				dts.StoreSettings = storeSettings
 67996  			}
 67997  		case "formatSettings":
 67998  			if v != nil {
 67999  				var formatSettings DelimitedTextReadSettings
 68000  				err = json.Unmarshal(*v, &formatSettings)
 68001  				if err != nil {
 68002  					return err
 68003  				}
 68004  				dts.FormatSettings = &formatSettings
 68005  			}
 68006  		default:
 68007  			if v != nil {
 68008  				var additionalProperties interface{}
 68009  				err = json.Unmarshal(*v, &additionalProperties)
 68010  				if err != nil {
 68011  					return err
 68012  				}
 68013  				if dts.AdditionalProperties == nil {
 68014  					dts.AdditionalProperties = make(map[string]interface{})
 68015  				}
 68016  				dts.AdditionalProperties[k] = additionalProperties
 68017  			}
 68018  		case "sourceRetryCount":
 68019  			if v != nil {
 68020  				var sourceRetryCount interface{}
 68021  				err = json.Unmarshal(*v, &sourceRetryCount)
 68022  				if err != nil {
 68023  					return err
 68024  				}
 68025  				dts.SourceRetryCount = sourceRetryCount
 68026  			}
 68027  		case "sourceRetryWait":
 68028  			if v != nil {
 68029  				var sourceRetryWait interface{}
 68030  				err = json.Unmarshal(*v, &sourceRetryWait)
 68031  				if err != nil {
 68032  					return err
 68033  				}
 68034  				dts.SourceRetryWait = sourceRetryWait
 68035  			}
 68036  		case "maxConcurrentConnections":
 68037  			if v != nil {
 68038  				var maxConcurrentConnections interface{}
 68039  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 68040  				if err != nil {
 68041  					return err
 68042  				}
 68043  				dts.MaxConcurrentConnections = maxConcurrentConnections
 68044  			}
 68045  		case "type":
 68046  			if v != nil {
 68047  				var typeVar TypeBasicCopySource
 68048  				err = json.Unmarshal(*v, &typeVar)
 68049  				if err != nil {
 68050  					return err
 68051  				}
 68052  				dts.Type = typeVar
 68053  			}
 68054  		}
 68055  	}
 68056  
 68057  	return nil
 68058  }
 68059  
 68060  // DelimitedTextWriteSettings delimited text write settings.
 68061  type DelimitedTextWriteSettings struct {
 68062  	// QuoteAllText - Indicates whether string values should always be enclosed with quotes. Type: boolean (or Expression with resultType boolean).
 68063  	QuoteAllText interface{} `json:"quoteAllText,omitempty"`
 68064  	// FileExtension - The file extension used to create the files. Type: string (or Expression with resultType string).
 68065  	FileExtension interface{} `json:"fileExtension,omitempty"`
 68066  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 68067  	AdditionalProperties map[string]interface{} `json:""`
 68068  	// Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings'
 68069  	Type TypeBasicFormatWriteSettings `json:"type,omitempty"`
 68070  }
 68071  
 68072  // MarshalJSON is the custom marshaler for DelimitedTextWriteSettings.
 68073  func (dtws DelimitedTextWriteSettings) MarshalJSON() ([]byte, error) {
 68074  	dtws.Type = TypeDelimitedTextWriteSettings
 68075  	objectMap := make(map[string]interface{})
 68076  	if dtws.QuoteAllText != nil {
 68077  		objectMap["quoteAllText"] = dtws.QuoteAllText
 68078  	}
 68079  	if dtws.FileExtension != nil {
 68080  		objectMap["fileExtension"] = dtws.FileExtension
 68081  	}
 68082  	if dtws.Type != "" {
 68083  		objectMap["type"] = dtws.Type
 68084  	}
 68085  	for k, v := range dtws.AdditionalProperties {
 68086  		objectMap[k] = v
 68087  	}
 68088  	return json.Marshal(objectMap)
 68089  }
 68090  
 68091  // AsJSONWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings.
 68092  func (dtws DelimitedTextWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) {
 68093  	return nil, false
 68094  }
 68095  
 68096  // AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings.
 68097  func (dtws DelimitedTextWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) {
 68098  	return &dtws, true
 68099  }
 68100  
 68101  // AsAvroWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings.
 68102  func (dtws DelimitedTextWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) {
 68103  	return nil, false
 68104  }
 68105  
 68106  // AsFormatWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings.
 68107  func (dtws DelimitedTextWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) {
 68108  	return nil, false
 68109  }
 68110  
 68111  // AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for DelimitedTextWriteSettings.
 68112  func (dtws DelimitedTextWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) {
 68113  	return &dtws, true
 68114  }
 68115  
 68116  // UnmarshalJSON is the custom unmarshaler for DelimitedTextWriteSettings struct.
 68117  func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error {
 68118  	var m map[string]*json.RawMessage
 68119  	err := json.Unmarshal(body, &m)
 68120  	if err != nil {
 68121  		return err
 68122  	}
 68123  	for k, v := range m {
 68124  		switch k {
 68125  		case "quoteAllText":
 68126  			if v != nil {
 68127  				var quoteAllText interface{}
 68128  				err = json.Unmarshal(*v, &quoteAllText)
 68129  				if err != nil {
 68130  					return err
 68131  				}
 68132  				dtws.QuoteAllText = quoteAllText
 68133  			}
 68134  		case "fileExtension":
 68135  			if v != nil {
 68136  				var fileExtension interface{}
 68137  				err = json.Unmarshal(*v, &fileExtension)
 68138  				if err != nil {
 68139  					return err
 68140  				}
 68141  				dtws.FileExtension = fileExtension
 68142  			}
 68143  		default:
 68144  			if v != nil {
 68145  				var additionalProperties interface{}
 68146  				err = json.Unmarshal(*v, &additionalProperties)
 68147  				if err != nil {
 68148  					return err
 68149  				}
 68150  				if dtws.AdditionalProperties == nil {
 68151  					dtws.AdditionalProperties = make(map[string]interface{})
 68152  				}
 68153  				dtws.AdditionalProperties[k] = additionalProperties
 68154  			}
 68155  		case "type":
 68156  			if v != nil {
 68157  				var typeVar TypeBasicFormatWriteSettings
 68158  				err = json.Unmarshal(*v, &typeVar)
 68159  				if err != nil {
 68160  					return err
 68161  				}
 68162  				dtws.Type = typeVar
 68163  			}
 68164  		}
 68165  	}
 68166  
 68167  	return nil
 68168  }
 68169  
 68170  // BasicDependencyReference referenced dependency.
 68171  type BasicDependencyReference interface {
 68172  	AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool)
 68173  	AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool)
 68174  	AsTriggerDependencyReference() (*TriggerDependencyReference, bool)
 68175  	AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool)
 68176  	AsDependencyReference() (*DependencyReference, bool)
 68177  }
 68178  
 68179  // DependencyReference referenced dependency.
 68180  type DependencyReference struct {
 68181  	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
 68182  	Type TypeBasicDependencyReference `json:"type,omitempty"`
 68183  }
 68184  
 68185  func unmarshalBasicDependencyReference(body []byte) (BasicDependencyReference, error) {
 68186  	var m map[string]interface{}
 68187  	err := json.Unmarshal(body, &m)
 68188  	if err != nil {
 68189  		return nil, err
 68190  	}
 68191  
 68192  	switch m["type"] {
 68193  	case string(TypeSelfDependencyTumblingWindowTriggerReference):
 68194  		var sdtwtr SelfDependencyTumblingWindowTriggerReference
 68195  		err := json.Unmarshal(body, &sdtwtr)
 68196  		return sdtwtr, err
 68197  	case string(TypeTumblingWindowTriggerDependencyReference):
 68198  		var twtdr TumblingWindowTriggerDependencyReference
 68199  		err := json.Unmarshal(body, &twtdr)
 68200  		return twtdr, err
 68201  	case string(TypeTriggerDependencyReference):
 68202  		var tdr TriggerDependencyReference
 68203  		err := json.Unmarshal(body, &tdr)
 68204  		return tdr, err
 68205  	default:
 68206  		var dr DependencyReference
 68207  		err := json.Unmarshal(body, &dr)
 68208  		return dr, err
 68209  	}
 68210  }
 68211  func unmarshalBasicDependencyReferenceArray(body []byte) ([]BasicDependencyReference, error) {
 68212  	var rawMessages []*json.RawMessage
 68213  	err := json.Unmarshal(body, &rawMessages)
 68214  	if err != nil {
 68215  		return nil, err
 68216  	}
 68217  
 68218  	drArray := make([]BasicDependencyReference, len(rawMessages))
 68219  
 68220  	for index, rawMessage := range rawMessages {
 68221  		dr, err := unmarshalBasicDependencyReference(*rawMessage)
 68222  		if err != nil {
 68223  			return nil, err
 68224  		}
 68225  		drArray[index] = dr
 68226  	}
 68227  	return drArray, nil
 68228  }
 68229  
 68230  // MarshalJSON is the custom marshaler for DependencyReference.
 68231  func (dr DependencyReference) MarshalJSON() ([]byte, error) {
 68232  	dr.Type = TypeDependencyReference
 68233  	objectMap := make(map[string]interface{})
 68234  	if dr.Type != "" {
 68235  		objectMap["type"] = dr.Type
 68236  	}
 68237  	return json.Marshal(objectMap)
 68238  }
 68239  
 68240  // AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for DependencyReference.
 68241  func (dr DependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
 68242  	return nil, false
 68243  }
 68244  
 68245  // AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
 68246  func (dr DependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
 68247  	return nil, false
 68248  }
 68249  
 68250  // AsTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
 68251  func (dr DependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
 68252  	return nil, false
 68253  }
 68254  
 68255  // AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference.
 68256  func (dr DependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
 68257  	return nil, false
 68258  }
 68259  
 68260  // AsDependencyReference is the BasicDependencyReference implementation for DependencyReference.
 68261  func (dr DependencyReference) AsDependencyReference() (*DependencyReference, bool) {
 68262  	return &dr, true
 68263  }
 68264  
 68265  // AsBasicDependencyReference is the BasicDependencyReference implementation for DependencyReference.
 68266  func (dr DependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
 68267  	return &dr, true
 68268  }
 68269  
 68270  // DistcpSettings distcp settings.
 68271  type DistcpSettings struct {
 68272  	// ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
 68273  	ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"`
 68274  	// 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).
 68275  	TempScriptPath interface{} `json:"tempScriptPath,omitempty"`
 68276  	// DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string).
 68277  	DistcpOptions interface{} `json:"distcpOptions,omitempty"`
 68278  }
 68279  
 68280  // DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset.
 68281  type DocumentDbCollectionDataset struct {
 68282  	// DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties.
 68283  	*DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
 68284  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 68285  	AdditionalProperties map[string]interface{} `json:""`
 68286  	// Description - Dataset description.
 68287  	Description *string `json:"description,omitempty"`
 68288  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 68289  	Structure interface{} `json:"structure,omitempty"`
 68290  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 68291  	Schema interface{} `json:"schema,omitempty"`
 68292  	// LinkedServiceName - Linked service reference.
 68293  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 68294  	// Parameters - Parameters for dataset.
 68295  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 68296  	// Annotations - List of tags that can be used for describing the Dataset.
 68297  	Annotations *[]interface{} `json:"annotations,omitempty"`
 68298  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 68299  	Folder *DatasetFolder `json:"folder,omitempty"`
 68300  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 68301  	Type TypeBasicDataset `json:"type,omitempty"`
 68302  }
 68303  
 68304  // MarshalJSON is the custom marshaler for DocumentDbCollectionDataset.
 68305  func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) {
 68306  	ddcd.Type = TypeDocumentDbCollection
 68307  	objectMap := make(map[string]interface{})
 68308  	if ddcd.DocumentDbCollectionDatasetTypeProperties != nil {
 68309  		objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties
 68310  	}
 68311  	if ddcd.Description != nil {
 68312  		objectMap["description"] = ddcd.Description
 68313  	}
 68314  	if ddcd.Structure != nil {
 68315  		objectMap["structure"] = ddcd.Structure
 68316  	}
 68317  	if ddcd.Schema != nil {
 68318  		objectMap["schema"] = ddcd.Schema
 68319  	}
 68320  	if ddcd.LinkedServiceName != nil {
 68321  		objectMap["linkedServiceName"] = ddcd.LinkedServiceName
 68322  	}
 68323  	if ddcd.Parameters != nil {
 68324  		objectMap["parameters"] = ddcd.Parameters
 68325  	}
 68326  	if ddcd.Annotations != nil {
 68327  		objectMap["annotations"] = ddcd.Annotations
 68328  	}
 68329  	if ddcd.Folder != nil {
 68330  		objectMap["folder"] = ddcd.Folder
 68331  	}
 68332  	if ddcd.Type != "" {
 68333  		objectMap["type"] = ddcd.Type
 68334  	}
 68335  	for k, v := range ddcd.AdditionalProperties {
 68336  		objectMap[k] = v
 68337  	}
 68338  	return json.Marshal(objectMap)
 68339  }
 68340  
 68341  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68342  func (ddcd DocumentDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 68343  	return nil, false
 68344  }
 68345  
 68346  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68347  func (ddcd DocumentDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 68348  	return nil, false
 68349  }
 68350  
 68351  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68352  func (ddcd DocumentDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 68353  	return nil, false
 68354  }
 68355  
 68356  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68357  func (ddcd DocumentDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 68358  	return nil, false
 68359  }
 68360  
 68361  // AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68362  func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 68363  	return nil, false
 68364  }
 68365  
 68366  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68367  func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 68368  	return nil, false
 68369  }
 68370  
 68371  // AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68372  func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 68373  	return nil, false
 68374  }
 68375  
 68376  // AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68377  func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 68378  	return nil, false
 68379  }
 68380  
 68381  // AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68382  func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 68383  	return nil, false
 68384  }
 68385  
 68386  // AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68387  func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 68388  	return nil, false
 68389  }
 68390  
 68391  // AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68392  func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 68393  	return nil, false
 68394  }
 68395  
 68396  // AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68397  func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 68398  	return nil, false
 68399  }
 68400  
 68401  // AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68402  func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 68403  	return nil, false
 68404  }
 68405  
 68406  // AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68407  func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 68408  	return nil, false
 68409  }
 68410  
 68411  // AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68412  func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 68413  	return nil, false
 68414  }
 68415  
 68416  // AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68417  func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 68418  	return nil, false
 68419  }
 68420  
 68421  // AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68422  func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 68423  	return nil, false
 68424  }
 68425  
 68426  // AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68427  func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 68428  	return nil, false
 68429  }
 68430  
 68431  // AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68432  func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 68433  	return nil, false
 68434  }
 68435  
 68436  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68437  func (ddcd DocumentDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 68438  	return nil, false
 68439  }
 68440  
 68441  // AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68442  func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 68443  	return nil, false
 68444  }
 68445  
 68446  // AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68447  func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 68448  	return nil, false
 68449  }
 68450  
 68451  // AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68452  func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 68453  	return nil, false
 68454  }
 68455  
 68456  // AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68457  func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 68458  	return nil, false
 68459  }
 68460  
 68461  // AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68462  func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 68463  	return nil, false
 68464  }
 68465  
 68466  // AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68467  func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 68468  	return nil, false
 68469  }
 68470  
 68471  // AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68472  func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 68473  	return nil, false
 68474  }
 68475  
 68476  // AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68477  func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 68478  	return nil, false
 68479  }
 68480  
 68481  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68482  func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 68483  	return nil, false
 68484  }
 68485  
 68486  // AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68487  func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 68488  	return nil, false
 68489  }
 68490  
 68491  // AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68492  func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 68493  	return nil, false
 68494  }
 68495  
 68496  // AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68497  func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 68498  	return nil, false
 68499  }
 68500  
 68501  // AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68502  func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 68503  	return nil, false
 68504  }
 68505  
 68506  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68507  func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 68508  	return nil, false
 68509  }
 68510  
 68511  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68512  func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 68513  	return nil, false
 68514  }
 68515  
 68516  // AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68517  func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 68518  	return nil, false
 68519  }
 68520  
 68521  // AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68522  func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 68523  	return nil, false
 68524  }
 68525  
 68526  // AsSapTableResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68527  func (ddcd DocumentDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 68528  	return nil, false
 68529  }
 68530  
 68531  // AsRestResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68532  func (ddcd DocumentDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 68533  	return nil, false
 68534  }
 68535  
 68536  // AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68537  func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 68538  	return nil, false
 68539  }
 68540  
 68541  // AsSapOpenHubTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68542  func (ddcd DocumentDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 68543  	return nil, false
 68544  }
 68545  
 68546  // AsSapHanaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68547  func (ddcd DocumentDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 68548  	return nil, false
 68549  }
 68550  
 68551  // AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68552  func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 68553  	return nil, false
 68554  }
 68555  
 68556  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68557  func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 68558  	return nil, false
 68559  }
 68560  
 68561  // AsSapBwCubeDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68562  func (ddcd DocumentDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 68563  	return nil, false
 68564  }
 68565  
 68566  // AsSybaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68567  func (ddcd DocumentDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 68568  	return nil, false
 68569  }
 68570  
 68571  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68572  func (ddcd DocumentDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 68573  	return nil, false
 68574  }
 68575  
 68576  // AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68577  func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 68578  	return nil, false
 68579  }
 68580  
 68581  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68582  func (ddcd DocumentDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 68583  	return nil, false
 68584  }
 68585  
 68586  // AsPostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68587  func (ddcd DocumentDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 68588  	return nil, false
 68589  }
 68590  
 68591  // AsMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68592  func (ddcd DocumentDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 68593  	return nil, false
 68594  }
 68595  
 68596  // AsOdbcTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68597  func (ddcd DocumentDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 68598  	return nil, false
 68599  }
 68600  
 68601  // AsInformixTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68602  func (ddcd DocumentDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 68603  	return nil, false
 68604  }
 68605  
 68606  // AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68607  func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 68608  	return nil, false
 68609  }
 68610  
 68611  // AsDb2TableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68612  func (ddcd DocumentDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 68613  	return nil, false
 68614  }
 68615  
 68616  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68617  func (ddcd DocumentDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 68618  	return nil, false
 68619  }
 68620  
 68621  // AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68622  func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 68623  	return nil, false
 68624  }
 68625  
 68626  // AsTeradataTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68627  func (ddcd DocumentDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 68628  	return nil, false
 68629  }
 68630  
 68631  // AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68632  func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 68633  	return nil, false
 68634  }
 68635  
 68636  // AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68637  func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 68638  	return nil, false
 68639  }
 68640  
 68641  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68642  func (ddcd DocumentDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 68643  	return nil, false
 68644  }
 68645  
 68646  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68647  func (ddcd DocumentDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 68648  	return nil, false
 68649  }
 68650  
 68651  // AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68652  func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 68653  	return nil, false
 68654  }
 68655  
 68656  // AsOffice365Dataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68657  func (ddcd DocumentDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 68658  	return nil, false
 68659  }
 68660  
 68661  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68662  func (ddcd DocumentDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 68663  	return nil, false
 68664  }
 68665  
 68666  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68667  func (ddcd DocumentDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 68668  	return nil, false
 68669  }
 68670  
 68671  // AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68672  func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 68673  	return nil, false
 68674  }
 68675  
 68676  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68677  func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 68678  	return &ddcd, true
 68679  }
 68680  
 68681  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68682  func (ddcd DocumentDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 68683  	return nil, false
 68684  }
 68685  
 68686  // AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68687  func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
 68688  	return nil, false
 68689  }
 68690  
 68691  // AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68692  func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 68693  	return nil, false
 68694  }
 68695  
 68696  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68697  func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 68698  	return nil, false
 68699  }
 68700  
 68701  // AsAzureSQLMITableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68702  func (ddcd DocumentDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 68703  	return nil, false
 68704  }
 68705  
 68706  // AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68707  func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 68708  	return nil, false
 68709  }
 68710  
 68711  // AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68712  func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 68713  	return nil, false
 68714  }
 68715  
 68716  // AsBinaryDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68717  func (ddcd DocumentDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 68718  	return nil, false
 68719  }
 68720  
 68721  // AsOrcDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68722  func (ddcd DocumentDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) {
 68723  	return nil, false
 68724  }
 68725  
 68726  // AsJSONDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68727  func (ddcd DocumentDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) {
 68728  	return nil, false
 68729  }
 68730  
 68731  // AsDelimitedTextDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68732  func (ddcd DocumentDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 68733  	return nil, false
 68734  }
 68735  
 68736  // AsParquetDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68737  func (ddcd DocumentDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
 68738  	return nil, false
 68739  }
 68740  
 68741  // AsAvroDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68742  func (ddcd DocumentDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) {
 68743  	return nil, false
 68744  }
 68745  
 68746  // AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68747  func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) {
 68748  	return nil, false
 68749  }
 68750  
 68751  // AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset.
 68752  func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
 68753  	return &ddcd, true
 68754  }
 68755  
 68756  // UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct.
 68757  func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error {
 68758  	var m map[string]*json.RawMessage
 68759  	err := json.Unmarshal(body, &m)
 68760  	if err != nil {
 68761  		return err
 68762  	}
 68763  	for k, v := range m {
 68764  		switch k {
 68765  		case "typeProperties":
 68766  			if v != nil {
 68767  				var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties
 68768  				err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties)
 68769  				if err != nil {
 68770  					return err
 68771  				}
 68772  				ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties
 68773  			}
 68774  		default:
 68775  			if v != nil {
 68776  				var additionalProperties interface{}
 68777  				err = json.Unmarshal(*v, &additionalProperties)
 68778  				if err != nil {
 68779  					return err
 68780  				}
 68781  				if ddcd.AdditionalProperties == nil {
 68782  					ddcd.AdditionalProperties = make(map[string]interface{})
 68783  				}
 68784  				ddcd.AdditionalProperties[k] = additionalProperties
 68785  			}
 68786  		case "description":
 68787  			if v != nil {
 68788  				var description string
 68789  				err = json.Unmarshal(*v, &description)
 68790  				if err != nil {
 68791  					return err
 68792  				}
 68793  				ddcd.Description = &description
 68794  			}
 68795  		case "structure":
 68796  			if v != nil {
 68797  				var structure interface{}
 68798  				err = json.Unmarshal(*v, &structure)
 68799  				if err != nil {
 68800  					return err
 68801  				}
 68802  				ddcd.Structure = structure
 68803  			}
 68804  		case "schema":
 68805  			if v != nil {
 68806  				var schema interface{}
 68807  				err = json.Unmarshal(*v, &schema)
 68808  				if err != nil {
 68809  					return err
 68810  				}
 68811  				ddcd.Schema = schema
 68812  			}
 68813  		case "linkedServiceName":
 68814  			if v != nil {
 68815  				var linkedServiceName LinkedServiceReference
 68816  				err = json.Unmarshal(*v, &linkedServiceName)
 68817  				if err != nil {
 68818  					return err
 68819  				}
 68820  				ddcd.LinkedServiceName = &linkedServiceName
 68821  			}
 68822  		case "parameters":
 68823  			if v != nil {
 68824  				var parameters map[string]*ParameterSpecification
 68825  				err = json.Unmarshal(*v, &parameters)
 68826  				if err != nil {
 68827  					return err
 68828  				}
 68829  				ddcd.Parameters = parameters
 68830  			}
 68831  		case "annotations":
 68832  			if v != nil {
 68833  				var annotations []interface{}
 68834  				err = json.Unmarshal(*v, &annotations)
 68835  				if err != nil {
 68836  					return err
 68837  				}
 68838  				ddcd.Annotations = &annotations
 68839  			}
 68840  		case "folder":
 68841  			if v != nil {
 68842  				var folder DatasetFolder
 68843  				err = json.Unmarshal(*v, &folder)
 68844  				if err != nil {
 68845  					return err
 68846  				}
 68847  				ddcd.Folder = &folder
 68848  			}
 68849  		case "type":
 68850  			if v != nil {
 68851  				var typeVar TypeBasicDataset
 68852  				err = json.Unmarshal(*v, &typeVar)
 68853  				if err != nil {
 68854  					return err
 68855  				}
 68856  				ddcd.Type = typeVar
 68857  			}
 68858  		}
 68859  	}
 68860  
 68861  	return nil
 68862  }
 68863  
 68864  // DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties.
 68865  type DocumentDbCollectionDatasetTypeProperties struct {
 68866  	// CollectionName - Document Database collection name. Type: string (or Expression with resultType string).
 68867  	CollectionName interface{} `json:"collectionName,omitempty"`
 68868  }
 68869  
 68870  // DocumentDbCollectionSink a copy activity Document Database Collection sink.
 68871  type DocumentDbCollectionSink struct {
 68872  	// NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
 68873  	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
 68874  	// WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert.
 68875  	WriteBehavior interface{} `json:"writeBehavior,omitempty"`
 68876  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 68877  	AdditionalProperties map[string]interface{} `json:""`
 68878  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 68879  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 68880  	// 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])).
 68881  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 68882  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 68883  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 68884  	// 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])).
 68885  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 68886  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 68887  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 68888  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 68889  	Type TypeBasicCopySink `json:"type,omitempty"`
 68890  }
 68891  
 68892  // MarshalJSON is the custom marshaler for DocumentDbCollectionSink.
 68893  func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) {
 68894  	ddcs.Type = TypeDocumentDbCollectionSink
 68895  	objectMap := make(map[string]interface{})
 68896  	if ddcs.NestingSeparator != nil {
 68897  		objectMap["nestingSeparator"] = ddcs.NestingSeparator
 68898  	}
 68899  	if ddcs.WriteBehavior != nil {
 68900  		objectMap["writeBehavior"] = ddcs.WriteBehavior
 68901  	}
 68902  	if ddcs.WriteBatchSize != nil {
 68903  		objectMap["writeBatchSize"] = ddcs.WriteBatchSize
 68904  	}
 68905  	if ddcs.WriteBatchTimeout != nil {
 68906  		objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout
 68907  	}
 68908  	if ddcs.SinkRetryCount != nil {
 68909  		objectMap["sinkRetryCount"] = ddcs.SinkRetryCount
 68910  	}
 68911  	if ddcs.SinkRetryWait != nil {
 68912  		objectMap["sinkRetryWait"] = ddcs.SinkRetryWait
 68913  	}
 68914  	if ddcs.MaxConcurrentConnections != nil {
 68915  		objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections
 68916  	}
 68917  	if ddcs.Type != "" {
 68918  		objectMap["type"] = ddcs.Type
 68919  	}
 68920  	for k, v := range ddcs.AdditionalProperties {
 68921  		objectMap[k] = v
 68922  	}
 68923  	return json.Marshal(objectMap)
 68924  }
 68925  
 68926  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68927  func (ddcs DocumentDbCollectionSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 68928  	return nil, false
 68929  }
 68930  
 68931  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68932  func (ddcs DocumentDbCollectionSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 68933  	return nil, false
 68934  }
 68935  
 68936  // AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68937  func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) {
 68938  	return nil, false
 68939  }
 68940  
 68941  // AsAzureDataExplorerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68942  func (ddcs DocumentDbCollectionSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 68943  	return nil, false
 68944  }
 68945  
 68946  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68947  func (ddcs DocumentDbCollectionSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 68948  	return nil, false
 68949  }
 68950  
 68951  // AsDynamicsCrmSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68952  func (ddcs DocumentDbCollectionSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 68953  	return nil, false
 68954  }
 68955  
 68956  // AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68957  func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) {
 68958  	return nil, false
 68959  }
 68960  
 68961  // AsMicrosoftAccessSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68962  func (ddcs DocumentDbCollectionSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 68963  	return nil, false
 68964  }
 68965  
 68966  // AsInformixSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68967  func (ddcs DocumentDbCollectionSink) AsInformixSink() (*InformixSink, bool) {
 68968  	return nil, false
 68969  }
 68970  
 68971  // AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68972  func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) {
 68973  	return nil, false
 68974  }
 68975  
 68976  // AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68977  func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 68978  	return nil, false
 68979  }
 68980  
 68981  // AsAzureBlobFSSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68982  func (ddcs DocumentDbCollectionSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 68983  	return nil, false
 68984  }
 68985  
 68986  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68987  func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 68988  	return nil, false
 68989  }
 68990  
 68991  // AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68992  func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) {
 68993  	return nil, false
 68994  }
 68995  
 68996  // AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 68997  func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) {
 68998  	return nil, false
 68999  }
 69000  
 69001  // AsSQLMISink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69002  func (ddcs DocumentDbCollectionSink) AsSQLMISink() (*SQLMISink, bool) {
 69003  	return nil, false
 69004  }
 69005  
 69006  // AsAzureSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69007  func (ddcs DocumentDbCollectionSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 69008  	return nil, false
 69009  }
 69010  
 69011  // AsSQLServerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69012  func (ddcs DocumentDbCollectionSink) AsSQLServerSink() (*SQLServerSink, bool) {
 69013  	return nil, false
 69014  }
 69015  
 69016  // AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69017  func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) {
 69018  	return nil, false
 69019  }
 69020  
 69021  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69022  func (ddcs DocumentDbCollectionSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 69023  	return nil, false
 69024  }
 69025  
 69026  // AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69027  func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 69028  	return &ddcs, true
 69029  }
 69030  
 69031  // AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69032  func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) {
 69033  	return nil, false
 69034  }
 69035  
 69036  // AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69037  func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) {
 69038  	return nil, false
 69039  }
 69040  
 69041  // AsBinarySink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69042  func (ddcs DocumentDbCollectionSink) AsBinarySink() (*BinarySink, bool) {
 69043  	return nil, false
 69044  }
 69045  
 69046  // AsParquetSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69047  func (ddcs DocumentDbCollectionSink) AsParquetSink() (*ParquetSink, bool) {
 69048  	return nil, false
 69049  }
 69050  
 69051  // AsAvroSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69052  func (ddcs DocumentDbCollectionSink) AsAvroSink() (*AvroSink, bool) {
 69053  	return nil, false
 69054  }
 69055  
 69056  // AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69057  func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) {
 69058  	return nil, false
 69059  }
 69060  
 69061  // AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69062  func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 69063  	return nil, false
 69064  }
 69065  
 69066  // AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69067  func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 69068  	return nil, false
 69069  }
 69070  
 69071  // AsAzureMySQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69072  func (ddcs DocumentDbCollectionSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 69073  	return nil, false
 69074  }
 69075  
 69076  // AsAzurePostgreSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69077  func (ddcs DocumentDbCollectionSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 69078  	return nil, false
 69079  }
 69080  
 69081  // AsOrcSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69082  func (ddcs DocumentDbCollectionSink) AsOrcSink() (*OrcSink, bool) {
 69083  	return nil, false
 69084  }
 69085  
 69086  // AsJSONSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69087  func (ddcs DocumentDbCollectionSink) AsJSONSink() (*JSONSink, bool) {
 69088  	return nil, false
 69089  }
 69090  
 69091  // AsDelimitedTextSink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69092  func (ddcs DocumentDbCollectionSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 69093  	return nil, false
 69094  }
 69095  
 69096  // AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69097  func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) {
 69098  	return nil, false
 69099  }
 69100  
 69101  // AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink.
 69102  func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) {
 69103  	return &ddcs, true
 69104  }
 69105  
 69106  // UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct.
 69107  func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error {
 69108  	var m map[string]*json.RawMessage
 69109  	err := json.Unmarshal(body, &m)
 69110  	if err != nil {
 69111  		return err
 69112  	}
 69113  	for k, v := range m {
 69114  		switch k {
 69115  		case "nestingSeparator":
 69116  			if v != nil {
 69117  				var nestingSeparator interface{}
 69118  				err = json.Unmarshal(*v, &nestingSeparator)
 69119  				if err != nil {
 69120  					return err
 69121  				}
 69122  				ddcs.NestingSeparator = nestingSeparator
 69123  			}
 69124  		case "writeBehavior":
 69125  			if v != nil {
 69126  				var writeBehavior interface{}
 69127  				err = json.Unmarshal(*v, &writeBehavior)
 69128  				if err != nil {
 69129  					return err
 69130  				}
 69131  				ddcs.WriteBehavior = writeBehavior
 69132  			}
 69133  		default:
 69134  			if v != nil {
 69135  				var additionalProperties interface{}
 69136  				err = json.Unmarshal(*v, &additionalProperties)
 69137  				if err != nil {
 69138  					return err
 69139  				}
 69140  				if ddcs.AdditionalProperties == nil {
 69141  					ddcs.AdditionalProperties = make(map[string]interface{})
 69142  				}
 69143  				ddcs.AdditionalProperties[k] = additionalProperties
 69144  			}
 69145  		case "writeBatchSize":
 69146  			if v != nil {
 69147  				var writeBatchSize interface{}
 69148  				err = json.Unmarshal(*v, &writeBatchSize)
 69149  				if err != nil {
 69150  					return err
 69151  				}
 69152  				ddcs.WriteBatchSize = writeBatchSize
 69153  			}
 69154  		case "writeBatchTimeout":
 69155  			if v != nil {
 69156  				var writeBatchTimeout interface{}
 69157  				err = json.Unmarshal(*v, &writeBatchTimeout)
 69158  				if err != nil {
 69159  					return err
 69160  				}
 69161  				ddcs.WriteBatchTimeout = writeBatchTimeout
 69162  			}
 69163  		case "sinkRetryCount":
 69164  			if v != nil {
 69165  				var sinkRetryCount interface{}
 69166  				err = json.Unmarshal(*v, &sinkRetryCount)
 69167  				if err != nil {
 69168  					return err
 69169  				}
 69170  				ddcs.SinkRetryCount = sinkRetryCount
 69171  			}
 69172  		case "sinkRetryWait":
 69173  			if v != nil {
 69174  				var sinkRetryWait interface{}
 69175  				err = json.Unmarshal(*v, &sinkRetryWait)
 69176  				if err != nil {
 69177  					return err
 69178  				}
 69179  				ddcs.SinkRetryWait = sinkRetryWait
 69180  			}
 69181  		case "maxConcurrentConnections":
 69182  			if v != nil {
 69183  				var maxConcurrentConnections interface{}
 69184  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 69185  				if err != nil {
 69186  					return err
 69187  				}
 69188  				ddcs.MaxConcurrentConnections = maxConcurrentConnections
 69189  			}
 69190  		case "type":
 69191  			if v != nil {
 69192  				var typeVar TypeBasicCopySink
 69193  				err = json.Unmarshal(*v, &typeVar)
 69194  				if err != nil {
 69195  					return err
 69196  				}
 69197  				ddcs.Type = typeVar
 69198  			}
 69199  		}
 69200  	}
 69201  
 69202  	return nil
 69203  }
 69204  
 69205  // DocumentDbCollectionSource a copy activity Document Database Collection source.
 69206  type DocumentDbCollectionSource struct {
 69207  	// Query - Documents query. Type: string (or Expression with resultType string).
 69208  	Query interface{} `json:"query,omitempty"`
 69209  	// NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string).
 69210  	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
 69211  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 69212  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 69213  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 69214  	AdditionalProperties map[string]interface{} `json:""`
 69215  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 69216  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 69217  	// 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])).
 69218  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 69219  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 69220  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 69221  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 69222  	Type TypeBasicCopySource `json:"type,omitempty"`
 69223  }
 69224  
 69225  // MarshalJSON is the custom marshaler for DocumentDbCollectionSource.
 69226  func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) {
 69227  	ddcs.Type = TypeDocumentDbCollectionSource
 69228  	objectMap := make(map[string]interface{})
 69229  	if ddcs.Query != nil {
 69230  		objectMap["query"] = ddcs.Query
 69231  	}
 69232  	if ddcs.NestingSeparator != nil {
 69233  		objectMap["nestingSeparator"] = ddcs.NestingSeparator
 69234  	}
 69235  	if ddcs.QueryTimeout != nil {
 69236  		objectMap["queryTimeout"] = ddcs.QueryTimeout
 69237  	}
 69238  	if ddcs.SourceRetryCount != nil {
 69239  		objectMap["sourceRetryCount"] = ddcs.SourceRetryCount
 69240  	}
 69241  	if ddcs.SourceRetryWait != nil {
 69242  		objectMap["sourceRetryWait"] = ddcs.SourceRetryWait
 69243  	}
 69244  	if ddcs.MaxConcurrentConnections != nil {
 69245  		objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections
 69246  	}
 69247  	if ddcs.Type != "" {
 69248  		objectMap["type"] = ddcs.Type
 69249  	}
 69250  	for k, v := range ddcs.AdditionalProperties {
 69251  		objectMap[k] = v
 69252  	}
 69253  	return json.Marshal(objectMap)
 69254  }
 69255  
 69256  // AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69257  func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) {
 69258  	return nil, false
 69259  }
 69260  
 69261  // AsAzureBlobFSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69262  func (ddcs DocumentDbCollectionSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 69263  	return nil, false
 69264  }
 69265  
 69266  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69267  func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 69268  	return nil, false
 69269  }
 69270  
 69271  // AsOffice365Source is the BasicCopySource implementation for DocumentDbCollectionSource.
 69272  func (ddcs DocumentDbCollectionSource) AsOffice365Source() (*Office365Source, bool) {
 69273  	return nil, false
 69274  }
 69275  
 69276  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69277  func (ddcs DocumentDbCollectionSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 69278  	return nil, false
 69279  }
 69280  
 69281  // AsMongoDbV2Source is the BasicCopySource implementation for DocumentDbCollectionSource.
 69282  func (ddcs DocumentDbCollectionSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 69283  	return nil, false
 69284  }
 69285  
 69286  // AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69287  func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) {
 69288  	return nil, false
 69289  }
 69290  
 69291  // AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69292  func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) {
 69293  	return nil, false
 69294  }
 69295  
 69296  // AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69297  func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) {
 69298  	return nil, false
 69299  }
 69300  
 69301  // AsAzureDataExplorerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69302  func (ddcs DocumentDbCollectionSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 69303  	return nil, false
 69304  }
 69305  
 69306  // AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69307  func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) {
 69308  	return nil, false
 69309  }
 69310  
 69311  // AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69312  func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) {
 69313  	return nil, false
 69314  }
 69315  
 69316  // AsRestSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69317  func (ddcs DocumentDbCollectionSource) AsRestSource() (*RestSource, bool) {
 69318  	return nil, false
 69319  }
 69320  
 69321  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69322  func (ddcs DocumentDbCollectionSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 69323  	return nil, false
 69324  }
 69325  
 69326  // AsODataSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69327  func (ddcs DocumentDbCollectionSource) AsODataSource() (*ODataSource, bool) {
 69328  	return nil, false
 69329  }
 69330  
 69331  // AsMicrosoftAccessSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69332  func (ddcs DocumentDbCollectionSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 69333  	return nil, false
 69334  }
 69335  
 69336  // AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69337  func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) {
 69338  	return nil, false
 69339  }
 69340  
 69341  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69342  func (ddcs DocumentDbCollectionSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 69343  	return nil, false
 69344  }
 69345  
 69346  // AsDynamicsCrmSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69347  func (ddcs DocumentDbCollectionSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 69348  	return nil, false
 69349  }
 69350  
 69351  // AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69352  func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) {
 69353  	return nil, false
 69354  }
 69355  
 69356  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69357  func (ddcs DocumentDbCollectionSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 69358  	return nil, false
 69359  }
 69360  
 69361  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69362  func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 69363  	return &ddcs, true
 69364  }
 69365  
 69366  // AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69367  func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) {
 69368  	return nil, false
 69369  }
 69370  
 69371  // AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69372  func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 69373  	return nil, false
 69374  }
 69375  
 69376  // AsGoogleAdWordsSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69377  func (ddcs DocumentDbCollectionSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 69378  	return nil, false
 69379  }
 69380  
 69381  // AsOracleServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69382  func (ddcs DocumentDbCollectionSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 69383  	return nil, false
 69384  }
 69385  
 69386  // AsDynamicsAXSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69387  func (ddcs DocumentDbCollectionSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 69388  	return nil, false
 69389  }
 69390  
 69391  // AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69392  func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) {
 69393  	return nil, false
 69394  }
 69395  
 69396  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69397  func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 69398  	return nil, false
 69399  }
 69400  
 69401  // AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69402  func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) {
 69403  	return nil, false
 69404  }
 69405  
 69406  // AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69407  func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) {
 69408  	return nil, false
 69409  }
 69410  
 69411  // AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69412  func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) {
 69413  	return nil, false
 69414  }
 69415  
 69416  // AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69417  func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) {
 69418  	return nil, false
 69419  }
 69420  
 69421  // AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69422  func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) {
 69423  	return nil, false
 69424  }
 69425  
 69426  // AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69427  func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) {
 69428  	return nil, false
 69429  }
 69430  
 69431  // AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69432  func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) {
 69433  	return nil, false
 69434  }
 69435  
 69436  // AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69437  func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 69438  	return nil, false
 69439  }
 69440  
 69441  // AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69442  func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 69443  	return nil, false
 69444  }
 69445  
 69446  // AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69447  func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) {
 69448  	return nil, false
 69449  }
 69450  
 69451  // AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69452  func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) {
 69453  	return nil, false
 69454  }
 69455  
 69456  // AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69457  func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) {
 69458  	return nil, false
 69459  }
 69460  
 69461  // AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69462  func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) {
 69463  	return nil, false
 69464  }
 69465  
 69466  // AsAzureMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69467  func (ddcs DocumentDbCollectionSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 69468  	return nil, false
 69469  }
 69470  
 69471  // AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69472  func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) {
 69473  	return nil, false
 69474  }
 69475  
 69476  // AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69477  func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) {
 69478  	return nil, false
 69479  }
 69480  
 69481  // AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69482  func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) {
 69483  	return nil, false
 69484  }
 69485  
 69486  // AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69487  func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) {
 69488  	return nil, false
 69489  }
 69490  
 69491  // AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69492  func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) {
 69493  	return nil, false
 69494  }
 69495  
 69496  // AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69497  func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) {
 69498  	return nil, false
 69499  }
 69500  
 69501  // AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69502  func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) {
 69503  	return nil, false
 69504  }
 69505  
 69506  // AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69507  func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) {
 69508  	return nil, false
 69509  }
 69510  
 69511  // AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69512  func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 69513  	return nil, false
 69514  }
 69515  
 69516  // AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69517  func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) {
 69518  	return nil, false
 69519  }
 69520  
 69521  // AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69522  func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) {
 69523  	return nil, false
 69524  }
 69525  
 69526  // AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69527  func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 69528  	return nil, false
 69529  }
 69530  
 69531  // AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69532  func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) {
 69533  	return nil, false
 69534  }
 69535  
 69536  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69537  func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 69538  	return nil, false
 69539  }
 69540  
 69541  // AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69542  func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 69543  	return nil, false
 69544  }
 69545  
 69546  // AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69547  func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) {
 69548  	return nil, false
 69549  }
 69550  
 69551  // AsTeradataSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69552  func (ddcs DocumentDbCollectionSource) AsTeradataSource() (*TeradataSource, bool) {
 69553  	return nil, false
 69554  }
 69555  
 69556  // AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69557  func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 69558  	return nil, false
 69559  }
 69560  
 69561  // AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69562  func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) {
 69563  	return nil, false
 69564  }
 69565  
 69566  // AsSQLMISource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69567  func (ddcs DocumentDbCollectionSource) AsSQLMISource() (*SQLMISource, bool) {
 69568  	return nil, false
 69569  }
 69570  
 69571  // AsAzureSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69572  func (ddcs DocumentDbCollectionSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 69573  	return nil, false
 69574  }
 69575  
 69576  // AsSQLServerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69577  func (ddcs DocumentDbCollectionSource) AsSQLServerSource() (*SQLServerSource, bool) {
 69578  	return nil, false
 69579  }
 69580  
 69581  // AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69582  func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) {
 69583  	return nil, false
 69584  }
 69585  
 69586  // AsSapTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69587  func (ddcs DocumentDbCollectionSource) AsSapTableSource() (*SapTableSource, bool) {
 69588  	return nil, false
 69589  }
 69590  
 69591  // AsSapOpenHubSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69592  func (ddcs DocumentDbCollectionSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 69593  	return nil, false
 69594  }
 69595  
 69596  // AsSapHanaSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69597  func (ddcs DocumentDbCollectionSource) AsSapHanaSource() (*SapHanaSource, bool) {
 69598  	return nil, false
 69599  }
 69600  
 69601  // AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69602  func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) {
 69603  	return nil, false
 69604  }
 69605  
 69606  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69607  func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 69608  	return nil, false
 69609  }
 69610  
 69611  // AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69612  func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) {
 69613  	return nil, false
 69614  }
 69615  
 69616  // AsSapBwSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69617  func (ddcs DocumentDbCollectionSource) AsSapBwSource() (*SapBwSource, bool) {
 69618  	return nil, false
 69619  }
 69620  
 69621  // AsSybaseSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69622  func (ddcs DocumentDbCollectionSource) AsSybaseSource() (*SybaseSource, bool) {
 69623  	return nil, false
 69624  }
 69625  
 69626  // AsPostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69627  func (ddcs DocumentDbCollectionSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 69628  	return nil, false
 69629  }
 69630  
 69631  // AsMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69632  func (ddcs DocumentDbCollectionSource) AsMySQLSource() (*MySQLSource, bool) {
 69633  	return nil, false
 69634  }
 69635  
 69636  // AsOdbcSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69637  func (ddcs DocumentDbCollectionSource) AsOdbcSource() (*OdbcSource, bool) {
 69638  	return nil, false
 69639  }
 69640  
 69641  // AsDb2Source is the BasicCopySource implementation for DocumentDbCollectionSource.
 69642  func (ddcs DocumentDbCollectionSource) AsDb2Source() (*Db2Source, bool) {
 69643  	return nil, false
 69644  }
 69645  
 69646  // AsInformixSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69647  func (ddcs DocumentDbCollectionSource) AsInformixSource() (*InformixSource, bool) {
 69648  	return nil, false
 69649  }
 69650  
 69651  // AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69652  func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) {
 69653  	return nil, false
 69654  }
 69655  
 69656  // AsTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69657  func (ddcs DocumentDbCollectionSource) AsTabularSource() (*TabularSource, bool) {
 69658  	return nil, false
 69659  }
 69660  
 69661  // AsBasicTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69662  func (ddcs DocumentDbCollectionSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 69663  	return nil, false
 69664  }
 69665  
 69666  // AsBinarySource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69667  func (ddcs DocumentDbCollectionSource) AsBinarySource() (*BinarySource, bool) {
 69668  	return nil, false
 69669  }
 69670  
 69671  // AsOrcSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69672  func (ddcs DocumentDbCollectionSource) AsOrcSource() (*OrcSource, bool) {
 69673  	return nil, false
 69674  }
 69675  
 69676  // AsJSONSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69677  func (ddcs DocumentDbCollectionSource) AsJSONSource() (*JSONSource, bool) {
 69678  	return nil, false
 69679  }
 69680  
 69681  // AsDelimitedTextSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69682  func (ddcs DocumentDbCollectionSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 69683  	return nil, false
 69684  }
 69685  
 69686  // AsParquetSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69687  func (ddcs DocumentDbCollectionSource) AsParquetSource() (*ParquetSource, bool) {
 69688  	return nil, false
 69689  }
 69690  
 69691  // AsAvroSource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69692  func (ddcs DocumentDbCollectionSource) AsAvroSource() (*AvroSource, bool) {
 69693  	return nil, false
 69694  }
 69695  
 69696  // AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69697  func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) {
 69698  	return nil, false
 69699  }
 69700  
 69701  // AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource.
 69702  func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) {
 69703  	return &ddcs, true
 69704  }
 69705  
 69706  // UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct.
 69707  func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error {
 69708  	var m map[string]*json.RawMessage
 69709  	err := json.Unmarshal(body, &m)
 69710  	if err != nil {
 69711  		return err
 69712  	}
 69713  	for k, v := range m {
 69714  		switch k {
 69715  		case "query":
 69716  			if v != nil {
 69717  				var query interface{}
 69718  				err = json.Unmarshal(*v, &query)
 69719  				if err != nil {
 69720  					return err
 69721  				}
 69722  				ddcs.Query = query
 69723  			}
 69724  		case "nestingSeparator":
 69725  			if v != nil {
 69726  				var nestingSeparator interface{}
 69727  				err = json.Unmarshal(*v, &nestingSeparator)
 69728  				if err != nil {
 69729  					return err
 69730  				}
 69731  				ddcs.NestingSeparator = nestingSeparator
 69732  			}
 69733  		case "queryTimeout":
 69734  			if v != nil {
 69735  				var queryTimeout interface{}
 69736  				err = json.Unmarshal(*v, &queryTimeout)
 69737  				if err != nil {
 69738  					return err
 69739  				}
 69740  				ddcs.QueryTimeout = queryTimeout
 69741  			}
 69742  		default:
 69743  			if v != nil {
 69744  				var additionalProperties interface{}
 69745  				err = json.Unmarshal(*v, &additionalProperties)
 69746  				if err != nil {
 69747  					return err
 69748  				}
 69749  				if ddcs.AdditionalProperties == nil {
 69750  					ddcs.AdditionalProperties = make(map[string]interface{})
 69751  				}
 69752  				ddcs.AdditionalProperties[k] = additionalProperties
 69753  			}
 69754  		case "sourceRetryCount":
 69755  			if v != nil {
 69756  				var sourceRetryCount interface{}
 69757  				err = json.Unmarshal(*v, &sourceRetryCount)
 69758  				if err != nil {
 69759  					return err
 69760  				}
 69761  				ddcs.SourceRetryCount = sourceRetryCount
 69762  			}
 69763  		case "sourceRetryWait":
 69764  			if v != nil {
 69765  				var sourceRetryWait interface{}
 69766  				err = json.Unmarshal(*v, &sourceRetryWait)
 69767  				if err != nil {
 69768  					return err
 69769  				}
 69770  				ddcs.SourceRetryWait = sourceRetryWait
 69771  			}
 69772  		case "maxConcurrentConnections":
 69773  			if v != nil {
 69774  				var maxConcurrentConnections interface{}
 69775  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 69776  				if err != nil {
 69777  					return err
 69778  				}
 69779  				ddcs.MaxConcurrentConnections = maxConcurrentConnections
 69780  			}
 69781  		case "type":
 69782  			if v != nil {
 69783  				var typeVar TypeBasicCopySource
 69784  				err = json.Unmarshal(*v, &typeVar)
 69785  				if err != nil {
 69786  					return err
 69787  				}
 69788  				ddcs.Type = typeVar
 69789  			}
 69790  		}
 69791  	}
 69792  
 69793  	return nil
 69794  }
 69795  
 69796  // DrillDatasetTypeProperties drill Dataset Properties
 69797  type DrillDatasetTypeProperties struct {
 69798  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 69799  	TableName interface{} `json:"tableName,omitempty"`
 69800  	// Table - The table name of the Drill. Type: string (or Expression with resultType string).
 69801  	Table interface{} `json:"table,omitempty"`
 69802  	// Schema - The schema name of the Drill. Type: string (or Expression with resultType string).
 69803  	Schema interface{} `json:"schema,omitempty"`
 69804  }
 69805  
 69806  // DrillLinkedService drill server linked service.
 69807  type DrillLinkedService struct {
 69808  	// DrillLinkedServiceTypeProperties - Drill server linked service properties.
 69809  	*DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 69810  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 69811  	AdditionalProperties map[string]interface{} `json:""`
 69812  	// ConnectVia - The integration runtime reference.
 69813  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 69814  	// Description - Linked service description.
 69815  	Description *string `json:"description,omitempty"`
 69816  	// Parameters - Parameters for linked service.
 69817  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 69818  	// Annotations - List of tags that can be used for describing the linked service.
 69819  	Annotations *[]interface{} `json:"annotations,omitempty"`
 69820  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 69821  	Type TypeBasicLinkedService `json:"type,omitempty"`
 69822  }
 69823  
 69824  // MarshalJSON is the custom marshaler for DrillLinkedService.
 69825  func (dls DrillLinkedService) MarshalJSON() ([]byte, error) {
 69826  	dls.Type = TypeDrill
 69827  	objectMap := make(map[string]interface{})
 69828  	if dls.DrillLinkedServiceTypeProperties != nil {
 69829  		objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties
 69830  	}
 69831  	if dls.ConnectVia != nil {
 69832  		objectMap["connectVia"] = dls.ConnectVia
 69833  	}
 69834  	if dls.Description != nil {
 69835  		objectMap["description"] = dls.Description
 69836  	}
 69837  	if dls.Parameters != nil {
 69838  		objectMap["parameters"] = dls.Parameters
 69839  	}
 69840  	if dls.Annotations != nil {
 69841  		objectMap["annotations"] = dls.Annotations
 69842  	}
 69843  	if dls.Type != "" {
 69844  		objectMap["type"] = dls.Type
 69845  	}
 69846  	for k, v := range dls.AdditionalProperties {
 69847  		objectMap[k] = v
 69848  	}
 69849  	return json.Marshal(objectMap)
 69850  }
 69851  
 69852  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69853  func (dls DrillLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 69854  	return nil, false
 69855  }
 69856  
 69857  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69858  func (dls DrillLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 69859  	return nil, false
 69860  }
 69861  
 69862  // AsSapTableLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69863  func (dls DrillLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 69864  	return nil, false
 69865  }
 69866  
 69867  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69868  func (dls DrillLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 69869  	return nil, false
 69870  }
 69871  
 69872  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69873  func (dls DrillLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 69874  	return nil, false
 69875  }
 69876  
 69877  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69878  func (dls DrillLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 69879  	return nil, false
 69880  }
 69881  
 69882  // AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69883  func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 69884  	return nil, false
 69885  }
 69886  
 69887  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69888  func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 69889  	return nil, false
 69890  }
 69891  
 69892  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69893  func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 69894  	return nil, false
 69895  }
 69896  
 69897  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69898  func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 69899  	return nil, false
 69900  }
 69901  
 69902  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69903  func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 69904  	return nil, false
 69905  }
 69906  
 69907  // AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69908  func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 69909  	return nil, false
 69910  }
 69911  
 69912  // AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69913  func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 69914  	return nil, false
 69915  }
 69916  
 69917  // AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69918  func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 69919  	return nil, false
 69920  }
 69921  
 69922  // AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69923  func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 69924  	return nil, false
 69925  }
 69926  
 69927  // AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69928  func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 69929  	return nil, false
 69930  }
 69931  
 69932  // AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69933  func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 69934  	return nil, false
 69935  }
 69936  
 69937  // AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69938  func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 69939  	return nil, false
 69940  }
 69941  
 69942  // AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69943  func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 69944  	return nil, false
 69945  }
 69946  
 69947  // AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69948  func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 69949  	return nil, false
 69950  }
 69951  
 69952  // AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69953  func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 69954  	return nil, false
 69955  }
 69956  
 69957  // AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69958  func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 69959  	return nil, false
 69960  }
 69961  
 69962  // AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69963  func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 69964  	return nil, false
 69965  }
 69966  
 69967  // AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69968  func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 69969  	return nil, false
 69970  }
 69971  
 69972  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69973  func (dls DrillLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 69974  	return nil, false
 69975  }
 69976  
 69977  // AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69978  func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 69979  	return nil, false
 69980  }
 69981  
 69982  // AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69983  func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 69984  	return nil, false
 69985  }
 69986  
 69987  // AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69988  func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 69989  	return nil, false
 69990  }
 69991  
 69992  // AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69993  func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 69994  	return nil, false
 69995  }
 69996  
 69997  // AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 69998  func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 69999  	return nil, false
 70000  }
 70001  
 70002  // AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70003  func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 70004  	return nil, false
 70005  }
 70006  
 70007  // AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70008  func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 70009  	return nil, false
 70010  }
 70011  
 70012  // AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70013  func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 70014  	return nil, false
 70015  }
 70016  
 70017  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70018  func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 70019  	return nil, false
 70020  }
 70021  
 70022  // AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70023  func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 70024  	return nil, false
 70025  }
 70026  
 70027  // AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70028  func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 70029  	return &dls, true
 70030  }
 70031  
 70032  // AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70033  func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 70034  	return nil, false
 70035  }
 70036  
 70037  // AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70038  func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 70039  	return nil, false
 70040  }
 70041  
 70042  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70043  func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 70044  	return nil, false
 70045  }
 70046  
 70047  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70048  func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 70049  	return nil, false
 70050  }
 70051  
 70052  // AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70053  func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 70054  	return nil, false
 70055  }
 70056  
 70057  // AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70058  func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 70059  	return nil, false
 70060  }
 70061  
 70062  // AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70063  func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 70064  	return nil, false
 70065  }
 70066  
 70067  // AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70068  func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 70069  	return nil, false
 70070  }
 70071  
 70072  // AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70073  func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 70074  	return nil, false
 70075  }
 70076  
 70077  // AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70078  func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 70079  	return nil, false
 70080  }
 70081  
 70082  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70083  func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 70084  	return nil, false
 70085  }
 70086  
 70087  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70088  func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 70089  	return nil, false
 70090  }
 70091  
 70092  // AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70093  func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 70094  	return nil, false
 70095  }
 70096  
 70097  // AsRestServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70098  func (dls DrillLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 70099  	return nil, false
 70100  }
 70101  
 70102  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70103  func (dls DrillLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 70104  	return nil, false
 70105  }
 70106  
 70107  // AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70108  func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 70109  	return nil, false
 70110  }
 70111  
 70112  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70113  func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 70114  	return nil, false
 70115  }
 70116  
 70117  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70118  func (dls DrillLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 70119  	return nil, false
 70120  }
 70121  
 70122  // AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70123  func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 70124  	return nil, false
 70125  }
 70126  
 70127  // AsOffice365LinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70128  func (dls DrillLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 70129  	return nil, false
 70130  }
 70131  
 70132  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70133  func (dls DrillLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 70134  	return nil, false
 70135  }
 70136  
 70137  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70138  func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 70139  	return nil, false
 70140  }
 70141  
 70142  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70143  func (dls DrillLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 70144  	return nil, false
 70145  }
 70146  
 70147  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70148  func (dls DrillLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 70149  	return nil, false
 70150  }
 70151  
 70152  // AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70153  func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 70154  	return nil, false
 70155  }
 70156  
 70157  // AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70158  func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 70159  	return nil, false
 70160  }
 70161  
 70162  // AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70163  func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 70164  	return nil, false
 70165  }
 70166  
 70167  // AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70168  func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 70169  	return nil, false
 70170  }
 70171  
 70172  // AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70173  func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 70174  	return nil, false
 70175  }
 70176  
 70177  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70178  func (dls DrillLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 70179  	return nil, false
 70180  }
 70181  
 70182  // AsInformixLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70183  func (dls DrillLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 70184  	return nil, false
 70185  }
 70186  
 70187  // AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70188  func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 70189  	return nil, false
 70190  }
 70191  
 70192  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70193  func (dls DrillLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 70194  	return nil, false
 70195  }
 70196  
 70197  // AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70198  func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 70199  	return nil, false
 70200  }
 70201  
 70202  // AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70203  func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 70204  	return nil, false
 70205  }
 70206  
 70207  // AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70208  func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 70209  	return nil, false
 70210  }
 70211  
 70212  // AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70213  func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 70214  	return nil, false
 70215  }
 70216  
 70217  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70218  func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 70219  	return nil, false
 70220  }
 70221  
 70222  // AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70223  func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 70224  	return nil, false
 70225  }
 70226  
 70227  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70228  func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 70229  	return nil, false
 70230  }
 70231  
 70232  // AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70233  func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 70234  	return nil, false
 70235  }
 70236  
 70237  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70238  func (dls DrillLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 70239  	return nil, false
 70240  }
 70241  
 70242  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70243  func (dls DrillLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 70244  	return nil, false
 70245  }
 70246  
 70247  // AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70248  func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 70249  	return nil, false
 70250  }
 70251  
 70252  // AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70253  func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 70254  	return nil, false
 70255  }
 70256  
 70257  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70258  func (dls DrillLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 70259  	return nil, false
 70260  }
 70261  
 70262  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70263  func (dls DrillLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 70264  	return nil, false
 70265  }
 70266  
 70267  // AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70268  func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 70269  	return nil, false
 70270  }
 70271  
 70272  // AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70273  func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 70274  	return nil, false
 70275  }
 70276  
 70277  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70278  func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 70279  	return nil, false
 70280  }
 70281  
 70282  // AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70283  func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 70284  	return nil, false
 70285  }
 70286  
 70287  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70288  func (dls DrillLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 70289  	return nil, false
 70290  }
 70291  
 70292  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70293  func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 70294  	return nil, false
 70295  }
 70296  
 70297  // AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70298  func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 70299  	return nil, false
 70300  }
 70301  
 70302  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70303  func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 70304  	return nil, false
 70305  }
 70306  
 70307  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70308  func (dls DrillLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 70309  	return nil, false
 70310  }
 70311  
 70312  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70313  func (dls DrillLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 70314  	return nil, false
 70315  }
 70316  
 70317  // AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70318  func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 70319  	return nil, false
 70320  }
 70321  
 70322  // AsLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70323  func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) {
 70324  	return nil, false
 70325  }
 70326  
 70327  // AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService.
 70328  func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 70329  	return &dls, true
 70330  }
 70331  
 70332  // UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct.
 70333  func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error {
 70334  	var m map[string]*json.RawMessage
 70335  	err := json.Unmarshal(body, &m)
 70336  	if err != nil {
 70337  		return err
 70338  	}
 70339  	for k, v := range m {
 70340  		switch k {
 70341  		case "typeProperties":
 70342  			if v != nil {
 70343  				var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties
 70344  				err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties)
 70345  				if err != nil {
 70346  					return err
 70347  				}
 70348  				dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties
 70349  			}
 70350  		default:
 70351  			if v != nil {
 70352  				var additionalProperties interface{}
 70353  				err = json.Unmarshal(*v, &additionalProperties)
 70354  				if err != nil {
 70355  					return err
 70356  				}
 70357  				if dls.AdditionalProperties == nil {
 70358  					dls.AdditionalProperties = make(map[string]interface{})
 70359  				}
 70360  				dls.AdditionalProperties[k] = additionalProperties
 70361  			}
 70362  		case "connectVia":
 70363  			if v != nil {
 70364  				var connectVia IntegrationRuntimeReference
 70365  				err = json.Unmarshal(*v, &connectVia)
 70366  				if err != nil {
 70367  					return err
 70368  				}
 70369  				dls.ConnectVia = &connectVia
 70370  			}
 70371  		case "description":
 70372  			if v != nil {
 70373  				var description string
 70374  				err = json.Unmarshal(*v, &description)
 70375  				if err != nil {
 70376  					return err
 70377  				}
 70378  				dls.Description = &description
 70379  			}
 70380  		case "parameters":
 70381  			if v != nil {
 70382  				var parameters map[string]*ParameterSpecification
 70383  				err = json.Unmarshal(*v, &parameters)
 70384  				if err != nil {
 70385  					return err
 70386  				}
 70387  				dls.Parameters = parameters
 70388  			}
 70389  		case "annotations":
 70390  			if v != nil {
 70391  				var annotations []interface{}
 70392  				err = json.Unmarshal(*v, &annotations)
 70393  				if err != nil {
 70394  					return err
 70395  				}
 70396  				dls.Annotations = &annotations
 70397  			}
 70398  		case "type":
 70399  			if v != nil {
 70400  				var typeVar TypeBasicLinkedService
 70401  				err = json.Unmarshal(*v, &typeVar)
 70402  				if err != nil {
 70403  					return err
 70404  				}
 70405  				dls.Type = typeVar
 70406  			}
 70407  		}
 70408  	}
 70409  
 70410  	return nil
 70411  }
 70412  
 70413  // DrillLinkedServiceTypeProperties drill server linked service properties.
 70414  type DrillLinkedServiceTypeProperties struct {
 70415  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 70416  	ConnectionString interface{} `json:"connectionString,omitempty"`
 70417  	// Pwd - The Azure key vault secret reference of password in connection string.
 70418  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
 70419  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 70420  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 70421  }
 70422  
 70423  // DrillSource a copy activity Drill server source.
 70424  type DrillSource struct {
 70425  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 70426  	Query interface{} `json:"query,omitempty"`
 70427  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 70428  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 70429  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 70430  	AdditionalProperties map[string]interface{} `json:""`
 70431  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 70432  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 70433  	// 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])).
 70434  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 70435  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 70436  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 70437  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 70438  	Type TypeBasicCopySource `json:"type,omitempty"`
 70439  }
 70440  
 70441  // MarshalJSON is the custom marshaler for DrillSource.
 70442  func (ds DrillSource) MarshalJSON() ([]byte, error) {
 70443  	ds.Type = TypeDrillSource
 70444  	objectMap := make(map[string]interface{})
 70445  	if ds.Query != nil {
 70446  		objectMap["query"] = ds.Query
 70447  	}
 70448  	if ds.QueryTimeout != nil {
 70449  		objectMap["queryTimeout"] = ds.QueryTimeout
 70450  	}
 70451  	if ds.SourceRetryCount != nil {
 70452  		objectMap["sourceRetryCount"] = ds.SourceRetryCount
 70453  	}
 70454  	if ds.SourceRetryWait != nil {
 70455  		objectMap["sourceRetryWait"] = ds.SourceRetryWait
 70456  	}
 70457  	if ds.MaxConcurrentConnections != nil {
 70458  		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
 70459  	}
 70460  	if ds.Type != "" {
 70461  		objectMap["type"] = ds.Type
 70462  	}
 70463  	for k, v := range ds.AdditionalProperties {
 70464  		objectMap[k] = v
 70465  	}
 70466  	return json.Marshal(objectMap)
 70467  }
 70468  
 70469  // AsHTTPSource is the BasicCopySource implementation for DrillSource.
 70470  func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) {
 70471  	return nil, false
 70472  }
 70473  
 70474  // AsAzureBlobFSSource is the BasicCopySource implementation for DrillSource.
 70475  func (ds DrillSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 70476  	return nil, false
 70477  }
 70478  
 70479  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource.
 70480  func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 70481  	return nil, false
 70482  }
 70483  
 70484  // AsOffice365Source is the BasicCopySource implementation for DrillSource.
 70485  func (ds DrillSource) AsOffice365Source() (*Office365Source, bool) {
 70486  	return nil, false
 70487  }
 70488  
 70489  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DrillSource.
 70490  func (ds DrillSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 70491  	return nil, false
 70492  }
 70493  
 70494  // AsMongoDbV2Source is the BasicCopySource implementation for DrillSource.
 70495  func (ds DrillSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 70496  	return nil, false
 70497  }
 70498  
 70499  // AsMongoDbSource is the BasicCopySource implementation for DrillSource.
 70500  func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) {
 70501  	return nil, false
 70502  }
 70503  
 70504  // AsWebSource is the BasicCopySource implementation for DrillSource.
 70505  func (ds DrillSource) AsWebSource() (*WebSource, bool) {
 70506  	return nil, false
 70507  }
 70508  
 70509  // AsOracleSource is the BasicCopySource implementation for DrillSource.
 70510  func (ds DrillSource) AsOracleSource() (*OracleSource, bool) {
 70511  	return nil, false
 70512  }
 70513  
 70514  // AsAzureDataExplorerSource is the BasicCopySource implementation for DrillSource.
 70515  func (ds DrillSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 70516  	return nil, false
 70517  }
 70518  
 70519  // AsHdfsSource is the BasicCopySource implementation for DrillSource.
 70520  func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) {
 70521  	return nil, false
 70522  }
 70523  
 70524  // AsFileSystemSource is the BasicCopySource implementation for DrillSource.
 70525  func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) {
 70526  	return nil, false
 70527  }
 70528  
 70529  // AsRestSource is the BasicCopySource implementation for DrillSource.
 70530  func (ds DrillSource) AsRestSource() (*RestSource, bool) {
 70531  	return nil, false
 70532  }
 70533  
 70534  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DrillSource.
 70535  func (ds DrillSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 70536  	return nil, false
 70537  }
 70538  
 70539  // AsODataSource is the BasicCopySource implementation for DrillSource.
 70540  func (ds DrillSource) AsODataSource() (*ODataSource, bool) {
 70541  	return nil, false
 70542  }
 70543  
 70544  // AsMicrosoftAccessSource is the BasicCopySource implementation for DrillSource.
 70545  func (ds DrillSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 70546  	return nil, false
 70547  }
 70548  
 70549  // AsRelationalSource is the BasicCopySource implementation for DrillSource.
 70550  func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) {
 70551  	return nil, false
 70552  }
 70553  
 70554  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DrillSource.
 70555  func (ds DrillSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 70556  	return nil, false
 70557  }
 70558  
 70559  // AsDynamicsCrmSource is the BasicCopySource implementation for DrillSource.
 70560  func (ds DrillSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 70561  	return nil, false
 70562  }
 70563  
 70564  // AsDynamicsSource is the BasicCopySource implementation for DrillSource.
 70565  func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) {
 70566  	return nil, false
 70567  }
 70568  
 70569  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DrillSource.
 70570  func (ds DrillSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 70571  	return nil, false
 70572  }
 70573  
 70574  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource.
 70575  func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 70576  	return nil, false
 70577  }
 70578  
 70579  // AsBlobSource is the BasicCopySource implementation for DrillSource.
 70580  func (ds DrillSource) AsBlobSource() (*BlobSource, bool) {
 70581  	return nil, false
 70582  }
 70583  
 70584  // AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource.
 70585  func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 70586  	return nil, false
 70587  }
 70588  
 70589  // AsGoogleAdWordsSource is the BasicCopySource implementation for DrillSource.
 70590  func (ds DrillSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 70591  	return nil, false
 70592  }
 70593  
 70594  // AsOracleServiceCloudSource is the BasicCopySource implementation for DrillSource.
 70595  func (ds DrillSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 70596  	return nil, false
 70597  }
 70598  
 70599  // AsDynamicsAXSource is the BasicCopySource implementation for DrillSource.
 70600  func (ds DrillSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 70601  	return nil, false
 70602  }
 70603  
 70604  // AsResponsysSource is the BasicCopySource implementation for DrillSource.
 70605  func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) {
 70606  	return nil, false
 70607  }
 70608  
 70609  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource.
 70610  func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 70611  	return nil, false
 70612  }
 70613  
 70614  // AsVerticaSource is the BasicCopySource implementation for DrillSource.
 70615  func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) {
 70616  	return nil, false
 70617  }
 70618  
 70619  // AsNetezzaSource is the BasicCopySource implementation for DrillSource.
 70620  func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) {
 70621  	return nil, false
 70622  }
 70623  
 70624  // AsZohoSource is the BasicCopySource implementation for DrillSource.
 70625  func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) {
 70626  	return nil, false
 70627  }
 70628  
 70629  // AsXeroSource is the BasicCopySource implementation for DrillSource.
 70630  func (ds DrillSource) AsXeroSource() (*XeroSource, bool) {
 70631  	return nil, false
 70632  }
 70633  
 70634  // AsSquareSource is the BasicCopySource implementation for DrillSource.
 70635  func (ds DrillSource) AsSquareSource() (*SquareSource, bool) {
 70636  	return nil, false
 70637  }
 70638  
 70639  // AsSparkSource is the BasicCopySource implementation for DrillSource.
 70640  func (ds DrillSource) AsSparkSource() (*SparkSource, bool) {
 70641  	return nil, false
 70642  }
 70643  
 70644  // AsShopifySource is the BasicCopySource implementation for DrillSource.
 70645  func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) {
 70646  	return nil, false
 70647  }
 70648  
 70649  // AsServiceNowSource is the BasicCopySource implementation for DrillSource.
 70650  func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 70651  	return nil, false
 70652  }
 70653  
 70654  // AsQuickBooksSource is the BasicCopySource implementation for DrillSource.
 70655  func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 70656  	return nil, false
 70657  }
 70658  
 70659  // AsPrestoSource is the BasicCopySource implementation for DrillSource.
 70660  func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) {
 70661  	return nil, false
 70662  }
 70663  
 70664  // AsPhoenixSource is the BasicCopySource implementation for DrillSource.
 70665  func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) {
 70666  	return nil, false
 70667  }
 70668  
 70669  // AsPaypalSource is the BasicCopySource implementation for DrillSource.
 70670  func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) {
 70671  	return nil, false
 70672  }
 70673  
 70674  // AsMarketoSource is the BasicCopySource implementation for DrillSource.
 70675  func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) {
 70676  	return nil, false
 70677  }
 70678  
 70679  // AsAzureMariaDBSource is the BasicCopySource implementation for DrillSource.
 70680  func (ds DrillSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 70681  	return nil, false
 70682  }
 70683  
 70684  // AsMariaDBSource is the BasicCopySource implementation for DrillSource.
 70685  func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) {
 70686  	return nil, false
 70687  }
 70688  
 70689  // AsMagentoSource is the BasicCopySource implementation for DrillSource.
 70690  func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) {
 70691  	return nil, false
 70692  }
 70693  
 70694  // AsJiraSource is the BasicCopySource implementation for DrillSource.
 70695  func (ds DrillSource) AsJiraSource() (*JiraSource, bool) {
 70696  	return nil, false
 70697  }
 70698  
 70699  // AsImpalaSource is the BasicCopySource implementation for DrillSource.
 70700  func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) {
 70701  	return nil, false
 70702  }
 70703  
 70704  // AsHubspotSource is the BasicCopySource implementation for DrillSource.
 70705  func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) {
 70706  	return nil, false
 70707  }
 70708  
 70709  // AsHiveSource is the BasicCopySource implementation for DrillSource.
 70710  func (ds DrillSource) AsHiveSource() (*HiveSource, bool) {
 70711  	return nil, false
 70712  }
 70713  
 70714  // AsHBaseSource is the BasicCopySource implementation for DrillSource.
 70715  func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) {
 70716  	return nil, false
 70717  }
 70718  
 70719  // AsGreenplumSource is the BasicCopySource implementation for DrillSource.
 70720  func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) {
 70721  	return nil, false
 70722  }
 70723  
 70724  // AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource.
 70725  func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 70726  	return nil, false
 70727  }
 70728  
 70729  // AsEloquaSource is the BasicCopySource implementation for DrillSource.
 70730  func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) {
 70731  	return nil, false
 70732  }
 70733  
 70734  // AsDrillSource is the BasicCopySource implementation for DrillSource.
 70735  func (ds DrillSource) AsDrillSource() (*DrillSource, bool) {
 70736  	return &ds, true
 70737  }
 70738  
 70739  // AsCouchbaseSource is the BasicCopySource implementation for DrillSource.
 70740  func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 70741  	return nil, false
 70742  }
 70743  
 70744  // AsConcurSource is the BasicCopySource implementation for DrillSource.
 70745  func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) {
 70746  	return nil, false
 70747  }
 70748  
 70749  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource.
 70750  func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 70751  	return nil, false
 70752  }
 70753  
 70754  // AsAmazonMWSSource is the BasicCopySource implementation for DrillSource.
 70755  func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 70756  	return nil, false
 70757  }
 70758  
 70759  // AsCassandraSource is the BasicCopySource implementation for DrillSource.
 70760  func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) {
 70761  	return nil, false
 70762  }
 70763  
 70764  // AsTeradataSource is the BasicCopySource implementation for DrillSource.
 70765  func (ds DrillSource) AsTeradataSource() (*TeradataSource, bool) {
 70766  	return nil, false
 70767  }
 70768  
 70769  // AsAzureMySQLSource is the BasicCopySource implementation for DrillSource.
 70770  func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 70771  	return nil, false
 70772  }
 70773  
 70774  // AsSQLDWSource is the BasicCopySource implementation for DrillSource.
 70775  func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) {
 70776  	return nil, false
 70777  }
 70778  
 70779  // AsSQLMISource is the BasicCopySource implementation for DrillSource.
 70780  func (ds DrillSource) AsSQLMISource() (*SQLMISource, bool) {
 70781  	return nil, false
 70782  }
 70783  
 70784  // AsAzureSQLSource is the BasicCopySource implementation for DrillSource.
 70785  func (ds DrillSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 70786  	return nil, false
 70787  }
 70788  
 70789  // AsSQLServerSource is the BasicCopySource implementation for DrillSource.
 70790  func (ds DrillSource) AsSQLServerSource() (*SQLServerSource, bool) {
 70791  	return nil, false
 70792  }
 70793  
 70794  // AsSQLSource is the BasicCopySource implementation for DrillSource.
 70795  func (ds DrillSource) AsSQLSource() (*SQLSource, bool) {
 70796  	return nil, false
 70797  }
 70798  
 70799  // AsSapTableSource is the BasicCopySource implementation for DrillSource.
 70800  func (ds DrillSource) AsSapTableSource() (*SapTableSource, bool) {
 70801  	return nil, false
 70802  }
 70803  
 70804  // AsSapOpenHubSource is the BasicCopySource implementation for DrillSource.
 70805  func (ds DrillSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 70806  	return nil, false
 70807  }
 70808  
 70809  // AsSapHanaSource is the BasicCopySource implementation for DrillSource.
 70810  func (ds DrillSource) AsSapHanaSource() (*SapHanaSource, bool) {
 70811  	return nil, false
 70812  }
 70813  
 70814  // AsSapEccSource is the BasicCopySource implementation for DrillSource.
 70815  func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) {
 70816  	return nil, false
 70817  }
 70818  
 70819  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource.
 70820  func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 70821  	return nil, false
 70822  }
 70823  
 70824  // AsSalesforceSource is the BasicCopySource implementation for DrillSource.
 70825  func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) {
 70826  	return nil, false
 70827  }
 70828  
 70829  // AsSapBwSource is the BasicCopySource implementation for DrillSource.
 70830  func (ds DrillSource) AsSapBwSource() (*SapBwSource, bool) {
 70831  	return nil, false
 70832  }
 70833  
 70834  // AsSybaseSource is the BasicCopySource implementation for DrillSource.
 70835  func (ds DrillSource) AsSybaseSource() (*SybaseSource, bool) {
 70836  	return nil, false
 70837  }
 70838  
 70839  // AsPostgreSQLSource is the BasicCopySource implementation for DrillSource.
 70840  func (ds DrillSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 70841  	return nil, false
 70842  }
 70843  
 70844  // AsMySQLSource is the BasicCopySource implementation for DrillSource.
 70845  func (ds DrillSource) AsMySQLSource() (*MySQLSource, bool) {
 70846  	return nil, false
 70847  }
 70848  
 70849  // AsOdbcSource is the BasicCopySource implementation for DrillSource.
 70850  func (ds DrillSource) AsOdbcSource() (*OdbcSource, bool) {
 70851  	return nil, false
 70852  }
 70853  
 70854  // AsDb2Source is the BasicCopySource implementation for DrillSource.
 70855  func (ds DrillSource) AsDb2Source() (*Db2Source, bool) {
 70856  	return nil, false
 70857  }
 70858  
 70859  // AsInformixSource is the BasicCopySource implementation for DrillSource.
 70860  func (ds DrillSource) AsInformixSource() (*InformixSource, bool) {
 70861  	return nil, false
 70862  }
 70863  
 70864  // AsAzureTableSource is the BasicCopySource implementation for DrillSource.
 70865  func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) {
 70866  	return nil, false
 70867  }
 70868  
 70869  // AsTabularSource is the BasicCopySource implementation for DrillSource.
 70870  func (ds DrillSource) AsTabularSource() (*TabularSource, bool) {
 70871  	return nil, false
 70872  }
 70873  
 70874  // AsBasicTabularSource is the BasicCopySource implementation for DrillSource.
 70875  func (ds DrillSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 70876  	return &ds, true
 70877  }
 70878  
 70879  // AsBinarySource is the BasicCopySource implementation for DrillSource.
 70880  func (ds DrillSource) AsBinarySource() (*BinarySource, bool) {
 70881  	return nil, false
 70882  }
 70883  
 70884  // AsOrcSource is the BasicCopySource implementation for DrillSource.
 70885  func (ds DrillSource) AsOrcSource() (*OrcSource, bool) {
 70886  	return nil, false
 70887  }
 70888  
 70889  // AsJSONSource is the BasicCopySource implementation for DrillSource.
 70890  func (ds DrillSource) AsJSONSource() (*JSONSource, bool) {
 70891  	return nil, false
 70892  }
 70893  
 70894  // AsDelimitedTextSource is the BasicCopySource implementation for DrillSource.
 70895  func (ds DrillSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 70896  	return nil, false
 70897  }
 70898  
 70899  // AsParquetSource is the BasicCopySource implementation for DrillSource.
 70900  func (ds DrillSource) AsParquetSource() (*ParquetSource, bool) {
 70901  	return nil, false
 70902  }
 70903  
 70904  // AsAvroSource is the BasicCopySource implementation for DrillSource.
 70905  func (ds DrillSource) AsAvroSource() (*AvroSource, bool) {
 70906  	return nil, false
 70907  }
 70908  
 70909  // AsCopySource is the BasicCopySource implementation for DrillSource.
 70910  func (ds DrillSource) AsCopySource() (*CopySource, bool) {
 70911  	return nil, false
 70912  }
 70913  
 70914  // AsBasicCopySource is the BasicCopySource implementation for DrillSource.
 70915  func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) {
 70916  	return &ds, true
 70917  }
 70918  
 70919  // UnmarshalJSON is the custom unmarshaler for DrillSource struct.
 70920  func (ds *DrillSource) UnmarshalJSON(body []byte) error {
 70921  	var m map[string]*json.RawMessage
 70922  	err := json.Unmarshal(body, &m)
 70923  	if err != nil {
 70924  		return err
 70925  	}
 70926  	for k, v := range m {
 70927  		switch k {
 70928  		case "query":
 70929  			if v != nil {
 70930  				var query interface{}
 70931  				err = json.Unmarshal(*v, &query)
 70932  				if err != nil {
 70933  					return err
 70934  				}
 70935  				ds.Query = query
 70936  			}
 70937  		case "queryTimeout":
 70938  			if v != nil {
 70939  				var queryTimeout interface{}
 70940  				err = json.Unmarshal(*v, &queryTimeout)
 70941  				if err != nil {
 70942  					return err
 70943  				}
 70944  				ds.QueryTimeout = queryTimeout
 70945  			}
 70946  		default:
 70947  			if v != nil {
 70948  				var additionalProperties interface{}
 70949  				err = json.Unmarshal(*v, &additionalProperties)
 70950  				if err != nil {
 70951  					return err
 70952  				}
 70953  				if ds.AdditionalProperties == nil {
 70954  					ds.AdditionalProperties = make(map[string]interface{})
 70955  				}
 70956  				ds.AdditionalProperties[k] = additionalProperties
 70957  			}
 70958  		case "sourceRetryCount":
 70959  			if v != nil {
 70960  				var sourceRetryCount interface{}
 70961  				err = json.Unmarshal(*v, &sourceRetryCount)
 70962  				if err != nil {
 70963  					return err
 70964  				}
 70965  				ds.SourceRetryCount = sourceRetryCount
 70966  			}
 70967  		case "sourceRetryWait":
 70968  			if v != nil {
 70969  				var sourceRetryWait interface{}
 70970  				err = json.Unmarshal(*v, &sourceRetryWait)
 70971  				if err != nil {
 70972  					return err
 70973  				}
 70974  				ds.SourceRetryWait = sourceRetryWait
 70975  			}
 70976  		case "maxConcurrentConnections":
 70977  			if v != nil {
 70978  				var maxConcurrentConnections interface{}
 70979  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 70980  				if err != nil {
 70981  					return err
 70982  				}
 70983  				ds.MaxConcurrentConnections = maxConcurrentConnections
 70984  			}
 70985  		case "type":
 70986  			if v != nil {
 70987  				var typeVar TypeBasicCopySource
 70988  				err = json.Unmarshal(*v, &typeVar)
 70989  				if err != nil {
 70990  					return err
 70991  				}
 70992  				ds.Type = typeVar
 70993  			}
 70994  		}
 70995  	}
 70996  
 70997  	return nil
 70998  }
 70999  
 71000  // DrillTableDataset drill server dataset.
 71001  type DrillTableDataset struct {
 71002  	// DrillDatasetTypeProperties - Properties specific to this dataset type.
 71003  	*DrillDatasetTypeProperties `json:"typeProperties,omitempty"`
 71004  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 71005  	AdditionalProperties map[string]interface{} `json:""`
 71006  	// Description - Dataset description.
 71007  	Description *string `json:"description,omitempty"`
 71008  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 71009  	Structure interface{} `json:"structure,omitempty"`
 71010  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 71011  	Schema interface{} `json:"schema,omitempty"`
 71012  	// LinkedServiceName - Linked service reference.
 71013  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 71014  	// Parameters - Parameters for dataset.
 71015  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 71016  	// Annotations - List of tags that can be used for describing the Dataset.
 71017  	Annotations *[]interface{} `json:"annotations,omitempty"`
 71018  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 71019  	Folder *DatasetFolder `json:"folder,omitempty"`
 71020  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 71021  	Type TypeBasicDataset `json:"type,omitempty"`
 71022  }
 71023  
 71024  // MarshalJSON is the custom marshaler for DrillTableDataset.
 71025  func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) {
 71026  	dtd.Type = TypeDrillTable
 71027  	objectMap := make(map[string]interface{})
 71028  	if dtd.DrillDatasetTypeProperties != nil {
 71029  		objectMap["typeProperties"] = dtd.DrillDatasetTypeProperties
 71030  	}
 71031  	if dtd.Description != nil {
 71032  		objectMap["description"] = dtd.Description
 71033  	}
 71034  	if dtd.Structure != nil {
 71035  		objectMap["structure"] = dtd.Structure
 71036  	}
 71037  	if dtd.Schema != nil {
 71038  		objectMap["schema"] = dtd.Schema
 71039  	}
 71040  	if dtd.LinkedServiceName != nil {
 71041  		objectMap["linkedServiceName"] = dtd.LinkedServiceName
 71042  	}
 71043  	if dtd.Parameters != nil {
 71044  		objectMap["parameters"] = dtd.Parameters
 71045  	}
 71046  	if dtd.Annotations != nil {
 71047  		objectMap["annotations"] = dtd.Annotations
 71048  	}
 71049  	if dtd.Folder != nil {
 71050  		objectMap["folder"] = dtd.Folder
 71051  	}
 71052  	if dtd.Type != "" {
 71053  		objectMap["type"] = dtd.Type
 71054  	}
 71055  	for k, v := range dtd.AdditionalProperties {
 71056  		objectMap[k] = v
 71057  	}
 71058  	return json.Marshal(objectMap)
 71059  }
 71060  
 71061  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71062  func (dtd DrillTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 71063  	return nil, false
 71064  }
 71065  
 71066  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DrillTableDataset.
 71067  func (dtd DrillTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 71068  	return nil, false
 71069  }
 71070  
 71071  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71072  func (dtd DrillTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 71073  	return nil, false
 71074  }
 71075  
 71076  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71077  func (dtd DrillTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 71078  	return nil, false
 71079  }
 71080  
 71081  // AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71082  func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 71083  	return nil, false
 71084  }
 71085  
 71086  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71087  func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 71088  	return nil, false
 71089  }
 71090  
 71091  // AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset.
 71092  func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 71093  	return nil, false
 71094  }
 71095  
 71096  // AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset.
 71097  func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 71098  	return nil, false
 71099  }
 71100  
 71101  // AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71102  func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 71103  	return nil, false
 71104  }
 71105  
 71106  // AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71107  func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 71108  	return nil, false
 71109  }
 71110  
 71111  // AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71112  func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 71113  	return nil, false
 71114  }
 71115  
 71116  // AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71117  func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 71118  	return nil, false
 71119  }
 71120  
 71121  // AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71122  func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 71123  	return nil, false
 71124  }
 71125  
 71126  // AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71127  func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 71128  	return nil, false
 71129  }
 71130  
 71131  // AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71132  func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 71133  	return nil, false
 71134  }
 71135  
 71136  // AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71137  func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 71138  	return nil, false
 71139  }
 71140  
 71141  // AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71142  func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 71143  	return nil, false
 71144  }
 71145  
 71146  // AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71147  func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 71148  	return nil, false
 71149  }
 71150  
 71151  // AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71152  func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 71153  	return nil, false
 71154  }
 71155  
 71156  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset.
 71157  func (dtd DrillTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 71158  	return nil, false
 71159  }
 71160  
 71161  // AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset.
 71162  func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 71163  	return nil, false
 71164  }
 71165  
 71166  // AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71167  func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 71168  	return nil, false
 71169  }
 71170  
 71171  // AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71172  func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 71173  	return nil, false
 71174  }
 71175  
 71176  // AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71177  func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 71178  	return nil, false
 71179  }
 71180  
 71181  // AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71182  func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 71183  	return nil, false
 71184  }
 71185  
 71186  // AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71187  func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 71188  	return nil, false
 71189  }
 71190  
 71191  // AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71192  func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 71193  	return nil, false
 71194  }
 71195  
 71196  // AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset.
 71197  func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 71198  	return nil, false
 71199  }
 71200  
 71201  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71202  func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 71203  	return nil, false
 71204  }
 71205  
 71206  // AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71207  func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 71208  	return nil, false
 71209  }
 71210  
 71211  // AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset.
 71212  func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 71213  	return &dtd, true
 71214  }
 71215  
 71216  // AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset.
 71217  func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 71218  	return nil, false
 71219  }
 71220  
 71221  // AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71222  func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 71223  	return nil, false
 71224  }
 71225  
 71226  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
 71227  func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 71228  	return nil, false
 71229  }
 71230  
 71231  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71232  func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 71233  	return nil, false
 71234  }
 71235  
 71236  // AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset.
 71237  func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 71238  	return nil, false
 71239  }
 71240  
 71241  // AsWebTableDataset is the BasicDataset implementation for DrillTableDataset.
 71242  func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 71243  	return nil, false
 71244  }
 71245  
 71246  // AsSapTableResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71247  func (dtd DrillTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 71248  	return nil, false
 71249  }
 71250  
 71251  // AsRestResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71252  func (dtd DrillTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 71253  	return nil, false
 71254  }
 71255  
 71256  // AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset.
 71257  func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 71258  	return nil, false
 71259  }
 71260  
 71261  // AsSapOpenHubTableDataset is the BasicDataset implementation for DrillTableDataset.
 71262  func (dtd DrillTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 71263  	return nil, false
 71264  }
 71265  
 71266  // AsSapHanaTableDataset is the BasicDataset implementation for DrillTableDataset.
 71267  func (dtd DrillTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 71268  	return nil, false
 71269  }
 71270  
 71271  // AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71272  func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 71273  	return nil, false
 71274  }
 71275  
 71276  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71277  func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 71278  	return nil, false
 71279  }
 71280  
 71281  // AsSapBwCubeDataset is the BasicDataset implementation for DrillTableDataset.
 71282  func (dtd DrillTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 71283  	return nil, false
 71284  }
 71285  
 71286  // AsSybaseTableDataset is the BasicDataset implementation for DrillTableDataset.
 71287  func (dtd DrillTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 71288  	return nil, false
 71289  }
 71290  
 71291  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71292  func (dtd DrillTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 71293  	return nil, false
 71294  }
 71295  
 71296  // AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset.
 71297  func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 71298  	return nil, false
 71299  }
 71300  
 71301  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DrillTableDataset.
 71302  func (dtd DrillTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 71303  	return nil, false
 71304  }
 71305  
 71306  // AsPostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
 71307  func (dtd DrillTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 71308  	return nil, false
 71309  }
 71310  
 71311  // AsMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
 71312  func (dtd DrillTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 71313  	return nil, false
 71314  }
 71315  
 71316  // AsOdbcTableDataset is the BasicDataset implementation for DrillTableDataset.
 71317  func (dtd DrillTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 71318  	return nil, false
 71319  }
 71320  
 71321  // AsInformixTableDataset is the BasicDataset implementation for DrillTableDataset.
 71322  func (dtd DrillTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 71323  	return nil, false
 71324  }
 71325  
 71326  // AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset.
 71327  func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 71328  	return nil, false
 71329  }
 71330  
 71331  // AsDb2TableDataset is the BasicDataset implementation for DrillTableDataset.
 71332  func (dtd DrillTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 71333  	return nil, false
 71334  }
 71335  
 71336  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DrillTableDataset.
 71337  func (dtd DrillTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 71338  	return nil, false
 71339  }
 71340  
 71341  // AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset.
 71342  func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 71343  	return nil, false
 71344  }
 71345  
 71346  // AsTeradataTableDataset is the BasicDataset implementation for DrillTableDataset.
 71347  func (dtd DrillTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 71348  	return nil, false
 71349  }
 71350  
 71351  // AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset.
 71352  func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 71353  	return nil, false
 71354  }
 71355  
 71356  // AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset.
 71357  func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 71358  	return nil, false
 71359  }
 71360  
 71361  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DrillTableDataset.
 71362  func (dtd DrillTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 71363  	return nil, false
 71364  }
 71365  
 71366  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DrillTableDataset.
 71367  func (dtd DrillTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 71368  	return nil, false
 71369  }
 71370  
 71371  // AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
 71372  func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 71373  	return nil, false
 71374  }
 71375  
 71376  // AsOffice365Dataset is the BasicDataset implementation for DrillTableDataset.
 71377  func (dtd DrillTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 71378  	return nil, false
 71379  }
 71380  
 71381  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DrillTableDataset.
 71382  func (dtd DrillTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 71383  	return nil, false
 71384  }
 71385  
 71386  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DrillTableDataset.
 71387  func (dtd DrillTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 71388  	return nil, false
 71389  }
 71390  
 71391  // AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset.
 71392  func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 71393  	return nil, false
 71394  }
 71395  
 71396  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset.
 71397  func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 71398  	return nil, false
 71399  }
 71400  
 71401  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DrillTableDataset.
 71402  func (dtd DrillTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 71403  	return nil, false
 71404  }
 71405  
 71406  // AsCustomDataset is the BasicDataset implementation for DrillTableDataset.
 71407  func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 71408  	return nil, false
 71409  }
 71410  
 71411  // AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset.
 71412  func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 71413  	return nil, false
 71414  }
 71415  
 71416  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset.
 71417  func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 71418  	return nil, false
 71419  }
 71420  
 71421  // AsAzureSQLMITableDataset is the BasicDataset implementation for DrillTableDataset.
 71422  func (dtd DrillTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 71423  	return nil, false
 71424  }
 71425  
 71426  // AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset.
 71427  func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 71428  	return nil, false
 71429  }
 71430  
 71431  // AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset.
 71432  func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 71433  	return nil, false
 71434  }
 71435  
 71436  // AsBinaryDataset is the BasicDataset implementation for DrillTableDataset.
 71437  func (dtd DrillTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 71438  	return nil, false
 71439  }
 71440  
 71441  // AsOrcDataset is the BasicDataset implementation for DrillTableDataset.
 71442  func (dtd DrillTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 71443  	return nil, false
 71444  }
 71445  
 71446  // AsJSONDataset is the BasicDataset implementation for DrillTableDataset.
 71447  func (dtd DrillTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 71448  	return nil, false
 71449  }
 71450  
 71451  // AsDelimitedTextDataset is the BasicDataset implementation for DrillTableDataset.
 71452  func (dtd DrillTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 71453  	return nil, false
 71454  }
 71455  
 71456  // AsParquetDataset is the BasicDataset implementation for DrillTableDataset.
 71457  func (dtd DrillTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 71458  	return nil, false
 71459  }
 71460  
 71461  // AsAvroDataset is the BasicDataset implementation for DrillTableDataset.
 71462  func (dtd DrillTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 71463  	return nil, false
 71464  }
 71465  
 71466  // AsDataset is the BasicDataset implementation for DrillTableDataset.
 71467  func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) {
 71468  	return nil, false
 71469  }
 71470  
 71471  // AsBasicDataset is the BasicDataset implementation for DrillTableDataset.
 71472  func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) {
 71473  	return &dtd, true
 71474  }
 71475  
 71476  // UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct.
 71477  func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error {
 71478  	var m map[string]*json.RawMessage
 71479  	err := json.Unmarshal(body, &m)
 71480  	if err != nil {
 71481  		return err
 71482  	}
 71483  	for k, v := range m {
 71484  		switch k {
 71485  		case "typeProperties":
 71486  			if v != nil {
 71487  				var drillDatasetTypeProperties DrillDatasetTypeProperties
 71488  				err = json.Unmarshal(*v, &drillDatasetTypeProperties)
 71489  				if err != nil {
 71490  					return err
 71491  				}
 71492  				dtd.DrillDatasetTypeProperties = &drillDatasetTypeProperties
 71493  			}
 71494  		default:
 71495  			if v != nil {
 71496  				var additionalProperties interface{}
 71497  				err = json.Unmarshal(*v, &additionalProperties)
 71498  				if err != nil {
 71499  					return err
 71500  				}
 71501  				if dtd.AdditionalProperties == nil {
 71502  					dtd.AdditionalProperties = make(map[string]interface{})
 71503  				}
 71504  				dtd.AdditionalProperties[k] = additionalProperties
 71505  			}
 71506  		case "description":
 71507  			if v != nil {
 71508  				var description string
 71509  				err = json.Unmarshal(*v, &description)
 71510  				if err != nil {
 71511  					return err
 71512  				}
 71513  				dtd.Description = &description
 71514  			}
 71515  		case "structure":
 71516  			if v != nil {
 71517  				var structure interface{}
 71518  				err = json.Unmarshal(*v, &structure)
 71519  				if err != nil {
 71520  					return err
 71521  				}
 71522  				dtd.Structure = structure
 71523  			}
 71524  		case "schema":
 71525  			if v != nil {
 71526  				var schema interface{}
 71527  				err = json.Unmarshal(*v, &schema)
 71528  				if err != nil {
 71529  					return err
 71530  				}
 71531  				dtd.Schema = schema
 71532  			}
 71533  		case "linkedServiceName":
 71534  			if v != nil {
 71535  				var linkedServiceName LinkedServiceReference
 71536  				err = json.Unmarshal(*v, &linkedServiceName)
 71537  				if err != nil {
 71538  					return err
 71539  				}
 71540  				dtd.LinkedServiceName = &linkedServiceName
 71541  			}
 71542  		case "parameters":
 71543  			if v != nil {
 71544  				var parameters map[string]*ParameterSpecification
 71545  				err = json.Unmarshal(*v, &parameters)
 71546  				if err != nil {
 71547  					return err
 71548  				}
 71549  				dtd.Parameters = parameters
 71550  			}
 71551  		case "annotations":
 71552  			if v != nil {
 71553  				var annotations []interface{}
 71554  				err = json.Unmarshal(*v, &annotations)
 71555  				if err != nil {
 71556  					return err
 71557  				}
 71558  				dtd.Annotations = &annotations
 71559  			}
 71560  		case "folder":
 71561  			if v != nil {
 71562  				var folder DatasetFolder
 71563  				err = json.Unmarshal(*v, &folder)
 71564  				if err != nil {
 71565  					return err
 71566  				}
 71567  				dtd.Folder = &folder
 71568  			}
 71569  		case "type":
 71570  			if v != nil {
 71571  				var typeVar TypeBasicDataset
 71572  				err = json.Unmarshal(*v, &typeVar)
 71573  				if err != nil {
 71574  					return err
 71575  				}
 71576  				dtd.Type = typeVar
 71577  			}
 71578  		}
 71579  	}
 71580  
 71581  	return nil
 71582  }
 71583  
 71584  // DWCopyCommandDefaultValue default value.
 71585  type DWCopyCommandDefaultValue struct {
 71586  	// ColumnName - Column name. Type: object (or Expression with resultType string).
 71587  	ColumnName interface{} `json:"columnName,omitempty"`
 71588  	// DefaultValue - The default value of the column. Type: object (or Expression with resultType string).
 71589  	DefaultValue interface{} `json:"defaultValue,omitempty"`
 71590  }
 71591  
 71592  // DWCopyCommandSettings DW Copy Command settings.
 71593  type DWCopyCommandSettings struct {
 71594  	// DefaultValues - Specifies the default values for each target column in SQL DW. The default values in the property overwrite the DEFAULT constraint set in the DB, and identity column cannot have a default value. Type: array of objects (or Expression with resultType array of objects).
 71595  	DefaultValues *[]DWCopyCommandDefaultValue `json:"defaultValues,omitempty"`
 71596  	// AdditionalOptions - Additional options directly passed to SQL DW in Copy Command. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalOptions": { "MAXERRORS": "1000", "DATEFORMAT": "'ymd'" }
 71597  	AdditionalOptions map[string]*string `json:"additionalOptions"`
 71598  }
 71599  
 71600  // MarshalJSON is the custom marshaler for DWCopyCommandSettings.
 71601  func (dccs DWCopyCommandSettings) MarshalJSON() ([]byte, error) {
 71602  	objectMap := make(map[string]interface{})
 71603  	if dccs.DefaultValues != nil {
 71604  		objectMap["defaultValues"] = dccs.DefaultValues
 71605  	}
 71606  	if dccs.AdditionalOptions != nil {
 71607  		objectMap["additionalOptions"] = dccs.AdditionalOptions
 71608  	}
 71609  	return json.Marshal(objectMap)
 71610  }
 71611  
 71612  // DynamicsAXLinkedService dynamics AX linked service.
 71613  type DynamicsAXLinkedService struct {
 71614  	// DynamicsAXLinkedServiceTypeProperties - Dynamics AX linked service properties.
 71615  	*DynamicsAXLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 71616  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 71617  	AdditionalProperties map[string]interface{} `json:""`
 71618  	// ConnectVia - The integration runtime reference.
 71619  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 71620  	// Description - Linked service description.
 71621  	Description *string `json:"description,omitempty"`
 71622  	// Parameters - Parameters for linked service.
 71623  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 71624  	// Annotations - List of tags that can be used for describing the linked service.
 71625  	Annotations *[]interface{} `json:"annotations,omitempty"`
 71626  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 71627  	Type TypeBasicLinkedService `json:"type,omitempty"`
 71628  }
 71629  
 71630  // MarshalJSON is the custom marshaler for DynamicsAXLinkedService.
 71631  func (dals DynamicsAXLinkedService) MarshalJSON() ([]byte, error) {
 71632  	dals.Type = TypeDynamicsAX
 71633  	objectMap := make(map[string]interface{})
 71634  	if dals.DynamicsAXLinkedServiceTypeProperties != nil {
 71635  		objectMap["typeProperties"] = dals.DynamicsAXLinkedServiceTypeProperties
 71636  	}
 71637  	if dals.ConnectVia != nil {
 71638  		objectMap["connectVia"] = dals.ConnectVia
 71639  	}
 71640  	if dals.Description != nil {
 71641  		objectMap["description"] = dals.Description
 71642  	}
 71643  	if dals.Parameters != nil {
 71644  		objectMap["parameters"] = dals.Parameters
 71645  	}
 71646  	if dals.Annotations != nil {
 71647  		objectMap["annotations"] = dals.Annotations
 71648  	}
 71649  	if dals.Type != "" {
 71650  		objectMap["type"] = dals.Type
 71651  	}
 71652  	for k, v := range dals.AdditionalProperties {
 71653  		objectMap[k] = v
 71654  	}
 71655  	return json.Marshal(objectMap)
 71656  }
 71657  
 71658  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71659  func (dals DynamicsAXLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 71660  	return nil, false
 71661  }
 71662  
 71663  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71664  func (dals DynamicsAXLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 71665  	return nil, false
 71666  }
 71667  
 71668  // AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71669  func (dals DynamicsAXLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 71670  	return nil, false
 71671  }
 71672  
 71673  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71674  func (dals DynamicsAXLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 71675  	return nil, false
 71676  }
 71677  
 71678  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71679  func (dals DynamicsAXLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 71680  	return nil, false
 71681  }
 71682  
 71683  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71684  func (dals DynamicsAXLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 71685  	return &dals, true
 71686  }
 71687  
 71688  // AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71689  func (dals DynamicsAXLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 71690  	return nil, false
 71691  }
 71692  
 71693  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71694  func (dals DynamicsAXLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 71695  	return nil, false
 71696  }
 71697  
 71698  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71699  func (dals DynamicsAXLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 71700  	return nil, false
 71701  }
 71702  
 71703  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71704  func (dals DynamicsAXLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 71705  	return nil, false
 71706  }
 71707  
 71708  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71709  func (dals DynamicsAXLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 71710  	return nil, false
 71711  }
 71712  
 71713  // AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71714  func (dals DynamicsAXLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 71715  	return nil, false
 71716  }
 71717  
 71718  // AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71719  func (dals DynamicsAXLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 71720  	return nil, false
 71721  }
 71722  
 71723  // AsZohoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71724  func (dals DynamicsAXLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 71725  	return nil, false
 71726  }
 71727  
 71728  // AsXeroLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71729  func (dals DynamicsAXLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 71730  	return nil, false
 71731  }
 71732  
 71733  // AsSquareLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71734  func (dals DynamicsAXLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 71735  	return nil, false
 71736  }
 71737  
 71738  // AsSparkLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71739  func (dals DynamicsAXLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 71740  	return nil, false
 71741  }
 71742  
 71743  // AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71744  func (dals DynamicsAXLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 71745  	return nil, false
 71746  }
 71747  
 71748  // AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71749  func (dals DynamicsAXLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 71750  	return nil, false
 71751  }
 71752  
 71753  // AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71754  func (dals DynamicsAXLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 71755  	return nil, false
 71756  }
 71757  
 71758  // AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71759  func (dals DynamicsAXLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 71760  	return nil, false
 71761  }
 71762  
 71763  // AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71764  func (dals DynamicsAXLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 71765  	return nil, false
 71766  }
 71767  
 71768  // AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71769  func (dals DynamicsAXLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 71770  	return nil, false
 71771  }
 71772  
 71773  // AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71774  func (dals DynamicsAXLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 71775  	return nil, false
 71776  }
 71777  
 71778  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71779  func (dals DynamicsAXLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 71780  	return nil, false
 71781  }
 71782  
 71783  // AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71784  func (dals DynamicsAXLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 71785  	return nil, false
 71786  }
 71787  
 71788  // AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71789  func (dals DynamicsAXLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 71790  	return nil, false
 71791  }
 71792  
 71793  // AsJiraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71794  func (dals DynamicsAXLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 71795  	return nil, false
 71796  }
 71797  
 71798  // AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71799  func (dals DynamicsAXLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 71800  	return nil, false
 71801  }
 71802  
 71803  // AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71804  func (dals DynamicsAXLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 71805  	return nil, false
 71806  }
 71807  
 71808  // AsHiveLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71809  func (dals DynamicsAXLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 71810  	return nil, false
 71811  }
 71812  
 71813  // AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71814  func (dals DynamicsAXLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 71815  	return nil, false
 71816  }
 71817  
 71818  // AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71819  func (dals DynamicsAXLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 71820  	return nil, false
 71821  }
 71822  
 71823  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71824  func (dals DynamicsAXLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 71825  	return nil, false
 71826  }
 71827  
 71828  // AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71829  func (dals DynamicsAXLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 71830  	return nil, false
 71831  }
 71832  
 71833  // AsDrillLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71834  func (dals DynamicsAXLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 71835  	return nil, false
 71836  }
 71837  
 71838  // AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71839  func (dals DynamicsAXLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 71840  	return nil, false
 71841  }
 71842  
 71843  // AsConcurLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71844  func (dals DynamicsAXLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 71845  	return nil, false
 71846  }
 71847  
 71848  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71849  func (dals DynamicsAXLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 71850  	return nil, false
 71851  }
 71852  
 71853  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71854  func (dals DynamicsAXLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 71855  	return nil, false
 71856  }
 71857  
 71858  // AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71859  func (dals DynamicsAXLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 71860  	return nil, false
 71861  }
 71862  
 71863  // AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71864  func (dals DynamicsAXLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 71865  	return nil, false
 71866  }
 71867  
 71868  // AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71869  func (dals DynamicsAXLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 71870  	return nil, false
 71871  }
 71872  
 71873  // AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71874  func (dals DynamicsAXLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 71875  	return nil, false
 71876  }
 71877  
 71878  // AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71879  func (dals DynamicsAXLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 71880  	return nil, false
 71881  }
 71882  
 71883  // AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71884  func (dals DynamicsAXLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 71885  	return nil, false
 71886  }
 71887  
 71888  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71889  func (dals DynamicsAXLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 71890  	return nil, false
 71891  }
 71892  
 71893  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71894  func (dals DynamicsAXLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 71895  	return nil, false
 71896  }
 71897  
 71898  // AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71899  func (dals DynamicsAXLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 71900  	return nil, false
 71901  }
 71902  
 71903  // AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71904  func (dals DynamicsAXLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 71905  	return nil, false
 71906  }
 71907  
 71908  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71909  func (dals DynamicsAXLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 71910  	return nil, false
 71911  }
 71912  
 71913  // AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71914  func (dals DynamicsAXLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 71915  	return nil, false
 71916  }
 71917  
 71918  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71919  func (dals DynamicsAXLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 71920  	return nil, false
 71921  }
 71922  
 71923  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71924  func (dals DynamicsAXLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 71925  	return nil, false
 71926  }
 71927  
 71928  // AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71929  func (dals DynamicsAXLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 71930  	return nil, false
 71931  }
 71932  
 71933  // AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71934  func (dals DynamicsAXLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 71935  	return nil, false
 71936  }
 71937  
 71938  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71939  func (dals DynamicsAXLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 71940  	return nil, false
 71941  }
 71942  
 71943  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71944  func (dals DynamicsAXLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 71945  	return nil, false
 71946  }
 71947  
 71948  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71949  func (dals DynamicsAXLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 71950  	return nil, false
 71951  }
 71952  
 71953  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71954  func (dals DynamicsAXLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 71955  	return nil, false
 71956  }
 71957  
 71958  // AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71959  func (dals DynamicsAXLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 71960  	return nil, false
 71961  }
 71962  
 71963  // AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71964  func (dals DynamicsAXLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 71965  	return nil, false
 71966  }
 71967  
 71968  // AsWebLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71969  func (dals DynamicsAXLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 71970  	return nil, false
 71971  }
 71972  
 71973  // AsODataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71974  func (dals DynamicsAXLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 71975  	return nil, false
 71976  }
 71977  
 71978  // AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71979  func (dals DynamicsAXLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 71980  	return nil, false
 71981  }
 71982  
 71983  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71984  func (dals DynamicsAXLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 71985  	return nil, false
 71986  }
 71987  
 71988  // AsInformixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71989  func (dals DynamicsAXLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 71990  	return nil, false
 71991  }
 71992  
 71993  // AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71994  func (dals DynamicsAXLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 71995  	return nil, false
 71996  }
 71997  
 71998  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 71999  func (dals DynamicsAXLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 72000  	return nil, false
 72001  }
 72002  
 72003  // AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72004  func (dals DynamicsAXLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 72005  	return nil, false
 72006  }
 72007  
 72008  // AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72009  func (dals DynamicsAXLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 72010  	return nil, false
 72011  }
 72012  
 72013  // AsDb2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72014  func (dals DynamicsAXLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 72015  	return nil, false
 72016  }
 72017  
 72018  // AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72019  func (dals DynamicsAXLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 72020  	return nil, false
 72021  }
 72022  
 72023  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72024  func (dals DynamicsAXLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 72025  	return nil, false
 72026  }
 72027  
 72028  // AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72029  func (dals DynamicsAXLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 72030  	return nil, false
 72031  }
 72032  
 72033  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72034  func (dals DynamicsAXLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 72035  	return nil, false
 72036  }
 72037  
 72038  // AsOracleLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72039  func (dals DynamicsAXLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 72040  	return nil, false
 72041  }
 72042  
 72043  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72044  func (dals DynamicsAXLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 72045  	return nil, false
 72046  }
 72047  
 72048  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72049  func (dals DynamicsAXLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 72050  	return nil, false
 72051  }
 72052  
 72053  // AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72054  func (dals DynamicsAXLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 72055  	return nil, false
 72056  }
 72057  
 72058  // AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72059  func (dals DynamicsAXLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 72060  	return nil, false
 72061  }
 72062  
 72063  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72064  func (dals DynamicsAXLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 72065  	return nil, false
 72066  }
 72067  
 72068  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72069  func (dals DynamicsAXLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 72070  	return nil, false
 72071  }
 72072  
 72073  // AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72074  func (dals DynamicsAXLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 72075  	return nil, false
 72076  }
 72077  
 72078  // AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72079  func (dals DynamicsAXLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 72080  	return nil, false
 72081  }
 72082  
 72083  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72084  func (dals DynamicsAXLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 72085  	return nil, false
 72086  }
 72087  
 72088  // AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72089  func (dals DynamicsAXLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 72090  	return nil, false
 72091  }
 72092  
 72093  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72094  func (dals DynamicsAXLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 72095  	return nil, false
 72096  }
 72097  
 72098  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72099  func (dals DynamicsAXLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 72100  	return nil, false
 72101  }
 72102  
 72103  // AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72104  func (dals DynamicsAXLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 72105  	return nil, false
 72106  }
 72107  
 72108  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72109  func (dals DynamicsAXLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 72110  	return nil, false
 72111  }
 72112  
 72113  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72114  func (dals DynamicsAXLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 72115  	return nil, false
 72116  }
 72117  
 72118  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72119  func (dals DynamicsAXLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 72120  	return nil, false
 72121  }
 72122  
 72123  // AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72124  func (dals DynamicsAXLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 72125  	return nil, false
 72126  }
 72127  
 72128  // AsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72129  func (dals DynamicsAXLinkedService) AsLinkedService() (*LinkedService, bool) {
 72130  	return nil, false
 72131  }
 72132  
 72133  // AsBasicLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService.
 72134  func (dals DynamicsAXLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 72135  	return &dals, true
 72136  }
 72137  
 72138  // UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedService struct.
 72139  func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error {
 72140  	var m map[string]*json.RawMessage
 72141  	err := json.Unmarshal(body, &m)
 72142  	if err != nil {
 72143  		return err
 72144  	}
 72145  	for k, v := range m {
 72146  		switch k {
 72147  		case "typeProperties":
 72148  			if v != nil {
 72149  				var dynamicsAXLinkedServiceTypeProperties DynamicsAXLinkedServiceTypeProperties
 72150  				err = json.Unmarshal(*v, &dynamicsAXLinkedServiceTypeProperties)
 72151  				if err != nil {
 72152  					return err
 72153  				}
 72154  				dals.DynamicsAXLinkedServiceTypeProperties = &dynamicsAXLinkedServiceTypeProperties
 72155  			}
 72156  		default:
 72157  			if v != nil {
 72158  				var additionalProperties interface{}
 72159  				err = json.Unmarshal(*v, &additionalProperties)
 72160  				if err != nil {
 72161  					return err
 72162  				}
 72163  				if dals.AdditionalProperties == nil {
 72164  					dals.AdditionalProperties = make(map[string]interface{})
 72165  				}
 72166  				dals.AdditionalProperties[k] = additionalProperties
 72167  			}
 72168  		case "connectVia":
 72169  			if v != nil {
 72170  				var connectVia IntegrationRuntimeReference
 72171  				err = json.Unmarshal(*v, &connectVia)
 72172  				if err != nil {
 72173  					return err
 72174  				}
 72175  				dals.ConnectVia = &connectVia
 72176  			}
 72177  		case "description":
 72178  			if v != nil {
 72179  				var description string
 72180  				err = json.Unmarshal(*v, &description)
 72181  				if err != nil {
 72182  					return err
 72183  				}
 72184  				dals.Description = &description
 72185  			}
 72186  		case "parameters":
 72187  			if v != nil {
 72188  				var parameters map[string]*ParameterSpecification
 72189  				err = json.Unmarshal(*v, &parameters)
 72190  				if err != nil {
 72191  					return err
 72192  				}
 72193  				dals.Parameters = parameters
 72194  			}
 72195  		case "annotations":
 72196  			if v != nil {
 72197  				var annotations []interface{}
 72198  				err = json.Unmarshal(*v, &annotations)
 72199  				if err != nil {
 72200  					return err
 72201  				}
 72202  				dals.Annotations = &annotations
 72203  			}
 72204  		case "type":
 72205  			if v != nil {
 72206  				var typeVar TypeBasicLinkedService
 72207  				err = json.Unmarshal(*v, &typeVar)
 72208  				if err != nil {
 72209  					return err
 72210  				}
 72211  				dals.Type = typeVar
 72212  			}
 72213  		}
 72214  	}
 72215  
 72216  	return nil
 72217  }
 72218  
 72219  // DynamicsAXLinkedServiceTypeProperties dynamics AX linked service properties.
 72220  type DynamicsAXLinkedServiceTypeProperties struct {
 72221  	// URL - The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint.
 72222  	URL interface{} `json:"url,omitempty"`
 72223  	// ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string).
 72224  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 72225  	// 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).
 72226  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 72227  	// 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).
 72228  	Tenant interface{} `json:"tenant,omitempty"`
 72229  	// AadResourceID - Specify the resource you are requesting authorization. Type: string (or Expression with resultType string).
 72230  	AadResourceID interface{} `json:"aadResourceId,omitempty"`
 72231  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 72232  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 72233  }
 72234  
 72235  // UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedServiceTypeProperties struct.
 72236  func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 72237  	var m map[string]*json.RawMessage
 72238  	err := json.Unmarshal(body, &m)
 72239  	if err != nil {
 72240  		return err
 72241  	}
 72242  	for k, v := range m {
 72243  		switch k {
 72244  		case "url":
 72245  			if v != nil {
 72246  				var URL interface{}
 72247  				err = json.Unmarshal(*v, &URL)
 72248  				if err != nil {
 72249  					return err
 72250  				}
 72251  				dalstp.URL = URL
 72252  			}
 72253  		case "servicePrincipalId":
 72254  			if v != nil {
 72255  				var servicePrincipalID interface{}
 72256  				err = json.Unmarshal(*v, &servicePrincipalID)
 72257  				if err != nil {
 72258  					return err
 72259  				}
 72260  				dalstp.ServicePrincipalID = servicePrincipalID
 72261  			}
 72262  		case "servicePrincipalKey":
 72263  			if v != nil {
 72264  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 72265  				if err != nil {
 72266  					return err
 72267  				}
 72268  				dalstp.ServicePrincipalKey = servicePrincipalKey
 72269  			}
 72270  		case "tenant":
 72271  			if v != nil {
 72272  				var tenant interface{}
 72273  				err = json.Unmarshal(*v, &tenant)
 72274  				if err != nil {
 72275  					return err
 72276  				}
 72277  				dalstp.Tenant = tenant
 72278  			}
 72279  		case "aadResourceId":
 72280  			if v != nil {
 72281  				var aadResourceID interface{}
 72282  				err = json.Unmarshal(*v, &aadResourceID)
 72283  				if err != nil {
 72284  					return err
 72285  				}
 72286  				dalstp.AadResourceID = aadResourceID
 72287  			}
 72288  		case "encryptedCredential":
 72289  			if v != nil {
 72290  				var encryptedCredential interface{}
 72291  				err = json.Unmarshal(*v, &encryptedCredential)
 72292  				if err != nil {
 72293  					return err
 72294  				}
 72295  				dalstp.EncryptedCredential = encryptedCredential
 72296  			}
 72297  		}
 72298  	}
 72299  
 72300  	return nil
 72301  }
 72302  
 72303  // DynamicsAXResourceDataset the path of the Dynamics AX OData entity.
 72304  type DynamicsAXResourceDataset struct {
 72305  	// DynamicsAXResourceDatasetTypeProperties - Dynamics AX OData resource dataset properties.
 72306  	*DynamicsAXResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
 72307  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 72308  	AdditionalProperties map[string]interface{} `json:""`
 72309  	// Description - Dataset description.
 72310  	Description *string `json:"description,omitempty"`
 72311  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 72312  	Structure interface{} `json:"structure,omitempty"`
 72313  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 72314  	Schema interface{} `json:"schema,omitempty"`
 72315  	// LinkedServiceName - Linked service reference.
 72316  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 72317  	// Parameters - Parameters for dataset.
 72318  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 72319  	// Annotations - List of tags that can be used for describing the Dataset.
 72320  	Annotations *[]interface{} `json:"annotations,omitempty"`
 72321  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 72322  	Folder *DatasetFolder `json:"folder,omitempty"`
 72323  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 72324  	Type TypeBasicDataset `json:"type,omitempty"`
 72325  }
 72326  
 72327  // MarshalJSON is the custom marshaler for DynamicsAXResourceDataset.
 72328  func (dard DynamicsAXResourceDataset) MarshalJSON() ([]byte, error) {
 72329  	dard.Type = TypeDynamicsAXResource
 72330  	objectMap := make(map[string]interface{})
 72331  	if dard.DynamicsAXResourceDatasetTypeProperties != nil {
 72332  		objectMap["typeProperties"] = dard.DynamicsAXResourceDatasetTypeProperties
 72333  	}
 72334  	if dard.Description != nil {
 72335  		objectMap["description"] = dard.Description
 72336  	}
 72337  	if dard.Structure != nil {
 72338  		objectMap["structure"] = dard.Structure
 72339  	}
 72340  	if dard.Schema != nil {
 72341  		objectMap["schema"] = dard.Schema
 72342  	}
 72343  	if dard.LinkedServiceName != nil {
 72344  		objectMap["linkedServiceName"] = dard.LinkedServiceName
 72345  	}
 72346  	if dard.Parameters != nil {
 72347  		objectMap["parameters"] = dard.Parameters
 72348  	}
 72349  	if dard.Annotations != nil {
 72350  		objectMap["annotations"] = dard.Annotations
 72351  	}
 72352  	if dard.Folder != nil {
 72353  		objectMap["folder"] = dard.Folder
 72354  	}
 72355  	if dard.Type != "" {
 72356  		objectMap["type"] = dard.Type
 72357  	}
 72358  	for k, v := range dard.AdditionalProperties {
 72359  		objectMap[k] = v
 72360  	}
 72361  	return json.Marshal(objectMap)
 72362  }
 72363  
 72364  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72365  func (dard DynamicsAXResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 72366  	return nil, false
 72367  }
 72368  
 72369  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72370  func (dard DynamicsAXResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 72371  	return nil, false
 72372  }
 72373  
 72374  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72375  func (dard DynamicsAXResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 72376  	return nil, false
 72377  }
 72378  
 72379  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72380  func (dard DynamicsAXResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 72381  	return &dard, true
 72382  }
 72383  
 72384  // AsResponsysObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72385  func (dard DynamicsAXResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 72386  	return nil, false
 72387  }
 72388  
 72389  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72390  func (dard DynamicsAXResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 72391  	return nil, false
 72392  }
 72393  
 72394  // AsVerticaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72395  func (dard DynamicsAXResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 72396  	return nil, false
 72397  }
 72398  
 72399  // AsNetezzaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72400  func (dard DynamicsAXResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 72401  	return nil, false
 72402  }
 72403  
 72404  // AsZohoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72405  func (dard DynamicsAXResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 72406  	return nil, false
 72407  }
 72408  
 72409  // AsXeroObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72410  func (dard DynamicsAXResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 72411  	return nil, false
 72412  }
 72413  
 72414  // AsSquareObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72415  func (dard DynamicsAXResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 72416  	return nil, false
 72417  }
 72418  
 72419  // AsSparkObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72420  func (dard DynamicsAXResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 72421  	return nil, false
 72422  }
 72423  
 72424  // AsShopifyObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72425  func (dard DynamicsAXResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 72426  	return nil, false
 72427  }
 72428  
 72429  // AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72430  func (dard DynamicsAXResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 72431  	return nil, false
 72432  }
 72433  
 72434  // AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72435  func (dard DynamicsAXResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 72436  	return nil, false
 72437  }
 72438  
 72439  // AsPrestoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72440  func (dard DynamicsAXResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 72441  	return nil, false
 72442  }
 72443  
 72444  // AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72445  func (dard DynamicsAXResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 72446  	return nil, false
 72447  }
 72448  
 72449  // AsPaypalObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72450  func (dard DynamicsAXResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 72451  	return nil, false
 72452  }
 72453  
 72454  // AsMarketoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72455  func (dard DynamicsAXResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 72456  	return nil, false
 72457  }
 72458  
 72459  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72460  func (dard DynamicsAXResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 72461  	return nil, false
 72462  }
 72463  
 72464  // AsMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72465  func (dard DynamicsAXResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 72466  	return nil, false
 72467  }
 72468  
 72469  // AsMagentoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72470  func (dard DynamicsAXResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 72471  	return nil, false
 72472  }
 72473  
 72474  // AsJiraObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72475  func (dard DynamicsAXResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 72476  	return nil, false
 72477  }
 72478  
 72479  // AsImpalaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72480  func (dard DynamicsAXResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 72481  	return nil, false
 72482  }
 72483  
 72484  // AsHubspotObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72485  func (dard DynamicsAXResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 72486  	return nil, false
 72487  }
 72488  
 72489  // AsHiveObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72490  func (dard DynamicsAXResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 72491  	return nil, false
 72492  }
 72493  
 72494  // AsHBaseObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72495  func (dard DynamicsAXResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 72496  	return nil, false
 72497  }
 72498  
 72499  // AsGreenplumTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72500  func (dard DynamicsAXResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 72501  	return nil, false
 72502  }
 72503  
 72504  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72505  func (dard DynamicsAXResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 72506  	return nil, false
 72507  }
 72508  
 72509  // AsEloquaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72510  func (dard DynamicsAXResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 72511  	return nil, false
 72512  }
 72513  
 72514  // AsDrillTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72515  func (dard DynamicsAXResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 72516  	return nil, false
 72517  }
 72518  
 72519  // AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72520  func (dard DynamicsAXResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 72521  	return nil, false
 72522  }
 72523  
 72524  // AsConcurObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72525  func (dard DynamicsAXResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 72526  	return nil, false
 72527  }
 72528  
 72529  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72530  func (dard DynamicsAXResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 72531  	return nil, false
 72532  }
 72533  
 72534  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72535  func (dard DynamicsAXResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 72536  	return nil, false
 72537  }
 72538  
 72539  // AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72540  func (dard DynamicsAXResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 72541  	return nil, false
 72542  }
 72543  
 72544  // AsWebTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72545  func (dard DynamicsAXResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 72546  	return nil, false
 72547  }
 72548  
 72549  // AsSapTableResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72550  func (dard DynamicsAXResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 72551  	return nil, false
 72552  }
 72553  
 72554  // AsRestResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72555  func (dard DynamicsAXResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 72556  	return nil, false
 72557  }
 72558  
 72559  // AsSQLServerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72560  func (dard DynamicsAXResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 72561  	return nil, false
 72562  }
 72563  
 72564  // AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72565  func (dard DynamicsAXResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 72566  	return nil, false
 72567  }
 72568  
 72569  // AsSapHanaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72570  func (dard DynamicsAXResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 72571  	return nil, false
 72572  }
 72573  
 72574  // AsSapEccResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72575  func (dard DynamicsAXResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 72576  	return nil, false
 72577  }
 72578  
 72579  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72580  func (dard DynamicsAXResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 72581  	return nil, false
 72582  }
 72583  
 72584  // AsSapBwCubeDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72585  func (dard DynamicsAXResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 72586  	return nil, false
 72587  }
 72588  
 72589  // AsSybaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72590  func (dard DynamicsAXResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 72591  	return nil, false
 72592  }
 72593  
 72594  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72595  func (dard DynamicsAXResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 72596  	return nil, false
 72597  }
 72598  
 72599  // AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72600  func (dard DynamicsAXResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 72601  	return nil, false
 72602  }
 72603  
 72604  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72605  func (dard DynamicsAXResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 72606  	return nil, false
 72607  }
 72608  
 72609  // AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72610  func (dard DynamicsAXResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 72611  	return nil, false
 72612  }
 72613  
 72614  // AsMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72615  func (dard DynamicsAXResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 72616  	return nil, false
 72617  }
 72618  
 72619  // AsOdbcTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72620  func (dard DynamicsAXResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 72621  	return nil, false
 72622  }
 72623  
 72624  // AsInformixTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72625  func (dard DynamicsAXResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 72626  	return nil, false
 72627  }
 72628  
 72629  // AsRelationalTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72630  func (dard DynamicsAXResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 72631  	return nil, false
 72632  }
 72633  
 72634  // AsDb2TableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72635  func (dard DynamicsAXResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 72636  	return nil, false
 72637  }
 72638  
 72639  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72640  func (dard DynamicsAXResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 72641  	return nil, false
 72642  }
 72643  
 72644  // AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72645  func (dard DynamicsAXResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 72646  	return nil, false
 72647  }
 72648  
 72649  // AsTeradataTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72650  func (dard DynamicsAXResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 72651  	return nil, false
 72652  }
 72653  
 72654  // AsOracleTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72655  func (dard DynamicsAXResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 72656  	return nil, false
 72657  }
 72658  
 72659  // AsODataResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72660  func (dard DynamicsAXResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 72661  	return nil, false
 72662  }
 72663  
 72664  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72665  func (dard DynamicsAXResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 72666  	return nil, false
 72667  }
 72668  
 72669  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72670  func (dard DynamicsAXResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 72671  	return nil, false
 72672  }
 72673  
 72674  // AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72675  func (dard DynamicsAXResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 72676  	return nil, false
 72677  }
 72678  
 72679  // AsOffice365Dataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72680  func (dard DynamicsAXResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 72681  	return nil, false
 72682  }
 72683  
 72684  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72685  func (dard DynamicsAXResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 72686  	return nil, false
 72687  }
 72688  
 72689  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72690  func (dard DynamicsAXResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 72691  	return nil, false
 72692  }
 72693  
 72694  // AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72695  func (dard DynamicsAXResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 72696  	return nil, false
 72697  }
 72698  
 72699  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72700  func (dard DynamicsAXResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 72701  	return nil, false
 72702  }
 72703  
 72704  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72705  func (dard DynamicsAXResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 72706  	return nil, false
 72707  }
 72708  
 72709  // AsCustomDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72710  func (dard DynamicsAXResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
 72711  	return nil, false
 72712  }
 72713  
 72714  // AsCassandraTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72715  func (dard DynamicsAXResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 72716  	return nil, false
 72717  }
 72718  
 72719  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72720  func (dard DynamicsAXResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 72721  	return nil, false
 72722  }
 72723  
 72724  // AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72725  func (dard DynamicsAXResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 72726  	return nil, false
 72727  }
 72728  
 72729  // AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72730  func (dard DynamicsAXResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 72731  	return nil, false
 72732  }
 72733  
 72734  // AsAzureTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72735  func (dard DynamicsAXResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 72736  	return nil, false
 72737  }
 72738  
 72739  // AsBinaryDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72740  func (dard DynamicsAXResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 72741  	return nil, false
 72742  }
 72743  
 72744  // AsOrcDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72745  func (dard DynamicsAXResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
 72746  	return nil, false
 72747  }
 72748  
 72749  // AsJSONDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72750  func (dard DynamicsAXResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
 72751  	return nil, false
 72752  }
 72753  
 72754  // AsDelimitedTextDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72755  func (dard DynamicsAXResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 72756  	return nil, false
 72757  }
 72758  
 72759  // AsParquetDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72760  func (dard DynamicsAXResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
 72761  	return nil, false
 72762  }
 72763  
 72764  // AsAvroDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72765  func (dard DynamicsAXResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
 72766  	return nil, false
 72767  }
 72768  
 72769  // AsDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72770  func (dard DynamicsAXResourceDataset) AsDataset() (*Dataset, bool) {
 72771  	return nil, false
 72772  }
 72773  
 72774  // AsBasicDataset is the BasicDataset implementation for DynamicsAXResourceDataset.
 72775  func (dard DynamicsAXResourceDataset) AsBasicDataset() (BasicDataset, bool) {
 72776  	return &dard, true
 72777  }
 72778  
 72779  // UnmarshalJSON is the custom unmarshaler for DynamicsAXResourceDataset struct.
 72780  func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error {
 72781  	var m map[string]*json.RawMessage
 72782  	err := json.Unmarshal(body, &m)
 72783  	if err != nil {
 72784  		return err
 72785  	}
 72786  	for k, v := range m {
 72787  		switch k {
 72788  		case "typeProperties":
 72789  			if v != nil {
 72790  				var dynamicsAXResourceDatasetTypeProperties DynamicsAXResourceDatasetTypeProperties
 72791  				err = json.Unmarshal(*v, &dynamicsAXResourceDatasetTypeProperties)
 72792  				if err != nil {
 72793  					return err
 72794  				}
 72795  				dard.DynamicsAXResourceDatasetTypeProperties = &dynamicsAXResourceDatasetTypeProperties
 72796  			}
 72797  		default:
 72798  			if v != nil {
 72799  				var additionalProperties interface{}
 72800  				err = json.Unmarshal(*v, &additionalProperties)
 72801  				if err != nil {
 72802  					return err
 72803  				}
 72804  				if dard.AdditionalProperties == nil {
 72805  					dard.AdditionalProperties = make(map[string]interface{})
 72806  				}
 72807  				dard.AdditionalProperties[k] = additionalProperties
 72808  			}
 72809  		case "description":
 72810  			if v != nil {
 72811  				var description string
 72812  				err = json.Unmarshal(*v, &description)
 72813  				if err != nil {
 72814  					return err
 72815  				}
 72816  				dard.Description = &description
 72817  			}
 72818  		case "structure":
 72819  			if v != nil {
 72820  				var structure interface{}
 72821  				err = json.Unmarshal(*v, &structure)
 72822  				if err != nil {
 72823  					return err
 72824  				}
 72825  				dard.Structure = structure
 72826  			}
 72827  		case "schema":
 72828  			if v != nil {
 72829  				var schema interface{}
 72830  				err = json.Unmarshal(*v, &schema)
 72831  				if err != nil {
 72832  					return err
 72833  				}
 72834  				dard.Schema = schema
 72835  			}
 72836  		case "linkedServiceName":
 72837  			if v != nil {
 72838  				var linkedServiceName LinkedServiceReference
 72839  				err = json.Unmarshal(*v, &linkedServiceName)
 72840  				if err != nil {
 72841  					return err
 72842  				}
 72843  				dard.LinkedServiceName = &linkedServiceName
 72844  			}
 72845  		case "parameters":
 72846  			if v != nil {
 72847  				var parameters map[string]*ParameterSpecification
 72848  				err = json.Unmarshal(*v, &parameters)
 72849  				if err != nil {
 72850  					return err
 72851  				}
 72852  				dard.Parameters = parameters
 72853  			}
 72854  		case "annotations":
 72855  			if v != nil {
 72856  				var annotations []interface{}
 72857  				err = json.Unmarshal(*v, &annotations)
 72858  				if err != nil {
 72859  					return err
 72860  				}
 72861  				dard.Annotations = &annotations
 72862  			}
 72863  		case "folder":
 72864  			if v != nil {
 72865  				var folder DatasetFolder
 72866  				err = json.Unmarshal(*v, &folder)
 72867  				if err != nil {
 72868  					return err
 72869  				}
 72870  				dard.Folder = &folder
 72871  			}
 72872  		case "type":
 72873  			if v != nil {
 72874  				var typeVar TypeBasicDataset
 72875  				err = json.Unmarshal(*v, &typeVar)
 72876  				if err != nil {
 72877  					return err
 72878  				}
 72879  				dard.Type = typeVar
 72880  			}
 72881  		}
 72882  	}
 72883  
 72884  	return nil
 72885  }
 72886  
 72887  // DynamicsAXResourceDatasetTypeProperties dynamics AX OData resource dataset properties.
 72888  type DynamicsAXResourceDatasetTypeProperties struct {
 72889  	// Path - The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string).
 72890  	Path interface{} `json:"path,omitempty"`
 72891  }
 72892  
 72893  // DynamicsAXSource a copy activity Dynamics AX source.
 72894  type DynamicsAXSource struct {
 72895  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 72896  	Query interface{} `json:"query,omitempty"`
 72897  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 72898  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 72899  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 72900  	AdditionalProperties map[string]interface{} `json:""`
 72901  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 72902  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 72903  	// 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])).
 72904  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 72905  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 72906  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 72907  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 72908  	Type TypeBasicCopySource `json:"type,omitempty"`
 72909  }
 72910  
 72911  // MarshalJSON is the custom marshaler for DynamicsAXSource.
 72912  func (das DynamicsAXSource) MarshalJSON() ([]byte, error) {
 72913  	das.Type = TypeDynamicsAXSource
 72914  	objectMap := make(map[string]interface{})
 72915  	if das.Query != nil {
 72916  		objectMap["query"] = das.Query
 72917  	}
 72918  	if das.QueryTimeout != nil {
 72919  		objectMap["queryTimeout"] = das.QueryTimeout
 72920  	}
 72921  	if das.SourceRetryCount != nil {
 72922  		objectMap["sourceRetryCount"] = das.SourceRetryCount
 72923  	}
 72924  	if das.SourceRetryWait != nil {
 72925  		objectMap["sourceRetryWait"] = das.SourceRetryWait
 72926  	}
 72927  	if das.MaxConcurrentConnections != nil {
 72928  		objectMap["maxConcurrentConnections"] = das.MaxConcurrentConnections
 72929  	}
 72930  	if das.Type != "" {
 72931  		objectMap["type"] = das.Type
 72932  	}
 72933  	for k, v := range das.AdditionalProperties {
 72934  		objectMap[k] = v
 72935  	}
 72936  	return json.Marshal(objectMap)
 72937  }
 72938  
 72939  // AsHTTPSource is the BasicCopySource implementation for DynamicsAXSource.
 72940  func (das DynamicsAXSource) AsHTTPSource() (*HTTPSource, bool) {
 72941  	return nil, false
 72942  }
 72943  
 72944  // AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsAXSource.
 72945  func (das DynamicsAXSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 72946  	return nil, false
 72947  }
 72948  
 72949  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsAXSource.
 72950  func (das DynamicsAXSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 72951  	return nil, false
 72952  }
 72953  
 72954  // AsOffice365Source is the BasicCopySource implementation for DynamicsAXSource.
 72955  func (das DynamicsAXSource) AsOffice365Source() (*Office365Source, bool) {
 72956  	return nil, false
 72957  }
 72958  
 72959  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsAXSource.
 72960  func (das DynamicsAXSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 72961  	return nil, false
 72962  }
 72963  
 72964  // AsMongoDbV2Source is the BasicCopySource implementation for DynamicsAXSource.
 72965  func (das DynamicsAXSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 72966  	return nil, false
 72967  }
 72968  
 72969  // AsMongoDbSource is the BasicCopySource implementation for DynamicsAXSource.
 72970  func (das DynamicsAXSource) AsMongoDbSource() (*MongoDbSource, bool) {
 72971  	return nil, false
 72972  }
 72973  
 72974  // AsWebSource is the BasicCopySource implementation for DynamicsAXSource.
 72975  func (das DynamicsAXSource) AsWebSource() (*WebSource, bool) {
 72976  	return nil, false
 72977  }
 72978  
 72979  // AsOracleSource is the BasicCopySource implementation for DynamicsAXSource.
 72980  func (das DynamicsAXSource) AsOracleSource() (*OracleSource, bool) {
 72981  	return nil, false
 72982  }
 72983  
 72984  // AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsAXSource.
 72985  func (das DynamicsAXSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 72986  	return nil, false
 72987  }
 72988  
 72989  // AsHdfsSource is the BasicCopySource implementation for DynamicsAXSource.
 72990  func (das DynamicsAXSource) AsHdfsSource() (*HdfsSource, bool) {
 72991  	return nil, false
 72992  }
 72993  
 72994  // AsFileSystemSource is the BasicCopySource implementation for DynamicsAXSource.
 72995  func (das DynamicsAXSource) AsFileSystemSource() (*FileSystemSource, bool) {
 72996  	return nil, false
 72997  }
 72998  
 72999  // AsRestSource is the BasicCopySource implementation for DynamicsAXSource.
 73000  func (das DynamicsAXSource) AsRestSource() (*RestSource, bool) {
 73001  	return nil, false
 73002  }
 73003  
 73004  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource.
 73005  func (das DynamicsAXSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 73006  	return nil, false
 73007  }
 73008  
 73009  // AsODataSource is the BasicCopySource implementation for DynamicsAXSource.
 73010  func (das DynamicsAXSource) AsODataSource() (*ODataSource, bool) {
 73011  	return nil, false
 73012  }
 73013  
 73014  // AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsAXSource.
 73015  func (das DynamicsAXSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 73016  	return nil, false
 73017  }
 73018  
 73019  // AsRelationalSource is the BasicCopySource implementation for DynamicsAXSource.
 73020  func (das DynamicsAXSource) AsRelationalSource() (*RelationalSource, bool) {
 73021  	return nil, false
 73022  }
 73023  
 73024  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsAXSource.
 73025  func (das DynamicsAXSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 73026  	return nil, false
 73027  }
 73028  
 73029  // AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsAXSource.
 73030  func (das DynamicsAXSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 73031  	return nil, false
 73032  }
 73033  
 73034  // AsDynamicsSource is the BasicCopySource implementation for DynamicsAXSource.
 73035  func (das DynamicsAXSource) AsDynamicsSource() (*DynamicsSource, bool) {
 73036  	return nil, false
 73037  }
 73038  
 73039  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsAXSource.
 73040  func (das DynamicsAXSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 73041  	return nil, false
 73042  }
 73043  
 73044  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsAXSource.
 73045  func (das DynamicsAXSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 73046  	return nil, false
 73047  }
 73048  
 73049  // AsBlobSource is the BasicCopySource implementation for DynamicsAXSource.
 73050  func (das DynamicsAXSource) AsBlobSource() (*BlobSource, bool) {
 73051  	return nil, false
 73052  }
 73053  
 73054  // AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsAXSource.
 73055  func (das DynamicsAXSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 73056  	return nil, false
 73057  }
 73058  
 73059  // AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsAXSource.
 73060  func (das DynamicsAXSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 73061  	return nil, false
 73062  }
 73063  
 73064  // AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource.
 73065  func (das DynamicsAXSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 73066  	return nil, false
 73067  }
 73068  
 73069  // AsDynamicsAXSource is the BasicCopySource implementation for DynamicsAXSource.
 73070  func (das DynamicsAXSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 73071  	return &das, true
 73072  }
 73073  
 73074  // AsResponsysSource is the BasicCopySource implementation for DynamicsAXSource.
 73075  func (das DynamicsAXSource) AsResponsysSource() (*ResponsysSource, bool) {
 73076  	return nil, false
 73077  }
 73078  
 73079  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsAXSource.
 73080  func (das DynamicsAXSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 73081  	return nil, false
 73082  }
 73083  
 73084  // AsVerticaSource is the BasicCopySource implementation for DynamicsAXSource.
 73085  func (das DynamicsAXSource) AsVerticaSource() (*VerticaSource, bool) {
 73086  	return nil, false
 73087  }
 73088  
 73089  // AsNetezzaSource is the BasicCopySource implementation for DynamicsAXSource.
 73090  func (das DynamicsAXSource) AsNetezzaSource() (*NetezzaSource, bool) {
 73091  	return nil, false
 73092  }
 73093  
 73094  // AsZohoSource is the BasicCopySource implementation for DynamicsAXSource.
 73095  func (das DynamicsAXSource) AsZohoSource() (*ZohoSource, bool) {
 73096  	return nil, false
 73097  }
 73098  
 73099  // AsXeroSource is the BasicCopySource implementation for DynamicsAXSource.
 73100  func (das DynamicsAXSource) AsXeroSource() (*XeroSource, bool) {
 73101  	return nil, false
 73102  }
 73103  
 73104  // AsSquareSource is the BasicCopySource implementation for DynamicsAXSource.
 73105  func (das DynamicsAXSource) AsSquareSource() (*SquareSource, bool) {
 73106  	return nil, false
 73107  }
 73108  
 73109  // AsSparkSource is the BasicCopySource implementation for DynamicsAXSource.
 73110  func (das DynamicsAXSource) AsSparkSource() (*SparkSource, bool) {
 73111  	return nil, false
 73112  }
 73113  
 73114  // AsShopifySource is the BasicCopySource implementation for DynamicsAXSource.
 73115  func (das DynamicsAXSource) AsShopifySource() (*ShopifySource, bool) {
 73116  	return nil, false
 73117  }
 73118  
 73119  // AsServiceNowSource is the BasicCopySource implementation for DynamicsAXSource.
 73120  func (das DynamicsAXSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 73121  	return nil, false
 73122  }
 73123  
 73124  // AsQuickBooksSource is the BasicCopySource implementation for DynamicsAXSource.
 73125  func (das DynamicsAXSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 73126  	return nil, false
 73127  }
 73128  
 73129  // AsPrestoSource is the BasicCopySource implementation for DynamicsAXSource.
 73130  func (das DynamicsAXSource) AsPrestoSource() (*PrestoSource, bool) {
 73131  	return nil, false
 73132  }
 73133  
 73134  // AsPhoenixSource is the BasicCopySource implementation for DynamicsAXSource.
 73135  func (das DynamicsAXSource) AsPhoenixSource() (*PhoenixSource, bool) {
 73136  	return nil, false
 73137  }
 73138  
 73139  // AsPaypalSource is the BasicCopySource implementation for DynamicsAXSource.
 73140  func (das DynamicsAXSource) AsPaypalSource() (*PaypalSource, bool) {
 73141  	return nil, false
 73142  }
 73143  
 73144  // AsMarketoSource is the BasicCopySource implementation for DynamicsAXSource.
 73145  func (das DynamicsAXSource) AsMarketoSource() (*MarketoSource, bool) {
 73146  	return nil, false
 73147  }
 73148  
 73149  // AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsAXSource.
 73150  func (das DynamicsAXSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 73151  	return nil, false
 73152  }
 73153  
 73154  // AsMariaDBSource is the BasicCopySource implementation for DynamicsAXSource.
 73155  func (das DynamicsAXSource) AsMariaDBSource() (*MariaDBSource, bool) {
 73156  	return nil, false
 73157  }
 73158  
 73159  // AsMagentoSource is the BasicCopySource implementation for DynamicsAXSource.
 73160  func (das DynamicsAXSource) AsMagentoSource() (*MagentoSource, bool) {
 73161  	return nil, false
 73162  }
 73163  
 73164  // AsJiraSource is the BasicCopySource implementation for DynamicsAXSource.
 73165  func (das DynamicsAXSource) AsJiraSource() (*JiraSource, bool) {
 73166  	return nil, false
 73167  }
 73168  
 73169  // AsImpalaSource is the BasicCopySource implementation for DynamicsAXSource.
 73170  func (das DynamicsAXSource) AsImpalaSource() (*ImpalaSource, bool) {
 73171  	return nil, false
 73172  }
 73173  
 73174  // AsHubspotSource is the BasicCopySource implementation for DynamicsAXSource.
 73175  func (das DynamicsAXSource) AsHubspotSource() (*HubspotSource, bool) {
 73176  	return nil, false
 73177  }
 73178  
 73179  // AsHiveSource is the BasicCopySource implementation for DynamicsAXSource.
 73180  func (das DynamicsAXSource) AsHiveSource() (*HiveSource, bool) {
 73181  	return nil, false
 73182  }
 73183  
 73184  // AsHBaseSource is the BasicCopySource implementation for DynamicsAXSource.
 73185  func (das DynamicsAXSource) AsHBaseSource() (*HBaseSource, bool) {
 73186  	return nil, false
 73187  }
 73188  
 73189  // AsGreenplumSource is the BasicCopySource implementation for DynamicsAXSource.
 73190  func (das DynamicsAXSource) AsGreenplumSource() (*GreenplumSource, bool) {
 73191  	return nil, false
 73192  }
 73193  
 73194  // AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsAXSource.
 73195  func (das DynamicsAXSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 73196  	return nil, false
 73197  }
 73198  
 73199  // AsEloquaSource is the BasicCopySource implementation for DynamicsAXSource.
 73200  func (das DynamicsAXSource) AsEloquaSource() (*EloquaSource, bool) {
 73201  	return nil, false
 73202  }
 73203  
 73204  // AsDrillSource is the BasicCopySource implementation for DynamicsAXSource.
 73205  func (das DynamicsAXSource) AsDrillSource() (*DrillSource, bool) {
 73206  	return nil, false
 73207  }
 73208  
 73209  // AsCouchbaseSource is the BasicCopySource implementation for DynamicsAXSource.
 73210  func (das DynamicsAXSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 73211  	return nil, false
 73212  }
 73213  
 73214  // AsConcurSource is the BasicCopySource implementation for DynamicsAXSource.
 73215  func (das DynamicsAXSource) AsConcurSource() (*ConcurSource, bool) {
 73216  	return nil, false
 73217  }
 73218  
 73219  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73220  func (das DynamicsAXSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 73221  	return nil, false
 73222  }
 73223  
 73224  // AsAmazonMWSSource is the BasicCopySource implementation for DynamicsAXSource.
 73225  func (das DynamicsAXSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 73226  	return nil, false
 73227  }
 73228  
 73229  // AsCassandraSource is the BasicCopySource implementation for DynamicsAXSource.
 73230  func (das DynamicsAXSource) AsCassandraSource() (*CassandraSource, bool) {
 73231  	return nil, false
 73232  }
 73233  
 73234  // AsTeradataSource is the BasicCopySource implementation for DynamicsAXSource.
 73235  func (das DynamicsAXSource) AsTeradataSource() (*TeradataSource, bool) {
 73236  	return nil, false
 73237  }
 73238  
 73239  // AsAzureMySQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73240  func (das DynamicsAXSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 73241  	return nil, false
 73242  }
 73243  
 73244  // AsSQLDWSource is the BasicCopySource implementation for DynamicsAXSource.
 73245  func (das DynamicsAXSource) AsSQLDWSource() (*SQLDWSource, bool) {
 73246  	return nil, false
 73247  }
 73248  
 73249  // AsSQLMISource is the BasicCopySource implementation for DynamicsAXSource.
 73250  func (das DynamicsAXSource) AsSQLMISource() (*SQLMISource, bool) {
 73251  	return nil, false
 73252  }
 73253  
 73254  // AsAzureSQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73255  func (das DynamicsAXSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 73256  	return nil, false
 73257  }
 73258  
 73259  // AsSQLServerSource is the BasicCopySource implementation for DynamicsAXSource.
 73260  func (das DynamicsAXSource) AsSQLServerSource() (*SQLServerSource, bool) {
 73261  	return nil, false
 73262  }
 73263  
 73264  // AsSQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73265  func (das DynamicsAXSource) AsSQLSource() (*SQLSource, bool) {
 73266  	return nil, false
 73267  }
 73268  
 73269  // AsSapTableSource is the BasicCopySource implementation for DynamicsAXSource.
 73270  func (das DynamicsAXSource) AsSapTableSource() (*SapTableSource, bool) {
 73271  	return nil, false
 73272  }
 73273  
 73274  // AsSapOpenHubSource is the BasicCopySource implementation for DynamicsAXSource.
 73275  func (das DynamicsAXSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 73276  	return nil, false
 73277  }
 73278  
 73279  // AsSapHanaSource is the BasicCopySource implementation for DynamicsAXSource.
 73280  func (das DynamicsAXSource) AsSapHanaSource() (*SapHanaSource, bool) {
 73281  	return nil, false
 73282  }
 73283  
 73284  // AsSapEccSource is the BasicCopySource implementation for DynamicsAXSource.
 73285  func (das DynamicsAXSource) AsSapEccSource() (*SapEccSource, bool) {
 73286  	return nil, false
 73287  }
 73288  
 73289  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsAXSource.
 73290  func (das DynamicsAXSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 73291  	return nil, false
 73292  }
 73293  
 73294  // AsSalesforceSource is the BasicCopySource implementation for DynamicsAXSource.
 73295  func (das DynamicsAXSource) AsSalesforceSource() (*SalesforceSource, bool) {
 73296  	return nil, false
 73297  }
 73298  
 73299  // AsSapBwSource is the BasicCopySource implementation for DynamicsAXSource.
 73300  func (das DynamicsAXSource) AsSapBwSource() (*SapBwSource, bool) {
 73301  	return nil, false
 73302  }
 73303  
 73304  // AsSybaseSource is the BasicCopySource implementation for DynamicsAXSource.
 73305  func (das DynamicsAXSource) AsSybaseSource() (*SybaseSource, bool) {
 73306  	return nil, false
 73307  }
 73308  
 73309  // AsPostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73310  func (das DynamicsAXSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 73311  	return nil, false
 73312  }
 73313  
 73314  // AsMySQLSource is the BasicCopySource implementation for DynamicsAXSource.
 73315  func (das DynamicsAXSource) AsMySQLSource() (*MySQLSource, bool) {
 73316  	return nil, false
 73317  }
 73318  
 73319  // AsOdbcSource is the BasicCopySource implementation for DynamicsAXSource.
 73320  func (das DynamicsAXSource) AsOdbcSource() (*OdbcSource, bool) {
 73321  	return nil, false
 73322  }
 73323  
 73324  // AsDb2Source is the BasicCopySource implementation for DynamicsAXSource.
 73325  func (das DynamicsAXSource) AsDb2Source() (*Db2Source, bool) {
 73326  	return nil, false
 73327  }
 73328  
 73329  // AsInformixSource is the BasicCopySource implementation for DynamicsAXSource.
 73330  func (das DynamicsAXSource) AsInformixSource() (*InformixSource, bool) {
 73331  	return nil, false
 73332  }
 73333  
 73334  // AsAzureTableSource is the BasicCopySource implementation for DynamicsAXSource.
 73335  func (das DynamicsAXSource) AsAzureTableSource() (*AzureTableSource, bool) {
 73336  	return nil, false
 73337  }
 73338  
 73339  // AsTabularSource is the BasicCopySource implementation for DynamicsAXSource.
 73340  func (das DynamicsAXSource) AsTabularSource() (*TabularSource, bool) {
 73341  	return nil, false
 73342  }
 73343  
 73344  // AsBasicTabularSource is the BasicCopySource implementation for DynamicsAXSource.
 73345  func (das DynamicsAXSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 73346  	return &das, true
 73347  }
 73348  
 73349  // AsBinarySource is the BasicCopySource implementation for DynamicsAXSource.
 73350  func (das DynamicsAXSource) AsBinarySource() (*BinarySource, bool) {
 73351  	return nil, false
 73352  }
 73353  
 73354  // AsOrcSource is the BasicCopySource implementation for DynamicsAXSource.
 73355  func (das DynamicsAXSource) AsOrcSource() (*OrcSource, bool) {
 73356  	return nil, false
 73357  }
 73358  
 73359  // AsJSONSource is the BasicCopySource implementation for DynamicsAXSource.
 73360  func (das DynamicsAXSource) AsJSONSource() (*JSONSource, bool) {
 73361  	return nil, false
 73362  }
 73363  
 73364  // AsDelimitedTextSource is the BasicCopySource implementation for DynamicsAXSource.
 73365  func (das DynamicsAXSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 73366  	return nil, false
 73367  }
 73368  
 73369  // AsParquetSource is the BasicCopySource implementation for DynamicsAXSource.
 73370  func (das DynamicsAXSource) AsParquetSource() (*ParquetSource, bool) {
 73371  	return nil, false
 73372  }
 73373  
 73374  // AsAvroSource is the BasicCopySource implementation for DynamicsAXSource.
 73375  func (das DynamicsAXSource) AsAvroSource() (*AvroSource, bool) {
 73376  	return nil, false
 73377  }
 73378  
 73379  // AsCopySource is the BasicCopySource implementation for DynamicsAXSource.
 73380  func (das DynamicsAXSource) AsCopySource() (*CopySource, bool) {
 73381  	return nil, false
 73382  }
 73383  
 73384  // AsBasicCopySource is the BasicCopySource implementation for DynamicsAXSource.
 73385  func (das DynamicsAXSource) AsBasicCopySource() (BasicCopySource, bool) {
 73386  	return &das, true
 73387  }
 73388  
 73389  // UnmarshalJSON is the custom unmarshaler for DynamicsAXSource struct.
 73390  func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error {
 73391  	var m map[string]*json.RawMessage
 73392  	err := json.Unmarshal(body, &m)
 73393  	if err != nil {
 73394  		return err
 73395  	}
 73396  	for k, v := range m {
 73397  		switch k {
 73398  		case "query":
 73399  			if v != nil {
 73400  				var query interface{}
 73401  				err = json.Unmarshal(*v, &query)
 73402  				if err != nil {
 73403  					return err
 73404  				}
 73405  				das.Query = query
 73406  			}
 73407  		case "queryTimeout":
 73408  			if v != nil {
 73409  				var queryTimeout interface{}
 73410  				err = json.Unmarshal(*v, &queryTimeout)
 73411  				if err != nil {
 73412  					return err
 73413  				}
 73414  				das.QueryTimeout = queryTimeout
 73415  			}
 73416  		default:
 73417  			if v != nil {
 73418  				var additionalProperties interface{}
 73419  				err = json.Unmarshal(*v, &additionalProperties)
 73420  				if err != nil {
 73421  					return err
 73422  				}
 73423  				if das.AdditionalProperties == nil {
 73424  					das.AdditionalProperties = make(map[string]interface{})
 73425  				}
 73426  				das.AdditionalProperties[k] = additionalProperties
 73427  			}
 73428  		case "sourceRetryCount":
 73429  			if v != nil {
 73430  				var sourceRetryCount interface{}
 73431  				err = json.Unmarshal(*v, &sourceRetryCount)
 73432  				if err != nil {
 73433  					return err
 73434  				}
 73435  				das.SourceRetryCount = sourceRetryCount
 73436  			}
 73437  		case "sourceRetryWait":
 73438  			if v != nil {
 73439  				var sourceRetryWait interface{}
 73440  				err = json.Unmarshal(*v, &sourceRetryWait)
 73441  				if err != nil {
 73442  					return err
 73443  				}
 73444  				das.SourceRetryWait = sourceRetryWait
 73445  			}
 73446  		case "maxConcurrentConnections":
 73447  			if v != nil {
 73448  				var maxConcurrentConnections interface{}
 73449  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 73450  				if err != nil {
 73451  					return err
 73452  				}
 73453  				das.MaxConcurrentConnections = maxConcurrentConnections
 73454  			}
 73455  		case "type":
 73456  			if v != nil {
 73457  				var typeVar TypeBasicCopySource
 73458  				err = json.Unmarshal(*v, &typeVar)
 73459  				if err != nil {
 73460  					return err
 73461  				}
 73462  				das.Type = typeVar
 73463  			}
 73464  		}
 73465  	}
 73466  
 73467  	return nil
 73468  }
 73469  
 73470  // DynamicsCrmEntityDataset the Dynamics CRM entity dataset.
 73471  type DynamicsCrmEntityDataset struct {
 73472  	// DynamicsCrmEntityDatasetTypeProperties - Dynamics CRM entity dataset properties.
 73473  	*DynamicsCrmEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
 73474  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 73475  	AdditionalProperties map[string]interface{} `json:""`
 73476  	// Description - Dataset description.
 73477  	Description *string `json:"description,omitempty"`
 73478  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 73479  	Structure interface{} `json:"structure,omitempty"`
 73480  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 73481  	Schema interface{} `json:"schema,omitempty"`
 73482  	// LinkedServiceName - Linked service reference.
 73483  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 73484  	// Parameters - Parameters for dataset.
 73485  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 73486  	// Annotations - List of tags that can be used for describing the Dataset.
 73487  	Annotations *[]interface{} `json:"annotations,omitempty"`
 73488  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 73489  	Folder *DatasetFolder `json:"folder,omitempty"`
 73490  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 73491  	Type TypeBasicDataset `json:"type,omitempty"`
 73492  }
 73493  
 73494  // MarshalJSON is the custom marshaler for DynamicsCrmEntityDataset.
 73495  func (dced DynamicsCrmEntityDataset) MarshalJSON() ([]byte, error) {
 73496  	dced.Type = TypeDynamicsCrmEntity
 73497  	objectMap := make(map[string]interface{})
 73498  	if dced.DynamicsCrmEntityDatasetTypeProperties != nil {
 73499  		objectMap["typeProperties"] = dced.DynamicsCrmEntityDatasetTypeProperties
 73500  	}
 73501  	if dced.Description != nil {
 73502  		objectMap["description"] = dced.Description
 73503  	}
 73504  	if dced.Structure != nil {
 73505  		objectMap["structure"] = dced.Structure
 73506  	}
 73507  	if dced.Schema != nil {
 73508  		objectMap["schema"] = dced.Schema
 73509  	}
 73510  	if dced.LinkedServiceName != nil {
 73511  		objectMap["linkedServiceName"] = dced.LinkedServiceName
 73512  	}
 73513  	if dced.Parameters != nil {
 73514  		objectMap["parameters"] = dced.Parameters
 73515  	}
 73516  	if dced.Annotations != nil {
 73517  		objectMap["annotations"] = dced.Annotations
 73518  	}
 73519  	if dced.Folder != nil {
 73520  		objectMap["folder"] = dced.Folder
 73521  	}
 73522  	if dced.Type != "" {
 73523  		objectMap["type"] = dced.Type
 73524  	}
 73525  	for k, v := range dced.AdditionalProperties {
 73526  		objectMap[k] = v
 73527  	}
 73528  	return json.Marshal(objectMap)
 73529  }
 73530  
 73531  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73532  func (dced DynamicsCrmEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 73533  	return nil, false
 73534  }
 73535  
 73536  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73537  func (dced DynamicsCrmEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 73538  	return nil, false
 73539  }
 73540  
 73541  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73542  func (dced DynamicsCrmEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 73543  	return nil, false
 73544  }
 73545  
 73546  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73547  func (dced DynamicsCrmEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 73548  	return nil, false
 73549  }
 73550  
 73551  // AsResponsysObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73552  func (dced DynamicsCrmEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 73553  	return nil, false
 73554  }
 73555  
 73556  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73557  func (dced DynamicsCrmEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 73558  	return nil, false
 73559  }
 73560  
 73561  // AsVerticaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73562  func (dced DynamicsCrmEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 73563  	return nil, false
 73564  }
 73565  
 73566  // AsNetezzaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73567  func (dced DynamicsCrmEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 73568  	return nil, false
 73569  }
 73570  
 73571  // AsZohoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73572  func (dced DynamicsCrmEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 73573  	return nil, false
 73574  }
 73575  
 73576  // AsXeroObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73577  func (dced DynamicsCrmEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 73578  	return nil, false
 73579  }
 73580  
 73581  // AsSquareObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73582  func (dced DynamicsCrmEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 73583  	return nil, false
 73584  }
 73585  
 73586  // AsSparkObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73587  func (dced DynamicsCrmEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 73588  	return nil, false
 73589  }
 73590  
 73591  // AsShopifyObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73592  func (dced DynamicsCrmEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 73593  	return nil, false
 73594  }
 73595  
 73596  // AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73597  func (dced DynamicsCrmEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 73598  	return nil, false
 73599  }
 73600  
 73601  // AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73602  func (dced DynamicsCrmEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 73603  	return nil, false
 73604  }
 73605  
 73606  // AsPrestoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73607  func (dced DynamicsCrmEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 73608  	return nil, false
 73609  }
 73610  
 73611  // AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73612  func (dced DynamicsCrmEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 73613  	return nil, false
 73614  }
 73615  
 73616  // AsPaypalObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73617  func (dced DynamicsCrmEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 73618  	return nil, false
 73619  }
 73620  
 73621  // AsMarketoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73622  func (dced DynamicsCrmEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 73623  	return nil, false
 73624  }
 73625  
 73626  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73627  func (dced DynamicsCrmEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 73628  	return nil, false
 73629  }
 73630  
 73631  // AsMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73632  func (dced DynamicsCrmEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 73633  	return nil, false
 73634  }
 73635  
 73636  // AsMagentoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73637  func (dced DynamicsCrmEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 73638  	return nil, false
 73639  }
 73640  
 73641  // AsJiraObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73642  func (dced DynamicsCrmEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 73643  	return nil, false
 73644  }
 73645  
 73646  // AsImpalaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73647  func (dced DynamicsCrmEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 73648  	return nil, false
 73649  }
 73650  
 73651  // AsHubspotObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73652  func (dced DynamicsCrmEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 73653  	return nil, false
 73654  }
 73655  
 73656  // AsHiveObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73657  func (dced DynamicsCrmEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 73658  	return nil, false
 73659  }
 73660  
 73661  // AsHBaseObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73662  func (dced DynamicsCrmEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 73663  	return nil, false
 73664  }
 73665  
 73666  // AsGreenplumTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73667  func (dced DynamicsCrmEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 73668  	return nil, false
 73669  }
 73670  
 73671  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73672  func (dced DynamicsCrmEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 73673  	return nil, false
 73674  }
 73675  
 73676  // AsEloquaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73677  func (dced DynamicsCrmEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 73678  	return nil, false
 73679  }
 73680  
 73681  // AsDrillTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73682  func (dced DynamicsCrmEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 73683  	return nil, false
 73684  }
 73685  
 73686  // AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73687  func (dced DynamicsCrmEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 73688  	return nil, false
 73689  }
 73690  
 73691  // AsConcurObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73692  func (dced DynamicsCrmEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 73693  	return nil, false
 73694  }
 73695  
 73696  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73697  func (dced DynamicsCrmEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 73698  	return nil, false
 73699  }
 73700  
 73701  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73702  func (dced DynamicsCrmEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 73703  	return nil, false
 73704  }
 73705  
 73706  // AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73707  func (dced DynamicsCrmEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 73708  	return nil, false
 73709  }
 73710  
 73711  // AsWebTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73712  func (dced DynamicsCrmEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 73713  	return nil, false
 73714  }
 73715  
 73716  // AsSapTableResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73717  func (dced DynamicsCrmEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 73718  	return nil, false
 73719  }
 73720  
 73721  // AsRestResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73722  func (dced DynamicsCrmEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 73723  	return nil, false
 73724  }
 73725  
 73726  // AsSQLServerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73727  func (dced DynamicsCrmEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 73728  	return nil, false
 73729  }
 73730  
 73731  // AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73732  func (dced DynamicsCrmEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 73733  	return nil, false
 73734  }
 73735  
 73736  // AsSapHanaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73737  func (dced DynamicsCrmEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 73738  	return nil, false
 73739  }
 73740  
 73741  // AsSapEccResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73742  func (dced DynamicsCrmEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 73743  	return nil, false
 73744  }
 73745  
 73746  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73747  func (dced DynamicsCrmEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 73748  	return nil, false
 73749  }
 73750  
 73751  // AsSapBwCubeDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73752  func (dced DynamicsCrmEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 73753  	return nil, false
 73754  }
 73755  
 73756  // AsSybaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73757  func (dced DynamicsCrmEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 73758  	return nil, false
 73759  }
 73760  
 73761  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73762  func (dced DynamicsCrmEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 73763  	return nil, false
 73764  }
 73765  
 73766  // AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73767  func (dced DynamicsCrmEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 73768  	return nil, false
 73769  }
 73770  
 73771  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73772  func (dced DynamicsCrmEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 73773  	return nil, false
 73774  }
 73775  
 73776  // AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73777  func (dced DynamicsCrmEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 73778  	return nil, false
 73779  }
 73780  
 73781  // AsMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73782  func (dced DynamicsCrmEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 73783  	return nil, false
 73784  }
 73785  
 73786  // AsOdbcTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73787  func (dced DynamicsCrmEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 73788  	return nil, false
 73789  }
 73790  
 73791  // AsInformixTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73792  func (dced DynamicsCrmEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 73793  	return nil, false
 73794  }
 73795  
 73796  // AsRelationalTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73797  func (dced DynamicsCrmEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 73798  	return nil, false
 73799  }
 73800  
 73801  // AsDb2TableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73802  func (dced DynamicsCrmEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 73803  	return nil, false
 73804  }
 73805  
 73806  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73807  func (dced DynamicsCrmEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 73808  	return nil, false
 73809  }
 73810  
 73811  // AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73812  func (dced DynamicsCrmEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 73813  	return nil, false
 73814  }
 73815  
 73816  // AsTeradataTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73817  func (dced DynamicsCrmEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 73818  	return nil, false
 73819  }
 73820  
 73821  // AsOracleTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73822  func (dced DynamicsCrmEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 73823  	return nil, false
 73824  }
 73825  
 73826  // AsODataResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73827  func (dced DynamicsCrmEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 73828  	return nil, false
 73829  }
 73830  
 73831  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73832  func (dced DynamicsCrmEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 73833  	return nil, false
 73834  }
 73835  
 73836  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73837  func (dced DynamicsCrmEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 73838  	return nil, false
 73839  }
 73840  
 73841  // AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73842  func (dced DynamicsCrmEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 73843  	return nil, false
 73844  }
 73845  
 73846  // AsOffice365Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73847  func (dced DynamicsCrmEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 73848  	return nil, false
 73849  }
 73850  
 73851  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73852  func (dced DynamicsCrmEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 73853  	return nil, false
 73854  }
 73855  
 73856  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73857  func (dced DynamicsCrmEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 73858  	return &dced, true
 73859  }
 73860  
 73861  // AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73862  func (dced DynamicsCrmEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 73863  	return nil, false
 73864  }
 73865  
 73866  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73867  func (dced DynamicsCrmEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 73868  	return nil, false
 73869  }
 73870  
 73871  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73872  func (dced DynamicsCrmEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 73873  	return nil, false
 73874  }
 73875  
 73876  // AsCustomDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73877  func (dced DynamicsCrmEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
 73878  	return nil, false
 73879  }
 73880  
 73881  // AsCassandraTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73882  func (dced DynamicsCrmEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 73883  	return nil, false
 73884  }
 73885  
 73886  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73887  func (dced DynamicsCrmEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 73888  	return nil, false
 73889  }
 73890  
 73891  // AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73892  func (dced DynamicsCrmEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 73893  	return nil, false
 73894  }
 73895  
 73896  // AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73897  func (dced DynamicsCrmEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 73898  	return nil, false
 73899  }
 73900  
 73901  // AsAzureTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73902  func (dced DynamicsCrmEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 73903  	return nil, false
 73904  }
 73905  
 73906  // AsBinaryDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73907  func (dced DynamicsCrmEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 73908  	return nil, false
 73909  }
 73910  
 73911  // AsOrcDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73912  func (dced DynamicsCrmEntityDataset) AsOrcDataset() (*OrcDataset, bool) {
 73913  	return nil, false
 73914  }
 73915  
 73916  // AsJSONDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73917  func (dced DynamicsCrmEntityDataset) AsJSONDataset() (*JSONDataset, bool) {
 73918  	return nil, false
 73919  }
 73920  
 73921  // AsDelimitedTextDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73922  func (dced DynamicsCrmEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 73923  	return nil, false
 73924  }
 73925  
 73926  // AsParquetDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73927  func (dced DynamicsCrmEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
 73928  	return nil, false
 73929  }
 73930  
 73931  // AsAvroDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73932  func (dced DynamicsCrmEntityDataset) AsAvroDataset() (*AvroDataset, bool) {
 73933  	return nil, false
 73934  }
 73935  
 73936  // AsDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73937  func (dced DynamicsCrmEntityDataset) AsDataset() (*Dataset, bool) {
 73938  	return nil, false
 73939  }
 73940  
 73941  // AsBasicDataset is the BasicDataset implementation for DynamicsCrmEntityDataset.
 73942  func (dced DynamicsCrmEntityDataset) AsBasicDataset() (BasicDataset, bool) {
 73943  	return &dced, true
 73944  }
 73945  
 73946  // UnmarshalJSON is the custom unmarshaler for DynamicsCrmEntityDataset struct.
 73947  func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error {
 73948  	var m map[string]*json.RawMessage
 73949  	err := json.Unmarshal(body, &m)
 73950  	if err != nil {
 73951  		return err
 73952  	}
 73953  	for k, v := range m {
 73954  		switch k {
 73955  		case "typeProperties":
 73956  			if v != nil {
 73957  				var dynamicsCrmEntityDatasetTypeProperties DynamicsCrmEntityDatasetTypeProperties
 73958  				err = json.Unmarshal(*v, &dynamicsCrmEntityDatasetTypeProperties)
 73959  				if err != nil {
 73960  					return err
 73961  				}
 73962  				dced.DynamicsCrmEntityDatasetTypeProperties = &dynamicsCrmEntityDatasetTypeProperties
 73963  			}
 73964  		default:
 73965  			if v != nil {
 73966  				var additionalProperties interface{}
 73967  				err = json.Unmarshal(*v, &additionalProperties)
 73968  				if err != nil {
 73969  					return err
 73970  				}
 73971  				if dced.AdditionalProperties == nil {
 73972  					dced.AdditionalProperties = make(map[string]interface{})
 73973  				}
 73974  				dced.AdditionalProperties[k] = additionalProperties
 73975  			}
 73976  		case "description":
 73977  			if v != nil {
 73978  				var description string
 73979  				err = json.Unmarshal(*v, &description)
 73980  				if err != nil {
 73981  					return err
 73982  				}
 73983  				dced.Description = &description
 73984  			}
 73985  		case "structure":
 73986  			if v != nil {
 73987  				var structure interface{}
 73988  				err = json.Unmarshal(*v, &structure)
 73989  				if err != nil {
 73990  					return err
 73991  				}
 73992  				dced.Structure = structure
 73993  			}
 73994  		case "schema":
 73995  			if v != nil {
 73996  				var schema interface{}
 73997  				err = json.Unmarshal(*v, &schema)
 73998  				if err != nil {
 73999  					return err
 74000  				}
 74001  				dced.Schema = schema
 74002  			}
 74003  		case "linkedServiceName":
 74004  			if v != nil {
 74005  				var linkedServiceName LinkedServiceReference
 74006  				err = json.Unmarshal(*v, &linkedServiceName)
 74007  				if err != nil {
 74008  					return err
 74009  				}
 74010  				dced.LinkedServiceName = &linkedServiceName
 74011  			}
 74012  		case "parameters":
 74013  			if v != nil {
 74014  				var parameters map[string]*ParameterSpecification
 74015  				err = json.Unmarshal(*v, &parameters)
 74016  				if err != nil {
 74017  					return err
 74018  				}
 74019  				dced.Parameters = parameters
 74020  			}
 74021  		case "annotations":
 74022  			if v != nil {
 74023  				var annotations []interface{}
 74024  				err = json.Unmarshal(*v, &annotations)
 74025  				if err != nil {
 74026  					return err
 74027  				}
 74028  				dced.Annotations = &annotations
 74029  			}
 74030  		case "folder":
 74031  			if v != nil {
 74032  				var folder DatasetFolder
 74033  				err = json.Unmarshal(*v, &folder)
 74034  				if err != nil {
 74035  					return err
 74036  				}
 74037  				dced.Folder = &folder
 74038  			}
 74039  		case "type":
 74040  			if v != nil {
 74041  				var typeVar TypeBasicDataset
 74042  				err = json.Unmarshal(*v, &typeVar)
 74043  				if err != nil {
 74044  					return err
 74045  				}
 74046  				dced.Type = typeVar
 74047  			}
 74048  		}
 74049  	}
 74050  
 74051  	return nil
 74052  }
 74053  
 74054  // DynamicsCrmEntityDatasetTypeProperties dynamics CRM entity dataset properties.
 74055  type DynamicsCrmEntityDatasetTypeProperties struct {
 74056  	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
 74057  	EntityName interface{} `json:"entityName,omitempty"`
 74058  }
 74059  
 74060  // DynamicsCrmLinkedService dynamics CRM linked service.
 74061  type DynamicsCrmLinkedService struct {
 74062  	// DynamicsCrmLinkedServiceTypeProperties - Dynamics CRM linked service properties.
 74063  	*DynamicsCrmLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 74064  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 74065  	AdditionalProperties map[string]interface{} `json:""`
 74066  	// ConnectVia - The integration runtime reference.
 74067  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 74068  	// Description - Linked service description.
 74069  	Description *string `json:"description,omitempty"`
 74070  	// Parameters - Parameters for linked service.
 74071  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 74072  	// Annotations - List of tags that can be used for describing the linked service.
 74073  	Annotations *[]interface{} `json:"annotations,omitempty"`
 74074  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 74075  	Type TypeBasicLinkedService `json:"type,omitempty"`
 74076  }
 74077  
 74078  // MarshalJSON is the custom marshaler for DynamicsCrmLinkedService.
 74079  func (dcls DynamicsCrmLinkedService) MarshalJSON() ([]byte, error) {
 74080  	dcls.Type = TypeDynamicsCrm
 74081  	objectMap := make(map[string]interface{})
 74082  	if dcls.DynamicsCrmLinkedServiceTypeProperties != nil {
 74083  		objectMap["typeProperties"] = dcls.DynamicsCrmLinkedServiceTypeProperties
 74084  	}
 74085  	if dcls.ConnectVia != nil {
 74086  		objectMap["connectVia"] = dcls.ConnectVia
 74087  	}
 74088  	if dcls.Description != nil {
 74089  		objectMap["description"] = dcls.Description
 74090  	}
 74091  	if dcls.Parameters != nil {
 74092  		objectMap["parameters"] = dcls.Parameters
 74093  	}
 74094  	if dcls.Annotations != nil {
 74095  		objectMap["annotations"] = dcls.Annotations
 74096  	}
 74097  	if dcls.Type != "" {
 74098  		objectMap["type"] = dcls.Type
 74099  	}
 74100  	for k, v := range dcls.AdditionalProperties {
 74101  		objectMap[k] = v
 74102  	}
 74103  	return json.Marshal(objectMap)
 74104  }
 74105  
 74106  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74107  func (dcls DynamicsCrmLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 74108  	return nil, false
 74109  }
 74110  
 74111  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74112  func (dcls DynamicsCrmLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 74113  	return nil, false
 74114  }
 74115  
 74116  // AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74117  func (dcls DynamicsCrmLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 74118  	return nil, false
 74119  }
 74120  
 74121  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74122  func (dcls DynamicsCrmLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 74123  	return nil, false
 74124  }
 74125  
 74126  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74127  func (dcls DynamicsCrmLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 74128  	return nil, false
 74129  }
 74130  
 74131  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74132  func (dcls DynamicsCrmLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 74133  	return nil, false
 74134  }
 74135  
 74136  // AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74137  func (dcls DynamicsCrmLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 74138  	return nil, false
 74139  }
 74140  
 74141  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74142  func (dcls DynamicsCrmLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 74143  	return nil, false
 74144  }
 74145  
 74146  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74147  func (dcls DynamicsCrmLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 74148  	return nil, false
 74149  }
 74150  
 74151  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74152  func (dcls DynamicsCrmLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 74153  	return nil, false
 74154  }
 74155  
 74156  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74157  func (dcls DynamicsCrmLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 74158  	return nil, false
 74159  }
 74160  
 74161  // AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74162  func (dcls DynamicsCrmLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 74163  	return nil, false
 74164  }
 74165  
 74166  // AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74167  func (dcls DynamicsCrmLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 74168  	return nil, false
 74169  }
 74170  
 74171  // AsZohoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74172  func (dcls DynamicsCrmLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 74173  	return nil, false
 74174  }
 74175  
 74176  // AsXeroLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74177  func (dcls DynamicsCrmLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 74178  	return nil, false
 74179  }
 74180  
 74181  // AsSquareLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74182  func (dcls DynamicsCrmLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 74183  	return nil, false
 74184  }
 74185  
 74186  // AsSparkLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74187  func (dcls DynamicsCrmLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 74188  	return nil, false
 74189  }
 74190  
 74191  // AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74192  func (dcls DynamicsCrmLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 74193  	return nil, false
 74194  }
 74195  
 74196  // AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74197  func (dcls DynamicsCrmLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 74198  	return nil, false
 74199  }
 74200  
 74201  // AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74202  func (dcls DynamicsCrmLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 74203  	return nil, false
 74204  }
 74205  
 74206  // AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74207  func (dcls DynamicsCrmLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 74208  	return nil, false
 74209  }
 74210  
 74211  // AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74212  func (dcls DynamicsCrmLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 74213  	return nil, false
 74214  }
 74215  
 74216  // AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74217  func (dcls DynamicsCrmLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 74218  	return nil, false
 74219  }
 74220  
 74221  // AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74222  func (dcls DynamicsCrmLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 74223  	return nil, false
 74224  }
 74225  
 74226  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74227  func (dcls DynamicsCrmLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 74228  	return nil, false
 74229  }
 74230  
 74231  // AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74232  func (dcls DynamicsCrmLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 74233  	return nil, false
 74234  }
 74235  
 74236  // AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74237  func (dcls DynamicsCrmLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 74238  	return nil, false
 74239  }
 74240  
 74241  // AsJiraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74242  func (dcls DynamicsCrmLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 74243  	return nil, false
 74244  }
 74245  
 74246  // AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74247  func (dcls DynamicsCrmLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 74248  	return nil, false
 74249  }
 74250  
 74251  // AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74252  func (dcls DynamicsCrmLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 74253  	return nil, false
 74254  }
 74255  
 74256  // AsHiveLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74257  func (dcls DynamicsCrmLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 74258  	return nil, false
 74259  }
 74260  
 74261  // AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74262  func (dcls DynamicsCrmLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 74263  	return nil, false
 74264  }
 74265  
 74266  // AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74267  func (dcls DynamicsCrmLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 74268  	return nil, false
 74269  }
 74270  
 74271  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74272  func (dcls DynamicsCrmLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 74273  	return nil, false
 74274  }
 74275  
 74276  // AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74277  func (dcls DynamicsCrmLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 74278  	return nil, false
 74279  }
 74280  
 74281  // AsDrillLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74282  func (dcls DynamicsCrmLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 74283  	return nil, false
 74284  }
 74285  
 74286  // AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74287  func (dcls DynamicsCrmLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 74288  	return nil, false
 74289  }
 74290  
 74291  // AsConcurLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74292  func (dcls DynamicsCrmLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 74293  	return nil, false
 74294  }
 74295  
 74296  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74297  func (dcls DynamicsCrmLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 74298  	return nil, false
 74299  }
 74300  
 74301  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74302  func (dcls DynamicsCrmLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 74303  	return nil, false
 74304  }
 74305  
 74306  // AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74307  func (dcls DynamicsCrmLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 74308  	return nil, false
 74309  }
 74310  
 74311  // AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74312  func (dcls DynamicsCrmLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 74313  	return nil, false
 74314  }
 74315  
 74316  // AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74317  func (dcls DynamicsCrmLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 74318  	return nil, false
 74319  }
 74320  
 74321  // AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74322  func (dcls DynamicsCrmLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 74323  	return nil, false
 74324  }
 74325  
 74326  // AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74327  func (dcls DynamicsCrmLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 74328  	return nil, false
 74329  }
 74330  
 74331  // AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74332  func (dcls DynamicsCrmLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 74333  	return nil, false
 74334  }
 74335  
 74336  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74337  func (dcls DynamicsCrmLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 74338  	return nil, false
 74339  }
 74340  
 74341  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74342  func (dcls DynamicsCrmLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 74343  	return nil, false
 74344  }
 74345  
 74346  // AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74347  func (dcls DynamicsCrmLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 74348  	return nil, false
 74349  }
 74350  
 74351  // AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74352  func (dcls DynamicsCrmLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 74353  	return nil, false
 74354  }
 74355  
 74356  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74357  func (dcls DynamicsCrmLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 74358  	return nil, false
 74359  }
 74360  
 74361  // AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74362  func (dcls DynamicsCrmLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 74363  	return nil, false
 74364  }
 74365  
 74366  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74367  func (dcls DynamicsCrmLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 74368  	return nil, false
 74369  }
 74370  
 74371  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74372  func (dcls DynamicsCrmLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 74373  	return nil, false
 74374  }
 74375  
 74376  // AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74377  func (dcls DynamicsCrmLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 74378  	return nil, false
 74379  }
 74380  
 74381  // AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74382  func (dcls DynamicsCrmLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 74383  	return nil, false
 74384  }
 74385  
 74386  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74387  func (dcls DynamicsCrmLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 74388  	return nil, false
 74389  }
 74390  
 74391  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74392  func (dcls DynamicsCrmLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 74393  	return nil, false
 74394  }
 74395  
 74396  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74397  func (dcls DynamicsCrmLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 74398  	return nil, false
 74399  }
 74400  
 74401  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74402  func (dcls DynamicsCrmLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 74403  	return nil, false
 74404  }
 74405  
 74406  // AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74407  func (dcls DynamicsCrmLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 74408  	return nil, false
 74409  }
 74410  
 74411  // AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74412  func (dcls DynamicsCrmLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 74413  	return nil, false
 74414  }
 74415  
 74416  // AsWebLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74417  func (dcls DynamicsCrmLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 74418  	return nil, false
 74419  }
 74420  
 74421  // AsODataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74422  func (dcls DynamicsCrmLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 74423  	return nil, false
 74424  }
 74425  
 74426  // AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74427  func (dcls DynamicsCrmLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 74428  	return nil, false
 74429  }
 74430  
 74431  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74432  func (dcls DynamicsCrmLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 74433  	return nil, false
 74434  }
 74435  
 74436  // AsInformixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74437  func (dcls DynamicsCrmLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 74438  	return nil, false
 74439  }
 74440  
 74441  // AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74442  func (dcls DynamicsCrmLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 74443  	return nil, false
 74444  }
 74445  
 74446  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74447  func (dcls DynamicsCrmLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 74448  	return nil, false
 74449  }
 74450  
 74451  // AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74452  func (dcls DynamicsCrmLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 74453  	return nil, false
 74454  }
 74455  
 74456  // AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74457  func (dcls DynamicsCrmLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 74458  	return nil, false
 74459  }
 74460  
 74461  // AsDb2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74462  func (dcls DynamicsCrmLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 74463  	return nil, false
 74464  }
 74465  
 74466  // AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74467  func (dcls DynamicsCrmLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 74468  	return nil, false
 74469  }
 74470  
 74471  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74472  func (dcls DynamicsCrmLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 74473  	return nil, false
 74474  }
 74475  
 74476  // AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74477  func (dcls DynamicsCrmLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 74478  	return nil, false
 74479  }
 74480  
 74481  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74482  func (dcls DynamicsCrmLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 74483  	return nil, false
 74484  }
 74485  
 74486  // AsOracleLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74487  func (dcls DynamicsCrmLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 74488  	return nil, false
 74489  }
 74490  
 74491  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74492  func (dcls DynamicsCrmLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 74493  	return nil, false
 74494  }
 74495  
 74496  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74497  func (dcls DynamicsCrmLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 74498  	return nil, false
 74499  }
 74500  
 74501  // AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74502  func (dcls DynamicsCrmLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 74503  	return nil, false
 74504  }
 74505  
 74506  // AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74507  func (dcls DynamicsCrmLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 74508  	return nil, false
 74509  }
 74510  
 74511  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74512  func (dcls DynamicsCrmLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 74513  	return nil, false
 74514  }
 74515  
 74516  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74517  func (dcls DynamicsCrmLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 74518  	return &dcls, true
 74519  }
 74520  
 74521  // AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74522  func (dcls DynamicsCrmLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 74523  	return nil, false
 74524  }
 74525  
 74526  // AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74527  func (dcls DynamicsCrmLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 74528  	return nil, false
 74529  }
 74530  
 74531  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74532  func (dcls DynamicsCrmLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 74533  	return nil, false
 74534  }
 74535  
 74536  // AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74537  func (dcls DynamicsCrmLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 74538  	return nil, false
 74539  }
 74540  
 74541  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74542  func (dcls DynamicsCrmLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 74543  	return nil, false
 74544  }
 74545  
 74546  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74547  func (dcls DynamicsCrmLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 74548  	return nil, false
 74549  }
 74550  
 74551  // AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74552  func (dcls DynamicsCrmLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 74553  	return nil, false
 74554  }
 74555  
 74556  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74557  func (dcls DynamicsCrmLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 74558  	return nil, false
 74559  }
 74560  
 74561  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74562  func (dcls DynamicsCrmLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 74563  	return nil, false
 74564  }
 74565  
 74566  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74567  func (dcls DynamicsCrmLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 74568  	return nil, false
 74569  }
 74570  
 74571  // AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74572  func (dcls DynamicsCrmLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 74573  	return nil, false
 74574  }
 74575  
 74576  // AsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74577  func (dcls DynamicsCrmLinkedService) AsLinkedService() (*LinkedService, bool) {
 74578  	return nil, false
 74579  }
 74580  
 74581  // AsBasicLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService.
 74582  func (dcls DynamicsCrmLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 74583  	return &dcls, true
 74584  }
 74585  
 74586  // UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedService struct.
 74587  func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error {
 74588  	var m map[string]*json.RawMessage
 74589  	err := json.Unmarshal(body, &m)
 74590  	if err != nil {
 74591  		return err
 74592  	}
 74593  	for k, v := range m {
 74594  		switch k {
 74595  		case "typeProperties":
 74596  			if v != nil {
 74597  				var dynamicsCrmLinkedServiceTypeProperties DynamicsCrmLinkedServiceTypeProperties
 74598  				err = json.Unmarshal(*v, &dynamicsCrmLinkedServiceTypeProperties)
 74599  				if err != nil {
 74600  					return err
 74601  				}
 74602  				dcls.DynamicsCrmLinkedServiceTypeProperties = &dynamicsCrmLinkedServiceTypeProperties
 74603  			}
 74604  		default:
 74605  			if v != nil {
 74606  				var additionalProperties interface{}
 74607  				err = json.Unmarshal(*v, &additionalProperties)
 74608  				if err != nil {
 74609  					return err
 74610  				}
 74611  				if dcls.AdditionalProperties == nil {
 74612  					dcls.AdditionalProperties = make(map[string]interface{})
 74613  				}
 74614  				dcls.AdditionalProperties[k] = additionalProperties
 74615  			}
 74616  		case "connectVia":
 74617  			if v != nil {
 74618  				var connectVia IntegrationRuntimeReference
 74619  				err = json.Unmarshal(*v, &connectVia)
 74620  				if err != nil {
 74621  					return err
 74622  				}
 74623  				dcls.ConnectVia = &connectVia
 74624  			}
 74625  		case "description":
 74626  			if v != nil {
 74627  				var description string
 74628  				err = json.Unmarshal(*v, &description)
 74629  				if err != nil {
 74630  					return err
 74631  				}
 74632  				dcls.Description = &description
 74633  			}
 74634  		case "parameters":
 74635  			if v != nil {
 74636  				var parameters map[string]*ParameterSpecification
 74637  				err = json.Unmarshal(*v, &parameters)
 74638  				if err != nil {
 74639  					return err
 74640  				}
 74641  				dcls.Parameters = parameters
 74642  			}
 74643  		case "annotations":
 74644  			if v != nil {
 74645  				var annotations []interface{}
 74646  				err = json.Unmarshal(*v, &annotations)
 74647  				if err != nil {
 74648  					return err
 74649  				}
 74650  				dcls.Annotations = &annotations
 74651  			}
 74652  		case "type":
 74653  			if v != nil {
 74654  				var typeVar TypeBasicLinkedService
 74655  				err = json.Unmarshal(*v, &typeVar)
 74656  				if err != nil {
 74657  					return err
 74658  				}
 74659  				dcls.Type = typeVar
 74660  			}
 74661  		}
 74662  	}
 74663  
 74664  	return nil
 74665  }
 74666  
 74667  // DynamicsCrmLinkedServiceTypeProperties dynamics CRM linked service properties.
 74668  type DynamicsCrmLinkedServiceTypeProperties struct {
 74669  	// 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'
 74670  	DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"`
 74671  	// 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).
 74672  	HostName interface{} `json:"hostName,omitempty"`
 74673  	// 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.
 74674  	Port interface{} `json:"port,omitempty"`
 74675  	// 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).
 74676  	ServiceURI interface{} `json:"serviceUri,omitempty"`
 74677  	// 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).
 74678  	OrganizationName interface{} `json:"organizationName,omitempty"`
 74679  	// AuthenticationType - The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd', 'AADServicePrincipal'
 74680  	AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"`
 74681  	// Username - User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string).
 74682  	Username interface{} `json:"username,omitempty"`
 74683  	// Password - Password to access the Dynamics CRM instance.
 74684  	Password BasicSecretBase `json:"password,omitempty"`
 74685  	// ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string).
 74686  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 74687  	// ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert'
 74688  	ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"`
 74689  	// ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
 74690  	ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"`
 74691  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 74692  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 74693  }
 74694  
 74695  // UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedServiceTypeProperties struct.
 74696  func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 74697  	var m map[string]*json.RawMessage
 74698  	err := json.Unmarshal(body, &m)
 74699  	if err != nil {
 74700  		return err
 74701  	}
 74702  	for k, v := range m {
 74703  		switch k {
 74704  		case "deploymentType":
 74705  			if v != nil {
 74706  				var deploymentType DynamicsDeploymentType
 74707  				err = json.Unmarshal(*v, &deploymentType)
 74708  				if err != nil {
 74709  					return err
 74710  				}
 74711  				dclstp.DeploymentType = deploymentType
 74712  			}
 74713  		case "hostName":
 74714  			if v != nil {
 74715  				var hostName interface{}
 74716  				err = json.Unmarshal(*v, &hostName)
 74717  				if err != nil {
 74718  					return err
 74719  				}
 74720  				dclstp.HostName = hostName
 74721  			}
 74722  		case "port":
 74723  			if v != nil {
 74724  				var port interface{}
 74725  				err = json.Unmarshal(*v, &port)
 74726  				if err != nil {
 74727  					return err
 74728  				}
 74729  				dclstp.Port = port
 74730  			}
 74731  		case "serviceUri":
 74732  			if v != nil {
 74733  				var serviceURI interface{}
 74734  				err = json.Unmarshal(*v, &serviceURI)
 74735  				if err != nil {
 74736  					return err
 74737  				}
 74738  				dclstp.ServiceURI = serviceURI
 74739  			}
 74740  		case "organizationName":
 74741  			if v != nil {
 74742  				var organizationName interface{}
 74743  				err = json.Unmarshal(*v, &organizationName)
 74744  				if err != nil {
 74745  					return err
 74746  				}
 74747  				dclstp.OrganizationName = organizationName
 74748  			}
 74749  		case "authenticationType":
 74750  			if v != nil {
 74751  				var authenticationType DynamicsAuthenticationType
 74752  				err = json.Unmarshal(*v, &authenticationType)
 74753  				if err != nil {
 74754  					return err
 74755  				}
 74756  				dclstp.AuthenticationType = authenticationType
 74757  			}
 74758  		case "username":
 74759  			if v != nil {
 74760  				var username interface{}
 74761  				err = json.Unmarshal(*v, &username)
 74762  				if err != nil {
 74763  					return err
 74764  				}
 74765  				dclstp.Username = username
 74766  			}
 74767  		case "password":
 74768  			if v != nil {
 74769  				password, err := unmarshalBasicSecretBase(*v)
 74770  				if err != nil {
 74771  					return err
 74772  				}
 74773  				dclstp.Password = password
 74774  			}
 74775  		case "servicePrincipalId":
 74776  			if v != nil {
 74777  				var servicePrincipalID interface{}
 74778  				err = json.Unmarshal(*v, &servicePrincipalID)
 74779  				if err != nil {
 74780  					return err
 74781  				}
 74782  				dclstp.ServicePrincipalID = servicePrincipalID
 74783  			}
 74784  		case "servicePrincipalCredentialType":
 74785  			if v != nil {
 74786  				var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType
 74787  				err = json.Unmarshal(*v, &servicePrincipalCredentialType)
 74788  				if err != nil {
 74789  					return err
 74790  				}
 74791  				dclstp.ServicePrincipalCredentialType = servicePrincipalCredentialType
 74792  			}
 74793  		case "servicePrincipalCredential":
 74794  			if v != nil {
 74795  				servicePrincipalCredential, err := unmarshalBasicSecretBase(*v)
 74796  				if err != nil {
 74797  					return err
 74798  				}
 74799  				dclstp.ServicePrincipalCredential = servicePrincipalCredential
 74800  			}
 74801  		case "encryptedCredential":
 74802  			if v != nil {
 74803  				var encryptedCredential interface{}
 74804  				err = json.Unmarshal(*v, &encryptedCredential)
 74805  				if err != nil {
 74806  					return err
 74807  				}
 74808  				dclstp.EncryptedCredential = encryptedCredential
 74809  			}
 74810  		}
 74811  	}
 74812  
 74813  	return nil
 74814  }
 74815  
 74816  // DynamicsCrmSink a copy activity Dynamics CRM sink.
 74817  type DynamicsCrmSink struct {
 74818  	// WriteBehavior - The write behavior for the operation.
 74819  	WriteBehavior *string `json:"writeBehavior,omitempty"`
 74820  	// 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).
 74821  	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
 74822  	// AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string).
 74823  	AlternateKeyName interface{} `json:"alternateKeyName,omitempty"`
 74824  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 74825  	AdditionalProperties map[string]interface{} `json:""`
 74826  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 74827  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 74828  	// 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])).
 74829  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 74830  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 74831  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 74832  	// 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])).
 74833  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 74834  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 74835  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 74836  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 74837  	Type TypeBasicCopySink `json:"type,omitempty"`
 74838  }
 74839  
 74840  // MarshalJSON is the custom marshaler for DynamicsCrmSink.
 74841  func (dcs DynamicsCrmSink) MarshalJSON() ([]byte, error) {
 74842  	dcs.Type = TypeDynamicsCrmSink
 74843  	objectMap := make(map[string]interface{})
 74844  	if dcs.WriteBehavior != nil {
 74845  		objectMap["writeBehavior"] = dcs.WriteBehavior
 74846  	}
 74847  	if dcs.IgnoreNullValues != nil {
 74848  		objectMap["ignoreNullValues"] = dcs.IgnoreNullValues
 74849  	}
 74850  	if dcs.AlternateKeyName != nil {
 74851  		objectMap["alternateKeyName"] = dcs.AlternateKeyName
 74852  	}
 74853  	if dcs.WriteBatchSize != nil {
 74854  		objectMap["writeBatchSize"] = dcs.WriteBatchSize
 74855  	}
 74856  	if dcs.WriteBatchTimeout != nil {
 74857  		objectMap["writeBatchTimeout"] = dcs.WriteBatchTimeout
 74858  	}
 74859  	if dcs.SinkRetryCount != nil {
 74860  		objectMap["sinkRetryCount"] = dcs.SinkRetryCount
 74861  	}
 74862  	if dcs.SinkRetryWait != nil {
 74863  		objectMap["sinkRetryWait"] = dcs.SinkRetryWait
 74864  	}
 74865  	if dcs.MaxConcurrentConnections != nil {
 74866  		objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections
 74867  	}
 74868  	if dcs.Type != "" {
 74869  		objectMap["type"] = dcs.Type
 74870  	}
 74871  	for k, v := range dcs.AdditionalProperties {
 74872  		objectMap[k] = v
 74873  	}
 74874  	return json.Marshal(objectMap)
 74875  }
 74876  
 74877  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsCrmSink.
 74878  func (dcs DynamicsCrmSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 74879  	return nil, false
 74880  }
 74881  
 74882  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsCrmSink.
 74883  func (dcs DynamicsCrmSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 74884  	return nil, false
 74885  }
 74886  
 74887  // AsSalesforceSink is the BasicCopySink implementation for DynamicsCrmSink.
 74888  func (dcs DynamicsCrmSink) AsSalesforceSink() (*SalesforceSink, bool) {
 74889  	return nil, false
 74890  }
 74891  
 74892  // AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsCrmSink.
 74893  func (dcs DynamicsCrmSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 74894  	return nil, false
 74895  }
 74896  
 74897  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsCrmSink.
 74898  func (dcs DynamicsCrmSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 74899  	return nil, false
 74900  }
 74901  
 74902  // AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsCrmSink.
 74903  func (dcs DynamicsCrmSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 74904  	return &dcs, true
 74905  }
 74906  
 74907  // AsDynamicsSink is the BasicCopySink implementation for DynamicsCrmSink.
 74908  func (dcs DynamicsCrmSink) AsDynamicsSink() (*DynamicsSink, bool) {
 74909  	return nil, false
 74910  }
 74911  
 74912  // AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsCrmSink.
 74913  func (dcs DynamicsCrmSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 74914  	return nil, false
 74915  }
 74916  
 74917  // AsInformixSink is the BasicCopySink implementation for DynamicsCrmSink.
 74918  func (dcs DynamicsCrmSink) AsInformixSink() (*InformixSink, bool) {
 74919  	return nil, false
 74920  }
 74921  
 74922  // AsOdbcSink is the BasicCopySink implementation for DynamicsCrmSink.
 74923  func (dcs DynamicsCrmSink) AsOdbcSink() (*OdbcSink, bool) {
 74924  	return nil, false
 74925  }
 74926  
 74927  // AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsCrmSink.
 74928  func (dcs DynamicsCrmSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 74929  	return nil, false
 74930  }
 74931  
 74932  // AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsCrmSink.
 74933  func (dcs DynamicsCrmSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 74934  	return nil, false
 74935  }
 74936  
 74937  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsCrmSink.
 74938  func (dcs DynamicsCrmSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 74939  	return nil, false
 74940  }
 74941  
 74942  // AsOracleSink is the BasicCopySink implementation for DynamicsCrmSink.
 74943  func (dcs DynamicsCrmSink) AsOracleSink() (*OracleSink, bool) {
 74944  	return nil, false
 74945  }
 74946  
 74947  // AsSQLDWSink is the BasicCopySink implementation for DynamicsCrmSink.
 74948  func (dcs DynamicsCrmSink) AsSQLDWSink() (*SQLDWSink, bool) {
 74949  	return nil, false
 74950  }
 74951  
 74952  // AsSQLMISink is the BasicCopySink implementation for DynamicsCrmSink.
 74953  func (dcs DynamicsCrmSink) AsSQLMISink() (*SQLMISink, bool) {
 74954  	return nil, false
 74955  }
 74956  
 74957  // AsAzureSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
 74958  func (dcs DynamicsCrmSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 74959  	return nil, false
 74960  }
 74961  
 74962  // AsSQLServerSink is the BasicCopySink implementation for DynamicsCrmSink.
 74963  func (dcs DynamicsCrmSink) AsSQLServerSink() (*SQLServerSink, bool) {
 74964  	return nil, false
 74965  }
 74966  
 74967  // AsSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
 74968  func (dcs DynamicsCrmSink) AsSQLSink() (*SQLSink, bool) {
 74969  	return nil, false
 74970  }
 74971  
 74972  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsCrmSink.
 74973  func (dcs DynamicsCrmSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 74974  	return nil, false
 74975  }
 74976  
 74977  // AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsCrmSink.
 74978  func (dcs DynamicsCrmSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 74979  	return nil, false
 74980  }
 74981  
 74982  // AsFileSystemSink is the BasicCopySink implementation for DynamicsCrmSink.
 74983  func (dcs DynamicsCrmSink) AsFileSystemSink() (*FileSystemSink, bool) {
 74984  	return nil, false
 74985  }
 74986  
 74987  // AsBlobSink is the BasicCopySink implementation for DynamicsCrmSink.
 74988  func (dcs DynamicsCrmSink) AsBlobSink() (*BlobSink, bool) {
 74989  	return nil, false
 74990  }
 74991  
 74992  // AsBinarySink is the BasicCopySink implementation for DynamicsCrmSink.
 74993  func (dcs DynamicsCrmSink) AsBinarySink() (*BinarySink, bool) {
 74994  	return nil, false
 74995  }
 74996  
 74997  // AsParquetSink is the BasicCopySink implementation for DynamicsCrmSink.
 74998  func (dcs DynamicsCrmSink) AsParquetSink() (*ParquetSink, bool) {
 74999  	return nil, false
 75000  }
 75001  
 75002  // AsAvroSink is the BasicCopySink implementation for DynamicsCrmSink.
 75003  func (dcs DynamicsCrmSink) AsAvroSink() (*AvroSink, bool) {
 75004  	return nil, false
 75005  }
 75006  
 75007  // AsAzureTableSink is the BasicCopySink implementation for DynamicsCrmSink.
 75008  func (dcs DynamicsCrmSink) AsAzureTableSink() (*AzureTableSink, bool) {
 75009  	return nil, false
 75010  }
 75011  
 75012  // AsAzureQueueSink is the BasicCopySink implementation for DynamicsCrmSink.
 75013  func (dcs DynamicsCrmSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 75014  	return nil, false
 75015  }
 75016  
 75017  // AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsCrmSink.
 75018  func (dcs DynamicsCrmSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 75019  	return nil, false
 75020  }
 75021  
 75022  // AsAzureMySQLSink is the BasicCopySink implementation for DynamicsCrmSink.
 75023  func (dcs DynamicsCrmSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 75024  	return nil, false
 75025  }
 75026  
 75027  // AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsCrmSink.
 75028  func (dcs DynamicsCrmSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 75029  	return nil, false
 75030  }
 75031  
 75032  // AsOrcSink is the BasicCopySink implementation for DynamicsCrmSink.
 75033  func (dcs DynamicsCrmSink) AsOrcSink() (*OrcSink, bool) {
 75034  	return nil, false
 75035  }
 75036  
 75037  // AsJSONSink is the BasicCopySink implementation for DynamicsCrmSink.
 75038  func (dcs DynamicsCrmSink) AsJSONSink() (*JSONSink, bool) {
 75039  	return nil, false
 75040  }
 75041  
 75042  // AsDelimitedTextSink is the BasicCopySink implementation for DynamicsCrmSink.
 75043  func (dcs DynamicsCrmSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 75044  	return nil, false
 75045  }
 75046  
 75047  // AsCopySink is the BasicCopySink implementation for DynamicsCrmSink.
 75048  func (dcs DynamicsCrmSink) AsCopySink() (*CopySink, bool) {
 75049  	return nil, false
 75050  }
 75051  
 75052  // AsBasicCopySink is the BasicCopySink implementation for DynamicsCrmSink.
 75053  func (dcs DynamicsCrmSink) AsBasicCopySink() (BasicCopySink, bool) {
 75054  	return &dcs, true
 75055  }
 75056  
 75057  // UnmarshalJSON is the custom unmarshaler for DynamicsCrmSink struct.
 75058  func (dcs *DynamicsCrmSink) UnmarshalJSON(body []byte) error {
 75059  	var m map[string]*json.RawMessage
 75060  	err := json.Unmarshal(body, &m)
 75061  	if err != nil {
 75062  		return err
 75063  	}
 75064  	for k, v := range m {
 75065  		switch k {
 75066  		case "writeBehavior":
 75067  			if v != nil {
 75068  				var writeBehavior string
 75069  				err = json.Unmarshal(*v, &writeBehavior)
 75070  				if err != nil {
 75071  					return err
 75072  				}
 75073  				dcs.WriteBehavior = &writeBehavior
 75074  			}
 75075  		case "ignoreNullValues":
 75076  			if v != nil {
 75077  				var ignoreNullValues interface{}
 75078  				err = json.Unmarshal(*v, &ignoreNullValues)
 75079  				if err != nil {
 75080  					return err
 75081  				}
 75082  				dcs.IgnoreNullValues = ignoreNullValues
 75083  			}
 75084  		case "alternateKeyName":
 75085  			if v != nil {
 75086  				var alternateKeyName interface{}
 75087  				err = json.Unmarshal(*v, &alternateKeyName)
 75088  				if err != nil {
 75089  					return err
 75090  				}
 75091  				dcs.AlternateKeyName = alternateKeyName
 75092  			}
 75093  		default:
 75094  			if v != nil {
 75095  				var additionalProperties interface{}
 75096  				err = json.Unmarshal(*v, &additionalProperties)
 75097  				if err != nil {
 75098  					return err
 75099  				}
 75100  				if dcs.AdditionalProperties == nil {
 75101  					dcs.AdditionalProperties = make(map[string]interface{})
 75102  				}
 75103  				dcs.AdditionalProperties[k] = additionalProperties
 75104  			}
 75105  		case "writeBatchSize":
 75106  			if v != nil {
 75107  				var writeBatchSize interface{}
 75108  				err = json.Unmarshal(*v, &writeBatchSize)
 75109  				if err != nil {
 75110  					return err
 75111  				}
 75112  				dcs.WriteBatchSize = writeBatchSize
 75113  			}
 75114  		case "writeBatchTimeout":
 75115  			if v != nil {
 75116  				var writeBatchTimeout interface{}
 75117  				err = json.Unmarshal(*v, &writeBatchTimeout)
 75118  				if err != nil {
 75119  					return err
 75120  				}
 75121  				dcs.WriteBatchTimeout = writeBatchTimeout
 75122  			}
 75123  		case "sinkRetryCount":
 75124  			if v != nil {
 75125  				var sinkRetryCount interface{}
 75126  				err = json.Unmarshal(*v, &sinkRetryCount)
 75127  				if err != nil {
 75128  					return err
 75129  				}
 75130  				dcs.SinkRetryCount = sinkRetryCount
 75131  			}
 75132  		case "sinkRetryWait":
 75133  			if v != nil {
 75134  				var sinkRetryWait interface{}
 75135  				err = json.Unmarshal(*v, &sinkRetryWait)
 75136  				if err != nil {
 75137  					return err
 75138  				}
 75139  				dcs.SinkRetryWait = sinkRetryWait
 75140  			}
 75141  		case "maxConcurrentConnections":
 75142  			if v != nil {
 75143  				var maxConcurrentConnections interface{}
 75144  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 75145  				if err != nil {
 75146  					return err
 75147  				}
 75148  				dcs.MaxConcurrentConnections = maxConcurrentConnections
 75149  			}
 75150  		case "type":
 75151  			if v != nil {
 75152  				var typeVar TypeBasicCopySink
 75153  				err = json.Unmarshal(*v, &typeVar)
 75154  				if err != nil {
 75155  					return err
 75156  				}
 75157  				dcs.Type = typeVar
 75158  			}
 75159  		}
 75160  	}
 75161  
 75162  	return nil
 75163  }
 75164  
 75165  // DynamicsCrmSource a copy activity Dynamics CRM source.
 75166  type DynamicsCrmSource struct {
 75167  	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string).
 75168  	Query interface{} `json:"query,omitempty"`
 75169  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 75170  	AdditionalProperties map[string]interface{} `json:""`
 75171  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 75172  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 75173  	// 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])).
 75174  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 75175  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 75176  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 75177  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 75178  	Type TypeBasicCopySource `json:"type,omitempty"`
 75179  }
 75180  
 75181  // MarshalJSON is the custom marshaler for DynamicsCrmSource.
 75182  func (dcs DynamicsCrmSource) MarshalJSON() ([]byte, error) {
 75183  	dcs.Type = TypeDynamicsCrmSource
 75184  	objectMap := make(map[string]interface{})
 75185  	if dcs.Query != nil {
 75186  		objectMap["query"] = dcs.Query
 75187  	}
 75188  	if dcs.SourceRetryCount != nil {
 75189  		objectMap["sourceRetryCount"] = dcs.SourceRetryCount
 75190  	}
 75191  	if dcs.SourceRetryWait != nil {
 75192  		objectMap["sourceRetryWait"] = dcs.SourceRetryWait
 75193  	}
 75194  	if dcs.MaxConcurrentConnections != nil {
 75195  		objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections
 75196  	}
 75197  	if dcs.Type != "" {
 75198  		objectMap["type"] = dcs.Type
 75199  	}
 75200  	for k, v := range dcs.AdditionalProperties {
 75201  		objectMap[k] = v
 75202  	}
 75203  	return json.Marshal(objectMap)
 75204  }
 75205  
 75206  // AsHTTPSource is the BasicCopySource implementation for DynamicsCrmSource.
 75207  func (dcs DynamicsCrmSource) AsHTTPSource() (*HTTPSource, bool) {
 75208  	return nil, false
 75209  }
 75210  
 75211  // AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsCrmSource.
 75212  func (dcs DynamicsCrmSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 75213  	return nil, false
 75214  }
 75215  
 75216  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsCrmSource.
 75217  func (dcs DynamicsCrmSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 75218  	return nil, false
 75219  }
 75220  
 75221  // AsOffice365Source is the BasicCopySource implementation for DynamicsCrmSource.
 75222  func (dcs DynamicsCrmSource) AsOffice365Source() (*Office365Source, bool) {
 75223  	return nil, false
 75224  }
 75225  
 75226  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsCrmSource.
 75227  func (dcs DynamicsCrmSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 75228  	return nil, false
 75229  }
 75230  
 75231  // AsMongoDbV2Source is the BasicCopySource implementation for DynamicsCrmSource.
 75232  func (dcs DynamicsCrmSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 75233  	return nil, false
 75234  }
 75235  
 75236  // AsMongoDbSource is the BasicCopySource implementation for DynamicsCrmSource.
 75237  func (dcs DynamicsCrmSource) AsMongoDbSource() (*MongoDbSource, bool) {
 75238  	return nil, false
 75239  }
 75240  
 75241  // AsWebSource is the BasicCopySource implementation for DynamicsCrmSource.
 75242  func (dcs DynamicsCrmSource) AsWebSource() (*WebSource, bool) {
 75243  	return nil, false
 75244  }
 75245  
 75246  // AsOracleSource is the BasicCopySource implementation for DynamicsCrmSource.
 75247  func (dcs DynamicsCrmSource) AsOracleSource() (*OracleSource, bool) {
 75248  	return nil, false
 75249  }
 75250  
 75251  // AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsCrmSource.
 75252  func (dcs DynamicsCrmSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 75253  	return nil, false
 75254  }
 75255  
 75256  // AsHdfsSource is the BasicCopySource implementation for DynamicsCrmSource.
 75257  func (dcs DynamicsCrmSource) AsHdfsSource() (*HdfsSource, bool) {
 75258  	return nil, false
 75259  }
 75260  
 75261  // AsFileSystemSource is the BasicCopySource implementation for DynamicsCrmSource.
 75262  func (dcs DynamicsCrmSource) AsFileSystemSource() (*FileSystemSource, bool) {
 75263  	return nil, false
 75264  }
 75265  
 75266  // AsRestSource is the BasicCopySource implementation for DynamicsCrmSource.
 75267  func (dcs DynamicsCrmSource) AsRestSource() (*RestSource, bool) {
 75268  	return nil, false
 75269  }
 75270  
 75271  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
 75272  func (dcs DynamicsCrmSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 75273  	return nil, false
 75274  }
 75275  
 75276  // AsODataSource is the BasicCopySource implementation for DynamicsCrmSource.
 75277  func (dcs DynamicsCrmSource) AsODataSource() (*ODataSource, bool) {
 75278  	return nil, false
 75279  }
 75280  
 75281  // AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsCrmSource.
 75282  func (dcs DynamicsCrmSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 75283  	return nil, false
 75284  }
 75285  
 75286  // AsRelationalSource is the BasicCopySource implementation for DynamicsCrmSource.
 75287  func (dcs DynamicsCrmSource) AsRelationalSource() (*RelationalSource, bool) {
 75288  	return nil, false
 75289  }
 75290  
 75291  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsCrmSource.
 75292  func (dcs DynamicsCrmSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 75293  	return nil, false
 75294  }
 75295  
 75296  // AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsCrmSource.
 75297  func (dcs DynamicsCrmSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 75298  	return &dcs, true
 75299  }
 75300  
 75301  // AsDynamicsSource is the BasicCopySource implementation for DynamicsCrmSource.
 75302  func (dcs DynamicsCrmSource) AsDynamicsSource() (*DynamicsSource, bool) {
 75303  	return nil, false
 75304  }
 75305  
 75306  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsCrmSource.
 75307  func (dcs DynamicsCrmSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 75308  	return nil, false
 75309  }
 75310  
 75311  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsCrmSource.
 75312  func (dcs DynamicsCrmSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 75313  	return nil, false
 75314  }
 75315  
 75316  // AsBlobSource is the BasicCopySource implementation for DynamicsCrmSource.
 75317  func (dcs DynamicsCrmSource) AsBlobSource() (*BlobSource, bool) {
 75318  	return nil, false
 75319  }
 75320  
 75321  // AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsCrmSource.
 75322  func (dcs DynamicsCrmSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 75323  	return nil, false
 75324  }
 75325  
 75326  // AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsCrmSource.
 75327  func (dcs DynamicsCrmSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 75328  	return nil, false
 75329  }
 75330  
 75331  // AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
 75332  func (dcs DynamicsCrmSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 75333  	return nil, false
 75334  }
 75335  
 75336  // AsDynamicsAXSource is the BasicCopySource implementation for DynamicsCrmSource.
 75337  func (dcs DynamicsCrmSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 75338  	return nil, false
 75339  }
 75340  
 75341  // AsResponsysSource is the BasicCopySource implementation for DynamicsCrmSource.
 75342  func (dcs DynamicsCrmSource) AsResponsysSource() (*ResponsysSource, bool) {
 75343  	return nil, false
 75344  }
 75345  
 75346  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsCrmSource.
 75347  func (dcs DynamicsCrmSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 75348  	return nil, false
 75349  }
 75350  
 75351  // AsVerticaSource is the BasicCopySource implementation for DynamicsCrmSource.
 75352  func (dcs DynamicsCrmSource) AsVerticaSource() (*VerticaSource, bool) {
 75353  	return nil, false
 75354  }
 75355  
 75356  // AsNetezzaSource is the BasicCopySource implementation for DynamicsCrmSource.
 75357  func (dcs DynamicsCrmSource) AsNetezzaSource() (*NetezzaSource, bool) {
 75358  	return nil, false
 75359  }
 75360  
 75361  // AsZohoSource is the BasicCopySource implementation for DynamicsCrmSource.
 75362  func (dcs DynamicsCrmSource) AsZohoSource() (*ZohoSource, bool) {
 75363  	return nil, false
 75364  }
 75365  
 75366  // AsXeroSource is the BasicCopySource implementation for DynamicsCrmSource.
 75367  func (dcs DynamicsCrmSource) AsXeroSource() (*XeroSource, bool) {
 75368  	return nil, false
 75369  }
 75370  
 75371  // AsSquareSource is the BasicCopySource implementation for DynamicsCrmSource.
 75372  func (dcs DynamicsCrmSource) AsSquareSource() (*SquareSource, bool) {
 75373  	return nil, false
 75374  }
 75375  
 75376  // AsSparkSource is the BasicCopySource implementation for DynamicsCrmSource.
 75377  func (dcs DynamicsCrmSource) AsSparkSource() (*SparkSource, bool) {
 75378  	return nil, false
 75379  }
 75380  
 75381  // AsShopifySource is the BasicCopySource implementation for DynamicsCrmSource.
 75382  func (dcs DynamicsCrmSource) AsShopifySource() (*ShopifySource, bool) {
 75383  	return nil, false
 75384  }
 75385  
 75386  // AsServiceNowSource is the BasicCopySource implementation for DynamicsCrmSource.
 75387  func (dcs DynamicsCrmSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 75388  	return nil, false
 75389  }
 75390  
 75391  // AsQuickBooksSource is the BasicCopySource implementation for DynamicsCrmSource.
 75392  func (dcs DynamicsCrmSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 75393  	return nil, false
 75394  }
 75395  
 75396  // AsPrestoSource is the BasicCopySource implementation for DynamicsCrmSource.
 75397  func (dcs DynamicsCrmSource) AsPrestoSource() (*PrestoSource, bool) {
 75398  	return nil, false
 75399  }
 75400  
 75401  // AsPhoenixSource is the BasicCopySource implementation for DynamicsCrmSource.
 75402  func (dcs DynamicsCrmSource) AsPhoenixSource() (*PhoenixSource, bool) {
 75403  	return nil, false
 75404  }
 75405  
 75406  // AsPaypalSource is the BasicCopySource implementation for DynamicsCrmSource.
 75407  func (dcs DynamicsCrmSource) AsPaypalSource() (*PaypalSource, bool) {
 75408  	return nil, false
 75409  }
 75410  
 75411  // AsMarketoSource is the BasicCopySource implementation for DynamicsCrmSource.
 75412  func (dcs DynamicsCrmSource) AsMarketoSource() (*MarketoSource, bool) {
 75413  	return nil, false
 75414  }
 75415  
 75416  // AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource.
 75417  func (dcs DynamicsCrmSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 75418  	return nil, false
 75419  }
 75420  
 75421  // AsMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource.
 75422  func (dcs DynamicsCrmSource) AsMariaDBSource() (*MariaDBSource, bool) {
 75423  	return nil, false
 75424  }
 75425  
 75426  // AsMagentoSource is the BasicCopySource implementation for DynamicsCrmSource.
 75427  func (dcs DynamicsCrmSource) AsMagentoSource() (*MagentoSource, bool) {
 75428  	return nil, false
 75429  }
 75430  
 75431  // AsJiraSource is the BasicCopySource implementation for DynamicsCrmSource.
 75432  func (dcs DynamicsCrmSource) AsJiraSource() (*JiraSource, bool) {
 75433  	return nil, false
 75434  }
 75435  
 75436  // AsImpalaSource is the BasicCopySource implementation for DynamicsCrmSource.
 75437  func (dcs DynamicsCrmSource) AsImpalaSource() (*ImpalaSource, bool) {
 75438  	return nil, false
 75439  }
 75440  
 75441  // AsHubspotSource is the BasicCopySource implementation for DynamicsCrmSource.
 75442  func (dcs DynamicsCrmSource) AsHubspotSource() (*HubspotSource, bool) {
 75443  	return nil, false
 75444  }
 75445  
 75446  // AsHiveSource is the BasicCopySource implementation for DynamicsCrmSource.
 75447  func (dcs DynamicsCrmSource) AsHiveSource() (*HiveSource, bool) {
 75448  	return nil, false
 75449  }
 75450  
 75451  // AsHBaseSource is the BasicCopySource implementation for DynamicsCrmSource.
 75452  func (dcs DynamicsCrmSource) AsHBaseSource() (*HBaseSource, bool) {
 75453  	return nil, false
 75454  }
 75455  
 75456  // AsGreenplumSource is the BasicCopySource implementation for DynamicsCrmSource.
 75457  func (dcs DynamicsCrmSource) AsGreenplumSource() (*GreenplumSource, bool) {
 75458  	return nil, false
 75459  }
 75460  
 75461  // AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsCrmSource.
 75462  func (dcs DynamicsCrmSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 75463  	return nil, false
 75464  }
 75465  
 75466  // AsEloquaSource is the BasicCopySource implementation for DynamicsCrmSource.
 75467  func (dcs DynamicsCrmSource) AsEloquaSource() (*EloquaSource, bool) {
 75468  	return nil, false
 75469  }
 75470  
 75471  // AsDrillSource is the BasicCopySource implementation for DynamicsCrmSource.
 75472  func (dcs DynamicsCrmSource) AsDrillSource() (*DrillSource, bool) {
 75473  	return nil, false
 75474  }
 75475  
 75476  // AsCouchbaseSource is the BasicCopySource implementation for DynamicsCrmSource.
 75477  func (dcs DynamicsCrmSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 75478  	return nil, false
 75479  }
 75480  
 75481  // AsConcurSource is the BasicCopySource implementation for DynamicsCrmSource.
 75482  func (dcs DynamicsCrmSource) AsConcurSource() (*ConcurSource, bool) {
 75483  	return nil, false
 75484  }
 75485  
 75486  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75487  func (dcs DynamicsCrmSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 75488  	return nil, false
 75489  }
 75490  
 75491  // AsAmazonMWSSource is the BasicCopySource implementation for DynamicsCrmSource.
 75492  func (dcs DynamicsCrmSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 75493  	return nil, false
 75494  }
 75495  
 75496  // AsCassandraSource is the BasicCopySource implementation for DynamicsCrmSource.
 75497  func (dcs DynamicsCrmSource) AsCassandraSource() (*CassandraSource, bool) {
 75498  	return nil, false
 75499  }
 75500  
 75501  // AsTeradataSource is the BasicCopySource implementation for DynamicsCrmSource.
 75502  func (dcs DynamicsCrmSource) AsTeradataSource() (*TeradataSource, bool) {
 75503  	return nil, false
 75504  }
 75505  
 75506  // AsAzureMySQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75507  func (dcs DynamicsCrmSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 75508  	return nil, false
 75509  }
 75510  
 75511  // AsSQLDWSource is the BasicCopySource implementation for DynamicsCrmSource.
 75512  func (dcs DynamicsCrmSource) AsSQLDWSource() (*SQLDWSource, bool) {
 75513  	return nil, false
 75514  }
 75515  
 75516  // AsSQLMISource is the BasicCopySource implementation for DynamicsCrmSource.
 75517  func (dcs DynamicsCrmSource) AsSQLMISource() (*SQLMISource, bool) {
 75518  	return nil, false
 75519  }
 75520  
 75521  // AsAzureSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75522  func (dcs DynamicsCrmSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 75523  	return nil, false
 75524  }
 75525  
 75526  // AsSQLServerSource is the BasicCopySource implementation for DynamicsCrmSource.
 75527  func (dcs DynamicsCrmSource) AsSQLServerSource() (*SQLServerSource, bool) {
 75528  	return nil, false
 75529  }
 75530  
 75531  // AsSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75532  func (dcs DynamicsCrmSource) AsSQLSource() (*SQLSource, bool) {
 75533  	return nil, false
 75534  }
 75535  
 75536  // AsSapTableSource is the BasicCopySource implementation for DynamicsCrmSource.
 75537  func (dcs DynamicsCrmSource) AsSapTableSource() (*SapTableSource, bool) {
 75538  	return nil, false
 75539  }
 75540  
 75541  // AsSapOpenHubSource is the BasicCopySource implementation for DynamicsCrmSource.
 75542  func (dcs DynamicsCrmSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 75543  	return nil, false
 75544  }
 75545  
 75546  // AsSapHanaSource is the BasicCopySource implementation for DynamicsCrmSource.
 75547  func (dcs DynamicsCrmSource) AsSapHanaSource() (*SapHanaSource, bool) {
 75548  	return nil, false
 75549  }
 75550  
 75551  // AsSapEccSource is the BasicCopySource implementation for DynamicsCrmSource.
 75552  func (dcs DynamicsCrmSource) AsSapEccSource() (*SapEccSource, bool) {
 75553  	return nil, false
 75554  }
 75555  
 75556  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsCrmSource.
 75557  func (dcs DynamicsCrmSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 75558  	return nil, false
 75559  }
 75560  
 75561  // AsSalesforceSource is the BasicCopySource implementation for DynamicsCrmSource.
 75562  func (dcs DynamicsCrmSource) AsSalesforceSource() (*SalesforceSource, bool) {
 75563  	return nil, false
 75564  }
 75565  
 75566  // AsSapBwSource is the BasicCopySource implementation for DynamicsCrmSource.
 75567  func (dcs DynamicsCrmSource) AsSapBwSource() (*SapBwSource, bool) {
 75568  	return nil, false
 75569  }
 75570  
 75571  // AsSybaseSource is the BasicCopySource implementation for DynamicsCrmSource.
 75572  func (dcs DynamicsCrmSource) AsSybaseSource() (*SybaseSource, bool) {
 75573  	return nil, false
 75574  }
 75575  
 75576  // AsPostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75577  func (dcs DynamicsCrmSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 75578  	return nil, false
 75579  }
 75580  
 75581  // AsMySQLSource is the BasicCopySource implementation for DynamicsCrmSource.
 75582  func (dcs DynamicsCrmSource) AsMySQLSource() (*MySQLSource, bool) {
 75583  	return nil, false
 75584  }
 75585  
 75586  // AsOdbcSource is the BasicCopySource implementation for DynamicsCrmSource.
 75587  func (dcs DynamicsCrmSource) AsOdbcSource() (*OdbcSource, bool) {
 75588  	return nil, false
 75589  }
 75590  
 75591  // AsDb2Source is the BasicCopySource implementation for DynamicsCrmSource.
 75592  func (dcs DynamicsCrmSource) AsDb2Source() (*Db2Source, bool) {
 75593  	return nil, false
 75594  }
 75595  
 75596  // AsInformixSource is the BasicCopySource implementation for DynamicsCrmSource.
 75597  func (dcs DynamicsCrmSource) AsInformixSource() (*InformixSource, bool) {
 75598  	return nil, false
 75599  }
 75600  
 75601  // AsAzureTableSource is the BasicCopySource implementation for DynamicsCrmSource.
 75602  func (dcs DynamicsCrmSource) AsAzureTableSource() (*AzureTableSource, bool) {
 75603  	return nil, false
 75604  }
 75605  
 75606  // AsTabularSource is the BasicCopySource implementation for DynamicsCrmSource.
 75607  func (dcs DynamicsCrmSource) AsTabularSource() (*TabularSource, bool) {
 75608  	return nil, false
 75609  }
 75610  
 75611  // AsBasicTabularSource is the BasicCopySource implementation for DynamicsCrmSource.
 75612  func (dcs DynamicsCrmSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 75613  	return nil, false
 75614  }
 75615  
 75616  // AsBinarySource is the BasicCopySource implementation for DynamicsCrmSource.
 75617  func (dcs DynamicsCrmSource) AsBinarySource() (*BinarySource, bool) {
 75618  	return nil, false
 75619  }
 75620  
 75621  // AsOrcSource is the BasicCopySource implementation for DynamicsCrmSource.
 75622  func (dcs DynamicsCrmSource) AsOrcSource() (*OrcSource, bool) {
 75623  	return nil, false
 75624  }
 75625  
 75626  // AsJSONSource is the BasicCopySource implementation for DynamicsCrmSource.
 75627  func (dcs DynamicsCrmSource) AsJSONSource() (*JSONSource, bool) {
 75628  	return nil, false
 75629  }
 75630  
 75631  // AsDelimitedTextSource is the BasicCopySource implementation for DynamicsCrmSource.
 75632  func (dcs DynamicsCrmSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 75633  	return nil, false
 75634  }
 75635  
 75636  // AsParquetSource is the BasicCopySource implementation for DynamicsCrmSource.
 75637  func (dcs DynamicsCrmSource) AsParquetSource() (*ParquetSource, bool) {
 75638  	return nil, false
 75639  }
 75640  
 75641  // AsAvroSource is the BasicCopySource implementation for DynamicsCrmSource.
 75642  func (dcs DynamicsCrmSource) AsAvroSource() (*AvroSource, bool) {
 75643  	return nil, false
 75644  }
 75645  
 75646  // AsCopySource is the BasicCopySource implementation for DynamicsCrmSource.
 75647  func (dcs DynamicsCrmSource) AsCopySource() (*CopySource, bool) {
 75648  	return nil, false
 75649  }
 75650  
 75651  // AsBasicCopySource is the BasicCopySource implementation for DynamicsCrmSource.
 75652  func (dcs DynamicsCrmSource) AsBasicCopySource() (BasicCopySource, bool) {
 75653  	return &dcs, true
 75654  }
 75655  
 75656  // UnmarshalJSON is the custom unmarshaler for DynamicsCrmSource struct.
 75657  func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error {
 75658  	var m map[string]*json.RawMessage
 75659  	err := json.Unmarshal(body, &m)
 75660  	if err != nil {
 75661  		return err
 75662  	}
 75663  	for k, v := range m {
 75664  		switch k {
 75665  		case "query":
 75666  			if v != nil {
 75667  				var query interface{}
 75668  				err = json.Unmarshal(*v, &query)
 75669  				if err != nil {
 75670  					return err
 75671  				}
 75672  				dcs.Query = query
 75673  			}
 75674  		default:
 75675  			if v != nil {
 75676  				var additionalProperties interface{}
 75677  				err = json.Unmarshal(*v, &additionalProperties)
 75678  				if err != nil {
 75679  					return err
 75680  				}
 75681  				if dcs.AdditionalProperties == nil {
 75682  					dcs.AdditionalProperties = make(map[string]interface{})
 75683  				}
 75684  				dcs.AdditionalProperties[k] = additionalProperties
 75685  			}
 75686  		case "sourceRetryCount":
 75687  			if v != nil {
 75688  				var sourceRetryCount interface{}
 75689  				err = json.Unmarshal(*v, &sourceRetryCount)
 75690  				if err != nil {
 75691  					return err
 75692  				}
 75693  				dcs.SourceRetryCount = sourceRetryCount
 75694  			}
 75695  		case "sourceRetryWait":
 75696  			if v != nil {
 75697  				var sourceRetryWait interface{}
 75698  				err = json.Unmarshal(*v, &sourceRetryWait)
 75699  				if err != nil {
 75700  					return err
 75701  				}
 75702  				dcs.SourceRetryWait = sourceRetryWait
 75703  			}
 75704  		case "maxConcurrentConnections":
 75705  			if v != nil {
 75706  				var maxConcurrentConnections interface{}
 75707  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 75708  				if err != nil {
 75709  					return err
 75710  				}
 75711  				dcs.MaxConcurrentConnections = maxConcurrentConnections
 75712  			}
 75713  		case "type":
 75714  			if v != nil {
 75715  				var typeVar TypeBasicCopySource
 75716  				err = json.Unmarshal(*v, &typeVar)
 75717  				if err != nil {
 75718  					return err
 75719  				}
 75720  				dcs.Type = typeVar
 75721  			}
 75722  		}
 75723  	}
 75724  
 75725  	return nil
 75726  }
 75727  
 75728  // DynamicsEntityDataset the Dynamics entity dataset.
 75729  type DynamicsEntityDataset struct {
 75730  	// DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties.
 75731  	*DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"`
 75732  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 75733  	AdditionalProperties map[string]interface{} `json:""`
 75734  	// Description - Dataset description.
 75735  	Description *string `json:"description,omitempty"`
 75736  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 75737  	Structure interface{} `json:"structure,omitempty"`
 75738  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 75739  	Schema interface{} `json:"schema,omitempty"`
 75740  	// LinkedServiceName - Linked service reference.
 75741  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 75742  	// Parameters - Parameters for dataset.
 75743  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 75744  	// Annotations - List of tags that can be used for describing the Dataset.
 75745  	Annotations *[]interface{} `json:"annotations,omitempty"`
 75746  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 75747  	Folder *DatasetFolder `json:"folder,omitempty"`
 75748  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 75749  	Type TypeBasicDataset `json:"type,omitempty"`
 75750  }
 75751  
 75752  // MarshalJSON is the custom marshaler for DynamicsEntityDataset.
 75753  func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) {
 75754  	ded.Type = TypeDynamicsEntity
 75755  	objectMap := make(map[string]interface{})
 75756  	if ded.DynamicsEntityDatasetTypeProperties != nil {
 75757  		objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties
 75758  	}
 75759  	if ded.Description != nil {
 75760  		objectMap["description"] = ded.Description
 75761  	}
 75762  	if ded.Structure != nil {
 75763  		objectMap["structure"] = ded.Structure
 75764  	}
 75765  	if ded.Schema != nil {
 75766  		objectMap["schema"] = ded.Schema
 75767  	}
 75768  	if ded.LinkedServiceName != nil {
 75769  		objectMap["linkedServiceName"] = ded.LinkedServiceName
 75770  	}
 75771  	if ded.Parameters != nil {
 75772  		objectMap["parameters"] = ded.Parameters
 75773  	}
 75774  	if ded.Annotations != nil {
 75775  		objectMap["annotations"] = ded.Annotations
 75776  	}
 75777  	if ded.Folder != nil {
 75778  		objectMap["folder"] = ded.Folder
 75779  	}
 75780  	if ded.Type != "" {
 75781  		objectMap["type"] = ded.Type
 75782  	}
 75783  	for k, v := range ded.AdditionalProperties {
 75784  		objectMap[k] = v
 75785  	}
 75786  	return json.Marshal(objectMap)
 75787  }
 75788  
 75789  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75790  func (ded DynamicsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 75791  	return nil, false
 75792  }
 75793  
 75794  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75795  func (ded DynamicsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 75796  	return nil, false
 75797  }
 75798  
 75799  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75800  func (ded DynamicsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 75801  	return nil, false
 75802  }
 75803  
 75804  // AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75805  func (ded DynamicsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 75806  	return nil, false
 75807  }
 75808  
 75809  // AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75810  func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 75811  	return nil, false
 75812  }
 75813  
 75814  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75815  func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 75816  	return nil, false
 75817  }
 75818  
 75819  // AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75820  func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 75821  	return nil, false
 75822  }
 75823  
 75824  // AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75825  func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 75826  	return nil, false
 75827  }
 75828  
 75829  // AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75830  func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 75831  	return nil, false
 75832  }
 75833  
 75834  // AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75835  func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 75836  	return nil, false
 75837  }
 75838  
 75839  // AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75840  func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 75841  	return nil, false
 75842  }
 75843  
 75844  // AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75845  func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 75846  	return nil, false
 75847  }
 75848  
 75849  // AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75850  func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 75851  	return nil, false
 75852  }
 75853  
 75854  // AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75855  func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 75856  	return nil, false
 75857  }
 75858  
 75859  // AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75860  func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 75861  	return nil, false
 75862  }
 75863  
 75864  // AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75865  func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 75866  	return nil, false
 75867  }
 75868  
 75869  // AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75870  func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 75871  	return nil, false
 75872  }
 75873  
 75874  // AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75875  func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 75876  	return nil, false
 75877  }
 75878  
 75879  // AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75880  func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 75881  	return nil, false
 75882  }
 75883  
 75884  // AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75885  func (ded DynamicsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 75886  	return nil, false
 75887  }
 75888  
 75889  // AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75890  func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 75891  	return nil, false
 75892  }
 75893  
 75894  // AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75895  func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 75896  	return nil, false
 75897  }
 75898  
 75899  // AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75900  func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 75901  	return nil, false
 75902  }
 75903  
 75904  // AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75905  func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 75906  	return nil, false
 75907  }
 75908  
 75909  // AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75910  func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 75911  	return nil, false
 75912  }
 75913  
 75914  // AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75915  func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 75916  	return nil, false
 75917  }
 75918  
 75919  // AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75920  func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 75921  	return nil, false
 75922  }
 75923  
 75924  // AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75925  func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 75926  	return nil, false
 75927  }
 75928  
 75929  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75930  func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 75931  	return nil, false
 75932  }
 75933  
 75934  // AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75935  func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 75936  	return nil, false
 75937  }
 75938  
 75939  // AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75940  func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 75941  	return nil, false
 75942  }
 75943  
 75944  // AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75945  func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 75946  	return nil, false
 75947  }
 75948  
 75949  // AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75950  func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 75951  	return nil, false
 75952  }
 75953  
 75954  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75955  func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 75956  	return nil, false
 75957  }
 75958  
 75959  // AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75960  func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 75961  	return nil, false
 75962  }
 75963  
 75964  // AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75965  func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 75966  	return nil, false
 75967  }
 75968  
 75969  // AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75970  func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 75971  	return nil, false
 75972  }
 75973  
 75974  // AsSapTableResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75975  func (ded DynamicsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 75976  	return nil, false
 75977  }
 75978  
 75979  // AsRestResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75980  func (ded DynamicsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 75981  	return nil, false
 75982  }
 75983  
 75984  // AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75985  func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 75986  	return nil, false
 75987  }
 75988  
 75989  // AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75990  func (ded DynamicsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 75991  	return nil, false
 75992  }
 75993  
 75994  // AsSapHanaTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 75995  func (ded DynamicsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 75996  	return nil, false
 75997  }
 75998  
 75999  // AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76000  func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 76001  	return nil, false
 76002  }
 76003  
 76004  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76005  func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 76006  	return nil, false
 76007  }
 76008  
 76009  // AsSapBwCubeDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76010  func (ded DynamicsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 76011  	return nil, false
 76012  }
 76013  
 76014  // AsSybaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76015  func (ded DynamicsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 76016  	return nil, false
 76017  }
 76018  
 76019  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76020  func (ded DynamicsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 76021  	return nil, false
 76022  }
 76023  
 76024  // AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76025  func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 76026  	return nil, false
 76027  }
 76028  
 76029  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76030  func (ded DynamicsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 76031  	return nil, false
 76032  }
 76033  
 76034  // AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76035  func (ded DynamicsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 76036  	return nil, false
 76037  }
 76038  
 76039  // AsMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76040  func (ded DynamicsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 76041  	return nil, false
 76042  }
 76043  
 76044  // AsOdbcTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76045  func (ded DynamicsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 76046  	return nil, false
 76047  }
 76048  
 76049  // AsInformixTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76050  func (ded DynamicsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 76051  	return nil, false
 76052  }
 76053  
 76054  // AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76055  func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 76056  	return nil, false
 76057  }
 76058  
 76059  // AsDb2TableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76060  func (ded DynamicsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 76061  	return nil, false
 76062  }
 76063  
 76064  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76065  func (ded DynamicsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 76066  	return nil, false
 76067  }
 76068  
 76069  // AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76070  func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 76071  	return nil, false
 76072  }
 76073  
 76074  // AsTeradataTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76075  func (ded DynamicsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 76076  	return nil, false
 76077  }
 76078  
 76079  // AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76080  func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 76081  	return nil, false
 76082  }
 76083  
 76084  // AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76085  func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 76086  	return nil, false
 76087  }
 76088  
 76089  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76090  func (ded DynamicsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 76091  	return nil, false
 76092  }
 76093  
 76094  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76095  func (ded DynamicsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 76096  	return nil, false
 76097  }
 76098  
 76099  // AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76100  func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 76101  	return nil, false
 76102  }
 76103  
 76104  // AsOffice365Dataset is the BasicDataset implementation for DynamicsEntityDataset.
 76105  func (ded DynamicsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 76106  	return nil, false
 76107  }
 76108  
 76109  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76110  func (ded DynamicsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 76111  	return nil, false
 76112  }
 76113  
 76114  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76115  func (ded DynamicsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 76116  	return nil, false
 76117  }
 76118  
 76119  // AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76120  func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 76121  	return &ded, true
 76122  }
 76123  
 76124  // AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76125  func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 76126  	return nil, false
 76127  }
 76128  
 76129  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76130  func (ded DynamicsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 76131  	return nil, false
 76132  }
 76133  
 76134  // AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76135  func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) {
 76136  	return nil, false
 76137  }
 76138  
 76139  // AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76140  func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 76141  	return nil, false
 76142  }
 76143  
 76144  // AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76145  func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 76146  	return nil, false
 76147  }
 76148  
 76149  // AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76150  func (ded DynamicsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 76151  	return nil, false
 76152  }
 76153  
 76154  // AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76155  func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 76156  	return nil, false
 76157  }
 76158  
 76159  // AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76160  func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 76161  	return nil, false
 76162  }
 76163  
 76164  // AsBinaryDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76165  func (ded DynamicsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 76166  	return nil, false
 76167  }
 76168  
 76169  // AsOrcDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76170  func (ded DynamicsEntityDataset) AsOrcDataset() (*OrcDataset, bool) {
 76171  	return nil, false
 76172  }
 76173  
 76174  // AsJSONDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76175  func (ded DynamicsEntityDataset) AsJSONDataset() (*JSONDataset, bool) {
 76176  	return nil, false
 76177  }
 76178  
 76179  // AsDelimitedTextDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76180  func (ded DynamicsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 76181  	return nil, false
 76182  }
 76183  
 76184  // AsParquetDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76185  func (ded DynamicsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) {
 76186  	return nil, false
 76187  }
 76188  
 76189  // AsAvroDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76190  func (ded DynamicsEntityDataset) AsAvroDataset() (*AvroDataset, bool) {
 76191  	return nil, false
 76192  }
 76193  
 76194  // AsDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76195  func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) {
 76196  	return nil, false
 76197  }
 76198  
 76199  // AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset.
 76200  func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) {
 76201  	return &ded, true
 76202  }
 76203  
 76204  // UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct.
 76205  func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error {
 76206  	var m map[string]*json.RawMessage
 76207  	err := json.Unmarshal(body, &m)
 76208  	if err != nil {
 76209  		return err
 76210  	}
 76211  	for k, v := range m {
 76212  		switch k {
 76213  		case "typeProperties":
 76214  			if v != nil {
 76215  				var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties
 76216  				err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties)
 76217  				if err != nil {
 76218  					return err
 76219  				}
 76220  				ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties
 76221  			}
 76222  		default:
 76223  			if v != nil {
 76224  				var additionalProperties interface{}
 76225  				err = json.Unmarshal(*v, &additionalProperties)
 76226  				if err != nil {
 76227  					return err
 76228  				}
 76229  				if ded.AdditionalProperties == nil {
 76230  					ded.AdditionalProperties = make(map[string]interface{})
 76231  				}
 76232  				ded.AdditionalProperties[k] = additionalProperties
 76233  			}
 76234  		case "description":
 76235  			if v != nil {
 76236  				var description string
 76237  				err = json.Unmarshal(*v, &description)
 76238  				if err != nil {
 76239  					return err
 76240  				}
 76241  				ded.Description = &description
 76242  			}
 76243  		case "structure":
 76244  			if v != nil {
 76245  				var structure interface{}
 76246  				err = json.Unmarshal(*v, &structure)
 76247  				if err != nil {
 76248  					return err
 76249  				}
 76250  				ded.Structure = structure
 76251  			}
 76252  		case "schema":
 76253  			if v != nil {
 76254  				var schema interface{}
 76255  				err = json.Unmarshal(*v, &schema)
 76256  				if err != nil {
 76257  					return err
 76258  				}
 76259  				ded.Schema = schema
 76260  			}
 76261  		case "linkedServiceName":
 76262  			if v != nil {
 76263  				var linkedServiceName LinkedServiceReference
 76264  				err = json.Unmarshal(*v, &linkedServiceName)
 76265  				if err != nil {
 76266  					return err
 76267  				}
 76268  				ded.LinkedServiceName = &linkedServiceName
 76269  			}
 76270  		case "parameters":
 76271  			if v != nil {
 76272  				var parameters map[string]*ParameterSpecification
 76273  				err = json.Unmarshal(*v, &parameters)
 76274  				if err != nil {
 76275  					return err
 76276  				}
 76277  				ded.Parameters = parameters
 76278  			}
 76279  		case "annotations":
 76280  			if v != nil {
 76281  				var annotations []interface{}
 76282  				err = json.Unmarshal(*v, &annotations)
 76283  				if err != nil {
 76284  					return err
 76285  				}
 76286  				ded.Annotations = &annotations
 76287  			}
 76288  		case "folder":
 76289  			if v != nil {
 76290  				var folder DatasetFolder
 76291  				err = json.Unmarshal(*v, &folder)
 76292  				if err != nil {
 76293  					return err
 76294  				}
 76295  				ded.Folder = &folder
 76296  			}
 76297  		case "type":
 76298  			if v != nil {
 76299  				var typeVar TypeBasicDataset
 76300  				err = json.Unmarshal(*v, &typeVar)
 76301  				if err != nil {
 76302  					return err
 76303  				}
 76304  				ded.Type = typeVar
 76305  			}
 76306  		}
 76307  	}
 76308  
 76309  	return nil
 76310  }
 76311  
 76312  // DynamicsEntityDatasetTypeProperties dynamics entity dataset properties.
 76313  type DynamicsEntityDatasetTypeProperties struct {
 76314  	// EntityName - The logical name of the entity. Type: string (or Expression with resultType string).
 76315  	EntityName interface{} `json:"entityName,omitempty"`
 76316  }
 76317  
 76318  // DynamicsLinkedService dynamics linked service.
 76319  type DynamicsLinkedService struct {
 76320  	// DynamicsLinkedServiceTypeProperties - Dynamics linked service properties.
 76321  	*DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 76322  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 76323  	AdditionalProperties map[string]interface{} `json:""`
 76324  	// ConnectVia - The integration runtime reference.
 76325  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 76326  	// Description - Linked service description.
 76327  	Description *string `json:"description,omitempty"`
 76328  	// Parameters - Parameters for linked service.
 76329  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 76330  	// Annotations - List of tags that can be used for describing the linked service.
 76331  	Annotations *[]interface{} `json:"annotations,omitempty"`
 76332  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 76333  	Type TypeBasicLinkedService `json:"type,omitempty"`
 76334  }
 76335  
 76336  // MarshalJSON is the custom marshaler for DynamicsLinkedService.
 76337  func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) {
 76338  	dls.Type = TypeDynamics
 76339  	objectMap := make(map[string]interface{})
 76340  	if dls.DynamicsLinkedServiceTypeProperties != nil {
 76341  		objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties
 76342  	}
 76343  	if dls.ConnectVia != nil {
 76344  		objectMap["connectVia"] = dls.ConnectVia
 76345  	}
 76346  	if dls.Description != nil {
 76347  		objectMap["description"] = dls.Description
 76348  	}
 76349  	if dls.Parameters != nil {
 76350  		objectMap["parameters"] = dls.Parameters
 76351  	}
 76352  	if dls.Annotations != nil {
 76353  		objectMap["annotations"] = dls.Annotations
 76354  	}
 76355  	if dls.Type != "" {
 76356  		objectMap["type"] = dls.Type
 76357  	}
 76358  	for k, v := range dls.AdditionalProperties {
 76359  		objectMap[k] = v
 76360  	}
 76361  	return json.Marshal(objectMap)
 76362  }
 76363  
 76364  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76365  func (dls DynamicsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 76366  	return nil, false
 76367  }
 76368  
 76369  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76370  func (dls DynamicsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 76371  	return nil, false
 76372  }
 76373  
 76374  // AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76375  func (dls DynamicsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 76376  	return nil, false
 76377  }
 76378  
 76379  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76380  func (dls DynamicsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 76381  	return nil, false
 76382  }
 76383  
 76384  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76385  func (dls DynamicsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 76386  	return nil, false
 76387  }
 76388  
 76389  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76390  func (dls DynamicsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 76391  	return nil, false
 76392  }
 76393  
 76394  // AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76395  func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 76396  	return nil, false
 76397  }
 76398  
 76399  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76400  func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 76401  	return nil, false
 76402  }
 76403  
 76404  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76405  func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 76406  	return nil, false
 76407  }
 76408  
 76409  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76410  func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 76411  	return nil, false
 76412  }
 76413  
 76414  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76415  func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 76416  	return nil, false
 76417  }
 76418  
 76419  // AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76420  func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 76421  	return nil, false
 76422  }
 76423  
 76424  // AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76425  func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 76426  	return nil, false
 76427  }
 76428  
 76429  // AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76430  func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 76431  	return nil, false
 76432  }
 76433  
 76434  // AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76435  func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 76436  	return nil, false
 76437  }
 76438  
 76439  // AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76440  func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 76441  	return nil, false
 76442  }
 76443  
 76444  // AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76445  func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 76446  	return nil, false
 76447  }
 76448  
 76449  // AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76450  func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 76451  	return nil, false
 76452  }
 76453  
 76454  // AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76455  func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 76456  	return nil, false
 76457  }
 76458  
 76459  // AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76460  func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 76461  	return nil, false
 76462  }
 76463  
 76464  // AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76465  func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 76466  	return nil, false
 76467  }
 76468  
 76469  // AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76470  func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 76471  	return nil, false
 76472  }
 76473  
 76474  // AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76475  func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 76476  	return nil, false
 76477  }
 76478  
 76479  // AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76480  func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 76481  	return nil, false
 76482  }
 76483  
 76484  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76485  func (dls DynamicsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 76486  	return nil, false
 76487  }
 76488  
 76489  // AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76490  func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 76491  	return nil, false
 76492  }
 76493  
 76494  // AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76495  func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 76496  	return nil, false
 76497  }
 76498  
 76499  // AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76500  func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 76501  	return nil, false
 76502  }
 76503  
 76504  // AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76505  func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 76506  	return nil, false
 76507  }
 76508  
 76509  // AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76510  func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 76511  	return nil, false
 76512  }
 76513  
 76514  // AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76515  func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 76516  	return nil, false
 76517  }
 76518  
 76519  // AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76520  func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 76521  	return nil, false
 76522  }
 76523  
 76524  // AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76525  func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 76526  	return nil, false
 76527  }
 76528  
 76529  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76530  func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 76531  	return nil, false
 76532  }
 76533  
 76534  // AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76535  func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 76536  	return nil, false
 76537  }
 76538  
 76539  // AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76540  func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 76541  	return nil, false
 76542  }
 76543  
 76544  // AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76545  func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 76546  	return nil, false
 76547  }
 76548  
 76549  // AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76550  func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 76551  	return nil, false
 76552  }
 76553  
 76554  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76555  func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 76556  	return nil, false
 76557  }
 76558  
 76559  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76560  func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 76561  	return nil, false
 76562  }
 76563  
 76564  // AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76565  func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 76566  	return nil, false
 76567  }
 76568  
 76569  // AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76570  func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 76571  	return nil, false
 76572  }
 76573  
 76574  // AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76575  func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 76576  	return nil, false
 76577  }
 76578  
 76579  // AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76580  func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 76581  	return nil, false
 76582  }
 76583  
 76584  // AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76585  func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 76586  	return nil, false
 76587  }
 76588  
 76589  // AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76590  func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 76591  	return nil, false
 76592  }
 76593  
 76594  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76595  func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 76596  	return nil, false
 76597  }
 76598  
 76599  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76600  func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 76601  	return nil, false
 76602  }
 76603  
 76604  // AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76605  func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 76606  	return nil, false
 76607  }
 76608  
 76609  // AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76610  func (dls DynamicsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 76611  	return nil, false
 76612  }
 76613  
 76614  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76615  func (dls DynamicsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 76616  	return nil, false
 76617  }
 76618  
 76619  // AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76620  func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 76621  	return nil, false
 76622  }
 76623  
 76624  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76625  func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 76626  	return nil, false
 76627  }
 76628  
 76629  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76630  func (dls DynamicsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 76631  	return nil, false
 76632  }
 76633  
 76634  // AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76635  func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 76636  	return nil, false
 76637  }
 76638  
 76639  // AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76640  func (dls DynamicsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 76641  	return nil, false
 76642  }
 76643  
 76644  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76645  func (dls DynamicsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 76646  	return nil, false
 76647  }
 76648  
 76649  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76650  func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 76651  	return nil, false
 76652  }
 76653  
 76654  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76655  func (dls DynamicsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 76656  	return nil, false
 76657  }
 76658  
 76659  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76660  func (dls DynamicsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 76661  	return nil, false
 76662  }
 76663  
 76664  // AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76665  func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 76666  	return nil, false
 76667  }
 76668  
 76669  // AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76670  func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 76671  	return nil, false
 76672  }
 76673  
 76674  // AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76675  func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 76676  	return nil, false
 76677  }
 76678  
 76679  // AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76680  func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 76681  	return nil, false
 76682  }
 76683  
 76684  // AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76685  func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 76686  	return nil, false
 76687  }
 76688  
 76689  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76690  func (dls DynamicsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 76691  	return nil, false
 76692  }
 76693  
 76694  // AsInformixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76695  func (dls DynamicsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 76696  	return nil, false
 76697  }
 76698  
 76699  // AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76700  func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 76701  	return nil, false
 76702  }
 76703  
 76704  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76705  func (dls DynamicsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 76706  	return nil, false
 76707  }
 76708  
 76709  // AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76710  func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 76711  	return nil, false
 76712  }
 76713  
 76714  // AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76715  func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 76716  	return nil, false
 76717  }
 76718  
 76719  // AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76720  func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 76721  	return nil, false
 76722  }
 76723  
 76724  // AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76725  func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 76726  	return nil, false
 76727  }
 76728  
 76729  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76730  func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 76731  	return nil, false
 76732  }
 76733  
 76734  // AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76735  func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 76736  	return nil, false
 76737  }
 76738  
 76739  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76740  func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 76741  	return nil, false
 76742  }
 76743  
 76744  // AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76745  func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 76746  	return nil, false
 76747  }
 76748  
 76749  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76750  func (dls DynamicsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 76751  	return nil, false
 76752  }
 76753  
 76754  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76755  func (dls DynamicsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 76756  	return nil, false
 76757  }
 76758  
 76759  // AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76760  func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 76761  	return nil, false
 76762  }
 76763  
 76764  // AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76765  func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 76766  	return nil, false
 76767  }
 76768  
 76769  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76770  func (dls DynamicsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 76771  	return nil, false
 76772  }
 76773  
 76774  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76775  func (dls DynamicsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 76776  	return nil, false
 76777  }
 76778  
 76779  // AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76780  func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 76781  	return &dls, true
 76782  }
 76783  
 76784  // AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76785  func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 76786  	return nil, false
 76787  }
 76788  
 76789  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76790  func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 76791  	return nil, false
 76792  }
 76793  
 76794  // AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76795  func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 76796  	return nil, false
 76797  }
 76798  
 76799  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76800  func (dls DynamicsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 76801  	return nil, false
 76802  }
 76803  
 76804  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76805  func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 76806  	return nil, false
 76807  }
 76808  
 76809  // AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76810  func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 76811  	return nil, false
 76812  }
 76813  
 76814  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76815  func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 76816  	return nil, false
 76817  }
 76818  
 76819  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76820  func (dls DynamicsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 76821  	return nil, false
 76822  }
 76823  
 76824  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76825  func (dls DynamicsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 76826  	return nil, false
 76827  }
 76828  
 76829  // AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76830  func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 76831  	return nil, false
 76832  }
 76833  
 76834  // AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76835  func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) {
 76836  	return nil, false
 76837  }
 76838  
 76839  // AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService.
 76840  func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 76841  	return &dls, true
 76842  }
 76843  
 76844  // UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct.
 76845  func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error {
 76846  	var m map[string]*json.RawMessage
 76847  	err := json.Unmarshal(body, &m)
 76848  	if err != nil {
 76849  		return err
 76850  	}
 76851  	for k, v := range m {
 76852  		switch k {
 76853  		case "typeProperties":
 76854  			if v != nil {
 76855  				var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties
 76856  				err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties)
 76857  				if err != nil {
 76858  					return err
 76859  				}
 76860  				dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties
 76861  			}
 76862  		default:
 76863  			if v != nil {
 76864  				var additionalProperties interface{}
 76865  				err = json.Unmarshal(*v, &additionalProperties)
 76866  				if err != nil {
 76867  					return err
 76868  				}
 76869  				if dls.AdditionalProperties == nil {
 76870  					dls.AdditionalProperties = make(map[string]interface{})
 76871  				}
 76872  				dls.AdditionalProperties[k] = additionalProperties
 76873  			}
 76874  		case "connectVia":
 76875  			if v != nil {
 76876  				var connectVia IntegrationRuntimeReference
 76877  				err = json.Unmarshal(*v, &connectVia)
 76878  				if err != nil {
 76879  					return err
 76880  				}
 76881  				dls.ConnectVia = &connectVia
 76882  			}
 76883  		case "description":
 76884  			if v != nil {
 76885  				var description string
 76886  				err = json.Unmarshal(*v, &description)
 76887  				if err != nil {
 76888  					return err
 76889  				}
 76890  				dls.Description = &description
 76891  			}
 76892  		case "parameters":
 76893  			if v != nil {
 76894  				var parameters map[string]*ParameterSpecification
 76895  				err = json.Unmarshal(*v, &parameters)
 76896  				if err != nil {
 76897  					return err
 76898  				}
 76899  				dls.Parameters = parameters
 76900  			}
 76901  		case "annotations":
 76902  			if v != nil {
 76903  				var annotations []interface{}
 76904  				err = json.Unmarshal(*v, &annotations)
 76905  				if err != nil {
 76906  					return err
 76907  				}
 76908  				dls.Annotations = &annotations
 76909  			}
 76910  		case "type":
 76911  			if v != nil {
 76912  				var typeVar TypeBasicLinkedService
 76913  				err = json.Unmarshal(*v, &typeVar)
 76914  				if err != nil {
 76915  					return err
 76916  				}
 76917  				dls.Type = typeVar
 76918  			}
 76919  		}
 76920  	}
 76921  
 76922  	return nil
 76923  }
 76924  
 76925  // DynamicsLinkedServiceTypeProperties dynamics linked service properties.
 76926  type DynamicsLinkedServiceTypeProperties struct {
 76927  	// 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). Possible values include: 'Online', 'OnPremisesWithIfd'
 76928  	DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"`
 76929  	// 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).
 76930  	HostName *string `json:"hostName,omitempty"`
 76931  	// 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.
 76932  	Port *string `json:"port,omitempty"`
 76933  	// 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).
 76934  	ServiceURI *string `json:"serviceUri,omitempty"`
 76935  	// 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).
 76936  	OrganizationName *string `json:"organizationName,omitempty"`
 76937  	// AuthenticationType - The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd', 'AADServicePrincipal'
 76938  	AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"`
 76939  	// Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string).
 76940  	Username interface{} `json:"username,omitempty"`
 76941  	// Password - Password to access the Dynamics instance.
 76942  	Password BasicSecretBase `json:"password,omitempty"`
 76943  	// ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string).
 76944  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 76945  	// ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert'
 76946  	ServicePrincipalCredentialType DynamicsServicePrincipalCredentialType `json:"servicePrincipalCredentialType,omitempty"`
 76947  	// ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference.
 76948  	ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"`
 76949  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 76950  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 76951  }
 76952  
 76953  // UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct.
 76954  func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 76955  	var m map[string]*json.RawMessage
 76956  	err := json.Unmarshal(body, &m)
 76957  	if err != nil {
 76958  		return err
 76959  	}
 76960  	for k, v := range m {
 76961  		switch k {
 76962  		case "deploymentType":
 76963  			if v != nil {
 76964  				var deploymentType DynamicsDeploymentType
 76965  				err = json.Unmarshal(*v, &deploymentType)
 76966  				if err != nil {
 76967  					return err
 76968  				}
 76969  				dlstp.DeploymentType = deploymentType
 76970  			}
 76971  		case "hostName":
 76972  			if v != nil {
 76973  				var hostName string
 76974  				err = json.Unmarshal(*v, &hostName)
 76975  				if err != nil {
 76976  					return err
 76977  				}
 76978  				dlstp.HostName = &hostName
 76979  			}
 76980  		case "port":
 76981  			if v != nil {
 76982  				var port string
 76983  				err = json.Unmarshal(*v, &port)
 76984  				if err != nil {
 76985  					return err
 76986  				}
 76987  				dlstp.Port = &port
 76988  			}
 76989  		case "serviceUri":
 76990  			if v != nil {
 76991  				var serviceURI string
 76992  				err = json.Unmarshal(*v, &serviceURI)
 76993  				if err != nil {
 76994  					return err
 76995  				}
 76996  				dlstp.ServiceURI = &serviceURI
 76997  			}
 76998  		case "organizationName":
 76999  			if v != nil {
 77000  				var organizationName string
 77001  				err = json.Unmarshal(*v, &organizationName)
 77002  				if err != nil {
 77003  					return err
 77004  				}
 77005  				dlstp.OrganizationName = &organizationName
 77006  			}
 77007  		case "authenticationType":
 77008  			if v != nil {
 77009  				var authenticationType DynamicsAuthenticationType
 77010  				err = json.Unmarshal(*v, &authenticationType)
 77011  				if err != nil {
 77012  					return err
 77013  				}
 77014  				dlstp.AuthenticationType = authenticationType
 77015  			}
 77016  		case "username":
 77017  			if v != nil {
 77018  				var username interface{}
 77019  				err = json.Unmarshal(*v, &username)
 77020  				if err != nil {
 77021  					return err
 77022  				}
 77023  				dlstp.Username = username
 77024  			}
 77025  		case "password":
 77026  			if v != nil {
 77027  				password, err := unmarshalBasicSecretBase(*v)
 77028  				if err != nil {
 77029  					return err
 77030  				}
 77031  				dlstp.Password = password
 77032  			}
 77033  		case "servicePrincipalId":
 77034  			if v != nil {
 77035  				var servicePrincipalID interface{}
 77036  				err = json.Unmarshal(*v, &servicePrincipalID)
 77037  				if err != nil {
 77038  					return err
 77039  				}
 77040  				dlstp.ServicePrincipalID = servicePrincipalID
 77041  			}
 77042  		case "servicePrincipalCredentialType":
 77043  			if v != nil {
 77044  				var servicePrincipalCredentialType DynamicsServicePrincipalCredentialType
 77045  				err = json.Unmarshal(*v, &servicePrincipalCredentialType)
 77046  				if err != nil {
 77047  					return err
 77048  				}
 77049  				dlstp.ServicePrincipalCredentialType = servicePrincipalCredentialType
 77050  			}
 77051  		case "servicePrincipalCredential":
 77052  			if v != nil {
 77053  				servicePrincipalCredential, err := unmarshalBasicSecretBase(*v)
 77054  				if err != nil {
 77055  					return err
 77056  				}
 77057  				dlstp.ServicePrincipalCredential = servicePrincipalCredential
 77058  			}
 77059  		case "encryptedCredential":
 77060  			if v != nil {
 77061  				var encryptedCredential interface{}
 77062  				err = json.Unmarshal(*v, &encryptedCredential)
 77063  				if err != nil {
 77064  					return err
 77065  				}
 77066  				dlstp.EncryptedCredential = encryptedCredential
 77067  			}
 77068  		}
 77069  	}
 77070  
 77071  	return nil
 77072  }
 77073  
 77074  // DynamicsSink a copy activity Dynamics sink.
 77075  type DynamicsSink struct {
 77076  	// WriteBehavior - The write behavior for the operation.
 77077  	WriteBehavior *string `json:"writeBehavior,omitempty"`
 77078  	// 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).
 77079  	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
 77080  	// AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string).
 77081  	AlternateKeyName interface{} `json:"alternateKeyName,omitempty"`
 77082  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 77083  	AdditionalProperties map[string]interface{} `json:""`
 77084  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 77085  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 77086  	// 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])).
 77087  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 77088  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 77089  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 77090  	// 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])).
 77091  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 77092  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 77093  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 77094  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 77095  	Type TypeBasicCopySink `json:"type,omitempty"`
 77096  }
 77097  
 77098  // MarshalJSON is the custom marshaler for DynamicsSink.
 77099  func (ds DynamicsSink) MarshalJSON() ([]byte, error) {
 77100  	ds.Type = TypeDynamicsSink
 77101  	objectMap := make(map[string]interface{})
 77102  	if ds.WriteBehavior != nil {
 77103  		objectMap["writeBehavior"] = ds.WriteBehavior
 77104  	}
 77105  	if ds.IgnoreNullValues != nil {
 77106  		objectMap["ignoreNullValues"] = ds.IgnoreNullValues
 77107  	}
 77108  	if ds.AlternateKeyName != nil {
 77109  		objectMap["alternateKeyName"] = ds.AlternateKeyName
 77110  	}
 77111  	if ds.WriteBatchSize != nil {
 77112  		objectMap["writeBatchSize"] = ds.WriteBatchSize
 77113  	}
 77114  	if ds.WriteBatchTimeout != nil {
 77115  		objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout
 77116  	}
 77117  	if ds.SinkRetryCount != nil {
 77118  		objectMap["sinkRetryCount"] = ds.SinkRetryCount
 77119  	}
 77120  	if ds.SinkRetryWait != nil {
 77121  		objectMap["sinkRetryWait"] = ds.SinkRetryWait
 77122  	}
 77123  	if ds.MaxConcurrentConnections != nil {
 77124  		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
 77125  	}
 77126  	if ds.Type != "" {
 77127  		objectMap["type"] = ds.Type
 77128  	}
 77129  	for k, v := range ds.AdditionalProperties {
 77130  		objectMap[k] = v
 77131  	}
 77132  	return json.Marshal(objectMap)
 77133  }
 77134  
 77135  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsSink.
 77136  func (ds DynamicsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 77137  	return nil, false
 77138  }
 77139  
 77140  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsSink.
 77141  func (ds DynamicsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 77142  	return nil, false
 77143  }
 77144  
 77145  // AsSalesforceSink is the BasicCopySink implementation for DynamicsSink.
 77146  func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) {
 77147  	return nil, false
 77148  }
 77149  
 77150  // AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsSink.
 77151  func (ds DynamicsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 77152  	return nil, false
 77153  }
 77154  
 77155  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsSink.
 77156  func (ds DynamicsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 77157  	return nil, false
 77158  }
 77159  
 77160  // AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsSink.
 77161  func (ds DynamicsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 77162  	return nil, false
 77163  }
 77164  
 77165  // AsDynamicsSink is the BasicCopySink implementation for DynamicsSink.
 77166  func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) {
 77167  	return &ds, true
 77168  }
 77169  
 77170  // AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsSink.
 77171  func (ds DynamicsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 77172  	return nil, false
 77173  }
 77174  
 77175  // AsInformixSink is the BasicCopySink implementation for DynamicsSink.
 77176  func (ds DynamicsSink) AsInformixSink() (*InformixSink, bool) {
 77177  	return nil, false
 77178  }
 77179  
 77180  // AsOdbcSink is the BasicCopySink implementation for DynamicsSink.
 77181  func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) {
 77182  	return nil, false
 77183  }
 77184  
 77185  // AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink.
 77186  func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 77187  	return nil, false
 77188  }
 77189  
 77190  // AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsSink.
 77191  func (ds DynamicsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 77192  	return nil, false
 77193  }
 77194  
 77195  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink.
 77196  func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 77197  	return nil, false
 77198  }
 77199  
 77200  // AsOracleSink is the BasicCopySink implementation for DynamicsSink.
 77201  func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) {
 77202  	return nil, false
 77203  }
 77204  
 77205  // AsSQLDWSink is the BasicCopySink implementation for DynamicsSink.
 77206  func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) {
 77207  	return nil, false
 77208  }
 77209  
 77210  // AsSQLMISink is the BasicCopySink implementation for DynamicsSink.
 77211  func (ds DynamicsSink) AsSQLMISink() (*SQLMISink, bool) {
 77212  	return nil, false
 77213  }
 77214  
 77215  // AsAzureSQLSink is the BasicCopySink implementation for DynamicsSink.
 77216  func (ds DynamicsSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 77217  	return nil, false
 77218  }
 77219  
 77220  // AsSQLServerSink is the BasicCopySink implementation for DynamicsSink.
 77221  func (ds DynamicsSink) AsSQLServerSink() (*SQLServerSink, bool) {
 77222  	return nil, false
 77223  }
 77224  
 77225  // AsSQLSink is the BasicCopySink implementation for DynamicsSink.
 77226  func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) {
 77227  	return nil, false
 77228  }
 77229  
 77230  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsSink.
 77231  func (ds DynamicsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 77232  	return nil, false
 77233  }
 77234  
 77235  // AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink.
 77236  func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 77237  	return nil, false
 77238  }
 77239  
 77240  // AsFileSystemSink is the BasicCopySink implementation for DynamicsSink.
 77241  func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) {
 77242  	return nil, false
 77243  }
 77244  
 77245  // AsBlobSink is the BasicCopySink implementation for DynamicsSink.
 77246  func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) {
 77247  	return nil, false
 77248  }
 77249  
 77250  // AsBinarySink is the BasicCopySink implementation for DynamicsSink.
 77251  func (ds DynamicsSink) AsBinarySink() (*BinarySink, bool) {
 77252  	return nil, false
 77253  }
 77254  
 77255  // AsParquetSink is the BasicCopySink implementation for DynamicsSink.
 77256  func (ds DynamicsSink) AsParquetSink() (*ParquetSink, bool) {
 77257  	return nil, false
 77258  }
 77259  
 77260  // AsAvroSink is the BasicCopySink implementation for DynamicsSink.
 77261  func (ds DynamicsSink) AsAvroSink() (*AvroSink, bool) {
 77262  	return nil, false
 77263  }
 77264  
 77265  // AsAzureTableSink is the BasicCopySink implementation for DynamicsSink.
 77266  func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) {
 77267  	return nil, false
 77268  }
 77269  
 77270  // AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink.
 77271  func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 77272  	return nil, false
 77273  }
 77274  
 77275  // AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink.
 77276  func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 77277  	return nil, false
 77278  }
 77279  
 77280  // AsAzureMySQLSink is the BasicCopySink implementation for DynamicsSink.
 77281  func (ds DynamicsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 77282  	return nil, false
 77283  }
 77284  
 77285  // AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsSink.
 77286  func (ds DynamicsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 77287  	return nil, false
 77288  }
 77289  
 77290  // AsOrcSink is the BasicCopySink implementation for DynamicsSink.
 77291  func (ds DynamicsSink) AsOrcSink() (*OrcSink, bool) {
 77292  	return nil, false
 77293  }
 77294  
 77295  // AsJSONSink is the BasicCopySink implementation for DynamicsSink.
 77296  func (ds DynamicsSink) AsJSONSink() (*JSONSink, bool) {
 77297  	return nil, false
 77298  }
 77299  
 77300  // AsDelimitedTextSink is the BasicCopySink implementation for DynamicsSink.
 77301  func (ds DynamicsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 77302  	return nil, false
 77303  }
 77304  
 77305  // AsCopySink is the BasicCopySink implementation for DynamicsSink.
 77306  func (ds DynamicsSink) AsCopySink() (*CopySink, bool) {
 77307  	return nil, false
 77308  }
 77309  
 77310  // AsBasicCopySink is the BasicCopySink implementation for DynamicsSink.
 77311  func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) {
 77312  	return &ds, true
 77313  }
 77314  
 77315  // UnmarshalJSON is the custom unmarshaler for DynamicsSink struct.
 77316  func (ds *DynamicsSink) UnmarshalJSON(body []byte) error {
 77317  	var m map[string]*json.RawMessage
 77318  	err := json.Unmarshal(body, &m)
 77319  	if err != nil {
 77320  		return err
 77321  	}
 77322  	for k, v := range m {
 77323  		switch k {
 77324  		case "writeBehavior":
 77325  			if v != nil {
 77326  				var writeBehavior string
 77327  				err = json.Unmarshal(*v, &writeBehavior)
 77328  				if err != nil {
 77329  					return err
 77330  				}
 77331  				ds.WriteBehavior = &writeBehavior
 77332  			}
 77333  		case "ignoreNullValues":
 77334  			if v != nil {
 77335  				var ignoreNullValues interface{}
 77336  				err = json.Unmarshal(*v, &ignoreNullValues)
 77337  				if err != nil {
 77338  					return err
 77339  				}
 77340  				ds.IgnoreNullValues = ignoreNullValues
 77341  			}
 77342  		case "alternateKeyName":
 77343  			if v != nil {
 77344  				var alternateKeyName interface{}
 77345  				err = json.Unmarshal(*v, &alternateKeyName)
 77346  				if err != nil {
 77347  					return err
 77348  				}
 77349  				ds.AlternateKeyName = alternateKeyName
 77350  			}
 77351  		default:
 77352  			if v != nil {
 77353  				var additionalProperties interface{}
 77354  				err = json.Unmarshal(*v, &additionalProperties)
 77355  				if err != nil {
 77356  					return err
 77357  				}
 77358  				if ds.AdditionalProperties == nil {
 77359  					ds.AdditionalProperties = make(map[string]interface{})
 77360  				}
 77361  				ds.AdditionalProperties[k] = additionalProperties
 77362  			}
 77363  		case "writeBatchSize":
 77364  			if v != nil {
 77365  				var writeBatchSize interface{}
 77366  				err = json.Unmarshal(*v, &writeBatchSize)
 77367  				if err != nil {
 77368  					return err
 77369  				}
 77370  				ds.WriteBatchSize = writeBatchSize
 77371  			}
 77372  		case "writeBatchTimeout":
 77373  			if v != nil {
 77374  				var writeBatchTimeout interface{}
 77375  				err = json.Unmarshal(*v, &writeBatchTimeout)
 77376  				if err != nil {
 77377  					return err
 77378  				}
 77379  				ds.WriteBatchTimeout = writeBatchTimeout
 77380  			}
 77381  		case "sinkRetryCount":
 77382  			if v != nil {
 77383  				var sinkRetryCount interface{}
 77384  				err = json.Unmarshal(*v, &sinkRetryCount)
 77385  				if err != nil {
 77386  					return err
 77387  				}
 77388  				ds.SinkRetryCount = sinkRetryCount
 77389  			}
 77390  		case "sinkRetryWait":
 77391  			if v != nil {
 77392  				var sinkRetryWait interface{}
 77393  				err = json.Unmarshal(*v, &sinkRetryWait)
 77394  				if err != nil {
 77395  					return err
 77396  				}
 77397  				ds.SinkRetryWait = sinkRetryWait
 77398  			}
 77399  		case "maxConcurrentConnections":
 77400  			if v != nil {
 77401  				var maxConcurrentConnections interface{}
 77402  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 77403  				if err != nil {
 77404  					return err
 77405  				}
 77406  				ds.MaxConcurrentConnections = maxConcurrentConnections
 77407  			}
 77408  		case "type":
 77409  			if v != nil {
 77410  				var typeVar TypeBasicCopySink
 77411  				err = json.Unmarshal(*v, &typeVar)
 77412  				if err != nil {
 77413  					return err
 77414  				}
 77415  				ds.Type = typeVar
 77416  			}
 77417  		}
 77418  	}
 77419  
 77420  	return nil
 77421  }
 77422  
 77423  // DynamicsSource a copy activity Dynamics source.
 77424  type DynamicsSource struct {
 77425  	// Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
 77426  	Query interface{} `json:"query,omitempty"`
 77427  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 77428  	AdditionalProperties map[string]interface{} `json:""`
 77429  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 77430  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 77431  	// 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])).
 77432  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 77433  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 77434  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 77435  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 77436  	Type TypeBasicCopySource `json:"type,omitempty"`
 77437  }
 77438  
 77439  // MarshalJSON is the custom marshaler for DynamicsSource.
 77440  func (ds DynamicsSource) MarshalJSON() ([]byte, error) {
 77441  	ds.Type = TypeDynamicsSource
 77442  	objectMap := make(map[string]interface{})
 77443  	if ds.Query != nil {
 77444  		objectMap["query"] = ds.Query
 77445  	}
 77446  	if ds.SourceRetryCount != nil {
 77447  		objectMap["sourceRetryCount"] = ds.SourceRetryCount
 77448  	}
 77449  	if ds.SourceRetryWait != nil {
 77450  		objectMap["sourceRetryWait"] = ds.SourceRetryWait
 77451  	}
 77452  	if ds.MaxConcurrentConnections != nil {
 77453  		objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections
 77454  	}
 77455  	if ds.Type != "" {
 77456  		objectMap["type"] = ds.Type
 77457  	}
 77458  	for k, v := range ds.AdditionalProperties {
 77459  		objectMap[k] = v
 77460  	}
 77461  	return json.Marshal(objectMap)
 77462  }
 77463  
 77464  // AsHTTPSource is the BasicCopySource implementation for DynamicsSource.
 77465  func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) {
 77466  	return nil, false
 77467  }
 77468  
 77469  // AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsSource.
 77470  func (ds DynamicsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 77471  	return nil, false
 77472  }
 77473  
 77474  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource.
 77475  func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 77476  	return nil, false
 77477  }
 77478  
 77479  // AsOffice365Source is the BasicCopySource implementation for DynamicsSource.
 77480  func (ds DynamicsSource) AsOffice365Source() (*Office365Source, bool) {
 77481  	return nil, false
 77482  }
 77483  
 77484  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsSource.
 77485  func (ds DynamicsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 77486  	return nil, false
 77487  }
 77488  
 77489  // AsMongoDbV2Source is the BasicCopySource implementation for DynamicsSource.
 77490  func (ds DynamicsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 77491  	return nil, false
 77492  }
 77493  
 77494  // AsMongoDbSource is the BasicCopySource implementation for DynamicsSource.
 77495  func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) {
 77496  	return nil, false
 77497  }
 77498  
 77499  // AsWebSource is the BasicCopySource implementation for DynamicsSource.
 77500  func (ds DynamicsSource) AsWebSource() (*WebSource, bool) {
 77501  	return nil, false
 77502  }
 77503  
 77504  // AsOracleSource is the BasicCopySource implementation for DynamicsSource.
 77505  func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) {
 77506  	return nil, false
 77507  }
 77508  
 77509  // AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsSource.
 77510  func (ds DynamicsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 77511  	return nil, false
 77512  }
 77513  
 77514  // AsHdfsSource is the BasicCopySource implementation for DynamicsSource.
 77515  func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) {
 77516  	return nil, false
 77517  }
 77518  
 77519  // AsFileSystemSource is the BasicCopySource implementation for DynamicsSource.
 77520  func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) {
 77521  	return nil, false
 77522  }
 77523  
 77524  // AsRestSource is the BasicCopySource implementation for DynamicsSource.
 77525  func (ds DynamicsSource) AsRestSource() (*RestSource, bool) {
 77526  	return nil, false
 77527  }
 77528  
 77529  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsSource.
 77530  func (ds DynamicsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 77531  	return nil, false
 77532  }
 77533  
 77534  // AsODataSource is the BasicCopySource implementation for DynamicsSource.
 77535  func (ds DynamicsSource) AsODataSource() (*ODataSource, bool) {
 77536  	return nil, false
 77537  }
 77538  
 77539  // AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsSource.
 77540  func (ds DynamicsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 77541  	return nil, false
 77542  }
 77543  
 77544  // AsRelationalSource is the BasicCopySource implementation for DynamicsSource.
 77545  func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) {
 77546  	return nil, false
 77547  }
 77548  
 77549  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsSource.
 77550  func (ds DynamicsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 77551  	return nil, false
 77552  }
 77553  
 77554  // AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsSource.
 77555  func (ds DynamicsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 77556  	return nil, false
 77557  }
 77558  
 77559  // AsDynamicsSource is the BasicCopySource implementation for DynamicsSource.
 77560  func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) {
 77561  	return &ds, true
 77562  }
 77563  
 77564  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsSource.
 77565  func (ds DynamicsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 77566  	return nil, false
 77567  }
 77568  
 77569  // AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource.
 77570  func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 77571  	return nil, false
 77572  }
 77573  
 77574  // AsBlobSource is the BasicCopySource implementation for DynamicsSource.
 77575  func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) {
 77576  	return nil, false
 77577  }
 77578  
 77579  // AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource.
 77580  func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 77581  	return nil, false
 77582  }
 77583  
 77584  // AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsSource.
 77585  func (ds DynamicsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 77586  	return nil, false
 77587  }
 77588  
 77589  // AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsSource.
 77590  func (ds DynamicsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 77591  	return nil, false
 77592  }
 77593  
 77594  // AsDynamicsAXSource is the BasicCopySource implementation for DynamicsSource.
 77595  func (ds DynamicsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 77596  	return nil, false
 77597  }
 77598  
 77599  // AsResponsysSource is the BasicCopySource implementation for DynamicsSource.
 77600  func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) {
 77601  	return nil, false
 77602  }
 77603  
 77604  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource.
 77605  func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 77606  	return nil, false
 77607  }
 77608  
 77609  // AsVerticaSource is the BasicCopySource implementation for DynamicsSource.
 77610  func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) {
 77611  	return nil, false
 77612  }
 77613  
 77614  // AsNetezzaSource is the BasicCopySource implementation for DynamicsSource.
 77615  func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) {
 77616  	return nil, false
 77617  }
 77618  
 77619  // AsZohoSource is the BasicCopySource implementation for DynamicsSource.
 77620  func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) {
 77621  	return nil, false
 77622  }
 77623  
 77624  // AsXeroSource is the BasicCopySource implementation for DynamicsSource.
 77625  func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) {
 77626  	return nil, false
 77627  }
 77628  
 77629  // AsSquareSource is the BasicCopySource implementation for DynamicsSource.
 77630  func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) {
 77631  	return nil, false
 77632  }
 77633  
 77634  // AsSparkSource is the BasicCopySource implementation for DynamicsSource.
 77635  func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) {
 77636  	return nil, false
 77637  }
 77638  
 77639  // AsShopifySource is the BasicCopySource implementation for DynamicsSource.
 77640  func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) {
 77641  	return nil, false
 77642  }
 77643  
 77644  // AsServiceNowSource is the BasicCopySource implementation for DynamicsSource.
 77645  func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 77646  	return nil, false
 77647  }
 77648  
 77649  // AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource.
 77650  func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 77651  	return nil, false
 77652  }
 77653  
 77654  // AsPrestoSource is the BasicCopySource implementation for DynamicsSource.
 77655  func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) {
 77656  	return nil, false
 77657  }
 77658  
 77659  // AsPhoenixSource is the BasicCopySource implementation for DynamicsSource.
 77660  func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) {
 77661  	return nil, false
 77662  }
 77663  
 77664  // AsPaypalSource is the BasicCopySource implementation for DynamicsSource.
 77665  func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) {
 77666  	return nil, false
 77667  }
 77668  
 77669  // AsMarketoSource is the BasicCopySource implementation for DynamicsSource.
 77670  func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) {
 77671  	return nil, false
 77672  }
 77673  
 77674  // AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsSource.
 77675  func (ds DynamicsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 77676  	return nil, false
 77677  }
 77678  
 77679  // AsMariaDBSource is the BasicCopySource implementation for DynamicsSource.
 77680  func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) {
 77681  	return nil, false
 77682  }
 77683  
 77684  // AsMagentoSource is the BasicCopySource implementation for DynamicsSource.
 77685  func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) {
 77686  	return nil, false
 77687  }
 77688  
 77689  // AsJiraSource is the BasicCopySource implementation for DynamicsSource.
 77690  func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) {
 77691  	return nil, false
 77692  }
 77693  
 77694  // AsImpalaSource is the BasicCopySource implementation for DynamicsSource.
 77695  func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) {
 77696  	return nil, false
 77697  }
 77698  
 77699  // AsHubspotSource is the BasicCopySource implementation for DynamicsSource.
 77700  func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) {
 77701  	return nil, false
 77702  }
 77703  
 77704  // AsHiveSource is the BasicCopySource implementation for DynamicsSource.
 77705  func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) {
 77706  	return nil, false
 77707  }
 77708  
 77709  // AsHBaseSource is the BasicCopySource implementation for DynamicsSource.
 77710  func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) {
 77711  	return nil, false
 77712  }
 77713  
 77714  // AsGreenplumSource is the BasicCopySource implementation for DynamicsSource.
 77715  func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) {
 77716  	return nil, false
 77717  }
 77718  
 77719  // AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource.
 77720  func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 77721  	return nil, false
 77722  }
 77723  
 77724  // AsEloquaSource is the BasicCopySource implementation for DynamicsSource.
 77725  func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) {
 77726  	return nil, false
 77727  }
 77728  
 77729  // AsDrillSource is the BasicCopySource implementation for DynamicsSource.
 77730  func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) {
 77731  	return nil, false
 77732  }
 77733  
 77734  // AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource.
 77735  func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 77736  	return nil, false
 77737  }
 77738  
 77739  // AsConcurSource is the BasicCopySource implementation for DynamicsSource.
 77740  func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) {
 77741  	return nil, false
 77742  }
 77743  
 77744  // AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
 77745  func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 77746  	return nil, false
 77747  }
 77748  
 77749  // AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource.
 77750  func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 77751  	return nil, false
 77752  }
 77753  
 77754  // AsCassandraSource is the BasicCopySource implementation for DynamicsSource.
 77755  func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) {
 77756  	return nil, false
 77757  }
 77758  
 77759  // AsTeradataSource is the BasicCopySource implementation for DynamicsSource.
 77760  func (ds DynamicsSource) AsTeradataSource() (*TeradataSource, bool) {
 77761  	return nil, false
 77762  }
 77763  
 77764  // AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource.
 77765  func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 77766  	return nil, false
 77767  }
 77768  
 77769  // AsSQLDWSource is the BasicCopySource implementation for DynamicsSource.
 77770  func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) {
 77771  	return nil, false
 77772  }
 77773  
 77774  // AsSQLMISource is the BasicCopySource implementation for DynamicsSource.
 77775  func (ds DynamicsSource) AsSQLMISource() (*SQLMISource, bool) {
 77776  	return nil, false
 77777  }
 77778  
 77779  // AsAzureSQLSource is the BasicCopySource implementation for DynamicsSource.
 77780  func (ds DynamicsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 77781  	return nil, false
 77782  }
 77783  
 77784  // AsSQLServerSource is the BasicCopySource implementation for DynamicsSource.
 77785  func (ds DynamicsSource) AsSQLServerSource() (*SQLServerSource, bool) {
 77786  	return nil, false
 77787  }
 77788  
 77789  // AsSQLSource is the BasicCopySource implementation for DynamicsSource.
 77790  func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) {
 77791  	return nil, false
 77792  }
 77793  
 77794  // AsSapTableSource is the BasicCopySource implementation for DynamicsSource.
 77795  func (ds DynamicsSource) AsSapTableSource() (*SapTableSource, bool) {
 77796  	return nil, false
 77797  }
 77798  
 77799  // AsSapOpenHubSource is the BasicCopySource implementation for DynamicsSource.
 77800  func (ds DynamicsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 77801  	return nil, false
 77802  }
 77803  
 77804  // AsSapHanaSource is the BasicCopySource implementation for DynamicsSource.
 77805  func (ds DynamicsSource) AsSapHanaSource() (*SapHanaSource, bool) {
 77806  	return nil, false
 77807  }
 77808  
 77809  // AsSapEccSource is the BasicCopySource implementation for DynamicsSource.
 77810  func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) {
 77811  	return nil, false
 77812  }
 77813  
 77814  // AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource.
 77815  func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 77816  	return nil, false
 77817  }
 77818  
 77819  // AsSalesforceSource is the BasicCopySource implementation for DynamicsSource.
 77820  func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) {
 77821  	return nil, false
 77822  }
 77823  
 77824  // AsSapBwSource is the BasicCopySource implementation for DynamicsSource.
 77825  func (ds DynamicsSource) AsSapBwSource() (*SapBwSource, bool) {
 77826  	return nil, false
 77827  }
 77828  
 77829  // AsSybaseSource is the BasicCopySource implementation for DynamicsSource.
 77830  func (ds DynamicsSource) AsSybaseSource() (*SybaseSource, bool) {
 77831  	return nil, false
 77832  }
 77833  
 77834  // AsPostgreSQLSource is the BasicCopySource implementation for DynamicsSource.
 77835  func (ds DynamicsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 77836  	return nil, false
 77837  }
 77838  
 77839  // AsMySQLSource is the BasicCopySource implementation for DynamicsSource.
 77840  func (ds DynamicsSource) AsMySQLSource() (*MySQLSource, bool) {
 77841  	return nil, false
 77842  }
 77843  
 77844  // AsOdbcSource is the BasicCopySource implementation for DynamicsSource.
 77845  func (ds DynamicsSource) AsOdbcSource() (*OdbcSource, bool) {
 77846  	return nil, false
 77847  }
 77848  
 77849  // AsDb2Source is the BasicCopySource implementation for DynamicsSource.
 77850  func (ds DynamicsSource) AsDb2Source() (*Db2Source, bool) {
 77851  	return nil, false
 77852  }
 77853  
 77854  // AsInformixSource is the BasicCopySource implementation for DynamicsSource.
 77855  func (ds DynamicsSource) AsInformixSource() (*InformixSource, bool) {
 77856  	return nil, false
 77857  }
 77858  
 77859  // AsAzureTableSource is the BasicCopySource implementation for DynamicsSource.
 77860  func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) {
 77861  	return nil, false
 77862  }
 77863  
 77864  // AsTabularSource is the BasicCopySource implementation for DynamicsSource.
 77865  func (ds DynamicsSource) AsTabularSource() (*TabularSource, bool) {
 77866  	return nil, false
 77867  }
 77868  
 77869  // AsBasicTabularSource is the BasicCopySource implementation for DynamicsSource.
 77870  func (ds DynamicsSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 77871  	return nil, false
 77872  }
 77873  
 77874  // AsBinarySource is the BasicCopySource implementation for DynamicsSource.
 77875  func (ds DynamicsSource) AsBinarySource() (*BinarySource, bool) {
 77876  	return nil, false
 77877  }
 77878  
 77879  // AsOrcSource is the BasicCopySource implementation for DynamicsSource.
 77880  func (ds DynamicsSource) AsOrcSource() (*OrcSource, bool) {
 77881  	return nil, false
 77882  }
 77883  
 77884  // AsJSONSource is the BasicCopySource implementation for DynamicsSource.
 77885  func (ds DynamicsSource) AsJSONSource() (*JSONSource, bool) {
 77886  	return nil, false
 77887  }
 77888  
 77889  // AsDelimitedTextSource is the BasicCopySource implementation for DynamicsSource.
 77890  func (ds DynamicsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 77891  	return nil, false
 77892  }
 77893  
 77894  // AsParquetSource is the BasicCopySource implementation for DynamicsSource.
 77895  func (ds DynamicsSource) AsParquetSource() (*ParquetSource, bool) {
 77896  	return nil, false
 77897  }
 77898  
 77899  // AsAvroSource is the BasicCopySource implementation for DynamicsSource.
 77900  func (ds DynamicsSource) AsAvroSource() (*AvroSource, bool) {
 77901  	return nil, false
 77902  }
 77903  
 77904  // AsCopySource is the BasicCopySource implementation for DynamicsSource.
 77905  func (ds DynamicsSource) AsCopySource() (*CopySource, bool) {
 77906  	return nil, false
 77907  }
 77908  
 77909  // AsBasicCopySource is the BasicCopySource implementation for DynamicsSource.
 77910  func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) {
 77911  	return &ds, true
 77912  }
 77913  
 77914  // UnmarshalJSON is the custom unmarshaler for DynamicsSource struct.
 77915  func (ds *DynamicsSource) UnmarshalJSON(body []byte) error {
 77916  	var m map[string]*json.RawMessage
 77917  	err := json.Unmarshal(body, &m)
 77918  	if err != nil {
 77919  		return err
 77920  	}
 77921  	for k, v := range m {
 77922  		switch k {
 77923  		case "query":
 77924  			if v != nil {
 77925  				var query interface{}
 77926  				err = json.Unmarshal(*v, &query)
 77927  				if err != nil {
 77928  					return err
 77929  				}
 77930  				ds.Query = query
 77931  			}
 77932  		default:
 77933  			if v != nil {
 77934  				var additionalProperties interface{}
 77935  				err = json.Unmarshal(*v, &additionalProperties)
 77936  				if err != nil {
 77937  					return err
 77938  				}
 77939  				if ds.AdditionalProperties == nil {
 77940  					ds.AdditionalProperties = make(map[string]interface{})
 77941  				}
 77942  				ds.AdditionalProperties[k] = additionalProperties
 77943  			}
 77944  		case "sourceRetryCount":
 77945  			if v != nil {
 77946  				var sourceRetryCount interface{}
 77947  				err = json.Unmarshal(*v, &sourceRetryCount)
 77948  				if err != nil {
 77949  					return err
 77950  				}
 77951  				ds.SourceRetryCount = sourceRetryCount
 77952  			}
 77953  		case "sourceRetryWait":
 77954  			if v != nil {
 77955  				var sourceRetryWait interface{}
 77956  				err = json.Unmarshal(*v, &sourceRetryWait)
 77957  				if err != nil {
 77958  					return err
 77959  				}
 77960  				ds.SourceRetryWait = sourceRetryWait
 77961  			}
 77962  		case "maxConcurrentConnections":
 77963  			if v != nil {
 77964  				var maxConcurrentConnections interface{}
 77965  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 77966  				if err != nil {
 77967  					return err
 77968  				}
 77969  				ds.MaxConcurrentConnections = maxConcurrentConnections
 77970  			}
 77971  		case "type":
 77972  			if v != nil {
 77973  				var typeVar TypeBasicCopySource
 77974  				err = json.Unmarshal(*v, &typeVar)
 77975  				if err != nil {
 77976  					return err
 77977  				}
 77978  				ds.Type = typeVar
 77979  			}
 77980  		}
 77981  	}
 77982  
 77983  	return nil
 77984  }
 77985  
 77986  // EloquaLinkedService eloqua server linked service.
 77987  type EloquaLinkedService struct {
 77988  	// EloquaLinkedServiceTypeProperties - Eloqua server linked service properties.
 77989  	*EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 77990  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 77991  	AdditionalProperties map[string]interface{} `json:""`
 77992  	// ConnectVia - The integration runtime reference.
 77993  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 77994  	// Description - Linked service description.
 77995  	Description *string `json:"description,omitempty"`
 77996  	// Parameters - Parameters for linked service.
 77997  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 77998  	// Annotations - List of tags that can be used for describing the linked service.
 77999  	Annotations *[]interface{} `json:"annotations,omitempty"`
 78000  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 78001  	Type TypeBasicLinkedService `json:"type,omitempty"`
 78002  }
 78003  
 78004  // MarshalJSON is the custom marshaler for EloquaLinkedService.
 78005  func (els EloquaLinkedService) MarshalJSON() ([]byte, error) {
 78006  	els.Type = TypeEloqua
 78007  	objectMap := make(map[string]interface{})
 78008  	if els.EloquaLinkedServiceTypeProperties != nil {
 78009  		objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties
 78010  	}
 78011  	if els.ConnectVia != nil {
 78012  		objectMap["connectVia"] = els.ConnectVia
 78013  	}
 78014  	if els.Description != nil {
 78015  		objectMap["description"] = els.Description
 78016  	}
 78017  	if els.Parameters != nil {
 78018  		objectMap["parameters"] = els.Parameters
 78019  	}
 78020  	if els.Annotations != nil {
 78021  		objectMap["annotations"] = els.Annotations
 78022  	}
 78023  	if els.Type != "" {
 78024  		objectMap["type"] = els.Type
 78025  	}
 78026  	for k, v := range els.AdditionalProperties {
 78027  		objectMap[k] = v
 78028  	}
 78029  	return json.Marshal(objectMap)
 78030  }
 78031  
 78032  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78033  func (els EloquaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 78034  	return nil, false
 78035  }
 78036  
 78037  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78038  func (els EloquaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 78039  	return nil, false
 78040  }
 78041  
 78042  // AsSapTableLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78043  func (els EloquaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 78044  	return nil, false
 78045  }
 78046  
 78047  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78048  func (els EloquaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 78049  	return nil, false
 78050  }
 78051  
 78052  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78053  func (els EloquaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 78054  	return nil, false
 78055  }
 78056  
 78057  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78058  func (els EloquaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 78059  	return nil, false
 78060  }
 78061  
 78062  // AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78063  func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 78064  	return nil, false
 78065  }
 78066  
 78067  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78068  func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 78069  	return nil, false
 78070  }
 78071  
 78072  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78073  func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 78074  	return nil, false
 78075  }
 78076  
 78077  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78078  func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 78079  	return nil, false
 78080  }
 78081  
 78082  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78083  func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 78084  	return nil, false
 78085  }
 78086  
 78087  // AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78088  func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 78089  	return nil, false
 78090  }
 78091  
 78092  // AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78093  func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 78094  	return nil, false
 78095  }
 78096  
 78097  // AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78098  func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 78099  	return nil, false
 78100  }
 78101  
 78102  // AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78103  func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 78104  	return nil, false
 78105  }
 78106  
 78107  // AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78108  func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 78109  	return nil, false
 78110  }
 78111  
 78112  // AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78113  func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 78114  	return nil, false
 78115  }
 78116  
 78117  // AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78118  func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 78119  	return nil, false
 78120  }
 78121  
 78122  // AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78123  func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 78124  	return nil, false
 78125  }
 78126  
 78127  // AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78128  func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 78129  	return nil, false
 78130  }
 78131  
 78132  // AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78133  func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 78134  	return nil, false
 78135  }
 78136  
 78137  // AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78138  func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 78139  	return nil, false
 78140  }
 78141  
 78142  // AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78143  func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 78144  	return nil, false
 78145  }
 78146  
 78147  // AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78148  func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 78149  	return nil, false
 78150  }
 78151  
 78152  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78153  func (els EloquaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 78154  	return nil, false
 78155  }
 78156  
 78157  // AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78158  func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 78159  	return nil, false
 78160  }
 78161  
 78162  // AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78163  func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 78164  	return nil, false
 78165  }
 78166  
 78167  // AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78168  func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 78169  	return nil, false
 78170  }
 78171  
 78172  // AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78173  func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 78174  	return nil, false
 78175  }
 78176  
 78177  // AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78178  func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 78179  	return nil, false
 78180  }
 78181  
 78182  // AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78183  func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 78184  	return nil, false
 78185  }
 78186  
 78187  // AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78188  func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 78189  	return nil, false
 78190  }
 78191  
 78192  // AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78193  func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 78194  	return nil, false
 78195  }
 78196  
 78197  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78198  func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 78199  	return nil, false
 78200  }
 78201  
 78202  // AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78203  func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 78204  	return &els, true
 78205  }
 78206  
 78207  // AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78208  func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 78209  	return nil, false
 78210  }
 78211  
 78212  // AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78213  func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 78214  	return nil, false
 78215  }
 78216  
 78217  // AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78218  func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 78219  	return nil, false
 78220  }
 78221  
 78222  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78223  func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 78224  	return nil, false
 78225  }
 78226  
 78227  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78228  func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 78229  	return nil, false
 78230  }
 78231  
 78232  // AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78233  func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 78234  	return nil, false
 78235  }
 78236  
 78237  // AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78238  func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 78239  	return nil, false
 78240  }
 78241  
 78242  // AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78243  func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 78244  	return nil, false
 78245  }
 78246  
 78247  // AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78248  func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 78249  	return nil, false
 78250  }
 78251  
 78252  // AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78253  func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 78254  	return nil, false
 78255  }
 78256  
 78257  // AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78258  func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 78259  	return nil, false
 78260  }
 78261  
 78262  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78263  func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 78264  	return nil, false
 78265  }
 78266  
 78267  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78268  func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 78269  	return nil, false
 78270  }
 78271  
 78272  // AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78273  func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 78274  	return nil, false
 78275  }
 78276  
 78277  // AsRestServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78278  func (els EloquaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 78279  	return nil, false
 78280  }
 78281  
 78282  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78283  func (els EloquaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 78284  	return nil, false
 78285  }
 78286  
 78287  // AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78288  func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 78289  	return nil, false
 78290  }
 78291  
 78292  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78293  func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 78294  	return nil, false
 78295  }
 78296  
 78297  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78298  func (els EloquaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 78299  	return nil, false
 78300  }
 78301  
 78302  // AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78303  func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 78304  	return nil, false
 78305  }
 78306  
 78307  // AsOffice365LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78308  func (els EloquaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 78309  	return nil, false
 78310  }
 78311  
 78312  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78313  func (els EloquaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 78314  	return nil, false
 78315  }
 78316  
 78317  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78318  func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 78319  	return nil, false
 78320  }
 78321  
 78322  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78323  func (els EloquaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 78324  	return nil, false
 78325  }
 78326  
 78327  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78328  func (els EloquaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 78329  	return nil, false
 78330  }
 78331  
 78332  // AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78333  func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 78334  	return nil, false
 78335  }
 78336  
 78337  // AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78338  func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 78339  	return nil, false
 78340  }
 78341  
 78342  // AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78343  func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 78344  	return nil, false
 78345  }
 78346  
 78347  // AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78348  func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 78349  	return nil, false
 78350  }
 78351  
 78352  // AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78353  func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 78354  	return nil, false
 78355  }
 78356  
 78357  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78358  func (els EloquaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 78359  	return nil, false
 78360  }
 78361  
 78362  // AsInformixLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78363  func (els EloquaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 78364  	return nil, false
 78365  }
 78366  
 78367  // AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78368  func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 78369  	return nil, false
 78370  }
 78371  
 78372  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78373  func (els EloquaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 78374  	return nil, false
 78375  }
 78376  
 78377  // AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78378  func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 78379  	return nil, false
 78380  }
 78381  
 78382  // AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78383  func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 78384  	return nil, false
 78385  }
 78386  
 78387  // AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78388  func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 78389  	return nil, false
 78390  }
 78391  
 78392  // AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78393  func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 78394  	return nil, false
 78395  }
 78396  
 78397  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78398  func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 78399  	return nil, false
 78400  }
 78401  
 78402  // AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78403  func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 78404  	return nil, false
 78405  }
 78406  
 78407  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78408  func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 78409  	return nil, false
 78410  }
 78411  
 78412  // AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78413  func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 78414  	return nil, false
 78415  }
 78416  
 78417  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78418  func (els EloquaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 78419  	return nil, false
 78420  }
 78421  
 78422  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78423  func (els EloquaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 78424  	return nil, false
 78425  }
 78426  
 78427  // AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78428  func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 78429  	return nil, false
 78430  }
 78431  
 78432  // AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78433  func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 78434  	return nil, false
 78435  }
 78436  
 78437  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78438  func (els EloquaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 78439  	return nil, false
 78440  }
 78441  
 78442  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78443  func (els EloquaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 78444  	return nil, false
 78445  }
 78446  
 78447  // AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78448  func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 78449  	return nil, false
 78450  }
 78451  
 78452  // AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78453  func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 78454  	return nil, false
 78455  }
 78456  
 78457  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78458  func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 78459  	return nil, false
 78460  }
 78461  
 78462  // AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78463  func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 78464  	return nil, false
 78465  }
 78466  
 78467  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78468  func (els EloquaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 78469  	return nil, false
 78470  }
 78471  
 78472  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78473  func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 78474  	return nil, false
 78475  }
 78476  
 78477  // AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78478  func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 78479  	return nil, false
 78480  }
 78481  
 78482  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78483  func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 78484  	return nil, false
 78485  }
 78486  
 78487  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78488  func (els EloquaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 78489  	return nil, false
 78490  }
 78491  
 78492  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78493  func (els EloquaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 78494  	return nil, false
 78495  }
 78496  
 78497  // AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78498  func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 78499  	return nil, false
 78500  }
 78501  
 78502  // AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78503  func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) {
 78504  	return nil, false
 78505  }
 78506  
 78507  // AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService.
 78508  func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 78509  	return &els, true
 78510  }
 78511  
 78512  // UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct.
 78513  func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error {
 78514  	var m map[string]*json.RawMessage
 78515  	err := json.Unmarshal(body, &m)
 78516  	if err != nil {
 78517  		return err
 78518  	}
 78519  	for k, v := range m {
 78520  		switch k {
 78521  		case "typeProperties":
 78522  			if v != nil {
 78523  				var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties
 78524  				err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties)
 78525  				if err != nil {
 78526  					return err
 78527  				}
 78528  				els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties
 78529  			}
 78530  		default:
 78531  			if v != nil {
 78532  				var additionalProperties interface{}
 78533  				err = json.Unmarshal(*v, &additionalProperties)
 78534  				if err != nil {
 78535  					return err
 78536  				}
 78537  				if els.AdditionalProperties == nil {
 78538  					els.AdditionalProperties = make(map[string]interface{})
 78539  				}
 78540  				els.AdditionalProperties[k] = additionalProperties
 78541  			}
 78542  		case "connectVia":
 78543  			if v != nil {
 78544  				var connectVia IntegrationRuntimeReference
 78545  				err = json.Unmarshal(*v, &connectVia)
 78546  				if err != nil {
 78547  					return err
 78548  				}
 78549  				els.ConnectVia = &connectVia
 78550  			}
 78551  		case "description":
 78552  			if v != nil {
 78553  				var description string
 78554  				err = json.Unmarshal(*v, &description)
 78555  				if err != nil {
 78556  					return err
 78557  				}
 78558  				els.Description = &description
 78559  			}
 78560  		case "parameters":
 78561  			if v != nil {
 78562  				var parameters map[string]*ParameterSpecification
 78563  				err = json.Unmarshal(*v, &parameters)
 78564  				if err != nil {
 78565  					return err
 78566  				}
 78567  				els.Parameters = parameters
 78568  			}
 78569  		case "annotations":
 78570  			if v != nil {
 78571  				var annotations []interface{}
 78572  				err = json.Unmarshal(*v, &annotations)
 78573  				if err != nil {
 78574  					return err
 78575  				}
 78576  				els.Annotations = &annotations
 78577  			}
 78578  		case "type":
 78579  			if v != nil {
 78580  				var typeVar TypeBasicLinkedService
 78581  				err = json.Unmarshal(*v, &typeVar)
 78582  				if err != nil {
 78583  					return err
 78584  				}
 78585  				els.Type = typeVar
 78586  			}
 78587  		}
 78588  	}
 78589  
 78590  	return nil
 78591  }
 78592  
 78593  // EloquaLinkedServiceTypeProperties eloqua server linked service properties.
 78594  type EloquaLinkedServiceTypeProperties struct {
 78595  	// Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com)
 78596  	Endpoint interface{} `json:"endpoint,omitempty"`
 78597  	// Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice)
 78598  	Username interface{} `json:"username,omitempty"`
 78599  	// Password - The password corresponding to the user name.
 78600  	Password BasicSecretBase `json:"password,omitempty"`
 78601  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
 78602  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
 78603  	// 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.
 78604  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
 78605  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
 78606  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
 78607  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 78608  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 78609  }
 78610  
 78611  // UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct.
 78612  func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 78613  	var m map[string]*json.RawMessage
 78614  	err := json.Unmarshal(body, &m)
 78615  	if err != nil {
 78616  		return err
 78617  	}
 78618  	for k, v := range m {
 78619  		switch k {
 78620  		case "endpoint":
 78621  			if v != nil {
 78622  				var endpoint interface{}
 78623  				err = json.Unmarshal(*v, &endpoint)
 78624  				if err != nil {
 78625  					return err
 78626  				}
 78627  				elstp.Endpoint = endpoint
 78628  			}
 78629  		case "username":
 78630  			if v != nil {
 78631  				var username interface{}
 78632  				err = json.Unmarshal(*v, &username)
 78633  				if err != nil {
 78634  					return err
 78635  				}
 78636  				elstp.Username = username
 78637  			}
 78638  		case "password":
 78639  			if v != nil {
 78640  				password, err := unmarshalBasicSecretBase(*v)
 78641  				if err != nil {
 78642  					return err
 78643  				}
 78644  				elstp.Password = password
 78645  			}
 78646  		case "useEncryptedEndpoints":
 78647  			if v != nil {
 78648  				var useEncryptedEndpoints interface{}
 78649  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
 78650  				if err != nil {
 78651  					return err
 78652  				}
 78653  				elstp.UseEncryptedEndpoints = useEncryptedEndpoints
 78654  			}
 78655  		case "useHostVerification":
 78656  			if v != nil {
 78657  				var useHostVerification interface{}
 78658  				err = json.Unmarshal(*v, &useHostVerification)
 78659  				if err != nil {
 78660  					return err
 78661  				}
 78662  				elstp.UseHostVerification = useHostVerification
 78663  			}
 78664  		case "usePeerVerification":
 78665  			if v != nil {
 78666  				var usePeerVerification interface{}
 78667  				err = json.Unmarshal(*v, &usePeerVerification)
 78668  				if err != nil {
 78669  					return err
 78670  				}
 78671  				elstp.UsePeerVerification = usePeerVerification
 78672  			}
 78673  		case "encryptedCredential":
 78674  			if v != nil {
 78675  				var encryptedCredential interface{}
 78676  				err = json.Unmarshal(*v, &encryptedCredential)
 78677  				if err != nil {
 78678  					return err
 78679  				}
 78680  				elstp.EncryptedCredential = encryptedCredential
 78681  			}
 78682  		}
 78683  	}
 78684  
 78685  	return nil
 78686  }
 78687  
 78688  // EloquaObjectDataset eloqua server dataset.
 78689  type EloquaObjectDataset struct {
 78690  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 78691  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 78692  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 78693  	AdditionalProperties map[string]interface{} `json:""`
 78694  	// Description - Dataset description.
 78695  	Description *string `json:"description,omitempty"`
 78696  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 78697  	Structure interface{} `json:"structure,omitempty"`
 78698  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 78699  	Schema interface{} `json:"schema,omitempty"`
 78700  	// LinkedServiceName - Linked service reference.
 78701  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 78702  	// Parameters - Parameters for dataset.
 78703  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 78704  	// Annotations - List of tags that can be used for describing the Dataset.
 78705  	Annotations *[]interface{} `json:"annotations,omitempty"`
 78706  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 78707  	Folder *DatasetFolder `json:"folder,omitempty"`
 78708  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 78709  	Type TypeBasicDataset `json:"type,omitempty"`
 78710  }
 78711  
 78712  // MarshalJSON is the custom marshaler for EloquaObjectDataset.
 78713  func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) {
 78714  	eod.Type = TypeEloquaObject
 78715  	objectMap := make(map[string]interface{})
 78716  	if eod.GenericDatasetTypeProperties != nil {
 78717  		objectMap["typeProperties"] = eod.GenericDatasetTypeProperties
 78718  	}
 78719  	if eod.Description != nil {
 78720  		objectMap["description"] = eod.Description
 78721  	}
 78722  	if eod.Structure != nil {
 78723  		objectMap["structure"] = eod.Structure
 78724  	}
 78725  	if eod.Schema != nil {
 78726  		objectMap["schema"] = eod.Schema
 78727  	}
 78728  	if eod.LinkedServiceName != nil {
 78729  		objectMap["linkedServiceName"] = eod.LinkedServiceName
 78730  	}
 78731  	if eod.Parameters != nil {
 78732  		objectMap["parameters"] = eod.Parameters
 78733  	}
 78734  	if eod.Annotations != nil {
 78735  		objectMap["annotations"] = eod.Annotations
 78736  	}
 78737  	if eod.Folder != nil {
 78738  		objectMap["folder"] = eod.Folder
 78739  	}
 78740  	if eod.Type != "" {
 78741  		objectMap["type"] = eod.Type
 78742  	}
 78743  	for k, v := range eod.AdditionalProperties {
 78744  		objectMap[k] = v
 78745  	}
 78746  	return json.Marshal(objectMap)
 78747  }
 78748  
 78749  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78750  func (eod EloquaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 78751  	return nil, false
 78752  }
 78753  
 78754  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78755  func (eod EloquaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 78756  	return nil, false
 78757  }
 78758  
 78759  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78760  func (eod EloquaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 78761  	return nil, false
 78762  }
 78763  
 78764  // AsDynamicsAXResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 78765  func (eod EloquaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 78766  	return nil, false
 78767  }
 78768  
 78769  // AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78770  func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 78771  	return nil, false
 78772  }
 78773  
 78774  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78775  func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 78776  	return nil, false
 78777  }
 78778  
 78779  // AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78780  func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 78781  	return nil, false
 78782  }
 78783  
 78784  // AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78785  func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 78786  	return nil, false
 78787  }
 78788  
 78789  // AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78790  func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 78791  	return nil, false
 78792  }
 78793  
 78794  // AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78795  func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 78796  	return nil, false
 78797  }
 78798  
 78799  // AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78800  func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 78801  	return nil, false
 78802  }
 78803  
 78804  // AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78805  func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 78806  	return nil, false
 78807  }
 78808  
 78809  // AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78810  func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 78811  	return nil, false
 78812  }
 78813  
 78814  // AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78815  func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 78816  	return nil, false
 78817  }
 78818  
 78819  // AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78820  func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 78821  	return nil, false
 78822  }
 78823  
 78824  // AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78825  func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 78826  	return nil, false
 78827  }
 78828  
 78829  // AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78830  func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 78831  	return nil, false
 78832  }
 78833  
 78834  // AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78835  func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 78836  	return nil, false
 78837  }
 78838  
 78839  // AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78840  func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 78841  	return nil, false
 78842  }
 78843  
 78844  // AsAzureMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78845  func (eod EloquaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 78846  	return nil, false
 78847  }
 78848  
 78849  // AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78850  func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 78851  	return nil, false
 78852  }
 78853  
 78854  // AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78855  func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 78856  	return nil, false
 78857  }
 78858  
 78859  // AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78860  func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 78861  	return nil, false
 78862  }
 78863  
 78864  // AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78865  func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 78866  	return nil, false
 78867  }
 78868  
 78869  // AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78870  func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 78871  	return nil, false
 78872  }
 78873  
 78874  // AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78875  func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 78876  	return nil, false
 78877  }
 78878  
 78879  // AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78880  func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 78881  	return nil, false
 78882  }
 78883  
 78884  // AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78885  func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 78886  	return nil, false
 78887  }
 78888  
 78889  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78890  func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 78891  	return nil, false
 78892  }
 78893  
 78894  // AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78895  func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 78896  	return &eod, true
 78897  }
 78898  
 78899  // AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78900  func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 78901  	return nil, false
 78902  }
 78903  
 78904  // AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78905  func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 78906  	return nil, false
 78907  }
 78908  
 78909  // AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78910  func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 78911  	return nil, false
 78912  }
 78913  
 78914  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78915  func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 78916  	return nil, false
 78917  }
 78918  
 78919  // AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78920  func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 78921  	return nil, false
 78922  }
 78923  
 78924  // AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset.
 78925  func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 78926  	return nil, false
 78927  }
 78928  
 78929  // AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78930  func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 78931  	return nil, false
 78932  }
 78933  
 78934  // AsSapTableResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 78935  func (eod EloquaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 78936  	return nil, false
 78937  }
 78938  
 78939  // AsRestResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 78940  func (eod EloquaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 78941  	return nil, false
 78942  }
 78943  
 78944  // AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78945  func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 78946  	return nil, false
 78947  }
 78948  
 78949  // AsSapOpenHubTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78950  func (eod EloquaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 78951  	return nil, false
 78952  }
 78953  
 78954  // AsSapHanaTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78955  func (eod EloquaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 78956  	return nil, false
 78957  }
 78958  
 78959  // AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 78960  func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 78961  	return nil, false
 78962  }
 78963  
 78964  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 78965  func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 78966  	return nil, false
 78967  }
 78968  
 78969  // AsSapBwCubeDataset is the BasicDataset implementation for EloquaObjectDataset.
 78970  func (eod EloquaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 78971  	return nil, false
 78972  }
 78973  
 78974  // AsSybaseTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78975  func (eod EloquaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 78976  	return nil, false
 78977  }
 78978  
 78979  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78980  func (eod EloquaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 78981  	return nil, false
 78982  }
 78983  
 78984  // AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset.
 78985  func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 78986  	return nil, false
 78987  }
 78988  
 78989  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78990  func (eod EloquaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 78991  	return nil, false
 78992  }
 78993  
 78994  // AsPostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 78995  func (eod EloquaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 78996  	return nil, false
 78997  }
 78998  
 78999  // AsMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79000  func (eod EloquaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 79001  	return nil, false
 79002  }
 79003  
 79004  // AsOdbcTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79005  func (eod EloquaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 79006  	return nil, false
 79007  }
 79008  
 79009  // AsInformixTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79010  func (eod EloquaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 79011  	return nil, false
 79012  }
 79013  
 79014  // AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79015  func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 79016  	return nil, false
 79017  }
 79018  
 79019  // AsDb2TableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79020  func (eod EloquaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 79021  	return nil, false
 79022  }
 79023  
 79024  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79025  func (eod EloquaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 79026  	return nil, false
 79027  }
 79028  
 79029  // AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79030  func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 79031  	return nil, false
 79032  }
 79033  
 79034  // AsTeradataTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79035  func (eod EloquaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 79036  	return nil, false
 79037  }
 79038  
 79039  // AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79040  func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 79041  	return nil, false
 79042  }
 79043  
 79044  // AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset.
 79045  func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 79046  	return nil, false
 79047  }
 79048  
 79049  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
 79050  func (eod EloquaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 79051  	return nil, false
 79052  }
 79053  
 79054  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
 79055  func (eod EloquaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 79056  	return nil, false
 79057  }
 79058  
 79059  // AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
 79060  func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 79061  	return nil, false
 79062  }
 79063  
 79064  // AsOffice365Dataset is the BasicDataset implementation for EloquaObjectDataset.
 79065  func (eod EloquaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 79066  	return nil, false
 79067  }
 79068  
 79069  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
 79070  func (eod EloquaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 79071  	return nil, false
 79072  }
 79073  
 79074  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
 79075  func (eod EloquaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 79076  	return nil, false
 79077  }
 79078  
 79079  // AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset.
 79080  func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 79081  	return nil, false
 79082  }
 79083  
 79084  // AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
 79085  func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 79086  	return nil, false
 79087  }
 79088  
 79089  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset.
 79090  func (eod EloquaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 79091  	return nil, false
 79092  }
 79093  
 79094  // AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset.
 79095  func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
 79096  	return nil, false
 79097  }
 79098  
 79099  // AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79100  func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 79101  	return nil, false
 79102  }
 79103  
 79104  // AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79105  func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 79106  	return nil, false
 79107  }
 79108  
 79109  // AsAzureSQLMITableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79110  func (eod EloquaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 79111  	return nil, false
 79112  }
 79113  
 79114  // AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79115  func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 79116  	return nil, false
 79117  }
 79118  
 79119  // AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset.
 79120  func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 79121  	return nil, false
 79122  }
 79123  
 79124  // AsBinaryDataset is the BasicDataset implementation for EloquaObjectDataset.
 79125  func (eod EloquaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 79126  	return nil, false
 79127  }
 79128  
 79129  // AsOrcDataset is the BasicDataset implementation for EloquaObjectDataset.
 79130  func (eod EloquaObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
 79131  	return nil, false
 79132  }
 79133  
 79134  // AsJSONDataset is the BasicDataset implementation for EloquaObjectDataset.
 79135  func (eod EloquaObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
 79136  	return nil, false
 79137  }
 79138  
 79139  // AsDelimitedTextDataset is the BasicDataset implementation for EloquaObjectDataset.
 79140  func (eod EloquaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 79141  	return nil, false
 79142  }
 79143  
 79144  // AsParquetDataset is the BasicDataset implementation for EloquaObjectDataset.
 79145  func (eod EloquaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
 79146  	return nil, false
 79147  }
 79148  
 79149  // AsAvroDataset is the BasicDataset implementation for EloquaObjectDataset.
 79150  func (eod EloquaObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
 79151  	return nil, false
 79152  }
 79153  
 79154  // AsDataset is the BasicDataset implementation for EloquaObjectDataset.
 79155  func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) {
 79156  	return nil, false
 79157  }
 79158  
 79159  // AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset.
 79160  func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
 79161  	return &eod, true
 79162  }
 79163  
 79164  // UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct.
 79165  func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error {
 79166  	var m map[string]*json.RawMessage
 79167  	err := json.Unmarshal(body, &m)
 79168  	if err != nil {
 79169  		return err
 79170  	}
 79171  	for k, v := range m {
 79172  		switch k {
 79173  		case "typeProperties":
 79174  			if v != nil {
 79175  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 79176  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 79177  				if err != nil {
 79178  					return err
 79179  				}
 79180  				eod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 79181  			}
 79182  		default:
 79183  			if v != nil {
 79184  				var additionalProperties interface{}
 79185  				err = json.Unmarshal(*v, &additionalProperties)
 79186  				if err != nil {
 79187  					return err
 79188  				}
 79189  				if eod.AdditionalProperties == nil {
 79190  					eod.AdditionalProperties = make(map[string]interface{})
 79191  				}
 79192  				eod.AdditionalProperties[k] = additionalProperties
 79193  			}
 79194  		case "description":
 79195  			if v != nil {
 79196  				var description string
 79197  				err = json.Unmarshal(*v, &description)
 79198  				if err != nil {
 79199  					return err
 79200  				}
 79201  				eod.Description = &description
 79202  			}
 79203  		case "structure":
 79204  			if v != nil {
 79205  				var structure interface{}
 79206  				err = json.Unmarshal(*v, &structure)
 79207  				if err != nil {
 79208  					return err
 79209  				}
 79210  				eod.Structure = structure
 79211  			}
 79212  		case "schema":
 79213  			if v != nil {
 79214  				var schema interface{}
 79215  				err = json.Unmarshal(*v, &schema)
 79216  				if err != nil {
 79217  					return err
 79218  				}
 79219  				eod.Schema = schema
 79220  			}
 79221  		case "linkedServiceName":
 79222  			if v != nil {
 79223  				var linkedServiceName LinkedServiceReference
 79224  				err = json.Unmarshal(*v, &linkedServiceName)
 79225  				if err != nil {
 79226  					return err
 79227  				}
 79228  				eod.LinkedServiceName = &linkedServiceName
 79229  			}
 79230  		case "parameters":
 79231  			if v != nil {
 79232  				var parameters map[string]*ParameterSpecification
 79233  				err = json.Unmarshal(*v, &parameters)
 79234  				if err != nil {
 79235  					return err
 79236  				}
 79237  				eod.Parameters = parameters
 79238  			}
 79239  		case "annotations":
 79240  			if v != nil {
 79241  				var annotations []interface{}
 79242  				err = json.Unmarshal(*v, &annotations)
 79243  				if err != nil {
 79244  					return err
 79245  				}
 79246  				eod.Annotations = &annotations
 79247  			}
 79248  		case "folder":
 79249  			if v != nil {
 79250  				var folder DatasetFolder
 79251  				err = json.Unmarshal(*v, &folder)
 79252  				if err != nil {
 79253  					return err
 79254  				}
 79255  				eod.Folder = &folder
 79256  			}
 79257  		case "type":
 79258  			if v != nil {
 79259  				var typeVar TypeBasicDataset
 79260  				err = json.Unmarshal(*v, &typeVar)
 79261  				if err != nil {
 79262  					return err
 79263  				}
 79264  				eod.Type = typeVar
 79265  			}
 79266  		}
 79267  	}
 79268  
 79269  	return nil
 79270  }
 79271  
 79272  // EloquaSource a copy activity Eloqua server source.
 79273  type EloquaSource struct {
 79274  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 79275  	Query interface{} `json:"query,omitempty"`
 79276  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 79277  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 79278  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 79279  	AdditionalProperties map[string]interface{} `json:""`
 79280  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 79281  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 79282  	// 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])).
 79283  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 79284  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 79285  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 79286  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 79287  	Type TypeBasicCopySource `json:"type,omitempty"`
 79288  }
 79289  
 79290  // MarshalJSON is the custom marshaler for EloquaSource.
 79291  func (es EloquaSource) MarshalJSON() ([]byte, error) {
 79292  	es.Type = TypeEloquaSource
 79293  	objectMap := make(map[string]interface{})
 79294  	if es.Query != nil {
 79295  		objectMap["query"] = es.Query
 79296  	}
 79297  	if es.QueryTimeout != nil {
 79298  		objectMap["queryTimeout"] = es.QueryTimeout
 79299  	}
 79300  	if es.SourceRetryCount != nil {
 79301  		objectMap["sourceRetryCount"] = es.SourceRetryCount
 79302  	}
 79303  	if es.SourceRetryWait != nil {
 79304  		objectMap["sourceRetryWait"] = es.SourceRetryWait
 79305  	}
 79306  	if es.MaxConcurrentConnections != nil {
 79307  		objectMap["maxConcurrentConnections"] = es.MaxConcurrentConnections
 79308  	}
 79309  	if es.Type != "" {
 79310  		objectMap["type"] = es.Type
 79311  	}
 79312  	for k, v := range es.AdditionalProperties {
 79313  		objectMap[k] = v
 79314  	}
 79315  	return json.Marshal(objectMap)
 79316  }
 79317  
 79318  // AsHTTPSource is the BasicCopySource implementation for EloquaSource.
 79319  func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) {
 79320  	return nil, false
 79321  }
 79322  
 79323  // AsAzureBlobFSSource is the BasicCopySource implementation for EloquaSource.
 79324  func (es EloquaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 79325  	return nil, false
 79326  }
 79327  
 79328  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource.
 79329  func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 79330  	return nil, false
 79331  }
 79332  
 79333  // AsOffice365Source is the BasicCopySource implementation for EloquaSource.
 79334  func (es EloquaSource) AsOffice365Source() (*Office365Source, bool) {
 79335  	return nil, false
 79336  }
 79337  
 79338  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for EloquaSource.
 79339  func (es EloquaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 79340  	return nil, false
 79341  }
 79342  
 79343  // AsMongoDbV2Source is the BasicCopySource implementation for EloquaSource.
 79344  func (es EloquaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 79345  	return nil, false
 79346  }
 79347  
 79348  // AsMongoDbSource is the BasicCopySource implementation for EloquaSource.
 79349  func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) {
 79350  	return nil, false
 79351  }
 79352  
 79353  // AsWebSource is the BasicCopySource implementation for EloquaSource.
 79354  func (es EloquaSource) AsWebSource() (*WebSource, bool) {
 79355  	return nil, false
 79356  }
 79357  
 79358  // AsOracleSource is the BasicCopySource implementation for EloquaSource.
 79359  func (es EloquaSource) AsOracleSource() (*OracleSource, bool) {
 79360  	return nil, false
 79361  }
 79362  
 79363  // AsAzureDataExplorerSource is the BasicCopySource implementation for EloquaSource.
 79364  func (es EloquaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 79365  	return nil, false
 79366  }
 79367  
 79368  // AsHdfsSource is the BasicCopySource implementation for EloquaSource.
 79369  func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) {
 79370  	return nil, false
 79371  }
 79372  
 79373  // AsFileSystemSource is the BasicCopySource implementation for EloquaSource.
 79374  func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) {
 79375  	return nil, false
 79376  }
 79377  
 79378  // AsRestSource is the BasicCopySource implementation for EloquaSource.
 79379  func (es EloquaSource) AsRestSource() (*RestSource, bool) {
 79380  	return nil, false
 79381  }
 79382  
 79383  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for EloquaSource.
 79384  func (es EloquaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 79385  	return nil, false
 79386  }
 79387  
 79388  // AsODataSource is the BasicCopySource implementation for EloquaSource.
 79389  func (es EloquaSource) AsODataSource() (*ODataSource, bool) {
 79390  	return nil, false
 79391  }
 79392  
 79393  // AsMicrosoftAccessSource is the BasicCopySource implementation for EloquaSource.
 79394  func (es EloquaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 79395  	return nil, false
 79396  }
 79397  
 79398  // AsRelationalSource is the BasicCopySource implementation for EloquaSource.
 79399  func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) {
 79400  	return nil, false
 79401  }
 79402  
 79403  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for EloquaSource.
 79404  func (es EloquaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 79405  	return nil, false
 79406  }
 79407  
 79408  // AsDynamicsCrmSource is the BasicCopySource implementation for EloquaSource.
 79409  func (es EloquaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 79410  	return nil, false
 79411  }
 79412  
 79413  // AsDynamicsSource is the BasicCopySource implementation for EloquaSource.
 79414  func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) {
 79415  	return nil, false
 79416  }
 79417  
 79418  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for EloquaSource.
 79419  func (es EloquaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 79420  	return nil, false
 79421  }
 79422  
 79423  // AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource.
 79424  func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 79425  	return nil, false
 79426  }
 79427  
 79428  // AsBlobSource is the BasicCopySource implementation for EloquaSource.
 79429  func (es EloquaSource) AsBlobSource() (*BlobSource, bool) {
 79430  	return nil, false
 79431  }
 79432  
 79433  // AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource.
 79434  func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 79435  	return nil, false
 79436  }
 79437  
 79438  // AsGoogleAdWordsSource is the BasicCopySource implementation for EloquaSource.
 79439  func (es EloquaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 79440  	return nil, false
 79441  }
 79442  
 79443  // AsOracleServiceCloudSource is the BasicCopySource implementation for EloquaSource.
 79444  func (es EloquaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 79445  	return nil, false
 79446  }
 79447  
 79448  // AsDynamicsAXSource is the BasicCopySource implementation for EloquaSource.
 79449  func (es EloquaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 79450  	return nil, false
 79451  }
 79452  
 79453  // AsResponsysSource is the BasicCopySource implementation for EloquaSource.
 79454  func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) {
 79455  	return nil, false
 79456  }
 79457  
 79458  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource.
 79459  func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 79460  	return nil, false
 79461  }
 79462  
 79463  // AsVerticaSource is the BasicCopySource implementation for EloquaSource.
 79464  func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) {
 79465  	return nil, false
 79466  }
 79467  
 79468  // AsNetezzaSource is the BasicCopySource implementation for EloquaSource.
 79469  func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) {
 79470  	return nil, false
 79471  }
 79472  
 79473  // AsZohoSource is the BasicCopySource implementation for EloquaSource.
 79474  func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) {
 79475  	return nil, false
 79476  }
 79477  
 79478  // AsXeroSource is the BasicCopySource implementation for EloquaSource.
 79479  func (es EloquaSource) AsXeroSource() (*XeroSource, bool) {
 79480  	return nil, false
 79481  }
 79482  
 79483  // AsSquareSource is the BasicCopySource implementation for EloquaSource.
 79484  func (es EloquaSource) AsSquareSource() (*SquareSource, bool) {
 79485  	return nil, false
 79486  }
 79487  
 79488  // AsSparkSource is the BasicCopySource implementation for EloquaSource.
 79489  func (es EloquaSource) AsSparkSource() (*SparkSource, bool) {
 79490  	return nil, false
 79491  }
 79492  
 79493  // AsShopifySource is the BasicCopySource implementation for EloquaSource.
 79494  func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) {
 79495  	return nil, false
 79496  }
 79497  
 79498  // AsServiceNowSource is the BasicCopySource implementation for EloquaSource.
 79499  func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 79500  	return nil, false
 79501  }
 79502  
 79503  // AsQuickBooksSource is the BasicCopySource implementation for EloquaSource.
 79504  func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 79505  	return nil, false
 79506  }
 79507  
 79508  // AsPrestoSource is the BasicCopySource implementation for EloquaSource.
 79509  func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) {
 79510  	return nil, false
 79511  }
 79512  
 79513  // AsPhoenixSource is the BasicCopySource implementation for EloquaSource.
 79514  func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) {
 79515  	return nil, false
 79516  }
 79517  
 79518  // AsPaypalSource is the BasicCopySource implementation for EloquaSource.
 79519  func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) {
 79520  	return nil, false
 79521  }
 79522  
 79523  // AsMarketoSource is the BasicCopySource implementation for EloquaSource.
 79524  func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) {
 79525  	return nil, false
 79526  }
 79527  
 79528  // AsAzureMariaDBSource is the BasicCopySource implementation for EloquaSource.
 79529  func (es EloquaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 79530  	return nil, false
 79531  }
 79532  
 79533  // AsMariaDBSource is the BasicCopySource implementation for EloquaSource.
 79534  func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) {
 79535  	return nil, false
 79536  }
 79537  
 79538  // AsMagentoSource is the BasicCopySource implementation for EloquaSource.
 79539  func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) {
 79540  	return nil, false
 79541  }
 79542  
 79543  // AsJiraSource is the BasicCopySource implementation for EloquaSource.
 79544  func (es EloquaSource) AsJiraSource() (*JiraSource, bool) {
 79545  	return nil, false
 79546  }
 79547  
 79548  // AsImpalaSource is the BasicCopySource implementation for EloquaSource.
 79549  func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) {
 79550  	return nil, false
 79551  }
 79552  
 79553  // AsHubspotSource is the BasicCopySource implementation for EloquaSource.
 79554  func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) {
 79555  	return nil, false
 79556  }
 79557  
 79558  // AsHiveSource is the BasicCopySource implementation for EloquaSource.
 79559  func (es EloquaSource) AsHiveSource() (*HiveSource, bool) {
 79560  	return nil, false
 79561  }
 79562  
 79563  // AsHBaseSource is the BasicCopySource implementation for EloquaSource.
 79564  func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) {
 79565  	return nil, false
 79566  }
 79567  
 79568  // AsGreenplumSource is the BasicCopySource implementation for EloquaSource.
 79569  func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) {
 79570  	return nil, false
 79571  }
 79572  
 79573  // AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource.
 79574  func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 79575  	return nil, false
 79576  }
 79577  
 79578  // AsEloquaSource is the BasicCopySource implementation for EloquaSource.
 79579  func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) {
 79580  	return &es, true
 79581  }
 79582  
 79583  // AsDrillSource is the BasicCopySource implementation for EloquaSource.
 79584  func (es EloquaSource) AsDrillSource() (*DrillSource, bool) {
 79585  	return nil, false
 79586  }
 79587  
 79588  // AsCouchbaseSource is the BasicCopySource implementation for EloquaSource.
 79589  func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 79590  	return nil, false
 79591  }
 79592  
 79593  // AsConcurSource is the BasicCopySource implementation for EloquaSource.
 79594  func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) {
 79595  	return nil, false
 79596  }
 79597  
 79598  // AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource.
 79599  func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 79600  	return nil, false
 79601  }
 79602  
 79603  // AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource.
 79604  func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 79605  	return nil, false
 79606  }
 79607  
 79608  // AsCassandraSource is the BasicCopySource implementation for EloquaSource.
 79609  func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) {
 79610  	return nil, false
 79611  }
 79612  
 79613  // AsTeradataSource is the BasicCopySource implementation for EloquaSource.
 79614  func (es EloquaSource) AsTeradataSource() (*TeradataSource, bool) {
 79615  	return nil, false
 79616  }
 79617  
 79618  // AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource.
 79619  func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 79620  	return nil, false
 79621  }
 79622  
 79623  // AsSQLDWSource is the BasicCopySource implementation for EloquaSource.
 79624  func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) {
 79625  	return nil, false
 79626  }
 79627  
 79628  // AsSQLMISource is the BasicCopySource implementation for EloquaSource.
 79629  func (es EloquaSource) AsSQLMISource() (*SQLMISource, bool) {
 79630  	return nil, false
 79631  }
 79632  
 79633  // AsAzureSQLSource is the BasicCopySource implementation for EloquaSource.
 79634  func (es EloquaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 79635  	return nil, false
 79636  }
 79637  
 79638  // AsSQLServerSource is the BasicCopySource implementation for EloquaSource.
 79639  func (es EloquaSource) AsSQLServerSource() (*SQLServerSource, bool) {
 79640  	return nil, false
 79641  }
 79642  
 79643  // AsSQLSource is the BasicCopySource implementation for EloquaSource.
 79644  func (es EloquaSource) AsSQLSource() (*SQLSource, bool) {
 79645  	return nil, false
 79646  }
 79647  
 79648  // AsSapTableSource is the BasicCopySource implementation for EloquaSource.
 79649  func (es EloquaSource) AsSapTableSource() (*SapTableSource, bool) {
 79650  	return nil, false
 79651  }
 79652  
 79653  // AsSapOpenHubSource is the BasicCopySource implementation for EloquaSource.
 79654  func (es EloquaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 79655  	return nil, false
 79656  }
 79657  
 79658  // AsSapHanaSource is the BasicCopySource implementation for EloquaSource.
 79659  func (es EloquaSource) AsSapHanaSource() (*SapHanaSource, bool) {
 79660  	return nil, false
 79661  }
 79662  
 79663  // AsSapEccSource is the BasicCopySource implementation for EloquaSource.
 79664  func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) {
 79665  	return nil, false
 79666  }
 79667  
 79668  // AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource.
 79669  func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 79670  	return nil, false
 79671  }
 79672  
 79673  // AsSalesforceSource is the BasicCopySource implementation for EloquaSource.
 79674  func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) {
 79675  	return nil, false
 79676  }
 79677  
 79678  // AsSapBwSource is the BasicCopySource implementation for EloquaSource.
 79679  func (es EloquaSource) AsSapBwSource() (*SapBwSource, bool) {
 79680  	return nil, false
 79681  }
 79682  
 79683  // AsSybaseSource is the BasicCopySource implementation for EloquaSource.
 79684  func (es EloquaSource) AsSybaseSource() (*SybaseSource, bool) {
 79685  	return nil, false
 79686  }
 79687  
 79688  // AsPostgreSQLSource is the BasicCopySource implementation for EloquaSource.
 79689  func (es EloquaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 79690  	return nil, false
 79691  }
 79692  
 79693  // AsMySQLSource is the BasicCopySource implementation for EloquaSource.
 79694  func (es EloquaSource) AsMySQLSource() (*MySQLSource, bool) {
 79695  	return nil, false
 79696  }
 79697  
 79698  // AsOdbcSource is the BasicCopySource implementation for EloquaSource.
 79699  func (es EloquaSource) AsOdbcSource() (*OdbcSource, bool) {
 79700  	return nil, false
 79701  }
 79702  
 79703  // AsDb2Source is the BasicCopySource implementation for EloquaSource.
 79704  func (es EloquaSource) AsDb2Source() (*Db2Source, bool) {
 79705  	return nil, false
 79706  }
 79707  
 79708  // AsInformixSource is the BasicCopySource implementation for EloquaSource.
 79709  func (es EloquaSource) AsInformixSource() (*InformixSource, bool) {
 79710  	return nil, false
 79711  }
 79712  
 79713  // AsAzureTableSource is the BasicCopySource implementation for EloquaSource.
 79714  func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) {
 79715  	return nil, false
 79716  }
 79717  
 79718  // AsTabularSource is the BasicCopySource implementation for EloquaSource.
 79719  func (es EloquaSource) AsTabularSource() (*TabularSource, bool) {
 79720  	return nil, false
 79721  }
 79722  
 79723  // AsBasicTabularSource is the BasicCopySource implementation for EloquaSource.
 79724  func (es EloquaSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 79725  	return &es, true
 79726  }
 79727  
 79728  // AsBinarySource is the BasicCopySource implementation for EloquaSource.
 79729  func (es EloquaSource) AsBinarySource() (*BinarySource, bool) {
 79730  	return nil, false
 79731  }
 79732  
 79733  // AsOrcSource is the BasicCopySource implementation for EloquaSource.
 79734  func (es EloquaSource) AsOrcSource() (*OrcSource, bool) {
 79735  	return nil, false
 79736  }
 79737  
 79738  // AsJSONSource is the BasicCopySource implementation for EloquaSource.
 79739  func (es EloquaSource) AsJSONSource() (*JSONSource, bool) {
 79740  	return nil, false
 79741  }
 79742  
 79743  // AsDelimitedTextSource is the BasicCopySource implementation for EloquaSource.
 79744  func (es EloquaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 79745  	return nil, false
 79746  }
 79747  
 79748  // AsParquetSource is the BasicCopySource implementation for EloquaSource.
 79749  func (es EloquaSource) AsParquetSource() (*ParquetSource, bool) {
 79750  	return nil, false
 79751  }
 79752  
 79753  // AsAvroSource is the BasicCopySource implementation for EloquaSource.
 79754  func (es EloquaSource) AsAvroSource() (*AvroSource, bool) {
 79755  	return nil, false
 79756  }
 79757  
 79758  // AsCopySource is the BasicCopySource implementation for EloquaSource.
 79759  func (es EloquaSource) AsCopySource() (*CopySource, bool) {
 79760  	return nil, false
 79761  }
 79762  
 79763  // AsBasicCopySource is the BasicCopySource implementation for EloquaSource.
 79764  func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) {
 79765  	return &es, true
 79766  }
 79767  
 79768  // UnmarshalJSON is the custom unmarshaler for EloquaSource struct.
 79769  func (es *EloquaSource) UnmarshalJSON(body []byte) error {
 79770  	var m map[string]*json.RawMessage
 79771  	err := json.Unmarshal(body, &m)
 79772  	if err != nil {
 79773  		return err
 79774  	}
 79775  	for k, v := range m {
 79776  		switch k {
 79777  		case "query":
 79778  			if v != nil {
 79779  				var query interface{}
 79780  				err = json.Unmarshal(*v, &query)
 79781  				if err != nil {
 79782  					return err
 79783  				}
 79784  				es.Query = query
 79785  			}
 79786  		case "queryTimeout":
 79787  			if v != nil {
 79788  				var queryTimeout interface{}
 79789  				err = json.Unmarshal(*v, &queryTimeout)
 79790  				if err != nil {
 79791  					return err
 79792  				}
 79793  				es.QueryTimeout = queryTimeout
 79794  			}
 79795  		default:
 79796  			if v != nil {
 79797  				var additionalProperties interface{}
 79798  				err = json.Unmarshal(*v, &additionalProperties)
 79799  				if err != nil {
 79800  					return err
 79801  				}
 79802  				if es.AdditionalProperties == nil {
 79803  					es.AdditionalProperties = make(map[string]interface{})
 79804  				}
 79805  				es.AdditionalProperties[k] = additionalProperties
 79806  			}
 79807  		case "sourceRetryCount":
 79808  			if v != nil {
 79809  				var sourceRetryCount interface{}
 79810  				err = json.Unmarshal(*v, &sourceRetryCount)
 79811  				if err != nil {
 79812  					return err
 79813  				}
 79814  				es.SourceRetryCount = sourceRetryCount
 79815  			}
 79816  		case "sourceRetryWait":
 79817  			if v != nil {
 79818  				var sourceRetryWait interface{}
 79819  				err = json.Unmarshal(*v, &sourceRetryWait)
 79820  				if err != nil {
 79821  					return err
 79822  				}
 79823  				es.SourceRetryWait = sourceRetryWait
 79824  			}
 79825  		case "maxConcurrentConnections":
 79826  			if v != nil {
 79827  				var maxConcurrentConnections interface{}
 79828  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 79829  				if err != nil {
 79830  					return err
 79831  				}
 79832  				es.MaxConcurrentConnections = maxConcurrentConnections
 79833  			}
 79834  		case "type":
 79835  			if v != nil {
 79836  				var typeVar TypeBasicCopySource
 79837  				err = json.Unmarshal(*v, &typeVar)
 79838  				if err != nil {
 79839  					return err
 79840  				}
 79841  				es.Type = typeVar
 79842  			}
 79843  		}
 79844  	}
 79845  
 79846  	return nil
 79847  }
 79848  
 79849  // EncryptionDetails details of the encryption associated with the workspace
 79850  type EncryptionDetails struct {
 79851  	// DoubleEncryptionEnabled - READ-ONLY; Double Encryption enabled
 79852  	DoubleEncryptionEnabled *bool `json:"doubleEncryptionEnabled,omitempty"`
 79853  	// Cmk - Customer Managed Key Details
 79854  	Cmk *CustomerManagedKeyDetails `json:"cmk,omitempty"`
 79855  }
 79856  
 79857  // MarshalJSON is the custom marshaler for EncryptionDetails.
 79858  func (ed EncryptionDetails) MarshalJSON() ([]byte, error) {
 79859  	objectMap := make(map[string]interface{})
 79860  	if ed.Cmk != nil {
 79861  		objectMap["cmk"] = ed.Cmk
 79862  	}
 79863  	return json.Marshal(objectMap)
 79864  }
 79865  
 79866  // EntityReference the entity reference.
 79867  type EntityReference struct {
 79868  	// Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference'
 79869  	Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"`
 79870  	// ReferenceName - The name of this referenced entity.
 79871  	ReferenceName *string `json:"referenceName,omitempty"`
 79872  }
 79873  
 79874  // EnvironmentVariableSetup the custom setup of setting environment variable.
 79875  type EnvironmentVariableSetup struct {
 79876  	// EnvironmentVariableSetupTypeProperties - Add environment variable type properties.
 79877  	*EnvironmentVariableSetupTypeProperties `json:"typeProperties,omitempty"`
 79878  	// Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup'
 79879  	Type TypeBasicCustomSetupBase `json:"type,omitempty"`
 79880  }
 79881  
 79882  // MarshalJSON is the custom marshaler for EnvironmentVariableSetup.
 79883  func (evs EnvironmentVariableSetup) MarshalJSON() ([]byte, error) {
 79884  	evs.Type = TypeEnvironmentVariableSetup
 79885  	objectMap := make(map[string]interface{})
 79886  	if evs.EnvironmentVariableSetupTypeProperties != nil {
 79887  		objectMap["typeProperties"] = evs.EnvironmentVariableSetupTypeProperties
 79888  	}
 79889  	if evs.Type != "" {
 79890  		objectMap["type"] = evs.Type
 79891  	}
 79892  	return json.Marshal(objectMap)
 79893  }
 79894  
 79895  // AsComponentSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup.
 79896  func (evs EnvironmentVariableSetup) AsComponentSetup() (*ComponentSetup, bool) {
 79897  	return nil, false
 79898  }
 79899  
 79900  // AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup.
 79901  func (evs EnvironmentVariableSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) {
 79902  	return &evs, true
 79903  }
 79904  
 79905  // AsCmdkeySetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup.
 79906  func (evs EnvironmentVariableSetup) AsCmdkeySetup() (*CmdkeySetup, bool) {
 79907  	return nil, false
 79908  }
 79909  
 79910  // AsCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup.
 79911  func (evs EnvironmentVariableSetup) AsCustomSetupBase() (*CustomSetupBase, bool) {
 79912  	return nil, false
 79913  }
 79914  
 79915  // AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup.
 79916  func (evs EnvironmentVariableSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) {
 79917  	return &evs, true
 79918  }
 79919  
 79920  // UnmarshalJSON is the custom unmarshaler for EnvironmentVariableSetup struct.
 79921  func (evs *EnvironmentVariableSetup) UnmarshalJSON(body []byte) error {
 79922  	var m map[string]*json.RawMessage
 79923  	err := json.Unmarshal(body, &m)
 79924  	if err != nil {
 79925  		return err
 79926  	}
 79927  	for k, v := range m {
 79928  		switch k {
 79929  		case "typeProperties":
 79930  			if v != nil {
 79931  				var environmentVariableSetupTypeProperties EnvironmentVariableSetupTypeProperties
 79932  				err = json.Unmarshal(*v, &environmentVariableSetupTypeProperties)
 79933  				if err != nil {
 79934  					return err
 79935  				}
 79936  				evs.EnvironmentVariableSetupTypeProperties = &environmentVariableSetupTypeProperties
 79937  			}
 79938  		case "type":
 79939  			if v != nil {
 79940  				var typeVar TypeBasicCustomSetupBase
 79941  				err = json.Unmarshal(*v, &typeVar)
 79942  				if err != nil {
 79943  					return err
 79944  				}
 79945  				evs.Type = typeVar
 79946  			}
 79947  		}
 79948  	}
 79949  
 79950  	return nil
 79951  }
 79952  
 79953  // EnvironmentVariableSetupTypeProperties environment variable custom setup type properties.
 79954  type EnvironmentVariableSetupTypeProperties struct {
 79955  	// VariableName - The name of the environment variable.
 79956  	VariableName *string `json:"variableName,omitempty"`
 79957  	// VariableValue - The value of the environment variable.
 79958  	VariableValue *string `json:"variableValue,omitempty"`
 79959  }
 79960  
 79961  // ErrorAdditionalInfo the resource management error additional info.
 79962  type ErrorAdditionalInfo struct {
 79963  	// Type - READ-ONLY; The additional info type.
 79964  	Type *string `json:"type,omitempty"`
 79965  	// Info - READ-ONLY; The additional info.
 79966  	Info interface{} `json:"info,omitempty"`
 79967  }
 79968  
 79969  // MarshalJSON is the custom marshaler for ErrorAdditionalInfo.
 79970  func (eai ErrorAdditionalInfo) MarshalJSON() ([]byte, error) {
 79971  	objectMap := make(map[string]interface{})
 79972  	return json.Marshal(objectMap)
 79973  }
 79974  
 79975  // ErrorContract contains details when the response code indicates an error.
 79976  type ErrorContract struct {
 79977  	// Error - The error details.
 79978  	Error *ErrorResponse `json:"error,omitempty"`
 79979  }
 79980  
 79981  // ErrorResponse common error response for all Azure Resource Manager APIs to return error details for
 79982  // failed operations. (This also follows the OData error response format.)
 79983  type ErrorResponse struct {
 79984  	// Code - READ-ONLY; The error code.
 79985  	Code *string `json:"code,omitempty"`
 79986  	// Message - READ-ONLY; The error message.
 79987  	Message *string `json:"message,omitempty"`
 79988  	// Target - READ-ONLY; The error target.
 79989  	Target *string `json:"target,omitempty"`
 79990  	// Details - READ-ONLY; The error details.
 79991  	Details *[]ErrorResponse `json:"details,omitempty"`
 79992  	// AdditionalInfo - READ-ONLY; The error additional info.
 79993  	AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"`
 79994  }
 79995  
 79996  // MarshalJSON is the custom marshaler for ErrorResponse.
 79997  func (er ErrorResponse) MarshalJSON() ([]byte, error) {
 79998  	objectMap := make(map[string]interface{})
 79999  	return json.Marshal(objectMap)
 80000  }
 80001  
 80002  // EvaluateDataFlowExpressionRequest request body structure for data flow expression preview.
 80003  type EvaluateDataFlowExpressionRequest struct {
 80004  	// SessionID - The ID of data flow debug session.
 80005  	SessionID *string `json:"sessionId,omitempty"`
 80006  	// DataFlowName - The data flow which contains the debug session.
 80007  	DataFlowName *string `json:"dataFlowName,omitempty"`
 80008  	// StreamName - The output stream name.
 80009  	StreamName *string `json:"streamName,omitempty"`
 80010  	// RowLimits - The row limit for preview request.
 80011  	RowLimits *int32 `json:"rowLimits,omitempty"`
 80012  	// Expression - The expression for preview.
 80013  	Expression *string `json:"expression,omitempty"`
 80014  }
 80015  
 80016  // ExecuteDataFlowActivity execute data flow activity.
 80017  type ExecuteDataFlowActivity struct {
 80018  	// ExecuteDataFlowActivityTypeProperties - Execute data flow activity properties.
 80019  	*ExecuteDataFlowActivityTypeProperties `json:"typeProperties,omitempty"`
 80020  	// LinkedServiceName - Linked service reference.
 80021  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 80022  	// Policy - Activity policy.
 80023  	Policy *ActivityPolicy `json:"policy,omitempty"`
 80024  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 80025  	AdditionalProperties map[string]interface{} `json:""`
 80026  	// Name - Activity name.
 80027  	Name *string `json:"name,omitempty"`
 80028  	// Description - Activity description.
 80029  	Description *string `json:"description,omitempty"`
 80030  	// DependsOn - Activity depends on condition.
 80031  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 80032  	// UserProperties - Activity user properties.
 80033  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 80034  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 80035  	Type TypeBasicActivity `json:"type,omitempty"`
 80036  }
 80037  
 80038  // MarshalJSON is the custom marshaler for ExecuteDataFlowActivity.
 80039  func (edfa ExecuteDataFlowActivity) MarshalJSON() ([]byte, error) {
 80040  	edfa.Type = TypeExecuteDataFlow
 80041  	objectMap := make(map[string]interface{})
 80042  	if edfa.ExecuteDataFlowActivityTypeProperties != nil {
 80043  		objectMap["typeProperties"] = edfa.ExecuteDataFlowActivityTypeProperties
 80044  	}
 80045  	if edfa.LinkedServiceName != nil {
 80046  		objectMap["linkedServiceName"] = edfa.LinkedServiceName
 80047  	}
 80048  	if edfa.Policy != nil {
 80049  		objectMap["policy"] = edfa.Policy
 80050  	}
 80051  	if edfa.Name != nil {
 80052  		objectMap["name"] = edfa.Name
 80053  	}
 80054  	if edfa.Description != nil {
 80055  		objectMap["description"] = edfa.Description
 80056  	}
 80057  	if edfa.DependsOn != nil {
 80058  		objectMap["dependsOn"] = edfa.DependsOn
 80059  	}
 80060  	if edfa.UserProperties != nil {
 80061  		objectMap["userProperties"] = edfa.UserProperties
 80062  	}
 80063  	if edfa.Type != "" {
 80064  		objectMap["type"] = edfa.Type
 80065  	}
 80066  	for k, v := range edfa.AdditionalProperties {
 80067  		objectMap[k] = v
 80068  	}
 80069  	return json.Marshal(objectMap)
 80070  }
 80071  
 80072  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80073  func (edfa ExecuteDataFlowActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 80074  	return nil, false
 80075  }
 80076  
 80077  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80078  func (edfa ExecuteDataFlowActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 80079  	return nil, false
 80080  }
 80081  
 80082  // AsSynapseNotebookActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80083  func (edfa ExecuteDataFlowActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 80084  	return nil, false
 80085  }
 80086  
 80087  // AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80088  func (edfa ExecuteDataFlowActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 80089  	return &edfa, true
 80090  }
 80091  
 80092  // AsAzureFunctionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80093  func (edfa ExecuteDataFlowActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 80094  	return nil, false
 80095  }
 80096  
 80097  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80098  func (edfa ExecuteDataFlowActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 80099  	return nil, false
 80100  }
 80101  
 80102  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80103  func (edfa ExecuteDataFlowActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 80104  	return nil, false
 80105  }
 80106  
 80107  // AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80108  func (edfa ExecuteDataFlowActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 80109  	return nil, false
 80110  }
 80111  
 80112  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80113  func (edfa ExecuteDataFlowActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 80114  	return nil, false
 80115  }
 80116  
 80117  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80118  func (edfa ExecuteDataFlowActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 80119  	return nil, false
 80120  }
 80121  
 80122  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80123  func (edfa ExecuteDataFlowActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 80124  	return nil, false
 80125  }
 80126  
 80127  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80128  func (edfa ExecuteDataFlowActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 80129  	return nil, false
 80130  }
 80131  
 80132  // AsGetMetadataActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80133  func (edfa ExecuteDataFlowActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 80134  	return nil, false
 80135  }
 80136  
 80137  // AsWebActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80138  func (edfa ExecuteDataFlowActivity) AsWebActivity() (*WebActivity, bool) {
 80139  	return nil, false
 80140  }
 80141  
 80142  // AsLookupActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80143  func (edfa ExecuteDataFlowActivity) AsLookupActivity() (*LookupActivity, bool) {
 80144  	return nil, false
 80145  }
 80146  
 80147  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80148  func (edfa ExecuteDataFlowActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 80149  	return nil, false
 80150  }
 80151  
 80152  // AsDeleteActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80153  func (edfa ExecuteDataFlowActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 80154  	return nil, false
 80155  }
 80156  
 80157  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80158  func (edfa ExecuteDataFlowActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 80159  	return nil, false
 80160  }
 80161  
 80162  // AsCustomActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80163  func (edfa ExecuteDataFlowActivity) AsCustomActivity() (*CustomActivity, bool) {
 80164  	return nil, false
 80165  }
 80166  
 80167  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80168  func (edfa ExecuteDataFlowActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 80169  	return nil, false
 80170  }
 80171  
 80172  // AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80173  func (edfa ExecuteDataFlowActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 80174  	return nil, false
 80175  }
 80176  
 80177  // AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80178  func (edfa ExecuteDataFlowActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 80179  	return nil, false
 80180  }
 80181  
 80182  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80183  func (edfa ExecuteDataFlowActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 80184  	return nil, false
 80185  }
 80186  
 80187  // AsHDInsightPigActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80188  func (edfa ExecuteDataFlowActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 80189  	return nil, false
 80190  }
 80191  
 80192  // AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80193  func (edfa ExecuteDataFlowActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 80194  	return nil, false
 80195  }
 80196  
 80197  // AsCopyActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80198  func (edfa ExecuteDataFlowActivity) AsCopyActivity() (*CopyActivity, bool) {
 80199  	return nil, false
 80200  }
 80201  
 80202  // AsExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80203  func (edfa ExecuteDataFlowActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 80204  	return nil, false
 80205  }
 80206  
 80207  // AsBasicExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80208  func (edfa ExecuteDataFlowActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 80209  	return &edfa, true
 80210  }
 80211  
 80212  // AsWebHookActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80213  func (edfa ExecuteDataFlowActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 80214  	return nil, false
 80215  }
 80216  
 80217  // AsAppendVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80218  func (edfa ExecuteDataFlowActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 80219  	return nil, false
 80220  }
 80221  
 80222  // AsSetVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80223  func (edfa ExecuteDataFlowActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 80224  	return nil, false
 80225  }
 80226  
 80227  // AsFilterActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80228  func (edfa ExecuteDataFlowActivity) AsFilterActivity() (*FilterActivity, bool) {
 80229  	return nil, false
 80230  }
 80231  
 80232  // AsValidationActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80233  func (edfa ExecuteDataFlowActivity) AsValidationActivity() (*ValidationActivity, bool) {
 80234  	return nil, false
 80235  }
 80236  
 80237  // AsUntilActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80238  func (edfa ExecuteDataFlowActivity) AsUntilActivity() (*UntilActivity, bool) {
 80239  	return nil, false
 80240  }
 80241  
 80242  // AsWaitActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80243  func (edfa ExecuteDataFlowActivity) AsWaitActivity() (*WaitActivity, bool) {
 80244  	return nil, false
 80245  }
 80246  
 80247  // AsForEachActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80248  func (edfa ExecuteDataFlowActivity) AsForEachActivity() (*ForEachActivity, bool) {
 80249  	return nil, false
 80250  }
 80251  
 80252  // AsSwitchActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80253  func (edfa ExecuteDataFlowActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 80254  	return nil, false
 80255  }
 80256  
 80257  // AsIfConditionActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80258  func (edfa ExecuteDataFlowActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 80259  	return nil, false
 80260  }
 80261  
 80262  // AsExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80263  func (edfa ExecuteDataFlowActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 80264  	return nil, false
 80265  }
 80266  
 80267  // AsControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80268  func (edfa ExecuteDataFlowActivity) AsControlActivity() (*ControlActivity, bool) {
 80269  	return nil, false
 80270  }
 80271  
 80272  // AsBasicControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80273  func (edfa ExecuteDataFlowActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 80274  	return nil, false
 80275  }
 80276  
 80277  // AsActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80278  func (edfa ExecuteDataFlowActivity) AsActivity() (*Activity, bool) {
 80279  	return nil, false
 80280  }
 80281  
 80282  // AsBasicActivity is the BasicActivity implementation for ExecuteDataFlowActivity.
 80283  func (edfa ExecuteDataFlowActivity) AsBasicActivity() (BasicActivity, bool) {
 80284  	return &edfa, true
 80285  }
 80286  
 80287  // UnmarshalJSON is the custom unmarshaler for ExecuteDataFlowActivity struct.
 80288  func (edfa *ExecuteDataFlowActivity) UnmarshalJSON(body []byte) error {
 80289  	var m map[string]*json.RawMessage
 80290  	err := json.Unmarshal(body, &m)
 80291  	if err != nil {
 80292  		return err
 80293  	}
 80294  	for k, v := range m {
 80295  		switch k {
 80296  		case "typeProperties":
 80297  			if v != nil {
 80298  				var executeDataFlowActivityTypeProperties ExecuteDataFlowActivityTypeProperties
 80299  				err = json.Unmarshal(*v, &executeDataFlowActivityTypeProperties)
 80300  				if err != nil {
 80301  					return err
 80302  				}
 80303  				edfa.ExecuteDataFlowActivityTypeProperties = &executeDataFlowActivityTypeProperties
 80304  			}
 80305  		case "linkedServiceName":
 80306  			if v != nil {
 80307  				var linkedServiceName LinkedServiceReference
 80308  				err = json.Unmarshal(*v, &linkedServiceName)
 80309  				if err != nil {
 80310  					return err
 80311  				}
 80312  				edfa.LinkedServiceName = &linkedServiceName
 80313  			}
 80314  		case "policy":
 80315  			if v != nil {
 80316  				var policy ActivityPolicy
 80317  				err = json.Unmarshal(*v, &policy)
 80318  				if err != nil {
 80319  					return err
 80320  				}
 80321  				edfa.Policy = &policy
 80322  			}
 80323  		default:
 80324  			if v != nil {
 80325  				var additionalProperties interface{}
 80326  				err = json.Unmarshal(*v, &additionalProperties)
 80327  				if err != nil {
 80328  					return err
 80329  				}
 80330  				if edfa.AdditionalProperties == nil {
 80331  					edfa.AdditionalProperties = make(map[string]interface{})
 80332  				}
 80333  				edfa.AdditionalProperties[k] = additionalProperties
 80334  			}
 80335  		case "name":
 80336  			if v != nil {
 80337  				var name string
 80338  				err = json.Unmarshal(*v, &name)
 80339  				if err != nil {
 80340  					return err
 80341  				}
 80342  				edfa.Name = &name
 80343  			}
 80344  		case "description":
 80345  			if v != nil {
 80346  				var description string
 80347  				err = json.Unmarshal(*v, &description)
 80348  				if err != nil {
 80349  					return err
 80350  				}
 80351  				edfa.Description = &description
 80352  			}
 80353  		case "dependsOn":
 80354  			if v != nil {
 80355  				var dependsOn []ActivityDependency
 80356  				err = json.Unmarshal(*v, &dependsOn)
 80357  				if err != nil {
 80358  					return err
 80359  				}
 80360  				edfa.DependsOn = &dependsOn
 80361  			}
 80362  		case "userProperties":
 80363  			if v != nil {
 80364  				var userProperties []UserProperty
 80365  				err = json.Unmarshal(*v, &userProperties)
 80366  				if err != nil {
 80367  					return err
 80368  				}
 80369  				edfa.UserProperties = &userProperties
 80370  			}
 80371  		case "type":
 80372  			if v != nil {
 80373  				var typeVar TypeBasicActivity
 80374  				err = json.Unmarshal(*v, &typeVar)
 80375  				if err != nil {
 80376  					return err
 80377  				}
 80378  				edfa.Type = typeVar
 80379  			}
 80380  		}
 80381  	}
 80382  
 80383  	return nil
 80384  }
 80385  
 80386  // ExecuteDataFlowActivityTypeProperties execute data flow activity properties.
 80387  type ExecuteDataFlowActivityTypeProperties struct {
 80388  	// DataFlow - Data flow reference.
 80389  	DataFlow *DataFlowReference `json:"dataFlow,omitempty"`
 80390  	// Staging - Staging info for execute data flow activity.
 80391  	Staging *DataFlowStagingInfo `json:"staging,omitempty"`
 80392  	// IntegrationRuntime - The integration runtime reference.
 80393  	IntegrationRuntime *IntegrationRuntimeReference `json:"integrationRuntime,omitempty"`
 80394  	// Compute - Compute properties for data flow activity.
 80395  	Compute *ExecuteDataFlowActivityTypePropertiesCompute `json:"compute,omitempty"`
 80396  }
 80397  
 80398  // ExecuteDataFlowActivityTypePropertiesCompute compute properties for data flow activity.
 80399  type ExecuteDataFlowActivityTypePropertiesCompute struct {
 80400  	// ComputeType - Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized'
 80401  	ComputeType DataFlowComputeType `json:"computeType,omitempty"`
 80402  	// CoreCount - Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272.
 80403  	CoreCount *int32 `json:"coreCount,omitempty"`
 80404  }
 80405  
 80406  // ExecutePipelineActivity execute pipeline activity.
 80407  type ExecutePipelineActivity struct {
 80408  	// ExecutePipelineActivityTypeProperties - Execute pipeline activity properties.
 80409  	*ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"`
 80410  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 80411  	AdditionalProperties map[string]interface{} `json:""`
 80412  	// Name - Activity name.
 80413  	Name *string `json:"name,omitempty"`
 80414  	// Description - Activity description.
 80415  	Description *string `json:"description,omitempty"`
 80416  	// DependsOn - Activity depends on condition.
 80417  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 80418  	// UserProperties - Activity user properties.
 80419  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 80420  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 80421  	Type TypeBasicActivity `json:"type,omitempty"`
 80422  }
 80423  
 80424  // MarshalJSON is the custom marshaler for ExecutePipelineActivity.
 80425  func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) {
 80426  	epa.Type = TypeExecutePipeline
 80427  	objectMap := make(map[string]interface{})
 80428  	if epa.ExecutePipelineActivityTypeProperties != nil {
 80429  		objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties
 80430  	}
 80431  	if epa.Name != nil {
 80432  		objectMap["name"] = epa.Name
 80433  	}
 80434  	if epa.Description != nil {
 80435  		objectMap["description"] = epa.Description
 80436  	}
 80437  	if epa.DependsOn != nil {
 80438  		objectMap["dependsOn"] = epa.DependsOn
 80439  	}
 80440  	if epa.UserProperties != nil {
 80441  		objectMap["userProperties"] = epa.UserProperties
 80442  	}
 80443  	if epa.Type != "" {
 80444  		objectMap["type"] = epa.Type
 80445  	}
 80446  	for k, v := range epa.AdditionalProperties {
 80447  		objectMap[k] = v
 80448  	}
 80449  	return json.Marshal(objectMap)
 80450  }
 80451  
 80452  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80453  func (epa ExecutePipelineActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 80454  	return nil, false
 80455  }
 80456  
 80457  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80458  func (epa ExecutePipelineActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 80459  	return nil, false
 80460  }
 80461  
 80462  // AsSynapseNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80463  func (epa ExecutePipelineActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 80464  	return nil, false
 80465  }
 80466  
 80467  // AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80468  func (epa ExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 80469  	return nil, false
 80470  }
 80471  
 80472  // AsAzureFunctionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80473  func (epa ExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 80474  	return nil, false
 80475  }
 80476  
 80477  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80478  func (epa ExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 80479  	return nil, false
 80480  }
 80481  
 80482  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80483  func (epa ExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 80484  	return nil, false
 80485  }
 80486  
 80487  // AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80488  func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 80489  	return nil, false
 80490  }
 80491  
 80492  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80493  func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 80494  	return nil, false
 80495  }
 80496  
 80497  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80498  func (epa ExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 80499  	return nil, false
 80500  }
 80501  
 80502  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80503  func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 80504  	return nil, false
 80505  }
 80506  
 80507  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80508  func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 80509  	return nil, false
 80510  }
 80511  
 80512  // AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80513  func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 80514  	return nil, false
 80515  }
 80516  
 80517  // AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80518  func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) {
 80519  	return nil, false
 80520  }
 80521  
 80522  // AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80523  func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) {
 80524  	return nil, false
 80525  }
 80526  
 80527  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80528  func (epa ExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 80529  	return nil, false
 80530  }
 80531  
 80532  // AsDeleteActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80533  func (epa ExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 80534  	return nil, false
 80535  }
 80536  
 80537  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80538  func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 80539  	return nil, false
 80540  }
 80541  
 80542  // AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80543  func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) {
 80544  	return nil, false
 80545  }
 80546  
 80547  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80548  func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 80549  	return nil, false
 80550  }
 80551  
 80552  // AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80553  func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 80554  	return nil, false
 80555  }
 80556  
 80557  // AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80558  func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 80559  	return nil, false
 80560  }
 80561  
 80562  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80563  func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 80564  	return nil, false
 80565  }
 80566  
 80567  // AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80568  func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 80569  	return nil, false
 80570  }
 80571  
 80572  // AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80573  func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 80574  	return nil, false
 80575  }
 80576  
 80577  // AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80578  func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) {
 80579  	return nil, false
 80580  }
 80581  
 80582  // AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80583  func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 80584  	return nil, false
 80585  }
 80586  
 80587  // AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80588  func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 80589  	return nil, false
 80590  }
 80591  
 80592  // AsWebHookActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80593  func (epa ExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 80594  	return nil, false
 80595  }
 80596  
 80597  // AsAppendVariableActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80598  func (epa ExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 80599  	return nil, false
 80600  }
 80601  
 80602  // AsSetVariableActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80603  func (epa ExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 80604  	return nil, false
 80605  }
 80606  
 80607  // AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80608  func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) {
 80609  	return nil, false
 80610  }
 80611  
 80612  // AsValidationActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80613  func (epa ExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) {
 80614  	return nil, false
 80615  }
 80616  
 80617  // AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80618  func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) {
 80619  	return nil, false
 80620  }
 80621  
 80622  // AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80623  func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) {
 80624  	return nil, false
 80625  }
 80626  
 80627  // AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80628  func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) {
 80629  	return nil, false
 80630  }
 80631  
 80632  // AsSwitchActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80633  func (epa ExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 80634  	return nil, false
 80635  }
 80636  
 80637  // AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80638  func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 80639  	return nil, false
 80640  }
 80641  
 80642  // AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80643  func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 80644  	return &epa, true
 80645  }
 80646  
 80647  // AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80648  func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) {
 80649  	return nil, false
 80650  }
 80651  
 80652  // AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80653  func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 80654  	return &epa, true
 80655  }
 80656  
 80657  // AsActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80658  func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) {
 80659  	return nil, false
 80660  }
 80661  
 80662  // AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity.
 80663  func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) {
 80664  	return &epa, true
 80665  }
 80666  
 80667  // UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct.
 80668  func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error {
 80669  	var m map[string]*json.RawMessage
 80670  	err := json.Unmarshal(body, &m)
 80671  	if err != nil {
 80672  		return err
 80673  	}
 80674  	for k, v := range m {
 80675  		switch k {
 80676  		case "typeProperties":
 80677  			if v != nil {
 80678  				var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties
 80679  				err = json.Unmarshal(*v, &executePipelineActivityTypeProperties)
 80680  				if err != nil {
 80681  					return err
 80682  				}
 80683  				epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties
 80684  			}
 80685  		default:
 80686  			if v != nil {
 80687  				var additionalProperties interface{}
 80688  				err = json.Unmarshal(*v, &additionalProperties)
 80689  				if err != nil {
 80690  					return err
 80691  				}
 80692  				if epa.AdditionalProperties == nil {
 80693  					epa.AdditionalProperties = make(map[string]interface{})
 80694  				}
 80695  				epa.AdditionalProperties[k] = additionalProperties
 80696  			}
 80697  		case "name":
 80698  			if v != nil {
 80699  				var name string
 80700  				err = json.Unmarshal(*v, &name)
 80701  				if err != nil {
 80702  					return err
 80703  				}
 80704  				epa.Name = &name
 80705  			}
 80706  		case "description":
 80707  			if v != nil {
 80708  				var description string
 80709  				err = json.Unmarshal(*v, &description)
 80710  				if err != nil {
 80711  					return err
 80712  				}
 80713  				epa.Description = &description
 80714  			}
 80715  		case "dependsOn":
 80716  			if v != nil {
 80717  				var dependsOn []ActivityDependency
 80718  				err = json.Unmarshal(*v, &dependsOn)
 80719  				if err != nil {
 80720  					return err
 80721  				}
 80722  				epa.DependsOn = &dependsOn
 80723  			}
 80724  		case "userProperties":
 80725  			if v != nil {
 80726  				var userProperties []UserProperty
 80727  				err = json.Unmarshal(*v, &userProperties)
 80728  				if err != nil {
 80729  					return err
 80730  				}
 80731  				epa.UserProperties = &userProperties
 80732  			}
 80733  		case "type":
 80734  			if v != nil {
 80735  				var typeVar TypeBasicActivity
 80736  				err = json.Unmarshal(*v, &typeVar)
 80737  				if err != nil {
 80738  					return err
 80739  				}
 80740  				epa.Type = typeVar
 80741  			}
 80742  		}
 80743  	}
 80744  
 80745  	return nil
 80746  }
 80747  
 80748  // ExecutePipelineActivityTypeProperties execute pipeline activity properties.
 80749  type ExecutePipelineActivityTypeProperties struct {
 80750  	// Pipeline - Pipeline reference.
 80751  	Pipeline *PipelineReference `json:"pipeline,omitempty"`
 80752  	// Parameters - Pipeline parameters.
 80753  	Parameters map[string]interface{} `json:"parameters"`
 80754  	// WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
 80755  	WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"`
 80756  }
 80757  
 80758  // MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties.
 80759  func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) {
 80760  	objectMap := make(map[string]interface{})
 80761  	if epatp.Pipeline != nil {
 80762  		objectMap["pipeline"] = epatp.Pipeline
 80763  	}
 80764  	if epatp.Parameters != nil {
 80765  		objectMap["parameters"] = epatp.Parameters
 80766  	}
 80767  	if epatp.WaitOnCompletion != nil {
 80768  		objectMap["waitOnCompletion"] = epatp.WaitOnCompletion
 80769  	}
 80770  	return json.Marshal(objectMap)
 80771  }
 80772  
 80773  // ExecuteSSISPackageActivity execute SSIS package activity.
 80774  type ExecuteSSISPackageActivity struct {
 80775  	// ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties.
 80776  	*ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"`
 80777  	// LinkedServiceName - Linked service reference.
 80778  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 80779  	// Policy - Activity policy.
 80780  	Policy *ActivityPolicy `json:"policy,omitempty"`
 80781  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 80782  	AdditionalProperties map[string]interface{} `json:""`
 80783  	// Name - Activity name.
 80784  	Name *string `json:"name,omitempty"`
 80785  	// Description - Activity description.
 80786  	Description *string `json:"description,omitempty"`
 80787  	// DependsOn - Activity depends on condition.
 80788  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 80789  	// UserProperties - Activity user properties.
 80790  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 80791  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 80792  	Type TypeBasicActivity `json:"type,omitempty"`
 80793  }
 80794  
 80795  // MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity.
 80796  func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) {
 80797  	espa.Type = TypeExecuteSSISPackage
 80798  	objectMap := make(map[string]interface{})
 80799  	if espa.ExecuteSSISPackageActivityTypeProperties != nil {
 80800  		objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties
 80801  	}
 80802  	if espa.LinkedServiceName != nil {
 80803  		objectMap["linkedServiceName"] = espa.LinkedServiceName
 80804  	}
 80805  	if espa.Policy != nil {
 80806  		objectMap["policy"] = espa.Policy
 80807  	}
 80808  	if espa.Name != nil {
 80809  		objectMap["name"] = espa.Name
 80810  	}
 80811  	if espa.Description != nil {
 80812  		objectMap["description"] = espa.Description
 80813  	}
 80814  	if espa.DependsOn != nil {
 80815  		objectMap["dependsOn"] = espa.DependsOn
 80816  	}
 80817  	if espa.UserProperties != nil {
 80818  		objectMap["userProperties"] = espa.UserProperties
 80819  	}
 80820  	if espa.Type != "" {
 80821  		objectMap["type"] = espa.Type
 80822  	}
 80823  	for k, v := range espa.AdditionalProperties {
 80824  		objectMap[k] = v
 80825  	}
 80826  	return json.Marshal(objectMap)
 80827  }
 80828  
 80829  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80830  func (espa ExecuteSSISPackageActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 80831  	return nil, false
 80832  }
 80833  
 80834  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80835  func (espa ExecuteSSISPackageActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 80836  	return nil, false
 80837  }
 80838  
 80839  // AsSynapseNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80840  func (espa ExecuteSSISPackageActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 80841  	return nil, false
 80842  }
 80843  
 80844  // AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80845  func (espa ExecuteSSISPackageActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 80846  	return nil, false
 80847  }
 80848  
 80849  // AsAzureFunctionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80850  func (espa ExecuteSSISPackageActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 80851  	return nil, false
 80852  }
 80853  
 80854  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80855  func (espa ExecuteSSISPackageActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 80856  	return nil, false
 80857  }
 80858  
 80859  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80860  func (espa ExecuteSSISPackageActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 80861  	return nil, false
 80862  }
 80863  
 80864  // AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80865  func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 80866  	return nil, false
 80867  }
 80868  
 80869  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80870  func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 80871  	return nil, false
 80872  }
 80873  
 80874  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80875  func (espa ExecuteSSISPackageActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 80876  	return nil, false
 80877  }
 80878  
 80879  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80880  func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 80881  	return nil, false
 80882  }
 80883  
 80884  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80885  func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 80886  	return nil, false
 80887  }
 80888  
 80889  // AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80890  func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 80891  	return nil, false
 80892  }
 80893  
 80894  // AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80895  func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) {
 80896  	return nil, false
 80897  }
 80898  
 80899  // AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80900  func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) {
 80901  	return nil, false
 80902  }
 80903  
 80904  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80905  func (espa ExecuteSSISPackageActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 80906  	return nil, false
 80907  }
 80908  
 80909  // AsDeleteActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80910  func (espa ExecuteSSISPackageActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 80911  	return nil, false
 80912  }
 80913  
 80914  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80915  func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 80916  	return nil, false
 80917  }
 80918  
 80919  // AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80920  func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) {
 80921  	return nil, false
 80922  }
 80923  
 80924  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80925  func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 80926  	return &espa, true
 80927  }
 80928  
 80929  // AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80930  func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 80931  	return nil, false
 80932  }
 80933  
 80934  // AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80935  func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 80936  	return nil, false
 80937  }
 80938  
 80939  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80940  func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 80941  	return nil, false
 80942  }
 80943  
 80944  // AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80945  func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 80946  	return nil, false
 80947  }
 80948  
 80949  // AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80950  func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 80951  	return nil, false
 80952  }
 80953  
 80954  // AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80955  func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) {
 80956  	return nil, false
 80957  }
 80958  
 80959  // AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80960  func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 80961  	return nil, false
 80962  }
 80963  
 80964  // AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80965  func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 80966  	return &espa, true
 80967  }
 80968  
 80969  // AsWebHookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80970  func (espa ExecuteSSISPackageActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 80971  	return nil, false
 80972  }
 80973  
 80974  // AsAppendVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80975  func (espa ExecuteSSISPackageActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 80976  	return nil, false
 80977  }
 80978  
 80979  // AsSetVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80980  func (espa ExecuteSSISPackageActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 80981  	return nil, false
 80982  }
 80983  
 80984  // AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80985  func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) {
 80986  	return nil, false
 80987  }
 80988  
 80989  // AsValidationActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80990  func (espa ExecuteSSISPackageActivity) AsValidationActivity() (*ValidationActivity, bool) {
 80991  	return nil, false
 80992  }
 80993  
 80994  // AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 80995  func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) {
 80996  	return nil, false
 80997  }
 80998  
 80999  // AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81000  func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) {
 81001  	return nil, false
 81002  }
 81003  
 81004  // AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81005  func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) {
 81006  	return nil, false
 81007  }
 81008  
 81009  // AsSwitchActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81010  func (espa ExecuteSSISPackageActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 81011  	return nil, false
 81012  }
 81013  
 81014  // AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81015  func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 81016  	return nil, false
 81017  }
 81018  
 81019  // AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81020  func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 81021  	return nil, false
 81022  }
 81023  
 81024  // AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81025  func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) {
 81026  	return nil, false
 81027  }
 81028  
 81029  // AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81030  func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 81031  	return nil, false
 81032  }
 81033  
 81034  // AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81035  func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) {
 81036  	return nil, false
 81037  }
 81038  
 81039  // AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity.
 81040  func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) {
 81041  	return &espa, true
 81042  }
 81043  
 81044  // UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct.
 81045  func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error {
 81046  	var m map[string]*json.RawMessage
 81047  	err := json.Unmarshal(body, &m)
 81048  	if err != nil {
 81049  		return err
 81050  	}
 81051  	for k, v := range m {
 81052  		switch k {
 81053  		case "typeProperties":
 81054  			if v != nil {
 81055  				var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties
 81056  				err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties)
 81057  				if err != nil {
 81058  					return err
 81059  				}
 81060  				espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties
 81061  			}
 81062  		case "linkedServiceName":
 81063  			if v != nil {
 81064  				var linkedServiceName LinkedServiceReference
 81065  				err = json.Unmarshal(*v, &linkedServiceName)
 81066  				if err != nil {
 81067  					return err
 81068  				}
 81069  				espa.LinkedServiceName = &linkedServiceName
 81070  			}
 81071  		case "policy":
 81072  			if v != nil {
 81073  				var policy ActivityPolicy
 81074  				err = json.Unmarshal(*v, &policy)
 81075  				if err != nil {
 81076  					return err
 81077  				}
 81078  				espa.Policy = &policy
 81079  			}
 81080  		default:
 81081  			if v != nil {
 81082  				var additionalProperties interface{}
 81083  				err = json.Unmarshal(*v, &additionalProperties)
 81084  				if err != nil {
 81085  					return err
 81086  				}
 81087  				if espa.AdditionalProperties == nil {
 81088  					espa.AdditionalProperties = make(map[string]interface{})
 81089  				}
 81090  				espa.AdditionalProperties[k] = additionalProperties
 81091  			}
 81092  		case "name":
 81093  			if v != nil {
 81094  				var name string
 81095  				err = json.Unmarshal(*v, &name)
 81096  				if err != nil {
 81097  					return err
 81098  				}
 81099  				espa.Name = &name
 81100  			}
 81101  		case "description":
 81102  			if v != nil {
 81103  				var description string
 81104  				err = json.Unmarshal(*v, &description)
 81105  				if err != nil {
 81106  					return err
 81107  				}
 81108  				espa.Description = &description
 81109  			}
 81110  		case "dependsOn":
 81111  			if v != nil {
 81112  				var dependsOn []ActivityDependency
 81113  				err = json.Unmarshal(*v, &dependsOn)
 81114  				if err != nil {
 81115  					return err
 81116  				}
 81117  				espa.DependsOn = &dependsOn
 81118  			}
 81119  		case "userProperties":
 81120  			if v != nil {
 81121  				var userProperties []UserProperty
 81122  				err = json.Unmarshal(*v, &userProperties)
 81123  				if err != nil {
 81124  					return err
 81125  				}
 81126  				espa.UserProperties = &userProperties
 81127  			}
 81128  		case "type":
 81129  			if v != nil {
 81130  				var typeVar TypeBasicActivity
 81131  				err = json.Unmarshal(*v, &typeVar)
 81132  				if err != nil {
 81133  					return err
 81134  				}
 81135  				espa.Type = typeVar
 81136  			}
 81137  		}
 81138  	}
 81139  
 81140  	return nil
 81141  }
 81142  
 81143  // ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties.
 81144  type ExecuteSSISPackageActivityTypeProperties struct {
 81145  	// PackageLocation - SSIS package location.
 81146  	PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"`
 81147  	// Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
 81148  	Runtime interface{} `json:"runtime,omitempty"`
 81149  	// LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string).
 81150  	LoggingLevel interface{} `json:"loggingLevel,omitempty"`
 81151  	// EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string).
 81152  	EnvironmentPath interface{} `json:"environmentPath,omitempty"`
 81153  	// ExecutionCredential - The package execution credential.
 81154  	ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"`
 81155  	// ConnectVia - The integration runtime reference.
 81156  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 81157  	// ProjectParameters - The project level parameters to execute the SSIS package.
 81158  	ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"`
 81159  	// PackageParameters - The package level parameters to execute the SSIS package.
 81160  	PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"`
 81161  	// ProjectConnectionManagers - The project level connection managers to execute the SSIS package.
 81162  	ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"`
 81163  	// PackageConnectionManagers - The package level connection managers to execute the SSIS package.
 81164  	PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"`
 81165  	// PropertyOverrides - The property overrides to execute the SSIS package.
 81166  	PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"`
 81167  	// LogLocation - SSIS package execution log location.
 81168  	LogLocation *SSISLogLocation `json:"logLocation,omitempty"`
 81169  }
 81170  
 81171  // MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties.
 81172  func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) {
 81173  	objectMap := make(map[string]interface{})
 81174  	if espatp.PackageLocation != nil {
 81175  		objectMap["packageLocation"] = espatp.PackageLocation
 81176  	}
 81177  	if espatp.Runtime != nil {
 81178  		objectMap["runtime"] = espatp.Runtime
 81179  	}
 81180  	if espatp.LoggingLevel != nil {
 81181  		objectMap["loggingLevel"] = espatp.LoggingLevel
 81182  	}
 81183  	if espatp.EnvironmentPath != nil {
 81184  		objectMap["environmentPath"] = espatp.EnvironmentPath
 81185  	}
 81186  	if espatp.ExecutionCredential != nil {
 81187  		objectMap["executionCredential"] = espatp.ExecutionCredential
 81188  	}
 81189  	if espatp.ConnectVia != nil {
 81190  		objectMap["connectVia"] = espatp.ConnectVia
 81191  	}
 81192  	if espatp.ProjectParameters != nil {
 81193  		objectMap["projectParameters"] = espatp.ProjectParameters
 81194  	}
 81195  	if espatp.PackageParameters != nil {
 81196  		objectMap["packageParameters"] = espatp.PackageParameters
 81197  	}
 81198  	if espatp.ProjectConnectionManagers != nil {
 81199  		objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers
 81200  	}
 81201  	if espatp.PackageConnectionManagers != nil {
 81202  		objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers
 81203  	}
 81204  	if espatp.PropertyOverrides != nil {
 81205  		objectMap["propertyOverrides"] = espatp.PropertyOverrides
 81206  	}
 81207  	if espatp.LogLocation != nil {
 81208  		objectMap["logLocation"] = espatp.LogLocation
 81209  	}
 81210  	return json.Marshal(objectMap)
 81211  }
 81212  
 81213  // BasicExecutionActivity base class for all execution activities.
 81214  type BasicExecutionActivity interface {
 81215  	AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool)
 81216  	AsAzureFunctionActivity() (*AzureFunctionActivity, bool)
 81217  	AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool)
 81218  	AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool)
 81219  	AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool)
 81220  	AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool)
 81221  	AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool)
 81222  	AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool)
 81223  	AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool)
 81224  	AsGetMetadataActivity() (*GetMetadataActivity, bool)
 81225  	AsWebActivity() (*WebActivity, bool)
 81226  	AsLookupActivity() (*LookupActivity, bool)
 81227  	AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool)
 81228  	AsDeleteActivity() (*DeleteActivity, bool)
 81229  	AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool)
 81230  	AsCustomActivity() (*CustomActivity, bool)
 81231  	AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool)
 81232  	AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool)
 81233  	AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool)
 81234  	AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool)
 81235  	AsHDInsightPigActivity() (*HDInsightPigActivity, bool)
 81236  	AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool)
 81237  	AsCopyActivity() (*CopyActivity, bool)
 81238  	AsExecutionActivity() (*ExecutionActivity, bool)
 81239  }
 81240  
 81241  // ExecutionActivity base class for all execution activities.
 81242  type ExecutionActivity struct {
 81243  	// LinkedServiceName - Linked service reference.
 81244  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 81245  	// Policy - Activity policy.
 81246  	Policy *ActivityPolicy `json:"policy,omitempty"`
 81247  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 81248  	AdditionalProperties map[string]interface{} `json:""`
 81249  	// Name - Activity name.
 81250  	Name *string `json:"name,omitempty"`
 81251  	// Description - Activity description.
 81252  	Description *string `json:"description,omitempty"`
 81253  	// DependsOn - Activity depends on condition.
 81254  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 81255  	// UserProperties - Activity user properties.
 81256  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 81257  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 81258  	Type TypeBasicActivity `json:"type,omitempty"`
 81259  }
 81260  
 81261  func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) {
 81262  	var m map[string]interface{}
 81263  	err := json.Unmarshal(body, &m)
 81264  	if err != nil {
 81265  		return nil, err
 81266  	}
 81267  
 81268  	switch m["type"] {
 81269  	case string(TypeExecuteDataFlow):
 81270  		var edfa ExecuteDataFlowActivity
 81271  		err := json.Unmarshal(body, &edfa)
 81272  		return edfa, err
 81273  	case string(TypeAzureFunctionActivity):
 81274  		var afa AzureFunctionActivity
 81275  		err := json.Unmarshal(body, &afa)
 81276  		return afa, err
 81277  	case string(TypeDatabricksSparkPython):
 81278  		var dspa DatabricksSparkPythonActivity
 81279  		err := json.Unmarshal(body, &dspa)
 81280  		return dspa, err
 81281  	case string(TypeDatabricksSparkJar):
 81282  		var dsja DatabricksSparkJarActivity
 81283  		err := json.Unmarshal(body, &dsja)
 81284  		return dsja, err
 81285  	case string(TypeDatabricksNotebook):
 81286  		var dna DatabricksNotebookActivity
 81287  		err := json.Unmarshal(body, &dna)
 81288  		return dna, err
 81289  	case string(TypeDataLakeAnalyticsUSQL):
 81290  		var dlaua DataLakeAnalyticsUSQLActivity
 81291  		err := json.Unmarshal(body, &dlaua)
 81292  		return dlaua, err
 81293  	case string(TypeAzureMLExecutePipeline):
 81294  		var amepa AzureMLExecutePipelineActivity
 81295  		err := json.Unmarshal(body, &amepa)
 81296  		return amepa, err
 81297  	case string(TypeAzureMLUpdateResource):
 81298  		var amura AzureMLUpdateResourceActivity
 81299  		err := json.Unmarshal(body, &amura)
 81300  		return amura, err
 81301  	case string(TypeAzureMLBatchExecution):
 81302  		var ambea AzureMLBatchExecutionActivity
 81303  		err := json.Unmarshal(body, &ambea)
 81304  		return ambea, err
 81305  	case string(TypeGetMetadata):
 81306  		var gma GetMetadataActivity
 81307  		err := json.Unmarshal(body, &gma)
 81308  		return gma, err
 81309  	case string(TypeWebActivity):
 81310  		var wa WebActivity
 81311  		err := json.Unmarshal(body, &wa)
 81312  		return wa, err
 81313  	case string(TypeLookup):
 81314  		var la LookupActivity
 81315  		err := json.Unmarshal(body, &la)
 81316  		return la, err
 81317  	case string(TypeAzureDataExplorerCommand):
 81318  		var adeca AzureDataExplorerCommandActivity
 81319  		err := json.Unmarshal(body, &adeca)
 81320  		return adeca, err
 81321  	case string(TypeDelete):
 81322  		var da DeleteActivity
 81323  		err := json.Unmarshal(body, &da)
 81324  		return da, err
 81325  	case string(TypeSQLServerStoredProcedure):
 81326  		var ssspa SQLServerStoredProcedureActivity
 81327  		err := json.Unmarshal(body, &ssspa)
 81328  		return ssspa, err
 81329  	case string(TypeCustom):
 81330  		var ca CustomActivity
 81331  		err := json.Unmarshal(body, &ca)
 81332  		return ca, err
 81333  	case string(TypeExecuteSSISPackage):
 81334  		var espa ExecuteSSISPackageActivity
 81335  		err := json.Unmarshal(body, &espa)
 81336  		return espa, err
 81337  	case string(TypeHDInsightSpark):
 81338  		var hisa HDInsightSparkActivity
 81339  		err := json.Unmarshal(body, &hisa)
 81340  		return hisa, err
 81341  	case string(TypeHDInsightStreaming):
 81342  		var hisa HDInsightStreamingActivity
 81343  		err := json.Unmarshal(body, &hisa)
 81344  		return hisa, err
 81345  	case string(TypeHDInsightMapReduce):
 81346  		var himra HDInsightMapReduceActivity
 81347  		err := json.Unmarshal(body, &himra)
 81348  		return himra, err
 81349  	case string(TypeHDInsightPig):
 81350  		var hipa HDInsightPigActivity
 81351  		err := json.Unmarshal(body, &hipa)
 81352  		return hipa, err
 81353  	case string(TypeHDInsightHive):
 81354  		var hiha HDInsightHiveActivity
 81355  		err := json.Unmarshal(body, &hiha)
 81356  		return hiha, err
 81357  	case string(TypeCopy):
 81358  		var ca CopyActivity
 81359  		err := json.Unmarshal(body, &ca)
 81360  		return ca, err
 81361  	default:
 81362  		var ea ExecutionActivity
 81363  		err := json.Unmarshal(body, &ea)
 81364  		return ea, err
 81365  	}
 81366  }
 81367  func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) {
 81368  	var rawMessages []*json.RawMessage
 81369  	err := json.Unmarshal(body, &rawMessages)
 81370  	if err != nil {
 81371  		return nil, err
 81372  	}
 81373  
 81374  	eaArray := make([]BasicExecutionActivity, len(rawMessages))
 81375  
 81376  	for index, rawMessage := range rawMessages {
 81377  		ea, err := unmarshalBasicExecutionActivity(*rawMessage)
 81378  		if err != nil {
 81379  			return nil, err
 81380  		}
 81381  		eaArray[index] = ea
 81382  	}
 81383  	return eaArray, nil
 81384  }
 81385  
 81386  // MarshalJSON is the custom marshaler for ExecutionActivity.
 81387  func (ea ExecutionActivity) MarshalJSON() ([]byte, error) {
 81388  	ea.Type = TypeExecution
 81389  	objectMap := make(map[string]interface{})
 81390  	if ea.LinkedServiceName != nil {
 81391  		objectMap["linkedServiceName"] = ea.LinkedServiceName
 81392  	}
 81393  	if ea.Policy != nil {
 81394  		objectMap["policy"] = ea.Policy
 81395  	}
 81396  	if ea.Name != nil {
 81397  		objectMap["name"] = ea.Name
 81398  	}
 81399  	if ea.Description != nil {
 81400  		objectMap["description"] = ea.Description
 81401  	}
 81402  	if ea.DependsOn != nil {
 81403  		objectMap["dependsOn"] = ea.DependsOn
 81404  	}
 81405  	if ea.UserProperties != nil {
 81406  		objectMap["userProperties"] = ea.UserProperties
 81407  	}
 81408  	if ea.Type != "" {
 81409  		objectMap["type"] = ea.Type
 81410  	}
 81411  	for k, v := range ea.AdditionalProperties {
 81412  		objectMap[k] = v
 81413  	}
 81414  	return json.Marshal(objectMap)
 81415  }
 81416  
 81417  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity.
 81418  func (ea ExecutionActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 81419  	return nil, false
 81420  }
 81421  
 81422  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ExecutionActivity.
 81423  func (ea ExecutionActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 81424  	return nil, false
 81425  }
 81426  
 81427  // AsSynapseNotebookActivity is the BasicActivity implementation for ExecutionActivity.
 81428  func (ea ExecutionActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 81429  	return nil, false
 81430  }
 81431  
 81432  // AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutionActivity.
 81433  func (ea ExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 81434  	return nil, false
 81435  }
 81436  
 81437  // AsAzureFunctionActivity is the BasicActivity implementation for ExecutionActivity.
 81438  func (ea ExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 81439  	return nil, false
 81440  }
 81441  
 81442  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutionActivity.
 81443  func (ea ExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 81444  	return nil, false
 81445  }
 81446  
 81447  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutionActivity.
 81448  func (ea ExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 81449  	return nil, false
 81450  }
 81451  
 81452  // AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity.
 81453  func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 81454  	return nil, false
 81455  }
 81456  
 81457  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity.
 81458  func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 81459  	return nil, false
 81460  }
 81461  
 81462  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity.
 81463  func (ea ExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 81464  	return nil, false
 81465  }
 81466  
 81467  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity.
 81468  func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 81469  	return nil, false
 81470  }
 81471  
 81472  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity.
 81473  func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 81474  	return nil, false
 81475  }
 81476  
 81477  // AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity.
 81478  func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 81479  	return nil, false
 81480  }
 81481  
 81482  // AsWebActivity is the BasicActivity implementation for ExecutionActivity.
 81483  func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) {
 81484  	return nil, false
 81485  }
 81486  
 81487  // AsLookupActivity is the BasicActivity implementation for ExecutionActivity.
 81488  func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) {
 81489  	return nil, false
 81490  }
 81491  
 81492  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutionActivity.
 81493  func (ea ExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 81494  	return nil, false
 81495  }
 81496  
 81497  // AsDeleteActivity is the BasicActivity implementation for ExecutionActivity.
 81498  func (ea ExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 81499  	return nil, false
 81500  }
 81501  
 81502  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity.
 81503  func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 81504  	return nil, false
 81505  }
 81506  
 81507  // AsCustomActivity is the BasicActivity implementation for ExecutionActivity.
 81508  func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) {
 81509  	return nil, false
 81510  }
 81511  
 81512  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity.
 81513  func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 81514  	return nil, false
 81515  }
 81516  
 81517  // AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity.
 81518  func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 81519  	return nil, false
 81520  }
 81521  
 81522  // AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity.
 81523  func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 81524  	return nil, false
 81525  }
 81526  
 81527  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity.
 81528  func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 81529  	return nil, false
 81530  }
 81531  
 81532  // AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity.
 81533  func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 81534  	return nil, false
 81535  }
 81536  
 81537  // AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity.
 81538  func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 81539  	return nil, false
 81540  }
 81541  
 81542  // AsCopyActivity is the BasicActivity implementation for ExecutionActivity.
 81543  func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) {
 81544  	return nil, false
 81545  }
 81546  
 81547  // AsExecutionActivity is the BasicActivity implementation for ExecutionActivity.
 81548  func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 81549  	return &ea, true
 81550  }
 81551  
 81552  // AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity.
 81553  func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 81554  	return &ea, true
 81555  }
 81556  
 81557  // AsWebHookActivity is the BasicActivity implementation for ExecutionActivity.
 81558  func (ea ExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 81559  	return nil, false
 81560  }
 81561  
 81562  // AsAppendVariableActivity is the BasicActivity implementation for ExecutionActivity.
 81563  func (ea ExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 81564  	return nil, false
 81565  }
 81566  
 81567  // AsSetVariableActivity is the BasicActivity implementation for ExecutionActivity.
 81568  func (ea ExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 81569  	return nil, false
 81570  }
 81571  
 81572  // AsFilterActivity is the BasicActivity implementation for ExecutionActivity.
 81573  func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) {
 81574  	return nil, false
 81575  }
 81576  
 81577  // AsValidationActivity is the BasicActivity implementation for ExecutionActivity.
 81578  func (ea ExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) {
 81579  	return nil, false
 81580  }
 81581  
 81582  // AsUntilActivity is the BasicActivity implementation for ExecutionActivity.
 81583  func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) {
 81584  	return nil, false
 81585  }
 81586  
 81587  // AsWaitActivity is the BasicActivity implementation for ExecutionActivity.
 81588  func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) {
 81589  	return nil, false
 81590  }
 81591  
 81592  // AsForEachActivity is the BasicActivity implementation for ExecutionActivity.
 81593  func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) {
 81594  	return nil, false
 81595  }
 81596  
 81597  // AsSwitchActivity is the BasicActivity implementation for ExecutionActivity.
 81598  func (ea ExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 81599  	return nil, false
 81600  }
 81601  
 81602  // AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity.
 81603  func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 81604  	return nil, false
 81605  }
 81606  
 81607  // AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity.
 81608  func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 81609  	return nil, false
 81610  }
 81611  
 81612  // AsControlActivity is the BasicActivity implementation for ExecutionActivity.
 81613  func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) {
 81614  	return nil, false
 81615  }
 81616  
 81617  // AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity.
 81618  func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 81619  	return nil, false
 81620  }
 81621  
 81622  // AsActivity is the BasicActivity implementation for ExecutionActivity.
 81623  func (ea ExecutionActivity) AsActivity() (*Activity, bool) {
 81624  	return nil, false
 81625  }
 81626  
 81627  // AsBasicActivity is the BasicActivity implementation for ExecutionActivity.
 81628  func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) {
 81629  	return &ea, true
 81630  }
 81631  
 81632  // UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct.
 81633  func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error {
 81634  	var m map[string]*json.RawMessage
 81635  	err := json.Unmarshal(body, &m)
 81636  	if err != nil {
 81637  		return err
 81638  	}
 81639  	for k, v := range m {
 81640  		switch k {
 81641  		case "linkedServiceName":
 81642  			if v != nil {
 81643  				var linkedServiceName LinkedServiceReference
 81644  				err = json.Unmarshal(*v, &linkedServiceName)
 81645  				if err != nil {
 81646  					return err
 81647  				}
 81648  				ea.LinkedServiceName = &linkedServiceName
 81649  			}
 81650  		case "policy":
 81651  			if v != nil {
 81652  				var policy ActivityPolicy
 81653  				err = json.Unmarshal(*v, &policy)
 81654  				if err != nil {
 81655  					return err
 81656  				}
 81657  				ea.Policy = &policy
 81658  			}
 81659  		default:
 81660  			if v != nil {
 81661  				var additionalProperties interface{}
 81662  				err = json.Unmarshal(*v, &additionalProperties)
 81663  				if err != nil {
 81664  					return err
 81665  				}
 81666  				if ea.AdditionalProperties == nil {
 81667  					ea.AdditionalProperties = make(map[string]interface{})
 81668  				}
 81669  				ea.AdditionalProperties[k] = additionalProperties
 81670  			}
 81671  		case "name":
 81672  			if v != nil {
 81673  				var name string
 81674  				err = json.Unmarshal(*v, &name)
 81675  				if err != nil {
 81676  					return err
 81677  				}
 81678  				ea.Name = &name
 81679  			}
 81680  		case "description":
 81681  			if v != nil {
 81682  				var description string
 81683  				err = json.Unmarshal(*v, &description)
 81684  				if err != nil {
 81685  					return err
 81686  				}
 81687  				ea.Description = &description
 81688  			}
 81689  		case "dependsOn":
 81690  			if v != nil {
 81691  				var dependsOn []ActivityDependency
 81692  				err = json.Unmarshal(*v, &dependsOn)
 81693  				if err != nil {
 81694  					return err
 81695  				}
 81696  				ea.DependsOn = &dependsOn
 81697  			}
 81698  		case "userProperties":
 81699  			if v != nil {
 81700  				var userProperties []UserProperty
 81701  				err = json.Unmarshal(*v, &userProperties)
 81702  				if err != nil {
 81703  					return err
 81704  				}
 81705  				ea.UserProperties = &userProperties
 81706  			}
 81707  		case "type":
 81708  			if v != nil {
 81709  				var typeVar TypeBasicActivity
 81710  				err = json.Unmarshal(*v, &typeVar)
 81711  				if err != nil {
 81712  					return err
 81713  				}
 81714  				ea.Type = typeVar
 81715  			}
 81716  		}
 81717  	}
 81718  
 81719  	return nil
 81720  }
 81721  
 81722  // ExposureControlRequest the exposure control request.
 81723  type ExposureControlRequest struct {
 81724  	// FeatureName - The feature name.
 81725  	FeatureName *string `json:"featureName,omitempty"`
 81726  	// FeatureType - The feature type.
 81727  	FeatureType *string `json:"featureType,omitempty"`
 81728  }
 81729  
 81730  // ExposureControlResponse the exposure control response.
 81731  type ExposureControlResponse struct {
 81732  	// FeatureName - READ-ONLY; The feature name.
 81733  	FeatureName *string `json:"featureName,omitempty"`
 81734  	// Value - READ-ONLY; The feature value.
 81735  	Value *string `json:"value,omitempty"`
 81736  }
 81737  
 81738  // MarshalJSON is the custom marshaler for ExposureControlResponse.
 81739  func (ecr ExposureControlResponse) MarshalJSON() ([]byte, error) {
 81740  	objectMap := make(map[string]interface{})
 81741  	return json.Marshal(objectMap)
 81742  }
 81743  
 81744  // Expression azure Synapse expression definition.
 81745  type Expression struct {
 81746  	// Type - Expression type.
 81747  	Type *string `json:"type,omitempty"`
 81748  	// Value - Expression value.
 81749  	Value *string `json:"value,omitempty"`
 81750  }
 81751  
 81752  // FileServerLinkedService file system linked service.
 81753  type FileServerLinkedService struct {
 81754  	// FileServerLinkedServiceTypeProperties - File system linked service properties.
 81755  	*FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 81756  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 81757  	AdditionalProperties map[string]interface{} `json:""`
 81758  	// ConnectVia - The integration runtime reference.
 81759  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 81760  	// Description - Linked service description.
 81761  	Description *string `json:"description,omitempty"`
 81762  	// Parameters - Parameters for linked service.
 81763  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 81764  	// Annotations - List of tags that can be used for describing the linked service.
 81765  	Annotations *[]interface{} `json:"annotations,omitempty"`
 81766  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 81767  	Type TypeBasicLinkedService `json:"type,omitempty"`
 81768  }
 81769  
 81770  // MarshalJSON is the custom marshaler for FileServerLinkedService.
 81771  func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) {
 81772  	fsls.Type = TypeFileServer
 81773  	objectMap := make(map[string]interface{})
 81774  	if fsls.FileServerLinkedServiceTypeProperties != nil {
 81775  		objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties
 81776  	}
 81777  	if fsls.ConnectVia != nil {
 81778  		objectMap["connectVia"] = fsls.ConnectVia
 81779  	}
 81780  	if fsls.Description != nil {
 81781  		objectMap["description"] = fsls.Description
 81782  	}
 81783  	if fsls.Parameters != nil {
 81784  		objectMap["parameters"] = fsls.Parameters
 81785  	}
 81786  	if fsls.Annotations != nil {
 81787  		objectMap["annotations"] = fsls.Annotations
 81788  	}
 81789  	if fsls.Type != "" {
 81790  		objectMap["type"] = fsls.Type
 81791  	}
 81792  	for k, v := range fsls.AdditionalProperties {
 81793  		objectMap[k] = v
 81794  	}
 81795  	return json.Marshal(objectMap)
 81796  }
 81797  
 81798  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81799  func (fsls FileServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 81800  	return nil, false
 81801  }
 81802  
 81803  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81804  func (fsls FileServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 81805  	return nil, false
 81806  }
 81807  
 81808  // AsSapTableLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81809  func (fsls FileServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 81810  	return nil, false
 81811  }
 81812  
 81813  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81814  func (fsls FileServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 81815  	return nil, false
 81816  }
 81817  
 81818  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81819  func (fsls FileServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 81820  	return nil, false
 81821  }
 81822  
 81823  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81824  func (fsls FileServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 81825  	return nil, false
 81826  }
 81827  
 81828  // AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81829  func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 81830  	return nil, false
 81831  }
 81832  
 81833  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81834  func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 81835  	return nil, false
 81836  }
 81837  
 81838  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81839  func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 81840  	return nil, false
 81841  }
 81842  
 81843  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81844  func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 81845  	return nil, false
 81846  }
 81847  
 81848  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81849  func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 81850  	return nil, false
 81851  }
 81852  
 81853  // AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81854  func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 81855  	return nil, false
 81856  }
 81857  
 81858  // AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81859  func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 81860  	return nil, false
 81861  }
 81862  
 81863  // AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81864  func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 81865  	return nil, false
 81866  }
 81867  
 81868  // AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81869  func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 81870  	return nil, false
 81871  }
 81872  
 81873  // AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81874  func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 81875  	return nil, false
 81876  }
 81877  
 81878  // AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81879  func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 81880  	return nil, false
 81881  }
 81882  
 81883  // AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81884  func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 81885  	return nil, false
 81886  }
 81887  
 81888  // AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81889  func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 81890  	return nil, false
 81891  }
 81892  
 81893  // AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81894  func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 81895  	return nil, false
 81896  }
 81897  
 81898  // AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81899  func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 81900  	return nil, false
 81901  }
 81902  
 81903  // AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81904  func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 81905  	return nil, false
 81906  }
 81907  
 81908  // AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81909  func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 81910  	return nil, false
 81911  }
 81912  
 81913  // AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81914  func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 81915  	return nil, false
 81916  }
 81917  
 81918  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81919  func (fsls FileServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 81920  	return nil, false
 81921  }
 81922  
 81923  // AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81924  func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 81925  	return nil, false
 81926  }
 81927  
 81928  // AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81929  func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 81930  	return nil, false
 81931  }
 81932  
 81933  // AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81934  func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 81935  	return nil, false
 81936  }
 81937  
 81938  // AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81939  func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 81940  	return nil, false
 81941  }
 81942  
 81943  // AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81944  func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 81945  	return nil, false
 81946  }
 81947  
 81948  // AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81949  func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 81950  	return nil, false
 81951  }
 81952  
 81953  // AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81954  func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 81955  	return nil, false
 81956  }
 81957  
 81958  // AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81959  func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 81960  	return nil, false
 81961  }
 81962  
 81963  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81964  func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 81965  	return nil, false
 81966  }
 81967  
 81968  // AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81969  func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 81970  	return nil, false
 81971  }
 81972  
 81973  // AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81974  func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 81975  	return nil, false
 81976  }
 81977  
 81978  // AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81979  func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 81980  	return nil, false
 81981  }
 81982  
 81983  // AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81984  func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 81985  	return nil, false
 81986  }
 81987  
 81988  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81989  func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 81990  	return nil, false
 81991  }
 81992  
 81993  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81994  func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 81995  	return nil, false
 81996  }
 81997  
 81998  // AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 81999  func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 82000  	return nil, false
 82001  }
 82002  
 82003  // AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82004  func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 82005  	return nil, false
 82006  }
 82007  
 82008  // AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82009  func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 82010  	return nil, false
 82011  }
 82012  
 82013  // AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82014  func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 82015  	return nil, false
 82016  }
 82017  
 82018  // AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82019  func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 82020  	return nil, false
 82021  }
 82022  
 82023  // AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82024  func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 82025  	return nil, false
 82026  }
 82027  
 82028  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82029  func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 82030  	return nil, false
 82031  }
 82032  
 82033  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82034  func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 82035  	return nil, false
 82036  }
 82037  
 82038  // AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82039  func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 82040  	return nil, false
 82041  }
 82042  
 82043  // AsRestServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82044  func (fsls FileServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 82045  	return nil, false
 82046  }
 82047  
 82048  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82049  func (fsls FileServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 82050  	return nil, false
 82051  }
 82052  
 82053  // AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82054  func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 82055  	return nil, false
 82056  }
 82057  
 82058  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82059  func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 82060  	return nil, false
 82061  }
 82062  
 82063  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82064  func (fsls FileServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 82065  	return nil, false
 82066  }
 82067  
 82068  // AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82069  func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 82070  	return nil, false
 82071  }
 82072  
 82073  // AsOffice365LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82074  func (fsls FileServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 82075  	return nil, false
 82076  }
 82077  
 82078  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82079  func (fsls FileServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 82080  	return nil, false
 82081  }
 82082  
 82083  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82084  func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 82085  	return nil, false
 82086  }
 82087  
 82088  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82089  func (fsls FileServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 82090  	return nil, false
 82091  }
 82092  
 82093  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82094  func (fsls FileServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 82095  	return nil, false
 82096  }
 82097  
 82098  // AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82099  func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 82100  	return nil, false
 82101  }
 82102  
 82103  // AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82104  func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 82105  	return nil, false
 82106  }
 82107  
 82108  // AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82109  func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 82110  	return nil, false
 82111  }
 82112  
 82113  // AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82114  func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 82115  	return nil, false
 82116  }
 82117  
 82118  // AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82119  func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 82120  	return nil, false
 82121  }
 82122  
 82123  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82124  func (fsls FileServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 82125  	return nil, false
 82126  }
 82127  
 82128  // AsInformixLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82129  func (fsls FileServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 82130  	return nil, false
 82131  }
 82132  
 82133  // AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82134  func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 82135  	return nil, false
 82136  }
 82137  
 82138  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82139  func (fsls FileServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 82140  	return nil, false
 82141  }
 82142  
 82143  // AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82144  func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 82145  	return nil, false
 82146  }
 82147  
 82148  // AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82149  func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 82150  	return nil, false
 82151  }
 82152  
 82153  // AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82154  func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 82155  	return nil, false
 82156  }
 82157  
 82158  // AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82159  func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 82160  	return nil, false
 82161  }
 82162  
 82163  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82164  func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 82165  	return nil, false
 82166  }
 82167  
 82168  // AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82169  func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 82170  	return nil, false
 82171  }
 82172  
 82173  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82174  func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 82175  	return nil, false
 82176  }
 82177  
 82178  // AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82179  func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 82180  	return nil, false
 82181  }
 82182  
 82183  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82184  func (fsls FileServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 82185  	return nil, false
 82186  }
 82187  
 82188  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82189  func (fsls FileServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 82190  	return nil, false
 82191  }
 82192  
 82193  // AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82194  func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 82195  	return &fsls, true
 82196  }
 82197  
 82198  // AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82199  func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 82200  	return nil, false
 82201  }
 82202  
 82203  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82204  func (fsls FileServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 82205  	return nil, false
 82206  }
 82207  
 82208  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82209  func (fsls FileServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 82210  	return nil, false
 82211  }
 82212  
 82213  // AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82214  func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 82215  	return nil, false
 82216  }
 82217  
 82218  // AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82219  func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 82220  	return nil, false
 82221  }
 82222  
 82223  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82224  func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 82225  	return nil, false
 82226  }
 82227  
 82228  // AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82229  func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 82230  	return nil, false
 82231  }
 82232  
 82233  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82234  func (fsls FileServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 82235  	return nil, false
 82236  }
 82237  
 82238  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82239  func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 82240  	return nil, false
 82241  }
 82242  
 82243  // AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82244  func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 82245  	return nil, false
 82246  }
 82247  
 82248  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82249  func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 82250  	return nil, false
 82251  }
 82252  
 82253  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82254  func (fsls FileServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 82255  	return nil, false
 82256  }
 82257  
 82258  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82259  func (fsls FileServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 82260  	return nil, false
 82261  }
 82262  
 82263  // AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82264  func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 82265  	return nil, false
 82266  }
 82267  
 82268  // AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82269  func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) {
 82270  	return nil, false
 82271  }
 82272  
 82273  // AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService.
 82274  func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 82275  	return &fsls, true
 82276  }
 82277  
 82278  // UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct.
 82279  func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error {
 82280  	var m map[string]*json.RawMessage
 82281  	err := json.Unmarshal(body, &m)
 82282  	if err != nil {
 82283  		return err
 82284  	}
 82285  	for k, v := range m {
 82286  		switch k {
 82287  		case "typeProperties":
 82288  			if v != nil {
 82289  				var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties
 82290  				err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties)
 82291  				if err != nil {
 82292  					return err
 82293  				}
 82294  				fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties
 82295  			}
 82296  		default:
 82297  			if v != nil {
 82298  				var additionalProperties interface{}
 82299  				err = json.Unmarshal(*v, &additionalProperties)
 82300  				if err != nil {
 82301  					return err
 82302  				}
 82303  				if fsls.AdditionalProperties == nil {
 82304  					fsls.AdditionalProperties = make(map[string]interface{})
 82305  				}
 82306  				fsls.AdditionalProperties[k] = additionalProperties
 82307  			}
 82308  		case "connectVia":
 82309  			if v != nil {
 82310  				var connectVia IntegrationRuntimeReference
 82311  				err = json.Unmarshal(*v, &connectVia)
 82312  				if err != nil {
 82313  					return err
 82314  				}
 82315  				fsls.ConnectVia = &connectVia
 82316  			}
 82317  		case "description":
 82318  			if v != nil {
 82319  				var description string
 82320  				err = json.Unmarshal(*v, &description)
 82321  				if err != nil {
 82322  					return err
 82323  				}
 82324  				fsls.Description = &description
 82325  			}
 82326  		case "parameters":
 82327  			if v != nil {
 82328  				var parameters map[string]*ParameterSpecification
 82329  				err = json.Unmarshal(*v, &parameters)
 82330  				if err != nil {
 82331  					return err
 82332  				}
 82333  				fsls.Parameters = parameters
 82334  			}
 82335  		case "annotations":
 82336  			if v != nil {
 82337  				var annotations []interface{}
 82338  				err = json.Unmarshal(*v, &annotations)
 82339  				if err != nil {
 82340  					return err
 82341  				}
 82342  				fsls.Annotations = &annotations
 82343  			}
 82344  		case "type":
 82345  			if v != nil {
 82346  				var typeVar TypeBasicLinkedService
 82347  				err = json.Unmarshal(*v, &typeVar)
 82348  				if err != nil {
 82349  					return err
 82350  				}
 82351  				fsls.Type = typeVar
 82352  			}
 82353  		}
 82354  	}
 82355  
 82356  	return nil
 82357  }
 82358  
 82359  // FileServerLinkedServiceTypeProperties file system linked service properties.
 82360  type FileServerLinkedServiceTypeProperties struct {
 82361  	// Host - Host name of the server. Type: string (or Expression with resultType string).
 82362  	Host interface{} `json:"host,omitempty"`
 82363  	// UserID - User ID to logon the server. Type: string (or Expression with resultType string).
 82364  	UserID interface{} `json:"userId,omitempty"`
 82365  	// Password - Password to logon the server.
 82366  	Password BasicSecretBase `json:"password,omitempty"`
 82367  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 82368  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 82369  }
 82370  
 82371  // UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct.
 82372  func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 82373  	var m map[string]*json.RawMessage
 82374  	err := json.Unmarshal(body, &m)
 82375  	if err != nil {
 82376  		return err
 82377  	}
 82378  	for k, v := range m {
 82379  		switch k {
 82380  		case "host":
 82381  			if v != nil {
 82382  				var host interface{}
 82383  				err = json.Unmarshal(*v, &host)
 82384  				if err != nil {
 82385  					return err
 82386  				}
 82387  				fslstp.Host = host
 82388  			}
 82389  		case "userId":
 82390  			if v != nil {
 82391  				var userID interface{}
 82392  				err = json.Unmarshal(*v, &userID)
 82393  				if err != nil {
 82394  					return err
 82395  				}
 82396  				fslstp.UserID = userID
 82397  			}
 82398  		case "password":
 82399  			if v != nil {
 82400  				password, err := unmarshalBasicSecretBase(*v)
 82401  				if err != nil {
 82402  					return err
 82403  				}
 82404  				fslstp.Password = password
 82405  			}
 82406  		case "encryptedCredential":
 82407  			if v != nil {
 82408  				var encryptedCredential interface{}
 82409  				err = json.Unmarshal(*v, &encryptedCredential)
 82410  				if err != nil {
 82411  					return err
 82412  				}
 82413  				fslstp.EncryptedCredential = encryptedCredential
 82414  			}
 82415  		}
 82416  	}
 82417  
 82418  	return nil
 82419  }
 82420  
 82421  // FileServerLocation the location of file server dataset.
 82422  type FileServerLocation struct {
 82423  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 82424  	AdditionalProperties map[string]interface{} `json:""`
 82425  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 82426  	FolderPath interface{} `json:"folderPath,omitempty"`
 82427  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 82428  	FileName interface{} `json:"fileName,omitempty"`
 82429  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 82430  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 82431  }
 82432  
 82433  // MarshalJSON is the custom marshaler for FileServerLocation.
 82434  func (fsl FileServerLocation) MarshalJSON() ([]byte, error) {
 82435  	fsl.Type = TypeFileServerLocation
 82436  	objectMap := make(map[string]interface{})
 82437  	if fsl.FolderPath != nil {
 82438  		objectMap["folderPath"] = fsl.FolderPath
 82439  	}
 82440  	if fsl.FileName != nil {
 82441  		objectMap["fileName"] = fsl.FileName
 82442  	}
 82443  	if fsl.Type != "" {
 82444  		objectMap["type"] = fsl.Type
 82445  	}
 82446  	for k, v := range fsl.AdditionalProperties {
 82447  		objectMap[k] = v
 82448  	}
 82449  	return json.Marshal(objectMap)
 82450  }
 82451  
 82452  // AsHdfsLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82453  func (fsl FileServerLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 82454  	return nil, false
 82455  }
 82456  
 82457  // AsHTTPServerLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82458  func (fsl FileServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 82459  	return nil, false
 82460  }
 82461  
 82462  // AsSftpLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82463  func (fsl FileServerLocation) AsSftpLocation() (*SftpLocation, bool) {
 82464  	return nil, false
 82465  }
 82466  
 82467  // AsFtpServerLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82468  func (fsl FileServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 82469  	return nil, false
 82470  }
 82471  
 82472  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82473  func (fsl FileServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 82474  	return nil, false
 82475  }
 82476  
 82477  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82478  func (fsl FileServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 82479  	return nil, false
 82480  }
 82481  
 82482  // AsFileServerLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82483  func (fsl FileServerLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 82484  	return &fsl, true
 82485  }
 82486  
 82487  // AsAmazonS3Location is the BasicDatasetLocation implementation for FileServerLocation.
 82488  func (fsl FileServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 82489  	return nil, false
 82490  }
 82491  
 82492  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82493  func (fsl FileServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 82494  	return nil, false
 82495  }
 82496  
 82497  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82498  func (fsl FileServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 82499  	return nil, false
 82500  }
 82501  
 82502  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82503  func (fsl FileServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 82504  	return nil, false
 82505  }
 82506  
 82507  // AsDatasetLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82508  func (fsl FileServerLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 82509  	return nil, false
 82510  }
 82511  
 82512  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for FileServerLocation.
 82513  func (fsl FileServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 82514  	return &fsl, true
 82515  }
 82516  
 82517  // UnmarshalJSON is the custom unmarshaler for FileServerLocation struct.
 82518  func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error {
 82519  	var m map[string]*json.RawMessage
 82520  	err := json.Unmarshal(body, &m)
 82521  	if err != nil {
 82522  		return err
 82523  	}
 82524  	for k, v := range m {
 82525  		switch k {
 82526  		default:
 82527  			if v != nil {
 82528  				var additionalProperties interface{}
 82529  				err = json.Unmarshal(*v, &additionalProperties)
 82530  				if err != nil {
 82531  					return err
 82532  				}
 82533  				if fsl.AdditionalProperties == nil {
 82534  					fsl.AdditionalProperties = make(map[string]interface{})
 82535  				}
 82536  				fsl.AdditionalProperties[k] = additionalProperties
 82537  			}
 82538  		case "folderPath":
 82539  			if v != nil {
 82540  				var folderPath interface{}
 82541  				err = json.Unmarshal(*v, &folderPath)
 82542  				if err != nil {
 82543  					return err
 82544  				}
 82545  				fsl.FolderPath = folderPath
 82546  			}
 82547  		case "fileName":
 82548  			if v != nil {
 82549  				var fileName interface{}
 82550  				err = json.Unmarshal(*v, &fileName)
 82551  				if err != nil {
 82552  					return err
 82553  				}
 82554  				fsl.FileName = fileName
 82555  			}
 82556  		case "type":
 82557  			if v != nil {
 82558  				var typeVar TypeBasicDatasetLocation
 82559  				err = json.Unmarshal(*v, &typeVar)
 82560  				if err != nil {
 82561  					return err
 82562  				}
 82563  				fsl.Type = typeVar
 82564  			}
 82565  		}
 82566  	}
 82567  
 82568  	return nil
 82569  }
 82570  
 82571  // FileServerReadSettings file server read settings.
 82572  type FileServerReadSettings struct {
 82573  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 82574  	Recursive interface{} `json:"recursive,omitempty"`
 82575  	// WildcardFolderPath - FileServer wildcardFolderPath. Type: string (or Expression with resultType string).
 82576  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 82577  	// WildcardFileName - FileServer wildcardFileName. Type: string (or Expression with resultType string).
 82578  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 82579  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 82580  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 82581  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 82582  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 82583  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 82584  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 82585  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 82586  	AdditionalProperties map[string]interface{} `json:""`
 82587  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 82588  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 82589  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 82590  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 82591  }
 82592  
 82593  // MarshalJSON is the custom marshaler for FileServerReadSettings.
 82594  func (fsrs FileServerReadSettings) MarshalJSON() ([]byte, error) {
 82595  	fsrs.Type = TypeFileServerReadSettings
 82596  	objectMap := make(map[string]interface{})
 82597  	if fsrs.Recursive != nil {
 82598  		objectMap["recursive"] = fsrs.Recursive
 82599  	}
 82600  	if fsrs.WildcardFolderPath != nil {
 82601  		objectMap["wildcardFolderPath"] = fsrs.WildcardFolderPath
 82602  	}
 82603  	if fsrs.WildcardFileName != nil {
 82604  		objectMap["wildcardFileName"] = fsrs.WildcardFileName
 82605  	}
 82606  	if fsrs.EnablePartitionDiscovery != nil {
 82607  		objectMap["enablePartitionDiscovery"] = fsrs.EnablePartitionDiscovery
 82608  	}
 82609  	if fsrs.ModifiedDatetimeStart != nil {
 82610  		objectMap["modifiedDatetimeStart"] = fsrs.ModifiedDatetimeStart
 82611  	}
 82612  	if fsrs.ModifiedDatetimeEnd != nil {
 82613  		objectMap["modifiedDatetimeEnd"] = fsrs.ModifiedDatetimeEnd
 82614  	}
 82615  	if fsrs.MaxConcurrentConnections != nil {
 82616  		objectMap["maxConcurrentConnections"] = fsrs.MaxConcurrentConnections
 82617  	}
 82618  	if fsrs.Type != "" {
 82619  		objectMap["type"] = fsrs.Type
 82620  	}
 82621  	for k, v := range fsrs.AdditionalProperties {
 82622  		objectMap[k] = v
 82623  	}
 82624  	return json.Marshal(objectMap)
 82625  }
 82626  
 82627  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82628  func (fsrs FileServerReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 82629  	return nil, false
 82630  }
 82631  
 82632  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82633  func (fsrs FileServerReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 82634  	return nil, false
 82635  }
 82636  
 82637  // AsSftpReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82638  func (fsrs FileServerReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 82639  	return nil, false
 82640  }
 82641  
 82642  // AsFtpReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82643  func (fsrs FileServerReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 82644  	return nil, false
 82645  }
 82646  
 82647  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82648  func (fsrs FileServerReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 82649  	return nil, false
 82650  }
 82651  
 82652  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82653  func (fsrs FileServerReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 82654  	return nil, false
 82655  }
 82656  
 82657  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82658  func (fsrs FileServerReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 82659  	return &fsrs, true
 82660  }
 82661  
 82662  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82663  func (fsrs FileServerReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 82664  	return nil, false
 82665  }
 82666  
 82667  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82668  func (fsrs FileServerReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 82669  	return nil, false
 82670  }
 82671  
 82672  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82673  func (fsrs FileServerReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 82674  	return nil, false
 82675  }
 82676  
 82677  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82678  func (fsrs FileServerReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 82679  	return nil, false
 82680  }
 82681  
 82682  // AsStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82683  func (fsrs FileServerReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 82684  	return nil, false
 82685  }
 82686  
 82687  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for FileServerReadSettings.
 82688  func (fsrs FileServerReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 82689  	return &fsrs, true
 82690  }
 82691  
 82692  // UnmarshalJSON is the custom unmarshaler for FileServerReadSettings struct.
 82693  func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error {
 82694  	var m map[string]*json.RawMessage
 82695  	err := json.Unmarshal(body, &m)
 82696  	if err != nil {
 82697  		return err
 82698  	}
 82699  	for k, v := range m {
 82700  		switch k {
 82701  		case "recursive":
 82702  			if v != nil {
 82703  				var recursive interface{}
 82704  				err = json.Unmarshal(*v, &recursive)
 82705  				if err != nil {
 82706  					return err
 82707  				}
 82708  				fsrs.Recursive = recursive
 82709  			}
 82710  		case "wildcardFolderPath":
 82711  			if v != nil {
 82712  				var wildcardFolderPath interface{}
 82713  				err = json.Unmarshal(*v, &wildcardFolderPath)
 82714  				if err != nil {
 82715  					return err
 82716  				}
 82717  				fsrs.WildcardFolderPath = wildcardFolderPath
 82718  			}
 82719  		case "wildcardFileName":
 82720  			if v != nil {
 82721  				var wildcardFileName interface{}
 82722  				err = json.Unmarshal(*v, &wildcardFileName)
 82723  				if err != nil {
 82724  					return err
 82725  				}
 82726  				fsrs.WildcardFileName = wildcardFileName
 82727  			}
 82728  		case "enablePartitionDiscovery":
 82729  			if v != nil {
 82730  				var enablePartitionDiscovery bool
 82731  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 82732  				if err != nil {
 82733  					return err
 82734  				}
 82735  				fsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 82736  			}
 82737  		case "modifiedDatetimeStart":
 82738  			if v != nil {
 82739  				var modifiedDatetimeStart interface{}
 82740  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 82741  				if err != nil {
 82742  					return err
 82743  				}
 82744  				fsrs.ModifiedDatetimeStart = modifiedDatetimeStart
 82745  			}
 82746  		case "modifiedDatetimeEnd":
 82747  			if v != nil {
 82748  				var modifiedDatetimeEnd interface{}
 82749  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 82750  				if err != nil {
 82751  					return err
 82752  				}
 82753  				fsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 82754  			}
 82755  		default:
 82756  			if v != nil {
 82757  				var additionalProperties interface{}
 82758  				err = json.Unmarshal(*v, &additionalProperties)
 82759  				if err != nil {
 82760  					return err
 82761  				}
 82762  				if fsrs.AdditionalProperties == nil {
 82763  					fsrs.AdditionalProperties = make(map[string]interface{})
 82764  				}
 82765  				fsrs.AdditionalProperties[k] = additionalProperties
 82766  			}
 82767  		case "maxConcurrentConnections":
 82768  			if v != nil {
 82769  				var maxConcurrentConnections interface{}
 82770  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 82771  				if err != nil {
 82772  					return err
 82773  				}
 82774  				fsrs.MaxConcurrentConnections = maxConcurrentConnections
 82775  			}
 82776  		case "type":
 82777  			if v != nil {
 82778  				var typeVar TypeBasicStoreReadSettings
 82779  				err = json.Unmarshal(*v, &typeVar)
 82780  				if err != nil {
 82781  					return err
 82782  				}
 82783  				fsrs.Type = typeVar
 82784  			}
 82785  		}
 82786  	}
 82787  
 82788  	return nil
 82789  }
 82790  
 82791  // FileServerWriteSettings file server write settings.
 82792  type FileServerWriteSettings struct {
 82793  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 82794  	AdditionalProperties map[string]interface{} `json:""`
 82795  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 82796  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 82797  	// CopyBehavior - The type of copy behavior for copy sink.
 82798  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 82799  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
 82800  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
 82801  }
 82802  
 82803  // MarshalJSON is the custom marshaler for FileServerWriteSettings.
 82804  func (fsws FileServerWriteSettings) MarshalJSON() ([]byte, error) {
 82805  	fsws.Type = TypeFileServerWriteSettings
 82806  	objectMap := make(map[string]interface{})
 82807  	if fsws.MaxConcurrentConnections != nil {
 82808  		objectMap["maxConcurrentConnections"] = fsws.MaxConcurrentConnections
 82809  	}
 82810  	if fsws.CopyBehavior != nil {
 82811  		objectMap["copyBehavior"] = fsws.CopyBehavior
 82812  	}
 82813  	if fsws.Type != "" {
 82814  		objectMap["type"] = fsws.Type
 82815  	}
 82816  	for k, v := range fsws.AdditionalProperties {
 82817  		objectMap[k] = v
 82818  	}
 82819  	return json.Marshal(objectMap)
 82820  }
 82821  
 82822  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82823  func (fsws FileServerWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
 82824  	return &fsws, true
 82825  }
 82826  
 82827  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82828  func (fsws FileServerWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
 82829  	return nil, false
 82830  }
 82831  
 82832  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82833  func (fsws FileServerWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
 82834  	return nil, false
 82835  }
 82836  
 82837  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82838  func (fsws FileServerWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
 82839  	return nil, false
 82840  }
 82841  
 82842  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82843  func (fsws FileServerWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
 82844  	return nil, false
 82845  }
 82846  
 82847  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82848  func (fsws FileServerWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
 82849  	return nil, false
 82850  }
 82851  
 82852  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings.
 82853  func (fsws FileServerWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
 82854  	return &fsws, true
 82855  }
 82856  
 82857  // UnmarshalJSON is the custom unmarshaler for FileServerWriteSettings struct.
 82858  func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error {
 82859  	var m map[string]*json.RawMessage
 82860  	err := json.Unmarshal(body, &m)
 82861  	if err != nil {
 82862  		return err
 82863  	}
 82864  	for k, v := range m {
 82865  		switch k {
 82866  		default:
 82867  			if v != nil {
 82868  				var additionalProperties interface{}
 82869  				err = json.Unmarshal(*v, &additionalProperties)
 82870  				if err != nil {
 82871  					return err
 82872  				}
 82873  				if fsws.AdditionalProperties == nil {
 82874  					fsws.AdditionalProperties = make(map[string]interface{})
 82875  				}
 82876  				fsws.AdditionalProperties[k] = additionalProperties
 82877  			}
 82878  		case "maxConcurrentConnections":
 82879  			if v != nil {
 82880  				var maxConcurrentConnections interface{}
 82881  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 82882  				if err != nil {
 82883  					return err
 82884  				}
 82885  				fsws.MaxConcurrentConnections = maxConcurrentConnections
 82886  			}
 82887  		case "copyBehavior":
 82888  			if v != nil {
 82889  				var copyBehavior interface{}
 82890  				err = json.Unmarshal(*v, &copyBehavior)
 82891  				if err != nil {
 82892  					return err
 82893  				}
 82894  				fsws.CopyBehavior = copyBehavior
 82895  			}
 82896  		case "type":
 82897  			if v != nil {
 82898  				var typeVar TypeBasicStoreWriteSettings
 82899  				err = json.Unmarshal(*v, &typeVar)
 82900  				if err != nil {
 82901  					return err
 82902  				}
 82903  				fsws.Type = typeVar
 82904  			}
 82905  		}
 82906  	}
 82907  
 82908  	return nil
 82909  }
 82910  
 82911  // FileSystemSink a copy activity file system sink.
 82912  type FileSystemSink struct {
 82913  	// CopyBehavior - The type of copy behavior for copy sink.
 82914  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
 82915  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 82916  	AdditionalProperties map[string]interface{} `json:""`
 82917  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
 82918  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
 82919  	// 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])).
 82920  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
 82921  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
 82922  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
 82923  	// 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])).
 82924  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
 82925  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
 82926  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 82927  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
 82928  	Type TypeBasicCopySink `json:"type,omitempty"`
 82929  }
 82930  
 82931  // MarshalJSON is the custom marshaler for FileSystemSink.
 82932  func (fss FileSystemSink) MarshalJSON() ([]byte, error) {
 82933  	fss.Type = TypeFileSystemSink
 82934  	objectMap := make(map[string]interface{})
 82935  	if fss.CopyBehavior != nil {
 82936  		objectMap["copyBehavior"] = fss.CopyBehavior
 82937  	}
 82938  	if fss.WriteBatchSize != nil {
 82939  		objectMap["writeBatchSize"] = fss.WriteBatchSize
 82940  	}
 82941  	if fss.WriteBatchTimeout != nil {
 82942  		objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout
 82943  	}
 82944  	if fss.SinkRetryCount != nil {
 82945  		objectMap["sinkRetryCount"] = fss.SinkRetryCount
 82946  	}
 82947  	if fss.SinkRetryWait != nil {
 82948  		objectMap["sinkRetryWait"] = fss.SinkRetryWait
 82949  	}
 82950  	if fss.MaxConcurrentConnections != nil {
 82951  		objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections
 82952  	}
 82953  	if fss.Type != "" {
 82954  		objectMap["type"] = fss.Type
 82955  	}
 82956  	for k, v := range fss.AdditionalProperties {
 82957  		objectMap[k] = v
 82958  	}
 82959  	return json.Marshal(objectMap)
 82960  }
 82961  
 82962  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for FileSystemSink.
 82963  func (fss FileSystemSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
 82964  	return nil, false
 82965  }
 82966  
 82967  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for FileSystemSink.
 82968  func (fss FileSystemSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
 82969  	return nil, false
 82970  }
 82971  
 82972  // AsSalesforceSink is the BasicCopySink implementation for FileSystemSink.
 82973  func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) {
 82974  	return nil, false
 82975  }
 82976  
 82977  // AsAzureDataExplorerSink is the BasicCopySink implementation for FileSystemSink.
 82978  func (fss FileSystemSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
 82979  	return nil, false
 82980  }
 82981  
 82982  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for FileSystemSink.
 82983  func (fss FileSystemSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
 82984  	return nil, false
 82985  }
 82986  
 82987  // AsDynamicsCrmSink is the BasicCopySink implementation for FileSystemSink.
 82988  func (fss FileSystemSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
 82989  	return nil, false
 82990  }
 82991  
 82992  // AsDynamicsSink is the BasicCopySink implementation for FileSystemSink.
 82993  func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) {
 82994  	return nil, false
 82995  }
 82996  
 82997  // AsMicrosoftAccessSink is the BasicCopySink implementation for FileSystemSink.
 82998  func (fss FileSystemSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
 82999  	return nil, false
 83000  }
 83001  
 83002  // AsInformixSink is the BasicCopySink implementation for FileSystemSink.
 83003  func (fss FileSystemSink) AsInformixSink() (*InformixSink, bool) {
 83004  	return nil, false
 83005  }
 83006  
 83007  // AsOdbcSink is the BasicCopySink implementation for FileSystemSink.
 83008  func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) {
 83009  	return nil, false
 83010  }
 83011  
 83012  // AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink.
 83013  func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
 83014  	return nil, false
 83015  }
 83016  
 83017  // AsAzureBlobFSSink is the BasicCopySink implementation for FileSystemSink.
 83018  func (fss FileSystemSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
 83019  	return nil, false
 83020  }
 83021  
 83022  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink.
 83023  func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
 83024  	return nil, false
 83025  }
 83026  
 83027  // AsOracleSink is the BasicCopySink implementation for FileSystemSink.
 83028  func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) {
 83029  	return nil, false
 83030  }
 83031  
 83032  // AsSQLDWSink is the BasicCopySink implementation for FileSystemSink.
 83033  func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) {
 83034  	return nil, false
 83035  }
 83036  
 83037  // AsSQLMISink is the BasicCopySink implementation for FileSystemSink.
 83038  func (fss FileSystemSink) AsSQLMISink() (*SQLMISink, bool) {
 83039  	return nil, false
 83040  }
 83041  
 83042  // AsAzureSQLSink is the BasicCopySink implementation for FileSystemSink.
 83043  func (fss FileSystemSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
 83044  	return nil, false
 83045  }
 83046  
 83047  // AsSQLServerSink is the BasicCopySink implementation for FileSystemSink.
 83048  func (fss FileSystemSink) AsSQLServerSink() (*SQLServerSink, bool) {
 83049  	return nil, false
 83050  }
 83051  
 83052  // AsSQLSink is the BasicCopySink implementation for FileSystemSink.
 83053  func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) {
 83054  	return nil, false
 83055  }
 83056  
 83057  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for FileSystemSink.
 83058  func (fss FileSystemSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
 83059  	return nil, false
 83060  }
 83061  
 83062  // AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink.
 83063  func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
 83064  	return nil, false
 83065  }
 83066  
 83067  // AsFileSystemSink is the BasicCopySink implementation for FileSystemSink.
 83068  func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) {
 83069  	return &fss, true
 83070  }
 83071  
 83072  // AsBlobSink is the BasicCopySink implementation for FileSystemSink.
 83073  func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) {
 83074  	return nil, false
 83075  }
 83076  
 83077  // AsBinarySink is the BasicCopySink implementation for FileSystemSink.
 83078  func (fss FileSystemSink) AsBinarySink() (*BinarySink, bool) {
 83079  	return nil, false
 83080  }
 83081  
 83082  // AsParquetSink is the BasicCopySink implementation for FileSystemSink.
 83083  func (fss FileSystemSink) AsParquetSink() (*ParquetSink, bool) {
 83084  	return nil, false
 83085  }
 83086  
 83087  // AsAvroSink is the BasicCopySink implementation for FileSystemSink.
 83088  func (fss FileSystemSink) AsAvroSink() (*AvroSink, bool) {
 83089  	return nil, false
 83090  }
 83091  
 83092  // AsAzureTableSink is the BasicCopySink implementation for FileSystemSink.
 83093  func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) {
 83094  	return nil, false
 83095  }
 83096  
 83097  // AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink.
 83098  func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
 83099  	return nil, false
 83100  }
 83101  
 83102  // AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink.
 83103  func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
 83104  	return nil, false
 83105  }
 83106  
 83107  // AsAzureMySQLSink is the BasicCopySink implementation for FileSystemSink.
 83108  func (fss FileSystemSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
 83109  	return nil, false
 83110  }
 83111  
 83112  // AsAzurePostgreSQLSink is the BasicCopySink implementation for FileSystemSink.
 83113  func (fss FileSystemSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
 83114  	return nil, false
 83115  }
 83116  
 83117  // AsOrcSink is the BasicCopySink implementation for FileSystemSink.
 83118  func (fss FileSystemSink) AsOrcSink() (*OrcSink, bool) {
 83119  	return nil, false
 83120  }
 83121  
 83122  // AsJSONSink is the BasicCopySink implementation for FileSystemSink.
 83123  func (fss FileSystemSink) AsJSONSink() (*JSONSink, bool) {
 83124  	return nil, false
 83125  }
 83126  
 83127  // AsDelimitedTextSink is the BasicCopySink implementation for FileSystemSink.
 83128  func (fss FileSystemSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
 83129  	return nil, false
 83130  }
 83131  
 83132  // AsCopySink is the BasicCopySink implementation for FileSystemSink.
 83133  func (fss FileSystemSink) AsCopySink() (*CopySink, bool) {
 83134  	return nil, false
 83135  }
 83136  
 83137  // AsBasicCopySink is the BasicCopySink implementation for FileSystemSink.
 83138  func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) {
 83139  	return &fss, true
 83140  }
 83141  
 83142  // UnmarshalJSON is the custom unmarshaler for FileSystemSink struct.
 83143  func (fss *FileSystemSink) UnmarshalJSON(body []byte) error {
 83144  	var m map[string]*json.RawMessage
 83145  	err := json.Unmarshal(body, &m)
 83146  	if err != nil {
 83147  		return err
 83148  	}
 83149  	for k, v := range m {
 83150  		switch k {
 83151  		case "copyBehavior":
 83152  			if v != nil {
 83153  				var copyBehavior interface{}
 83154  				err = json.Unmarshal(*v, &copyBehavior)
 83155  				if err != nil {
 83156  					return err
 83157  				}
 83158  				fss.CopyBehavior = copyBehavior
 83159  			}
 83160  		default:
 83161  			if v != nil {
 83162  				var additionalProperties interface{}
 83163  				err = json.Unmarshal(*v, &additionalProperties)
 83164  				if err != nil {
 83165  					return err
 83166  				}
 83167  				if fss.AdditionalProperties == nil {
 83168  					fss.AdditionalProperties = make(map[string]interface{})
 83169  				}
 83170  				fss.AdditionalProperties[k] = additionalProperties
 83171  			}
 83172  		case "writeBatchSize":
 83173  			if v != nil {
 83174  				var writeBatchSize interface{}
 83175  				err = json.Unmarshal(*v, &writeBatchSize)
 83176  				if err != nil {
 83177  					return err
 83178  				}
 83179  				fss.WriteBatchSize = writeBatchSize
 83180  			}
 83181  		case "writeBatchTimeout":
 83182  			if v != nil {
 83183  				var writeBatchTimeout interface{}
 83184  				err = json.Unmarshal(*v, &writeBatchTimeout)
 83185  				if err != nil {
 83186  					return err
 83187  				}
 83188  				fss.WriteBatchTimeout = writeBatchTimeout
 83189  			}
 83190  		case "sinkRetryCount":
 83191  			if v != nil {
 83192  				var sinkRetryCount interface{}
 83193  				err = json.Unmarshal(*v, &sinkRetryCount)
 83194  				if err != nil {
 83195  					return err
 83196  				}
 83197  				fss.SinkRetryCount = sinkRetryCount
 83198  			}
 83199  		case "sinkRetryWait":
 83200  			if v != nil {
 83201  				var sinkRetryWait interface{}
 83202  				err = json.Unmarshal(*v, &sinkRetryWait)
 83203  				if err != nil {
 83204  					return err
 83205  				}
 83206  				fss.SinkRetryWait = sinkRetryWait
 83207  			}
 83208  		case "maxConcurrentConnections":
 83209  			if v != nil {
 83210  				var maxConcurrentConnections interface{}
 83211  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 83212  				if err != nil {
 83213  					return err
 83214  				}
 83215  				fss.MaxConcurrentConnections = maxConcurrentConnections
 83216  			}
 83217  		case "type":
 83218  			if v != nil {
 83219  				var typeVar TypeBasicCopySink
 83220  				err = json.Unmarshal(*v, &typeVar)
 83221  				if err != nil {
 83222  					return err
 83223  				}
 83224  				fss.Type = typeVar
 83225  			}
 83226  		}
 83227  	}
 83228  
 83229  	return nil
 83230  }
 83231  
 83232  // FileSystemSource a copy activity file system source.
 83233  type FileSystemSource struct {
 83234  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 83235  	Recursive interface{} `json:"recursive,omitempty"`
 83236  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 83237  	AdditionalProperties map[string]interface{} `json:""`
 83238  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 83239  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 83240  	// 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])).
 83241  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 83242  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 83243  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 83244  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 83245  	Type TypeBasicCopySource `json:"type,omitempty"`
 83246  }
 83247  
 83248  // MarshalJSON is the custom marshaler for FileSystemSource.
 83249  func (fss FileSystemSource) MarshalJSON() ([]byte, error) {
 83250  	fss.Type = TypeFileSystemSource
 83251  	objectMap := make(map[string]interface{})
 83252  	if fss.Recursive != nil {
 83253  		objectMap["recursive"] = fss.Recursive
 83254  	}
 83255  	if fss.SourceRetryCount != nil {
 83256  		objectMap["sourceRetryCount"] = fss.SourceRetryCount
 83257  	}
 83258  	if fss.SourceRetryWait != nil {
 83259  		objectMap["sourceRetryWait"] = fss.SourceRetryWait
 83260  	}
 83261  	if fss.MaxConcurrentConnections != nil {
 83262  		objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections
 83263  	}
 83264  	if fss.Type != "" {
 83265  		objectMap["type"] = fss.Type
 83266  	}
 83267  	for k, v := range fss.AdditionalProperties {
 83268  		objectMap[k] = v
 83269  	}
 83270  	return json.Marshal(objectMap)
 83271  }
 83272  
 83273  // AsHTTPSource is the BasicCopySource implementation for FileSystemSource.
 83274  func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) {
 83275  	return nil, false
 83276  }
 83277  
 83278  // AsAzureBlobFSSource is the BasicCopySource implementation for FileSystemSource.
 83279  func (fss FileSystemSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 83280  	return nil, false
 83281  }
 83282  
 83283  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource.
 83284  func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 83285  	return nil, false
 83286  }
 83287  
 83288  // AsOffice365Source is the BasicCopySource implementation for FileSystemSource.
 83289  func (fss FileSystemSource) AsOffice365Source() (*Office365Source, bool) {
 83290  	return nil, false
 83291  }
 83292  
 83293  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for FileSystemSource.
 83294  func (fss FileSystemSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 83295  	return nil, false
 83296  }
 83297  
 83298  // AsMongoDbV2Source is the BasicCopySource implementation for FileSystemSource.
 83299  func (fss FileSystemSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 83300  	return nil, false
 83301  }
 83302  
 83303  // AsMongoDbSource is the BasicCopySource implementation for FileSystemSource.
 83304  func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) {
 83305  	return nil, false
 83306  }
 83307  
 83308  // AsWebSource is the BasicCopySource implementation for FileSystemSource.
 83309  func (fss FileSystemSource) AsWebSource() (*WebSource, bool) {
 83310  	return nil, false
 83311  }
 83312  
 83313  // AsOracleSource is the BasicCopySource implementation for FileSystemSource.
 83314  func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) {
 83315  	return nil, false
 83316  }
 83317  
 83318  // AsAzureDataExplorerSource is the BasicCopySource implementation for FileSystemSource.
 83319  func (fss FileSystemSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 83320  	return nil, false
 83321  }
 83322  
 83323  // AsHdfsSource is the BasicCopySource implementation for FileSystemSource.
 83324  func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) {
 83325  	return nil, false
 83326  }
 83327  
 83328  // AsFileSystemSource is the BasicCopySource implementation for FileSystemSource.
 83329  func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) {
 83330  	return &fss, true
 83331  }
 83332  
 83333  // AsRestSource is the BasicCopySource implementation for FileSystemSource.
 83334  func (fss FileSystemSource) AsRestSource() (*RestSource, bool) {
 83335  	return nil, false
 83336  }
 83337  
 83338  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for FileSystemSource.
 83339  func (fss FileSystemSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 83340  	return nil, false
 83341  }
 83342  
 83343  // AsODataSource is the BasicCopySource implementation for FileSystemSource.
 83344  func (fss FileSystemSource) AsODataSource() (*ODataSource, bool) {
 83345  	return nil, false
 83346  }
 83347  
 83348  // AsMicrosoftAccessSource is the BasicCopySource implementation for FileSystemSource.
 83349  func (fss FileSystemSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 83350  	return nil, false
 83351  }
 83352  
 83353  // AsRelationalSource is the BasicCopySource implementation for FileSystemSource.
 83354  func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) {
 83355  	return nil, false
 83356  }
 83357  
 83358  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for FileSystemSource.
 83359  func (fss FileSystemSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 83360  	return nil, false
 83361  }
 83362  
 83363  // AsDynamicsCrmSource is the BasicCopySource implementation for FileSystemSource.
 83364  func (fss FileSystemSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 83365  	return nil, false
 83366  }
 83367  
 83368  // AsDynamicsSource is the BasicCopySource implementation for FileSystemSource.
 83369  func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) {
 83370  	return nil, false
 83371  }
 83372  
 83373  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for FileSystemSource.
 83374  func (fss FileSystemSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 83375  	return nil, false
 83376  }
 83377  
 83378  // AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource.
 83379  func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 83380  	return nil, false
 83381  }
 83382  
 83383  // AsBlobSource is the BasicCopySource implementation for FileSystemSource.
 83384  func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) {
 83385  	return nil, false
 83386  }
 83387  
 83388  // AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource.
 83389  func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 83390  	return nil, false
 83391  }
 83392  
 83393  // AsGoogleAdWordsSource is the BasicCopySource implementation for FileSystemSource.
 83394  func (fss FileSystemSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 83395  	return nil, false
 83396  }
 83397  
 83398  // AsOracleServiceCloudSource is the BasicCopySource implementation for FileSystemSource.
 83399  func (fss FileSystemSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 83400  	return nil, false
 83401  }
 83402  
 83403  // AsDynamicsAXSource is the BasicCopySource implementation for FileSystemSource.
 83404  func (fss FileSystemSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 83405  	return nil, false
 83406  }
 83407  
 83408  // AsResponsysSource is the BasicCopySource implementation for FileSystemSource.
 83409  func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) {
 83410  	return nil, false
 83411  }
 83412  
 83413  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource.
 83414  func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 83415  	return nil, false
 83416  }
 83417  
 83418  // AsVerticaSource is the BasicCopySource implementation for FileSystemSource.
 83419  func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) {
 83420  	return nil, false
 83421  }
 83422  
 83423  // AsNetezzaSource is the BasicCopySource implementation for FileSystemSource.
 83424  func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) {
 83425  	return nil, false
 83426  }
 83427  
 83428  // AsZohoSource is the BasicCopySource implementation for FileSystemSource.
 83429  func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) {
 83430  	return nil, false
 83431  }
 83432  
 83433  // AsXeroSource is the BasicCopySource implementation for FileSystemSource.
 83434  func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) {
 83435  	return nil, false
 83436  }
 83437  
 83438  // AsSquareSource is the BasicCopySource implementation for FileSystemSource.
 83439  func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) {
 83440  	return nil, false
 83441  }
 83442  
 83443  // AsSparkSource is the BasicCopySource implementation for FileSystemSource.
 83444  func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) {
 83445  	return nil, false
 83446  }
 83447  
 83448  // AsShopifySource is the BasicCopySource implementation for FileSystemSource.
 83449  func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) {
 83450  	return nil, false
 83451  }
 83452  
 83453  // AsServiceNowSource is the BasicCopySource implementation for FileSystemSource.
 83454  func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 83455  	return nil, false
 83456  }
 83457  
 83458  // AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource.
 83459  func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 83460  	return nil, false
 83461  }
 83462  
 83463  // AsPrestoSource is the BasicCopySource implementation for FileSystemSource.
 83464  func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) {
 83465  	return nil, false
 83466  }
 83467  
 83468  // AsPhoenixSource is the BasicCopySource implementation for FileSystemSource.
 83469  func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) {
 83470  	return nil, false
 83471  }
 83472  
 83473  // AsPaypalSource is the BasicCopySource implementation for FileSystemSource.
 83474  func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) {
 83475  	return nil, false
 83476  }
 83477  
 83478  // AsMarketoSource is the BasicCopySource implementation for FileSystemSource.
 83479  func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) {
 83480  	return nil, false
 83481  }
 83482  
 83483  // AsAzureMariaDBSource is the BasicCopySource implementation for FileSystemSource.
 83484  func (fss FileSystemSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 83485  	return nil, false
 83486  }
 83487  
 83488  // AsMariaDBSource is the BasicCopySource implementation for FileSystemSource.
 83489  func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) {
 83490  	return nil, false
 83491  }
 83492  
 83493  // AsMagentoSource is the BasicCopySource implementation for FileSystemSource.
 83494  func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) {
 83495  	return nil, false
 83496  }
 83497  
 83498  // AsJiraSource is the BasicCopySource implementation for FileSystemSource.
 83499  func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) {
 83500  	return nil, false
 83501  }
 83502  
 83503  // AsImpalaSource is the BasicCopySource implementation for FileSystemSource.
 83504  func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) {
 83505  	return nil, false
 83506  }
 83507  
 83508  // AsHubspotSource is the BasicCopySource implementation for FileSystemSource.
 83509  func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) {
 83510  	return nil, false
 83511  }
 83512  
 83513  // AsHiveSource is the BasicCopySource implementation for FileSystemSource.
 83514  func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) {
 83515  	return nil, false
 83516  }
 83517  
 83518  // AsHBaseSource is the BasicCopySource implementation for FileSystemSource.
 83519  func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) {
 83520  	return nil, false
 83521  }
 83522  
 83523  // AsGreenplumSource is the BasicCopySource implementation for FileSystemSource.
 83524  func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) {
 83525  	return nil, false
 83526  }
 83527  
 83528  // AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource.
 83529  func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 83530  	return nil, false
 83531  }
 83532  
 83533  // AsEloquaSource is the BasicCopySource implementation for FileSystemSource.
 83534  func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) {
 83535  	return nil, false
 83536  }
 83537  
 83538  // AsDrillSource is the BasicCopySource implementation for FileSystemSource.
 83539  func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) {
 83540  	return nil, false
 83541  }
 83542  
 83543  // AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource.
 83544  func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 83545  	return nil, false
 83546  }
 83547  
 83548  // AsConcurSource is the BasicCopySource implementation for FileSystemSource.
 83549  func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) {
 83550  	return nil, false
 83551  }
 83552  
 83553  // AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
 83554  func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 83555  	return nil, false
 83556  }
 83557  
 83558  // AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource.
 83559  func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 83560  	return nil, false
 83561  }
 83562  
 83563  // AsCassandraSource is the BasicCopySource implementation for FileSystemSource.
 83564  func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) {
 83565  	return nil, false
 83566  }
 83567  
 83568  // AsTeradataSource is the BasicCopySource implementation for FileSystemSource.
 83569  func (fss FileSystemSource) AsTeradataSource() (*TeradataSource, bool) {
 83570  	return nil, false
 83571  }
 83572  
 83573  // AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource.
 83574  func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 83575  	return nil, false
 83576  }
 83577  
 83578  // AsSQLDWSource is the BasicCopySource implementation for FileSystemSource.
 83579  func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) {
 83580  	return nil, false
 83581  }
 83582  
 83583  // AsSQLMISource is the BasicCopySource implementation for FileSystemSource.
 83584  func (fss FileSystemSource) AsSQLMISource() (*SQLMISource, bool) {
 83585  	return nil, false
 83586  }
 83587  
 83588  // AsAzureSQLSource is the BasicCopySource implementation for FileSystemSource.
 83589  func (fss FileSystemSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 83590  	return nil, false
 83591  }
 83592  
 83593  // AsSQLServerSource is the BasicCopySource implementation for FileSystemSource.
 83594  func (fss FileSystemSource) AsSQLServerSource() (*SQLServerSource, bool) {
 83595  	return nil, false
 83596  }
 83597  
 83598  // AsSQLSource is the BasicCopySource implementation for FileSystemSource.
 83599  func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) {
 83600  	return nil, false
 83601  }
 83602  
 83603  // AsSapTableSource is the BasicCopySource implementation for FileSystemSource.
 83604  func (fss FileSystemSource) AsSapTableSource() (*SapTableSource, bool) {
 83605  	return nil, false
 83606  }
 83607  
 83608  // AsSapOpenHubSource is the BasicCopySource implementation for FileSystemSource.
 83609  func (fss FileSystemSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 83610  	return nil, false
 83611  }
 83612  
 83613  // AsSapHanaSource is the BasicCopySource implementation for FileSystemSource.
 83614  func (fss FileSystemSource) AsSapHanaSource() (*SapHanaSource, bool) {
 83615  	return nil, false
 83616  }
 83617  
 83618  // AsSapEccSource is the BasicCopySource implementation for FileSystemSource.
 83619  func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) {
 83620  	return nil, false
 83621  }
 83622  
 83623  // AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource.
 83624  func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 83625  	return nil, false
 83626  }
 83627  
 83628  // AsSalesforceSource is the BasicCopySource implementation for FileSystemSource.
 83629  func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) {
 83630  	return nil, false
 83631  }
 83632  
 83633  // AsSapBwSource is the BasicCopySource implementation for FileSystemSource.
 83634  func (fss FileSystemSource) AsSapBwSource() (*SapBwSource, bool) {
 83635  	return nil, false
 83636  }
 83637  
 83638  // AsSybaseSource is the BasicCopySource implementation for FileSystemSource.
 83639  func (fss FileSystemSource) AsSybaseSource() (*SybaseSource, bool) {
 83640  	return nil, false
 83641  }
 83642  
 83643  // AsPostgreSQLSource is the BasicCopySource implementation for FileSystemSource.
 83644  func (fss FileSystemSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 83645  	return nil, false
 83646  }
 83647  
 83648  // AsMySQLSource is the BasicCopySource implementation for FileSystemSource.
 83649  func (fss FileSystemSource) AsMySQLSource() (*MySQLSource, bool) {
 83650  	return nil, false
 83651  }
 83652  
 83653  // AsOdbcSource is the BasicCopySource implementation for FileSystemSource.
 83654  func (fss FileSystemSource) AsOdbcSource() (*OdbcSource, bool) {
 83655  	return nil, false
 83656  }
 83657  
 83658  // AsDb2Source is the BasicCopySource implementation for FileSystemSource.
 83659  func (fss FileSystemSource) AsDb2Source() (*Db2Source, bool) {
 83660  	return nil, false
 83661  }
 83662  
 83663  // AsInformixSource is the BasicCopySource implementation for FileSystemSource.
 83664  func (fss FileSystemSource) AsInformixSource() (*InformixSource, bool) {
 83665  	return nil, false
 83666  }
 83667  
 83668  // AsAzureTableSource is the BasicCopySource implementation for FileSystemSource.
 83669  func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) {
 83670  	return nil, false
 83671  }
 83672  
 83673  // AsTabularSource is the BasicCopySource implementation for FileSystemSource.
 83674  func (fss FileSystemSource) AsTabularSource() (*TabularSource, bool) {
 83675  	return nil, false
 83676  }
 83677  
 83678  // AsBasicTabularSource is the BasicCopySource implementation for FileSystemSource.
 83679  func (fss FileSystemSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 83680  	return nil, false
 83681  }
 83682  
 83683  // AsBinarySource is the BasicCopySource implementation for FileSystemSource.
 83684  func (fss FileSystemSource) AsBinarySource() (*BinarySource, bool) {
 83685  	return nil, false
 83686  }
 83687  
 83688  // AsOrcSource is the BasicCopySource implementation for FileSystemSource.
 83689  func (fss FileSystemSource) AsOrcSource() (*OrcSource, bool) {
 83690  	return nil, false
 83691  }
 83692  
 83693  // AsJSONSource is the BasicCopySource implementation for FileSystemSource.
 83694  func (fss FileSystemSource) AsJSONSource() (*JSONSource, bool) {
 83695  	return nil, false
 83696  }
 83697  
 83698  // AsDelimitedTextSource is the BasicCopySource implementation for FileSystemSource.
 83699  func (fss FileSystemSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 83700  	return nil, false
 83701  }
 83702  
 83703  // AsParquetSource is the BasicCopySource implementation for FileSystemSource.
 83704  func (fss FileSystemSource) AsParquetSource() (*ParquetSource, bool) {
 83705  	return nil, false
 83706  }
 83707  
 83708  // AsAvroSource is the BasicCopySource implementation for FileSystemSource.
 83709  func (fss FileSystemSource) AsAvroSource() (*AvroSource, bool) {
 83710  	return nil, false
 83711  }
 83712  
 83713  // AsCopySource is the BasicCopySource implementation for FileSystemSource.
 83714  func (fss FileSystemSource) AsCopySource() (*CopySource, bool) {
 83715  	return nil, false
 83716  }
 83717  
 83718  // AsBasicCopySource is the BasicCopySource implementation for FileSystemSource.
 83719  func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) {
 83720  	return &fss, true
 83721  }
 83722  
 83723  // UnmarshalJSON is the custom unmarshaler for FileSystemSource struct.
 83724  func (fss *FileSystemSource) UnmarshalJSON(body []byte) error {
 83725  	var m map[string]*json.RawMessage
 83726  	err := json.Unmarshal(body, &m)
 83727  	if err != nil {
 83728  		return err
 83729  	}
 83730  	for k, v := range m {
 83731  		switch k {
 83732  		case "recursive":
 83733  			if v != nil {
 83734  				var recursive interface{}
 83735  				err = json.Unmarshal(*v, &recursive)
 83736  				if err != nil {
 83737  					return err
 83738  				}
 83739  				fss.Recursive = recursive
 83740  			}
 83741  		default:
 83742  			if v != nil {
 83743  				var additionalProperties interface{}
 83744  				err = json.Unmarshal(*v, &additionalProperties)
 83745  				if err != nil {
 83746  					return err
 83747  				}
 83748  				if fss.AdditionalProperties == nil {
 83749  					fss.AdditionalProperties = make(map[string]interface{})
 83750  				}
 83751  				fss.AdditionalProperties[k] = additionalProperties
 83752  			}
 83753  		case "sourceRetryCount":
 83754  			if v != nil {
 83755  				var sourceRetryCount interface{}
 83756  				err = json.Unmarshal(*v, &sourceRetryCount)
 83757  				if err != nil {
 83758  					return err
 83759  				}
 83760  				fss.SourceRetryCount = sourceRetryCount
 83761  			}
 83762  		case "sourceRetryWait":
 83763  			if v != nil {
 83764  				var sourceRetryWait interface{}
 83765  				err = json.Unmarshal(*v, &sourceRetryWait)
 83766  				if err != nil {
 83767  					return err
 83768  				}
 83769  				fss.SourceRetryWait = sourceRetryWait
 83770  			}
 83771  		case "maxConcurrentConnections":
 83772  			if v != nil {
 83773  				var maxConcurrentConnections interface{}
 83774  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 83775  				if err != nil {
 83776  					return err
 83777  				}
 83778  				fss.MaxConcurrentConnections = maxConcurrentConnections
 83779  			}
 83780  		case "type":
 83781  			if v != nil {
 83782  				var typeVar TypeBasicCopySource
 83783  				err = json.Unmarshal(*v, &typeVar)
 83784  				if err != nil {
 83785  					return err
 83786  				}
 83787  				fss.Type = typeVar
 83788  			}
 83789  		}
 83790  	}
 83791  
 83792  	return nil
 83793  }
 83794  
 83795  // FilterActivity filter and return results from input array based on the conditions.
 83796  type FilterActivity struct {
 83797  	// FilterActivityTypeProperties - Filter activity properties.
 83798  	*FilterActivityTypeProperties `json:"typeProperties,omitempty"`
 83799  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 83800  	AdditionalProperties map[string]interface{} `json:""`
 83801  	// Name - Activity name.
 83802  	Name *string `json:"name,omitempty"`
 83803  	// Description - Activity description.
 83804  	Description *string `json:"description,omitempty"`
 83805  	// DependsOn - Activity depends on condition.
 83806  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 83807  	// UserProperties - Activity user properties.
 83808  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 83809  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 83810  	Type TypeBasicActivity `json:"type,omitempty"`
 83811  }
 83812  
 83813  // MarshalJSON is the custom marshaler for FilterActivity.
 83814  func (fa FilterActivity) MarshalJSON() ([]byte, error) {
 83815  	fa.Type = TypeFilter
 83816  	objectMap := make(map[string]interface{})
 83817  	if fa.FilterActivityTypeProperties != nil {
 83818  		objectMap["typeProperties"] = fa.FilterActivityTypeProperties
 83819  	}
 83820  	if fa.Name != nil {
 83821  		objectMap["name"] = fa.Name
 83822  	}
 83823  	if fa.Description != nil {
 83824  		objectMap["description"] = fa.Description
 83825  	}
 83826  	if fa.DependsOn != nil {
 83827  		objectMap["dependsOn"] = fa.DependsOn
 83828  	}
 83829  	if fa.UserProperties != nil {
 83830  		objectMap["userProperties"] = fa.UserProperties
 83831  	}
 83832  	if fa.Type != "" {
 83833  		objectMap["type"] = fa.Type
 83834  	}
 83835  	for k, v := range fa.AdditionalProperties {
 83836  		objectMap[k] = v
 83837  	}
 83838  	return json.Marshal(objectMap)
 83839  }
 83840  
 83841  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for FilterActivity.
 83842  func (fa FilterActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 83843  	return nil, false
 83844  }
 83845  
 83846  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for FilterActivity.
 83847  func (fa FilterActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 83848  	return nil, false
 83849  }
 83850  
 83851  // AsSynapseNotebookActivity is the BasicActivity implementation for FilterActivity.
 83852  func (fa FilterActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 83853  	return nil, false
 83854  }
 83855  
 83856  // AsExecuteDataFlowActivity is the BasicActivity implementation for FilterActivity.
 83857  func (fa FilterActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 83858  	return nil, false
 83859  }
 83860  
 83861  // AsAzureFunctionActivity is the BasicActivity implementation for FilterActivity.
 83862  func (fa FilterActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 83863  	return nil, false
 83864  }
 83865  
 83866  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for FilterActivity.
 83867  func (fa FilterActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 83868  	return nil, false
 83869  }
 83870  
 83871  // AsDatabricksSparkJarActivity is the BasicActivity implementation for FilterActivity.
 83872  func (fa FilterActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 83873  	return nil, false
 83874  }
 83875  
 83876  // AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity.
 83877  func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 83878  	return nil, false
 83879  }
 83880  
 83881  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity.
 83882  func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 83883  	return nil, false
 83884  }
 83885  
 83886  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for FilterActivity.
 83887  func (fa FilterActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 83888  	return nil, false
 83889  }
 83890  
 83891  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity.
 83892  func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 83893  	return nil, false
 83894  }
 83895  
 83896  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity.
 83897  func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 83898  	return nil, false
 83899  }
 83900  
 83901  // AsGetMetadataActivity is the BasicActivity implementation for FilterActivity.
 83902  func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 83903  	return nil, false
 83904  }
 83905  
 83906  // AsWebActivity is the BasicActivity implementation for FilterActivity.
 83907  func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) {
 83908  	return nil, false
 83909  }
 83910  
 83911  // AsLookupActivity is the BasicActivity implementation for FilterActivity.
 83912  func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) {
 83913  	return nil, false
 83914  }
 83915  
 83916  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for FilterActivity.
 83917  func (fa FilterActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 83918  	return nil, false
 83919  }
 83920  
 83921  // AsDeleteActivity is the BasicActivity implementation for FilterActivity.
 83922  func (fa FilterActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 83923  	return nil, false
 83924  }
 83925  
 83926  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity.
 83927  func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 83928  	return nil, false
 83929  }
 83930  
 83931  // AsCustomActivity is the BasicActivity implementation for FilterActivity.
 83932  func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) {
 83933  	return nil, false
 83934  }
 83935  
 83936  // AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity.
 83937  func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 83938  	return nil, false
 83939  }
 83940  
 83941  // AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity.
 83942  func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 83943  	return nil, false
 83944  }
 83945  
 83946  // AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity.
 83947  func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 83948  	return nil, false
 83949  }
 83950  
 83951  // AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity.
 83952  func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 83953  	return nil, false
 83954  }
 83955  
 83956  // AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity.
 83957  func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 83958  	return nil, false
 83959  }
 83960  
 83961  // AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity.
 83962  func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 83963  	return nil, false
 83964  }
 83965  
 83966  // AsCopyActivity is the BasicActivity implementation for FilterActivity.
 83967  func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) {
 83968  	return nil, false
 83969  }
 83970  
 83971  // AsExecutionActivity is the BasicActivity implementation for FilterActivity.
 83972  func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 83973  	return nil, false
 83974  }
 83975  
 83976  // AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity.
 83977  func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 83978  	return nil, false
 83979  }
 83980  
 83981  // AsWebHookActivity is the BasicActivity implementation for FilterActivity.
 83982  func (fa FilterActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 83983  	return nil, false
 83984  }
 83985  
 83986  // AsAppendVariableActivity is the BasicActivity implementation for FilterActivity.
 83987  func (fa FilterActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 83988  	return nil, false
 83989  }
 83990  
 83991  // AsSetVariableActivity is the BasicActivity implementation for FilterActivity.
 83992  func (fa FilterActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 83993  	return nil, false
 83994  }
 83995  
 83996  // AsFilterActivity is the BasicActivity implementation for FilterActivity.
 83997  func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) {
 83998  	return &fa, true
 83999  }
 84000  
 84001  // AsValidationActivity is the BasicActivity implementation for FilterActivity.
 84002  func (fa FilterActivity) AsValidationActivity() (*ValidationActivity, bool) {
 84003  	return nil, false
 84004  }
 84005  
 84006  // AsUntilActivity is the BasicActivity implementation for FilterActivity.
 84007  func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) {
 84008  	return nil, false
 84009  }
 84010  
 84011  // AsWaitActivity is the BasicActivity implementation for FilterActivity.
 84012  func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) {
 84013  	return nil, false
 84014  }
 84015  
 84016  // AsForEachActivity is the BasicActivity implementation for FilterActivity.
 84017  func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) {
 84018  	return nil, false
 84019  }
 84020  
 84021  // AsSwitchActivity is the BasicActivity implementation for FilterActivity.
 84022  func (fa FilterActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 84023  	return nil, false
 84024  }
 84025  
 84026  // AsIfConditionActivity is the BasicActivity implementation for FilterActivity.
 84027  func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 84028  	return nil, false
 84029  }
 84030  
 84031  // AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity.
 84032  func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 84033  	return nil, false
 84034  }
 84035  
 84036  // AsControlActivity is the BasicActivity implementation for FilterActivity.
 84037  func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) {
 84038  	return nil, false
 84039  }
 84040  
 84041  // AsBasicControlActivity is the BasicActivity implementation for FilterActivity.
 84042  func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 84043  	return &fa, true
 84044  }
 84045  
 84046  // AsActivity is the BasicActivity implementation for FilterActivity.
 84047  func (fa FilterActivity) AsActivity() (*Activity, bool) {
 84048  	return nil, false
 84049  }
 84050  
 84051  // AsBasicActivity is the BasicActivity implementation for FilterActivity.
 84052  func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) {
 84053  	return &fa, true
 84054  }
 84055  
 84056  // UnmarshalJSON is the custom unmarshaler for FilterActivity struct.
 84057  func (fa *FilterActivity) UnmarshalJSON(body []byte) error {
 84058  	var m map[string]*json.RawMessage
 84059  	err := json.Unmarshal(body, &m)
 84060  	if err != nil {
 84061  		return err
 84062  	}
 84063  	for k, v := range m {
 84064  		switch k {
 84065  		case "typeProperties":
 84066  			if v != nil {
 84067  				var filterActivityTypeProperties FilterActivityTypeProperties
 84068  				err = json.Unmarshal(*v, &filterActivityTypeProperties)
 84069  				if err != nil {
 84070  					return err
 84071  				}
 84072  				fa.FilterActivityTypeProperties = &filterActivityTypeProperties
 84073  			}
 84074  		default:
 84075  			if v != nil {
 84076  				var additionalProperties interface{}
 84077  				err = json.Unmarshal(*v, &additionalProperties)
 84078  				if err != nil {
 84079  					return err
 84080  				}
 84081  				if fa.AdditionalProperties == nil {
 84082  					fa.AdditionalProperties = make(map[string]interface{})
 84083  				}
 84084  				fa.AdditionalProperties[k] = additionalProperties
 84085  			}
 84086  		case "name":
 84087  			if v != nil {
 84088  				var name string
 84089  				err = json.Unmarshal(*v, &name)
 84090  				if err != nil {
 84091  					return err
 84092  				}
 84093  				fa.Name = &name
 84094  			}
 84095  		case "description":
 84096  			if v != nil {
 84097  				var description string
 84098  				err = json.Unmarshal(*v, &description)
 84099  				if err != nil {
 84100  					return err
 84101  				}
 84102  				fa.Description = &description
 84103  			}
 84104  		case "dependsOn":
 84105  			if v != nil {
 84106  				var dependsOn []ActivityDependency
 84107  				err = json.Unmarshal(*v, &dependsOn)
 84108  				if err != nil {
 84109  					return err
 84110  				}
 84111  				fa.DependsOn = &dependsOn
 84112  			}
 84113  		case "userProperties":
 84114  			if v != nil {
 84115  				var userProperties []UserProperty
 84116  				err = json.Unmarshal(*v, &userProperties)
 84117  				if err != nil {
 84118  					return err
 84119  				}
 84120  				fa.UserProperties = &userProperties
 84121  			}
 84122  		case "type":
 84123  			if v != nil {
 84124  				var typeVar TypeBasicActivity
 84125  				err = json.Unmarshal(*v, &typeVar)
 84126  				if err != nil {
 84127  					return err
 84128  				}
 84129  				fa.Type = typeVar
 84130  			}
 84131  		}
 84132  	}
 84133  
 84134  	return nil
 84135  }
 84136  
 84137  // FilterActivityTypeProperties filter activity properties.
 84138  type FilterActivityTypeProperties struct {
 84139  	// Items - Input array on which filter should be applied.
 84140  	Items *Expression `json:"items,omitempty"`
 84141  	// Condition - Condition to be used for filtering the input.
 84142  	Condition *Expression `json:"condition,omitempty"`
 84143  }
 84144  
 84145  // ForEachActivity this activity is used for iterating over a collection and execute given activities.
 84146  type ForEachActivity struct {
 84147  	// ForEachActivityTypeProperties - ForEach activity properties.
 84148  	*ForEachActivityTypeProperties `json:"typeProperties,omitempty"`
 84149  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 84150  	AdditionalProperties map[string]interface{} `json:""`
 84151  	// Name - Activity name.
 84152  	Name *string `json:"name,omitempty"`
 84153  	// Description - Activity description.
 84154  	Description *string `json:"description,omitempty"`
 84155  	// DependsOn - Activity depends on condition.
 84156  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 84157  	// UserProperties - Activity user properties.
 84158  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 84159  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 84160  	Type TypeBasicActivity `json:"type,omitempty"`
 84161  }
 84162  
 84163  // MarshalJSON is the custom marshaler for ForEachActivity.
 84164  func (fea ForEachActivity) MarshalJSON() ([]byte, error) {
 84165  	fea.Type = TypeForEach
 84166  	objectMap := make(map[string]interface{})
 84167  	if fea.ForEachActivityTypeProperties != nil {
 84168  		objectMap["typeProperties"] = fea.ForEachActivityTypeProperties
 84169  	}
 84170  	if fea.Name != nil {
 84171  		objectMap["name"] = fea.Name
 84172  	}
 84173  	if fea.Description != nil {
 84174  		objectMap["description"] = fea.Description
 84175  	}
 84176  	if fea.DependsOn != nil {
 84177  		objectMap["dependsOn"] = fea.DependsOn
 84178  	}
 84179  	if fea.UserProperties != nil {
 84180  		objectMap["userProperties"] = fea.UserProperties
 84181  	}
 84182  	if fea.Type != "" {
 84183  		objectMap["type"] = fea.Type
 84184  	}
 84185  	for k, v := range fea.AdditionalProperties {
 84186  		objectMap[k] = v
 84187  	}
 84188  	return json.Marshal(objectMap)
 84189  }
 84190  
 84191  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ForEachActivity.
 84192  func (fea ForEachActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 84193  	return nil, false
 84194  }
 84195  
 84196  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ForEachActivity.
 84197  func (fea ForEachActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 84198  	return nil, false
 84199  }
 84200  
 84201  // AsSynapseNotebookActivity is the BasicActivity implementation for ForEachActivity.
 84202  func (fea ForEachActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 84203  	return nil, false
 84204  }
 84205  
 84206  // AsExecuteDataFlowActivity is the BasicActivity implementation for ForEachActivity.
 84207  func (fea ForEachActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 84208  	return nil, false
 84209  }
 84210  
 84211  // AsAzureFunctionActivity is the BasicActivity implementation for ForEachActivity.
 84212  func (fea ForEachActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 84213  	return nil, false
 84214  }
 84215  
 84216  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ForEachActivity.
 84217  func (fea ForEachActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 84218  	return nil, false
 84219  }
 84220  
 84221  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ForEachActivity.
 84222  func (fea ForEachActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 84223  	return nil, false
 84224  }
 84225  
 84226  // AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity.
 84227  func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 84228  	return nil, false
 84229  }
 84230  
 84231  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity.
 84232  func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 84233  	return nil, false
 84234  }
 84235  
 84236  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ForEachActivity.
 84237  func (fea ForEachActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 84238  	return nil, false
 84239  }
 84240  
 84241  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity.
 84242  func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 84243  	return nil, false
 84244  }
 84245  
 84246  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity.
 84247  func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 84248  	return nil, false
 84249  }
 84250  
 84251  // AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity.
 84252  func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 84253  	return nil, false
 84254  }
 84255  
 84256  // AsWebActivity is the BasicActivity implementation for ForEachActivity.
 84257  func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) {
 84258  	return nil, false
 84259  }
 84260  
 84261  // AsLookupActivity is the BasicActivity implementation for ForEachActivity.
 84262  func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) {
 84263  	return nil, false
 84264  }
 84265  
 84266  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ForEachActivity.
 84267  func (fea ForEachActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 84268  	return nil, false
 84269  }
 84270  
 84271  // AsDeleteActivity is the BasicActivity implementation for ForEachActivity.
 84272  func (fea ForEachActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 84273  	return nil, false
 84274  }
 84275  
 84276  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity.
 84277  func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 84278  	return nil, false
 84279  }
 84280  
 84281  // AsCustomActivity is the BasicActivity implementation for ForEachActivity.
 84282  func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) {
 84283  	return nil, false
 84284  }
 84285  
 84286  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity.
 84287  func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 84288  	return nil, false
 84289  }
 84290  
 84291  // AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity.
 84292  func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 84293  	return nil, false
 84294  }
 84295  
 84296  // AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity.
 84297  func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 84298  	return nil, false
 84299  }
 84300  
 84301  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity.
 84302  func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 84303  	return nil, false
 84304  }
 84305  
 84306  // AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity.
 84307  func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 84308  	return nil, false
 84309  }
 84310  
 84311  // AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity.
 84312  func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 84313  	return nil, false
 84314  }
 84315  
 84316  // AsCopyActivity is the BasicActivity implementation for ForEachActivity.
 84317  func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) {
 84318  	return nil, false
 84319  }
 84320  
 84321  // AsExecutionActivity is the BasicActivity implementation for ForEachActivity.
 84322  func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 84323  	return nil, false
 84324  }
 84325  
 84326  // AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity.
 84327  func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 84328  	return nil, false
 84329  }
 84330  
 84331  // AsWebHookActivity is the BasicActivity implementation for ForEachActivity.
 84332  func (fea ForEachActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 84333  	return nil, false
 84334  }
 84335  
 84336  // AsAppendVariableActivity is the BasicActivity implementation for ForEachActivity.
 84337  func (fea ForEachActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 84338  	return nil, false
 84339  }
 84340  
 84341  // AsSetVariableActivity is the BasicActivity implementation for ForEachActivity.
 84342  func (fea ForEachActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 84343  	return nil, false
 84344  }
 84345  
 84346  // AsFilterActivity is the BasicActivity implementation for ForEachActivity.
 84347  func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) {
 84348  	return nil, false
 84349  }
 84350  
 84351  // AsValidationActivity is the BasicActivity implementation for ForEachActivity.
 84352  func (fea ForEachActivity) AsValidationActivity() (*ValidationActivity, bool) {
 84353  	return nil, false
 84354  }
 84355  
 84356  // AsUntilActivity is the BasicActivity implementation for ForEachActivity.
 84357  func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) {
 84358  	return nil, false
 84359  }
 84360  
 84361  // AsWaitActivity is the BasicActivity implementation for ForEachActivity.
 84362  func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) {
 84363  	return nil, false
 84364  }
 84365  
 84366  // AsForEachActivity is the BasicActivity implementation for ForEachActivity.
 84367  func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) {
 84368  	return &fea, true
 84369  }
 84370  
 84371  // AsSwitchActivity is the BasicActivity implementation for ForEachActivity.
 84372  func (fea ForEachActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 84373  	return nil, false
 84374  }
 84375  
 84376  // AsIfConditionActivity is the BasicActivity implementation for ForEachActivity.
 84377  func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 84378  	return nil, false
 84379  }
 84380  
 84381  // AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity.
 84382  func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 84383  	return nil, false
 84384  }
 84385  
 84386  // AsControlActivity is the BasicActivity implementation for ForEachActivity.
 84387  func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) {
 84388  	return nil, false
 84389  }
 84390  
 84391  // AsBasicControlActivity is the BasicActivity implementation for ForEachActivity.
 84392  func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 84393  	return &fea, true
 84394  }
 84395  
 84396  // AsActivity is the BasicActivity implementation for ForEachActivity.
 84397  func (fea ForEachActivity) AsActivity() (*Activity, bool) {
 84398  	return nil, false
 84399  }
 84400  
 84401  // AsBasicActivity is the BasicActivity implementation for ForEachActivity.
 84402  func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) {
 84403  	return &fea, true
 84404  }
 84405  
 84406  // UnmarshalJSON is the custom unmarshaler for ForEachActivity struct.
 84407  func (fea *ForEachActivity) UnmarshalJSON(body []byte) error {
 84408  	var m map[string]*json.RawMessage
 84409  	err := json.Unmarshal(body, &m)
 84410  	if err != nil {
 84411  		return err
 84412  	}
 84413  	for k, v := range m {
 84414  		switch k {
 84415  		case "typeProperties":
 84416  			if v != nil {
 84417  				var forEachActivityTypeProperties ForEachActivityTypeProperties
 84418  				err = json.Unmarshal(*v, &forEachActivityTypeProperties)
 84419  				if err != nil {
 84420  					return err
 84421  				}
 84422  				fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties
 84423  			}
 84424  		default:
 84425  			if v != nil {
 84426  				var additionalProperties interface{}
 84427  				err = json.Unmarshal(*v, &additionalProperties)
 84428  				if err != nil {
 84429  					return err
 84430  				}
 84431  				if fea.AdditionalProperties == nil {
 84432  					fea.AdditionalProperties = make(map[string]interface{})
 84433  				}
 84434  				fea.AdditionalProperties[k] = additionalProperties
 84435  			}
 84436  		case "name":
 84437  			if v != nil {
 84438  				var name string
 84439  				err = json.Unmarshal(*v, &name)
 84440  				if err != nil {
 84441  					return err
 84442  				}
 84443  				fea.Name = &name
 84444  			}
 84445  		case "description":
 84446  			if v != nil {
 84447  				var description string
 84448  				err = json.Unmarshal(*v, &description)
 84449  				if err != nil {
 84450  					return err
 84451  				}
 84452  				fea.Description = &description
 84453  			}
 84454  		case "dependsOn":
 84455  			if v != nil {
 84456  				var dependsOn []ActivityDependency
 84457  				err = json.Unmarshal(*v, &dependsOn)
 84458  				if err != nil {
 84459  					return err
 84460  				}
 84461  				fea.DependsOn = &dependsOn
 84462  			}
 84463  		case "userProperties":
 84464  			if v != nil {
 84465  				var userProperties []UserProperty
 84466  				err = json.Unmarshal(*v, &userProperties)
 84467  				if err != nil {
 84468  					return err
 84469  				}
 84470  				fea.UserProperties = &userProperties
 84471  			}
 84472  		case "type":
 84473  			if v != nil {
 84474  				var typeVar TypeBasicActivity
 84475  				err = json.Unmarshal(*v, &typeVar)
 84476  				if err != nil {
 84477  					return err
 84478  				}
 84479  				fea.Type = typeVar
 84480  			}
 84481  		}
 84482  	}
 84483  
 84484  	return nil
 84485  }
 84486  
 84487  // ForEachActivityTypeProperties forEach activity properties.
 84488  type ForEachActivityTypeProperties struct {
 84489  	// IsSequential - Should the loop be executed in sequence or in parallel (max 50)
 84490  	IsSequential *bool `json:"isSequential,omitempty"`
 84491  	// BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
 84492  	BatchCount *int32 `json:"batchCount,omitempty"`
 84493  	// Items - Collection to iterate.
 84494  	Items *Expression `json:"items,omitempty"`
 84495  	// Activities - List of activities to execute .
 84496  	Activities *[]BasicActivity `json:"activities,omitempty"`
 84497  }
 84498  
 84499  // UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct.
 84500  func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error {
 84501  	var m map[string]*json.RawMessage
 84502  	err := json.Unmarshal(body, &m)
 84503  	if err != nil {
 84504  		return err
 84505  	}
 84506  	for k, v := range m {
 84507  		switch k {
 84508  		case "isSequential":
 84509  			if v != nil {
 84510  				var isSequential bool
 84511  				err = json.Unmarshal(*v, &isSequential)
 84512  				if err != nil {
 84513  					return err
 84514  				}
 84515  				featp.IsSequential = &isSequential
 84516  			}
 84517  		case "batchCount":
 84518  			if v != nil {
 84519  				var batchCount int32
 84520  				err = json.Unmarshal(*v, &batchCount)
 84521  				if err != nil {
 84522  					return err
 84523  				}
 84524  				featp.BatchCount = &batchCount
 84525  			}
 84526  		case "items":
 84527  			if v != nil {
 84528  				var items Expression
 84529  				err = json.Unmarshal(*v, &items)
 84530  				if err != nil {
 84531  					return err
 84532  				}
 84533  				featp.Items = &items
 84534  			}
 84535  		case "activities":
 84536  			if v != nil {
 84537  				activities, err := unmarshalBasicActivityArray(*v)
 84538  				if err != nil {
 84539  					return err
 84540  				}
 84541  				featp.Activities = &activities
 84542  			}
 84543  		}
 84544  	}
 84545  
 84546  	return nil
 84547  }
 84548  
 84549  // BasicFormatReadSettings format read settings.
 84550  type BasicFormatReadSettings interface {
 84551  	AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool)
 84552  	AsFormatReadSettings() (*FormatReadSettings, bool)
 84553  }
 84554  
 84555  // FormatReadSettings format read settings.
 84556  type FormatReadSettings struct {
 84557  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 84558  	AdditionalProperties map[string]interface{} `json:""`
 84559  	// Type - Possible values include: 'TypeFormatReadSettings', 'TypeDelimitedTextReadSettings'
 84560  	Type TypeBasicFormatReadSettings `json:"type,omitempty"`
 84561  }
 84562  
 84563  func unmarshalBasicFormatReadSettings(body []byte) (BasicFormatReadSettings, error) {
 84564  	var m map[string]interface{}
 84565  	err := json.Unmarshal(body, &m)
 84566  	if err != nil {
 84567  		return nil, err
 84568  	}
 84569  
 84570  	switch m["type"] {
 84571  	case string(TypeDelimitedTextReadSettings):
 84572  		var dtrs DelimitedTextReadSettings
 84573  		err := json.Unmarshal(body, &dtrs)
 84574  		return dtrs, err
 84575  	default:
 84576  		var frs FormatReadSettings
 84577  		err := json.Unmarshal(body, &frs)
 84578  		return frs, err
 84579  	}
 84580  }
 84581  func unmarshalBasicFormatReadSettingsArray(body []byte) ([]BasicFormatReadSettings, error) {
 84582  	var rawMessages []*json.RawMessage
 84583  	err := json.Unmarshal(body, &rawMessages)
 84584  	if err != nil {
 84585  		return nil, err
 84586  	}
 84587  
 84588  	frsArray := make([]BasicFormatReadSettings, len(rawMessages))
 84589  
 84590  	for index, rawMessage := range rawMessages {
 84591  		frs, err := unmarshalBasicFormatReadSettings(*rawMessage)
 84592  		if err != nil {
 84593  			return nil, err
 84594  		}
 84595  		frsArray[index] = frs
 84596  	}
 84597  	return frsArray, nil
 84598  }
 84599  
 84600  // MarshalJSON is the custom marshaler for FormatReadSettings.
 84601  func (frs FormatReadSettings) MarshalJSON() ([]byte, error) {
 84602  	frs.Type = TypeFormatReadSettings
 84603  	objectMap := make(map[string]interface{})
 84604  	if frs.Type != "" {
 84605  		objectMap["type"] = frs.Type
 84606  	}
 84607  	for k, v := range frs.AdditionalProperties {
 84608  		objectMap[k] = v
 84609  	}
 84610  	return json.Marshal(objectMap)
 84611  }
 84612  
 84613  // AsDelimitedTextReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings.
 84614  func (frs FormatReadSettings) AsDelimitedTextReadSettings() (*DelimitedTextReadSettings, bool) {
 84615  	return nil, false
 84616  }
 84617  
 84618  // AsFormatReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings.
 84619  func (frs FormatReadSettings) AsFormatReadSettings() (*FormatReadSettings, bool) {
 84620  	return &frs, true
 84621  }
 84622  
 84623  // AsBasicFormatReadSettings is the BasicFormatReadSettings implementation for FormatReadSettings.
 84624  func (frs FormatReadSettings) AsBasicFormatReadSettings() (BasicFormatReadSettings, bool) {
 84625  	return &frs, true
 84626  }
 84627  
 84628  // UnmarshalJSON is the custom unmarshaler for FormatReadSettings struct.
 84629  func (frs *FormatReadSettings) UnmarshalJSON(body []byte) error {
 84630  	var m map[string]*json.RawMessage
 84631  	err := json.Unmarshal(body, &m)
 84632  	if err != nil {
 84633  		return err
 84634  	}
 84635  	for k, v := range m {
 84636  		switch k {
 84637  		default:
 84638  			if v != nil {
 84639  				var additionalProperties interface{}
 84640  				err = json.Unmarshal(*v, &additionalProperties)
 84641  				if err != nil {
 84642  					return err
 84643  				}
 84644  				if frs.AdditionalProperties == nil {
 84645  					frs.AdditionalProperties = make(map[string]interface{})
 84646  				}
 84647  				frs.AdditionalProperties[k] = additionalProperties
 84648  			}
 84649  		case "type":
 84650  			if v != nil {
 84651  				var typeVar TypeBasicFormatReadSettings
 84652  				err = json.Unmarshal(*v, &typeVar)
 84653  				if err != nil {
 84654  					return err
 84655  				}
 84656  				frs.Type = typeVar
 84657  			}
 84658  		}
 84659  	}
 84660  
 84661  	return nil
 84662  }
 84663  
 84664  // BasicFormatWriteSettings format write settings.
 84665  type BasicFormatWriteSettings interface {
 84666  	AsJSONWriteSettings() (*JSONWriteSettings, bool)
 84667  	AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool)
 84668  	AsAvroWriteSettings() (*AvroWriteSettings, bool)
 84669  	AsFormatWriteSettings() (*FormatWriteSettings, bool)
 84670  }
 84671  
 84672  // FormatWriteSettings format write settings.
 84673  type FormatWriteSettings struct {
 84674  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 84675  	AdditionalProperties map[string]interface{} `json:""`
 84676  	// Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings'
 84677  	Type TypeBasicFormatWriteSettings `json:"type,omitempty"`
 84678  }
 84679  
 84680  func unmarshalBasicFormatWriteSettings(body []byte) (BasicFormatWriteSettings, error) {
 84681  	var m map[string]interface{}
 84682  	err := json.Unmarshal(body, &m)
 84683  	if err != nil {
 84684  		return nil, err
 84685  	}
 84686  
 84687  	switch m["type"] {
 84688  	case string(TypeJSONWriteSettings):
 84689  		var jws JSONWriteSettings
 84690  		err := json.Unmarshal(body, &jws)
 84691  		return jws, err
 84692  	case string(TypeDelimitedTextWriteSettings):
 84693  		var dtws DelimitedTextWriteSettings
 84694  		err := json.Unmarshal(body, &dtws)
 84695  		return dtws, err
 84696  	case string(TypeAvroWriteSettings):
 84697  		var aws AvroWriteSettings
 84698  		err := json.Unmarshal(body, &aws)
 84699  		return aws, err
 84700  	default:
 84701  		var fws FormatWriteSettings
 84702  		err := json.Unmarshal(body, &fws)
 84703  		return fws, err
 84704  	}
 84705  }
 84706  func unmarshalBasicFormatWriteSettingsArray(body []byte) ([]BasicFormatWriteSettings, error) {
 84707  	var rawMessages []*json.RawMessage
 84708  	err := json.Unmarshal(body, &rawMessages)
 84709  	if err != nil {
 84710  		return nil, err
 84711  	}
 84712  
 84713  	fwsArray := make([]BasicFormatWriteSettings, len(rawMessages))
 84714  
 84715  	for index, rawMessage := range rawMessages {
 84716  		fws, err := unmarshalBasicFormatWriteSettings(*rawMessage)
 84717  		if err != nil {
 84718  			return nil, err
 84719  		}
 84720  		fwsArray[index] = fws
 84721  	}
 84722  	return fwsArray, nil
 84723  }
 84724  
 84725  // MarshalJSON is the custom marshaler for FormatWriteSettings.
 84726  func (fws FormatWriteSettings) MarshalJSON() ([]byte, error) {
 84727  	fws.Type = TypeFormatWriteSettings
 84728  	objectMap := make(map[string]interface{})
 84729  	if fws.Type != "" {
 84730  		objectMap["type"] = fws.Type
 84731  	}
 84732  	for k, v := range fws.AdditionalProperties {
 84733  		objectMap[k] = v
 84734  	}
 84735  	return json.Marshal(objectMap)
 84736  }
 84737  
 84738  // AsJSONWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings.
 84739  func (fws FormatWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) {
 84740  	return nil, false
 84741  }
 84742  
 84743  // AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings.
 84744  func (fws FormatWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) {
 84745  	return nil, false
 84746  }
 84747  
 84748  // AsAvroWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings.
 84749  func (fws FormatWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) {
 84750  	return nil, false
 84751  }
 84752  
 84753  // AsFormatWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings.
 84754  func (fws FormatWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) {
 84755  	return &fws, true
 84756  }
 84757  
 84758  // AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for FormatWriteSettings.
 84759  func (fws FormatWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) {
 84760  	return &fws, true
 84761  }
 84762  
 84763  // UnmarshalJSON is the custom unmarshaler for FormatWriteSettings struct.
 84764  func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error {
 84765  	var m map[string]*json.RawMessage
 84766  	err := json.Unmarshal(body, &m)
 84767  	if err != nil {
 84768  		return err
 84769  	}
 84770  	for k, v := range m {
 84771  		switch k {
 84772  		default:
 84773  			if v != nil {
 84774  				var additionalProperties interface{}
 84775  				err = json.Unmarshal(*v, &additionalProperties)
 84776  				if err != nil {
 84777  					return err
 84778  				}
 84779  				if fws.AdditionalProperties == nil {
 84780  					fws.AdditionalProperties = make(map[string]interface{})
 84781  				}
 84782  				fws.AdditionalProperties[k] = additionalProperties
 84783  			}
 84784  		case "type":
 84785  			if v != nil {
 84786  				var typeVar TypeBasicFormatWriteSettings
 84787  				err = json.Unmarshal(*v, &typeVar)
 84788  				if err != nil {
 84789  					return err
 84790  				}
 84791  				fws.Type = typeVar
 84792  			}
 84793  		}
 84794  	}
 84795  
 84796  	return nil
 84797  }
 84798  
 84799  // FtpReadSettings ftp read settings.
 84800  type FtpReadSettings struct {
 84801  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 84802  	Recursive interface{} `json:"recursive,omitempty"`
 84803  	// WildcardFolderPath - Ftp wildcardFolderPath. Type: string (or Expression with resultType string).
 84804  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 84805  	// WildcardFileName - Ftp wildcardFileName. Type: string (or Expression with resultType string).
 84806  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 84807  	// UseBinaryTransfer - Specify whether to use binary transfer mode for FTP stores.
 84808  	UseBinaryTransfer *bool `json:"useBinaryTransfer,omitempty"`
 84809  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 84810  	AdditionalProperties map[string]interface{} `json:""`
 84811  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 84812  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 84813  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 84814  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 84815  }
 84816  
 84817  // MarshalJSON is the custom marshaler for FtpReadSettings.
 84818  func (frs FtpReadSettings) MarshalJSON() ([]byte, error) {
 84819  	frs.Type = TypeFtpReadSettings
 84820  	objectMap := make(map[string]interface{})
 84821  	if frs.Recursive != nil {
 84822  		objectMap["recursive"] = frs.Recursive
 84823  	}
 84824  	if frs.WildcardFolderPath != nil {
 84825  		objectMap["wildcardFolderPath"] = frs.WildcardFolderPath
 84826  	}
 84827  	if frs.WildcardFileName != nil {
 84828  		objectMap["wildcardFileName"] = frs.WildcardFileName
 84829  	}
 84830  	if frs.UseBinaryTransfer != nil {
 84831  		objectMap["useBinaryTransfer"] = frs.UseBinaryTransfer
 84832  	}
 84833  	if frs.MaxConcurrentConnections != nil {
 84834  		objectMap["maxConcurrentConnections"] = frs.MaxConcurrentConnections
 84835  	}
 84836  	if frs.Type != "" {
 84837  		objectMap["type"] = frs.Type
 84838  	}
 84839  	for k, v := range frs.AdditionalProperties {
 84840  		objectMap[k] = v
 84841  	}
 84842  	return json.Marshal(objectMap)
 84843  }
 84844  
 84845  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84846  func (frs FtpReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 84847  	return nil, false
 84848  }
 84849  
 84850  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84851  func (frs FtpReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 84852  	return nil, false
 84853  }
 84854  
 84855  // AsSftpReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84856  func (frs FtpReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 84857  	return nil, false
 84858  }
 84859  
 84860  // AsFtpReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84861  func (frs FtpReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 84862  	return &frs, true
 84863  }
 84864  
 84865  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84866  func (frs FtpReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 84867  	return nil, false
 84868  }
 84869  
 84870  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84871  func (frs FtpReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 84872  	return nil, false
 84873  }
 84874  
 84875  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84876  func (frs FtpReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 84877  	return nil, false
 84878  }
 84879  
 84880  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84881  func (frs FtpReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 84882  	return nil, false
 84883  }
 84884  
 84885  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84886  func (frs FtpReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 84887  	return nil, false
 84888  }
 84889  
 84890  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84891  func (frs FtpReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 84892  	return nil, false
 84893  }
 84894  
 84895  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84896  func (frs FtpReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 84897  	return nil, false
 84898  }
 84899  
 84900  // AsStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84901  func (frs FtpReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 84902  	return nil, false
 84903  }
 84904  
 84905  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for FtpReadSettings.
 84906  func (frs FtpReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 84907  	return &frs, true
 84908  }
 84909  
 84910  // UnmarshalJSON is the custom unmarshaler for FtpReadSettings struct.
 84911  func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error {
 84912  	var m map[string]*json.RawMessage
 84913  	err := json.Unmarshal(body, &m)
 84914  	if err != nil {
 84915  		return err
 84916  	}
 84917  	for k, v := range m {
 84918  		switch k {
 84919  		case "recursive":
 84920  			if v != nil {
 84921  				var recursive interface{}
 84922  				err = json.Unmarshal(*v, &recursive)
 84923  				if err != nil {
 84924  					return err
 84925  				}
 84926  				frs.Recursive = recursive
 84927  			}
 84928  		case "wildcardFolderPath":
 84929  			if v != nil {
 84930  				var wildcardFolderPath interface{}
 84931  				err = json.Unmarshal(*v, &wildcardFolderPath)
 84932  				if err != nil {
 84933  					return err
 84934  				}
 84935  				frs.WildcardFolderPath = wildcardFolderPath
 84936  			}
 84937  		case "wildcardFileName":
 84938  			if v != nil {
 84939  				var wildcardFileName interface{}
 84940  				err = json.Unmarshal(*v, &wildcardFileName)
 84941  				if err != nil {
 84942  					return err
 84943  				}
 84944  				frs.WildcardFileName = wildcardFileName
 84945  			}
 84946  		case "useBinaryTransfer":
 84947  			if v != nil {
 84948  				var useBinaryTransfer bool
 84949  				err = json.Unmarshal(*v, &useBinaryTransfer)
 84950  				if err != nil {
 84951  					return err
 84952  				}
 84953  				frs.UseBinaryTransfer = &useBinaryTransfer
 84954  			}
 84955  		default:
 84956  			if v != nil {
 84957  				var additionalProperties interface{}
 84958  				err = json.Unmarshal(*v, &additionalProperties)
 84959  				if err != nil {
 84960  					return err
 84961  				}
 84962  				if frs.AdditionalProperties == nil {
 84963  					frs.AdditionalProperties = make(map[string]interface{})
 84964  				}
 84965  				frs.AdditionalProperties[k] = additionalProperties
 84966  			}
 84967  		case "maxConcurrentConnections":
 84968  			if v != nil {
 84969  				var maxConcurrentConnections interface{}
 84970  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 84971  				if err != nil {
 84972  					return err
 84973  				}
 84974  				frs.MaxConcurrentConnections = maxConcurrentConnections
 84975  			}
 84976  		case "type":
 84977  			if v != nil {
 84978  				var typeVar TypeBasicStoreReadSettings
 84979  				err = json.Unmarshal(*v, &typeVar)
 84980  				if err != nil {
 84981  					return err
 84982  				}
 84983  				frs.Type = typeVar
 84984  			}
 84985  		}
 84986  	}
 84987  
 84988  	return nil
 84989  }
 84990  
 84991  // FtpServerLinkedService a FTP server Linked Service.
 84992  type FtpServerLinkedService struct {
 84993  	// FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
 84994  	*FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 84995  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 84996  	AdditionalProperties map[string]interface{} `json:""`
 84997  	// ConnectVia - The integration runtime reference.
 84998  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 84999  	// Description - Linked service description.
 85000  	Description *string `json:"description,omitempty"`
 85001  	// Parameters - Parameters for linked service.
 85002  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 85003  	// Annotations - List of tags that can be used for describing the linked service.
 85004  	Annotations *[]interface{} `json:"annotations,omitempty"`
 85005  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 85006  	Type TypeBasicLinkedService `json:"type,omitempty"`
 85007  }
 85008  
 85009  // MarshalJSON is the custom marshaler for FtpServerLinkedService.
 85010  func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) {
 85011  	fsls.Type = TypeFtpServer
 85012  	objectMap := make(map[string]interface{})
 85013  	if fsls.FtpServerLinkedServiceTypeProperties != nil {
 85014  		objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties
 85015  	}
 85016  	if fsls.ConnectVia != nil {
 85017  		objectMap["connectVia"] = fsls.ConnectVia
 85018  	}
 85019  	if fsls.Description != nil {
 85020  		objectMap["description"] = fsls.Description
 85021  	}
 85022  	if fsls.Parameters != nil {
 85023  		objectMap["parameters"] = fsls.Parameters
 85024  	}
 85025  	if fsls.Annotations != nil {
 85026  		objectMap["annotations"] = fsls.Annotations
 85027  	}
 85028  	if fsls.Type != "" {
 85029  		objectMap["type"] = fsls.Type
 85030  	}
 85031  	for k, v := range fsls.AdditionalProperties {
 85032  		objectMap[k] = v
 85033  	}
 85034  	return json.Marshal(objectMap)
 85035  }
 85036  
 85037  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85038  func (fsls FtpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 85039  	return nil, false
 85040  }
 85041  
 85042  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85043  func (fsls FtpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 85044  	return nil, false
 85045  }
 85046  
 85047  // AsSapTableLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85048  func (fsls FtpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 85049  	return nil, false
 85050  }
 85051  
 85052  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85053  func (fsls FtpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 85054  	return nil, false
 85055  }
 85056  
 85057  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85058  func (fsls FtpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 85059  	return nil, false
 85060  }
 85061  
 85062  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85063  func (fsls FtpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 85064  	return nil, false
 85065  }
 85066  
 85067  // AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85068  func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 85069  	return nil, false
 85070  }
 85071  
 85072  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85073  func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 85074  	return nil, false
 85075  }
 85076  
 85077  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85078  func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 85079  	return nil, false
 85080  }
 85081  
 85082  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85083  func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 85084  	return nil, false
 85085  }
 85086  
 85087  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85088  func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 85089  	return nil, false
 85090  }
 85091  
 85092  // AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85093  func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 85094  	return nil, false
 85095  }
 85096  
 85097  // AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85098  func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 85099  	return nil, false
 85100  }
 85101  
 85102  // AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85103  func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 85104  	return nil, false
 85105  }
 85106  
 85107  // AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85108  func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 85109  	return nil, false
 85110  }
 85111  
 85112  // AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85113  func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 85114  	return nil, false
 85115  }
 85116  
 85117  // AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85118  func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 85119  	return nil, false
 85120  }
 85121  
 85122  // AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85123  func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 85124  	return nil, false
 85125  }
 85126  
 85127  // AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85128  func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 85129  	return nil, false
 85130  }
 85131  
 85132  // AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85133  func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 85134  	return nil, false
 85135  }
 85136  
 85137  // AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85138  func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 85139  	return nil, false
 85140  }
 85141  
 85142  // AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85143  func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 85144  	return nil, false
 85145  }
 85146  
 85147  // AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85148  func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 85149  	return nil, false
 85150  }
 85151  
 85152  // AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85153  func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 85154  	return nil, false
 85155  }
 85156  
 85157  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85158  func (fsls FtpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 85159  	return nil, false
 85160  }
 85161  
 85162  // AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85163  func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 85164  	return nil, false
 85165  }
 85166  
 85167  // AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85168  func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 85169  	return nil, false
 85170  }
 85171  
 85172  // AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85173  func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 85174  	return nil, false
 85175  }
 85176  
 85177  // AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85178  func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 85179  	return nil, false
 85180  }
 85181  
 85182  // AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85183  func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 85184  	return nil, false
 85185  }
 85186  
 85187  // AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85188  func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 85189  	return nil, false
 85190  }
 85191  
 85192  // AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85193  func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 85194  	return nil, false
 85195  }
 85196  
 85197  // AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85198  func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 85199  	return nil, false
 85200  }
 85201  
 85202  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85203  func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 85204  	return nil, false
 85205  }
 85206  
 85207  // AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85208  func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 85209  	return nil, false
 85210  }
 85211  
 85212  // AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85213  func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 85214  	return nil, false
 85215  }
 85216  
 85217  // AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85218  func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 85219  	return nil, false
 85220  }
 85221  
 85222  // AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85223  func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 85224  	return nil, false
 85225  }
 85226  
 85227  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85228  func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 85229  	return nil, false
 85230  }
 85231  
 85232  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85233  func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 85234  	return nil, false
 85235  }
 85236  
 85237  // AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85238  func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 85239  	return nil, false
 85240  }
 85241  
 85242  // AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85243  func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 85244  	return nil, false
 85245  }
 85246  
 85247  // AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85248  func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 85249  	return nil, false
 85250  }
 85251  
 85252  // AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85253  func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 85254  	return &fsls, true
 85255  }
 85256  
 85257  // AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85258  func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 85259  	return nil, false
 85260  }
 85261  
 85262  // AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85263  func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 85264  	return nil, false
 85265  }
 85266  
 85267  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85268  func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 85269  	return nil, false
 85270  }
 85271  
 85272  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85273  func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 85274  	return nil, false
 85275  }
 85276  
 85277  // AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85278  func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 85279  	return nil, false
 85280  }
 85281  
 85282  // AsRestServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85283  func (fsls FtpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 85284  	return nil, false
 85285  }
 85286  
 85287  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85288  func (fsls FtpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 85289  	return nil, false
 85290  }
 85291  
 85292  // AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85293  func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 85294  	return nil, false
 85295  }
 85296  
 85297  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85298  func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 85299  	return nil, false
 85300  }
 85301  
 85302  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85303  func (fsls FtpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 85304  	return nil, false
 85305  }
 85306  
 85307  // AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85308  func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 85309  	return nil, false
 85310  }
 85311  
 85312  // AsOffice365LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85313  func (fsls FtpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 85314  	return nil, false
 85315  }
 85316  
 85317  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85318  func (fsls FtpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 85319  	return nil, false
 85320  }
 85321  
 85322  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85323  func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 85324  	return nil, false
 85325  }
 85326  
 85327  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85328  func (fsls FtpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 85329  	return nil, false
 85330  }
 85331  
 85332  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85333  func (fsls FtpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 85334  	return nil, false
 85335  }
 85336  
 85337  // AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85338  func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 85339  	return nil, false
 85340  }
 85341  
 85342  // AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85343  func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 85344  	return nil, false
 85345  }
 85346  
 85347  // AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85348  func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 85349  	return nil, false
 85350  }
 85351  
 85352  // AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85353  func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 85354  	return nil, false
 85355  }
 85356  
 85357  // AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85358  func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 85359  	return nil, false
 85360  }
 85361  
 85362  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85363  func (fsls FtpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 85364  	return nil, false
 85365  }
 85366  
 85367  // AsInformixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85368  func (fsls FtpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 85369  	return nil, false
 85370  }
 85371  
 85372  // AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85373  func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 85374  	return nil, false
 85375  }
 85376  
 85377  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85378  func (fsls FtpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 85379  	return nil, false
 85380  }
 85381  
 85382  // AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85383  func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 85384  	return nil, false
 85385  }
 85386  
 85387  // AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85388  func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 85389  	return nil, false
 85390  }
 85391  
 85392  // AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85393  func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 85394  	return nil, false
 85395  }
 85396  
 85397  // AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85398  func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 85399  	return nil, false
 85400  }
 85401  
 85402  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85403  func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 85404  	return nil, false
 85405  }
 85406  
 85407  // AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85408  func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 85409  	return nil, false
 85410  }
 85411  
 85412  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85413  func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 85414  	return nil, false
 85415  }
 85416  
 85417  // AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85418  func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 85419  	return nil, false
 85420  }
 85421  
 85422  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85423  func (fsls FtpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 85424  	return nil, false
 85425  }
 85426  
 85427  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85428  func (fsls FtpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 85429  	return nil, false
 85430  }
 85431  
 85432  // AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85433  func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 85434  	return nil, false
 85435  }
 85436  
 85437  // AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85438  func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 85439  	return nil, false
 85440  }
 85441  
 85442  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85443  func (fsls FtpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 85444  	return nil, false
 85445  }
 85446  
 85447  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85448  func (fsls FtpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 85449  	return nil, false
 85450  }
 85451  
 85452  // AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85453  func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 85454  	return nil, false
 85455  }
 85456  
 85457  // AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85458  func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 85459  	return nil, false
 85460  }
 85461  
 85462  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85463  func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 85464  	return nil, false
 85465  }
 85466  
 85467  // AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85468  func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 85469  	return nil, false
 85470  }
 85471  
 85472  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85473  func (fsls FtpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 85474  	return nil, false
 85475  }
 85476  
 85477  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85478  func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 85479  	return nil, false
 85480  }
 85481  
 85482  // AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85483  func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 85484  	return nil, false
 85485  }
 85486  
 85487  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85488  func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 85489  	return nil, false
 85490  }
 85491  
 85492  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85493  func (fsls FtpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 85494  	return nil, false
 85495  }
 85496  
 85497  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85498  func (fsls FtpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 85499  	return nil, false
 85500  }
 85501  
 85502  // AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85503  func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 85504  	return nil, false
 85505  }
 85506  
 85507  // AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85508  func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
 85509  	return nil, false
 85510  }
 85511  
 85512  // AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService.
 85513  func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 85514  	return &fsls, true
 85515  }
 85516  
 85517  // UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct.
 85518  func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error {
 85519  	var m map[string]*json.RawMessage
 85520  	err := json.Unmarshal(body, &m)
 85521  	if err != nil {
 85522  		return err
 85523  	}
 85524  	for k, v := range m {
 85525  		switch k {
 85526  		case "typeProperties":
 85527  			if v != nil {
 85528  				var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties
 85529  				err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties)
 85530  				if err != nil {
 85531  					return err
 85532  				}
 85533  				fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties
 85534  			}
 85535  		default:
 85536  			if v != nil {
 85537  				var additionalProperties interface{}
 85538  				err = json.Unmarshal(*v, &additionalProperties)
 85539  				if err != nil {
 85540  					return err
 85541  				}
 85542  				if fsls.AdditionalProperties == nil {
 85543  					fsls.AdditionalProperties = make(map[string]interface{})
 85544  				}
 85545  				fsls.AdditionalProperties[k] = additionalProperties
 85546  			}
 85547  		case "connectVia":
 85548  			if v != nil {
 85549  				var connectVia IntegrationRuntimeReference
 85550  				err = json.Unmarshal(*v, &connectVia)
 85551  				if err != nil {
 85552  					return err
 85553  				}
 85554  				fsls.ConnectVia = &connectVia
 85555  			}
 85556  		case "description":
 85557  			if v != nil {
 85558  				var description string
 85559  				err = json.Unmarshal(*v, &description)
 85560  				if err != nil {
 85561  					return err
 85562  				}
 85563  				fsls.Description = &description
 85564  			}
 85565  		case "parameters":
 85566  			if v != nil {
 85567  				var parameters map[string]*ParameterSpecification
 85568  				err = json.Unmarshal(*v, &parameters)
 85569  				if err != nil {
 85570  					return err
 85571  				}
 85572  				fsls.Parameters = parameters
 85573  			}
 85574  		case "annotations":
 85575  			if v != nil {
 85576  				var annotations []interface{}
 85577  				err = json.Unmarshal(*v, &annotations)
 85578  				if err != nil {
 85579  					return err
 85580  				}
 85581  				fsls.Annotations = &annotations
 85582  			}
 85583  		case "type":
 85584  			if v != nil {
 85585  				var typeVar TypeBasicLinkedService
 85586  				err = json.Unmarshal(*v, &typeVar)
 85587  				if err != nil {
 85588  					return err
 85589  				}
 85590  				fsls.Type = typeVar
 85591  			}
 85592  		}
 85593  	}
 85594  
 85595  	return nil
 85596  }
 85597  
 85598  // FtpServerLinkedServiceTypeProperties properties specific to this linked service type.
 85599  type FtpServerLinkedServiceTypeProperties struct {
 85600  	// Host - Host name of the FTP server. Type: string (or Expression with resultType string).
 85601  	Host interface{} `json:"host,omitempty"`
 85602  	// 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.
 85603  	Port interface{} `json:"port,omitempty"`
 85604  	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous'
 85605  	AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"`
 85606  	// UserName - Username to logon the FTP server. Type: string (or Expression with resultType string).
 85607  	UserName interface{} `json:"userName,omitempty"`
 85608  	// Password - Password to logon the FTP server.
 85609  	Password BasicSecretBase `json:"password,omitempty"`
 85610  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 85611  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 85612  	// EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
 85613  	EnableSsl interface{} `json:"enableSsl,omitempty"`
 85614  	// 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).
 85615  	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
 85616  }
 85617  
 85618  // UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct.
 85619  func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 85620  	var m map[string]*json.RawMessage
 85621  	err := json.Unmarshal(body, &m)
 85622  	if err != nil {
 85623  		return err
 85624  	}
 85625  	for k, v := range m {
 85626  		switch k {
 85627  		case "host":
 85628  			if v != nil {
 85629  				var host interface{}
 85630  				err = json.Unmarshal(*v, &host)
 85631  				if err != nil {
 85632  					return err
 85633  				}
 85634  				fslstp.Host = host
 85635  			}
 85636  		case "port":
 85637  			if v != nil {
 85638  				var port interface{}
 85639  				err = json.Unmarshal(*v, &port)
 85640  				if err != nil {
 85641  					return err
 85642  				}
 85643  				fslstp.Port = port
 85644  			}
 85645  		case "authenticationType":
 85646  			if v != nil {
 85647  				var authenticationType FtpAuthenticationType
 85648  				err = json.Unmarshal(*v, &authenticationType)
 85649  				if err != nil {
 85650  					return err
 85651  				}
 85652  				fslstp.AuthenticationType = authenticationType
 85653  			}
 85654  		case "userName":
 85655  			if v != nil {
 85656  				var userName interface{}
 85657  				err = json.Unmarshal(*v, &userName)
 85658  				if err != nil {
 85659  					return err
 85660  				}
 85661  				fslstp.UserName = userName
 85662  			}
 85663  		case "password":
 85664  			if v != nil {
 85665  				password, err := unmarshalBasicSecretBase(*v)
 85666  				if err != nil {
 85667  					return err
 85668  				}
 85669  				fslstp.Password = password
 85670  			}
 85671  		case "encryptedCredential":
 85672  			if v != nil {
 85673  				var encryptedCredential interface{}
 85674  				err = json.Unmarshal(*v, &encryptedCredential)
 85675  				if err != nil {
 85676  					return err
 85677  				}
 85678  				fslstp.EncryptedCredential = encryptedCredential
 85679  			}
 85680  		case "enableSsl":
 85681  			if v != nil {
 85682  				var enableSsl interface{}
 85683  				err = json.Unmarshal(*v, &enableSsl)
 85684  				if err != nil {
 85685  					return err
 85686  				}
 85687  				fslstp.EnableSsl = enableSsl
 85688  			}
 85689  		case "enableServerCertificateValidation":
 85690  			if v != nil {
 85691  				var enableServerCertificateValidation interface{}
 85692  				err = json.Unmarshal(*v, &enableServerCertificateValidation)
 85693  				if err != nil {
 85694  					return err
 85695  				}
 85696  				fslstp.EnableServerCertificateValidation = enableServerCertificateValidation
 85697  			}
 85698  		}
 85699  	}
 85700  
 85701  	return nil
 85702  }
 85703  
 85704  // FtpServerLocation the location of ftp server dataset.
 85705  type FtpServerLocation struct {
 85706  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 85707  	AdditionalProperties map[string]interface{} `json:""`
 85708  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 85709  	FolderPath interface{} `json:"folderPath,omitempty"`
 85710  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 85711  	FileName interface{} `json:"fileName,omitempty"`
 85712  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 85713  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 85714  }
 85715  
 85716  // MarshalJSON is the custom marshaler for FtpServerLocation.
 85717  func (fsl FtpServerLocation) MarshalJSON() ([]byte, error) {
 85718  	fsl.Type = TypeFtpServerLocation
 85719  	objectMap := make(map[string]interface{})
 85720  	if fsl.FolderPath != nil {
 85721  		objectMap["folderPath"] = fsl.FolderPath
 85722  	}
 85723  	if fsl.FileName != nil {
 85724  		objectMap["fileName"] = fsl.FileName
 85725  	}
 85726  	if fsl.Type != "" {
 85727  		objectMap["type"] = fsl.Type
 85728  	}
 85729  	for k, v := range fsl.AdditionalProperties {
 85730  		objectMap[k] = v
 85731  	}
 85732  	return json.Marshal(objectMap)
 85733  }
 85734  
 85735  // AsHdfsLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85736  func (fsl FtpServerLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 85737  	return nil, false
 85738  }
 85739  
 85740  // AsHTTPServerLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85741  func (fsl FtpServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 85742  	return nil, false
 85743  }
 85744  
 85745  // AsSftpLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85746  func (fsl FtpServerLocation) AsSftpLocation() (*SftpLocation, bool) {
 85747  	return nil, false
 85748  }
 85749  
 85750  // AsFtpServerLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85751  func (fsl FtpServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 85752  	return &fsl, true
 85753  }
 85754  
 85755  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85756  func (fsl FtpServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 85757  	return nil, false
 85758  }
 85759  
 85760  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85761  func (fsl FtpServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 85762  	return nil, false
 85763  }
 85764  
 85765  // AsFileServerLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85766  func (fsl FtpServerLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 85767  	return nil, false
 85768  }
 85769  
 85770  // AsAmazonS3Location is the BasicDatasetLocation implementation for FtpServerLocation.
 85771  func (fsl FtpServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 85772  	return nil, false
 85773  }
 85774  
 85775  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85776  func (fsl FtpServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 85777  	return nil, false
 85778  }
 85779  
 85780  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85781  func (fsl FtpServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 85782  	return nil, false
 85783  }
 85784  
 85785  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85786  func (fsl FtpServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 85787  	return nil, false
 85788  }
 85789  
 85790  // AsDatasetLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85791  func (fsl FtpServerLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 85792  	return nil, false
 85793  }
 85794  
 85795  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for FtpServerLocation.
 85796  func (fsl FtpServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 85797  	return &fsl, true
 85798  }
 85799  
 85800  // UnmarshalJSON is the custom unmarshaler for FtpServerLocation struct.
 85801  func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error {
 85802  	var m map[string]*json.RawMessage
 85803  	err := json.Unmarshal(body, &m)
 85804  	if err != nil {
 85805  		return err
 85806  	}
 85807  	for k, v := range m {
 85808  		switch k {
 85809  		default:
 85810  			if v != nil {
 85811  				var additionalProperties interface{}
 85812  				err = json.Unmarshal(*v, &additionalProperties)
 85813  				if err != nil {
 85814  					return err
 85815  				}
 85816  				if fsl.AdditionalProperties == nil {
 85817  					fsl.AdditionalProperties = make(map[string]interface{})
 85818  				}
 85819  				fsl.AdditionalProperties[k] = additionalProperties
 85820  			}
 85821  		case "folderPath":
 85822  			if v != nil {
 85823  				var folderPath interface{}
 85824  				err = json.Unmarshal(*v, &folderPath)
 85825  				if err != nil {
 85826  					return err
 85827  				}
 85828  				fsl.FolderPath = folderPath
 85829  			}
 85830  		case "fileName":
 85831  			if v != nil {
 85832  				var fileName interface{}
 85833  				err = json.Unmarshal(*v, &fileName)
 85834  				if err != nil {
 85835  					return err
 85836  				}
 85837  				fsl.FileName = fileName
 85838  			}
 85839  		case "type":
 85840  			if v != nil {
 85841  				var typeVar TypeBasicDatasetLocation
 85842  				err = json.Unmarshal(*v, &typeVar)
 85843  				if err != nil {
 85844  					return err
 85845  				}
 85846  				fsl.Type = typeVar
 85847  			}
 85848  		}
 85849  	}
 85850  
 85851  	return nil
 85852  }
 85853  
 85854  // GenericDatasetTypeProperties properties specific to this dataset type.
 85855  type GenericDatasetTypeProperties struct {
 85856  	// TableName - The table name. Type: string (or Expression with resultType string).
 85857  	TableName interface{} `json:"tableName,omitempty"`
 85858  }
 85859  
 85860  // GetMetadataActivity activity to get metadata of dataset
 85861  type GetMetadataActivity struct {
 85862  	// GetMetadataActivityTypeProperties - GetMetadata activity properties.
 85863  	*GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"`
 85864  	// LinkedServiceName - Linked service reference.
 85865  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 85866  	// Policy - Activity policy.
 85867  	Policy *ActivityPolicy `json:"policy,omitempty"`
 85868  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 85869  	AdditionalProperties map[string]interface{} `json:""`
 85870  	// Name - Activity name.
 85871  	Name *string `json:"name,omitempty"`
 85872  	// Description - Activity description.
 85873  	Description *string `json:"description,omitempty"`
 85874  	// DependsOn - Activity depends on condition.
 85875  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 85876  	// UserProperties - Activity user properties.
 85877  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 85878  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 85879  	Type TypeBasicActivity `json:"type,omitempty"`
 85880  }
 85881  
 85882  // MarshalJSON is the custom marshaler for GetMetadataActivity.
 85883  func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) {
 85884  	gma.Type = TypeGetMetadata
 85885  	objectMap := make(map[string]interface{})
 85886  	if gma.GetMetadataActivityTypeProperties != nil {
 85887  		objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties
 85888  	}
 85889  	if gma.LinkedServiceName != nil {
 85890  		objectMap["linkedServiceName"] = gma.LinkedServiceName
 85891  	}
 85892  	if gma.Policy != nil {
 85893  		objectMap["policy"] = gma.Policy
 85894  	}
 85895  	if gma.Name != nil {
 85896  		objectMap["name"] = gma.Name
 85897  	}
 85898  	if gma.Description != nil {
 85899  		objectMap["description"] = gma.Description
 85900  	}
 85901  	if gma.DependsOn != nil {
 85902  		objectMap["dependsOn"] = gma.DependsOn
 85903  	}
 85904  	if gma.UserProperties != nil {
 85905  		objectMap["userProperties"] = gma.UserProperties
 85906  	}
 85907  	if gma.Type != "" {
 85908  		objectMap["type"] = gma.Type
 85909  	}
 85910  	for k, v := range gma.AdditionalProperties {
 85911  		objectMap[k] = v
 85912  	}
 85913  	return json.Marshal(objectMap)
 85914  }
 85915  
 85916  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity.
 85917  func (gma GetMetadataActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 85918  	return nil, false
 85919  }
 85920  
 85921  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for GetMetadataActivity.
 85922  func (gma GetMetadataActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 85923  	return nil, false
 85924  }
 85925  
 85926  // AsSynapseNotebookActivity is the BasicActivity implementation for GetMetadataActivity.
 85927  func (gma GetMetadataActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 85928  	return nil, false
 85929  }
 85930  
 85931  // AsExecuteDataFlowActivity is the BasicActivity implementation for GetMetadataActivity.
 85932  func (gma GetMetadataActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 85933  	return nil, false
 85934  }
 85935  
 85936  // AsAzureFunctionActivity is the BasicActivity implementation for GetMetadataActivity.
 85937  func (gma GetMetadataActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 85938  	return nil, false
 85939  }
 85940  
 85941  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for GetMetadataActivity.
 85942  func (gma GetMetadataActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 85943  	return nil, false
 85944  }
 85945  
 85946  // AsDatabricksSparkJarActivity is the BasicActivity implementation for GetMetadataActivity.
 85947  func (gma GetMetadataActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 85948  	return nil, false
 85949  }
 85950  
 85951  // AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity.
 85952  func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 85953  	return nil, false
 85954  }
 85955  
 85956  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity.
 85957  func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 85958  	return nil, false
 85959  }
 85960  
 85961  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity.
 85962  func (gma GetMetadataActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 85963  	return nil, false
 85964  }
 85965  
 85966  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity.
 85967  func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 85968  	return nil, false
 85969  }
 85970  
 85971  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
 85972  func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 85973  	return nil, false
 85974  }
 85975  
 85976  // AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity.
 85977  func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 85978  	return &gma, true
 85979  }
 85980  
 85981  // AsWebActivity is the BasicActivity implementation for GetMetadataActivity.
 85982  func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) {
 85983  	return nil, false
 85984  }
 85985  
 85986  // AsLookupActivity is the BasicActivity implementation for GetMetadataActivity.
 85987  func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) {
 85988  	return nil, false
 85989  }
 85990  
 85991  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for GetMetadataActivity.
 85992  func (gma GetMetadataActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 85993  	return nil, false
 85994  }
 85995  
 85996  // AsDeleteActivity is the BasicActivity implementation for GetMetadataActivity.
 85997  func (gma GetMetadataActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 85998  	return nil, false
 85999  }
 86000  
 86001  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity.
 86002  func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 86003  	return nil, false
 86004  }
 86005  
 86006  // AsCustomActivity is the BasicActivity implementation for GetMetadataActivity.
 86007  func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) {
 86008  	return nil, false
 86009  }
 86010  
 86011  // AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity.
 86012  func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 86013  	return nil, false
 86014  }
 86015  
 86016  // AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity.
 86017  func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 86018  	return nil, false
 86019  }
 86020  
 86021  // AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity.
 86022  func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 86023  	return nil, false
 86024  }
 86025  
 86026  // AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity.
 86027  func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 86028  	return nil, false
 86029  }
 86030  
 86031  // AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity.
 86032  func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 86033  	return nil, false
 86034  }
 86035  
 86036  // AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity.
 86037  func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 86038  	return nil, false
 86039  }
 86040  
 86041  // AsCopyActivity is the BasicActivity implementation for GetMetadataActivity.
 86042  func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) {
 86043  	return nil, false
 86044  }
 86045  
 86046  // AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
 86047  func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 86048  	return nil, false
 86049  }
 86050  
 86051  // AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity.
 86052  func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 86053  	return &gma, true
 86054  }
 86055  
 86056  // AsWebHookActivity is the BasicActivity implementation for GetMetadataActivity.
 86057  func (gma GetMetadataActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 86058  	return nil, false
 86059  }
 86060  
 86061  // AsAppendVariableActivity is the BasicActivity implementation for GetMetadataActivity.
 86062  func (gma GetMetadataActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 86063  	return nil, false
 86064  }
 86065  
 86066  // AsSetVariableActivity is the BasicActivity implementation for GetMetadataActivity.
 86067  func (gma GetMetadataActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 86068  	return nil, false
 86069  }
 86070  
 86071  // AsFilterActivity is the BasicActivity implementation for GetMetadataActivity.
 86072  func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) {
 86073  	return nil, false
 86074  }
 86075  
 86076  // AsValidationActivity is the BasicActivity implementation for GetMetadataActivity.
 86077  func (gma GetMetadataActivity) AsValidationActivity() (*ValidationActivity, bool) {
 86078  	return nil, false
 86079  }
 86080  
 86081  // AsUntilActivity is the BasicActivity implementation for GetMetadataActivity.
 86082  func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) {
 86083  	return nil, false
 86084  }
 86085  
 86086  // AsWaitActivity is the BasicActivity implementation for GetMetadataActivity.
 86087  func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) {
 86088  	return nil, false
 86089  }
 86090  
 86091  // AsForEachActivity is the BasicActivity implementation for GetMetadataActivity.
 86092  func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) {
 86093  	return nil, false
 86094  }
 86095  
 86096  // AsSwitchActivity is the BasicActivity implementation for GetMetadataActivity.
 86097  func (gma GetMetadataActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 86098  	return nil, false
 86099  }
 86100  
 86101  // AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity.
 86102  func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 86103  	return nil, false
 86104  }
 86105  
 86106  // AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity.
 86107  func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 86108  	return nil, false
 86109  }
 86110  
 86111  // AsControlActivity is the BasicActivity implementation for GetMetadataActivity.
 86112  func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) {
 86113  	return nil, false
 86114  }
 86115  
 86116  // AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity.
 86117  func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 86118  	return nil, false
 86119  }
 86120  
 86121  // AsActivity is the BasicActivity implementation for GetMetadataActivity.
 86122  func (gma GetMetadataActivity) AsActivity() (*Activity, bool) {
 86123  	return nil, false
 86124  }
 86125  
 86126  // AsBasicActivity is the BasicActivity implementation for GetMetadataActivity.
 86127  func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) {
 86128  	return &gma, true
 86129  }
 86130  
 86131  // UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct.
 86132  func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error {
 86133  	var m map[string]*json.RawMessage
 86134  	err := json.Unmarshal(body, &m)
 86135  	if err != nil {
 86136  		return err
 86137  	}
 86138  	for k, v := range m {
 86139  		switch k {
 86140  		case "typeProperties":
 86141  			if v != nil {
 86142  				var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties
 86143  				err = json.Unmarshal(*v, &getMetadataActivityTypeProperties)
 86144  				if err != nil {
 86145  					return err
 86146  				}
 86147  				gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties
 86148  			}
 86149  		case "linkedServiceName":
 86150  			if v != nil {
 86151  				var linkedServiceName LinkedServiceReference
 86152  				err = json.Unmarshal(*v, &linkedServiceName)
 86153  				if err != nil {
 86154  					return err
 86155  				}
 86156  				gma.LinkedServiceName = &linkedServiceName
 86157  			}
 86158  		case "policy":
 86159  			if v != nil {
 86160  				var policy ActivityPolicy
 86161  				err = json.Unmarshal(*v, &policy)
 86162  				if err != nil {
 86163  					return err
 86164  				}
 86165  				gma.Policy = &policy
 86166  			}
 86167  		default:
 86168  			if v != nil {
 86169  				var additionalProperties interface{}
 86170  				err = json.Unmarshal(*v, &additionalProperties)
 86171  				if err != nil {
 86172  					return err
 86173  				}
 86174  				if gma.AdditionalProperties == nil {
 86175  					gma.AdditionalProperties = make(map[string]interface{})
 86176  				}
 86177  				gma.AdditionalProperties[k] = additionalProperties
 86178  			}
 86179  		case "name":
 86180  			if v != nil {
 86181  				var name string
 86182  				err = json.Unmarshal(*v, &name)
 86183  				if err != nil {
 86184  					return err
 86185  				}
 86186  				gma.Name = &name
 86187  			}
 86188  		case "description":
 86189  			if v != nil {
 86190  				var description string
 86191  				err = json.Unmarshal(*v, &description)
 86192  				if err != nil {
 86193  					return err
 86194  				}
 86195  				gma.Description = &description
 86196  			}
 86197  		case "dependsOn":
 86198  			if v != nil {
 86199  				var dependsOn []ActivityDependency
 86200  				err = json.Unmarshal(*v, &dependsOn)
 86201  				if err != nil {
 86202  					return err
 86203  				}
 86204  				gma.DependsOn = &dependsOn
 86205  			}
 86206  		case "userProperties":
 86207  			if v != nil {
 86208  				var userProperties []UserProperty
 86209  				err = json.Unmarshal(*v, &userProperties)
 86210  				if err != nil {
 86211  					return err
 86212  				}
 86213  				gma.UserProperties = &userProperties
 86214  			}
 86215  		case "type":
 86216  			if v != nil {
 86217  				var typeVar TypeBasicActivity
 86218  				err = json.Unmarshal(*v, &typeVar)
 86219  				if err != nil {
 86220  					return err
 86221  				}
 86222  				gma.Type = typeVar
 86223  			}
 86224  		}
 86225  	}
 86226  
 86227  	return nil
 86228  }
 86229  
 86230  // GetMetadataActivityTypeProperties getMetadata activity properties.
 86231  type GetMetadataActivityTypeProperties struct {
 86232  	// Dataset - GetMetadata activity dataset reference.
 86233  	Dataset *DatasetReference `json:"dataset,omitempty"`
 86234  	// FieldList - Fields of metadata to get from dataset.
 86235  	FieldList *[]interface{} `json:"fieldList,omitempty"`
 86236  }
 86237  
 86238  // GetSsisObjectMetadataRequest the request payload of get SSIS object metadata.
 86239  type GetSsisObjectMetadataRequest struct {
 86240  	// MetadataPath - Metadata path.
 86241  	MetadataPath *string `json:"metadataPath,omitempty"`
 86242  }
 86243  
 86244  // GitHubAccessTokenRequest ...
 86245  type GitHubAccessTokenRequest struct {
 86246  	// GitHubClientID - The GitHub Client Id.
 86247  	GitHubClientID *string `json:"gitHubClientId,omitempty"`
 86248  	// GitHubAccessCode - The GitHub Access code.
 86249  	GitHubAccessCode *string `json:"gitHubAccessCode,omitempty"`
 86250  	// GitHubAccessTokenBaseURL - The GitHub access token base URL.
 86251  	GitHubAccessTokenBaseURL *string `json:"gitHubAccessTokenBaseUrl,omitempty"`
 86252  }
 86253  
 86254  // GitHubAccessTokenResponse ...
 86255  type GitHubAccessTokenResponse struct {
 86256  	autorest.Response `json:"-"`
 86257  	GitHubAccessToken *string `json:"gitHubAccessToken,omitempty"`
 86258  }
 86259  
 86260  // GoogleAdWordsLinkedService google AdWords service linked service.
 86261  type GoogleAdWordsLinkedService struct {
 86262  	// GoogleAdWordsLinkedServiceTypeProperties - Google AdWords service linked service properties.
 86263  	*GoogleAdWordsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 86264  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 86265  	AdditionalProperties map[string]interface{} `json:""`
 86266  	// ConnectVia - The integration runtime reference.
 86267  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 86268  	// Description - Linked service description.
 86269  	Description *string `json:"description,omitempty"`
 86270  	// Parameters - Parameters for linked service.
 86271  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 86272  	// Annotations - List of tags that can be used for describing the linked service.
 86273  	Annotations *[]interface{} `json:"annotations,omitempty"`
 86274  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 86275  	Type TypeBasicLinkedService `json:"type,omitempty"`
 86276  }
 86277  
 86278  // MarshalJSON is the custom marshaler for GoogleAdWordsLinkedService.
 86279  func (gawls GoogleAdWordsLinkedService) MarshalJSON() ([]byte, error) {
 86280  	gawls.Type = TypeGoogleAdWords
 86281  	objectMap := make(map[string]interface{})
 86282  	if gawls.GoogleAdWordsLinkedServiceTypeProperties != nil {
 86283  		objectMap["typeProperties"] = gawls.GoogleAdWordsLinkedServiceTypeProperties
 86284  	}
 86285  	if gawls.ConnectVia != nil {
 86286  		objectMap["connectVia"] = gawls.ConnectVia
 86287  	}
 86288  	if gawls.Description != nil {
 86289  		objectMap["description"] = gawls.Description
 86290  	}
 86291  	if gawls.Parameters != nil {
 86292  		objectMap["parameters"] = gawls.Parameters
 86293  	}
 86294  	if gawls.Annotations != nil {
 86295  		objectMap["annotations"] = gawls.Annotations
 86296  	}
 86297  	if gawls.Type != "" {
 86298  		objectMap["type"] = gawls.Type
 86299  	}
 86300  	for k, v := range gawls.AdditionalProperties {
 86301  		objectMap[k] = v
 86302  	}
 86303  	return json.Marshal(objectMap)
 86304  }
 86305  
 86306  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86307  func (gawls GoogleAdWordsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 86308  	return nil, false
 86309  }
 86310  
 86311  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86312  func (gawls GoogleAdWordsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 86313  	return nil, false
 86314  }
 86315  
 86316  // AsSapTableLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86317  func (gawls GoogleAdWordsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 86318  	return nil, false
 86319  }
 86320  
 86321  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86322  func (gawls GoogleAdWordsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 86323  	return &gawls, true
 86324  }
 86325  
 86326  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86327  func (gawls GoogleAdWordsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 86328  	return nil, false
 86329  }
 86330  
 86331  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86332  func (gawls GoogleAdWordsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 86333  	return nil, false
 86334  }
 86335  
 86336  // AsResponsysLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86337  func (gawls GoogleAdWordsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 86338  	return nil, false
 86339  }
 86340  
 86341  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86342  func (gawls GoogleAdWordsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 86343  	return nil, false
 86344  }
 86345  
 86346  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86347  func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 86348  	return nil, false
 86349  }
 86350  
 86351  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86352  func (gawls GoogleAdWordsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 86353  	return nil, false
 86354  }
 86355  
 86356  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86357  func (gawls GoogleAdWordsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 86358  	return nil, false
 86359  }
 86360  
 86361  // AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86362  func (gawls GoogleAdWordsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 86363  	return nil, false
 86364  }
 86365  
 86366  // AsVerticaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86367  func (gawls GoogleAdWordsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 86368  	return nil, false
 86369  }
 86370  
 86371  // AsZohoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86372  func (gawls GoogleAdWordsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 86373  	return nil, false
 86374  }
 86375  
 86376  // AsXeroLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86377  func (gawls GoogleAdWordsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 86378  	return nil, false
 86379  }
 86380  
 86381  // AsSquareLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86382  func (gawls GoogleAdWordsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 86383  	return nil, false
 86384  }
 86385  
 86386  // AsSparkLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86387  func (gawls GoogleAdWordsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 86388  	return nil, false
 86389  }
 86390  
 86391  // AsShopifyLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86392  func (gawls GoogleAdWordsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 86393  	return nil, false
 86394  }
 86395  
 86396  // AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86397  func (gawls GoogleAdWordsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 86398  	return nil, false
 86399  }
 86400  
 86401  // AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86402  func (gawls GoogleAdWordsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 86403  	return nil, false
 86404  }
 86405  
 86406  // AsPrestoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86407  func (gawls GoogleAdWordsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 86408  	return nil, false
 86409  }
 86410  
 86411  // AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86412  func (gawls GoogleAdWordsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 86413  	return nil, false
 86414  }
 86415  
 86416  // AsPaypalLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86417  func (gawls GoogleAdWordsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 86418  	return nil, false
 86419  }
 86420  
 86421  // AsMarketoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86422  func (gawls GoogleAdWordsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 86423  	return nil, false
 86424  }
 86425  
 86426  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86427  func (gawls GoogleAdWordsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 86428  	return nil, false
 86429  }
 86430  
 86431  // AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86432  func (gawls GoogleAdWordsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 86433  	return nil, false
 86434  }
 86435  
 86436  // AsMagentoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86437  func (gawls GoogleAdWordsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 86438  	return nil, false
 86439  }
 86440  
 86441  // AsJiraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86442  func (gawls GoogleAdWordsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 86443  	return nil, false
 86444  }
 86445  
 86446  // AsImpalaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86447  func (gawls GoogleAdWordsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 86448  	return nil, false
 86449  }
 86450  
 86451  // AsHubspotLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86452  func (gawls GoogleAdWordsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 86453  	return nil, false
 86454  }
 86455  
 86456  // AsHiveLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86457  func (gawls GoogleAdWordsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 86458  	return nil, false
 86459  }
 86460  
 86461  // AsHBaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86462  func (gawls GoogleAdWordsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 86463  	return nil, false
 86464  }
 86465  
 86466  // AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86467  func (gawls GoogleAdWordsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 86468  	return nil, false
 86469  }
 86470  
 86471  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86472  func (gawls GoogleAdWordsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 86473  	return nil, false
 86474  }
 86475  
 86476  // AsEloquaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86477  func (gawls GoogleAdWordsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 86478  	return nil, false
 86479  }
 86480  
 86481  // AsDrillLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86482  func (gawls GoogleAdWordsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 86483  	return nil, false
 86484  }
 86485  
 86486  // AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86487  func (gawls GoogleAdWordsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 86488  	return nil, false
 86489  }
 86490  
 86491  // AsConcurLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86492  func (gawls GoogleAdWordsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 86493  	return nil, false
 86494  }
 86495  
 86496  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86497  func (gawls GoogleAdWordsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 86498  	return nil, false
 86499  }
 86500  
 86501  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86502  func (gawls GoogleAdWordsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 86503  	return nil, false
 86504  }
 86505  
 86506  // AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86507  func (gawls GoogleAdWordsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 86508  	return nil, false
 86509  }
 86510  
 86511  // AsSapBWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86512  func (gawls GoogleAdWordsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 86513  	return nil, false
 86514  }
 86515  
 86516  // AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86517  func (gawls GoogleAdWordsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 86518  	return nil, false
 86519  }
 86520  
 86521  // AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86522  func (gawls GoogleAdWordsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 86523  	return nil, false
 86524  }
 86525  
 86526  // AsHTTPLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86527  func (gawls GoogleAdWordsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 86528  	return nil, false
 86529  }
 86530  
 86531  // AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86532  func (gawls GoogleAdWordsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 86533  	return nil, false
 86534  }
 86535  
 86536  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86537  func (gawls GoogleAdWordsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 86538  	return nil, false
 86539  }
 86540  
 86541  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86542  func (gawls GoogleAdWordsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 86543  	return nil, false
 86544  }
 86545  
 86546  // AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86547  func (gawls GoogleAdWordsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 86548  	return nil, false
 86549  }
 86550  
 86551  // AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86552  func (gawls GoogleAdWordsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 86553  	return nil, false
 86554  }
 86555  
 86556  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86557  func (gawls GoogleAdWordsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 86558  	return nil, false
 86559  }
 86560  
 86561  // AsSapEccLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86562  func (gawls GoogleAdWordsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 86563  	return nil, false
 86564  }
 86565  
 86566  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86567  func (gawls GoogleAdWordsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 86568  	return nil, false
 86569  }
 86570  
 86571  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86572  func (gawls GoogleAdWordsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 86573  	return nil, false
 86574  }
 86575  
 86576  // AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86577  func (gawls GoogleAdWordsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 86578  	return nil, false
 86579  }
 86580  
 86581  // AsOffice365LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86582  func (gawls GoogleAdWordsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 86583  	return nil, false
 86584  }
 86585  
 86586  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86587  func (gawls GoogleAdWordsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 86588  	return nil, false
 86589  }
 86590  
 86591  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86592  func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 86593  	return nil, false
 86594  }
 86595  
 86596  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86597  func (gawls GoogleAdWordsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 86598  	return nil, false
 86599  }
 86600  
 86601  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86602  func (gawls GoogleAdWordsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 86603  	return nil, false
 86604  }
 86605  
 86606  // AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86607  func (gawls GoogleAdWordsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 86608  	return nil, false
 86609  }
 86610  
 86611  // AsCassandraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86612  func (gawls GoogleAdWordsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 86613  	return nil, false
 86614  }
 86615  
 86616  // AsWebLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86617  func (gawls GoogleAdWordsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 86618  	return nil, false
 86619  }
 86620  
 86621  // AsODataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86622  func (gawls GoogleAdWordsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 86623  	return nil, false
 86624  }
 86625  
 86626  // AsHdfsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86627  func (gawls GoogleAdWordsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 86628  	return nil, false
 86629  }
 86630  
 86631  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86632  func (gawls GoogleAdWordsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 86633  	return nil, false
 86634  }
 86635  
 86636  // AsInformixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86637  func (gawls GoogleAdWordsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 86638  	return nil, false
 86639  }
 86640  
 86641  // AsOdbcLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86642  func (gawls GoogleAdWordsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 86643  	return nil, false
 86644  }
 86645  
 86646  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86647  func (gawls GoogleAdWordsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 86648  	return nil, false
 86649  }
 86650  
 86651  // AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86652  func (gawls GoogleAdWordsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 86653  	return nil, false
 86654  }
 86655  
 86656  // AsTeradataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86657  func (gawls GoogleAdWordsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 86658  	return nil, false
 86659  }
 86660  
 86661  // AsDb2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86662  func (gawls GoogleAdWordsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 86663  	return nil, false
 86664  }
 86665  
 86666  // AsSybaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86667  func (gawls GoogleAdWordsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 86668  	return nil, false
 86669  }
 86670  
 86671  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86672  func (gawls GoogleAdWordsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 86673  	return nil, false
 86674  }
 86675  
 86676  // AsMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86677  func (gawls GoogleAdWordsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 86678  	return nil, false
 86679  }
 86680  
 86681  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86682  func (gawls GoogleAdWordsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 86683  	return nil, false
 86684  }
 86685  
 86686  // AsOracleLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86687  func (gawls GoogleAdWordsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 86688  	return nil, false
 86689  }
 86690  
 86691  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86692  func (gawls GoogleAdWordsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 86693  	return nil, false
 86694  }
 86695  
 86696  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86697  func (gawls GoogleAdWordsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 86698  	return nil, false
 86699  }
 86700  
 86701  // AsFileServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86702  func (gawls GoogleAdWordsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 86703  	return nil, false
 86704  }
 86705  
 86706  // AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86707  func (gawls GoogleAdWordsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 86708  	return nil, false
 86709  }
 86710  
 86711  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86712  func (gawls GoogleAdWordsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 86713  	return nil, false
 86714  }
 86715  
 86716  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86717  func (gawls GoogleAdWordsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 86718  	return nil, false
 86719  }
 86720  
 86721  // AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86722  func (gawls GoogleAdWordsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 86723  	return nil, false
 86724  }
 86725  
 86726  // AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86727  func (gawls GoogleAdWordsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 86728  	return nil, false
 86729  }
 86730  
 86731  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86732  func (gawls GoogleAdWordsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 86733  	return nil, false
 86734  }
 86735  
 86736  // AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86737  func (gawls GoogleAdWordsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 86738  	return nil, false
 86739  }
 86740  
 86741  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86742  func (gawls GoogleAdWordsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 86743  	return nil, false
 86744  }
 86745  
 86746  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86747  func (gawls GoogleAdWordsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 86748  	return nil, false
 86749  }
 86750  
 86751  // AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86752  func (gawls GoogleAdWordsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 86753  	return nil, false
 86754  }
 86755  
 86756  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86757  func (gawls GoogleAdWordsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 86758  	return nil, false
 86759  }
 86760  
 86761  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86762  func (gawls GoogleAdWordsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 86763  	return nil, false
 86764  }
 86765  
 86766  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86767  func (gawls GoogleAdWordsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 86768  	return nil, false
 86769  }
 86770  
 86771  // AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86772  func (gawls GoogleAdWordsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 86773  	return nil, false
 86774  }
 86775  
 86776  // AsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86777  func (gawls GoogleAdWordsLinkedService) AsLinkedService() (*LinkedService, bool) {
 86778  	return nil, false
 86779  }
 86780  
 86781  // AsBasicLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService.
 86782  func (gawls GoogleAdWordsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 86783  	return &gawls, true
 86784  }
 86785  
 86786  // UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedService struct.
 86787  func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error {
 86788  	var m map[string]*json.RawMessage
 86789  	err := json.Unmarshal(body, &m)
 86790  	if err != nil {
 86791  		return err
 86792  	}
 86793  	for k, v := range m {
 86794  		switch k {
 86795  		case "typeProperties":
 86796  			if v != nil {
 86797  				var googleAdWordsLinkedServiceTypeProperties GoogleAdWordsLinkedServiceTypeProperties
 86798  				err = json.Unmarshal(*v, &googleAdWordsLinkedServiceTypeProperties)
 86799  				if err != nil {
 86800  					return err
 86801  				}
 86802  				gawls.GoogleAdWordsLinkedServiceTypeProperties = &googleAdWordsLinkedServiceTypeProperties
 86803  			}
 86804  		default:
 86805  			if v != nil {
 86806  				var additionalProperties interface{}
 86807  				err = json.Unmarshal(*v, &additionalProperties)
 86808  				if err != nil {
 86809  					return err
 86810  				}
 86811  				if gawls.AdditionalProperties == nil {
 86812  					gawls.AdditionalProperties = make(map[string]interface{})
 86813  				}
 86814  				gawls.AdditionalProperties[k] = additionalProperties
 86815  			}
 86816  		case "connectVia":
 86817  			if v != nil {
 86818  				var connectVia IntegrationRuntimeReference
 86819  				err = json.Unmarshal(*v, &connectVia)
 86820  				if err != nil {
 86821  					return err
 86822  				}
 86823  				gawls.ConnectVia = &connectVia
 86824  			}
 86825  		case "description":
 86826  			if v != nil {
 86827  				var description string
 86828  				err = json.Unmarshal(*v, &description)
 86829  				if err != nil {
 86830  					return err
 86831  				}
 86832  				gawls.Description = &description
 86833  			}
 86834  		case "parameters":
 86835  			if v != nil {
 86836  				var parameters map[string]*ParameterSpecification
 86837  				err = json.Unmarshal(*v, &parameters)
 86838  				if err != nil {
 86839  					return err
 86840  				}
 86841  				gawls.Parameters = parameters
 86842  			}
 86843  		case "annotations":
 86844  			if v != nil {
 86845  				var annotations []interface{}
 86846  				err = json.Unmarshal(*v, &annotations)
 86847  				if err != nil {
 86848  					return err
 86849  				}
 86850  				gawls.Annotations = &annotations
 86851  			}
 86852  		case "type":
 86853  			if v != nil {
 86854  				var typeVar TypeBasicLinkedService
 86855  				err = json.Unmarshal(*v, &typeVar)
 86856  				if err != nil {
 86857  					return err
 86858  				}
 86859  				gawls.Type = typeVar
 86860  			}
 86861  		}
 86862  	}
 86863  
 86864  	return nil
 86865  }
 86866  
 86867  // GoogleAdWordsLinkedServiceTypeProperties google AdWords service linked service properties.
 86868  type GoogleAdWordsLinkedServiceTypeProperties struct {
 86869  	// ClientCustomerID - The Client customer ID of the AdWords account that you want to fetch report data for.
 86870  	ClientCustomerID interface{} `json:"clientCustomerID,omitempty"`
 86871  	// DeveloperToken - The developer token associated with the manager account that you use to grant access to the AdWords API.
 86872  	DeveloperToken BasicSecretBase `json:"developerToken,omitempty"`
 86873  	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication'
 86874  	AuthenticationType GoogleAdWordsAuthenticationType `json:"authenticationType,omitempty"`
 86875  	// RefreshToken - The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication.
 86876  	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
 86877  	// ClientID - The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).
 86878  	ClientID interface{} `json:"clientId,omitempty"`
 86879  	// ClientSecret - The client secret of the google application used to acquire the refresh token.
 86880  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
 86881  	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
 86882  	Email interface{} `json:"email,omitempty"`
 86883  	// 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.
 86884  	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
 86885  	// 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.
 86886  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
 86887  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
 86888  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
 86889  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 86890  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 86891  }
 86892  
 86893  // UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedServiceTypeProperties struct.
 86894  func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 86895  	var m map[string]*json.RawMessage
 86896  	err := json.Unmarshal(body, &m)
 86897  	if err != nil {
 86898  		return err
 86899  	}
 86900  	for k, v := range m {
 86901  		switch k {
 86902  		case "clientCustomerID":
 86903  			if v != nil {
 86904  				var clientCustomerID interface{}
 86905  				err = json.Unmarshal(*v, &clientCustomerID)
 86906  				if err != nil {
 86907  					return err
 86908  				}
 86909  				gawlstp.ClientCustomerID = clientCustomerID
 86910  			}
 86911  		case "developerToken":
 86912  			if v != nil {
 86913  				developerToken, err := unmarshalBasicSecretBase(*v)
 86914  				if err != nil {
 86915  					return err
 86916  				}
 86917  				gawlstp.DeveloperToken = developerToken
 86918  			}
 86919  		case "authenticationType":
 86920  			if v != nil {
 86921  				var authenticationType GoogleAdWordsAuthenticationType
 86922  				err = json.Unmarshal(*v, &authenticationType)
 86923  				if err != nil {
 86924  					return err
 86925  				}
 86926  				gawlstp.AuthenticationType = authenticationType
 86927  			}
 86928  		case "refreshToken":
 86929  			if v != nil {
 86930  				refreshToken, err := unmarshalBasicSecretBase(*v)
 86931  				if err != nil {
 86932  					return err
 86933  				}
 86934  				gawlstp.RefreshToken = refreshToken
 86935  			}
 86936  		case "clientId":
 86937  			if v != nil {
 86938  				var clientID interface{}
 86939  				err = json.Unmarshal(*v, &clientID)
 86940  				if err != nil {
 86941  					return err
 86942  				}
 86943  				gawlstp.ClientID = clientID
 86944  			}
 86945  		case "clientSecret":
 86946  			if v != nil {
 86947  				clientSecret, err := unmarshalBasicSecretBase(*v)
 86948  				if err != nil {
 86949  					return err
 86950  				}
 86951  				gawlstp.ClientSecret = clientSecret
 86952  			}
 86953  		case "email":
 86954  			if v != nil {
 86955  				var email interface{}
 86956  				err = json.Unmarshal(*v, &email)
 86957  				if err != nil {
 86958  					return err
 86959  				}
 86960  				gawlstp.Email = email
 86961  			}
 86962  		case "keyFilePath":
 86963  			if v != nil {
 86964  				var keyFilePath interface{}
 86965  				err = json.Unmarshal(*v, &keyFilePath)
 86966  				if err != nil {
 86967  					return err
 86968  				}
 86969  				gawlstp.KeyFilePath = keyFilePath
 86970  			}
 86971  		case "trustedCertPath":
 86972  			if v != nil {
 86973  				var trustedCertPath interface{}
 86974  				err = json.Unmarshal(*v, &trustedCertPath)
 86975  				if err != nil {
 86976  					return err
 86977  				}
 86978  				gawlstp.TrustedCertPath = trustedCertPath
 86979  			}
 86980  		case "useSystemTrustStore":
 86981  			if v != nil {
 86982  				var useSystemTrustStore interface{}
 86983  				err = json.Unmarshal(*v, &useSystemTrustStore)
 86984  				if err != nil {
 86985  					return err
 86986  				}
 86987  				gawlstp.UseSystemTrustStore = useSystemTrustStore
 86988  			}
 86989  		case "encryptedCredential":
 86990  			if v != nil {
 86991  				var encryptedCredential interface{}
 86992  				err = json.Unmarshal(*v, &encryptedCredential)
 86993  				if err != nil {
 86994  					return err
 86995  				}
 86996  				gawlstp.EncryptedCredential = encryptedCredential
 86997  			}
 86998  		}
 86999  	}
 87000  
 87001  	return nil
 87002  }
 87003  
 87004  // GoogleAdWordsObjectDataset google AdWords service dataset.
 87005  type GoogleAdWordsObjectDataset struct {
 87006  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 87007  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 87008  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 87009  	AdditionalProperties map[string]interface{} `json:""`
 87010  	// Description - Dataset description.
 87011  	Description *string `json:"description,omitempty"`
 87012  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 87013  	Structure interface{} `json:"structure,omitempty"`
 87014  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 87015  	Schema interface{} `json:"schema,omitempty"`
 87016  	// LinkedServiceName - Linked service reference.
 87017  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 87018  	// Parameters - Parameters for dataset.
 87019  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 87020  	// Annotations - List of tags that can be used for describing the Dataset.
 87021  	Annotations *[]interface{} `json:"annotations,omitempty"`
 87022  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 87023  	Folder *DatasetFolder `json:"folder,omitempty"`
 87024  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 87025  	Type TypeBasicDataset `json:"type,omitempty"`
 87026  }
 87027  
 87028  // MarshalJSON is the custom marshaler for GoogleAdWordsObjectDataset.
 87029  func (gawod GoogleAdWordsObjectDataset) MarshalJSON() ([]byte, error) {
 87030  	gawod.Type = TypeGoogleAdWordsObject
 87031  	objectMap := make(map[string]interface{})
 87032  	if gawod.GenericDatasetTypeProperties != nil {
 87033  		objectMap["typeProperties"] = gawod.GenericDatasetTypeProperties
 87034  	}
 87035  	if gawod.Description != nil {
 87036  		objectMap["description"] = gawod.Description
 87037  	}
 87038  	if gawod.Structure != nil {
 87039  		objectMap["structure"] = gawod.Structure
 87040  	}
 87041  	if gawod.Schema != nil {
 87042  		objectMap["schema"] = gawod.Schema
 87043  	}
 87044  	if gawod.LinkedServiceName != nil {
 87045  		objectMap["linkedServiceName"] = gawod.LinkedServiceName
 87046  	}
 87047  	if gawod.Parameters != nil {
 87048  		objectMap["parameters"] = gawod.Parameters
 87049  	}
 87050  	if gawod.Annotations != nil {
 87051  		objectMap["annotations"] = gawod.Annotations
 87052  	}
 87053  	if gawod.Folder != nil {
 87054  		objectMap["folder"] = gawod.Folder
 87055  	}
 87056  	if gawod.Type != "" {
 87057  		objectMap["type"] = gawod.Type
 87058  	}
 87059  	for k, v := range gawod.AdditionalProperties {
 87060  		objectMap[k] = v
 87061  	}
 87062  	return json.Marshal(objectMap)
 87063  }
 87064  
 87065  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87066  func (gawod GoogleAdWordsObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 87067  	return &gawod, true
 87068  }
 87069  
 87070  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87071  func (gawod GoogleAdWordsObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 87072  	return nil, false
 87073  }
 87074  
 87075  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87076  func (gawod GoogleAdWordsObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 87077  	return nil, false
 87078  }
 87079  
 87080  // AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87081  func (gawod GoogleAdWordsObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 87082  	return nil, false
 87083  }
 87084  
 87085  // AsResponsysObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87086  func (gawod GoogleAdWordsObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 87087  	return nil, false
 87088  }
 87089  
 87090  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87091  func (gawod GoogleAdWordsObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 87092  	return nil, false
 87093  }
 87094  
 87095  // AsVerticaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87096  func (gawod GoogleAdWordsObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 87097  	return nil, false
 87098  }
 87099  
 87100  // AsNetezzaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87101  func (gawod GoogleAdWordsObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 87102  	return nil, false
 87103  }
 87104  
 87105  // AsZohoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87106  func (gawod GoogleAdWordsObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 87107  	return nil, false
 87108  }
 87109  
 87110  // AsXeroObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87111  func (gawod GoogleAdWordsObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 87112  	return nil, false
 87113  }
 87114  
 87115  // AsSquareObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87116  func (gawod GoogleAdWordsObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 87117  	return nil, false
 87118  }
 87119  
 87120  // AsSparkObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87121  func (gawod GoogleAdWordsObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 87122  	return nil, false
 87123  }
 87124  
 87125  // AsShopifyObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87126  func (gawod GoogleAdWordsObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 87127  	return nil, false
 87128  }
 87129  
 87130  // AsServiceNowObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87131  func (gawod GoogleAdWordsObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 87132  	return nil, false
 87133  }
 87134  
 87135  // AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87136  func (gawod GoogleAdWordsObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 87137  	return nil, false
 87138  }
 87139  
 87140  // AsPrestoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87141  func (gawod GoogleAdWordsObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 87142  	return nil, false
 87143  }
 87144  
 87145  // AsPhoenixObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87146  func (gawod GoogleAdWordsObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 87147  	return nil, false
 87148  }
 87149  
 87150  // AsPaypalObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87151  func (gawod GoogleAdWordsObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 87152  	return nil, false
 87153  }
 87154  
 87155  // AsMarketoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87156  func (gawod GoogleAdWordsObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 87157  	return nil, false
 87158  }
 87159  
 87160  // AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87161  func (gawod GoogleAdWordsObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 87162  	return nil, false
 87163  }
 87164  
 87165  // AsMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87166  func (gawod GoogleAdWordsObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 87167  	return nil, false
 87168  }
 87169  
 87170  // AsMagentoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87171  func (gawod GoogleAdWordsObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 87172  	return nil, false
 87173  }
 87174  
 87175  // AsJiraObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87176  func (gawod GoogleAdWordsObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 87177  	return nil, false
 87178  }
 87179  
 87180  // AsImpalaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87181  func (gawod GoogleAdWordsObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 87182  	return nil, false
 87183  }
 87184  
 87185  // AsHubspotObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87186  func (gawod GoogleAdWordsObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 87187  	return nil, false
 87188  }
 87189  
 87190  // AsHiveObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87191  func (gawod GoogleAdWordsObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 87192  	return nil, false
 87193  }
 87194  
 87195  // AsHBaseObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87196  func (gawod GoogleAdWordsObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 87197  	return nil, false
 87198  }
 87199  
 87200  // AsGreenplumTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87201  func (gawod GoogleAdWordsObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 87202  	return nil, false
 87203  }
 87204  
 87205  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87206  func (gawod GoogleAdWordsObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 87207  	return nil, false
 87208  }
 87209  
 87210  // AsEloquaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87211  func (gawod GoogleAdWordsObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 87212  	return nil, false
 87213  }
 87214  
 87215  // AsDrillTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87216  func (gawod GoogleAdWordsObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 87217  	return nil, false
 87218  }
 87219  
 87220  // AsCouchbaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87221  func (gawod GoogleAdWordsObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 87222  	return nil, false
 87223  }
 87224  
 87225  // AsConcurObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87226  func (gawod GoogleAdWordsObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 87227  	return nil, false
 87228  }
 87229  
 87230  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87231  func (gawod GoogleAdWordsObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 87232  	return nil, false
 87233  }
 87234  
 87235  // AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87236  func (gawod GoogleAdWordsObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 87237  	return nil, false
 87238  }
 87239  
 87240  // AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87241  func (gawod GoogleAdWordsObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 87242  	return nil, false
 87243  }
 87244  
 87245  // AsWebTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87246  func (gawod GoogleAdWordsObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 87247  	return nil, false
 87248  }
 87249  
 87250  // AsSapTableResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87251  func (gawod GoogleAdWordsObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 87252  	return nil, false
 87253  }
 87254  
 87255  // AsRestResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87256  func (gawod GoogleAdWordsObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 87257  	return nil, false
 87258  }
 87259  
 87260  // AsSQLServerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87261  func (gawod GoogleAdWordsObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 87262  	return nil, false
 87263  }
 87264  
 87265  // AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87266  func (gawod GoogleAdWordsObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 87267  	return nil, false
 87268  }
 87269  
 87270  // AsSapHanaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87271  func (gawod GoogleAdWordsObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 87272  	return nil, false
 87273  }
 87274  
 87275  // AsSapEccResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87276  func (gawod GoogleAdWordsObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 87277  	return nil, false
 87278  }
 87279  
 87280  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87281  func (gawod GoogleAdWordsObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 87282  	return nil, false
 87283  }
 87284  
 87285  // AsSapBwCubeDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87286  func (gawod GoogleAdWordsObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 87287  	return nil, false
 87288  }
 87289  
 87290  // AsSybaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87291  func (gawod GoogleAdWordsObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 87292  	return nil, false
 87293  }
 87294  
 87295  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87296  func (gawod GoogleAdWordsObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 87297  	return nil, false
 87298  }
 87299  
 87300  // AsSalesforceObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87301  func (gawod GoogleAdWordsObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 87302  	return nil, false
 87303  }
 87304  
 87305  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87306  func (gawod GoogleAdWordsObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 87307  	return nil, false
 87308  }
 87309  
 87310  // AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87311  func (gawod GoogleAdWordsObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 87312  	return nil, false
 87313  }
 87314  
 87315  // AsMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87316  func (gawod GoogleAdWordsObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 87317  	return nil, false
 87318  }
 87319  
 87320  // AsOdbcTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87321  func (gawod GoogleAdWordsObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 87322  	return nil, false
 87323  }
 87324  
 87325  // AsInformixTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87326  func (gawod GoogleAdWordsObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 87327  	return nil, false
 87328  }
 87329  
 87330  // AsRelationalTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87331  func (gawod GoogleAdWordsObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 87332  	return nil, false
 87333  }
 87334  
 87335  // AsDb2TableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87336  func (gawod GoogleAdWordsObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 87337  	return nil, false
 87338  }
 87339  
 87340  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87341  func (gawod GoogleAdWordsObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 87342  	return nil, false
 87343  }
 87344  
 87345  // AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87346  func (gawod GoogleAdWordsObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 87347  	return nil, false
 87348  }
 87349  
 87350  // AsTeradataTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87351  func (gawod GoogleAdWordsObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 87352  	return nil, false
 87353  }
 87354  
 87355  // AsOracleTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87356  func (gawod GoogleAdWordsObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 87357  	return nil, false
 87358  }
 87359  
 87360  // AsODataResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87361  func (gawod GoogleAdWordsObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 87362  	return nil, false
 87363  }
 87364  
 87365  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87366  func (gawod GoogleAdWordsObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 87367  	return nil, false
 87368  }
 87369  
 87370  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87371  func (gawod GoogleAdWordsObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 87372  	return nil, false
 87373  }
 87374  
 87375  // AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87376  func (gawod GoogleAdWordsObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 87377  	return nil, false
 87378  }
 87379  
 87380  // AsOffice365Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87381  func (gawod GoogleAdWordsObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 87382  	return nil, false
 87383  }
 87384  
 87385  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87386  func (gawod GoogleAdWordsObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 87387  	return nil, false
 87388  }
 87389  
 87390  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87391  func (gawod GoogleAdWordsObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 87392  	return nil, false
 87393  }
 87394  
 87395  // AsDynamicsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87396  func (gawod GoogleAdWordsObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 87397  	return nil, false
 87398  }
 87399  
 87400  // AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87401  func (gawod GoogleAdWordsObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 87402  	return nil, false
 87403  }
 87404  
 87405  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87406  func (gawod GoogleAdWordsObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 87407  	return nil, false
 87408  }
 87409  
 87410  // AsCustomDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87411  func (gawod GoogleAdWordsObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
 87412  	return nil, false
 87413  }
 87414  
 87415  // AsCassandraTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87416  func (gawod GoogleAdWordsObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 87417  	return nil, false
 87418  }
 87419  
 87420  // AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87421  func (gawod GoogleAdWordsObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 87422  	return nil, false
 87423  }
 87424  
 87425  // AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87426  func (gawod GoogleAdWordsObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 87427  	return nil, false
 87428  }
 87429  
 87430  // AsAzureSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87431  func (gawod GoogleAdWordsObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 87432  	return nil, false
 87433  }
 87434  
 87435  // AsAzureTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87436  func (gawod GoogleAdWordsObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 87437  	return nil, false
 87438  }
 87439  
 87440  // AsBinaryDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87441  func (gawod GoogleAdWordsObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 87442  	return nil, false
 87443  }
 87444  
 87445  // AsOrcDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87446  func (gawod GoogleAdWordsObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
 87447  	return nil, false
 87448  }
 87449  
 87450  // AsJSONDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87451  func (gawod GoogleAdWordsObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
 87452  	return nil, false
 87453  }
 87454  
 87455  // AsDelimitedTextDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87456  func (gawod GoogleAdWordsObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 87457  	return nil, false
 87458  }
 87459  
 87460  // AsParquetDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87461  func (gawod GoogleAdWordsObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
 87462  	return nil, false
 87463  }
 87464  
 87465  // AsAvroDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87466  func (gawod GoogleAdWordsObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
 87467  	return nil, false
 87468  }
 87469  
 87470  // AsDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87471  func (gawod GoogleAdWordsObjectDataset) AsDataset() (*Dataset, bool) {
 87472  	return nil, false
 87473  }
 87474  
 87475  // AsBasicDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset.
 87476  func (gawod GoogleAdWordsObjectDataset) AsBasicDataset() (BasicDataset, bool) {
 87477  	return &gawod, true
 87478  }
 87479  
 87480  // UnmarshalJSON is the custom unmarshaler for GoogleAdWordsObjectDataset struct.
 87481  func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error {
 87482  	var m map[string]*json.RawMessage
 87483  	err := json.Unmarshal(body, &m)
 87484  	if err != nil {
 87485  		return err
 87486  	}
 87487  	for k, v := range m {
 87488  		switch k {
 87489  		case "typeProperties":
 87490  			if v != nil {
 87491  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 87492  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 87493  				if err != nil {
 87494  					return err
 87495  				}
 87496  				gawod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 87497  			}
 87498  		default:
 87499  			if v != nil {
 87500  				var additionalProperties interface{}
 87501  				err = json.Unmarshal(*v, &additionalProperties)
 87502  				if err != nil {
 87503  					return err
 87504  				}
 87505  				if gawod.AdditionalProperties == nil {
 87506  					gawod.AdditionalProperties = make(map[string]interface{})
 87507  				}
 87508  				gawod.AdditionalProperties[k] = additionalProperties
 87509  			}
 87510  		case "description":
 87511  			if v != nil {
 87512  				var description string
 87513  				err = json.Unmarshal(*v, &description)
 87514  				if err != nil {
 87515  					return err
 87516  				}
 87517  				gawod.Description = &description
 87518  			}
 87519  		case "structure":
 87520  			if v != nil {
 87521  				var structure interface{}
 87522  				err = json.Unmarshal(*v, &structure)
 87523  				if err != nil {
 87524  					return err
 87525  				}
 87526  				gawod.Structure = structure
 87527  			}
 87528  		case "schema":
 87529  			if v != nil {
 87530  				var schema interface{}
 87531  				err = json.Unmarshal(*v, &schema)
 87532  				if err != nil {
 87533  					return err
 87534  				}
 87535  				gawod.Schema = schema
 87536  			}
 87537  		case "linkedServiceName":
 87538  			if v != nil {
 87539  				var linkedServiceName LinkedServiceReference
 87540  				err = json.Unmarshal(*v, &linkedServiceName)
 87541  				if err != nil {
 87542  					return err
 87543  				}
 87544  				gawod.LinkedServiceName = &linkedServiceName
 87545  			}
 87546  		case "parameters":
 87547  			if v != nil {
 87548  				var parameters map[string]*ParameterSpecification
 87549  				err = json.Unmarshal(*v, &parameters)
 87550  				if err != nil {
 87551  					return err
 87552  				}
 87553  				gawod.Parameters = parameters
 87554  			}
 87555  		case "annotations":
 87556  			if v != nil {
 87557  				var annotations []interface{}
 87558  				err = json.Unmarshal(*v, &annotations)
 87559  				if err != nil {
 87560  					return err
 87561  				}
 87562  				gawod.Annotations = &annotations
 87563  			}
 87564  		case "folder":
 87565  			if v != nil {
 87566  				var folder DatasetFolder
 87567  				err = json.Unmarshal(*v, &folder)
 87568  				if err != nil {
 87569  					return err
 87570  				}
 87571  				gawod.Folder = &folder
 87572  			}
 87573  		case "type":
 87574  			if v != nil {
 87575  				var typeVar TypeBasicDataset
 87576  				err = json.Unmarshal(*v, &typeVar)
 87577  				if err != nil {
 87578  					return err
 87579  				}
 87580  				gawod.Type = typeVar
 87581  			}
 87582  		}
 87583  	}
 87584  
 87585  	return nil
 87586  }
 87587  
 87588  // GoogleAdWordsSource a copy activity Google AdWords service source.
 87589  type GoogleAdWordsSource struct {
 87590  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 87591  	Query interface{} `json:"query,omitempty"`
 87592  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 87593  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 87594  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 87595  	AdditionalProperties map[string]interface{} `json:""`
 87596  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 87597  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 87598  	// 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])).
 87599  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 87600  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 87601  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 87602  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 87603  	Type TypeBasicCopySource `json:"type,omitempty"`
 87604  }
 87605  
 87606  // MarshalJSON is the custom marshaler for GoogleAdWordsSource.
 87607  func (gaws GoogleAdWordsSource) MarshalJSON() ([]byte, error) {
 87608  	gaws.Type = TypeGoogleAdWordsSource
 87609  	objectMap := make(map[string]interface{})
 87610  	if gaws.Query != nil {
 87611  		objectMap["query"] = gaws.Query
 87612  	}
 87613  	if gaws.QueryTimeout != nil {
 87614  		objectMap["queryTimeout"] = gaws.QueryTimeout
 87615  	}
 87616  	if gaws.SourceRetryCount != nil {
 87617  		objectMap["sourceRetryCount"] = gaws.SourceRetryCount
 87618  	}
 87619  	if gaws.SourceRetryWait != nil {
 87620  		objectMap["sourceRetryWait"] = gaws.SourceRetryWait
 87621  	}
 87622  	if gaws.MaxConcurrentConnections != nil {
 87623  		objectMap["maxConcurrentConnections"] = gaws.MaxConcurrentConnections
 87624  	}
 87625  	if gaws.Type != "" {
 87626  		objectMap["type"] = gaws.Type
 87627  	}
 87628  	for k, v := range gaws.AdditionalProperties {
 87629  		objectMap[k] = v
 87630  	}
 87631  	return json.Marshal(objectMap)
 87632  }
 87633  
 87634  // AsHTTPSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87635  func (gaws GoogleAdWordsSource) AsHTTPSource() (*HTTPSource, bool) {
 87636  	return nil, false
 87637  }
 87638  
 87639  // AsAzureBlobFSSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87640  func (gaws GoogleAdWordsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 87641  	return nil, false
 87642  }
 87643  
 87644  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87645  func (gaws GoogleAdWordsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 87646  	return nil, false
 87647  }
 87648  
 87649  // AsOffice365Source is the BasicCopySource implementation for GoogleAdWordsSource.
 87650  func (gaws GoogleAdWordsSource) AsOffice365Source() (*Office365Source, bool) {
 87651  	return nil, false
 87652  }
 87653  
 87654  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleAdWordsSource.
 87655  func (gaws GoogleAdWordsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 87656  	return nil, false
 87657  }
 87658  
 87659  // AsMongoDbV2Source is the BasicCopySource implementation for GoogleAdWordsSource.
 87660  func (gaws GoogleAdWordsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 87661  	return nil, false
 87662  }
 87663  
 87664  // AsMongoDbSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87665  func (gaws GoogleAdWordsSource) AsMongoDbSource() (*MongoDbSource, bool) {
 87666  	return nil, false
 87667  }
 87668  
 87669  // AsWebSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87670  func (gaws GoogleAdWordsSource) AsWebSource() (*WebSource, bool) {
 87671  	return nil, false
 87672  }
 87673  
 87674  // AsOracleSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87675  func (gaws GoogleAdWordsSource) AsOracleSource() (*OracleSource, bool) {
 87676  	return nil, false
 87677  }
 87678  
 87679  // AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87680  func (gaws GoogleAdWordsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 87681  	return nil, false
 87682  }
 87683  
 87684  // AsHdfsSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87685  func (gaws GoogleAdWordsSource) AsHdfsSource() (*HdfsSource, bool) {
 87686  	return nil, false
 87687  }
 87688  
 87689  // AsFileSystemSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87690  func (gaws GoogleAdWordsSource) AsFileSystemSource() (*FileSystemSource, bool) {
 87691  	return nil, false
 87692  }
 87693  
 87694  // AsRestSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87695  func (gaws GoogleAdWordsSource) AsRestSource() (*RestSource, bool) {
 87696  	return nil, false
 87697  }
 87698  
 87699  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87700  func (gaws GoogleAdWordsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 87701  	return nil, false
 87702  }
 87703  
 87704  // AsODataSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87705  func (gaws GoogleAdWordsSource) AsODataSource() (*ODataSource, bool) {
 87706  	return nil, false
 87707  }
 87708  
 87709  // AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87710  func (gaws GoogleAdWordsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 87711  	return nil, false
 87712  }
 87713  
 87714  // AsRelationalSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87715  func (gaws GoogleAdWordsSource) AsRelationalSource() (*RelationalSource, bool) {
 87716  	return nil, false
 87717  }
 87718  
 87719  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87720  func (gaws GoogleAdWordsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 87721  	return nil, false
 87722  }
 87723  
 87724  // AsDynamicsCrmSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87725  func (gaws GoogleAdWordsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 87726  	return nil, false
 87727  }
 87728  
 87729  // AsDynamicsSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87730  func (gaws GoogleAdWordsSource) AsDynamicsSource() (*DynamicsSource, bool) {
 87731  	return nil, false
 87732  }
 87733  
 87734  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleAdWordsSource.
 87735  func (gaws GoogleAdWordsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 87736  	return nil, false
 87737  }
 87738  
 87739  // AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87740  func (gaws GoogleAdWordsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 87741  	return nil, false
 87742  }
 87743  
 87744  // AsBlobSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87745  func (gaws GoogleAdWordsSource) AsBlobSource() (*BlobSource, bool) {
 87746  	return nil, false
 87747  }
 87748  
 87749  // AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87750  func (gaws GoogleAdWordsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 87751  	return nil, false
 87752  }
 87753  
 87754  // AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87755  func (gaws GoogleAdWordsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 87756  	return &gaws, true
 87757  }
 87758  
 87759  // AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87760  func (gaws GoogleAdWordsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 87761  	return nil, false
 87762  }
 87763  
 87764  // AsDynamicsAXSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87765  func (gaws GoogleAdWordsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 87766  	return nil, false
 87767  }
 87768  
 87769  // AsResponsysSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87770  func (gaws GoogleAdWordsSource) AsResponsysSource() (*ResponsysSource, bool) {
 87771  	return nil, false
 87772  }
 87773  
 87774  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87775  func (gaws GoogleAdWordsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 87776  	return nil, false
 87777  }
 87778  
 87779  // AsVerticaSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87780  func (gaws GoogleAdWordsSource) AsVerticaSource() (*VerticaSource, bool) {
 87781  	return nil, false
 87782  }
 87783  
 87784  // AsNetezzaSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87785  func (gaws GoogleAdWordsSource) AsNetezzaSource() (*NetezzaSource, bool) {
 87786  	return nil, false
 87787  }
 87788  
 87789  // AsZohoSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87790  func (gaws GoogleAdWordsSource) AsZohoSource() (*ZohoSource, bool) {
 87791  	return nil, false
 87792  }
 87793  
 87794  // AsXeroSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87795  func (gaws GoogleAdWordsSource) AsXeroSource() (*XeroSource, bool) {
 87796  	return nil, false
 87797  }
 87798  
 87799  // AsSquareSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87800  func (gaws GoogleAdWordsSource) AsSquareSource() (*SquareSource, bool) {
 87801  	return nil, false
 87802  }
 87803  
 87804  // AsSparkSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87805  func (gaws GoogleAdWordsSource) AsSparkSource() (*SparkSource, bool) {
 87806  	return nil, false
 87807  }
 87808  
 87809  // AsShopifySource is the BasicCopySource implementation for GoogleAdWordsSource.
 87810  func (gaws GoogleAdWordsSource) AsShopifySource() (*ShopifySource, bool) {
 87811  	return nil, false
 87812  }
 87813  
 87814  // AsServiceNowSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87815  func (gaws GoogleAdWordsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 87816  	return nil, false
 87817  }
 87818  
 87819  // AsQuickBooksSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87820  func (gaws GoogleAdWordsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 87821  	return nil, false
 87822  }
 87823  
 87824  // AsPrestoSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87825  func (gaws GoogleAdWordsSource) AsPrestoSource() (*PrestoSource, bool) {
 87826  	return nil, false
 87827  }
 87828  
 87829  // AsPhoenixSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87830  func (gaws GoogleAdWordsSource) AsPhoenixSource() (*PhoenixSource, bool) {
 87831  	return nil, false
 87832  }
 87833  
 87834  // AsPaypalSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87835  func (gaws GoogleAdWordsSource) AsPaypalSource() (*PaypalSource, bool) {
 87836  	return nil, false
 87837  }
 87838  
 87839  // AsMarketoSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87840  func (gaws GoogleAdWordsSource) AsMarketoSource() (*MarketoSource, bool) {
 87841  	return nil, false
 87842  }
 87843  
 87844  // AsAzureMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87845  func (gaws GoogleAdWordsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 87846  	return nil, false
 87847  }
 87848  
 87849  // AsMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87850  func (gaws GoogleAdWordsSource) AsMariaDBSource() (*MariaDBSource, bool) {
 87851  	return nil, false
 87852  }
 87853  
 87854  // AsMagentoSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87855  func (gaws GoogleAdWordsSource) AsMagentoSource() (*MagentoSource, bool) {
 87856  	return nil, false
 87857  }
 87858  
 87859  // AsJiraSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87860  func (gaws GoogleAdWordsSource) AsJiraSource() (*JiraSource, bool) {
 87861  	return nil, false
 87862  }
 87863  
 87864  // AsImpalaSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87865  func (gaws GoogleAdWordsSource) AsImpalaSource() (*ImpalaSource, bool) {
 87866  	return nil, false
 87867  }
 87868  
 87869  // AsHubspotSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87870  func (gaws GoogleAdWordsSource) AsHubspotSource() (*HubspotSource, bool) {
 87871  	return nil, false
 87872  }
 87873  
 87874  // AsHiveSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87875  func (gaws GoogleAdWordsSource) AsHiveSource() (*HiveSource, bool) {
 87876  	return nil, false
 87877  }
 87878  
 87879  // AsHBaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87880  func (gaws GoogleAdWordsSource) AsHBaseSource() (*HBaseSource, bool) {
 87881  	return nil, false
 87882  }
 87883  
 87884  // AsGreenplumSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87885  func (gaws GoogleAdWordsSource) AsGreenplumSource() (*GreenplumSource, bool) {
 87886  	return nil, false
 87887  }
 87888  
 87889  // AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleAdWordsSource.
 87890  func (gaws GoogleAdWordsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 87891  	return nil, false
 87892  }
 87893  
 87894  // AsEloquaSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87895  func (gaws GoogleAdWordsSource) AsEloquaSource() (*EloquaSource, bool) {
 87896  	return nil, false
 87897  }
 87898  
 87899  // AsDrillSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87900  func (gaws GoogleAdWordsSource) AsDrillSource() (*DrillSource, bool) {
 87901  	return nil, false
 87902  }
 87903  
 87904  // AsCouchbaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87905  func (gaws GoogleAdWordsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 87906  	return nil, false
 87907  }
 87908  
 87909  // AsConcurSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87910  func (gaws GoogleAdWordsSource) AsConcurSource() (*ConcurSource, bool) {
 87911  	return nil, false
 87912  }
 87913  
 87914  // AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87915  func (gaws GoogleAdWordsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 87916  	return nil, false
 87917  }
 87918  
 87919  // AsAmazonMWSSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87920  func (gaws GoogleAdWordsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 87921  	return nil, false
 87922  }
 87923  
 87924  // AsCassandraSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87925  func (gaws GoogleAdWordsSource) AsCassandraSource() (*CassandraSource, bool) {
 87926  	return nil, false
 87927  }
 87928  
 87929  // AsTeradataSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87930  func (gaws GoogleAdWordsSource) AsTeradataSource() (*TeradataSource, bool) {
 87931  	return nil, false
 87932  }
 87933  
 87934  // AsAzureMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87935  func (gaws GoogleAdWordsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 87936  	return nil, false
 87937  }
 87938  
 87939  // AsSQLDWSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87940  func (gaws GoogleAdWordsSource) AsSQLDWSource() (*SQLDWSource, bool) {
 87941  	return nil, false
 87942  }
 87943  
 87944  // AsSQLMISource is the BasicCopySource implementation for GoogleAdWordsSource.
 87945  func (gaws GoogleAdWordsSource) AsSQLMISource() (*SQLMISource, bool) {
 87946  	return nil, false
 87947  }
 87948  
 87949  // AsAzureSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87950  func (gaws GoogleAdWordsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 87951  	return nil, false
 87952  }
 87953  
 87954  // AsSQLServerSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87955  func (gaws GoogleAdWordsSource) AsSQLServerSource() (*SQLServerSource, bool) {
 87956  	return nil, false
 87957  }
 87958  
 87959  // AsSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87960  func (gaws GoogleAdWordsSource) AsSQLSource() (*SQLSource, bool) {
 87961  	return nil, false
 87962  }
 87963  
 87964  // AsSapTableSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87965  func (gaws GoogleAdWordsSource) AsSapTableSource() (*SapTableSource, bool) {
 87966  	return nil, false
 87967  }
 87968  
 87969  // AsSapOpenHubSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87970  func (gaws GoogleAdWordsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 87971  	return nil, false
 87972  }
 87973  
 87974  // AsSapHanaSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87975  func (gaws GoogleAdWordsSource) AsSapHanaSource() (*SapHanaSource, bool) {
 87976  	return nil, false
 87977  }
 87978  
 87979  // AsSapEccSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87980  func (gaws GoogleAdWordsSource) AsSapEccSource() (*SapEccSource, bool) {
 87981  	return nil, false
 87982  }
 87983  
 87984  // AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87985  func (gaws GoogleAdWordsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 87986  	return nil, false
 87987  }
 87988  
 87989  // AsSalesforceSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87990  func (gaws GoogleAdWordsSource) AsSalesforceSource() (*SalesforceSource, bool) {
 87991  	return nil, false
 87992  }
 87993  
 87994  // AsSapBwSource is the BasicCopySource implementation for GoogleAdWordsSource.
 87995  func (gaws GoogleAdWordsSource) AsSapBwSource() (*SapBwSource, bool) {
 87996  	return nil, false
 87997  }
 87998  
 87999  // AsSybaseSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88000  func (gaws GoogleAdWordsSource) AsSybaseSource() (*SybaseSource, bool) {
 88001  	return nil, false
 88002  }
 88003  
 88004  // AsPostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88005  func (gaws GoogleAdWordsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 88006  	return nil, false
 88007  }
 88008  
 88009  // AsMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88010  func (gaws GoogleAdWordsSource) AsMySQLSource() (*MySQLSource, bool) {
 88011  	return nil, false
 88012  }
 88013  
 88014  // AsOdbcSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88015  func (gaws GoogleAdWordsSource) AsOdbcSource() (*OdbcSource, bool) {
 88016  	return nil, false
 88017  }
 88018  
 88019  // AsDb2Source is the BasicCopySource implementation for GoogleAdWordsSource.
 88020  func (gaws GoogleAdWordsSource) AsDb2Source() (*Db2Source, bool) {
 88021  	return nil, false
 88022  }
 88023  
 88024  // AsInformixSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88025  func (gaws GoogleAdWordsSource) AsInformixSource() (*InformixSource, bool) {
 88026  	return nil, false
 88027  }
 88028  
 88029  // AsAzureTableSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88030  func (gaws GoogleAdWordsSource) AsAzureTableSource() (*AzureTableSource, bool) {
 88031  	return nil, false
 88032  }
 88033  
 88034  // AsTabularSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88035  func (gaws GoogleAdWordsSource) AsTabularSource() (*TabularSource, bool) {
 88036  	return nil, false
 88037  }
 88038  
 88039  // AsBasicTabularSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88040  func (gaws GoogleAdWordsSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 88041  	return &gaws, true
 88042  }
 88043  
 88044  // AsBinarySource is the BasicCopySource implementation for GoogleAdWordsSource.
 88045  func (gaws GoogleAdWordsSource) AsBinarySource() (*BinarySource, bool) {
 88046  	return nil, false
 88047  }
 88048  
 88049  // AsOrcSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88050  func (gaws GoogleAdWordsSource) AsOrcSource() (*OrcSource, bool) {
 88051  	return nil, false
 88052  }
 88053  
 88054  // AsJSONSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88055  func (gaws GoogleAdWordsSource) AsJSONSource() (*JSONSource, bool) {
 88056  	return nil, false
 88057  }
 88058  
 88059  // AsDelimitedTextSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88060  func (gaws GoogleAdWordsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 88061  	return nil, false
 88062  }
 88063  
 88064  // AsParquetSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88065  func (gaws GoogleAdWordsSource) AsParquetSource() (*ParquetSource, bool) {
 88066  	return nil, false
 88067  }
 88068  
 88069  // AsAvroSource is the BasicCopySource implementation for GoogleAdWordsSource.
 88070  func (gaws GoogleAdWordsSource) AsAvroSource() (*AvroSource, bool) {
 88071  	return nil, false
 88072  }
 88073  
 88074  // AsCopySource is the BasicCopySource implementation for GoogleAdWordsSource.
 88075  func (gaws GoogleAdWordsSource) AsCopySource() (*CopySource, bool) {
 88076  	return nil, false
 88077  }
 88078  
 88079  // AsBasicCopySource is the BasicCopySource implementation for GoogleAdWordsSource.
 88080  func (gaws GoogleAdWordsSource) AsBasicCopySource() (BasicCopySource, bool) {
 88081  	return &gaws, true
 88082  }
 88083  
 88084  // UnmarshalJSON is the custom unmarshaler for GoogleAdWordsSource struct.
 88085  func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error {
 88086  	var m map[string]*json.RawMessage
 88087  	err := json.Unmarshal(body, &m)
 88088  	if err != nil {
 88089  		return err
 88090  	}
 88091  	for k, v := range m {
 88092  		switch k {
 88093  		case "query":
 88094  			if v != nil {
 88095  				var query interface{}
 88096  				err = json.Unmarshal(*v, &query)
 88097  				if err != nil {
 88098  					return err
 88099  				}
 88100  				gaws.Query = query
 88101  			}
 88102  		case "queryTimeout":
 88103  			if v != nil {
 88104  				var queryTimeout interface{}
 88105  				err = json.Unmarshal(*v, &queryTimeout)
 88106  				if err != nil {
 88107  					return err
 88108  				}
 88109  				gaws.QueryTimeout = queryTimeout
 88110  			}
 88111  		default:
 88112  			if v != nil {
 88113  				var additionalProperties interface{}
 88114  				err = json.Unmarshal(*v, &additionalProperties)
 88115  				if err != nil {
 88116  					return err
 88117  				}
 88118  				if gaws.AdditionalProperties == nil {
 88119  					gaws.AdditionalProperties = make(map[string]interface{})
 88120  				}
 88121  				gaws.AdditionalProperties[k] = additionalProperties
 88122  			}
 88123  		case "sourceRetryCount":
 88124  			if v != nil {
 88125  				var sourceRetryCount interface{}
 88126  				err = json.Unmarshal(*v, &sourceRetryCount)
 88127  				if err != nil {
 88128  					return err
 88129  				}
 88130  				gaws.SourceRetryCount = sourceRetryCount
 88131  			}
 88132  		case "sourceRetryWait":
 88133  			if v != nil {
 88134  				var sourceRetryWait interface{}
 88135  				err = json.Unmarshal(*v, &sourceRetryWait)
 88136  				if err != nil {
 88137  					return err
 88138  				}
 88139  				gaws.SourceRetryWait = sourceRetryWait
 88140  			}
 88141  		case "maxConcurrentConnections":
 88142  			if v != nil {
 88143  				var maxConcurrentConnections interface{}
 88144  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 88145  				if err != nil {
 88146  					return err
 88147  				}
 88148  				gaws.MaxConcurrentConnections = maxConcurrentConnections
 88149  			}
 88150  		case "type":
 88151  			if v != nil {
 88152  				var typeVar TypeBasicCopySource
 88153  				err = json.Unmarshal(*v, &typeVar)
 88154  				if err != nil {
 88155  					return err
 88156  				}
 88157  				gaws.Type = typeVar
 88158  			}
 88159  		}
 88160  	}
 88161  
 88162  	return nil
 88163  }
 88164  
 88165  // GoogleBigQueryDatasetTypeProperties google BigQuery Dataset Properties
 88166  type GoogleBigQueryDatasetTypeProperties struct {
 88167  	// TableName - This property will be retired. Please consider using database + table properties instead.
 88168  	TableName interface{} `json:"tableName,omitempty"`
 88169  	// Table - The table name of the Google BigQuery. Type: string (or Expression with resultType string).
 88170  	Table interface{} `json:"table,omitempty"`
 88171  	// Dataset - The database name of the Google BigQuery. Type: string (or Expression with resultType string).
 88172  	Dataset interface{} `json:"dataset,omitempty"`
 88173  }
 88174  
 88175  // GoogleBigQueryLinkedService google BigQuery service linked service.
 88176  type GoogleBigQueryLinkedService struct {
 88177  	// GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties.
 88178  	*GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 88179  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 88180  	AdditionalProperties map[string]interface{} `json:""`
 88181  	// ConnectVia - The integration runtime reference.
 88182  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 88183  	// Description - Linked service description.
 88184  	Description *string `json:"description,omitempty"`
 88185  	// Parameters - Parameters for linked service.
 88186  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 88187  	// Annotations - List of tags that can be used for describing the linked service.
 88188  	Annotations *[]interface{} `json:"annotations,omitempty"`
 88189  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 88190  	Type TypeBasicLinkedService `json:"type,omitempty"`
 88191  }
 88192  
 88193  // MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService.
 88194  func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) {
 88195  	gbqls.Type = TypeGoogleBigQuery
 88196  	objectMap := make(map[string]interface{})
 88197  	if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil {
 88198  		objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties
 88199  	}
 88200  	if gbqls.ConnectVia != nil {
 88201  		objectMap["connectVia"] = gbqls.ConnectVia
 88202  	}
 88203  	if gbqls.Description != nil {
 88204  		objectMap["description"] = gbqls.Description
 88205  	}
 88206  	if gbqls.Parameters != nil {
 88207  		objectMap["parameters"] = gbqls.Parameters
 88208  	}
 88209  	if gbqls.Annotations != nil {
 88210  		objectMap["annotations"] = gbqls.Annotations
 88211  	}
 88212  	if gbqls.Type != "" {
 88213  		objectMap["type"] = gbqls.Type
 88214  	}
 88215  	for k, v := range gbqls.AdditionalProperties {
 88216  		objectMap[k] = v
 88217  	}
 88218  	return json.Marshal(objectMap)
 88219  }
 88220  
 88221  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88222  func (gbqls GoogleBigQueryLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 88223  	return nil, false
 88224  }
 88225  
 88226  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88227  func (gbqls GoogleBigQueryLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 88228  	return nil, false
 88229  }
 88230  
 88231  // AsSapTableLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88232  func (gbqls GoogleBigQueryLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 88233  	return nil, false
 88234  }
 88235  
 88236  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88237  func (gbqls GoogleBigQueryLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 88238  	return nil, false
 88239  }
 88240  
 88241  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88242  func (gbqls GoogleBigQueryLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 88243  	return nil, false
 88244  }
 88245  
 88246  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88247  func (gbqls GoogleBigQueryLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 88248  	return nil, false
 88249  }
 88250  
 88251  // AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88252  func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 88253  	return nil, false
 88254  }
 88255  
 88256  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88257  func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 88258  	return nil, false
 88259  }
 88260  
 88261  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88262  func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 88263  	return nil, false
 88264  }
 88265  
 88266  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88267  func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 88268  	return nil, false
 88269  }
 88270  
 88271  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88272  func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 88273  	return nil, false
 88274  }
 88275  
 88276  // AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88277  func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 88278  	return nil, false
 88279  }
 88280  
 88281  // AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88282  func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 88283  	return nil, false
 88284  }
 88285  
 88286  // AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88287  func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 88288  	return nil, false
 88289  }
 88290  
 88291  // AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88292  func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 88293  	return nil, false
 88294  }
 88295  
 88296  // AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88297  func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 88298  	return nil, false
 88299  }
 88300  
 88301  // AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88302  func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 88303  	return nil, false
 88304  }
 88305  
 88306  // AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88307  func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 88308  	return nil, false
 88309  }
 88310  
 88311  // AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88312  func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 88313  	return nil, false
 88314  }
 88315  
 88316  // AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88317  func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 88318  	return nil, false
 88319  }
 88320  
 88321  // AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88322  func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 88323  	return nil, false
 88324  }
 88325  
 88326  // AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88327  func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 88328  	return nil, false
 88329  }
 88330  
 88331  // AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88332  func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 88333  	return nil, false
 88334  }
 88335  
 88336  // AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88337  func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 88338  	return nil, false
 88339  }
 88340  
 88341  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88342  func (gbqls GoogleBigQueryLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 88343  	return nil, false
 88344  }
 88345  
 88346  // AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88347  func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 88348  	return nil, false
 88349  }
 88350  
 88351  // AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88352  func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 88353  	return nil, false
 88354  }
 88355  
 88356  // AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88357  func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 88358  	return nil, false
 88359  }
 88360  
 88361  // AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88362  func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 88363  	return nil, false
 88364  }
 88365  
 88366  // AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88367  func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 88368  	return nil, false
 88369  }
 88370  
 88371  // AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88372  func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 88373  	return nil, false
 88374  }
 88375  
 88376  // AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88377  func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 88378  	return nil, false
 88379  }
 88380  
 88381  // AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88382  func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 88383  	return nil, false
 88384  }
 88385  
 88386  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88387  func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 88388  	return &gbqls, true
 88389  }
 88390  
 88391  // AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88392  func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 88393  	return nil, false
 88394  }
 88395  
 88396  // AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88397  func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 88398  	return nil, false
 88399  }
 88400  
 88401  // AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88402  func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 88403  	return nil, false
 88404  }
 88405  
 88406  // AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88407  func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 88408  	return nil, false
 88409  }
 88410  
 88411  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88412  func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 88413  	return nil, false
 88414  }
 88415  
 88416  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88417  func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 88418  	return nil, false
 88419  }
 88420  
 88421  // AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88422  func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 88423  	return nil, false
 88424  }
 88425  
 88426  // AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88427  func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 88428  	return nil, false
 88429  }
 88430  
 88431  // AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88432  func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 88433  	return nil, false
 88434  }
 88435  
 88436  // AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88437  func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 88438  	return nil, false
 88439  }
 88440  
 88441  // AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88442  func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 88443  	return nil, false
 88444  }
 88445  
 88446  // AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88447  func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 88448  	return nil, false
 88449  }
 88450  
 88451  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88452  func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 88453  	return nil, false
 88454  }
 88455  
 88456  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88457  func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 88458  	return nil, false
 88459  }
 88460  
 88461  // AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88462  func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 88463  	return nil, false
 88464  }
 88465  
 88466  // AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88467  func (gbqls GoogleBigQueryLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 88468  	return nil, false
 88469  }
 88470  
 88471  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88472  func (gbqls GoogleBigQueryLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 88473  	return nil, false
 88474  }
 88475  
 88476  // AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88477  func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 88478  	return nil, false
 88479  }
 88480  
 88481  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88482  func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 88483  	return nil, false
 88484  }
 88485  
 88486  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88487  func (gbqls GoogleBigQueryLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 88488  	return nil, false
 88489  }
 88490  
 88491  // AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88492  func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 88493  	return nil, false
 88494  }
 88495  
 88496  // AsOffice365LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88497  func (gbqls GoogleBigQueryLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 88498  	return nil, false
 88499  }
 88500  
 88501  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88502  func (gbqls GoogleBigQueryLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 88503  	return nil, false
 88504  }
 88505  
 88506  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88507  func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 88508  	return nil, false
 88509  }
 88510  
 88511  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88512  func (gbqls GoogleBigQueryLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 88513  	return nil, false
 88514  }
 88515  
 88516  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88517  func (gbqls GoogleBigQueryLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 88518  	return nil, false
 88519  }
 88520  
 88521  // AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88522  func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 88523  	return nil, false
 88524  }
 88525  
 88526  // AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88527  func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 88528  	return nil, false
 88529  }
 88530  
 88531  // AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88532  func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 88533  	return nil, false
 88534  }
 88535  
 88536  // AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88537  func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 88538  	return nil, false
 88539  }
 88540  
 88541  // AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88542  func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 88543  	return nil, false
 88544  }
 88545  
 88546  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88547  func (gbqls GoogleBigQueryLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 88548  	return nil, false
 88549  }
 88550  
 88551  // AsInformixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88552  func (gbqls GoogleBigQueryLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 88553  	return nil, false
 88554  }
 88555  
 88556  // AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88557  func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 88558  	return nil, false
 88559  }
 88560  
 88561  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88562  func (gbqls GoogleBigQueryLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 88563  	return nil, false
 88564  }
 88565  
 88566  // AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88567  func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 88568  	return nil, false
 88569  }
 88570  
 88571  // AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88572  func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 88573  	return nil, false
 88574  }
 88575  
 88576  // AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88577  func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 88578  	return nil, false
 88579  }
 88580  
 88581  // AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88582  func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 88583  	return nil, false
 88584  }
 88585  
 88586  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88587  func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 88588  	return nil, false
 88589  }
 88590  
 88591  // AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88592  func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 88593  	return nil, false
 88594  }
 88595  
 88596  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88597  func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 88598  	return nil, false
 88599  }
 88600  
 88601  // AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88602  func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 88603  	return nil, false
 88604  }
 88605  
 88606  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88607  func (gbqls GoogleBigQueryLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 88608  	return nil, false
 88609  }
 88610  
 88611  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88612  func (gbqls GoogleBigQueryLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 88613  	return nil, false
 88614  }
 88615  
 88616  // AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88617  func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 88618  	return nil, false
 88619  }
 88620  
 88621  // AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88622  func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 88623  	return nil, false
 88624  }
 88625  
 88626  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88627  func (gbqls GoogleBigQueryLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 88628  	return nil, false
 88629  }
 88630  
 88631  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88632  func (gbqls GoogleBigQueryLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 88633  	return nil, false
 88634  }
 88635  
 88636  // AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88637  func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 88638  	return nil, false
 88639  }
 88640  
 88641  // AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88642  func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 88643  	return nil, false
 88644  }
 88645  
 88646  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88647  func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 88648  	return nil, false
 88649  }
 88650  
 88651  // AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88652  func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 88653  	return nil, false
 88654  }
 88655  
 88656  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88657  func (gbqls GoogleBigQueryLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 88658  	return nil, false
 88659  }
 88660  
 88661  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88662  func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 88663  	return nil, false
 88664  }
 88665  
 88666  // AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88667  func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 88668  	return nil, false
 88669  }
 88670  
 88671  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88672  func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 88673  	return nil, false
 88674  }
 88675  
 88676  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88677  func (gbqls GoogleBigQueryLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 88678  	return nil, false
 88679  }
 88680  
 88681  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88682  func (gbqls GoogleBigQueryLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 88683  	return nil, false
 88684  }
 88685  
 88686  // AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88687  func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 88688  	return nil, false
 88689  }
 88690  
 88691  // AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88692  func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) {
 88693  	return nil, false
 88694  }
 88695  
 88696  // AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService.
 88697  func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 88698  	return &gbqls, true
 88699  }
 88700  
 88701  // UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct.
 88702  func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error {
 88703  	var m map[string]*json.RawMessage
 88704  	err := json.Unmarshal(body, &m)
 88705  	if err != nil {
 88706  		return err
 88707  	}
 88708  	for k, v := range m {
 88709  		switch k {
 88710  		case "typeProperties":
 88711  			if v != nil {
 88712  				var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties
 88713  				err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties)
 88714  				if err != nil {
 88715  					return err
 88716  				}
 88717  				gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties
 88718  			}
 88719  		default:
 88720  			if v != nil {
 88721  				var additionalProperties interface{}
 88722  				err = json.Unmarshal(*v, &additionalProperties)
 88723  				if err != nil {
 88724  					return err
 88725  				}
 88726  				if gbqls.AdditionalProperties == nil {
 88727  					gbqls.AdditionalProperties = make(map[string]interface{})
 88728  				}
 88729  				gbqls.AdditionalProperties[k] = additionalProperties
 88730  			}
 88731  		case "connectVia":
 88732  			if v != nil {
 88733  				var connectVia IntegrationRuntimeReference
 88734  				err = json.Unmarshal(*v, &connectVia)
 88735  				if err != nil {
 88736  					return err
 88737  				}
 88738  				gbqls.ConnectVia = &connectVia
 88739  			}
 88740  		case "description":
 88741  			if v != nil {
 88742  				var description string
 88743  				err = json.Unmarshal(*v, &description)
 88744  				if err != nil {
 88745  					return err
 88746  				}
 88747  				gbqls.Description = &description
 88748  			}
 88749  		case "parameters":
 88750  			if v != nil {
 88751  				var parameters map[string]*ParameterSpecification
 88752  				err = json.Unmarshal(*v, &parameters)
 88753  				if err != nil {
 88754  					return err
 88755  				}
 88756  				gbqls.Parameters = parameters
 88757  			}
 88758  		case "annotations":
 88759  			if v != nil {
 88760  				var annotations []interface{}
 88761  				err = json.Unmarshal(*v, &annotations)
 88762  				if err != nil {
 88763  					return err
 88764  				}
 88765  				gbqls.Annotations = &annotations
 88766  			}
 88767  		case "type":
 88768  			if v != nil {
 88769  				var typeVar TypeBasicLinkedService
 88770  				err = json.Unmarshal(*v, &typeVar)
 88771  				if err != nil {
 88772  					return err
 88773  				}
 88774  				gbqls.Type = typeVar
 88775  			}
 88776  		}
 88777  	}
 88778  
 88779  	return nil
 88780  }
 88781  
 88782  // GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties.
 88783  type GoogleBigQueryLinkedServiceTypeProperties struct {
 88784  	// Project - The default BigQuery project to query against.
 88785  	Project interface{} `json:"project,omitempty"`
 88786  	// AdditionalProjects - A comma-separated list of public BigQuery projects to access.
 88787  	AdditionalProjects interface{} `json:"additionalProjects,omitempty"`
 88788  	// 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.
 88789  	RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"`
 88790  	// AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'GoogleBigQueryAuthenticationTypeServiceAuthentication', 'GoogleBigQueryAuthenticationTypeUserAuthentication'
 88791  	AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"`
 88792  	// RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication.
 88793  	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
 88794  	// ClientID - The client id of the google application used to acquire the refresh token. Type: string (or Expression with resultType string).
 88795  	ClientID interface{} `json:"clientId,omitempty"`
 88796  	// ClientSecret - The client secret of the google application used to acquire the refresh token.
 88797  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
 88798  	// Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR.
 88799  	Email interface{} `json:"email,omitempty"`
 88800  	// 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.
 88801  	KeyFilePath interface{} `json:"keyFilePath,omitempty"`
 88802  	// 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.
 88803  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
 88804  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
 88805  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
 88806  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 88807  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 88808  }
 88809  
 88810  // UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct.
 88811  func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 88812  	var m map[string]*json.RawMessage
 88813  	err := json.Unmarshal(body, &m)
 88814  	if err != nil {
 88815  		return err
 88816  	}
 88817  	for k, v := range m {
 88818  		switch k {
 88819  		case "project":
 88820  			if v != nil {
 88821  				var project interface{}
 88822  				err = json.Unmarshal(*v, &project)
 88823  				if err != nil {
 88824  					return err
 88825  				}
 88826  				gbqlstp.Project = project
 88827  			}
 88828  		case "additionalProjects":
 88829  			if v != nil {
 88830  				var additionalProjects interface{}
 88831  				err = json.Unmarshal(*v, &additionalProjects)
 88832  				if err != nil {
 88833  					return err
 88834  				}
 88835  				gbqlstp.AdditionalProjects = additionalProjects
 88836  			}
 88837  		case "requestGoogleDriveScope":
 88838  			if v != nil {
 88839  				var requestGoogleDriveScope interface{}
 88840  				err = json.Unmarshal(*v, &requestGoogleDriveScope)
 88841  				if err != nil {
 88842  					return err
 88843  				}
 88844  				gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope
 88845  			}
 88846  		case "authenticationType":
 88847  			if v != nil {
 88848  				var authenticationType GoogleBigQueryAuthenticationType
 88849  				err = json.Unmarshal(*v, &authenticationType)
 88850  				if err != nil {
 88851  					return err
 88852  				}
 88853  				gbqlstp.AuthenticationType = authenticationType
 88854  			}
 88855  		case "refreshToken":
 88856  			if v != nil {
 88857  				refreshToken, err := unmarshalBasicSecretBase(*v)
 88858  				if err != nil {
 88859  					return err
 88860  				}
 88861  				gbqlstp.RefreshToken = refreshToken
 88862  			}
 88863  		case "clientId":
 88864  			if v != nil {
 88865  				var clientID interface{}
 88866  				err = json.Unmarshal(*v, &clientID)
 88867  				if err != nil {
 88868  					return err
 88869  				}
 88870  				gbqlstp.ClientID = clientID
 88871  			}
 88872  		case "clientSecret":
 88873  			if v != nil {
 88874  				clientSecret, err := unmarshalBasicSecretBase(*v)
 88875  				if err != nil {
 88876  					return err
 88877  				}
 88878  				gbqlstp.ClientSecret = clientSecret
 88879  			}
 88880  		case "email":
 88881  			if v != nil {
 88882  				var email interface{}
 88883  				err = json.Unmarshal(*v, &email)
 88884  				if err != nil {
 88885  					return err
 88886  				}
 88887  				gbqlstp.Email = email
 88888  			}
 88889  		case "keyFilePath":
 88890  			if v != nil {
 88891  				var keyFilePath interface{}
 88892  				err = json.Unmarshal(*v, &keyFilePath)
 88893  				if err != nil {
 88894  					return err
 88895  				}
 88896  				gbqlstp.KeyFilePath = keyFilePath
 88897  			}
 88898  		case "trustedCertPath":
 88899  			if v != nil {
 88900  				var trustedCertPath interface{}
 88901  				err = json.Unmarshal(*v, &trustedCertPath)
 88902  				if err != nil {
 88903  					return err
 88904  				}
 88905  				gbqlstp.TrustedCertPath = trustedCertPath
 88906  			}
 88907  		case "useSystemTrustStore":
 88908  			if v != nil {
 88909  				var useSystemTrustStore interface{}
 88910  				err = json.Unmarshal(*v, &useSystemTrustStore)
 88911  				if err != nil {
 88912  					return err
 88913  				}
 88914  				gbqlstp.UseSystemTrustStore = useSystemTrustStore
 88915  			}
 88916  		case "encryptedCredential":
 88917  			if v != nil {
 88918  				var encryptedCredential interface{}
 88919  				err = json.Unmarshal(*v, &encryptedCredential)
 88920  				if err != nil {
 88921  					return err
 88922  				}
 88923  				gbqlstp.EncryptedCredential = encryptedCredential
 88924  			}
 88925  		}
 88926  	}
 88927  
 88928  	return nil
 88929  }
 88930  
 88931  // GoogleBigQueryObjectDataset google BigQuery service dataset.
 88932  type GoogleBigQueryObjectDataset struct {
 88933  	// GoogleBigQueryDatasetTypeProperties - Properties specific to this dataset type.
 88934  	*GoogleBigQueryDatasetTypeProperties `json:"typeProperties,omitempty"`
 88935  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 88936  	AdditionalProperties map[string]interface{} `json:""`
 88937  	// Description - Dataset description.
 88938  	Description *string `json:"description,omitempty"`
 88939  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 88940  	Structure interface{} `json:"structure,omitempty"`
 88941  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 88942  	Schema interface{} `json:"schema,omitempty"`
 88943  	// LinkedServiceName - Linked service reference.
 88944  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 88945  	// Parameters - Parameters for dataset.
 88946  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 88947  	// Annotations - List of tags that can be used for describing the Dataset.
 88948  	Annotations *[]interface{} `json:"annotations,omitempty"`
 88949  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 88950  	Folder *DatasetFolder `json:"folder,omitempty"`
 88951  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 88952  	Type TypeBasicDataset `json:"type,omitempty"`
 88953  }
 88954  
 88955  // MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset.
 88956  func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) {
 88957  	gbqod.Type = TypeGoogleBigQueryObject
 88958  	objectMap := make(map[string]interface{})
 88959  	if gbqod.GoogleBigQueryDatasetTypeProperties != nil {
 88960  		objectMap["typeProperties"] = gbqod.GoogleBigQueryDatasetTypeProperties
 88961  	}
 88962  	if gbqod.Description != nil {
 88963  		objectMap["description"] = gbqod.Description
 88964  	}
 88965  	if gbqod.Structure != nil {
 88966  		objectMap["structure"] = gbqod.Structure
 88967  	}
 88968  	if gbqod.Schema != nil {
 88969  		objectMap["schema"] = gbqod.Schema
 88970  	}
 88971  	if gbqod.LinkedServiceName != nil {
 88972  		objectMap["linkedServiceName"] = gbqod.LinkedServiceName
 88973  	}
 88974  	if gbqod.Parameters != nil {
 88975  		objectMap["parameters"] = gbqod.Parameters
 88976  	}
 88977  	if gbqod.Annotations != nil {
 88978  		objectMap["annotations"] = gbqod.Annotations
 88979  	}
 88980  	if gbqod.Folder != nil {
 88981  		objectMap["folder"] = gbqod.Folder
 88982  	}
 88983  	if gbqod.Type != "" {
 88984  		objectMap["type"] = gbqod.Type
 88985  	}
 88986  	for k, v := range gbqod.AdditionalProperties {
 88987  		objectMap[k] = v
 88988  	}
 88989  	return json.Marshal(objectMap)
 88990  }
 88991  
 88992  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 88993  func (gbqod GoogleBigQueryObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 88994  	return nil, false
 88995  }
 88996  
 88997  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 88998  func (gbqod GoogleBigQueryObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 88999  	return nil, false
 89000  }
 89001  
 89002  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89003  func (gbqod GoogleBigQueryObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 89004  	return nil, false
 89005  }
 89006  
 89007  // AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89008  func (gbqod GoogleBigQueryObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 89009  	return nil, false
 89010  }
 89011  
 89012  // AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89013  func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 89014  	return nil, false
 89015  }
 89016  
 89017  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89018  func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 89019  	return nil, false
 89020  }
 89021  
 89022  // AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89023  func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 89024  	return nil, false
 89025  }
 89026  
 89027  // AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89028  func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 89029  	return nil, false
 89030  }
 89031  
 89032  // AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89033  func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 89034  	return nil, false
 89035  }
 89036  
 89037  // AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89038  func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 89039  	return nil, false
 89040  }
 89041  
 89042  // AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89043  func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 89044  	return nil, false
 89045  }
 89046  
 89047  // AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89048  func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 89049  	return nil, false
 89050  }
 89051  
 89052  // AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89053  func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 89054  	return nil, false
 89055  }
 89056  
 89057  // AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89058  func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 89059  	return nil, false
 89060  }
 89061  
 89062  // AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89063  func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 89064  	return nil, false
 89065  }
 89066  
 89067  // AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89068  func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 89069  	return nil, false
 89070  }
 89071  
 89072  // AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89073  func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 89074  	return nil, false
 89075  }
 89076  
 89077  // AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89078  func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 89079  	return nil, false
 89080  }
 89081  
 89082  // AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89083  func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 89084  	return nil, false
 89085  }
 89086  
 89087  // AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89088  func (gbqod GoogleBigQueryObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 89089  	return nil, false
 89090  }
 89091  
 89092  // AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89093  func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 89094  	return nil, false
 89095  }
 89096  
 89097  // AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89098  func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 89099  	return nil, false
 89100  }
 89101  
 89102  // AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89103  func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 89104  	return nil, false
 89105  }
 89106  
 89107  // AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89108  func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 89109  	return nil, false
 89110  }
 89111  
 89112  // AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89113  func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 89114  	return nil, false
 89115  }
 89116  
 89117  // AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89118  func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 89119  	return nil, false
 89120  }
 89121  
 89122  // AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89123  func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 89124  	return nil, false
 89125  }
 89126  
 89127  // AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89128  func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 89129  	return nil, false
 89130  }
 89131  
 89132  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89133  func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 89134  	return &gbqod, true
 89135  }
 89136  
 89137  // AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89138  func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 89139  	return nil, false
 89140  }
 89141  
 89142  // AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89143  func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 89144  	return nil, false
 89145  }
 89146  
 89147  // AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89148  func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 89149  	return nil, false
 89150  }
 89151  
 89152  // AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89153  func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 89154  	return nil, false
 89155  }
 89156  
 89157  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89158  func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 89159  	return nil, false
 89160  }
 89161  
 89162  // AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89163  func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 89164  	return nil, false
 89165  }
 89166  
 89167  // AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89168  func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 89169  	return nil, false
 89170  }
 89171  
 89172  // AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89173  func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 89174  	return nil, false
 89175  }
 89176  
 89177  // AsSapTableResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89178  func (gbqod GoogleBigQueryObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 89179  	return nil, false
 89180  }
 89181  
 89182  // AsRestResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89183  func (gbqod GoogleBigQueryObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 89184  	return nil, false
 89185  }
 89186  
 89187  // AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89188  func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 89189  	return nil, false
 89190  }
 89191  
 89192  // AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89193  func (gbqod GoogleBigQueryObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 89194  	return nil, false
 89195  }
 89196  
 89197  // AsSapHanaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89198  func (gbqod GoogleBigQueryObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 89199  	return nil, false
 89200  }
 89201  
 89202  // AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89203  func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 89204  	return nil, false
 89205  }
 89206  
 89207  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89208  func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 89209  	return nil, false
 89210  }
 89211  
 89212  // AsSapBwCubeDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89213  func (gbqod GoogleBigQueryObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 89214  	return nil, false
 89215  }
 89216  
 89217  // AsSybaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89218  func (gbqod GoogleBigQueryObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 89219  	return nil, false
 89220  }
 89221  
 89222  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89223  func (gbqod GoogleBigQueryObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 89224  	return nil, false
 89225  }
 89226  
 89227  // AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89228  func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 89229  	return nil, false
 89230  }
 89231  
 89232  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89233  func (gbqod GoogleBigQueryObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 89234  	return nil, false
 89235  }
 89236  
 89237  // AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89238  func (gbqod GoogleBigQueryObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 89239  	return nil, false
 89240  }
 89241  
 89242  // AsMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89243  func (gbqod GoogleBigQueryObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 89244  	return nil, false
 89245  }
 89246  
 89247  // AsOdbcTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89248  func (gbqod GoogleBigQueryObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 89249  	return nil, false
 89250  }
 89251  
 89252  // AsInformixTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89253  func (gbqod GoogleBigQueryObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 89254  	return nil, false
 89255  }
 89256  
 89257  // AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89258  func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 89259  	return nil, false
 89260  }
 89261  
 89262  // AsDb2TableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89263  func (gbqod GoogleBigQueryObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 89264  	return nil, false
 89265  }
 89266  
 89267  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89268  func (gbqod GoogleBigQueryObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 89269  	return nil, false
 89270  }
 89271  
 89272  // AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89273  func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 89274  	return nil, false
 89275  }
 89276  
 89277  // AsTeradataTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89278  func (gbqod GoogleBigQueryObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 89279  	return nil, false
 89280  }
 89281  
 89282  // AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89283  func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 89284  	return nil, false
 89285  }
 89286  
 89287  // AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89288  func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 89289  	return nil, false
 89290  }
 89291  
 89292  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89293  func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 89294  	return nil, false
 89295  }
 89296  
 89297  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89298  func (gbqod GoogleBigQueryObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 89299  	return nil, false
 89300  }
 89301  
 89302  // AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89303  func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 89304  	return nil, false
 89305  }
 89306  
 89307  // AsOffice365Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89308  func (gbqod GoogleBigQueryObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 89309  	return nil, false
 89310  }
 89311  
 89312  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89313  func (gbqod GoogleBigQueryObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 89314  	return nil, false
 89315  }
 89316  
 89317  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89318  func (gbqod GoogleBigQueryObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 89319  	return nil, false
 89320  }
 89321  
 89322  // AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89323  func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 89324  	return nil, false
 89325  }
 89326  
 89327  // AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89328  func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 89329  	return nil, false
 89330  }
 89331  
 89332  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89333  func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 89334  	return nil, false
 89335  }
 89336  
 89337  // AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89338  func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
 89339  	return nil, false
 89340  }
 89341  
 89342  // AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89343  func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 89344  	return nil, false
 89345  }
 89346  
 89347  // AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89348  func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 89349  	return nil, false
 89350  }
 89351  
 89352  // AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89353  func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 89354  	return nil, false
 89355  }
 89356  
 89357  // AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89358  func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 89359  	return nil, false
 89360  }
 89361  
 89362  // AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89363  func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 89364  	return nil, false
 89365  }
 89366  
 89367  // AsBinaryDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89368  func (gbqod GoogleBigQueryObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 89369  	return nil, false
 89370  }
 89371  
 89372  // AsOrcDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89373  func (gbqod GoogleBigQueryObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
 89374  	return nil, false
 89375  }
 89376  
 89377  // AsJSONDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89378  func (gbqod GoogleBigQueryObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
 89379  	return nil, false
 89380  }
 89381  
 89382  // AsDelimitedTextDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89383  func (gbqod GoogleBigQueryObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 89384  	return nil, false
 89385  }
 89386  
 89387  // AsParquetDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89388  func (gbqod GoogleBigQueryObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
 89389  	return nil, false
 89390  }
 89391  
 89392  // AsAvroDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89393  func (gbqod GoogleBigQueryObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
 89394  	return nil, false
 89395  }
 89396  
 89397  // AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89398  func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) {
 89399  	return nil, false
 89400  }
 89401  
 89402  // AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset.
 89403  func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) {
 89404  	return &gbqod, true
 89405  }
 89406  
 89407  // UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct.
 89408  func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error {
 89409  	var m map[string]*json.RawMessage
 89410  	err := json.Unmarshal(body, &m)
 89411  	if err != nil {
 89412  		return err
 89413  	}
 89414  	for k, v := range m {
 89415  		switch k {
 89416  		case "typeProperties":
 89417  			if v != nil {
 89418  				var googleBigQueryDatasetTypeProperties GoogleBigQueryDatasetTypeProperties
 89419  				err = json.Unmarshal(*v, &googleBigQueryDatasetTypeProperties)
 89420  				if err != nil {
 89421  					return err
 89422  				}
 89423  				gbqod.GoogleBigQueryDatasetTypeProperties = &googleBigQueryDatasetTypeProperties
 89424  			}
 89425  		default:
 89426  			if v != nil {
 89427  				var additionalProperties interface{}
 89428  				err = json.Unmarshal(*v, &additionalProperties)
 89429  				if err != nil {
 89430  					return err
 89431  				}
 89432  				if gbqod.AdditionalProperties == nil {
 89433  					gbqod.AdditionalProperties = make(map[string]interface{})
 89434  				}
 89435  				gbqod.AdditionalProperties[k] = additionalProperties
 89436  			}
 89437  		case "description":
 89438  			if v != nil {
 89439  				var description string
 89440  				err = json.Unmarshal(*v, &description)
 89441  				if err != nil {
 89442  					return err
 89443  				}
 89444  				gbqod.Description = &description
 89445  			}
 89446  		case "structure":
 89447  			if v != nil {
 89448  				var structure interface{}
 89449  				err = json.Unmarshal(*v, &structure)
 89450  				if err != nil {
 89451  					return err
 89452  				}
 89453  				gbqod.Structure = structure
 89454  			}
 89455  		case "schema":
 89456  			if v != nil {
 89457  				var schema interface{}
 89458  				err = json.Unmarshal(*v, &schema)
 89459  				if err != nil {
 89460  					return err
 89461  				}
 89462  				gbqod.Schema = schema
 89463  			}
 89464  		case "linkedServiceName":
 89465  			if v != nil {
 89466  				var linkedServiceName LinkedServiceReference
 89467  				err = json.Unmarshal(*v, &linkedServiceName)
 89468  				if err != nil {
 89469  					return err
 89470  				}
 89471  				gbqod.LinkedServiceName = &linkedServiceName
 89472  			}
 89473  		case "parameters":
 89474  			if v != nil {
 89475  				var parameters map[string]*ParameterSpecification
 89476  				err = json.Unmarshal(*v, &parameters)
 89477  				if err != nil {
 89478  					return err
 89479  				}
 89480  				gbqod.Parameters = parameters
 89481  			}
 89482  		case "annotations":
 89483  			if v != nil {
 89484  				var annotations []interface{}
 89485  				err = json.Unmarshal(*v, &annotations)
 89486  				if err != nil {
 89487  					return err
 89488  				}
 89489  				gbqod.Annotations = &annotations
 89490  			}
 89491  		case "folder":
 89492  			if v != nil {
 89493  				var folder DatasetFolder
 89494  				err = json.Unmarshal(*v, &folder)
 89495  				if err != nil {
 89496  					return err
 89497  				}
 89498  				gbqod.Folder = &folder
 89499  			}
 89500  		case "type":
 89501  			if v != nil {
 89502  				var typeVar TypeBasicDataset
 89503  				err = json.Unmarshal(*v, &typeVar)
 89504  				if err != nil {
 89505  					return err
 89506  				}
 89507  				gbqod.Type = typeVar
 89508  			}
 89509  		}
 89510  	}
 89511  
 89512  	return nil
 89513  }
 89514  
 89515  // GoogleBigQuerySource a copy activity Google BigQuery service source.
 89516  type GoogleBigQuerySource struct {
 89517  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 89518  	Query interface{} `json:"query,omitempty"`
 89519  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 89520  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 89521  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 89522  	AdditionalProperties map[string]interface{} `json:""`
 89523  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 89524  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 89525  	// 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])).
 89526  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 89527  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 89528  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 89529  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 89530  	Type TypeBasicCopySource `json:"type,omitempty"`
 89531  }
 89532  
 89533  // MarshalJSON is the custom marshaler for GoogleBigQuerySource.
 89534  func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) {
 89535  	gbqs.Type = TypeGoogleBigQuerySource
 89536  	objectMap := make(map[string]interface{})
 89537  	if gbqs.Query != nil {
 89538  		objectMap["query"] = gbqs.Query
 89539  	}
 89540  	if gbqs.QueryTimeout != nil {
 89541  		objectMap["queryTimeout"] = gbqs.QueryTimeout
 89542  	}
 89543  	if gbqs.SourceRetryCount != nil {
 89544  		objectMap["sourceRetryCount"] = gbqs.SourceRetryCount
 89545  	}
 89546  	if gbqs.SourceRetryWait != nil {
 89547  		objectMap["sourceRetryWait"] = gbqs.SourceRetryWait
 89548  	}
 89549  	if gbqs.MaxConcurrentConnections != nil {
 89550  		objectMap["maxConcurrentConnections"] = gbqs.MaxConcurrentConnections
 89551  	}
 89552  	if gbqs.Type != "" {
 89553  		objectMap["type"] = gbqs.Type
 89554  	}
 89555  	for k, v := range gbqs.AdditionalProperties {
 89556  		objectMap[k] = v
 89557  	}
 89558  	return json.Marshal(objectMap)
 89559  }
 89560  
 89561  // AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89562  func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) {
 89563  	return nil, false
 89564  }
 89565  
 89566  // AsAzureBlobFSSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89567  func (gbqs GoogleBigQuerySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 89568  	return nil, false
 89569  }
 89570  
 89571  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89572  func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 89573  	return nil, false
 89574  }
 89575  
 89576  // AsOffice365Source is the BasicCopySource implementation for GoogleBigQuerySource.
 89577  func (gbqs GoogleBigQuerySource) AsOffice365Source() (*Office365Source, bool) {
 89578  	return nil, false
 89579  }
 89580  
 89581  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleBigQuerySource.
 89582  func (gbqs GoogleBigQuerySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 89583  	return nil, false
 89584  }
 89585  
 89586  // AsMongoDbV2Source is the BasicCopySource implementation for GoogleBigQuerySource.
 89587  func (gbqs GoogleBigQuerySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 89588  	return nil, false
 89589  }
 89590  
 89591  // AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89592  func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) {
 89593  	return nil, false
 89594  }
 89595  
 89596  // AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89597  func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) {
 89598  	return nil, false
 89599  }
 89600  
 89601  // AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89602  func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) {
 89603  	return nil, false
 89604  }
 89605  
 89606  // AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89607  func (gbqs GoogleBigQuerySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 89608  	return nil, false
 89609  }
 89610  
 89611  // AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89612  func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) {
 89613  	return nil, false
 89614  }
 89615  
 89616  // AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89617  func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) {
 89618  	return nil, false
 89619  }
 89620  
 89621  // AsRestSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89622  func (gbqs GoogleBigQuerySource) AsRestSource() (*RestSource, bool) {
 89623  	return nil, false
 89624  }
 89625  
 89626  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89627  func (gbqs GoogleBigQuerySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 89628  	return nil, false
 89629  }
 89630  
 89631  // AsODataSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89632  func (gbqs GoogleBigQuerySource) AsODataSource() (*ODataSource, bool) {
 89633  	return nil, false
 89634  }
 89635  
 89636  // AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89637  func (gbqs GoogleBigQuerySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 89638  	return nil, false
 89639  }
 89640  
 89641  // AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89642  func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) {
 89643  	return nil, false
 89644  }
 89645  
 89646  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89647  func (gbqs GoogleBigQuerySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 89648  	return nil, false
 89649  }
 89650  
 89651  // AsDynamicsCrmSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89652  func (gbqs GoogleBigQuerySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 89653  	return nil, false
 89654  }
 89655  
 89656  // AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89657  func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) {
 89658  	return nil, false
 89659  }
 89660  
 89661  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleBigQuerySource.
 89662  func (gbqs GoogleBigQuerySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 89663  	return nil, false
 89664  }
 89665  
 89666  // AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89667  func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 89668  	return nil, false
 89669  }
 89670  
 89671  // AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89672  func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) {
 89673  	return nil, false
 89674  }
 89675  
 89676  // AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89677  func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 89678  	return nil, false
 89679  }
 89680  
 89681  // AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89682  func (gbqs GoogleBigQuerySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 89683  	return nil, false
 89684  }
 89685  
 89686  // AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89687  func (gbqs GoogleBigQuerySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 89688  	return nil, false
 89689  }
 89690  
 89691  // AsDynamicsAXSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89692  func (gbqs GoogleBigQuerySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 89693  	return nil, false
 89694  }
 89695  
 89696  // AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89697  func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) {
 89698  	return nil, false
 89699  }
 89700  
 89701  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89702  func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 89703  	return nil, false
 89704  }
 89705  
 89706  // AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89707  func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) {
 89708  	return nil, false
 89709  }
 89710  
 89711  // AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89712  func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) {
 89713  	return nil, false
 89714  }
 89715  
 89716  // AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89717  func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) {
 89718  	return nil, false
 89719  }
 89720  
 89721  // AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89722  func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) {
 89723  	return nil, false
 89724  }
 89725  
 89726  // AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89727  func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) {
 89728  	return nil, false
 89729  }
 89730  
 89731  // AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89732  func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) {
 89733  	return nil, false
 89734  }
 89735  
 89736  // AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource.
 89737  func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) {
 89738  	return nil, false
 89739  }
 89740  
 89741  // AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89742  func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) {
 89743  	return nil, false
 89744  }
 89745  
 89746  // AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89747  func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 89748  	return nil, false
 89749  }
 89750  
 89751  // AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89752  func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) {
 89753  	return nil, false
 89754  }
 89755  
 89756  // AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89757  func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) {
 89758  	return nil, false
 89759  }
 89760  
 89761  // AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89762  func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) {
 89763  	return nil, false
 89764  }
 89765  
 89766  // AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89767  func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) {
 89768  	return nil, false
 89769  }
 89770  
 89771  // AsAzureMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89772  func (gbqs GoogleBigQuerySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 89773  	return nil, false
 89774  }
 89775  
 89776  // AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89777  func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) {
 89778  	return nil, false
 89779  }
 89780  
 89781  // AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89782  func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) {
 89783  	return nil, false
 89784  }
 89785  
 89786  // AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89787  func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) {
 89788  	return nil, false
 89789  }
 89790  
 89791  // AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89792  func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) {
 89793  	return nil, false
 89794  }
 89795  
 89796  // AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89797  func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) {
 89798  	return nil, false
 89799  }
 89800  
 89801  // AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89802  func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) {
 89803  	return nil, false
 89804  }
 89805  
 89806  // AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89807  func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) {
 89808  	return nil, false
 89809  }
 89810  
 89811  // AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89812  func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) {
 89813  	return nil, false
 89814  }
 89815  
 89816  // AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource.
 89817  func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 89818  	return &gbqs, true
 89819  }
 89820  
 89821  // AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89822  func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) {
 89823  	return nil, false
 89824  }
 89825  
 89826  // AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89827  func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) {
 89828  	return nil, false
 89829  }
 89830  
 89831  // AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89832  func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 89833  	return nil, false
 89834  }
 89835  
 89836  // AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89837  func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) {
 89838  	return nil, false
 89839  }
 89840  
 89841  // AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89842  func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 89843  	return nil, false
 89844  }
 89845  
 89846  // AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89847  func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 89848  	return nil, false
 89849  }
 89850  
 89851  // AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89852  func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) {
 89853  	return nil, false
 89854  }
 89855  
 89856  // AsTeradataSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89857  func (gbqs GoogleBigQuerySource) AsTeradataSource() (*TeradataSource, bool) {
 89858  	return nil, false
 89859  }
 89860  
 89861  // AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89862  func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 89863  	return nil, false
 89864  }
 89865  
 89866  // AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89867  func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) {
 89868  	return nil, false
 89869  }
 89870  
 89871  // AsSQLMISource is the BasicCopySource implementation for GoogleBigQuerySource.
 89872  func (gbqs GoogleBigQuerySource) AsSQLMISource() (*SQLMISource, bool) {
 89873  	return nil, false
 89874  }
 89875  
 89876  // AsAzureSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89877  func (gbqs GoogleBigQuerySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 89878  	return nil, false
 89879  }
 89880  
 89881  // AsSQLServerSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89882  func (gbqs GoogleBigQuerySource) AsSQLServerSource() (*SQLServerSource, bool) {
 89883  	return nil, false
 89884  }
 89885  
 89886  // AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89887  func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) {
 89888  	return nil, false
 89889  }
 89890  
 89891  // AsSapTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89892  func (gbqs GoogleBigQuerySource) AsSapTableSource() (*SapTableSource, bool) {
 89893  	return nil, false
 89894  }
 89895  
 89896  // AsSapOpenHubSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89897  func (gbqs GoogleBigQuerySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 89898  	return nil, false
 89899  }
 89900  
 89901  // AsSapHanaSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89902  func (gbqs GoogleBigQuerySource) AsSapHanaSource() (*SapHanaSource, bool) {
 89903  	return nil, false
 89904  }
 89905  
 89906  // AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89907  func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) {
 89908  	return nil, false
 89909  }
 89910  
 89911  // AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89912  func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 89913  	return nil, false
 89914  }
 89915  
 89916  // AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89917  func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) {
 89918  	return nil, false
 89919  }
 89920  
 89921  // AsSapBwSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89922  func (gbqs GoogleBigQuerySource) AsSapBwSource() (*SapBwSource, bool) {
 89923  	return nil, false
 89924  }
 89925  
 89926  // AsSybaseSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89927  func (gbqs GoogleBigQuerySource) AsSybaseSource() (*SybaseSource, bool) {
 89928  	return nil, false
 89929  }
 89930  
 89931  // AsPostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89932  func (gbqs GoogleBigQuerySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 89933  	return nil, false
 89934  }
 89935  
 89936  // AsMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89937  func (gbqs GoogleBigQuerySource) AsMySQLSource() (*MySQLSource, bool) {
 89938  	return nil, false
 89939  }
 89940  
 89941  // AsOdbcSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89942  func (gbqs GoogleBigQuerySource) AsOdbcSource() (*OdbcSource, bool) {
 89943  	return nil, false
 89944  }
 89945  
 89946  // AsDb2Source is the BasicCopySource implementation for GoogleBigQuerySource.
 89947  func (gbqs GoogleBigQuerySource) AsDb2Source() (*Db2Source, bool) {
 89948  	return nil, false
 89949  }
 89950  
 89951  // AsInformixSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89952  func (gbqs GoogleBigQuerySource) AsInformixSource() (*InformixSource, bool) {
 89953  	return nil, false
 89954  }
 89955  
 89956  // AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89957  func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) {
 89958  	return nil, false
 89959  }
 89960  
 89961  // AsTabularSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89962  func (gbqs GoogleBigQuerySource) AsTabularSource() (*TabularSource, bool) {
 89963  	return nil, false
 89964  }
 89965  
 89966  // AsBasicTabularSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89967  func (gbqs GoogleBigQuerySource) AsBasicTabularSource() (BasicTabularSource, bool) {
 89968  	return &gbqs, true
 89969  }
 89970  
 89971  // AsBinarySource is the BasicCopySource implementation for GoogleBigQuerySource.
 89972  func (gbqs GoogleBigQuerySource) AsBinarySource() (*BinarySource, bool) {
 89973  	return nil, false
 89974  }
 89975  
 89976  // AsOrcSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89977  func (gbqs GoogleBigQuerySource) AsOrcSource() (*OrcSource, bool) {
 89978  	return nil, false
 89979  }
 89980  
 89981  // AsJSONSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89982  func (gbqs GoogleBigQuerySource) AsJSONSource() (*JSONSource, bool) {
 89983  	return nil, false
 89984  }
 89985  
 89986  // AsDelimitedTextSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89987  func (gbqs GoogleBigQuerySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 89988  	return nil, false
 89989  }
 89990  
 89991  // AsParquetSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89992  func (gbqs GoogleBigQuerySource) AsParquetSource() (*ParquetSource, bool) {
 89993  	return nil, false
 89994  }
 89995  
 89996  // AsAvroSource is the BasicCopySource implementation for GoogleBigQuerySource.
 89997  func (gbqs GoogleBigQuerySource) AsAvroSource() (*AvroSource, bool) {
 89998  	return nil, false
 89999  }
 90000  
 90001  // AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
 90002  func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) {
 90003  	return nil, false
 90004  }
 90005  
 90006  // AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource.
 90007  func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) {
 90008  	return &gbqs, true
 90009  }
 90010  
 90011  // UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct.
 90012  func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error {
 90013  	var m map[string]*json.RawMessage
 90014  	err := json.Unmarshal(body, &m)
 90015  	if err != nil {
 90016  		return err
 90017  	}
 90018  	for k, v := range m {
 90019  		switch k {
 90020  		case "query":
 90021  			if v != nil {
 90022  				var query interface{}
 90023  				err = json.Unmarshal(*v, &query)
 90024  				if err != nil {
 90025  					return err
 90026  				}
 90027  				gbqs.Query = query
 90028  			}
 90029  		case "queryTimeout":
 90030  			if v != nil {
 90031  				var queryTimeout interface{}
 90032  				err = json.Unmarshal(*v, &queryTimeout)
 90033  				if err != nil {
 90034  					return err
 90035  				}
 90036  				gbqs.QueryTimeout = queryTimeout
 90037  			}
 90038  		default:
 90039  			if v != nil {
 90040  				var additionalProperties interface{}
 90041  				err = json.Unmarshal(*v, &additionalProperties)
 90042  				if err != nil {
 90043  					return err
 90044  				}
 90045  				if gbqs.AdditionalProperties == nil {
 90046  					gbqs.AdditionalProperties = make(map[string]interface{})
 90047  				}
 90048  				gbqs.AdditionalProperties[k] = additionalProperties
 90049  			}
 90050  		case "sourceRetryCount":
 90051  			if v != nil {
 90052  				var sourceRetryCount interface{}
 90053  				err = json.Unmarshal(*v, &sourceRetryCount)
 90054  				if err != nil {
 90055  					return err
 90056  				}
 90057  				gbqs.SourceRetryCount = sourceRetryCount
 90058  			}
 90059  		case "sourceRetryWait":
 90060  			if v != nil {
 90061  				var sourceRetryWait interface{}
 90062  				err = json.Unmarshal(*v, &sourceRetryWait)
 90063  				if err != nil {
 90064  					return err
 90065  				}
 90066  				gbqs.SourceRetryWait = sourceRetryWait
 90067  			}
 90068  		case "maxConcurrentConnections":
 90069  			if v != nil {
 90070  				var maxConcurrentConnections interface{}
 90071  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 90072  				if err != nil {
 90073  					return err
 90074  				}
 90075  				gbqs.MaxConcurrentConnections = maxConcurrentConnections
 90076  			}
 90077  		case "type":
 90078  			if v != nil {
 90079  				var typeVar TypeBasicCopySource
 90080  				err = json.Unmarshal(*v, &typeVar)
 90081  				if err != nil {
 90082  					return err
 90083  				}
 90084  				gbqs.Type = typeVar
 90085  			}
 90086  		}
 90087  	}
 90088  
 90089  	return nil
 90090  }
 90091  
 90092  // GoogleCloudStorageLinkedService linked service for Google Cloud Storage.
 90093  type GoogleCloudStorageLinkedService struct {
 90094  	// GoogleCloudStorageLinkedServiceTypeProperties - Google Cloud Storage linked service properties.
 90095  	*GoogleCloudStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 90096  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 90097  	AdditionalProperties map[string]interface{} `json:""`
 90098  	// ConnectVia - The integration runtime reference.
 90099  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 90100  	// Description - Linked service description.
 90101  	Description *string `json:"description,omitempty"`
 90102  	// Parameters - Parameters for linked service.
 90103  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 90104  	// Annotations - List of tags that can be used for describing the linked service.
 90105  	Annotations *[]interface{} `json:"annotations,omitempty"`
 90106  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 90107  	Type TypeBasicLinkedService `json:"type,omitempty"`
 90108  }
 90109  
 90110  // MarshalJSON is the custom marshaler for GoogleCloudStorageLinkedService.
 90111  func (gcsls GoogleCloudStorageLinkedService) MarshalJSON() ([]byte, error) {
 90112  	gcsls.Type = TypeGoogleCloudStorage
 90113  	objectMap := make(map[string]interface{})
 90114  	if gcsls.GoogleCloudStorageLinkedServiceTypeProperties != nil {
 90115  		objectMap["typeProperties"] = gcsls.GoogleCloudStorageLinkedServiceTypeProperties
 90116  	}
 90117  	if gcsls.ConnectVia != nil {
 90118  		objectMap["connectVia"] = gcsls.ConnectVia
 90119  	}
 90120  	if gcsls.Description != nil {
 90121  		objectMap["description"] = gcsls.Description
 90122  	}
 90123  	if gcsls.Parameters != nil {
 90124  		objectMap["parameters"] = gcsls.Parameters
 90125  	}
 90126  	if gcsls.Annotations != nil {
 90127  		objectMap["annotations"] = gcsls.Annotations
 90128  	}
 90129  	if gcsls.Type != "" {
 90130  		objectMap["type"] = gcsls.Type
 90131  	}
 90132  	for k, v := range gcsls.AdditionalProperties {
 90133  		objectMap[k] = v
 90134  	}
 90135  	return json.Marshal(objectMap)
 90136  }
 90137  
 90138  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90139  func (gcsls GoogleCloudStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 90140  	return nil, false
 90141  }
 90142  
 90143  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90144  func (gcsls GoogleCloudStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 90145  	return nil, false
 90146  }
 90147  
 90148  // AsSapTableLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90149  func (gcsls GoogleCloudStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 90150  	return nil, false
 90151  }
 90152  
 90153  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90154  func (gcsls GoogleCloudStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 90155  	return nil, false
 90156  }
 90157  
 90158  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90159  func (gcsls GoogleCloudStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 90160  	return nil, false
 90161  }
 90162  
 90163  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90164  func (gcsls GoogleCloudStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 90165  	return nil, false
 90166  }
 90167  
 90168  // AsResponsysLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90169  func (gcsls GoogleCloudStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 90170  	return nil, false
 90171  }
 90172  
 90173  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90174  func (gcsls GoogleCloudStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 90175  	return nil, false
 90176  }
 90177  
 90178  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90179  func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 90180  	return nil, false
 90181  }
 90182  
 90183  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90184  func (gcsls GoogleCloudStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 90185  	return nil, false
 90186  }
 90187  
 90188  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90189  func (gcsls GoogleCloudStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 90190  	return nil, false
 90191  }
 90192  
 90193  // AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90194  func (gcsls GoogleCloudStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 90195  	return nil, false
 90196  }
 90197  
 90198  // AsVerticaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90199  func (gcsls GoogleCloudStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 90200  	return nil, false
 90201  }
 90202  
 90203  // AsZohoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90204  func (gcsls GoogleCloudStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 90205  	return nil, false
 90206  }
 90207  
 90208  // AsXeroLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90209  func (gcsls GoogleCloudStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 90210  	return nil, false
 90211  }
 90212  
 90213  // AsSquareLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90214  func (gcsls GoogleCloudStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 90215  	return nil, false
 90216  }
 90217  
 90218  // AsSparkLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90219  func (gcsls GoogleCloudStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 90220  	return nil, false
 90221  }
 90222  
 90223  // AsShopifyLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90224  func (gcsls GoogleCloudStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 90225  	return nil, false
 90226  }
 90227  
 90228  // AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90229  func (gcsls GoogleCloudStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 90230  	return nil, false
 90231  }
 90232  
 90233  // AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90234  func (gcsls GoogleCloudStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 90235  	return nil, false
 90236  }
 90237  
 90238  // AsPrestoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90239  func (gcsls GoogleCloudStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 90240  	return nil, false
 90241  }
 90242  
 90243  // AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90244  func (gcsls GoogleCloudStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 90245  	return nil, false
 90246  }
 90247  
 90248  // AsPaypalLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90249  func (gcsls GoogleCloudStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 90250  	return nil, false
 90251  }
 90252  
 90253  // AsMarketoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90254  func (gcsls GoogleCloudStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 90255  	return nil, false
 90256  }
 90257  
 90258  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90259  func (gcsls GoogleCloudStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 90260  	return nil, false
 90261  }
 90262  
 90263  // AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90264  func (gcsls GoogleCloudStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 90265  	return nil, false
 90266  }
 90267  
 90268  // AsMagentoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90269  func (gcsls GoogleCloudStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 90270  	return nil, false
 90271  }
 90272  
 90273  // AsJiraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90274  func (gcsls GoogleCloudStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 90275  	return nil, false
 90276  }
 90277  
 90278  // AsImpalaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90279  func (gcsls GoogleCloudStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 90280  	return nil, false
 90281  }
 90282  
 90283  // AsHubspotLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90284  func (gcsls GoogleCloudStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 90285  	return nil, false
 90286  }
 90287  
 90288  // AsHiveLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90289  func (gcsls GoogleCloudStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 90290  	return nil, false
 90291  }
 90292  
 90293  // AsHBaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90294  func (gcsls GoogleCloudStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 90295  	return nil, false
 90296  }
 90297  
 90298  // AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90299  func (gcsls GoogleCloudStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 90300  	return nil, false
 90301  }
 90302  
 90303  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90304  func (gcsls GoogleCloudStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 90305  	return nil, false
 90306  }
 90307  
 90308  // AsEloquaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90309  func (gcsls GoogleCloudStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 90310  	return nil, false
 90311  }
 90312  
 90313  // AsDrillLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90314  func (gcsls GoogleCloudStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 90315  	return nil, false
 90316  }
 90317  
 90318  // AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90319  func (gcsls GoogleCloudStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 90320  	return nil, false
 90321  }
 90322  
 90323  // AsConcurLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90324  func (gcsls GoogleCloudStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 90325  	return nil, false
 90326  }
 90327  
 90328  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90329  func (gcsls GoogleCloudStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 90330  	return nil, false
 90331  }
 90332  
 90333  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90334  func (gcsls GoogleCloudStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 90335  	return nil, false
 90336  }
 90337  
 90338  // AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90339  func (gcsls GoogleCloudStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 90340  	return nil, false
 90341  }
 90342  
 90343  // AsSapBWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90344  func (gcsls GoogleCloudStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 90345  	return nil, false
 90346  }
 90347  
 90348  // AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90349  func (gcsls GoogleCloudStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 90350  	return nil, false
 90351  }
 90352  
 90353  // AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90354  func (gcsls GoogleCloudStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 90355  	return nil, false
 90356  }
 90357  
 90358  // AsHTTPLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90359  func (gcsls GoogleCloudStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 90360  	return nil, false
 90361  }
 90362  
 90363  // AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90364  func (gcsls GoogleCloudStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 90365  	return nil, false
 90366  }
 90367  
 90368  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90369  func (gcsls GoogleCloudStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 90370  	return nil, false
 90371  }
 90372  
 90373  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90374  func (gcsls GoogleCloudStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 90375  	return nil, false
 90376  }
 90377  
 90378  // AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90379  func (gcsls GoogleCloudStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 90380  	return nil, false
 90381  }
 90382  
 90383  // AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90384  func (gcsls GoogleCloudStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 90385  	return nil, false
 90386  }
 90387  
 90388  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90389  func (gcsls GoogleCloudStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 90390  	return nil, false
 90391  }
 90392  
 90393  // AsSapEccLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90394  func (gcsls GoogleCloudStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 90395  	return nil, false
 90396  }
 90397  
 90398  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90399  func (gcsls GoogleCloudStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 90400  	return nil, false
 90401  }
 90402  
 90403  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90404  func (gcsls GoogleCloudStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 90405  	return nil, false
 90406  }
 90407  
 90408  // AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90409  func (gcsls GoogleCloudStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 90410  	return nil, false
 90411  }
 90412  
 90413  // AsOffice365LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90414  func (gcsls GoogleCloudStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 90415  	return nil, false
 90416  }
 90417  
 90418  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90419  func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 90420  	return nil, false
 90421  }
 90422  
 90423  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90424  func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 90425  	return nil, false
 90426  }
 90427  
 90428  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90429  func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 90430  	return nil, false
 90431  }
 90432  
 90433  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90434  func (gcsls GoogleCloudStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 90435  	return nil, false
 90436  }
 90437  
 90438  // AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90439  func (gcsls GoogleCloudStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 90440  	return nil, false
 90441  }
 90442  
 90443  // AsCassandraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90444  func (gcsls GoogleCloudStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 90445  	return nil, false
 90446  }
 90447  
 90448  // AsWebLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90449  func (gcsls GoogleCloudStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 90450  	return nil, false
 90451  }
 90452  
 90453  // AsODataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90454  func (gcsls GoogleCloudStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 90455  	return nil, false
 90456  }
 90457  
 90458  // AsHdfsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90459  func (gcsls GoogleCloudStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 90460  	return nil, false
 90461  }
 90462  
 90463  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90464  func (gcsls GoogleCloudStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 90465  	return nil, false
 90466  }
 90467  
 90468  // AsInformixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90469  func (gcsls GoogleCloudStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 90470  	return nil, false
 90471  }
 90472  
 90473  // AsOdbcLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90474  func (gcsls GoogleCloudStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 90475  	return nil, false
 90476  }
 90477  
 90478  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90479  func (gcsls GoogleCloudStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 90480  	return nil, false
 90481  }
 90482  
 90483  // AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90484  func (gcsls GoogleCloudStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 90485  	return nil, false
 90486  }
 90487  
 90488  // AsTeradataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90489  func (gcsls GoogleCloudStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 90490  	return nil, false
 90491  }
 90492  
 90493  // AsDb2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90494  func (gcsls GoogleCloudStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 90495  	return nil, false
 90496  }
 90497  
 90498  // AsSybaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90499  func (gcsls GoogleCloudStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 90500  	return nil, false
 90501  }
 90502  
 90503  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90504  func (gcsls GoogleCloudStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 90505  	return nil, false
 90506  }
 90507  
 90508  // AsMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90509  func (gcsls GoogleCloudStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 90510  	return nil, false
 90511  }
 90512  
 90513  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90514  func (gcsls GoogleCloudStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 90515  	return nil, false
 90516  }
 90517  
 90518  // AsOracleLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90519  func (gcsls GoogleCloudStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 90520  	return nil, false
 90521  }
 90522  
 90523  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90524  func (gcsls GoogleCloudStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 90525  	return &gcsls, true
 90526  }
 90527  
 90528  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90529  func (gcsls GoogleCloudStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 90530  	return nil, false
 90531  }
 90532  
 90533  // AsFileServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90534  func (gcsls GoogleCloudStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 90535  	return nil, false
 90536  }
 90537  
 90538  // AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90539  func (gcsls GoogleCloudStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 90540  	return nil, false
 90541  }
 90542  
 90543  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90544  func (gcsls GoogleCloudStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 90545  	return nil, false
 90546  }
 90547  
 90548  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90549  func (gcsls GoogleCloudStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 90550  	return nil, false
 90551  }
 90552  
 90553  // AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90554  func (gcsls GoogleCloudStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 90555  	return nil, false
 90556  }
 90557  
 90558  // AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90559  func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 90560  	return nil, false
 90561  }
 90562  
 90563  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90564  func (gcsls GoogleCloudStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 90565  	return nil, false
 90566  }
 90567  
 90568  // AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90569  func (gcsls GoogleCloudStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 90570  	return nil, false
 90571  }
 90572  
 90573  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90574  func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 90575  	return nil, false
 90576  }
 90577  
 90578  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90579  func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 90580  	return nil, false
 90581  }
 90582  
 90583  // AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90584  func (gcsls GoogleCloudStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 90585  	return nil, false
 90586  }
 90587  
 90588  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90589  func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 90590  	return nil, false
 90591  }
 90592  
 90593  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90594  func (gcsls GoogleCloudStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 90595  	return nil, false
 90596  }
 90597  
 90598  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90599  func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 90600  	return nil, false
 90601  }
 90602  
 90603  // AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90604  func (gcsls GoogleCloudStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 90605  	return nil, false
 90606  }
 90607  
 90608  // AsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90609  func (gcsls GoogleCloudStorageLinkedService) AsLinkedService() (*LinkedService, bool) {
 90610  	return nil, false
 90611  }
 90612  
 90613  // AsBasicLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService.
 90614  func (gcsls GoogleCloudStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 90615  	return &gcsls, true
 90616  }
 90617  
 90618  // UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedService struct.
 90619  func (gcsls *GoogleCloudStorageLinkedService) UnmarshalJSON(body []byte) error {
 90620  	var m map[string]*json.RawMessage
 90621  	err := json.Unmarshal(body, &m)
 90622  	if err != nil {
 90623  		return err
 90624  	}
 90625  	for k, v := range m {
 90626  		switch k {
 90627  		case "typeProperties":
 90628  			if v != nil {
 90629  				var googleCloudStorageLinkedServiceTypeProperties GoogleCloudStorageLinkedServiceTypeProperties
 90630  				err = json.Unmarshal(*v, &googleCloudStorageLinkedServiceTypeProperties)
 90631  				if err != nil {
 90632  					return err
 90633  				}
 90634  				gcsls.GoogleCloudStorageLinkedServiceTypeProperties = &googleCloudStorageLinkedServiceTypeProperties
 90635  			}
 90636  		default:
 90637  			if v != nil {
 90638  				var additionalProperties interface{}
 90639  				err = json.Unmarshal(*v, &additionalProperties)
 90640  				if err != nil {
 90641  					return err
 90642  				}
 90643  				if gcsls.AdditionalProperties == nil {
 90644  					gcsls.AdditionalProperties = make(map[string]interface{})
 90645  				}
 90646  				gcsls.AdditionalProperties[k] = additionalProperties
 90647  			}
 90648  		case "connectVia":
 90649  			if v != nil {
 90650  				var connectVia IntegrationRuntimeReference
 90651  				err = json.Unmarshal(*v, &connectVia)
 90652  				if err != nil {
 90653  					return err
 90654  				}
 90655  				gcsls.ConnectVia = &connectVia
 90656  			}
 90657  		case "description":
 90658  			if v != nil {
 90659  				var description string
 90660  				err = json.Unmarshal(*v, &description)
 90661  				if err != nil {
 90662  					return err
 90663  				}
 90664  				gcsls.Description = &description
 90665  			}
 90666  		case "parameters":
 90667  			if v != nil {
 90668  				var parameters map[string]*ParameterSpecification
 90669  				err = json.Unmarshal(*v, &parameters)
 90670  				if err != nil {
 90671  					return err
 90672  				}
 90673  				gcsls.Parameters = parameters
 90674  			}
 90675  		case "annotations":
 90676  			if v != nil {
 90677  				var annotations []interface{}
 90678  				err = json.Unmarshal(*v, &annotations)
 90679  				if err != nil {
 90680  					return err
 90681  				}
 90682  				gcsls.Annotations = &annotations
 90683  			}
 90684  		case "type":
 90685  			if v != nil {
 90686  				var typeVar TypeBasicLinkedService
 90687  				err = json.Unmarshal(*v, &typeVar)
 90688  				if err != nil {
 90689  					return err
 90690  				}
 90691  				gcsls.Type = typeVar
 90692  			}
 90693  		}
 90694  	}
 90695  
 90696  	return nil
 90697  }
 90698  
 90699  // GoogleCloudStorageLinkedServiceTypeProperties google Cloud Storage linked service properties.
 90700  type GoogleCloudStorageLinkedServiceTypeProperties struct {
 90701  	// AccessKeyID - The access key identifier of the Google Cloud Storage Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
 90702  	AccessKeyID interface{} `json:"accessKeyId,omitempty"`
 90703  	// SecretAccessKey - The secret access key of the Google Cloud Storage Identity and Access Management (IAM) user.
 90704  	SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"`
 90705  	// ServiceURL - This value specifies the endpoint to access with the Google Cloud Storage 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).
 90706  	ServiceURL interface{} `json:"serviceUrl,omitempty"`
 90707  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 90708  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 90709  }
 90710  
 90711  // UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedServiceTypeProperties struct.
 90712  func (gcslstp *GoogleCloudStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 90713  	var m map[string]*json.RawMessage
 90714  	err := json.Unmarshal(body, &m)
 90715  	if err != nil {
 90716  		return err
 90717  	}
 90718  	for k, v := range m {
 90719  		switch k {
 90720  		case "accessKeyId":
 90721  			if v != nil {
 90722  				var accessKeyID interface{}
 90723  				err = json.Unmarshal(*v, &accessKeyID)
 90724  				if err != nil {
 90725  					return err
 90726  				}
 90727  				gcslstp.AccessKeyID = accessKeyID
 90728  			}
 90729  		case "secretAccessKey":
 90730  			if v != nil {
 90731  				secretAccessKey, err := unmarshalBasicSecretBase(*v)
 90732  				if err != nil {
 90733  					return err
 90734  				}
 90735  				gcslstp.SecretAccessKey = secretAccessKey
 90736  			}
 90737  		case "serviceUrl":
 90738  			if v != nil {
 90739  				var serviceURL interface{}
 90740  				err = json.Unmarshal(*v, &serviceURL)
 90741  				if err != nil {
 90742  					return err
 90743  				}
 90744  				gcslstp.ServiceURL = serviceURL
 90745  			}
 90746  		case "encryptedCredential":
 90747  			if v != nil {
 90748  				var encryptedCredential interface{}
 90749  				err = json.Unmarshal(*v, &encryptedCredential)
 90750  				if err != nil {
 90751  					return err
 90752  				}
 90753  				gcslstp.EncryptedCredential = encryptedCredential
 90754  			}
 90755  		}
 90756  	}
 90757  
 90758  	return nil
 90759  }
 90760  
 90761  // GoogleCloudStorageLocation the location of Google Cloud Storage dataset.
 90762  type GoogleCloudStorageLocation struct {
 90763  	// BucketName - Specify the bucketName of Google Cloud Storage. Type: string (or Expression with resultType string)
 90764  	BucketName interface{} `json:"bucketName,omitempty"`
 90765  	// Version - Specify the version of Google Cloud Storage. Type: string (or Expression with resultType string).
 90766  	Version interface{} `json:"version,omitempty"`
 90767  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 90768  	AdditionalProperties map[string]interface{} `json:""`
 90769  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 90770  	FolderPath interface{} `json:"folderPath,omitempty"`
 90771  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 90772  	FileName interface{} `json:"fileName,omitempty"`
 90773  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 90774  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 90775  }
 90776  
 90777  // MarshalJSON is the custom marshaler for GoogleCloudStorageLocation.
 90778  func (gcsl GoogleCloudStorageLocation) MarshalJSON() ([]byte, error) {
 90779  	gcsl.Type = TypeGoogleCloudStorageLocation
 90780  	objectMap := make(map[string]interface{})
 90781  	if gcsl.BucketName != nil {
 90782  		objectMap["bucketName"] = gcsl.BucketName
 90783  	}
 90784  	if gcsl.Version != nil {
 90785  		objectMap["version"] = gcsl.Version
 90786  	}
 90787  	if gcsl.FolderPath != nil {
 90788  		objectMap["folderPath"] = gcsl.FolderPath
 90789  	}
 90790  	if gcsl.FileName != nil {
 90791  		objectMap["fileName"] = gcsl.FileName
 90792  	}
 90793  	if gcsl.Type != "" {
 90794  		objectMap["type"] = gcsl.Type
 90795  	}
 90796  	for k, v := range gcsl.AdditionalProperties {
 90797  		objectMap[k] = v
 90798  	}
 90799  	return json.Marshal(objectMap)
 90800  }
 90801  
 90802  // AsHdfsLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90803  func (gcsl GoogleCloudStorageLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 90804  	return nil, false
 90805  }
 90806  
 90807  // AsHTTPServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90808  func (gcsl GoogleCloudStorageLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 90809  	return nil, false
 90810  }
 90811  
 90812  // AsSftpLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90813  func (gcsl GoogleCloudStorageLocation) AsSftpLocation() (*SftpLocation, bool) {
 90814  	return nil, false
 90815  }
 90816  
 90817  // AsFtpServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90818  func (gcsl GoogleCloudStorageLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 90819  	return nil, false
 90820  }
 90821  
 90822  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90823  func (gcsl GoogleCloudStorageLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 90824  	return &gcsl, true
 90825  }
 90826  
 90827  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90828  func (gcsl GoogleCloudStorageLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 90829  	return nil, false
 90830  }
 90831  
 90832  // AsFileServerLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90833  func (gcsl GoogleCloudStorageLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 90834  	return nil, false
 90835  }
 90836  
 90837  // AsAmazonS3Location is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90838  func (gcsl GoogleCloudStorageLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 90839  	return nil, false
 90840  }
 90841  
 90842  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90843  func (gcsl GoogleCloudStorageLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 90844  	return nil, false
 90845  }
 90846  
 90847  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90848  func (gcsl GoogleCloudStorageLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 90849  	return nil, false
 90850  }
 90851  
 90852  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90853  func (gcsl GoogleCloudStorageLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 90854  	return nil, false
 90855  }
 90856  
 90857  // AsDatasetLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90858  func (gcsl GoogleCloudStorageLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 90859  	return nil, false
 90860  }
 90861  
 90862  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for GoogleCloudStorageLocation.
 90863  func (gcsl GoogleCloudStorageLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 90864  	return &gcsl, true
 90865  }
 90866  
 90867  // UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLocation struct.
 90868  func (gcsl *GoogleCloudStorageLocation) UnmarshalJSON(body []byte) error {
 90869  	var m map[string]*json.RawMessage
 90870  	err := json.Unmarshal(body, &m)
 90871  	if err != nil {
 90872  		return err
 90873  	}
 90874  	for k, v := range m {
 90875  		switch k {
 90876  		case "bucketName":
 90877  			if v != nil {
 90878  				var bucketName interface{}
 90879  				err = json.Unmarshal(*v, &bucketName)
 90880  				if err != nil {
 90881  					return err
 90882  				}
 90883  				gcsl.BucketName = bucketName
 90884  			}
 90885  		case "version":
 90886  			if v != nil {
 90887  				var version interface{}
 90888  				err = json.Unmarshal(*v, &version)
 90889  				if err != nil {
 90890  					return err
 90891  				}
 90892  				gcsl.Version = version
 90893  			}
 90894  		default:
 90895  			if v != nil {
 90896  				var additionalProperties interface{}
 90897  				err = json.Unmarshal(*v, &additionalProperties)
 90898  				if err != nil {
 90899  					return err
 90900  				}
 90901  				if gcsl.AdditionalProperties == nil {
 90902  					gcsl.AdditionalProperties = make(map[string]interface{})
 90903  				}
 90904  				gcsl.AdditionalProperties[k] = additionalProperties
 90905  			}
 90906  		case "folderPath":
 90907  			if v != nil {
 90908  				var folderPath interface{}
 90909  				err = json.Unmarshal(*v, &folderPath)
 90910  				if err != nil {
 90911  					return err
 90912  				}
 90913  				gcsl.FolderPath = folderPath
 90914  			}
 90915  		case "fileName":
 90916  			if v != nil {
 90917  				var fileName interface{}
 90918  				err = json.Unmarshal(*v, &fileName)
 90919  				if err != nil {
 90920  					return err
 90921  				}
 90922  				gcsl.FileName = fileName
 90923  			}
 90924  		case "type":
 90925  			if v != nil {
 90926  				var typeVar TypeBasicDatasetLocation
 90927  				err = json.Unmarshal(*v, &typeVar)
 90928  				if err != nil {
 90929  					return err
 90930  				}
 90931  				gcsl.Type = typeVar
 90932  			}
 90933  		}
 90934  	}
 90935  
 90936  	return nil
 90937  }
 90938  
 90939  // GoogleCloudStorageReadSettings google Cloud Storage read settings.
 90940  type GoogleCloudStorageReadSettings struct {
 90941  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 90942  	Recursive interface{} `json:"recursive,omitempty"`
 90943  	// WildcardFolderPath - Google Cloud Storage wildcardFolderPath. Type: string (or Expression with resultType string).
 90944  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 90945  	// WildcardFileName - Google Cloud Storage wildcardFileName. Type: string (or Expression with resultType string).
 90946  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 90947  	// Prefix - The prefix filter for the Google Cloud Storage object name. Type: string (or Expression with resultType string).
 90948  	Prefix interface{} `json:"prefix,omitempty"`
 90949  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 90950  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 90951  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 90952  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 90953  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 90954  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 90955  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 90956  	AdditionalProperties map[string]interface{} `json:""`
 90957  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 90958  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 90959  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 90960  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 90961  }
 90962  
 90963  // MarshalJSON is the custom marshaler for GoogleCloudStorageReadSettings.
 90964  func (gcsrs GoogleCloudStorageReadSettings) MarshalJSON() ([]byte, error) {
 90965  	gcsrs.Type = TypeGoogleCloudStorageReadSettings
 90966  	objectMap := make(map[string]interface{})
 90967  	if gcsrs.Recursive != nil {
 90968  		objectMap["recursive"] = gcsrs.Recursive
 90969  	}
 90970  	if gcsrs.WildcardFolderPath != nil {
 90971  		objectMap["wildcardFolderPath"] = gcsrs.WildcardFolderPath
 90972  	}
 90973  	if gcsrs.WildcardFileName != nil {
 90974  		objectMap["wildcardFileName"] = gcsrs.WildcardFileName
 90975  	}
 90976  	if gcsrs.Prefix != nil {
 90977  		objectMap["prefix"] = gcsrs.Prefix
 90978  	}
 90979  	if gcsrs.EnablePartitionDiscovery != nil {
 90980  		objectMap["enablePartitionDiscovery"] = gcsrs.EnablePartitionDiscovery
 90981  	}
 90982  	if gcsrs.ModifiedDatetimeStart != nil {
 90983  		objectMap["modifiedDatetimeStart"] = gcsrs.ModifiedDatetimeStart
 90984  	}
 90985  	if gcsrs.ModifiedDatetimeEnd != nil {
 90986  		objectMap["modifiedDatetimeEnd"] = gcsrs.ModifiedDatetimeEnd
 90987  	}
 90988  	if gcsrs.MaxConcurrentConnections != nil {
 90989  		objectMap["maxConcurrentConnections"] = gcsrs.MaxConcurrentConnections
 90990  	}
 90991  	if gcsrs.Type != "" {
 90992  		objectMap["type"] = gcsrs.Type
 90993  	}
 90994  	for k, v := range gcsrs.AdditionalProperties {
 90995  		objectMap[k] = v
 90996  	}
 90997  	return json.Marshal(objectMap)
 90998  }
 90999  
 91000  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91001  func (gcsrs GoogleCloudStorageReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 91002  	return nil, false
 91003  }
 91004  
 91005  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91006  func (gcsrs GoogleCloudStorageReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 91007  	return nil, false
 91008  }
 91009  
 91010  // AsSftpReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91011  func (gcsrs GoogleCloudStorageReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 91012  	return nil, false
 91013  }
 91014  
 91015  // AsFtpReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91016  func (gcsrs GoogleCloudStorageReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 91017  	return nil, false
 91018  }
 91019  
 91020  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91021  func (gcsrs GoogleCloudStorageReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 91022  	return &gcsrs, true
 91023  }
 91024  
 91025  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91026  func (gcsrs GoogleCloudStorageReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 91027  	return nil, false
 91028  }
 91029  
 91030  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91031  func (gcsrs GoogleCloudStorageReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 91032  	return nil, false
 91033  }
 91034  
 91035  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91036  func (gcsrs GoogleCloudStorageReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 91037  	return nil, false
 91038  }
 91039  
 91040  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91041  func (gcsrs GoogleCloudStorageReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 91042  	return nil, false
 91043  }
 91044  
 91045  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91046  func (gcsrs GoogleCloudStorageReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 91047  	return nil, false
 91048  }
 91049  
 91050  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91051  func (gcsrs GoogleCloudStorageReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 91052  	return nil, false
 91053  }
 91054  
 91055  // AsStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91056  func (gcsrs GoogleCloudStorageReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 91057  	return nil, false
 91058  }
 91059  
 91060  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for GoogleCloudStorageReadSettings.
 91061  func (gcsrs GoogleCloudStorageReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 91062  	return &gcsrs, true
 91063  }
 91064  
 91065  // UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageReadSettings struct.
 91066  func (gcsrs *GoogleCloudStorageReadSettings) UnmarshalJSON(body []byte) error {
 91067  	var m map[string]*json.RawMessage
 91068  	err := json.Unmarshal(body, &m)
 91069  	if err != nil {
 91070  		return err
 91071  	}
 91072  	for k, v := range m {
 91073  		switch k {
 91074  		case "recursive":
 91075  			if v != nil {
 91076  				var recursive interface{}
 91077  				err = json.Unmarshal(*v, &recursive)
 91078  				if err != nil {
 91079  					return err
 91080  				}
 91081  				gcsrs.Recursive = recursive
 91082  			}
 91083  		case "wildcardFolderPath":
 91084  			if v != nil {
 91085  				var wildcardFolderPath interface{}
 91086  				err = json.Unmarshal(*v, &wildcardFolderPath)
 91087  				if err != nil {
 91088  					return err
 91089  				}
 91090  				gcsrs.WildcardFolderPath = wildcardFolderPath
 91091  			}
 91092  		case "wildcardFileName":
 91093  			if v != nil {
 91094  				var wildcardFileName interface{}
 91095  				err = json.Unmarshal(*v, &wildcardFileName)
 91096  				if err != nil {
 91097  					return err
 91098  				}
 91099  				gcsrs.WildcardFileName = wildcardFileName
 91100  			}
 91101  		case "prefix":
 91102  			if v != nil {
 91103  				var prefix interface{}
 91104  				err = json.Unmarshal(*v, &prefix)
 91105  				if err != nil {
 91106  					return err
 91107  				}
 91108  				gcsrs.Prefix = prefix
 91109  			}
 91110  		case "enablePartitionDiscovery":
 91111  			if v != nil {
 91112  				var enablePartitionDiscovery bool
 91113  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 91114  				if err != nil {
 91115  					return err
 91116  				}
 91117  				gcsrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 91118  			}
 91119  		case "modifiedDatetimeStart":
 91120  			if v != nil {
 91121  				var modifiedDatetimeStart interface{}
 91122  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 91123  				if err != nil {
 91124  					return err
 91125  				}
 91126  				gcsrs.ModifiedDatetimeStart = modifiedDatetimeStart
 91127  			}
 91128  		case "modifiedDatetimeEnd":
 91129  			if v != nil {
 91130  				var modifiedDatetimeEnd interface{}
 91131  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 91132  				if err != nil {
 91133  					return err
 91134  				}
 91135  				gcsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 91136  			}
 91137  		default:
 91138  			if v != nil {
 91139  				var additionalProperties interface{}
 91140  				err = json.Unmarshal(*v, &additionalProperties)
 91141  				if err != nil {
 91142  					return err
 91143  				}
 91144  				if gcsrs.AdditionalProperties == nil {
 91145  					gcsrs.AdditionalProperties = make(map[string]interface{})
 91146  				}
 91147  				gcsrs.AdditionalProperties[k] = additionalProperties
 91148  			}
 91149  		case "maxConcurrentConnections":
 91150  			if v != nil {
 91151  				var maxConcurrentConnections interface{}
 91152  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 91153  				if err != nil {
 91154  					return err
 91155  				}
 91156  				gcsrs.MaxConcurrentConnections = maxConcurrentConnections
 91157  			}
 91158  		case "type":
 91159  			if v != nil {
 91160  				var typeVar TypeBasicStoreReadSettings
 91161  				err = json.Unmarshal(*v, &typeVar)
 91162  				if err != nil {
 91163  					return err
 91164  				}
 91165  				gcsrs.Type = typeVar
 91166  			}
 91167  		}
 91168  	}
 91169  
 91170  	return nil
 91171  }
 91172  
 91173  // GreenplumDatasetTypeProperties greenplum Dataset Properties
 91174  type GreenplumDatasetTypeProperties struct {
 91175  	// TableName - This property will be retired. Please consider using schema + table properties instead.
 91176  	TableName interface{} `json:"tableName,omitempty"`
 91177  	// Table - The table name of Greenplum. Type: string (or Expression with resultType string).
 91178  	Table interface{} `json:"table,omitempty"`
 91179  	// Schema - The schema name of Greenplum. Type: string (or Expression with resultType string).
 91180  	Schema interface{} `json:"schema,omitempty"`
 91181  }
 91182  
 91183  // GreenplumLinkedService greenplum Database linked service.
 91184  type GreenplumLinkedService struct {
 91185  	// GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties.
 91186  	*GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 91187  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 91188  	AdditionalProperties map[string]interface{} `json:""`
 91189  	// ConnectVia - The integration runtime reference.
 91190  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 91191  	// Description - Linked service description.
 91192  	Description *string `json:"description,omitempty"`
 91193  	// Parameters - Parameters for linked service.
 91194  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 91195  	// Annotations - List of tags that can be used for describing the linked service.
 91196  	Annotations *[]interface{} `json:"annotations,omitempty"`
 91197  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 91198  	Type TypeBasicLinkedService `json:"type,omitempty"`
 91199  }
 91200  
 91201  // MarshalJSON is the custom marshaler for GreenplumLinkedService.
 91202  func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) {
 91203  	gls.Type = TypeGreenplum
 91204  	objectMap := make(map[string]interface{})
 91205  	if gls.GreenplumLinkedServiceTypeProperties != nil {
 91206  		objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties
 91207  	}
 91208  	if gls.ConnectVia != nil {
 91209  		objectMap["connectVia"] = gls.ConnectVia
 91210  	}
 91211  	if gls.Description != nil {
 91212  		objectMap["description"] = gls.Description
 91213  	}
 91214  	if gls.Parameters != nil {
 91215  		objectMap["parameters"] = gls.Parameters
 91216  	}
 91217  	if gls.Annotations != nil {
 91218  		objectMap["annotations"] = gls.Annotations
 91219  	}
 91220  	if gls.Type != "" {
 91221  		objectMap["type"] = gls.Type
 91222  	}
 91223  	for k, v := range gls.AdditionalProperties {
 91224  		objectMap[k] = v
 91225  	}
 91226  	return json.Marshal(objectMap)
 91227  }
 91228  
 91229  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91230  func (gls GreenplumLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 91231  	return nil, false
 91232  }
 91233  
 91234  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91235  func (gls GreenplumLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 91236  	return nil, false
 91237  }
 91238  
 91239  // AsSapTableLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91240  func (gls GreenplumLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 91241  	return nil, false
 91242  }
 91243  
 91244  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91245  func (gls GreenplumLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 91246  	return nil, false
 91247  }
 91248  
 91249  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91250  func (gls GreenplumLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 91251  	return nil, false
 91252  }
 91253  
 91254  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91255  func (gls GreenplumLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 91256  	return nil, false
 91257  }
 91258  
 91259  // AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91260  func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 91261  	return nil, false
 91262  }
 91263  
 91264  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91265  func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 91266  	return nil, false
 91267  }
 91268  
 91269  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91270  func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 91271  	return nil, false
 91272  }
 91273  
 91274  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91275  func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 91276  	return nil, false
 91277  }
 91278  
 91279  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91280  func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 91281  	return nil, false
 91282  }
 91283  
 91284  // AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91285  func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 91286  	return nil, false
 91287  }
 91288  
 91289  // AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91290  func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 91291  	return nil, false
 91292  }
 91293  
 91294  // AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91295  func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 91296  	return nil, false
 91297  }
 91298  
 91299  // AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91300  func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 91301  	return nil, false
 91302  }
 91303  
 91304  // AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91305  func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 91306  	return nil, false
 91307  }
 91308  
 91309  // AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91310  func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 91311  	return nil, false
 91312  }
 91313  
 91314  // AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91315  func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 91316  	return nil, false
 91317  }
 91318  
 91319  // AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91320  func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 91321  	return nil, false
 91322  }
 91323  
 91324  // AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91325  func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 91326  	return nil, false
 91327  }
 91328  
 91329  // AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91330  func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 91331  	return nil, false
 91332  }
 91333  
 91334  // AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91335  func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 91336  	return nil, false
 91337  }
 91338  
 91339  // AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91340  func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 91341  	return nil, false
 91342  }
 91343  
 91344  // AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91345  func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 91346  	return nil, false
 91347  }
 91348  
 91349  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91350  func (gls GreenplumLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 91351  	return nil, false
 91352  }
 91353  
 91354  // AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91355  func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 91356  	return nil, false
 91357  }
 91358  
 91359  // AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91360  func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 91361  	return nil, false
 91362  }
 91363  
 91364  // AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91365  func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 91366  	return nil, false
 91367  }
 91368  
 91369  // AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91370  func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 91371  	return nil, false
 91372  }
 91373  
 91374  // AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91375  func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 91376  	return nil, false
 91377  }
 91378  
 91379  // AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91380  func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 91381  	return nil, false
 91382  }
 91383  
 91384  // AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91385  func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 91386  	return nil, false
 91387  }
 91388  
 91389  // AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91390  func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 91391  	return &gls, true
 91392  }
 91393  
 91394  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91395  func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 91396  	return nil, false
 91397  }
 91398  
 91399  // AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91400  func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 91401  	return nil, false
 91402  }
 91403  
 91404  // AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91405  func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 91406  	return nil, false
 91407  }
 91408  
 91409  // AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91410  func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 91411  	return nil, false
 91412  }
 91413  
 91414  // AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91415  func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 91416  	return nil, false
 91417  }
 91418  
 91419  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91420  func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 91421  	return nil, false
 91422  }
 91423  
 91424  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91425  func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 91426  	return nil, false
 91427  }
 91428  
 91429  // AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91430  func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 91431  	return nil, false
 91432  }
 91433  
 91434  // AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91435  func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 91436  	return nil, false
 91437  }
 91438  
 91439  // AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91440  func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 91441  	return nil, false
 91442  }
 91443  
 91444  // AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91445  func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 91446  	return nil, false
 91447  }
 91448  
 91449  // AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91450  func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 91451  	return nil, false
 91452  }
 91453  
 91454  // AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91455  func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 91456  	return nil, false
 91457  }
 91458  
 91459  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91460  func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 91461  	return nil, false
 91462  }
 91463  
 91464  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91465  func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 91466  	return nil, false
 91467  }
 91468  
 91469  // AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91470  func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 91471  	return nil, false
 91472  }
 91473  
 91474  // AsRestServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91475  func (gls GreenplumLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 91476  	return nil, false
 91477  }
 91478  
 91479  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91480  func (gls GreenplumLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 91481  	return nil, false
 91482  }
 91483  
 91484  // AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91485  func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 91486  	return nil, false
 91487  }
 91488  
 91489  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91490  func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 91491  	return nil, false
 91492  }
 91493  
 91494  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91495  func (gls GreenplumLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 91496  	return nil, false
 91497  }
 91498  
 91499  // AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91500  func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 91501  	return nil, false
 91502  }
 91503  
 91504  // AsOffice365LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91505  func (gls GreenplumLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 91506  	return nil, false
 91507  }
 91508  
 91509  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91510  func (gls GreenplumLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 91511  	return nil, false
 91512  }
 91513  
 91514  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91515  func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 91516  	return nil, false
 91517  }
 91518  
 91519  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91520  func (gls GreenplumLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 91521  	return nil, false
 91522  }
 91523  
 91524  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91525  func (gls GreenplumLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 91526  	return nil, false
 91527  }
 91528  
 91529  // AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91530  func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 91531  	return nil, false
 91532  }
 91533  
 91534  // AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91535  func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 91536  	return nil, false
 91537  }
 91538  
 91539  // AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91540  func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 91541  	return nil, false
 91542  }
 91543  
 91544  // AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91545  func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 91546  	return nil, false
 91547  }
 91548  
 91549  // AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91550  func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 91551  	return nil, false
 91552  }
 91553  
 91554  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91555  func (gls GreenplumLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 91556  	return nil, false
 91557  }
 91558  
 91559  // AsInformixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91560  func (gls GreenplumLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 91561  	return nil, false
 91562  }
 91563  
 91564  // AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91565  func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 91566  	return nil, false
 91567  }
 91568  
 91569  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91570  func (gls GreenplumLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 91571  	return nil, false
 91572  }
 91573  
 91574  // AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91575  func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 91576  	return nil, false
 91577  }
 91578  
 91579  // AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91580  func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 91581  	return nil, false
 91582  }
 91583  
 91584  // AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91585  func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 91586  	return nil, false
 91587  }
 91588  
 91589  // AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91590  func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 91591  	return nil, false
 91592  }
 91593  
 91594  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91595  func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 91596  	return nil, false
 91597  }
 91598  
 91599  // AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91600  func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 91601  	return nil, false
 91602  }
 91603  
 91604  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91605  func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 91606  	return nil, false
 91607  }
 91608  
 91609  // AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91610  func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 91611  	return nil, false
 91612  }
 91613  
 91614  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91615  func (gls GreenplumLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 91616  	return nil, false
 91617  }
 91618  
 91619  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91620  func (gls GreenplumLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 91621  	return nil, false
 91622  }
 91623  
 91624  // AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91625  func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 91626  	return nil, false
 91627  }
 91628  
 91629  // AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91630  func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 91631  	return nil, false
 91632  }
 91633  
 91634  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91635  func (gls GreenplumLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 91636  	return nil, false
 91637  }
 91638  
 91639  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91640  func (gls GreenplumLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 91641  	return nil, false
 91642  }
 91643  
 91644  // AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91645  func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 91646  	return nil, false
 91647  }
 91648  
 91649  // AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91650  func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 91651  	return nil, false
 91652  }
 91653  
 91654  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91655  func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 91656  	return nil, false
 91657  }
 91658  
 91659  // AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91660  func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 91661  	return nil, false
 91662  }
 91663  
 91664  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91665  func (gls GreenplumLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 91666  	return nil, false
 91667  }
 91668  
 91669  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91670  func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 91671  	return nil, false
 91672  }
 91673  
 91674  // AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91675  func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 91676  	return nil, false
 91677  }
 91678  
 91679  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91680  func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 91681  	return nil, false
 91682  }
 91683  
 91684  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91685  func (gls GreenplumLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 91686  	return nil, false
 91687  }
 91688  
 91689  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91690  func (gls GreenplumLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 91691  	return nil, false
 91692  }
 91693  
 91694  // AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91695  func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 91696  	return nil, false
 91697  }
 91698  
 91699  // AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91700  func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) {
 91701  	return nil, false
 91702  }
 91703  
 91704  // AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService.
 91705  func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 91706  	return &gls, true
 91707  }
 91708  
 91709  // UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct.
 91710  func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error {
 91711  	var m map[string]*json.RawMessage
 91712  	err := json.Unmarshal(body, &m)
 91713  	if err != nil {
 91714  		return err
 91715  	}
 91716  	for k, v := range m {
 91717  		switch k {
 91718  		case "typeProperties":
 91719  			if v != nil {
 91720  				var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties
 91721  				err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties)
 91722  				if err != nil {
 91723  					return err
 91724  				}
 91725  				gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties
 91726  			}
 91727  		default:
 91728  			if v != nil {
 91729  				var additionalProperties interface{}
 91730  				err = json.Unmarshal(*v, &additionalProperties)
 91731  				if err != nil {
 91732  					return err
 91733  				}
 91734  				if gls.AdditionalProperties == nil {
 91735  					gls.AdditionalProperties = make(map[string]interface{})
 91736  				}
 91737  				gls.AdditionalProperties[k] = additionalProperties
 91738  			}
 91739  		case "connectVia":
 91740  			if v != nil {
 91741  				var connectVia IntegrationRuntimeReference
 91742  				err = json.Unmarshal(*v, &connectVia)
 91743  				if err != nil {
 91744  					return err
 91745  				}
 91746  				gls.ConnectVia = &connectVia
 91747  			}
 91748  		case "description":
 91749  			if v != nil {
 91750  				var description string
 91751  				err = json.Unmarshal(*v, &description)
 91752  				if err != nil {
 91753  					return err
 91754  				}
 91755  				gls.Description = &description
 91756  			}
 91757  		case "parameters":
 91758  			if v != nil {
 91759  				var parameters map[string]*ParameterSpecification
 91760  				err = json.Unmarshal(*v, &parameters)
 91761  				if err != nil {
 91762  					return err
 91763  				}
 91764  				gls.Parameters = parameters
 91765  			}
 91766  		case "annotations":
 91767  			if v != nil {
 91768  				var annotations []interface{}
 91769  				err = json.Unmarshal(*v, &annotations)
 91770  				if err != nil {
 91771  					return err
 91772  				}
 91773  				gls.Annotations = &annotations
 91774  			}
 91775  		case "type":
 91776  			if v != nil {
 91777  				var typeVar TypeBasicLinkedService
 91778  				err = json.Unmarshal(*v, &typeVar)
 91779  				if err != nil {
 91780  					return err
 91781  				}
 91782  				gls.Type = typeVar
 91783  			}
 91784  		}
 91785  	}
 91786  
 91787  	return nil
 91788  }
 91789  
 91790  // GreenplumLinkedServiceTypeProperties greenplum Database linked service properties.
 91791  type GreenplumLinkedServiceTypeProperties struct {
 91792  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
 91793  	ConnectionString interface{} `json:"connectionString,omitempty"`
 91794  	// Pwd - The Azure key vault secret reference of password in connection string.
 91795  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
 91796  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 91797  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 91798  }
 91799  
 91800  // GreenplumSource a copy activity Greenplum Database source.
 91801  type GreenplumSource struct {
 91802  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 91803  	Query interface{} `json:"query,omitempty"`
 91804  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 91805  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 91806  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 91807  	AdditionalProperties map[string]interface{} `json:""`
 91808  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 91809  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 91810  	// 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])).
 91811  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 91812  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 91813  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 91814  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 91815  	Type TypeBasicCopySource `json:"type,omitempty"`
 91816  }
 91817  
 91818  // MarshalJSON is the custom marshaler for GreenplumSource.
 91819  func (gs GreenplumSource) MarshalJSON() ([]byte, error) {
 91820  	gs.Type = TypeGreenplumSource
 91821  	objectMap := make(map[string]interface{})
 91822  	if gs.Query != nil {
 91823  		objectMap["query"] = gs.Query
 91824  	}
 91825  	if gs.QueryTimeout != nil {
 91826  		objectMap["queryTimeout"] = gs.QueryTimeout
 91827  	}
 91828  	if gs.SourceRetryCount != nil {
 91829  		objectMap["sourceRetryCount"] = gs.SourceRetryCount
 91830  	}
 91831  	if gs.SourceRetryWait != nil {
 91832  		objectMap["sourceRetryWait"] = gs.SourceRetryWait
 91833  	}
 91834  	if gs.MaxConcurrentConnections != nil {
 91835  		objectMap["maxConcurrentConnections"] = gs.MaxConcurrentConnections
 91836  	}
 91837  	if gs.Type != "" {
 91838  		objectMap["type"] = gs.Type
 91839  	}
 91840  	for k, v := range gs.AdditionalProperties {
 91841  		objectMap[k] = v
 91842  	}
 91843  	return json.Marshal(objectMap)
 91844  }
 91845  
 91846  // AsHTTPSource is the BasicCopySource implementation for GreenplumSource.
 91847  func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) {
 91848  	return nil, false
 91849  }
 91850  
 91851  // AsAzureBlobFSSource is the BasicCopySource implementation for GreenplumSource.
 91852  func (gs GreenplumSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 91853  	return nil, false
 91854  }
 91855  
 91856  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource.
 91857  func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 91858  	return nil, false
 91859  }
 91860  
 91861  // AsOffice365Source is the BasicCopySource implementation for GreenplumSource.
 91862  func (gs GreenplumSource) AsOffice365Source() (*Office365Source, bool) {
 91863  	return nil, false
 91864  }
 91865  
 91866  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GreenplumSource.
 91867  func (gs GreenplumSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 91868  	return nil, false
 91869  }
 91870  
 91871  // AsMongoDbV2Source is the BasicCopySource implementation for GreenplumSource.
 91872  func (gs GreenplumSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 91873  	return nil, false
 91874  }
 91875  
 91876  // AsMongoDbSource is the BasicCopySource implementation for GreenplumSource.
 91877  func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) {
 91878  	return nil, false
 91879  }
 91880  
 91881  // AsWebSource is the BasicCopySource implementation for GreenplumSource.
 91882  func (gs GreenplumSource) AsWebSource() (*WebSource, bool) {
 91883  	return nil, false
 91884  }
 91885  
 91886  // AsOracleSource is the BasicCopySource implementation for GreenplumSource.
 91887  func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) {
 91888  	return nil, false
 91889  }
 91890  
 91891  // AsAzureDataExplorerSource is the BasicCopySource implementation for GreenplumSource.
 91892  func (gs GreenplumSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 91893  	return nil, false
 91894  }
 91895  
 91896  // AsHdfsSource is the BasicCopySource implementation for GreenplumSource.
 91897  func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) {
 91898  	return nil, false
 91899  }
 91900  
 91901  // AsFileSystemSource is the BasicCopySource implementation for GreenplumSource.
 91902  func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) {
 91903  	return nil, false
 91904  }
 91905  
 91906  // AsRestSource is the BasicCopySource implementation for GreenplumSource.
 91907  func (gs GreenplumSource) AsRestSource() (*RestSource, bool) {
 91908  	return nil, false
 91909  }
 91910  
 91911  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for GreenplumSource.
 91912  func (gs GreenplumSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 91913  	return nil, false
 91914  }
 91915  
 91916  // AsODataSource is the BasicCopySource implementation for GreenplumSource.
 91917  func (gs GreenplumSource) AsODataSource() (*ODataSource, bool) {
 91918  	return nil, false
 91919  }
 91920  
 91921  // AsMicrosoftAccessSource is the BasicCopySource implementation for GreenplumSource.
 91922  func (gs GreenplumSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 91923  	return nil, false
 91924  }
 91925  
 91926  // AsRelationalSource is the BasicCopySource implementation for GreenplumSource.
 91927  func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) {
 91928  	return nil, false
 91929  }
 91930  
 91931  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GreenplumSource.
 91932  func (gs GreenplumSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 91933  	return nil, false
 91934  }
 91935  
 91936  // AsDynamicsCrmSource is the BasicCopySource implementation for GreenplumSource.
 91937  func (gs GreenplumSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 91938  	return nil, false
 91939  }
 91940  
 91941  // AsDynamicsSource is the BasicCopySource implementation for GreenplumSource.
 91942  func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) {
 91943  	return nil, false
 91944  }
 91945  
 91946  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for GreenplumSource.
 91947  func (gs GreenplumSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 91948  	return nil, false
 91949  }
 91950  
 91951  // AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource.
 91952  func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 91953  	return nil, false
 91954  }
 91955  
 91956  // AsBlobSource is the BasicCopySource implementation for GreenplumSource.
 91957  func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) {
 91958  	return nil, false
 91959  }
 91960  
 91961  // AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource.
 91962  func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 91963  	return nil, false
 91964  }
 91965  
 91966  // AsGoogleAdWordsSource is the BasicCopySource implementation for GreenplumSource.
 91967  func (gs GreenplumSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 91968  	return nil, false
 91969  }
 91970  
 91971  // AsOracleServiceCloudSource is the BasicCopySource implementation for GreenplumSource.
 91972  func (gs GreenplumSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 91973  	return nil, false
 91974  }
 91975  
 91976  // AsDynamicsAXSource is the BasicCopySource implementation for GreenplumSource.
 91977  func (gs GreenplumSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 91978  	return nil, false
 91979  }
 91980  
 91981  // AsResponsysSource is the BasicCopySource implementation for GreenplumSource.
 91982  func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) {
 91983  	return nil, false
 91984  }
 91985  
 91986  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource.
 91987  func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 91988  	return nil, false
 91989  }
 91990  
 91991  // AsVerticaSource is the BasicCopySource implementation for GreenplumSource.
 91992  func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) {
 91993  	return nil, false
 91994  }
 91995  
 91996  // AsNetezzaSource is the BasicCopySource implementation for GreenplumSource.
 91997  func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) {
 91998  	return nil, false
 91999  }
 92000  
 92001  // AsZohoSource is the BasicCopySource implementation for GreenplumSource.
 92002  func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) {
 92003  	return nil, false
 92004  }
 92005  
 92006  // AsXeroSource is the BasicCopySource implementation for GreenplumSource.
 92007  func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) {
 92008  	return nil, false
 92009  }
 92010  
 92011  // AsSquareSource is the BasicCopySource implementation for GreenplumSource.
 92012  func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) {
 92013  	return nil, false
 92014  }
 92015  
 92016  // AsSparkSource is the BasicCopySource implementation for GreenplumSource.
 92017  func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) {
 92018  	return nil, false
 92019  }
 92020  
 92021  // AsShopifySource is the BasicCopySource implementation for GreenplumSource.
 92022  func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) {
 92023  	return nil, false
 92024  }
 92025  
 92026  // AsServiceNowSource is the BasicCopySource implementation for GreenplumSource.
 92027  func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 92028  	return nil, false
 92029  }
 92030  
 92031  // AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource.
 92032  func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 92033  	return nil, false
 92034  }
 92035  
 92036  // AsPrestoSource is the BasicCopySource implementation for GreenplumSource.
 92037  func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) {
 92038  	return nil, false
 92039  }
 92040  
 92041  // AsPhoenixSource is the BasicCopySource implementation for GreenplumSource.
 92042  func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) {
 92043  	return nil, false
 92044  }
 92045  
 92046  // AsPaypalSource is the BasicCopySource implementation for GreenplumSource.
 92047  func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) {
 92048  	return nil, false
 92049  }
 92050  
 92051  // AsMarketoSource is the BasicCopySource implementation for GreenplumSource.
 92052  func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) {
 92053  	return nil, false
 92054  }
 92055  
 92056  // AsAzureMariaDBSource is the BasicCopySource implementation for GreenplumSource.
 92057  func (gs GreenplumSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 92058  	return nil, false
 92059  }
 92060  
 92061  // AsMariaDBSource is the BasicCopySource implementation for GreenplumSource.
 92062  func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) {
 92063  	return nil, false
 92064  }
 92065  
 92066  // AsMagentoSource is the BasicCopySource implementation for GreenplumSource.
 92067  func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) {
 92068  	return nil, false
 92069  }
 92070  
 92071  // AsJiraSource is the BasicCopySource implementation for GreenplumSource.
 92072  func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) {
 92073  	return nil, false
 92074  }
 92075  
 92076  // AsImpalaSource is the BasicCopySource implementation for GreenplumSource.
 92077  func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) {
 92078  	return nil, false
 92079  }
 92080  
 92081  // AsHubspotSource is the BasicCopySource implementation for GreenplumSource.
 92082  func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) {
 92083  	return nil, false
 92084  }
 92085  
 92086  // AsHiveSource is the BasicCopySource implementation for GreenplumSource.
 92087  func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) {
 92088  	return nil, false
 92089  }
 92090  
 92091  // AsHBaseSource is the BasicCopySource implementation for GreenplumSource.
 92092  func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) {
 92093  	return nil, false
 92094  }
 92095  
 92096  // AsGreenplumSource is the BasicCopySource implementation for GreenplumSource.
 92097  func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) {
 92098  	return &gs, true
 92099  }
 92100  
 92101  // AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource.
 92102  func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 92103  	return nil, false
 92104  }
 92105  
 92106  // AsEloquaSource is the BasicCopySource implementation for GreenplumSource.
 92107  func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) {
 92108  	return nil, false
 92109  }
 92110  
 92111  // AsDrillSource is the BasicCopySource implementation for GreenplumSource.
 92112  func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) {
 92113  	return nil, false
 92114  }
 92115  
 92116  // AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource.
 92117  func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 92118  	return nil, false
 92119  }
 92120  
 92121  // AsConcurSource is the BasicCopySource implementation for GreenplumSource.
 92122  func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) {
 92123  	return nil, false
 92124  }
 92125  
 92126  // AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
 92127  func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 92128  	return nil, false
 92129  }
 92130  
 92131  // AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource.
 92132  func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 92133  	return nil, false
 92134  }
 92135  
 92136  // AsCassandraSource is the BasicCopySource implementation for GreenplumSource.
 92137  func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) {
 92138  	return nil, false
 92139  }
 92140  
 92141  // AsTeradataSource is the BasicCopySource implementation for GreenplumSource.
 92142  func (gs GreenplumSource) AsTeradataSource() (*TeradataSource, bool) {
 92143  	return nil, false
 92144  }
 92145  
 92146  // AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource.
 92147  func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 92148  	return nil, false
 92149  }
 92150  
 92151  // AsSQLDWSource is the BasicCopySource implementation for GreenplumSource.
 92152  func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) {
 92153  	return nil, false
 92154  }
 92155  
 92156  // AsSQLMISource is the BasicCopySource implementation for GreenplumSource.
 92157  func (gs GreenplumSource) AsSQLMISource() (*SQLMISource, bool) {
 92158  	return nil, false
 92159  }
 92160  
 92161  // AsAzureSQLSource is the BasicCopySource implementation for GreenplumSource.
 92162  func (gs GreenplumSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 92163  	return nil, false
 92164  }
 92165  
 92166  // AsSQLServerSource is the BasicCopySource implementation for GreenplumSource.
 92167  func (gs GreenplumSource) AsSQLServerSource() (*SQLServerSource, bool) {
 92168  	return nil, false
 92169  }
 92170  
 92171  // AsSQLSource is the BasicCopySource implementation for GreenplumSource.
 92172  func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) {
 92173  	return nil, false
 92174  }
 92175  
 92176  // AsSapTableSource is the BasicCopySource implementation for GreenplumSource.
 92177  func (gs GreenplumSource) AsSapTableSource() (*SapTableSource, bool) {
 92178  	return nil, false
 92179  }
 92180  
 92181  // AsSapOpenHubSource is the BasicCopySource implementation for GreenplumSource.
 92182  func (gs GreenplumSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 92183  	return nil, false
 92184  }
 92185  
 92186  // AsSapHanaSource is the BasicCopySource implementation for GreenplumSource.
 92187  func (gs GreenplumSource) AsSapHanaSource() (*SapHanaSource, bool) {
 92188  	return nil, false
 92189  }
 92190  
 92191  // AsSapEccSource is the BasicCopySource implementation for GreenplumSource.
 92192  func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) {
 92193  	return nil, false
 92194  }
 92195  
 92196  // AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource.
 92197  func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 92198  	return nil, false
 92199  }
 92200  
 92201  // AsSalesforceSource is the BasicCopySource implementation for GreenplumSource.
 92202  func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) {
 92203  	return nil, false
 92204  }
 92205  
 92206  // AsSapBwSource is the BasicCopySource implementation for GreenplumSource.
 92207  func (gs GreenplumSource) AsSapBwSource() (*SapBwSource, bool) {
 92208  	return nil, false
 92209  }
 92210  
 92211  // AsSybaseSource is the BasicCopySource implementation for GreenplumSource.
 92212  func (gs GreenplumSource) AsSybaseSource() (*SybaseSource, bool) {
 92213  	return nil, false
 92214  }
 92215  
 92216  // AsPostgreSQLSource is the BasicCopySource implementation for GreenplumSource.
 92217  func (gs GreenplumSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 92218  	return nil, false
 92219  }
 92220  
 92221  // AsMySQLSource is the BasicCopySource implementation for GreenplumSource.
 92222  func (gs GreenplumSource) AsMySQLSource() (*MySQLSource, bool) {
 92223  	return nil, false
 92224  }
 92225  
 92226  // AsOdbcSource is the BasicCopySource implementation for GreenplumSource.
 92227  func (gs GreenplumSource) AsOdbcSource() (*OdbcSource, bool) {
 92228  	return nil, false
 92229  }
 92230  
 92231  // AsDb2Source is the BasicCopySource implementation for GreenplumSource.
 92232  func (gs GreenplumSource) AsDb2Source() (*Db2Source, bool) {
 92233  	return nil, false
 92234  }
 92235  
 92236  // AsInformixSource is the BasicCopySource implementation for GreenplumSource.
 92237  func (gs GreenplumSource) AsInformixSource() (*InformixSource, bool) {
 92238  	return nil, false
 92239  }
 92240  
 92241  // AsAzureTableSource is the BasicCopySource implementation for GreenplumSource.
 92242  func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) {
 92243  	return nil, false
 92244  }
 92245  
 92246  // AsTabularSource is the BasicCopySource implementation for GreenplumSource.
 92247  func (gs GreenplumSource) AsTabularSource() (*TabularSource, bool) {
 92248  	return nil, false
 92249  }
 92250  
 92251  // AsBasicTabularSource is the BasicCopySource implementation for GreenplumSource.
 92252  func (gs GreenplumSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 92253  	return &gs, true
 92254  }
 92255  
 92256  // AsBinarySource is the BasicCopySource implementation for GreenplumSource.
 92257  func (gs GreenplumSource) AsBinarySource() (*BinarySource, bool) {
 92258  	return nil, false
 92259  }
 92260  
 92261  // AsOrcSource is the BasicCopySource implementation for GreenplumSource.
 92262  func (gs GreenplumSource) AsOrcSource() (*OrcSource, bool) {
 92263  	return nil, false
 92264  }
 92265  
 92266  // AsJSONSource is the BasicCopySource implementation for GreenplumSource.
 92267  func (gs GreenplumSource) AsJSONSource() (*JSONSource, bool) {
 92268  	return nil, false
 92269  }
 92270  
 92271  // AsDelimitedTextSource is the BasicCopySource implementation for GreenplumSource.
 92272  func (gs GreenplumSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 92273  	return nil, false
 92274  }
 92275  
 92276  // AsParquetSource is the BasicCopySource implementation for GreenplumSource.
 92277  func (gs GreenplumSource) AsParquetSource() (*ParquetSource, bool) {
 92278  	return nil, false
 92279  }
 92280  
 92281  // AsAvroSource is the BasicCopySource implementation for GreenplumSource.
 92282  func (gs GreenplumSource) AsAvroSource() (*AvroSource, bool) {
 92283  	return nil, false
 92284  }
 92285  
 92286  // AsCopySource is the BasicCopySource implementation for GreenplumSource.
 92287  func (gs GreenplumSource) AsCopySource() (*CopySource, bool) {
 92288  	return nil, false
 92289  }
 92290  
 92291  // AsBasicCopySource is the BasicCopySource implementation for GreenplumSource.
 92292  func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) {
 92293  	return &gs, true
 92294  }
 92295  
 92296  // UnmarshalJSON is the custom unmarshaler for GreenplumSource struct.
 92297  func (gs *GreenplumSource) UnmarshalJSON(body []byte) error {
 92298  	var m map[string]*json.RawMessage
 92299  	err := json.Unmarshal(body, &m)
 92300  	if err != nil {
 92301  		return err
 92302  	}
 92303  	for k, v := range m {
 92304  		switch k {
 92305  		case "query":
 92306  			if v != nil {
 92307  				var query interface{}
 92308  				err = json.Unmarshal(*v, &query)
 92309  				if err != nil {
 92310  					return err
 92311  				}
 92312  				gs.Query = query
 92313  			}
 92314  		case "queryTimeout":
 92315  			if v != nil {
 92316  				var queryTimeout interface{}
 92317  				err = json.Unmarshal(*v, &queryTimeout)
 92318  				if err != nil {
 92319  					return err
 92320  				}
 92321  				gs.QueryTimeout = queryTimeout
 92322  			}
 92323  		default:
 92324  			if v != nil {
 92325  				var additionalProperties interface{}
 92326  				err = json.Unmarshal(*v, &additionalProperties)
 92327  				if err != nil {
 92328  					return err
 92329  				}
 92330  				if gs.AdditionalProperties == nil {
 92331  					gs.AdditionalProperties = make(map[string]interface{})
 92332  				}
 92333  				gs.AdditionalProperties[k] = additionalProperties
 92334  			}
 92335  		case "sourceRetryCount":
 92336  			if v != nil {
 92337  				var sourceRetryCount interface{}
 92338  				err = json.Unmarshal(*v, &sourceRetryCount)
 92339  				if err != nil {
 92340  					return err
 92341  				}
 92342  				gs.SourceRetryCount = sourceRetryCount
 92343  			}
 92344  		case "sourceRetryWait":
 92345  			if v != nil {
 92346  				var sourceRetryWait interface{}
 92347  				err = json.Unmarshal(*v, &sourceRetryWait)
 92348  				if err != nil {
 92349  					return err
 92350  				}
 92351  				gs.SourceRetryWait = sourceRetryWait
 92352  			}
 92353  		case "maxConcurrentConnections":
 92354  			if v != nil {
 92355  				var maxConcurrentConnections interface{}
 92356  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 92357  				if err != nil {
 92358  					return err
 92359  				}
 92360  				gs.MaxConcurrentConnections = maxConcurrentConnections
 92361  			}
 92362  		case "type":
 92363  			if v != nil {
 92364  				var typeVar TypeBasicCopySource
 92365  				err = json.Unmarshal(*v, &typeVar)
 92366  				if err != nil {
 92367  					return err
 92368  				}
 92369  				gs.Type = typeVar
 92370  			}
 92371  		}
 92372  	}
 92373  
 92374  	return nil
 92375  }
 92376  
 92377  // GreenplumTableDataset greenplum Database dataset.
 92378  type GreenplumTableDataset struct {
 92379  	// GreenplumDatasetTypeProperties - Properties specific to this dataset type.
 92380  	*GreenplumDatasetTypeProperties `json:"typeProperties,omitempty"`
 92381  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 92382  	AdditionalProperties map[string]interface{} `json:""`
 92383  	// Description - Dataset description.
 92384  	Description *string `json:"description,omitempty"`
 92385  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 92386  	Structure interface{} `json:"structure,omitempty"`
 92387  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 92388  	Schema interface{} `json:"schema,omitempty"`
 92389  	// LinkedServiceName - Linked service reference.
 92390  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 92391  	// Parameters - Parameters for dataset.
 92392  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 92393  	// Annotations - List of tags that can be used for describing the Dataset.
 92394  	Annotations *[]interface{} `json:"annotations,omitempty"`
 92395  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 92396  	Folder *DatasetFolder `json:"folder,omitempty"`
 92397  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 92398  	Type TypeBasicDataset `json:"type,omitempty"`
 92399  }
 92400  
 92401  // MarshalJSON is the custom marshaler for GreenplumTableDataset.
 92402  func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) {
 92403  	gtd.Type = TypeGreenplumTable
 92404  	objectMap := make(map[string]interface{})
 92405  	if gtd.GreenplumDatasetTypeProperties != nil {
 92406  		objectMap["typeProperties"] = gtd.GreenplumDatasetTypeProperties
 92407  	}
 92408  	if gtd.Description != nil {
 92409  		objectMap["description"] = gtd.Description
 92410  	}
 92411  	if gtd.Structure != nil {
 92412  		objectMap["structure"] = gtd.Structure
 92413  	}
 92414  	if gtd.Schema != nil {
 92415  		objectMap["schema"] = gtd.Schema
 92416  	}
 92417  	if gtd.LinkedServiceName != nil {
 92418  		objectMap["linkedServiceName"] = gtd.LinkedServiceName
 92419  	}
 92420  	if gtd.Parameters != nil {
 92421  		objectMap["parameters"] = gtd.Parameters
 92422  	}
 92423  	if gtd.Annotations != nil {
 92424  		objectMap["annotations"] = gtd.Annotations
 92425  	}
 92426  	if gtd.Folder != nil {
 92427  		objectMap["folder"] = gtd.Folder
 92428  	}
 92429  	if gtd.Type != "" {
 92430  		objectMap["type"] = gtd.Type
 92431  	}
 92432  	for k, v := range gtd.AdditionalProperties {
 92433  		objectMap[k] = v
 92434  	}
 92435  	return json.Marshal(objectMap)
 92436  }
 92437  
 92438  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92439  func (gtd GreenplumTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 92440  	return nil, false
 92441  }
 92442  
 92443  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92444  func (gtd GreenplumTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 92445  	return nil, false
 92446  }
 92447  
 92448  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92449  func (gtd GreenplumTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 92450  	return nil, false
 92451  }
 92452  
 92453  // AsDynamicsAXResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92454  func (gtd GreenplumTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 92455  	return nil, false
 92456  }
 92457  
 92458  // AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92459  func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 92460  	return nil, false
 92461  }
 92462  
 92463  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92464  func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 92465  	return nil, false
 92466  }
 92467  
 92468  // AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92469  func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 92470  	return nil, false
 92471  }
 92472  
 92473  // AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92474  func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 92475  	return nil, false
 92476  }
 92477  
 92478  // AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92479  func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 92480  	return nil, false
 92481  }
 92482  
 92483  // AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92484  func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 92485  	return nil, false
 92486  }
 92487  
 92488  // AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92489  func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 92490  	return nil, false
 92491  }
 92492  
 92493  // AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92494  func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 92495  	return nil, false
 92496  }
 92497  
 92498  // AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92499  func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 92500  	return nil, false
 92501  }
 92502  
 92503  // AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92504  func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 92505  	return nil, false
 92506  }
 92507  
 92508  // AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92509  func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 92510  	return nil, false
 92511  }
 92512  
 92513  // AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92514  func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 92515  	return nil, false
 92516  }
 92517  
 92518  // AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92519  func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 92520  	return nil, false
 92521  }
 92522  
 92523  // AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92524  func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 92525  	return nil, false
 92526  }
 92527  
 92528  // AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92529  func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 92530  	return nil, false
 92531  }
 92532  
 92533  // AsAzureMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92534  func (gtd GreenplumTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 92535  	return nil, false
 92536  }
 92537  
 92538  // AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92539  func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 92540  	return nil, false
 92541  }
 92542  
 92543  // AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92544  func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 92545  	return nil, false
 92546  }
 92547  
 92548  // AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92549  func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 92550  	return nil, false
 92551  }
 92552  
 92553  // AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92554  func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 92555  	return nil, false
 92556  }
 92557  
 92558  // AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92559  func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 92560  	return nil, false
 92561  }
 92562  
 92563  // AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92564  func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 92565  	return nil, false
 92566  }
 92567  
 92568  // AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92569  func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 92570  	return nil, false
 92571  }
 92572  
 92573  // AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92574  func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 92575  	return &gtd, true
 92576  }
 92577  
 92578  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92579  func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 92580  	return nil, false
 92581  }
 92582  
 92583  // AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92584  func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 92585  	return nil, false
 92586  }
 92587  
 92588  // AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92589  func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 92590  	return nil, false
 92591  }
 92592  
 92593  // AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92594  func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 92595  	return nil, false
 92596  }
 92597  
 92598  // AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92599  func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 92600  	return nil, false
 92601  }
 92602  
 92603  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92604  func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 92605  	return nil, false
 92606  }
 92607  
 92608  // AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92609  func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 92610  	return nil, false
 92611  }
 92612  
 92613  // AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset.
 92614  func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 92615  	return nil, false
 92616  }
 92617  
 92618  // AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92619  func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 92620  	return nil, false
 92621  }
 92622  
 92623  // AsSapTableResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92624  func (gtd GreenplumTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 92625  	return nil, false
 92626  }
 92627  
 92628  // AsRestResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92629  func (gtd GreenplumTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 92630  	return nil, false
 92631  }
 92632  
 92633  // AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92634  func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 92635  	return nil, false
 92636  }
 92637  
 92638  // AsSapOpenHubTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92639  func (gtd GreenplumTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 92640  	return nil, false
 92641  }
 92642  
 92643  // AsSapHanaTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92644  func (gtd GreenplumTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 92645  	return nil, false
 92646  }
 92647  
 92648  // AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92649  func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 92650  	return nil, false
 92651  }
 92652  
 92653  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92654  func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 92655  	return nil, false
 92656  }
 92657  
 92658  // AsSapBwCubeDataset is the BasicDataset implementation for GreenplumTableDataset.
 92659  func (gtd GreenplumTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 92660  	return nil, false
 92661  }
 92662  
 92663  // AsSybaseTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92664  func (gtd GreenplumTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 92665  	return nil, false
 92666  }
 92667  
 92668  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92669  func (gtd GreenplumTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 92670  	return nil, false
 92671  }
 92672  
 92673  // AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset.
 92674  func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 92675  	return nil, false
 92676  }
 92677  
 92678  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92679  func (gtd GreenplumTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 92680  	return nil, false
 92681  }
 92682  
 92683  // AsPostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92684  func (gtd GreenplumTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 92685  	return nil, false
 92686  }
 92687  
 92688  // AsMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92689  func (gtd GreenplumTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 92690  	return nil, false
 92691  }
 92692  
 92693  // AsOdbcTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92694  func (gtd GreenplumTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 92695  	return nil, false
 92696  }
 92697  
 92698  // AsInformixTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92699  func (gtd GreenplumTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 92700  	return nil, false
 92701  }
 92702  
 92703  // AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92704  func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 92705  	return nil, false
 92706  }
 92707  
 92708  // AsDb2TableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92709  func (gtd GreenplumTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 92710  	return nil, false
 92711  }
 92712  
 92713  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92714  func (gtd GreenplumTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 92715  	return nil, false
 92716  }
 92717  
 92718  // AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92719  func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 92720  	return nil, false
 92721  }
 92722  
 92723  // AsTeradataTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92724  func (gtd GreenplumTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 92725  	return nil, false
 92726  }
 92727  
 92728  // AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92729  func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 92730  	return nil, false
 92731  }
 92732  
 92733  // AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset.
 92734  func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 92735  	return nil, false
 92736  }
 92737  
 92738  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
 92739  func (gtd GreenplumTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 92740  	return nil, false
 92741  }
 92742  
 92743  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
 92744  func (gtd GreenplumTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 92745  	return nil, false
 92746  }
 92747  
 92748  // AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
 92749  func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 92750  	return nil, false
 92751  }
 92752  
 92753  // AsOffice365Dataset is the BasicDataset implementation for GreenplumTableDataset.
 92754  func (gtd GreenplumTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 92755  	return nil, false
 92756  }
 92757  
 92758  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
 92759  func (gtd GreenplumTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 92760  	return nil, false
 92761  }
 92762  
 92763  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
 92764  func (gtd GreenplumTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 92765  	return nil, false
 92766  }
 92767  
 92768  // AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset.
 92769  func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 92770  	return nil, false
 92771  }
 92772  
 92773  // AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
 92774  func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 92775  	return nil, false
 92776  }
 92777  
 92778  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset.
 92779  func (gtd GreenplumTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 92780  	return nil, false
 92781  }
 92782  
 92783  // AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset.
 92784  func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) {
 92785  	return nil, false
 92786  }
 92787  
 92788  // AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92789  func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 92790  	return nil, false
 92791  }
 92792  
 92793  // AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92794  func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 92795  	return nil, false
 92796  }
 92797  
 92798  // AsAzureSQLMITableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92799  func (gtd GreenplumTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 92800  	return nil, false
 92801  }
 92802  
 92803  // AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92804  func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 92805  	return nil, false
 92806  }
 92807  
 92808  // AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset.
 92809  func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 92810  	return nil, false
 92811  }
 92812  
 92813  // AsBinaryDataset is the BasicDataset implementation for GreenplumTableDataset.
 92814  func (gtd GreenplumTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 92815  	return nil, false
 92816  }
 92817  
 92818  // AsOrcDataset is the BasicDataset implementation for GreenplumTableDataset.
 92819  func (gtd GreenplumTableDataset) AsOrcDataset() (*OrcDataset, bool) {
 92820  	return nil, false
 92821  }
 92822  
 92823  // AsJSONDataset is the BasicDataset implementation for GreenplumTableDataset.
 92824  func (gtd GreenplumTableDataset) AsJSONDataset() (*JSONDataset, bool) {
 92825  	return nil, false
 92826  }
 92827  
 92828  // AsDelimitedTextDataset is the BasicDataset implementation for GreenplumTableDataset.
 92829  func (gtd GreenplumTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 92830  	return nil, false
 92831  }
 92832  
 92833  // AsParquetDataset is the BasicDataset implementation for GreenplumTableDataset.
 92834  func (gtd GreenplumTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
 92835  	return nil, false
 92836  }
 92837  
 92838  // AsAvroDataset is the BasicDataset implementation for GreenplumTableDataset.
 92839  func (gtd GreenplumTableDataset) AsAvroDataset() (*AvroDataset, bool) {
 92840  	return nil, false
 92841  }
 92842  
 92843  // AsDataset is the BasicDataset implementation for GreenplumTableDataset.
 92844  func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) {
 92845  	return nil, false
 92846  }
 92847  
 92848  // AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset.
 92849  func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) {
 92850  	return &gtd, true
 92851  }
 92852  
 92853  // UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct.
 92854  func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error {
 92855  	var m map[string]*json.RawMessage
 92856  	err := json.Unmarshal(body, &m)
 92857  	if err != nil {
 92858  		return err
 92859  	}
 92860  	for k, v := range m {
 92861  		switch k {
 92862  		case "typeProperties":
 92863  			if v != nil {
 92864  				var greenplumDatasetTypeProperties GreenplumDatasetTypeProperties
 92865  				err = json.Unmarshal(*v, &greenplumDatasetTypeProperties)
 92866  				if err != nil {
 92867  					return err
 92868  				}
 92869  				gtd.GreenplumDatasetTypeProperties = &greenplumDatasetTypeProperties
 92870  			}
 92871  		default:
 92872  			if v != nil {
 92873  				var additionalProperties interface{}
 92874  				err = json.Unmarshal(*v, &additionalProperties)
 92875  				if err != nil {
 92876  					return err
 92877  				}
 92878  				if gtd.AdditionalProperties == nil {
 92879  					gtd.AdditionalProperties = make(map[string]interface{})
 92880  				}
 92881  				gtd.AdditionalProperties[k] = additionalProperties
 92882  			}
 92883  		case "description":
 92884  			if v != nil {
 92885  				var description string
 92886  				err = json.Unmarshal(*v, &description)
 92887  				if err != nil {
 92888  					return err
 92889  				}
 92890  				gtd.Description = &description
 92891  			}
 92892  		case "structure":
 92893  			if v != nil {
 92894  				var structure interface{}
 92895  				err = json.Unmarshal(*v, &structure)
 92896  				if err != nil {
 92897  					return err
 92898  				}
 92899  				gtd.Structure = structure
 92900  			}
 92901  		case "schema":
 92902  			if v != nil {
 92903  				var schema interface{}
 92904  				err = json.Unmarshal(*v, &schema)
 92905  				if err != nil {
 92906  					return err
 92907  				}
 92908  				gtd.Schema = schema
 92909  			}
 92910  		case "linkedServiceName":
 92911  			if v != nil {
 92912  				var linkedServiceName LinkedServiceReference
 92913  				err = json.Unmarshal(*v, &linkedServiceName)
 92914  				if err != nil {
 92915  					return err
 92916  				}
 92917  				gtd.LinkedServiceName = &linkedServiceName
 92918  			}
 92919  		case "parameters":
 92920  			if v != nil {
 92921  				var parameters map[string]*ParameterSpecification
 92922  				err = json.Unmarshal(*v, &parameters)
 92923  				if err != nil {
 92924  					return err
 92925  				}
 92926  				gtd.Parameters = parameters
 92927  			}
 92928  		case "annotations":
 92929  			if v != nil {
 92930  				var annotations []interface{}
 92931  				err = json.Unmarshal(*v, &annotations)
 92932  				if err != nil {
 92933  					return err
 92934  				}
 92935  				gtd.Annotations = &annotations
 92936  			}
 92937  		case "folder":
 92938  			if v != nil {
 92939  				var folder DatasetFolder
 92940  				err = json.Unmarshal(*v, &folder)
 92941  				if err != nil {
 92942  					return err
 92943  				}
 92944  				gtd.Folder = &folder
 92945  			}
 92946  		case "type":
 92947  			if v != nil {
 92948  				var typeVar TypeBasicDataset
 92949  				err = json.Unmarshal(*v, &typeVar)
 92950  				if err != nil {
 92951  					return err
 92952  				}
 92953  				gtd.Type = typeVar
 92954  			}
 92955  		}
 92956  	}
 92957  
 92958  	return nil
 92959  }
 92960  
 92961  // HBaseLinkedService hBase server linked service.
 92962  type HBaseLinkedService struct {
 92963  	// HBaseLinkedServiceTypeProperties - HBase server linked service properties.
 92964  	*HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 92965  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 92966  	AdditionalProperties map[string]interface{} `json:""`
 92967  	// ConnectVia - The integration runtime reference.
 92968  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 92969  	// Description - Linked service description.
 92970  	Description *string `json:"description,omitempty"`
 92971  	// Parameters - Parameters for linked service.
 92972  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 92973  	// Annotations - List of tags that can be used for describing the linked service.
 92974  	Annotations *[]interface{} `json:"annotations,omitempty"`
 92975  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 92976  	Type TypeBasicLinkedService `json:"type,omitempty"`
 92977  }
 92978  
 92979  // MarshalJSON is the custom marshaler for HBaseLinkedService.
 92980  func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) {
 92981  	hbls.Type = TypeHBase
 92982  	objectMap := make(map[string]interface{})
 92983  	if hbls.HBaseLinkedServiceTypeProperties != nil {
 92984  		objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties
 92985  	}
 92986  	if hbls.ConnectVia != nil {
 92987  		objectMap["connectVia"] = hbls.ConnectVia
 92988  	}
 92989  	if hbls.Description != nil {
 92990  		objectMap["description"] = hbls.Description
 92991  	}
 92992  	if hbls.Parameters != nil {
 92993  		objectMap["parameters"] = hbls.Parameters
 92994  	}
 92995  	if hbls.Annotations != nil {
 92996  		objectMap["annotations"] = hbls.Annotations
 92997  	}
 92998  	if hbls.Type != "" {
 92999  		objectMap["type"] = hbls.Type
 93000  	}
 93001  	for k, v := range hbls.AdditionalProperties {
 93002  		objectMap[k] = v
 93003  	}
 93004  	return json.Marshal(objectMap)
 93005  }
 93006  
 93007  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93008  func (hbls HBaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 93009  	return nil, false
 93010  }
 93011  
 93012  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93013  func (hbls HBaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 93014  	return nil, false
 93015  }
 93016  
 93017  // AsSapTableLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93018  func (hbls HBaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 93019  	return nil, false
 93020  }
 93021  
 93022  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93023  func (hbls HBaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 93024  	return nil, false
 93025  }
 93026  
 93027  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93028  func (hbls HBaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 93029  	return nil, false
 93030  }
 93031  
 93032  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93033  func (hbls HBaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 93034  	return nil, false
 93035  }
 93036  
 93037  // AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93038  func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 93039  	return nil, false
 93040  }
 93041  
 93042  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93043  func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 93044  	return nil, false
 93045  }
 93046  
 93047  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93048  func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 93049  	return nil, false
 93050  }
 93051  
 93052  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93053  func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 93054  	return nil, false
 93055  }
 93056  
 93057  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93058  func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 93059  	return nil, false
 93060  }
 93061  
 93062  // AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93063  func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 93064  	return nil, false
 93065  }
 93066  
 93067  // AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93068  func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 93069  	return nil, false
 93070  }
 93071  
 93072  // AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93073  func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 93074  	return nil, false
 93075  }
 93076  
 93077  // AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93078  func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 93079  	return nil, false
 93080  }
 93081  
 93082  // AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93083  func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 93084  	return nil, false
 93085  }
 93086  
 93087  // AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93088  func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 93089  	return nil, false
 93090  }
 93091  
 93092  // AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93093  func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 93094  	return nil, false
 93095  }
 93096  
 93097  // AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93098  func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 93099  	return nil, false
 93100  }
 93101  
 93102  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93103  func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 93104  	return nil, false
 93105  }
 93106  
 93107  // AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93108  func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 93109  	return nil, false
 93110  }
 93111  
 93112  // AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93113  func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 93114  	return nil, false
 93115  }
 93116  
 93117  // AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93118  func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 93119  	return nil, false
 93120  }
 93121  
 93122  // AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93123  func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 93124  	return nil, false
 93125  }
 93126  
 93127  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93128  func (hbls HBaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 93129  	return nil, false
 93130  }
 93131  
 93132  // AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93133  func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 93134  	return nil, false
 93135  }
 93136  
 93137  // AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93138  func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 93139  	return nil, false
 93140  }
 93141  
 93142  // AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93143  func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 93144  	return nil, false
 93145  }
 93146  
 93147  // AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93148  func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 93149  	return nil, false
 93150  }
 93151  
 93152  // AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93153  func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 93154  	return nil, false
 93155  }
 93156  
 93157  // AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93158  func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 93159  	return nil, false
 93160  }
 93161  
 93162  // AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93163  func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 93164  	return &hbls, true
 93165  }
 93166  
 93167  // AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93168  func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 93169  	return nil, false
 93170  }
 93171  
 93172  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93173  func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 93174  	return nil, false
 93175  }
 93176  
 93177  // AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93178  func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 93179  	return nil, false
 93180  }
 93181  
 93182  // AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93183  func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 93184  	return nil, false
 93185  }
 93186  
 93187  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93188  func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 93189  	return nil, false
 93190  }
 93191  
 93192  // AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93193  func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 93194  	return nil, false
 93195  }
 93196  
 93197  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93198  func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 93199  	return nil, false
 93200  }
 93201  
 93202  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93203  func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 93204  	return nil, false
 93205  }
 93206  
 93207  // AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93208  func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 93209  	return nil, false
 93210  }
 93211  
 93212  // AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93213  func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 93214  	return nil, false
 93215  }
 93216  
 93217  // AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93218  func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 93219  	return nil, false
 93220  }
 93221  
 93222  // AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93223  func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 93224  	return nil, false
 93225  }
 93226  
 93227  // AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93228  func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 93229  	return nil, false
 93230  }
 93231  
 93232  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93233  func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 93234  	return nil, false
 93235  }
 93236  
 93237  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93238  func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 93239  	return nil, false
 93240  }
 93241  
 93242  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93243  func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 93244  	return nil, false
 93245  }
 93246  
 93247  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93248  func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 93249  	return nil, false
 93250  }
 93251  
 93252  // AsRestServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93253  func (hbls HBaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 93254  	return nil, false
 93255  }
 93256  
 93257  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93258  func (hbls HBaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 93259  	return nil, false
 93260  }
 93261  
 93262  // AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93263  func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 93264  	return nil, false
 93265  }
 93266  
 93267  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93268  func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 93269  	return nil, false
 93270  }
 93271  
 93272  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93273  func (hbls HBaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 93274  	return nil, false
 93275  }
 93276  
 93277  // AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93278  func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 93279  	return nil, false
 93280  }
 93281  
 93282  // AsOffice365LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93283  func (hbls HBaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 93284  	return nil, false
 93285  }
 93286  
 93287  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93288  func (hbls HBaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 93289  	return nil, false
 93290  }
 93291  
 93292  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93293  func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 93294  	return nil, false
 93295  }
 93296  
 93297  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93298  func (hbls HBaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 93299  	return nil, false
 93300  }
 93301  
 93302  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93303  func (hbls HBaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 93304  	return nil, false
 93305  }
 93306  
 93307  // AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93308  func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 93309  	return nil, false
 93310  }
 93311  
 93312  // AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93313  func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 93314  	return nil, false
 93315  }
 93316  
 93317  // AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93318  func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 93319  	return nil, false
 93320  }
 93321  
 93322  // AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93323  func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 93324  	return nil, false
 93325  }
 93326  
 93327  // AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93328  func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 93329  	return nil, false
 93330  }
 93331  
 93332  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93333  func (hbls HBaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 93334  	return nil, false
 93335  }
 93336  
 93337  // AsInformixLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93338  func (hbls HBaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 93339  	return nil, false
 93340  }
 93341  
 93342  // AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93343  func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 93344  	return nil, false
 93345  }
 93346  
 93347  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93348  func (hbls HBaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 93349  	return nil, false
 93350  }
 93351  
 93352  // AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93353  func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 93354  	return nil, false
 93355  }
 93356  
 93357  // AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93358  func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 93359  	return nil, false
 93360  }
 93361  
 93362  // AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93363  func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 93364  	return nil, false
 93365  }
 93366  
 93367  // AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93368  func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 93369  	return nil, false
 93370  }
 93371  
 93372  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93373  func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 93374  	return nil, false
 93375  }
 93376  
 93377  // AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93378  func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 93379  	return nil, false
 93380  }
 93381  
 93382  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93383  func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 93384  	return nil, false
 93385  }
 93386  
 93387  // AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93388  func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 93389  	return nil, false
 93390  }
 93391  
 93392  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93393  func (hbls HBaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 93394  	return nil, false
 93395  }
 93396  
 93397  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93398  func (hbls HBaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 93399  	return nil, false
 93400  }
 93401  
 93402  // AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93403  func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 93404  	return nil, false
 93405  }
 93406  
 93407  // AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93408  func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 93409  	return nil, false
 93410  }
 93411  
 93412  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93413  func (hbls HBaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 93414  	return nil, false
 93415  }
 93416  
 93417  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93418  func (hbls HBaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 93419  	return nil, false
 93420  }
 93421  
 93422  // AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93423  func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 93424  	return nil, false
 93425  }
 93426  
 93427  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93428  func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 93429  	return nil, false
 93430  }
 93431  
 93432  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93433  func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 93434  	return nil, false
 93435  }
 93436  
 93437  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93438  func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 93439  	return nil, false
 93440  }
 93441  
 93442  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93443  func (hbls HBaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 93444  	return nil, false
 93445  }
 93446  
 93447  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93448  func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 93449  	return nil, false
 93450  }
 93451  
 93452  // AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93453  func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 93454  	return nil, false
 93455  }
 93456  
 93457  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93458  func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 93459  	return nil, false
 93460  }
 93461  
 93462  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93463  func (hbls HBaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 93464  	return nil, false
 93465  }
 93466  
 93467  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93468  func (hbls HBaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 93469  	return nil, false
 93470  }
 93471  
 93472  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93473  func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 93474  	return nil, false
 93475  }
 93476  
 93477  // AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93478  func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) {
 93479  	return nil, false
 93480  }
 93481  
 93482  // AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService.
 93483  func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 93484  	return &hbls, true
 93485  }
 93486  
 93487  // UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct.
 93488  func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error {
 93489  	var m map[string]*json.RawMessage
 93490  	err := json.Unmarshal(body, &m)
 93491  	if err != nil {
 93492  		return err
 93493  	}
 93494  	for k, v := range m {
 93495  		switch k {
 93496  		case "typeProperties":
 93497  			if v != nil {
 93498  				var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties
 93499  				err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties)
 93500  				if err != nil {
 93501  					return err
 93502  				}
 93503  				hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties
 93504  			}
 93505  		default:
 93506  			if v != nil {
 93507  				var additionalProperties interface{}
 93508  				err = json.Unmarshal(*v, &additionalProperties)
 93509  				if err != nil {
 93510  					return err
 93511  				}
 93512  				if hbls.AdditionalProperties == nil {
 93513  					hbls.AdditionalProperties = make(map[string]interface{})
 93514  				}
 93515  				hbls.AdditionalProperties[k] = additionalProperties
 93516  			}
 93517  		case "connectVia":
 93518  			if v != nil {
 93519  				var connectVia IntegrationRuntimeReference
 93520  				err = json.Unmarshal(*v, &connectVia)
 93521  				if err != nil {
 93522  					return err
 93523  				}
 93524  				hbls.ConnectVia = &connectVia
 93525  			}
 93526  		case "description":
 93527  			if v != nil {
 93528  				var description string
 93529  				err = json.Unmarshal(*v, &description)
 93530  				if err != nil {
 93531  					return err
 93532  				}
 93533  				hbls.Description = &description
 93534  			}
 93535  		case "parameters":
 93536  			if v != nil {
 93537  				var parameters map[string]*ParameterSpecification
 93538  				err = json.Unmarshal(*v, &parameters)
 93539  				if err != nil {
 93540  					return err
 93541  				}
 93542  				hbls.Parameters = parameters
 93543  			}
 93544  		case "annotations":
 93545  			if v != nil {
 93546  				var annotations []interface{}
 93547  				err = json.Unmarshal(*v, &annotations)
 93548  				if err != nil {
 93549  					return err
 93550  				}
 93551  				hbls.Annotations = &annotations
 93552  			}
 93553  		case "type":
 93554  			if v != nil {
 93555  				var typeVar TypeBasicLinkedService
 93556  				err = json.Unmarshal(*v, &typeVar)
 93557  				if err != nil {
 93558  					return err
 93559  				}
 93560  				hbls.Type = typeVar
 93561  			}
 93562  		}
 93563  	}
 93564  
 93565  	return nil
 93566  }
 93567  
 93568  // HBaseLinkedServiceTypeProperties hBase server linked service properties.
 93569  type HBaseLinkedServiceTypeProperties struct {
 93570  	// Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160)
 93571  	Host interface{} `json:"host,omitempty"`
 93572  	// Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.
 93573  	Port interface{} `json:"port,omitempty"`
 93574  	// HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)
 93575  	HTTPPath interface{} `json:"httpPath,omitempty"`
 93576  	// AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic'
 93577  	AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"`
 93578  	// Username - The user name used to connect to the HBase instance.
 93579  	Username interface{} `json:"username,omitempty"`
 93580  	// Password - The password corresponding to the user name.
 93581  	Password BasicSecretBase `json:"password,omitempty"`
 93582  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
 93583  	EnableSsl interface{} `json:"enableSsl,omitempty"`
 93584  	// 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.
 93585  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
 93586  	// 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.
 93587  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
 93588  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
 93589  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
 93590  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 93591  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 93592  }
 93593  
 93594  // UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct.
 93595  func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 93596  	var m map[string]*json.RawMessage
 93597  	err := json.Unmarshal(body, &m)
 93598  	if err != nil {
 93599  		return err
 93600  	}
 93601  	for k, v := range m {
 93602  		switch k {
 93603  		case "host":
 93604  			if v != nil {
 93605  				var host interface{}
 93606  				err = json.Unmarshal(*v, &host)
 93607  				if err != nil {
 93608  					return err
 93609  				}
 93610  				hblstp.Host = host
 93611  			}
 93612  		case "port":
 93613  			if v != nil {
 93614  				var port interface{}
 93615  				err = json.Unmarshal(*v, &port)
 93616  				if err != nil {
 93617  					return err
 93618  				}
 93619  				hblstp.Port = port
 93620  			}
 93621  		case "httpPath":
 93622  			if v != nil {
 93623  				var HTTPPath interface{}
 93624  				err = json.Unmarshal(*v, &HTTPPath)
 93625  				if err != nil {
 93626  					return err
 93627  				}
 93628  				hblstp.HTTPPath = HTTPPath
 93629  			}
 93630  		case "authenticationType":
 93631  			if v != nil {
 93632  				var authenticationType HBaseAuthenticationType
 93633  				err = json.Unmarshal(*v, &authenticationType)
 93634  				if err != nil {
 93635  					return err
 93636  				}
 93637  				hblstp.AuthenticationType = authenticationType
 93638  			}
 93639  		case "username":
 93640  			if v != nil {
 93641  				var username interface{}
 93642  				err = json.Unmarshal(*v, &username)
 93643  				if err != nil {
 93644  					return err
 93645  				}
 93646  				hblstp.Username = username
 93647  			}
 93648  		case "password":
 93649  			if v != nil {
 93650  				password, err := unmarshalBasicSecretBase(*v)
 93651  				if err != nil {
 93652  					return err
 93653  				}
 93654  				hblstp.Password = password
 93655  			}
 93656  		case "enableSsl":
 93657  			if v != nil {
 93658  				var enableSsl interface{}
 93659  				err = json.Unmarshal(*v, &enableSsl)
 93660  				if err != nil {
 93661  					return err
 93662  				}
 93663  				hblstp.EnableSsl = enableSsl
 93664  			}
 93665  		case "trustedCertPath":
 93666  			if v != nil {
 93667  				var trustedCertPath interface{}
 93668  				err = json.Unmarshal(*v, &trustedCertPath)
 93669  				if err != nil {
 93670  					return err
 93671  				}
 93672  				hblstp.TrustedCertPath = trustedCertPath
 93673  			}
 93674  		case "allowHostNameCNMismatch":
 93675  			if v != nil {
 93676  				var allowHostNameCNMismatch interface{}
 93677  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
 93678  				if err != nil {
 93679  					return err
 93680  				}
 93681  				hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
 93682  			}
 93683  		case "allowSelfSignedServerCert":
 93684  			if v != nil {
 93685  				var allowSelfSignedServerCert interface{}
 93686  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
 93687  				if err != nil {
 93688  					return err
 93689  				}
 93690  				hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
 93691  			}
 93692  		case "encryptedCredential":
 93693  			if v != nil {
 93694  				var encryptedCredential interface{}
 93695  				err = json.Unmarshal(*v, &encryptedCredential)
 93696  				if err != nil {
 93697  					return err
 93698  				}
 93699  				hblstp.EncryptedCredential = encryptedCredential
 93700  			}
 93701  		}
 93702  	}
 93703  
 93704  	return nil
 93705  }
 93706  
 93707  // HBaseObjectDataset hBase server dataset.
 93708  type HBaseObjectDataset struct {
 93709  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
 93710  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
 93711  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 93712  	AdditionalProperties map[string]interface{} `json:""`
 93713  	// Description - Dataset description.
 93714  	Description *string `json:"description,omitempty"`
 93715  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
 93716  	Structure interface{} `json:"structure,omitempty"`
 93717  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
 93718  	Schema interface{} `json:"schema,omitempty"`
 93719  	// LinkedServiceName - Linked service reference.
 93720  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 93721  	// Parameters - Parameters for dataset.
 93722  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 93723  	// Annotations - List of tags that can be used for describing the Dataset.
 93724  	Annotations *[]interface{} `json:"annotations,omitempty"`
 93725  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
 93726  	Folder *DatasetFolder `json:"folder,omitempty"`
 93727  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
 93728  	Type TypeBasicDataset `json:"type,omitempty"`
 93729  }
 93730  
 93731  // MarshalJSON is the custom marshaler for HBaseObjectDataset.
 93732  func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) {
 93733  	hbod.Type = TypeHBaseObject
 93734  	objectMap := make(map[string]interface{})
 93735  	if hbod.GenericDatasetTypeProperties != nil {
 93736  		objectMap["typeProperties"] = hbod.GenericDatasetTypeProperties
 93737  	}
 93738  	if hbod.Description != nil {
 93739  		objectMap["description"] = hbod.Description
 93740  	}
 93741  	if hbod.Structure != nil {
 93742  		objectMap["structure"] = hbod.Structure
 93743  	}
 93744  	if hbod.Schema != nil {
 93745  		objectMap["schema"] = hbod.Schema
 93746  	}
 93747  	if hbod.LinkedServiceName != nil {
 93748  		objectMap["linkedServiceName"] = hbod.LinkedServiceName
 93749  	}
 93750  	if hbod.Parameters != nil {
 93751  		objectMap["parameters"] = hbod.Parameters
 93752  	}
 93753  	if hbod.Annotations != nil {
 93754  		objectMap["annotations"] = hbod.Annotations
 93755  	}
 93756  	if hbod.Folder != nil {
 93757  		objectMap["folder"] = hbod.Folder
 93758  	}
 93759  	if hbod.Type != "" {
 93760  		objectMap["type"] = hbod.Type
 93761  	}
 93762  	for k, v := range hbod.AdditionalProperties {
 93763  		objectMap[k] = v
 93764  	}
 93765  	return json.Marshal(objectMap)
 93766  }
 93767  
 93768  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93769  func (hbod HBaseObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
 93770  	return nil, false
 93771  }
 93772  
 93773  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93774  func (hbod HBaseObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
 93775  	return nil, false
 93776  }
 93777  
 93778  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93779  func (hbod HBaseObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
 93780  	return nil, false
 93781  }
 93782  
 93783  // AsDynamicsAXResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 93784  func (hbod HBaseObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
 93785  	return nil, false
 93786  }
 93787  
 93788  // AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93789  func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
 93790  	return nil, false
 93791  }
 93792  
 93793  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93794  func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
 93795  	return nil, false
 93796  }
 93797  
 93798  // AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93799  func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
 93800  	return nil, false
 93801  }
 93802  
 93803  // AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93804  func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
 93805  	return nil, false
 93806  }
 93807  
 93808  // AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93809  func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
 93810  	return nil, false
 93811  }
 93812  
 93813  // AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93814  func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
 93815  	return nil, false
 93816  }
 93817  
 93818  // AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93819  func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
 93820  	return nil, false
 93821  }
 93822  
 93823  // AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93824  func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
 93825  	return nil, false
 93826  }
 93827  
 93828  // AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93829  func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
 93830  	return nil, false
 93831  }
 93832  
 93833  // AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93834  func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
 93835  	return nil, false
 93836  }
 93837  
 93838  // AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93839  func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
 93840  	return nil, false
 93841  }
 93842  
 93843  // AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93844  func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
 93845  	return nil, false
 93846  }
 93847  
 93848  // AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93849  func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
 93850  	return nil, false
 93851  }
 93852  
 93853  // AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93854  func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
 93855  	return nil, false
 93856  }
 93857  
 93858  // AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93859  func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
 93860  	return nil, false
 93861  }
 93862  
 93863  // AsAzureMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93864  func (hbod HBaseObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
 93865  	return nil, false
 93866  }
 93867  
 93868  // AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93869  func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
 93870  	return nil, false
 93871  }
 93872  
 93873  // AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93874  func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
 93875  	return nil, false
 93876  }
 93877  
 93878  // AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93879  func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
 93880  	return nil, false
 93881  }
 93882  
 93883  // AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93884  func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
 93885  	return nil, false
 93886  }
 93887  
 93888  // AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93889  func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
 93890  	return nil, false
 93891  }
 93892  
 93893  // AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93894  func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
 93895  	return nil, false
 93896  }
 93897  
 93898  // AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93899  func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
 93900  	return &hbod, true
 93901  }
 93902  
 93903  // AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93904  func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
 93905  	return nil, false
 93906  }
 93907  
 93908  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93909  func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
 93910  	return nil, false
 93911  }
 93912  
 93913  // AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93914  func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
 93915  	return nil, false
 93916  }
 93917  
 93918  // AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93919  func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
 93920  	return nil, false
 93921  }
 93922  
 93923  // AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93924  func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
 93925  	return nil, false
 93926  }
 93927  
 93928  // AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93929  func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
 93930  	return nil, false
 93931  }
 93932  
 93933  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93934  func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
 93935  	return nil, false
 93936  }
 93937  
 93938  // AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93939  func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
 93940  	return nil, false
 93941  }
 93942  
 93943  // AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset.
 93944  func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
 93945  	return nil, false
 93946  }
 93947  
 93948  // AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93949  func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
 93950  	return nil, false
 93951  }
 93952  
 93953  // AsSapTableResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 93954  func (hbod HBaseObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
 93955  	return nil, false
 93956  }
 93957  
 93958  // AsRestResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 93959  func (hbod HBaseObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
 93960  	return nil, false
 93961  }
 93962  
 93963  // AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93964  func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
 93965  	return nil, false
 93966  }
 93967  
 93968  // AsSapOpenHubTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93969  func (hbod HBaseObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
 93970  	return nil, false
 93971  }
 93972  
 93973  // AsSapHanaTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93974  func (hbod HBaseObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
 93975  	return nil, false
 93976  }
 93977  
 93978  // AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 93979  func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
 93980  	return nil, false
 93981  }
 93982  
 93983  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 93984  func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
 93985  	return nil, false
 93986  }
 93987  
 93988  // AsSapBwCubeDataset is the BasicDataset implementation for HBaseObjectDataset.
 93989  func (hbod HBaseObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
 93990  	return nil, false
 93991  }
 93992  
 93993  // AsSybaseTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 93994  func (hbod HBaseObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
 93995  	return nil, false
 93996  }
 93997  
 93998  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 93999  func (hbod HBaseObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
 94000  	return nil, false
 94001  }
 94002  
 94003  // AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset.
 94004  func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
 94005  	return nil, false
 94006  }
 94007  
 94008  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94009  func (hbod HBaseObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
 94010  	return nil, false
 94011  }
 94012  
 94013  // AsPostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94014  func (hbod HBaseObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
 94015  	return nil, false
 94016  }
 94017  
 94018  // AsMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94019  func (hbod HBaseObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
 94020  	return nil, false
 94021  }
 94022  
 94023  // AsOdbcTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94024  func (hbod HBaseObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
 94025  	return nil, false
 94026  }
 94027  
 94028  // AsInformixTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94029  func (hbod HBaseObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
 94030  	return nil, false
 94031  }
 94032  
 94033  // AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94034  func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
 94035  	return nil, false
 94036  }
 94037  
 94038  // AsDb2TableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94039  func (hbod HBaseObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
 94040  	return nil, false
 94041  }
 94042  
 94043  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94044  func (hbod HBaseObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
 94045  	return nil, false
 94046  }
 94047  
 94048  // AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94049  func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
 94050  	return nil, false
 94051  }
 94052  
 94053  // AsTeradataTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94054  func (hbod HBaseObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
 94055  	return nil, false
 94056  }
 94057  
 94058  // AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94059  func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
 94060  	return nil, false
 94061  }
 94062  
 94063  // AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset.
 94064  func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
 94065  	return nil, false
 94066  }
 94067  
 94068  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
 94069  func (hbod HBaseObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
 94070  	return nil, false
 94071  }
 94072  
 94073  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
 94074  func (hbod HBaseObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
 94075  	return nil, false
 94076  }
 94077  
 94078  // AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
 94079  func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
 94080  	return nil, false
 94081  }
 94082  
 94083  // AsOffice365Dataset is the BasicDataset implementation for HBaseObjectDataset.
 94084  func (hbod HBaseObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
 94085  	return nil, false
 94086  }
 94087  
 94088  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
 94089  func (hbod HBaseObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
 94090  	return nil, false
 94091  }
 94092  
 94093  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
 94094  func (hbod HBaseObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
 94095  	return nil, false
 94096  }
 94097  
 94098  // AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset.
 94099  func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
 94100  	return nil, false
 94101  }
 94102  
 94103  // AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
 94104  func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
 94105  	return nil, false
 94106  }
 94107  
 94108  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset.
 94109  func (hbod HBaseObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
 94110  	return nil, false
 94111  }
 94112  
 94113  // AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset.
 94114  func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
 94115  	return nil, false
 94116  }
 94117  
 94118  // AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94119  func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
 94120  	return nil, false
 94121  }
 94122  
 94123  // AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94124  func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
 94125  	return nil, false
 94126  }
 94127  
 94128  // AsAzureSQLMITableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94129  func (hbod HBaseObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
 94130  	return nil, false
 94131  }
 94132  
 94133  // AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94134  func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
 94135  	return nil, false
 94136  }
 94137  
 94138  // AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset.
 94139  func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
 94140  	return nil, false
 94141  }
 94142  
 94143  // AsBinaryDataset is the BasicDataset implementation for HBaseObjectDataset.
 94144  func (hbod HBaseObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
 94145  	return nil, false
 94146  }
 94147  
 94148  // AsOrcDataset is the BasicDataset implementation for HBaseObjectDataset.
 94149  func (hbod HBaseObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
 94150  	return nil, false
 94151  }
 94152  
 94153  // AsJSONDataset is the BasicDataset implementation for HBaseObjectDataset.
 94154  func (hbod HBaseObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
 94155  	return nil, false
 94156  }
 94157  
 94158  // AsDelimitedTextDataset is the BasicDataset implementation for HBaseObjectDataset.
 94159  func (hbod HBaseObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
 94160  	return nil, false
 94161  }
 94162  
 94163  // AsParquetDataset is the BasicDataset implementation for HBaseObjectDataset.
 94164  func (hbod HBaseObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
 94165  	return nil, false
 94166  }
 94167  
 94168  // AsAvroDataset is the BasicDataset implementation for HBaseObjectDataset.
 94169  func (hbod HBaseObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
 94170  	return nil, false
 94171  }
 94172  
 94173  // AsDataset is the BasicDataset implementation for HBaseObjectDataset.
 94174  func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) {
 94175  	return nil, false
 94176  }
 94177  
 94178  // AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset.
 94179  func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) {
 94180  	return &hbod, true
 94181  }
 94182  
 94183  // UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct.
 94184  func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error {
 94185  	var m map[string]*json.RawMessage
 94186  	err := json.Unmarshal(body, &m)
 94187  	if err != nil {
 94188  		return err
 94189  	}
 94190  	for k, v := range m {
 94191  		switch k {
 94192  		case "typeProperties":
 94193  			if v != nil {
 94194  				var genericDatasetTypeProperties GenericDatasetTypeProperties
 94195  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
 94196  				if err != nil {
 94197  					return err
 94198  				}
 94199  				hbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
 94200  			}
 94201  		default:
 94202  			if v != nil {
 94203  				var additionalProperties interface{}
 94204  				err = json.Unmarshal(*v, &additionalProperties)
 94205  				if err != nil {
 94206  					return err
 94207  				}
 94208  				if hbod.AdditionalProperties == nil {
 94209  					hbod.AdditionalProperties = make(map[string]interface{})
 94210  				}
 94211  				hbod.AdditionalProperties[k] = additionalProperties
 94212  			}
 94213  		case "description":
 94214  			if v != nil {
 94215  				var description string
 94216  				err = json.Unmarshal(*v, &description)
 94217  				if err != nil {
 94218  					return err
 94219  				}
 94220  				hbod.Description = &description
 94221  			}
 94222  		case "structure":
 94223  			if v != nil {
 94224  				var structure interface{}
 94225  				err = json.Unmarshal(*v, &structure)
 94226  				if err != nil {
 94227  					return err
 94228  				}
 94229  				hbod.Structure = structure
 94230  			}
 94231  		case "schema":
 94232  			if v != nil {
 94233  				var schema interface{}
 94234  				err = json.Unmarshal(*v, &schema)
 94235  				if err != nil {
 94236  					return err
 94237  				}
 94238  				hbod.Schema = schema
 94239  			}
 94240  		case "linkedServiceName":
 94241  			if v != nil {
 94242  				var linkedServiceName LinkedServiceReference
 94243  				err = json.Unmarshal(*v, &linkedServiceName)
 94244  				if err != nil {
 94245  					return err
 94246  				}
 94247  				hbod.LinkedServiceName = &linkedServiceName
 94248  			}
 94249  		case "parameters":
 94250  			if v != nil {
 94251  				var parameters map[string]*ParameterSpecification
 94252  				err = json.Unmarshal(*v, &parameters)
 94253  				if err != nil {
 94254  					return err
 94255  				}
 94256  				hbod.Parameters = parameters
 94257  			}
 94258  		case "annotations":
 94259  			if v != nil {
 94260  				var annotations []interface{}
 94261  				err = json.Unmarshal(*v, &annotations)
 94262  				if err != nil {
 94263  					return err
 94264  				}
 94265  				hbod.Annotations = &annotations
 94266  			}
 94267  		case "folder":
 94268  			if v != nil {
 94269  				var folder DatasetFolder
 94270  				err = json.Unmarshal(*v, &folder)
 94271  				if err != nil {
 94272  					return err
 94273  				}
 94274  				hbod.Folder = &folder
 94275  			}
 94276  		case "type":
 94277  			if v != nil {
 94278  				var typeVar TypeBasicDataset
 94279  				err = json.Unmarshal(*v, &typeVar)
 94280  				if err != nil {
 94281  					return err
 94282  				}
 94283  				hbod.Type = typeVar
 94284  			}
 94285  		}
 94286  	}
 94287  
 94288  	return nil
 94289  }
 94290  
 94291  // HBaseSource a copy activity HBase server source.
 94292  type HBaseSource struct {
 94293  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
 94294  	Query interface{} `json:"query,omitempty"`
 94295  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
 94296  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
 94297  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 94298  	AdditionalProperties map[string]interface{} `json:""`
 94299  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 94300  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 94301  	// 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])).
 94302  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 94303  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 94304  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 94305  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 94306  	Type TypeBasicCopySource `json:"type,omitempty"`
 94307  }
 94308  
 94309  // MarshalJSON is the custom marshaler for HBaseSource.
 94310  func (hbs HBaseSource) MarshalJSON() ([]byte, error) {
 94311  	hbs.Type = TypeHBaseSource
 94312  	objectMap := make(map[string]interface{})
 94313  	if hbs.Query != nil {
 94314  		objectMap["query"] = hbs.Query
 94315  	}
 94316  	if hbs.QueryTimeout != nil {
 94317  		objectMap["queryTimeout"] = hbs.QueryTimeout
 94318  	}
 94319  	if hbs.SourceRetryCount != nil {
 94320  		objectMap["sourceRetryCount"] = hbs.SourceRetryCount
 94321  	}
 94322  	if hbs.SourceRetryWait != nil {
 94323  		objectMap["sourceRetryWait"] = hbs.SourceRetryWait
 94324  	}
 94325  	if hbs.MaxConcurrentConnections != nil {
 94326  		objectMap["maxConcurrentConnections"] = hbs.MaxConcurrentConnections
 94327  	}
 94328  	if hbs.Type != "" {
 94329  		objectMap["type"] = hbs.Type
 94330  	}
 94331  	for k, v := range hbs.AdditionalProperties {
 94332  		objectMap[k] = v
 94333  	}
 94334  	return json.Marshal(objectMap)
 94335  }
 94336  
 94337  // AsHTTPSource is the BasicCopySource implementation for HBaseSource.
 94338  func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) {
 94339  	return nil, false
 94340  }
 94341  
 94342  // AsAzureBlobFSSource is the BasicCopySource implementation for HBaseSource.
 94343  func (hbs HBaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 94344  	return nil, false
 94345  }
 94346  
 94347  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource.
 94348  func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 94349  	return nil, false
 94350  }
 94351  
 94352  // AsOffice365Source is the BasicCopySource implementation for HBaseSource.
 94353  func (hbs HBaseSource) AsOffice365Source() (*Office365Source, bool) {
 94354  	return nil, false
 94355  }
 94356  
 94357  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HBaseSource.
 94358  func (hbs HBaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 94359  	return nil, false
 94360  }
 94361  
 94362  // AsMongoDbV2Source is the BasicCopySource implementation for HBaseSource.
 94363  func (hbs HBaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 94364  	return nil, false
 94365  }
 94366  
 94367  // AsMongoDbSource is the BasicCopySource implementation for HBaseSource.
 94368  func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
 94369  	return nil, false
 94370  }
 94371  
 94372  // AsWebSource is the BasicCopySource implementation for HBaseSource.
 94373  func (hbs HBaseSource) AsWebSource() (*WebSource, bool) {
 94374  	return nil, false
 94375  }
 94376  
 94377  // AsOracleSource is the BasicCopySource implementation for HBaseSource.
 94378  func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) {
 94379  	return nil, false
 94380  }
 94381  
 94382  // AsAzureDataExplorerSource is the BasicCopySource implementation for HBaseSource.
 94383  func (hbs HBaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 94384  	return nil, false
 94385  }
 94386  
 94387  // AsHdfsSource is the BasicCopySource implementation for HBaseSource.
 94388  func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) {
 94389  	return nil, false
 94390  }
 94391  
 94392  // AsFileSystemSource is the BasicCopySource implementation for HBaseSource.
 94393  func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
 94394  	return nil, false
 94395  }
 94396  
 94397  // AsRestSource is the BasicCopySource implementation for HBaseSource.
 94398  func (hbs HBaseSource) AsRestSource() (*RestSource, bool) {
 94399  	return nil, false
 94400  }
 94401  
 94402  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for HBaseSource.
 94403  func (hbs HBaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 94404  	return nil, false
 94405  }
 94406  
 94407  // AsODataSource is the BasicCopySource implementation for HBaseSource.
 94408  func (hbs HBaseSource) AsODataSource() (*ODataSource, bool) {
 94409  	return nil, false
 94410  }
 94411  
 94412  // AsMicrosoftAccessSource is the BasicCopySource implementation for HBaseSource.
 94413  func (hbs HBaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 94414  	return nil, false
 94415  }
 94416  
 94417  // AsRelationalSource is the BasicCopySource implementation for HBaseSource.
 94418  func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) {
 94419  	return nil, false
 94420  }
 94421  
 94422  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HBaseSource.
 94423  func (hbs HBaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 94424  	return nil, false
 94425  }
 94426  
 94427  // AsDynamicsCrmSource is the BasicCopySource implementation for HBaseSource.
 94428  func (hbs HBaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 94429  	return nil, false
 94430  }
 94431  
 94432  // AsDynamicsSource is the BasicCopySource implementation for HBaseSource.
 94433  func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
 94434  	return nil, false
 94435  }
 94436  
 94437  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for HBaseSource.
 94438  func (hbs HBaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 94439  	return nil, false
 94440  }
 94441  
 94442  // AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource.
 94443  func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 94444  	return nil, false
 94445  }
 94446  
 94447  // AsBlobSource is the BasicCopySource implementation for HBaseSource.
 94448  func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) {
 94449  	return nil, false
 94450  }
 94451  
 94452  // AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource.
 94453  func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 94454  	return nil, false
 94455  }
 94456  
 94457  // AsGoogleAdWordsSource is the BasicCopySource implementation for HBaseSource.
 94458  func (hbs HBaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 94459  	return nil, false
 94460  }
 94461  
 94462  // AsOracleServiceCloudSource is the BasicCopySource implementation for HBaseSource.
 94463  func (hbs HBaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 94464  	return nil, false
 94465  }
 94466  
 94467  // AsDynamicsAXSource is the BasicCopySource implementation for HBaseSource.
 94468  func (hbs HBaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 94469  	return nil, false
 94470  }
 94471  
 94472  // AsResponsysSource is the BasicCopySource implementation for HBaseSource.
 94473  func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) {
 94474  	return nil, false
 94475  }
 94476  
 94477  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource.
 94478  func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 94479  	return nil, false
 94480  }
 94481  
 94482  // AsVerticaSource is the BasicCopySource implementation for HBaseSource.
 94483  func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) {
 94484  	return nil, false
 94485  }
 94486  
 94487  // AsNetezzaSource is the BasicCopySource implementation for HBaseSource.
 94488  func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
 94489  	return nil, false
 94490  }
 94491  
 94492  // AsZohoSource is the BasicCopySource implementation for HBaseSource.
 94493  func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) {
 94494  	return nil, false
 94495  }
 94496  
 94497  // AsXeroSource is the BasicCopySource implementation for HBaseSource.
 94498  func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) {
 94499  	return nil, false
 94500  }
 94501  
 94502  // AsSquareSource is the BasicCopySource implementation for HBaseSource.
 94503  func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) {
 94504  	return nil, false
 94505  }
 94506  
 94507  // AsSparkSource is the BasicCopySource implementation for HBaseSource.
 94508  func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) {
 94509  	return nil, false
 94510  }
 94511  
 94512  // AsShopifySource is the BasicCopySource implementation for HBaseSource.
 94513  func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) {
 94514  	return nil, false
 94515  }
 94516  
 94517  // AsServiceNowSource is the BasicCopySource implementation for HBaseSource.
 94518  func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 94519  	return nil, false
 94520  }
 94521  
 94522  // AsQuickBooksSource is the BasicCopySource implementation for HBaseSource.
 94523  func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 94524  	return nil, false
 94525  }
 94526  
 94527  // AsPrestoSource is the BasicCopySource implementation for HBaseSource.
 94528  func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) {
 94529  	return nil, false
 94530  }
 94531  
 94532  // AsPhoenixSource is the BasicCopySource implementation for HBaseSource.
 94533  func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
 94534  	return nil, false
 94535  }
 94536  
 94537  // AsPaypalSource is the BasicCopySource implementation for HBaseSource.
 94538  func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) {
 94539  	return nil, false
 94540  }
 94541  
 94542  // AsMarketoSource is the BasicCopySource implementation for HBaseSource.
 94543  func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) {
 94544  	return nil, false
 94545  }
 94546  
 94547  // AsAzureMariaDBSource is the BasicCopySource implementation for HBaseSource.
 94548  func (hbs HBaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 94549  	return nil, false
 94550  }
 94551  
 94552  // AsMariaDBSource is the BasicCopySource implementation for HBaseSource.
 94553  func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
 94554  	return nil, false
 94555  }
 94556  
 94557  // AsMagentoSource is the BasicCopySource implementation for HBaseSource.
 94558  func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) {
 94559  	return nil, false
 94560  }
 94561  
 94562  // AsJiraSource is the BasicCopySource implementation for HBaseSource.
 94563  func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) {
 94564  	return nil, false
 94565  }
 94566  
 94567  // AsImpalaSource is the BasicCopySource implementation for HBaseSource.
 94568  func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) {
 94569  	return nil, false
 94570  }
 94571  
 94572  // AsHubspotSource is the BasicCopySource implementation for HBaseSource.
 94573  func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) {
 94574  	return nil, false
 94575  }
 94576  
 94577  // AsHiveSource is the BasicCopySource implementation for HBaseSource.
 94578  func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) {
 94579  	return nil, false
 94580  }
 94581  
 94582  // AsHBaseSource is the BasicCopySource implementation for HBaseSource.
 94583  func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) {
 94584  	return &hbs, true
 94585  }
 94586  
 94587  // AsGreenplumSource is the BasicCopySource implementation for HBaseSource.
 94588  func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
 94589  	return nil, false
 94590  }
 94591  
 94592  // AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource.
 94593  func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 94594  	return nil, false
 94595  }
 94596  
 94597  // AsEloquaSource is the BasicCopySource implementation for HBaseSource.
 94598  func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) {
 94599  	return nil, false
 94600  }
 94601  
 94602  // AsDrillSource is the BasicCopySource implementation for HBaseSource.
 94603  func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) {
 94604  	return nil, false
 94605  }
 94606  
 94607  // AsCouchbaseSource is the BasicCopySource implementation for HBaseSource.
 94608  func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 94609  	return nil, false
 94610  }
 94611  
 94612  // AsConcurSource is the BasicCopySource implementation for HBaseSource.
 94613  func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) {
 94614  	return nil, false
 94615  }
 94616  
 94617  // AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource.
 94618  func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 94619  	return nil, false
 94620  }
 94621  
 94622  // AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource.
 94623  func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 94624  	return nil, false
 94625  }
 94626  
 94627  // AsCassandraSource is the BasicCopySource implementation for HBaseSource.
 94628  func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) {
 94629  	return nil, false
 94630  }
 94631  
 94632  // AsTeradataSource is the BasicCopySource implementation for HBaseSource.
 94633  func (hbs HBaseSource) AsTeradataSource() (*TeradataSource, bool) {
 94634  	return nil, false
 94635  }
 94636  
 94637  // AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource.
 94638  func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 94639  	return nil, false
 94640  }
 94641  
 94642  // AsSQLDWSource is the BasicCopySource implementation for HBaseSource.
 94643  func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
 94644  	return nil, false
 94645  }
 94646  
 94647  // AsSQLMISource is the BasicCopySource implementation for HBaseSource.
 94648  func (hbs HBaseSource) AsSQLMISource() (*SQLMISource, bool) {
 94649  	return nil, false
 94650  }
 94651  
 94652  // AsAzureSQLSource is the BasicCopySource implementation for HBaseSource.
 94653  func (hbs HBaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 94654  	return nil, false
 94655  }
 94656  
 94657  // AsSQLServerSource is the BasicCopySource implementation for HBaseSource.
 94658  func (hbs HBaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
 94659  	return nil, false
 94660  }
 94661  
 94662  // AsSQLSource is the BasicCopySource implementation for HBaseSource.
 94663  func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) {
 94664  	return nil, false
 94665  }
 94666  
 94667  // AsSapTableSource is the BasicCopySource implementation for HBaseSource.
 94668  func (hbs HBaseSource) AsSapTableSource() (*SapTableSource, bool) {
 94669  	return nil, false
 94670  }
 94671  
 94672  // AsSapOpenHubSource is the BasicCopySource implementation for HBaseSource.
 94673  func (hbs HBaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 94674  	return nil, false
 94675  }
 94676  
 94677  // AsSapHanaSource is the BasicCopySource implementation for HBaseSource.
 94678  func (hbs HBaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
 94679  	return nil, false
 94680  }
 94681  
 94682  // AsSapEccSource is the BasicCopySource implementation for HBaseSource.
 94683  func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) {
 94684  	return nil, false
 94685  }
 94686  
 94687  // AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource.
 94688  func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 94689  	return nil, false
 94690  }
 94691  
 94692  // AsSalesforceSource is the BasicCopySource implementation for HBaseSource.
 94693  func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
 94694  	return nil, false
 94695  }
 94696  
 94697  // AsSapBwSource is the BasicCopySource implementation for HBaseSource.
 94698  func (hbs HBaseSource) AsSapBwSource() (*SapBwSource, bool) {
 94699  	return nil, false
 94700  }
 94701  
 94702  // AsSybaseSource is the BasicCopySource implementation for HBaseSource.
 94703  func (hbs HBaseSource) AsSybaseSource() (*SybaseSource, bool) {
 94704  	return nil, false
 94705  }
 94706  
 94707  // AsPostgreSQLSource is the BasicCopySource implementation for HBaseSource.
 94708  func (hbs HBaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 94709  	return nil, false
 94710  }
 94711  
 94712  // AsMySQLSource is the BasicCopySource implementation for HBaseSource.
 94713  func (hbs HBaseSource) AsMySQLSource() (*MySQLSource, bool) {
 94714  	return nil, false
 94715  }
 94716  
 94717  // AsOdbcSource is the BasicCopySource implementation for HBaseSource.
 94718  func (hbs HBaseSource) AsOdbcSource() (*OdbcSource, bool) {
 94719  	return nil, false
 94720  }
 94721  
 94722  // AsDb2Source is the BasicCopySource implementation for HBaseSource.
 94723  func (hbs HBaseSource) AsDb2Source() (*Db2Source, bool) {
 94724  	return nil, false
 94725  }
 94726  
 94727  // AsInformixSource is the BasicCopySource implementation for HBaseSource.
 94728  func (hbs HBaseSource) AsInformixSource() (*InformixSource, bool) {
 94729  	return nil, false
 94730  }
 94731  
 94732  // AsAzureTableSource is the BasicCopySource implementation for HBaseSource.
 94733  func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
 94734  	return nil, false
 94735  }
 94736  
 94737  // AsTabularSource is the BasicCopySource implementation for HBaseSource.
 94738  func (hbs HBaseSource) AsTabularSource() (*TabularSource, bool) {
 94739  	return nil, false
 94740  }
 94741  
 94742  // AsBasicTabularSource is the BasicCopySource implementation for HBaseSource.
 94743  func (hbs HBaseSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 94744  	return &hbs, true
 94745  }
 94746  
 94747  // AsBinarySource is the BasicCopySource implementation for HBaseSource.
 94748  func (hbs HBaseSource) AsBinarySource() (*BinarySource, bool) {
 94749  	return nil, false
 94750  }
 94751  
 94752  // AsOrcSource is the BasicCopySource implementation for HBaseSource.
 94753  func (hbs HBaseSource) AsOrcSource() (*OrcSource, bool) {
 94754  	return nil, false
 94755  }
 94756  
 94757  // AsJSONSource is the BasicCopySource implementation for HBaseSource.
 94758  func (hbs HBaseSource) AsJSONSource() (*JSONSource, bool) {
 94759  	return nil, false
 94760  }
 94761  
 94762  // AsDelimitedTextSource is the BasicCopySource implementation for HBaseSource.
 94763  func (hbs HBaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 94764  	return nil, false
 94765  }
 94766  
 94767  // AsParquetSource is the BasicCopySource implementation for HBaseSource.
 94768  func (hbs HBaseSource) AsParquetSource() (*ParquetSource, bool) {
 94769  	return nil, false
 94770  }
 94771  
 94772  // AsAvroSource is the BasicCopySource implementation for HBaseSource.
 94773  func (hbs HBaseSource) AsAvroSource() (*AvroSource, bool) {
 94774  	return nil, false
 94775  }
 94776  
 94777  // AsCopySource is the BasicCopySource implementation for HBaseSource.
 94778  func (hbs HBaseSource) AsCopySource() (*CopySource, bool) {
 94779  	return nil, false
 94780  }
 94781  
 94782  // AsBasicCopySource is the BasicCopySource implementation for HBaseSource.
 94783  func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) {
 94784  	return &hbs, true
 94785  }
 94786  
 94787  // UnmarshalJSON is the custom unmarshaler for HBaseSource struct.
 94788  func (hbs *HBaseSource) UnmarshalJSON(body []byte) error {
 94789  	var m map[string]*json.RawMessage
 94790  	err := json.Unmarshal(body, &m)
 94791  	if err != nil {
 94792  		return err
 94793  	}
 94794  	for k, v := range m {
 94795  		switch k {
 94796  		case "query":
 94797  			if v != nil {
 94798  				var query interface{}
 94799  				err = json.Unmarshal(*v, &query)
 94800  				if err != nil {
 94801  					return err
 94802  				}
 94803  				hbs.Query = query
 94804  			}
 94805  		case "queryTimeout":
 94806  			if v != nil {
 94807  				var queryTimeout interface{}
 94808  				err = json.Unmarshal(*v, &queryTimeout)
 94809  				if err != nil {
 94810  					return err
 94811  				}
 94812  				hbs.QueryTimeout = queryTimeout
 94813  			}
 94814  		default:
 94815  			if v != nil {
 94816  				var additionalProperties interface{}
 94817  				err = json.Unmarshal(*v, &additionalProperties)
 94818  				if err != nil {
 94819  					return err
 94820  				}
 94821  				if hbs.AdditionalProperties == nil {
 94822  					hbs.AdditionalProperties = make(map[string]interface{})
 94823  				}
 94824  				hbs.AdditionalProperties[k] = additionalProperties
 94825  			}
 94826  		case "sourceRetryCount":
 94827  			if v != nil {
 94828  				var sourceRetryCount interface{}
 94829  				err = json.Unmarshal(*v, &sourceRetryCount)
 94830  				if err != nil {
 94831  					return err
 94832  				}
 94833  				hbs.SourceRetryCount = sourceRetryCount
 94834  			}
 94835  		case "sourceRetryWait":
 94836  			if v != nil {
 94837  				var sourceRetryWait interface{}
 94838  				err = json.Unmarshal(*v, &sourceRetryWait)
 94839  				if err != nil {
 94840  					return err
 94841  				}
 94842  				hbs.SourceRetryWait = sourceRetryWait
 94843  			}
 94844  		case "maxConcurrentConnections":
 94845  			if v != nil {
 94846  				var maxConcurrentConnections interface{}
 94847  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 94848  				if err != nil {
 94849  					return err
 94850  				}
 94851  				hbs.MaxConcurrentConnections = maxConcurrentConnections
 94852  			}
 94853  		case "type":
 94854  			if v != nil {
 94855  				var typeVar TypeBasicCopySource
 94856  				err = json.Unmarshal(*v, &typeVar)
 94857  				if err != nil {
 94858  					return err
 94859  				}
 94860  				hbs.Type = typeVar
 94861  			}
 94862  		}
 94863  	}
 94864  
 94865  	return nil
 94866  }
 94867  
 94868  // HdfsLinkedService hadoop Distributed File System (HDFS) linked service.
 94869  type HdfsLinkedService struct {
 94870  	// HdfsLinkedServiceTypeProperties - HDFS linked service properties.
 94871  	*HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 94872  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 94873  	AdditionalProperties map[string]interface{} `json:""`
 94874  	// ConnectVia - The integration runtime reference.
 94875  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 94876  	// Description - Linked service description.
 94877  	Description *string `json:"description,omitempty"`
 94878  	// Parameters - Parameters for linked service.
 94879  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 94880  	// Annotations - List of tags that can be used for describing the linked service.
 94881  	Annotations *[]interface{} `json:"annotations,omitempty"`
 94882  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 94883  	Type TypeBasicLinkedService `json:"type,omitempty"`
 94884  }
 94885  
 94886  // MarshalJSON is the custom marshaler for HdfsLinkedService.
 94887  func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) {
 94888  	hls.Type = TypeHdfs
 94889  	objectMap := make(map[string]interface{})
 94890  	if hls.HdfsLinkedServiceTypeProperties != nil {
 94891  		objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties
 94892  	}
 94893  	if hls.ConnectVia != nil {
 94894  		objectMap["connectVia"] = hls.ConnectVia
 94895  	}
 94896  	if hls.Description != nil {
 94897  		objectMap["description"] = hls.Description
 94898  	}
 94899  	if hls.Parameters != nil {
 94900  		objectMap["parameters"] = hls.Parameters
 94901  	}
 94902  	if hls.Annotations != nil {
 94903  		objectMap["annotations"] = hls.Annotations
 94904  	}
 94905  	if hls.Type != "" {
 94906  		objectMap["type"] = hls.Type
 94907  	}
 94908  	for k, v := range hls.AdditionalProperties {
 94909  		objectMap[k] = v
 94910  	}
 94911  	return json.Marshal(objectMap)
 94912  }
 94913  
 94914  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94915  func (hls HdfsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 94916  	return nil, false
 94917  }
 94918  
 94919  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94920  func (hls HdfsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 94921  	return nil, false
 94922  }
 94923  
 94924  // AsSapTableLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94925  func (hls HdfsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 94926  	return nil, false
 94927  }
 94928  
 94929  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94930  func (hls HdfsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 94931  	return nil, false
 94932  }
 94933  
 94934  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94935  func (hls HdfsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 94936  	return nil, false
 94937  }
 94938  
 94939  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94940  func (hls HdfsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 94941  	return nil, false
 94942  }
 94943  
 94944  // AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94945  func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 94946  	return nil, false
 94947  }
 94948  
 94949  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94950  func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 94951  	return nil, false
 94952  }
 94953  
 94954  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94955  func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 94956  	return nil, false
 94957  }
 94958  
 94959  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94960  func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 94961  	return nil, false
 94962  }
 94963  
 94964  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94965  func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 94966  	return nil, false
 94967  }
 94968  
 94969  // AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94970  func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 94971  	return nil, false
 94972  }
 94973  
 94974  // AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94975  func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 94976  	return nil, false
 94977  }
 94978  
 94979  // AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94980  func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 94981  	return nil, false
 94982  }
 94983  
 94984  // AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94985  func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 94986  	return nil, false
 94987  }
 94988  
 94989  // AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94990  func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 94991  	return nil, false
 94992  }
 94993  
 94994  // AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 94995  func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 94996  	return nil, false
 94997  }
 94998  
 94999  // AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95000  func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 95001  	return nil, false
 95002  }
 95003  
 95004  // AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95005  func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 95006  	return nil, false
 95007  }
 95008  
 95009  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95010  func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 95011  	return nil, false
 95012  }
 95013  
 95014  // AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95015  func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 95016  	return nil, false
 95017  }
 95018  
 95019  // AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95020  func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 95021  	return nil, false
 95022  }
 95023  
 95024  // AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95025  func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 95026  	return nil, false
 95027  }
 95028  
 95029  // AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95030  func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 95031  	return nil, false
 95032  }
 95033  
 95034  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95035  func (hls HdfsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 95036  	return nil, false
 95037  }
 95038  
 95039  // AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95040  func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 95041  	return nil, false
 95042  }
 95043  
 95044  // AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95045  func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 95046  	return nil, false
 95047  }
 95048  
 95049  // AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95050  func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 95051  	return nil, false
 95052  }
 95053  
 95054  // AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95055  func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 95056  	return nil, false
 95057  }
 95058  
 95059  // AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95060  func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 95061  	return nil, false
 95062  }
 95063  
 95064  // AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95065  func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 95066  	return nil, false
 95067  }
 95068  
 95069  // AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95070  func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 95071  	return nil, false
 95072  }
 95073  
 95074  // AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95075  func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 95076  	return nil, false
 95077  }
 95078  
 95079  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95080  func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 95081  	return nil, false
 95082  }
 95083  
 95084  // AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95085  func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 95086  	return nil, false
 95087  }
 95088  
 95089  // AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95090  func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 95091  	return nil, false
 95092  }
 95093  
 95094  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95095  func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 95096  	return nil, false
 95097  }
 95098  
 95099  // AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95100  func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 95101  	return nil, false
 95102  }
 95103  
 95104  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95105  func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 95106  	return nil, false
 95107  }
 95108  
 95109  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95110  func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 95111  	return nil, false
 95112  }
 95113  
 95114  // AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95115  func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 95116  	return nil, false
 95117  }
 95118  
 95119  // AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95120  func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 95121  	return nil, false
 95122  }
 95123  
 95124  // AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95125  func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 95126  	return nil, false
 95127  }
 95128  
 95129  // AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95130  func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 95131  	return nil, false
 95132  }
 95133  
 95134  // AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95135  func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 95136  	return nil, false
 95137  }
 95138  
 95139  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95140  func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 95141  	return nil, false
 95142  }
 95143  
 95144  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95145  func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 95146  	return nil, false
 95147  }
 95148  
 95149  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95150  func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 95151  	return nil, false
 95152  }
 95153  
 95154  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95155  func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 95156  	return nil, false
 95157  }
 95158  
 95159  // AsRestServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95160  func (hls HdfsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 95161  	return nil, false
 95162  }
 95163  
 95164  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95165  func (hls HdfsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 95166  	return nil, false
 95167  }
 95168  
 95169  // AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95170  func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 95171  	return nil, false
 95172  }
 95173  
 95174  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95175  func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 95176  	return nil, false
 95177  }
 95178  
 95179  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95180  func (hls HdfsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 95181  	return nil, false
 95182  }
 95183  
 95184  // AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95185  func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 95186  	return nil, false
 95187  }
 95188  
 95189  // AsOffice365LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95190  func (hls HdfsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 95191  	return nil, false
 95192  }
 95193  
 95194  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95195  func (hls HdfsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 95196  	return nil, false
 95197  }
 95198  
 95199  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95200  func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 95201  	return nil, false
 95202  }
 95203  
 95204  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95205  func (hls HdfsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 95206  	return nil, false
 95207  }
 95208  
 95209  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95210  func (hls HdfsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 95211  	return nil, false
 95212  }
 95213  
 95214  // AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95215  func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 95216  	return nil, false
 95217  }
 95218  
 95219  // AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95220  func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 95221  	return nil, false
 95222  }
 95223  
 95224  // AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95225  func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 95226  	return nil, false
 95227  }
 95228  
 95229  // AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95230  func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 95231  	return nil, false
 95232  }
 95233  
 95234  // AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95235  func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 95236  	return &hls, true
 95237  }
 95238  
 95239  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95240  func (hls HdfsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 95241  	return nil, false
 95242  }
 95243  
 95244  // AsInformixLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95245  func (hls HdfsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 95246  	return nil, false
 95247  }
 95248  
 95249  // AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95250  func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 95251  	return nil, false
 95252  }
 95253  
 95254  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95255  func (hls HdfsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 95256  	return nil, false
 95257  }
 95258  
 95259  // AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95260  func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 95261  	return nil, false
 95262  }
 95263  
 95264  // AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95265  func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 95266  	return nil, false
 95267  }
 95268  
 95269  // AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95270  func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 95271  	return nil, false
 95272  }
 95273  
 95274  // AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95275  func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 95276  	return nil, false
 95277  }
 95278  
 95279  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95280  func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 95281  	return nil, false
 95282  }
 95283  
 95284  // AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95285  func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 95286  	return nil, false
 95287  }
 95288  
 95289  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95290  func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 95291  	return nil, false
 95292  }
 95293  
 95294  // AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95295  func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 95296  	return nil, false
 95297  }
 95298  
 95299  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95300  func (hls HdfsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 95301  	return nil, false
 95302  }
 95303  
 95304  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95305  func (hls HdfsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 95306  	return nil, false
 95307  }
 95308  
 95309  // AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95310  func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 95311  	return nil, false
 95312  }
 95313  
 95314  // AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95315  func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 95316  	return nil, false
 95317  }
 95318  
 95319  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95320  func (hls HdfsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 95321  	return nil, false
 95322  }
 95323  
 95324  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95325  func (hls HdfsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 95326  	return nil, false
 95327  }
 95328  
 95329  // AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95330  func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 95331  	return nil, false
 95332  }
 95333  
 95334  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95335  func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 95336  	return nil, false
 95337  }
 95338  
 95339  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95340  func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 95341  	return nil, false
 95342  }
 95343  
 95344  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95345  func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 95346  	return nil, false
 95347  }
 95348  
 95349  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95350  func (hls HdfsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 95351  	return nil, false
 95352  }
 95353  
 95354  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95355  func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 95356  	return nil, false
 95357  }
 95358  
 95359  // AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95360  func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 95361  	return nil, false
 95362  }
 95363  
 95364  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95365  func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 95366  	return nil, false
 95367  }
 95368  
 95369  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95370  func (hls HdfsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 95371  	return nil, false
 95372  }
 95373  
 95374  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95375  func (hls HdfsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 95376  	return nil, false
 95377  }
 95378  
 95379  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95380  func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 95381  	return nil, false
 95382  }
 95383  
 95384  // AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95385  func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) {
 95386  	return nil, false
 95387  }
 95388  
 95389  // AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService.
 95390  func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 95391  	return &hls, true
 95392  }
 95393  
 95394  // UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct.
 95395  func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error {
 95396  	var m map[string]*json.RawMessage
 95397  	err := json.Unmarshal(body, &m)
 95398  	if err != nil {
 95399  		return err
 95400  	}
 95401  	for k, v := range m {
 95402  		switch k {
 95403  		case "typeProperties":
 95404  			if v != nil {
 95405  				var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties
 95406  				err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties)
 95407  				if err != nil {
 95408  					return err
 95409  				}
 95410  				hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties
 95411  			}
 95412  		default:
 95413  			if v != nil {
 95414  				var additionalProperties interface{}
 95415  				err = json.Unmarshal(*v, &additionalProperties)
 95416  				if err != nil {
 95417  					return err
 95418  				}
 95419  				if hls.AdditionalProperties == nil {
 95420  					hls.AdditionalProperties = make(map[string]interface{})
 95421  				}
 95422  				hls.AdditionalProperties[k] = additionalProperties
 95423  			}
 95424  		case "connectVia":
 95425  			if v != nil {
 95426  				var connectVia IntegrationRuntimeReference
 95427  				err = json.Unmarshal(*v, &connectVia)
 95428  				if err != nil {
 95429  					return err
 95430  				}
 95431  				hls.ConnectVia = &connectVia
 95432  			}
 95433  		case "description":
 95434  			if v != nil {
 95435  				var description string
 95436  				err = json.Unmarshal(*v, &description)
 95437  				if err != nil {
 95438  					return err
 95439  				}
 95440  				hls.Description = &description
 95441  			}
 95442  		case "parameters":
 95443  			if v != nil {
 95444  				var parameters map[string]*ParameterSpecification
 95445  				err = json.Unmarshal(*v, &parameters)
 95446  				if err != nil {
 95447  					return err
 95448  				}
 95449  				hls.Parameters = parameters
 95450  			}
 95451  		case "annotations":
 95452  			if v != nil {
 95453  				var annotations []interface{}
 95454  				err = json.Unmarshal(*v, &annotations)
 95455  				if err != nil {
 95456  					return err
 95457  				}
 95458  				hls.Annotations = &annotations
 95459  			}
 95460  		case "type":
 95461  			if v != nil {
 95462  				var typeVar TypeBasicLinkedService
 95463  				err = json.Unmarshal(*v, &typeVar)
 95464  				if err != nil {
 95465  					return err
 95466  				}
 95467  				hls.Type = typeVar
 95468  			}
 95469  		}
 95470  	}
 95471  
 95472  	return nil
 95473  }
 95474  
 95475  // HdfsLinkedServiceTypeProperties HDFS linked service properties.
 95476  type HdfsLinkedServiceTypeProperties struct {
 95477  	// URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
 95478  	URL interface{} `json:"url,omitempty"`
 95479  	// AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string).
 95480  	AuthenticationType interface{} `json:"authenticationType,omitempty"`
 95481  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 95482  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 95483  	// UserName - User name for Windows authentication. Type: string (or Expression with resultType string).
 95484  	UserName interface{} `json:"userName,omitempty"`
 95485  	// Password - Password for Windows authentication.
 95486  	Password BasicSecretBase `json:"password,omitempty"`
 95487  }
 95488  
 95489  // UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct.
 95490  func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 95491  	var m map[string]*json.RawMessage
 95492  	err := json.Unmarshal(body, &m)
 95493  	if err != nil {
 95494  		return err
 95495  	}
 95496  	for k, v := range m {
 95497  		switch k {
 95498  		case "url":
 95499  			if v != nil {
 95500  				var URL interface{}
 95501  				err = json.Unmarshal(*v, &URL)
 95502  				if err != nil {
 95503  					return err
 95504  				}
 95505  				hlstp.URL = URL
 95506  			}
 95507  		case "authenticationType":
 95508  			if v != nil {
 95509  				var authenticationType interface{}
 95510  				err = json.Unmarshal(*v, &authenticationType)
 95511  				if err != nil {
 95512  					return err
 95513  				}
 95514  				hlstp.AuthenticationType = authenticationType
 95515  			}
 95516  		case "encryptedCredential":
 95517  			if v != nil {
 95518  				var encryptedCredential interface{}
 95519  				err = json.Unmarshal(*v, &encryptedCredential)
 95520  				if err != nil {
 95521  					return err
 95522  				}
 95523  				hlstp.EncryptedCredential = encryptedCredential
 95524  			}
 95525  		case "userName":
 95526  			if v != nil {
 95527  				var userName interface{}
 95528  				err = json.Unmarshal(*v, &userName)
 95529  				if err != nil {
 95530  					return err
 95531  				}
 95532  				hlstp.UserName = userName
 95533  			}
 95534  		case "password":
 95535  			if v != nil {
 95536  				password, err := unmarshalBasicSecretBase(*v)
 95537  				if err != nil {
 95538  					return err
 95539  				}
 95540  				hlstp.Password = password
 95541  			}
 95542  		}
 95543  	}
 95544  
 95545  	return nil
 95546  }
 95547  
 95548  // HdfsLocation the location of HDFS.
 95549  type HdfsLocation struct {
 95550  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 95551  	AdditionalProperties map[string]interface{} `json:""`
 95552  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
 95553  	FolderPath interface{} `json:"folderPath,omitempty"`
 95554  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
 95555  	FileName interface{} `json:"fileName,omitempty"`
 95556  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
 95557  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
 95558  }
 95559  
 95560  // MarshalJSON is the custom marshaler for HdfsLocation.
 95561  func (hl HdfsLocation) MarshalJSON() ([]byte, error) {
 95562  	hl.Type = TypeHdfsLocation
 95563  	objectMap := make(map[string]interface{})
 95564  	if hl.FolderPath != nil {
 95565  		objectMap["folderPath"] = hl.FolderPath
 95566  	}
 95567  	if hl.FileName != nil {
 95568  		objectMap["fileName"] = hl.FileName
 95569  	}
 95570  	if hl.Type != "" {
 95571  		objectMap["type"] = hl.Type
 95572  	}
 95573  	for k, v := range hl.AdditionalProperties {
 95574  		objectMap[k] = v
 95575  	}
 95576  	return json.Marshal(objectMap)
 95577  }
 95578  
 95579  // AsHdfsLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95580  func (hl HdfsLocation) AsHdfsLocation() (*HdfsLocation, bool) {
 95581  	return &hl, true
 95582  }
 95583  
 95584  // AsHTTPServerLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95585  func (hl HdfsLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
 95586  	return nil, false
 95587  }
 95588  
 95589  // AsSftpLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95590  func (hl HdfsLocation) AsSftpLocation() (*SftpLocation, bool) {
 95591  	return nil, false
 95592  }
 95593  
 95594  // AsFtpServerLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95595  func (hl HdfsLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
 95596  	return nil, false
 95597  }
 95598  
 95599  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95600  func (hl HdfsLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
 95601  	return nil, false
 95602  }
 95603  
 95604  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95605  func (hl HdfsLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
 95606  	return nil, false
 95607  }
 95608  
 95609  // AsFileServerLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95610  func (hl HdfsLocation) AsFileServerLocation() (*FileServerLocation, bool) {
 95611  	return nil, false
 95612  }
 95613  
 95614  // AsAmazonS3Location is the BasicDatasetLocation implementation for HdfsLocation.
 95615  func (hl HdfsLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
 95616  	return nil, false
 95617  }
 95618  
 95619  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95620  func (hl HdfsLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
 95621  	return nil, false
 95622  }
 95623  
 95624  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95625  func (hl HdfsLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
 95626  	return nil, false
 95627  }
 95628  
 95629  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95630  func (hl HdfsLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
 95631  	return nil, false
 95632  }
 95633  
 95634  // AsDatasetLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95635  func (hl HdfsLocation) AsDatasetLocation() (*DatasetLocation, bool) {
 95636  	return nil, false
 95637  }
 95638  
 95639  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for HdfsLocation.
 95640  func (hl HdfsLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
 95641  	return &hl, true
 95642  }
 95643  
 95644  // UnmarshalJSON is the custom unmarshaler for HdfsLocation struct.
 95645  func (hl *HdfsLocation) UnmarshalJSON(body []byte) error {
 95646  	var m map[string]*json.RawMessage
 95647  	err := json.Unmarshal(body, &m)
 95648  	if err != nil {
 95649  		return err
 95650  	}
 95651  	for k, v := range m {
 95652  		switch k {
 95653  		default:
 95654  			if v != nil {
 95655  				var additionalProperties interface{}
 95656  				err = json.Unmarshal(*v, &additionalProperties)
 95657  				if err != nil {
 95658  					return err
 95659  				}
 95660  				if hl.AdditionalProperties == nil {
 95661  					hl.AdditionalProperties = make(map[string]interface{})
 95662  				}
 95663  				hl.AdditionalProperties[k] = additionalProperties
 95664  			}
 95665  		case "folderPath":
 95666  			if v != nil {
 95667  				var folderPath interface{}
 95668  				err = json.Unmarshal(*v, &folderPath)
 95669  				if err != nil {
 95670  					return err
 95671  				}
 95672  				hl.FolderPath = folderPath
 95673  			}
 95674  		case "fileName":
 95675  			if v != nil {
 95676  				var fileName interface{}
 95677  				err = json.Unmarshal(*v, &fileName)
 95678  				if err != nil {
 95679  					return err
 95680  				}
 95681  				hl.FileName = fileName
 95682  			}
 95683  		case "type":
 95684  			if v != nil {
 95685  				var typeVar TypeBasicDatasetLocation
 95686  				err = json.Unmarshal(*v, &typeVar)
 95687  				if err != nil {
 95688  					return err
 95689  				}
 95690  				hl.Type = typeVar
 95691  			}
 95692  		}
 95693  	}
 95694  
 95695  	return nil
 95696  }
 95697  
 95698  // HdfsReadSettings HDFS read settings.
 95699  type HdfsReadSettings struct {
 95700  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 95701  	Recursive interface{} `json:"recursive,omitempty"`
 95702  	// WildcardFolderPath - HDFS wildcardFolderPath. Type: string (or Expression with resultType string).
 95703  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
 95704  	// WildcardFileName - HDFS wildcardFileName. Type: string (or Expression with resultType string).
 95705  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
 95706  	// EnablePartitionDiscovery - Indicates whether to enable partition discovery.
 95707  	EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"`
 95708  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
 95709  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
 95710  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
 95711  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
 95712  	// DistcpSettings - Specifies Distcp-related settings.
 95713  	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
 95714  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 95715  	AdditionalProperties map[string]interface{} `json:""`
 95716  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 95717  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 95718  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
 95719  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
 95720  }
 95721  
 95722  // MarshalJSON is the custom marshaler for HdfsReadSettings.
 95723  func (hrs HdfsReadSettings) MarshalJSON() ([]byte, error) {
 95724  	hrs.Type = TypeHdfsReadSettings
 95725  	objectMap := make(map[string]interface{})
 95726  	if hrs.Recursive != nil {
 95727  		objectMap["recursive"] = hrs.Recursive
 95728  	}
 95729  	if hrs.WildcardFolderPath != nil {
 95730  		objectMap["wildcardFolderPath"] = hrs.WildcardFolderPath
 95731  	}
 95732  	if hrs.WildcardFileName != nil {
 95733  		objectMap["wildcardFileName"] = hrs.WildcardFileName
 95734  	}
 95735  	if hrs.EnablePartitionDiscovery != nil {
 95736  		objectMap["enablePartitionDiscovery"] = hrs.EnablePartitionDiscovery
 95737  	}
 95738  	if hrs.ModifiedDatetimeStart != nil {
 95739  		objectMap["modifiedDatetimeStart"] = hrs.ModifiedDatetimeStart
 95740  	}
 95741  	if hrs.ModifiedDatetimeEnd != nil {
 95742  		objectMap["modifiedDatetimeEnd"] = hrs.ModifiedDatetimeEnd
 95743  	}
 95744  	if hrs.DistcpSettings != nil {
 95745  		objectMap["distcpSettings"] = hrs.DistcpSettings
 95746  	}
 95747  	if hrs.MaxConcurrentConnections != nil {
 95748  		objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections
 95749  	}
 95750  	if hrs.Type != "" {
 95751  		objectMap["type"] = hrs.Type
 95752  	}
 95753  	for k, v := range hrs.AdditionalProperties {
 95754  		objectMap[k] = v
 95755  	}
 95756  	return json.Marshal(objectMap)
 95757  }
 95758  
 95759  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95760  func (hrs HdfsReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
 95761  	return &hrs, true
 95762  }
 95763  
 95764  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95765  func (hrs HdfsReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
 95766  	return nil, false
 95767  }
 95768  
 95769  // AsSftpReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95770  func (hrs HdfsReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
 95771  	return nil, false
 95772  }
 95773  
 95774  // AsFtpReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95775  func (hrs HdfsReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
 95776  	return nil, false
 95777  }
 95778  
 95779  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95780  func (hrs HdfsReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
 95781  	return nil, false
 95782  }
 95783  
 95784  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95785  func (hrs HdfsReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
 95786  	return nil, false
 95787  }
 95788  
 95789  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95790  func (hrs HdfsReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
 95791  	return nil, false
 95792  }
 95793  
 95794  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95795  func (hrs HdfsReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
 95796  	return nil, false
 95797  }
 95798  
 95799  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95800  func (hrs HdfsReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
 95801  	return nil, false
 95802  }
 95803  
 95804  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95805  func (hrs HdfsReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
 95806  	return nil, false
 95807  }
 95808  
 95809  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95810  func (hrs HdfsReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
 95811  	return nil, false
 95812  }
 95813  
 95814  // AsStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95815  func (hrs HdfsReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
 95816  	return nil, false
 95817  }
 95818  
 95819  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for HdfsReadSettings.
 95820  func (hrs HdfsReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
 95821  	return &hrs, true
 95822  }
 95823  
 95824  // UnmarshalJSON is the custom unmarshaler for HdfsReadSettings struct.
 95825  func (hrs *HdfsReadSettings) UnmarshalJSON(body []byte) error {
 95826  	var m map[string]*json.RawMessage
 95827  	err := json.Unmarshal(body, &m)
 95828  	if err != nil {
 95829  		return err
 95830  	}
 95831  	for k, v := range m {
 95832  		switch k {
 95833  		case "recursive":
 95834  			if v != nil {
 95835  				var recursive interface{}
 95836  				err = json.Unmarshal(*v, &recursive)
 95837  				if err != nil {
 95838  					return err
 95839  				}
 95840  				hrs.Recursive = recursive
 95841  			}
 95842  		case "wildcardFolderPath":
 95843  			if v != nil {
 95844  				var wildcardFolderPath interface{}
 95845  				err = json.Unmarshal(*v, &wildcardFolderPath)
 95846  				if err != nil {
 95847  					return err
 95848  				}
 95849  				hrs.WildcardFolderPath = wildcardFolderPath
 95850  			}
 95851  		case "wildcardFileName":
 95852  			if v != nil {
 95853  				var wildcardFileName interface{}
 95854  				err = json.Unmarshal(*v, &wildcardFileName)
 95855  				if err != nil {
 95856  					return err
 95857  				}
 95858  				hrs.WildcardFileName = wildcardFileName
 95859  			}
 95860  		case "enablePartitionDiscovery":
 95861  			if v != nil {
 95862  				var enablePartitionDiscovery bool
 95863  				err = json.Unmarshal(*v, &enablePartitionDiscovery)
 95864  				if err != nil {
 95865  					return err
 95866  				}
 95867  				hrs.EnablePartitionDiscovery = &enablePartitionDiscovery
 95868  			}
 95869  		case "modifiedDatetimeStart":
 95870  			if v != nil {
 95871  				var modifiedDatetimeStart interface{}
 95872  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
 95873  				if err != nil {
 95874  					return err
 95875  				}
 95876  				hrs.ModifiedDatetimeStart = modifiedDatetimeStart
 95877  			}
 95878  		case "modifiedDatetimeEnd":
 95879  			if v != nil {
 95880  				var modifiedDatetimeEnd interface{}
 95881  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
 95882  				if err != nil {
 95883  					return err
 95884  				}
 95885  				hrs.ModifiedDatetimeEnd = modifiedDatetimeEnd
 95886  			}
 95887  		case "distcpSettings":
 95888  			if v != nil {
 95889  				var distcpSettings DistcpSettings
 95890  				err = json.Unmarshal(*v, &distcpSettings)
 95891  				if err != nil {
 95892  					return err
 95893  				}
 95894  				hrs.DistcpSettings = &distcpSettings
 95895  			}
 95896  		default:
 95897  			if v != nil {
 95898  				var additionalProperties interface{}
 95899  				err = json.Unmarshal(*v, &additionalProperties)
 95900  				if err != nil {
 95901  					return err
 95902  				}
 95903  				if hrs.AdditionalProperties == nil {
 95904  					hrs.AdditionalProperties = make(map[string]interface{})
 95905  				}
 95906  				hrs.AdditionalProperties[k] = additionalProperties
 95907  			}
 95908  		case "maxConcurrentConnections":
 95909  			if v != nil {
 95910  				var maxConcurrentConnections interface{}
 95911  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 95912  				if err != nil {
 95913  					return err
 95914  				}
 95915  				hrs.MaxConcurrentConnections = maxConcurrentConnections
 95916  			}
 95917  		case "type":
 95918  			if v != nil {
 95919  				var typeVar TypeBasicStoreReadSettings
 95920  				err = json.Unmarshal(*v, &typeVar)
 95921  				if err != nil {
 95922  					return err
 95923  				}
 95924  				hrs.Type = typeVar
 95925  			}
 95926  		}
 95927  	}
 95928  
 95929  	return nil
 95930  }
 95931  
 95932  // HdfsSource a copy activity HDFS source.
 95933  type HdfsSource struct {
 95934  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
 95935  	Recursive interface{} `json:"recursive,omitempty"`
 95936  	// DistcpSettings - Specifies Distcp-related settings.
 95937  	DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"`
 95938  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 95939  	AdditionalProperties map[string]interface{} `json:""`
 95940  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
 95941  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
 95942  	// 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])).
 95943  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
 95944  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
 95945  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
 95946  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
 95947  	Type TypeBasicCopySource `json:"type,omitempty"`
 95948  }
 95949  
 95950  // MarshalJSON is the custom marshaler for HdfsSource.
 95951  func (hs HdfsSource) MarshalJSON() ([]byte, error) {
 95952  	hs.Type = TypeHdfsSource
 95953  	objectMap := make(map[string]interface{})
 95954  	if hs.Recursive != nil {
 95955  		objectMap["recursive"] = hs.Recursive
 95956  	}
 95957  	if hs.DistcpSettings != nil {
 95958  		objectMap["distcpSettings"] = hs.DistcpSettings
 95959  	}
 95960  	if hs.SourceRetryCount != nil {
 95961  		objectMap["sourceRetryCount"] = hs.SourceRetryCount
 95962  	}
 95963  	if hs.SourceRetryWait != nil {
 95964  		objectMap["sourceRetryWait"] = hs.SourceRetryWait
 95965  	}
 95966  	if hs.MaxConcurrentConnections != nil {
 95967  		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
 95968  	}
 95969  	if hs.Type != "" {
 95970  		objectMap["type"] = hs.Type
 95971  	}
 95972  	for k, v := range hs.AdditionalProperties {
 95973  		objectMap[k] = v
 95974  	}
 95975  	return json.Marshal(objectMap)
 95976  }
 95977  
 95978  // AsHTTPSource is the BasicCopySource implementation for HdfsSource.
 95979  func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) {
 95980  	return nil, false
 95981  }
 95982  
 95983  // AsAzureBlobFSSource is the BasicCopySource implementation for HdfsSource.
 95984  func (hs HdfsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
 95985  	return nil, false
 95986  }
 95987  
 95988  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource.
 95989  func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
 95990  	return nil, false
 95991  }
 95992  
 95993  // AsOffice365Source is the BasicCopySource implementation for HdfsSource.
 95994  func (hs HdfsSource) AsOffice365Source() (*Office365Source, bool) {
 95995  	return nil, false
 95996  }
 95997  
 95998  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HdfsSource.
 95999  func (hs HdfsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
 96000  	return nil, false
 96001  }
 96002  
 96003  // AsMongoDbV2Source is the BasicCopySource implementation for HdfsSource.
 96004  func (hs HdfsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
 96005  	return nil, false
 96006  }
 96007  
 96008  // AsMongoDbSource is the BasicCopySource implementation for HdfsSource.
 96009  func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) {
 96010  	return nil, false
 96011  }
 96012  
 96013  // AsWebSource is the BasicCopySource implementation for HdfsSource.
 96014  func (hs HdfsSource) AsWebSource() (*WebSource, bool) {
 96015  	return nil, false
 96016  }
 96017  
 96018  // AsOracleSource is the BasicCopySource implementation for HdfsSource.
 96019  func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) {
 96020  	return nil, false
 96021  }
 96022  
 96023  // AsAzureDataExplorerSource is the BasicCopySource implementation for HdfsSource.
 96024  func (hs HdfsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
 96025  	return nil, false
 96026  }
 96027  
 96028  // AsHdfsSource is the BasicCopySource implementation for HdfsSource.
 96029  func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) {
 96030  	return &hs, true
 96031  }
 96032  
 96033  // AsFileSystemSource is the BasicCopySource implementation for HdfsSource.
 96034  func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) {
 96035  	return nil, false
 96036  }
 96037  
 96038  // AsRestSource is the BasicCopySource implementation for HdfsSource.
 96039  func (hs HdfsSource) AsRestSource() (*RestSource, bool) {
 96040  	return nil, false
 96041  }
 96042  
 96043  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for HdfsSource.
 96044  func (hs HdfsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
 96045  	return nil, false
 96046  }
 96047  
 96048  // AsODataSource is the BasicCopySource implementation for HdfsSource.
 96049  func (hs HdfsSource) AsODataSource() (*ODataSource, bool) {
 96050  	return nil, false
 96051  }
 96052  
 96053  // AsMicrosoftAccessSource is the BasicCopySource implementation for HdfsSource.
 96054  func (hs HdfsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
 96055  	return nil, false
 96056  }
 96057  
 96058  // AsRelationalSource is the BasicCopySource implementation for HdfsSource.
 96059  func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) {
 96060  	return nil, false
 96061  }
 96062  
 96063  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HdfsSource.
 96064  func (hs HdfsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
 96065  	return nil, false
 96066  }
 96067  
 96068  // AsDynamicsCrmSource is the BasicCopySource implementation for HdfsSource.
 96069  func (hs HdfsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
 96070  	return nil, false
 96071  }
 96072  
 96073  // AsDynamicsSource is the BasicCopySource implementation for HdfsSource.
 96074  func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) {
 96075  	return nil, false
 96076  }
 96077  
 96078  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for HdfsSource.
 96079  func (hs HdfsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
 96080  	return nil, false
 96081  }
 96082  
 96083  // AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource.
 96084  func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
 96085  	return nil, false
 96086  }
 96087  
 96088  // AsBlobSource is the BasicCopySource implementation for HdfsSource.
 96089  func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) {
 96090  	return nil, false
 96091  }
 96092  
 96093  // AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource.
 96094  func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
 96095  	return nil, false
 96096  }
 96097  
 96098  // AsGoogleAdWordsSource is the BasicCopySource implementation for HdfsSource.
 96099  func (hs HdfsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
 96100  	return nil, false
 96101  }
 96102  
 96103  // AsOracleServiceCloudSource is the BasicCopySource implementation for HdfsSource.
 96104  func (hs HdfsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
 96105  	return nil, false
 96106  }
 96107  
 96108  // AsDynamicsAXSource is the BasicCopySource implementation for HdfsSource.
 96109  func (hs HdfsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
 96110  	return nil, false
 96111  }
 96112  
 96113  // AsResponsysSource is the BasicCopySource implementation for HdfsSource.
 96114  func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) {
 96115  	return nil, false
 96116  }
 96117  
 96118  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource.
 96119  func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
 96120  	return nil, false
 96121  }
 96122  
 96123  // AsVerticaSource is the BasicCopySource implementation for HdfsSource.
 96124  func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) {
 96125  	return nil, false
 96126  }
 96127  
 96128  // AsNetezzaSource is the BasicCopySource implementation for HdfsSource.
 96129  func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) {
 96130  	return nil, false
 96131  }
 96132  
 96133  // AsZohoSource is the BasicCopySource implementation for HdfsSource.
 96134  func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) {
 96135  	return nil, false
 96136  }
 96137  
 96138  // AsXeroSource is the BasicCopySource implementation for HdfsSource.
 96139  func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) {
 96140  	return nil, false
 96141  }
 96142  
 96143  // AsSquareSource is the BasicCopySource implementation for HdfsSource.
 96144  func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) {
 96145  	return nil, false
 96146  }
 96147  
 96148  // AsSparkSource is the BasicCopySource implementation for HdfsSource.
 96149  func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) {
 96150  	return nil, false
 96151  }
 96152  
 96153  // AsShopifySource is the BasicCopySource implementation for HdfsSource.
 96154  func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) {
 96155  	return nil, false
 96156  }
 96157  
 96158  // AsServiceNowSource is the BasicCopySource implementation for HdfsSource.
 96159  func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) {
 96160  	return nil, false
 96161  }
 96162  
 96163  // AsQuickBooksSource is the BasicCopySource implementation for HdfsSource.
 96164  func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
 96165  	return nil, false
 96166  }
 96167  
 96168  // AsPrestoSource is the BasicCopySource implementation for HdfsSource.
 96169  func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) {
 96170  	return nil, false
 96171  }
 96172  
 96173  // AsPhoenixSource is the BasicCopySource implementation for HdfsSource.
 96174  func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) {
 96175  	return nil, false
 96176  }
 96177  
 96178  // AsPaypalSource is the BasicCopySource implementation for HdfsSource.
 96179  func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) {
 96180  	return nil, false
 96181  }
 96182  
 96183  // AsMarketoSource is the BasicCopySource implementation for HdfsSource.
 96184  func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) {
 96185  	return nil, false
 96186  }
 96187  
 96188  // AsAzureMariaDBSource is the BasicCopySource implementation for HdfsSource.
 96189  func (hs HdfsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
 96190  	return nil, false
 96191  }
 96192  
 96193  // AsMariaDBSource is the BasicCopySource implementation for HdfsSource.
 96194  func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) {
 96195  	return nil, false
 96196  }
 96197  
 96198  // AsMagentoSource is the BasicCopySource implementation for HdfsSource.
 96199  func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) {
 96200  	return nil, false
 96201  }
 96202  
 96203  // AsJiraSource is the BasicCopySource implementation for HdfsSource.
 96204  func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) {
 96205  	return nil, false
 96206  }
 96207  
 96208  // AsImpalaSource is the BasicCopySource implementation for HdfsSource.
 96209  func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) {
 96210  	return nil, false
 96211  }
 96212  
 96213  // AsHubspotSource is the BasicCopySource implementation for HdfsSource.
 96214  func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) {
 96215  	return nil, false
 96216  }
 96217  
 96218  // AsHiveSource is the BasicCopySource implementation for HdfsSource.
 96219  func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) {
 96220  	return nil, false
 96221  }
 96222  
 96223  // AsHBaseSource is the BasicCopySource implementation for HdfsSource.
 96224  func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) {
 96225  	return nil, false
 96226  }
 96227  
 96228  // AsGreenplumSource is the BasicCopySource implementation for HdfsSource.
 96229  func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) {
 96230  	return nil, false
 96231  }
 96232  
 96233  // AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource.
 96234  func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
 96235  	return nil, false
 96236  }
 96237  
 96238  // AsEloquaSource is the BasicCopySource implementation for HdfsSource.
 96239  func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) {
 96240  	return nil, false
 96241  }
 96242  
 96243  // AsDrillSource is the BasicCopySource implementation for HdfsSource.
 96244  func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) {
 96245  	return nil, false
 96246  }
 96247  
 96248  // AsCouchbaseSource is the BasicCopySource implementation for HdfsSource.
 96249  func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
 96250  	return nil, false
 96251  }
 96252  
 96253  // AsConcurSource is the BasicCopySource implementation for HdfsSource.
 96254  func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) {
 96255  	return nil, false
 96256  }
 96257  
 96258  // AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource.
 96259  func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
 96260  	return nil, false
 96261  }
 96262  
 96263  // AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource.
 96264  func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
 96265  	return nil, false
 96266  }
 96267  
 96268  // AsCassandraSource is the BasicCopySource implementation for HdfsSource.
 96269  func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) {
 96270  	return nil, false
 96271  }
 96272  
 96273  // AsTeradataSource is the BasicCopySource implementation for HdfsSource.
 96274  func (hs HdfsSource) AsTeradataSource() (*TeradataSource, bool) {
 96275  	return nil, false
 96276  }
 96277  
 96278  // AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource.
 96279  func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
 96280  	return nil, false
 96281  }
 96282  
 96283  // AsSQLDWSource is the BasicCopySource implementation for HdfsSource.
 96284  func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) {
 96285  	return nil, false
 96286  }
 96287  
 96288  // AsSQLMISource is the BasicCopySource implementation for HdfsSource.
 96289  func (hs HdfsSource) AsSQLMISource() (*SQLMISource, bool) {
 96290  	return nil, false
 96291  }
 96292  
 96293  // AsAzureSQLSource is the BasicCopySource implementation for HdfsSource.
 96294  func (hs HdfsSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
 96295  	return nil, false
 96296  }
 96297  
 96298  // AsSQLServerSource is the BasicCopySource implementation for HdfsSource.
 96299  func (hs HdfsSource) AsSQLServerSource() (*SQLServerSource, bool) {
 96300  	return nil, false
 96301  }
 96302  
 96303  // AsSQLSource is the BasicCopySource implementation for HdfsSource.
 96304  func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) {
 96305  	return nil, false
 96306  }
 96307  
 96308  // AsSapTableSource is the BasicCopySource implementation for HdfsSource.
 96309  func (hs HdfsSource) AsSapTableSource() (*SapTableSource, bool) {
 96310  	return nil, false
 96311  }
 96312  
 96313  // AsSapOpenHubSource is the BasicCopySource implementation for HdfsSource.
 96314  func (hs HdfsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
 96315  	return nil, false
 96316  }
 96317  
 96318  // AsSapHanaSource is the BasicCopySource implementation for HdfsSource.
 96319  func (hs HdfsSource) AsSapHanaSource() (*SapHanaSource, bool) {
 96320  	return nil, false
 96321  }
 96322  
 96323  // AsSapEccSource is the BasicCopySource implementation for HdfsSource.
 96324  func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) {
 96325  	return nil, false
 96326  }
 96327  
 96328  // AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource.
 96329  func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
 96330  	return nil, false
 96331  }
 96332  
 96333  // AsSalesforceSource is the BasicCopySource implementation for HdfsSource.
 96334  func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) {
 96335  	return nil, false
 96336  }
 96337  
 96338  // AsSapBwSource is the BasicCopySource implementation for HdfsSource.
 96339  func (hs HdfsSource) AsSapBwSource() (*SapBwSource, bool) {
 96340  	return nil, false
 96341  }
 96342  
 96343  // AsSybaseSource is the BasicCopySource implementation for HdfsSource.
 96344  func (hs HdfsSource) AsSybaseSource() (*SybaseSource, bool) {
 96345  	return nil, false
 96346  }
 96347  
 96348  // AsPostgreSQLSource is the BasicCopySource implementation for HdfsSource.
 96349  func (hs HdfsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
 96350  	return nil, false
 96351  }
 96352  
 96353  // AsMySQLSource is the BasicCopySource implementation for HdfsSource.
 96354  func (hs HdfsSource) AsMySQLSource() (*MySQLSource, bool) {
 96355  	return nil, false
 96356  }
 96357  
 96358  // AsOdbcSource is the BasicCopySource implementation for HdfsSource.
 96359  func (hs HdfsSource) AsOdbcSource() (*OdbcSource, bool) {
 96360  	return nil, false
 96361  }
 96362  
 96363  // AsDb2Source is the BasicCopySource implementation for HdfsSource.
 96364  func (hs HdfsSource) AsDb2Source() (*Db2Source, bool) {
 96365  	return nil, false
 96366  }
 96367  
 96368  // AsInformixSource is the BasicCopySource implementation for HdfsSource.
 96369  func (hs HdfsSource) AsInformixSource() (*InformixSource, bool) {
 96370  	return nil, false
 96371  }
 96372  
 96373  // AsAzureTableSource is the BasicCopySource implementation for HdfsSource.
 96374  func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) {
 96375  	return nil, false
 96376  }
 96377  
 96378  // AsTabularSource is the BasicCopySource implementation for HdfsSource.
 96379  func (hs HdfsSource) AsTabularSource() (*TabularSource, bool) {
 96380  	return nil, false
 96381  }
 96382  
 96383  // AsBasicTabularSource is the BasicCopySource implementation for HdfsSource.
 96384  func (hs HdfsSource) AsBasicTabularSource() (BasicTabularSource, bool) {
 96385  	return nil, false
 96386  }
 96387  
 96388  // AsBinarySource is the BasicCopySource implementation for HdfsSource.
 96389  func (hs HdfsSource) AsBinarySource() (*BinarySource, bool) {
 96390  	return nil, false
 96391  }
 96392  
 96393  // AsOrcSource is the BasicCopySource implementation for HdfsSource.
 96394  func (hs HdfsSource) AsOrcSource() (*OrcSource, bool) {
 96395  	return nil, false
 96396  }
 96397  
 96398  // AsJSONSource is the BasicCopySource implementation for HdfsSource.
 96399  func (hs HdfsSource) AsJSONSource() (*JSONSource, bool) {
 96400  	return nil, false
 96401  }
 96402  
 96403  // AsDelimitedTextSource is the BasicCopySource implementation for HdfsSource.
 96404  func (hs HdfsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
 96405  	return nil, false
 96406  }
 96407  
 96408  // AsParquetSource is the BasicCopySource implementation for HdfsSource.
 96409  func (hs HdfsSource) AsParquetSource() (*ParquetSource, bool) {
 96410  	return nil, false
 96411  }
 96412  
 96413  // AsAvroSource is the BasicCopySource implementation for HdfsSource.
 96414  func (hs HdfsSource) AsAvroSource() (*AvroSource, bool) {
 96415  	return nil, false
 96416  }
 96417  
 96418  // AsCopySource is the BasicCopySource implementation for HdfsSource.
 96419  func (hs HdfsSource) AsCopySource() (*CopySource, bool) {
 96420  	return nil, false
 96421  }
 96422  
 96423  // AsBasicCopySource is the BasicCopySource implementation for HdfsSource.
 96424  func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) {
 96425  	return &hs, true
 96426  }
 96427  
 96428  // UnmarshalJSON is the custom unmarshaler for HdfsSource struct.
 96429  func (hs *HdfsSource) UnmarshalJSON(body []byte) error {
 96430  	var m map[string]*json.RawMessage
 96431  	err := json.Unmarshal(body, &m)
 96432  	if err != nil {
 96433  		return err
 96434  	}
 96435  	for k, v := range m {
 96436  		switch k {
 96437  		case "recursive":
 96438  			if v != nil {
 96439  				var recursive interface{}
 96440  				err = json.Unmarshal(*v, &recursive)
 96441  				if err != nil {
 96442  					return err
 96443  				}
 96444  				hs.Recursive = recursive
 96445  			}
 96446  		case "distcpSettings":
 96447  			if v != nil {
 96448  				var distcpSettings DistcpSettings
 96449  				err = json.Unmarshal(*v, &distcpSettings)
 96450  				if err != nil {
 96451  					return err
 96452  				}
 96453  				hs.DistcpSettings = &distcpSettings
 96454  			}
 96455  		default:
 96456  			if v != nil {
 96457  				var additionalProperties interface{}
 96458  				err = json.Unmarshal(*v, &additionalProperties)
 96459  				if err != nil {
 96460  					return err
 96461  				}
 96462  				if hs.AdditionalProperties == nil {
 96463  					hs.AdditionalProperties = make(map[string]interface{})
 96464  				}
 96465  				hs.AdditionalProperties[k] = additionalProperties
 96466  			}
 96467  		case "sourceRetryCount":
 96468  			if v != nil {
 96469  				var sourceRetryCount interface{}
 96470  				err = json.Unmarshal(*v, &sourceRetryCount)
 96471  				if err != nil {
 96472  					return err
 96473  				}
 96474  				hs.SourceRetryCount = sourceRetryCount
 96475  			}
 96476  		case "sourceRetryWait":
 96477  			if v != nil {
 96478  				var sourceRetryWait interface{}
 96479  				err = json.Unmarshal(*v, &sourceRetryWait)
 96480  				if err != nil {
 96481  					return err
 96482  				}
 96483  				hs.SourceRetryWait = sourceRetryWait
 96484  			}
 96485  		case "maxConcurrentConnections":
 96486  			if v != nil {
 96487  				var maxConcurrentConnections interface{}
 96488  				err = json.Unmarshal(*v, &maxConcurrentConnections)
 96489  				if err != nil {
 96490  					return err
 96491  				}
 96492  				hs.MaxConcurrentConnections = maxConcurrentConnections
 96493  			}
 96494  		case "type":
 96495  			if v != nil {
 96496  				var typeVar TypeBasicCopySource
 96497  				err = json.Unmarshal(*v, &typeVar)
 96498  				if err != nil {
 96499  					return err
 96500  				}
 96501  				hs.Type = typeVar
 96502  			}
 96503  		}
 96504  	}
 96505  
 96506  	return nil
 96507  }
 96508  
 96509  // HDInsightHiveActivity hDInsight Hive activity type.
 96510  type HDInsightHiveActivity struct {
 96511  	// HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties.
 96512  	*HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"`
 96513  	// LinkedServiceName - Linked service reference.
 96514  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 96515  	// Policy - Activity policy.
 96516  	Policy *ActivityPolicy `json:"policy,omitempty"`
 96517  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 96518  	AdditionalProperties map[string]interface{} `json:""`
 96519  	// Name - Activity name.
 96520  	Name *string `json:"name,omitempty"`
 96521  	// Description - Activity description.
 96522  	Description *string `json:"description,omitempty"`
 96523  	// DependsOn - Activity depends on condition.
 96524  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 96525  	// UserProperties - Activity user properties.
 96526  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 96527  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 96528  	Type TypeBasicActivity `json:"type,omitempty"`
 96529  }
 96530  
 96531  // MarshalJSON is the custom marshaler for HDInsightHiveActivity.
 96532  func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) {
 96533  	hiha.Type = TypeHDInsightHive
 96534  	objectMap := make(map[string]interface{})
 96535  	if hiha.HDInsightHiveActivityTypeProperties != nil {
 96536  		objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties
 96537  	}
 96538  	if hiha.LinkedServiceName != nil {
 96539  		objectMap["linkedServiceName"] = hiha.LinkedServiceName
 96540  	}
 96541  	if hiha.Policy != nil {
 96542  		objectMap["policy"] = hiha.Policy
 96543  	}
 96544  	if hiha.Name != nil {
 96545  		objectMap["name"] = hiha.Name
 96546  	}
 96547  	if hiha.Description != nil {
 96548  		objectMap["description"] = hiha.Description
 96549  	}
 96550  	if hiha.DependsOn != nil {
 96551  		objectMap["dependsOn"] = hiha.DependsOn
 96552  	}
 96553  	if hiha.UserProperties != nil {
 96554  		objectMap["userProperties"] = hiha.UserProperties
 96555  	}
 96556  	if hiha.Type != "" {
 96557  		objectMap["type"] = hiha.Type
 96558  	}
 96559  	for k, v := range hiha.AdditionalProperties {
 96560  		objectMap[k] = v
 96561  	}
 96562  	return json.Marshal(objectMap)
 96563  }
 96564  
 96565  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96566  func (hiha HDInsightHiveActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 96567  	return nil, false
 96568  }
 96569  
 96570  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96571  func (hiha HDInsightHiveActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 96572  	return nil, false
 96573  }
 96574  
 96575  // AsSynapseNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96576  func (hiha HDInsightHiveActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 96577  	return nil, false
 96578  }
 96579  
 96580  // AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96581  func (hiha HDInsightHiveActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 96582  	return nil, false
 96583  }
 96584  
 96585  // AsAzureFunctionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96586  func (hiha HDInsightHiveActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 96587  	return nil, false
 96588  }
 96589  
 96590  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96591  func (hiha HDInsightHiveActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 96592  	return nil, false
 96593  }
 96594  
 96595  // AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96596  func (hiha HDInsightHiveActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 96597  	return nil, false
 96598  }
 96599  
 96600  // AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96601  func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 96602  	return nil, false
 96603  }
 96604  
 96605  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96606  func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 96607  	return nil, false
 96608  }
 96609  
 96610  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96611  func (hiha HDInsightHiveActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 96612  	return nil, false
 96613  }
 96614  
 96615  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96616  func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 96617  	return nil, false
 96618  }
 96619  
 96620  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96621  func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 96622  	return nil, false
 96623  }
 96624  
 96625  // AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96626  func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 96627  	return nil, false
 96628  }
 96629  
 96630  // AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96631  func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) {
 96632  	return nil, false
 96633  }
 96634  
 96635  // AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96636  func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) {
 96637  	return nil, false
 96638  }
 96639  
 96640  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96641  func (hiha HDInsightHiveActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 96642  	return nil, false
 96643  }
 96644  
 96645  // AsDeleteActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96646  func (hiha HDInsightHiveActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 96647  	return nil, false
 96648  }
 96649  
 96650  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96651  func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 96652  	return nil, false
 96653  }
 96654  
 96655  // AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96656  func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) {
 96657  	return nil, false
 96658  }
 96659  
 96660  // AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96661  func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 96662  	return nil, false
 96663  }
 96664  
 96665  // AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96666  func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 96667  	return nil, false
 96668  }
 96669  
 96670  // AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96671  func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 96672  	return nil, false
 96673  }
 96674  
 96675  // AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96676  func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 96677  	return nil, false
 96678  }
 96679  
 96680  // AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96681  func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 96682  	return nil, false
 96683  }
 96684  
 96685  // AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96686  func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 96687  	return &hiha, true
 96688  }
 96689  
 96690  // AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96691  func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) {
 96692  	return nil, false
 96693  }
 96694  
 96695  // AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96696  func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 96697  	return nil, false
 96698  }
 96699  
 96700  // AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96701  func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 96702  	return &hiha, true
 96703  }
 96704  
 96705  // AsWebHookActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96706  func (hiha HDInsightHiveActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 96707  	return nil, false
 96708  }
 96709  
 96710  // AsAppendVariableActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96711  func (hiha HDInsightHiveActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 96712  	return nil, false
 96713  }
 96714  
 96715  // AsSetVariableActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96716  func (hiha HDInsightHiveActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 96717  	return nil, false
 96718  }
 96719  
 96720  // AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96721  func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) {
 96722  	return nil, false
 96723  }
 96724  
 96725  // AsValidationActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96726  func (hiha HDInsightHiveActivity) AsValidationActivity() (*ValidationActivity, bool) {
 96727  	return nil, false
 96728  }
 96729  
 96730  // AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96731  func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) {
 96732  	return nil, false
 96733  }
 96734  
 96735  // AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96736  func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) {
 96737  	return nil, false
 96738  }
 96739  
 96740  // AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96741  func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) {
 96742  	return nil, false
 96743  }
 96744  
 96745  // AsSwitchActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96746  func (hiha HDInsightHiveActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 96747  	return nil, false
 96748  }
 96749  
 96750  // AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96751  func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 96752  	return nil, false
 96753  }
 96754  
 96755  // AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96756  func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 96757  	return nil, false
 96758  }
 96759  
 96760  // AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96761  func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) {
 96762  	return nil, false
 96763  }
 96764  
 96765  // AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96766  func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 96767  	return nil, false
 96768  }
 96769  
 96770  // AsActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96771  func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) {
 96772  	return nil, false
 96773  }
 96774  
 96775  // AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity.
 96776  func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) {
 96777  	return &hiha, true
 96778  }
 96779  
 96780  // UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct.
 96781  func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error {
 96782  	var m map[string]*json.RawMessage
 96783  	err := json.Unmarshal(body, &m)
 96784  	if err != nil {
 96785  		return err
 96786  	}
 96787  	for k, v := range m {
 96788  		switch k {
 96789  		case "typeProperties":
 96790  			if v != nil {
 96791  				var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties
 96792  				err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties)
 96793  				if err != nil {
 96794  					return err
 96795  				}
 96796  				hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties
 96797  			}
 96798  		case "linkedServiceName":
 96799  			if v != nil {
 96800  				var linkedServiceName LinkedServiceReference
 96801  				err = json.Unmarshal(*v, &linkedServiceName)
 96802  				if err != nil {
 96803  					return err
 96804  				}
 96805  				hiha.LinkedServiceName = &linkedServiceName
 96806  			}
 96807  		case "policy":
 96808  			if v != nil {
 96809  				var policy ActivityPolicy
 96810  				err = json.Unmarshal(*v, &policy)
 96811  				if err != nil {
 96812  					return err
 96813  				}
 96814  				hiha.Policy = &policy
 96815  			}
 96816  		default:
 96817  			if v != nil {
 96818  				var additionalProperties interface{}
 96819  				err = json.Unmarshal(*v, &additionalProperties)
 96820  				if err != nil {
 96821  					return err
 96822  				}
 96823  				if hiha.AdditionalProperties == nil {
 96824  					hiha.AdditionalProperties = make(map[string]interface{})
 96825  				}
 96826  				hiha.AdditionalProperties[k] = additionalProperties
 96827  			}
 96828  		case "name":
 96829  			if v != nil {
 96830  				var name string
 96831  				err = json.Unmarshal(*v, &name)
 96832  				if err != nil {
 96833  					return err
 96834  				}
 96835  				hiha.Name = &name
 96836  			}
 96837  		case "description":
 96838  			if v != nil {
 96839  				var description string
 96840  				err = json.Unmarshal(*v, &description)
 96841  				if err != nil {
 96842  					return err
 96843  				}
 96844  				hiha.Description = &description
 96845  			}
 96846  		case "dependsOn":
 96847  			if v != nil {
 96848  				var dependsOn []ActivityDependency
 96849  				err = json.Unmarshal(*v, &dependsOn)
 96850  				if err != nil {
 96851  					return err
 96852  				}
 96853  				hiha.DependsOn = &dependsOn
 96854  			}
 96855  		case "userProperties":
 96856  			if v != nil {
 96857  				var userProperties []UserProperty
 96858  				err = json.Unmarshal(*v, &userProperties)
 96859  				if err != nil {
 96860  					return err
 96861  				}
 96862  				hiha.UserProperties = &userProperties
 96863  			}
 96864  		case "type":
 96865  			if v != nil {
 96866  				var typeVar TypeBasicActivity
 96867  				err = json.Unmarshal(*v, &typeVar)
 96868  				if err != nil {
 96869  					return err
 96870  				}
 96871  				hiha.Type = typeVar
 96872  			}
 96873  		}
 96874  	}
 96875  
 96876  	return nil
 96877  }
 96878  
 96879  // HDInsightHiveActivityTypeProperties hDInsight Hive activity properties.
 96880  type HDInsightHiveActivityTypeProperties struct {
 96881  	// StorageLinkedServices - Storage linked service references.
 96882  	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
 96883  	// Arguments - User specified arguments to HDInsightActivity.
 96884  	Arguments *[]interface{} `json:"arguments,omitempty"`
 96885  	// GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure'
 96886  	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
 96887  	// ScriptPath - Script path. Type: string (or Expression with resultType string).
 96888  	ScriptPath interface{} `json:"scriptPath,omitempty"`
 96889  	// ScriptLinkedService - Script linked service reference.
 96890  	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
 96891  	// Defines - Allows user to specify defines for Hive job request.
 96892  	Defines map[string]interface{} `json:"defines"`
 96893  	// Variables - User specified arguments under hivevar namespace.
 96894  	Variables *[]interface{} `json:"variables,omitempty"`
 96895  	// QueryTimeout - Query timeout value (in minutes).  Effective when the HDInsight cluster is with ESP (Enterprise Security Package)
 96896  	QueryTimeout *int32 `json:"queryTimeout,omitempty"`
 96897  }
 96898  
 96899  // MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties.
 96900  func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) {
 96901  	objectMap := make(map[string]interface{})
 96902  	if hihatp.StorageLinkedServices != nil {
 96903  		objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices
 96904  	}
 96905  	if hihatp.Arguments != nil {
 96906  		objectMap["arguments"] = hihatp.Arguments
 96907  	}
 96908  	if hihatp.GetDebugInfo != "" {
 96909  		objectMap["getDebugInfo"] = hihatp.GetDebugInfo
 96910  	}
 96911  	if hihatp.ScriptPath != nil {
 96912  		objectMap["scriptPath"] = hihatp.ScriptPath
 96913  	}
 96914  	if hihatp.ScriptLinkedService != nil {
 96915  		objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService
 96916  	}
 96917  	if hihatp.Defines != nil {
 96918  		objectMap["defines"] = hihatp.Defines
 96919  	}
 96920  	if hihatp.Variables != nil {
 96921  		objectMap["variables"] = hihatp.Variables
 96922  	}
 96923  	if hihatp.QueryTimeout != nil {
 96924  		objectMap["queryTimeout"] = hihatp.QueryTimeout
 96925  	}
 96926  	return json.Marshal(objectMap)
 96927  }
 96928  
 96929  // HDInsightLinkedService hDInsight linked service.
 96930  type HDInsightLinkedService struct {
 96931  	// HDInsightLinkedServiceTypeProperties - HDInsight linked service properties.
 96932  	*HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 96933  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 96934  	AdditionalProperties map[string]interface{} `json:""`
 96935  	// ConnectVia - The integration runtime reference.
 96936  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 96937  	// Description - Linked service description.
 96938  	Description *string `json:"description,omitempty"`
 96939  	// Parameters - Parameters for linked service.
 96940  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 96941  	// Annotations - List of tags that can be used for describing the linked service.
 96942  	Annotations *[]interface{} `json:"annotations,omitempty"`
 96943  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 96944  	Type TypeBasicLinkedService `json:"type,omitempty"`
 96945  }
 96946  
 96947  // MarshalJSON is the custom marshaler for HDInsightLinkedService.
 96948  func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) {
 96949  	hils.Type = TypeHDInsight
 96950  	objectMap := make(map[string]interface{})
 96951  	if hils.HDInsightLinkedServiceTypeProperties != nil {
 96952  		objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties
 96953  	}
 96954  	if hils.ConnectVia != nil {
 96955  		objectMap["connectVia"] = hils.ConnectVia
 96956  	}
 96957  	if hils.Description != nil {
 96958  		objectMap["description"] = hils.Description
 96959  	}
 96960  	if hils.Parameters != nil {
 96961  		objectMap["parameters"] = hils.Parameters
 96962  	}
 96963  	if hils.Annotations != nil {
 96964  		objectMap["annotations"] = hils.Annotations
 96965  	}
 96966  	if hils.Type != "" {
 96967  		objectMap["type"] = hils.Type
 96968  	}
 96969  	for k, v := range hils.AdditionalProperties {
 96970  		objectMap[k] = v
 96971  	}
 96972  	return json.Marshal(objectMap)
 96973  }
 96974  
 96975  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 96976  func (hils HDInsightLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 96977  	return nil, false
 96978  }
 96979  
 96980  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 96981  func (hils HDInsightLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 96982  	return nil, false
 96983  }
 96984  
 96985  // AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 96986  func (hils HDInsightLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 96987  	return nil, false
 96988  }
 96989  
 96990  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 96991  func (hils HDInsightLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 96992  	return nil, false
 96993  }
 96994  
 96995  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 96996  func (hils HDInsightLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 96997  	return nil, false
 96998  }
 96999  
 97000  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97001  func (hils HDInsightLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 97002  	return nil, false
 97003  }
 97004  
 97005  // AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97006  func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 97007  	return nil, false
 97008  }
 97009  
 97010  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97011  func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 97012  	return nil, false
 97013  }
 97014  
 97015  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97016  func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 97017  	return nil, false
 97018  }
 97019  
 97020  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97021  func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 97022  	return nil, false
 97023  }
 97024  
 97025  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97026  func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 97027  	return nil, false
 97028  }
 97029  
 97030  // AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97031  func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 97032  	return nil, false
 97033  }
 97034  
 97035  // AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97036  func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 97037  	return nil, false
 97038  }
 97039  
 97040  // AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97041  func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 97042  	return nil, false
 97043  }
 97044  
 97045  // AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97046  func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 97047  	return nil, false
 97048  }
 97049  
 97050  // AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97051  func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 97052  	return nil, false
 97053  }
 97054  
 97055  // AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97056  func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 97057  	return nil, false
 97058  }
 97059  
 97060  // AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97061  func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 97062  	return nil, false
 97063  }
 97064  
 97065  // AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97066  func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 97067  	return nil, false
 97068  }
 97069  
 97070  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97071  func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 97072  	return nil, false
 97073  }
 97074  
 97075  // AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97076  func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 97077  	return nil, false
 97078  }
 97079  
 97080  // AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97081  func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 97082  	return nil, false
 97083  }
 97084  
 97085  // AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97086  func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 97087  	return nil, false
 97088  }
 97089  
 97090  // AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97091  func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 97092  	return nil, false
 97093  }
 97094  
 97095  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97096  func (hils HDInsightLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 97097  	return nil, false
 97098  }
 97099  
 97100  // AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97101  func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 97102  	return nil, false
 97103  }
 97104  
 97105  // AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97106  func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 97107  	return nil, false
 97108  }
 97109  
 97110  // AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97111  func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 97112  	return nil, false
 97113  }
 97114  
 97115  // AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97116  func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 97117  	return nil, false
 97118  }
 97119  
 97120  // AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97121  func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 97122  	return nil, false
 97123  }
 97124  
 97125  // AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97126  func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 97127  	return nil, false
 97128  }
 97129  
 97130  // AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97131  func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 97132  	return nil, false
 97133  }
 97134  
 97135  // AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97136  func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 97137  	return nil, false
 97138  }
 97139  
 97140  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97141  func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 97142  	return nil, false
 97143  }
 97144  
 97145  // AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97146  func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 97147  	return nil, false
 97148  }
 97149  
 97150  // AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97151  func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 97152  	return nil, false
 97153  }
 97154  
 97155  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97156  func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 97157  	return nil, false
 97158  }
 97159  
 97160  // AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97161  func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 97162  	return nil, false
 97163  }
 97164  
 97165  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97166  func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 97167  	return nil, false
 97168  }
 97169  
 97170  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97171  func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 97172  	return nil, false
 97173  }
 97174  
 97175  // AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97176  func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 97177  	return nil, false
 97178  }
 97179  
 97180  // AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97181  func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 97182  	return nil, false
 97183  }
 97184  
 97185  // AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97186  func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 97187  	return nil, false
 97188  }
 97189  
 97190  // AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97191  func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 97192  	return nil, false
 97193  }
 97194  
 97195  // AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97196  func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 97197  	return nil, false
 97198  }
 97199  
 97200  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97201  func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 97202  	return nil, false
 97203  }
 97204  
 97205  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97206  func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 97207  	return nil, false
 97208  }
 97209  
 97210  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97211  func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 97212  	return nil, false
 97213  }
 97214  
 97215  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97216  func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 97217  	return nil, false
 97218  }
 97219  
 97220  // AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97221  func (hils HDInsightLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 97222  	return nil, false
 97223  }
 97224  
 97225  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97226  func (hils HDInsightLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 97227  	return nil, false
 97228  }
 97229  
 97230  // AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97231  func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 97232  	return nil, false
 97233  }
 97234  
 97235  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97236  func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 97237  	return nil, false
 97238  }
 97239  
 97240  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97241  func (hils HDInsightLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 97242  	return nil, false
 97243  }
 97244  
 97245  // AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97246  func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 97247  	return nil, false
 97248  }
 97249  
 97250  // AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97251  func (hils HDInsightLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 97252  	return nil, false
 97253  }
 97254  
 97255  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97256  func (hils HDInsightLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 97257  	return nil, false
 97258  }
 97259  
 97260  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97261  func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 97262  	return nil, false
 97263  }
 97264  
 97265  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97266  func (hils HDInsightLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 97267  	return nil, false
 97268  }
 97269  
 97270  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97271  func (hils HDInsightLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 97272  	return nil, false
 97273  }
 97274  
 97275  // AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97276  func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 97277  	return nil, false
 97278  }
 97279  
 97280  // AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97281  func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 97282  	return nil, false
 97283  }
 97284  
 97285  // AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97286  func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 97287  	return nil, false
 97288  }
 97289  
 97290  // AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97291  func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 97292  	return nil, false
 97293  }
 97294  
 97295  // AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97296  func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 97297  	return nil, false
 97298  }
 97299  
 97300  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97301  func (hils HDInsightLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 97302  	return nil, false
 97303  }
 97304  
 97305  // AsInformixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97306  func (hils HDInsightLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 97307  	return nil, false
 97308  }
 97309  
 97310  // AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97311  func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 97312  	return nil, false
 97313  }
 97314  
 97315  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97316  func (hils HDInsightLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 97317  	return nil, false
 97318  }
 97319  
 97320  // AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97321  func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 97322  	return nil, false
 97323  }
 97324  
 97325  // AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97326  func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 97327  	return nil, false
 97328  }
 97329  
 97330  // AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97331  func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 97332  	return nil, false
 97333  }
 97334  
 97335  // AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97336  func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 97337  	return nil, false
 97338  }
 97339  
 97340  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97341  func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 97342  	return nil, false
 97343  }
 97344  
 97345  // AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97346  func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 97347  	return nil, false
 97348  }
 97349  
 97350  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97351  func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 97352  	return nil, false
 97353  }
 97354  
 97355  // AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97356  func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 97357  	return nil, false
 97358  }
 97359  
 97360  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97361  func (hils HDInsightLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 97362  	return nil, false
 97363  }
 97364  
 97365  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97366  func (hils HDInsightLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 97367  	return nil, false
 97368  }
 97369  
 97370  // AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97371  func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 97372  	return nil, false
 97373  }
 97374  
 97375  // AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97376  func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 97377  	return &hils, true
 97378  }
 97379  
 97380  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97381  func (hils HDInsightLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 97382  	return nil, false
 97383  }
 97384  
 97385  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97386  func (hils HDInsightLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 97387  	return nil, false
 97388  }
 97389  
 97390  // AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97391  func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 97392  	return nil, false
 97393  }
 97394  
 97395  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97396  func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 97397  	return nil, false
 97398  }
 97399  
 97400  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97401  func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 97402  	return nil, false
 97403  }
 97404  
 97405  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97406  func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 97407  	return nil, false
 97408  }
 97409  
 97410  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97411  func (hils HDInsightLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 97412  	return nil, false
 97413  }
 97414  
 97415  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97416  func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 97417  	return nil, false
 97418  }
 97419  
 97420  // AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97421  func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 97422  	return nil, false
 97423  }
 97424  
 97425  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97426  func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 97427  	return nil, false
 97428  }
 97429  
 97430  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97431  func (hils HDInsightLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 97432  	return nil, false
 97433  }
 97434  
 97435  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97436  func (hils HDInsightLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 97437  	return nil, false
 97438  }
 97439  
 97440  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97441  func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 97442  	return nil, false
 97443  }
 97444  
 97445  // AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97446  func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) {
 97447  	return nil, false
 97448  }
 97449  
 97450  // AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService.
 97451  func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 97452  	return &hils, true
 97453  }
 97454  
 97455  // UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct.
 97456  func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error {
 97457  	var m map[string]*json.RawMessage
 97458  	err := json.Unmarshal(body, &m)
 97459  	if err != nil {
 97460  		return err
 97461  	}
 97462  	for k, v := range m {
 97463  		switch k {
 97464  		case "typeProperties":
 97465  			if v != nil {
 97466  				var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties
 97467  				err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties)
 97468  				if err != nil {
 97469  					return err
 97470  				}
 97471  				hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties
 97472  			}
 97473  		default:
 97474  			if v != nil {
 97475  				var additionalProperties interface{}
 97476  				err = json.Unmarshal(*v, &additionalProperties)
 97477  				if err != nil {
 97478  					return err
 97479  				}
 97480  				if hils.AdditionalProperties == nil {
 97481  					hils.AdditionalProperties = make(map[string]interface{})
 97482  				}
 97483  				hils.AdditionalProperties[k] = additionalProperties
 97484  			}
 97485  		case "connectVia":
 97486  			if v != nil {
 97487  				var connectVia IntegrationRuntimeReference
 97488  				err = json.Unmarshal(*v, &connectVia)
 97489  				if err != nil {
 97490  					return err
 97491  				}
 97492  				hils.ConnectVia = &connectVia
 97493  			}
 97494  		case "description":
 97495  			if v != nil {
 97496  				var description string
 97497  				err = json.Unmarshal(*v, &description)
 97498  				if err != nil {
 97499  					return err
 97500  				}
 97501  				hils.Description = &description
 97502  			}
 97503  		case "parameters":
 97504  			if v != nil {
 97505  				var parameters map[string]*ParameterSpecification
 97506  				err = json.Unmarshal(*v, &parameters)
 97507  				if err != nil {
 97508  					return err
 97509  				}
 97510  				hils.Parameters = parameters
 97511  			}
 97512  		case "annotations":
 97513  			if v != nil {
 97514  				var annotations []interface{}
 97515  				err = json.Unmarshal(*v, &annotations)
 97516  				if err != nil {
 97517  					return err
 97518  				}
 97519  				hils.Annotations = &annotations
 97520  			}
 97521  		case "type":
 97522  			if v != nil {
 97523  				var typeVar TypeBasicLinkedService
 97524  				err = json.Unmarshal(*v, &typeVar)
 97525  				if err != nil {
 97526  					return err
 97527  				}
 97528  				hils.Type = typeVar
 97529  			}
 97530  		}
 97531  	}
 97532  
 97533  	return nil
 97534  }
 97535  
 97536  // HDInsightLinkedServiceTypeProperties hDInsight linked service properties.
 97537  type HDInsightLinkedServiceTypeProperties struct {
 97538  	// ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string).
 97539  	ClusterURI interface{} `json:"clusterUri,omitempty"`
 97540  	// UserName - HDInsight cluster user name. Type: string (or Expression with resultType string).
 97541  	UserName interface{} `json:"userName,omitempty"`
 97542  	// Password - HDInsight cluster password.
 97543  	Password BasicSecretBase `json:"password,omitempty"`
 97544  	// LinkedServiceName - The Azure Storage linked service reference.
 97545  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 97546  	// HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database.
 97547  	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
 97548  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 97549  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 97550  	// IsEspEnabled - Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean.
 97551  	IsEspEnabled interface{} `json:"isEspEnabled,omitempty"`
 97552  	// FileSystem - Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string).
 97553  	FileSystem interface{} `json:"fileSystem,omitempty"`
 97554  }
 97555  
 97556  // UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct.
 97557  func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 97558  	var m map[string]*json.RawMessage
 97559  	err := json.Unmarshal(body, &m)
 97560  	if err != nil {
 97561  		return err
 97562  	}
 97563  	for k, v := range m {
 97564  		switch k {
 97565  		case "clusterUri":
 97566  			if v != nil {
 97567  				var clusterURI interface{}
 97568  				err = json.Unmarshal(*v, &clusterURI)
 97569  				if err != nil {
 97570  					return err
 97571  				}
 97572  				hilstp.ClusterURI = clusterURI
 97573  			}
 97574  		case "userName":
 97575  			if v != nil {
 97576  				var userName interface{}
 97577  				err = json.Unmarshal(*v, &userName)
 97578  				if err != nil {
 97579  					return err
 97580  				}
 97581  				hilstp.UserName = userName
 97582  			}
 97583  		case "password":
 97584  			if v != nil {
 97585  				password, err := unmarshalBasicSecretBase(*v)
 97586  				if err != nil {
 97587  					return err
 97588  				}
 97589  				hilstp.Password = password
 97590  			}
 97591  		case "linkedServiceName":
 97592  			if v != nil {
 97593  				var linkedServiceName LinkedServiceReference
 97594  				err = json.Unmarshal(*v, &linkedServiceName)
 97595  				if err != nil {
 97596  					return err
 97597  				}
 97598  				hilstp.LinkedServiceName = &linkedServiceName
 97599  			}
 97600  		case "hcatalogLinkedServiceName":
 97601  			if v != nil {
 97602  				var hcatalogLinkedServiceName LinkedServiceReference
 97603  				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
 97604  				if err != nil {
 97605  					return err
 97606  				}
 97607  				hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
 97608  			}
 97609  		case "encryptedCredential":
 97610  			if v != nil {
 97611  				var encryptedCredential interface{}
 97612  				err = json.Unmarshal(*v, &encryptedCredential)
 97613  				if err != nil {
 97614  					return err
 97615  				}
 97616  				hilstp.EncryptedCredential = encryptedCredential
 97617  			}
 97618  		case "isEspEnabled":
 97619  			if v != nil {
 97620  				var isEspEnabled interface{}
 97621  				err = json.Unmarshal(*v, &isEspEnabled)
 97622  				if err != nil {
 97623  					return err
 97624  				}
 97625  				hilstp.IsEspEnabled = isEspEnabled
 97626  			}
 97627  		case "fileSystem":
 97628  			if v != nil {
 97629  				var fileSystem interface{}
 97630  				err = json.Unmarshal(*v, &fileSystem)
 97631  				if err != nil {
 97632  					return err
 97633  				}
 97634  				hilstp.FileSystem = fileSystem
 97635  			}
 97636  		}
 97637  	}
 97638  
 97639  	return nil
 97640  }
 97641  
 97642  // HDInsightMapReduceActivity hDInsight MapReduce activity type.
 97643  type HDInsightMapReduceActivity struct {
 97644  	// HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties.
 97645  	*HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"`
 97646  	// LinkedServiceName - Linked service reference.
 97647  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 97648  	// Policy - Activity policy.
 97649  	Policy *ActivityPolicy `json:"policy,omitempty"`
 97650  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 97651  	AdditionalProperties map[string]interface{} `json:""`
 97652  	// Name - Activity name.
 97653  	Name *string `json:"name,omitempty"`
 97654  	// Description - Activity description.
 97655  	Description *string `json:"description,omitempty"`
 97656  	// DependsOn - Activity depends on condition.
 97657  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 97658  	// UserProperties - Activity user properties.
 97659  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 97660  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 97661  	Type TypeBasicActivity `json:"type,omitempty"`
 97662  }
 97663  
 97664  // MarshalJSON is the custom marshaler for HDInsightMapReduceActivity.
 97665  func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) {
 97666  	himra.Type = TypeHDInsightMapReduce
 97667  	objectMap := make(map[string]interface{})
 97668  	if himra.HDInsightMapReduceActivityTypeProperties != nil {
 97669  		objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties
 97670  	}
 97671  	if himra.LinkedServiceName != nil {
 97672  		objectMap["linkedServiceName"] = himra.LinkedServiceName
 97673  	}
 97674  	if himra.Policy != nil {
 97675  		objectMap["policy"] = himra.Policy
 97676  	}
 97677  	if himra.Name != nil {
 97678  		objectMap["name"] = himra.Name
 97679  	}
 97680  	if himra.Description != nil {
 97681  		objectMap["description"] = himra.Description
 97682  	}
 97683  	if himra.DependsOn != nil {
 97684  		objectMap["dependsOn"] = himra.DependsOn
 97685  	}
 97686  	if himra.UserProperties != nil {
 97687  		objectMap["userProperties"] = himra.UserProperties
 97688  	}
 97689  	if himra.Type != "" {
 97690  		objectMap["type"] = himra.Type
 97691  	}
 97692  	for k, v := range himra.AdditionalProperties {
 97693  		objectMap[k] = v
 97694  	}
 97695  	return json.Marshal(objectMap)
 97696  }
 97697  
 97698  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97699  func (himra HDInsightMapReduceActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 97700  	return nil, false
 97701  }
 97702  
 97703  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97704  func (himra HDInsightMapReduceActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 97705  	return nil, false
 97706  }
 97707  
 97708  // AsSynapseNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97709  func (himra HDInsightMapReduceActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 97710  	return nil, false
 97711  }
 97712  
 97713  // AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97714  func (himra HDInsightMapReduceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 97715  	return nil, false
 97716  }
 97717  
 97718  // AsAzureFunctionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97719  func (himra HDInsightMapReduceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 97720  	return nil, false
 97721  }
 97722  
 97723  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97724  func (himra HDInsightMapReduceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 97725  	return nil, false
 97726  }
 97727  
 97728  // AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97729  func (himra HDInsightMapReduceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 97730  	return nil, false
 97731  }
 97732  
 97733  // AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97734  func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 97735  	return nil, false
 97736  }
 97737  
 97738  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97739  func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 97740  	return nil, false
 97741  }
 97742  
 97743  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97744  func (himra HDInsightMapReduceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 97745  	return nil, false
 97746  }
 97747  
 97748  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97749  func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 97750  	return nil, false
 97751  }
 97752  
 97753  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97754  func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 97755  	return nil, false
 97756  }
 97757  
 97758  // AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97759  func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 97760  	return nil, false
 97761  }
 97762  
 97763  // AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97764  func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) {
 97765  	return nil, false
 97766  }
 97767  
 97768  // AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97769  func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) {
 97770  	return nil, false
 97771  }
 97772  
 97773  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97774  func (himra HDInsightMapReduceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 97775  	return nil, false
 97776  }
 97777  
 97778  // AsDeleteActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97779  func (himra HDInsightMapReduceActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 97780  	return nil, false
 97781  }
 97782  
 97783  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97784  func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 97785  	return nil, false
 97786  }
 97787  
 97788  // AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97789  func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) {
 97790  	return nil, false
 97791  }
 97792  
 97793  // AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97794  func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 97795  	return nil, false
 97796  }
 97797  
 97798  // AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97799  func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 97800  	return nil, false
 97801  }
 97802  
 97803  // AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97804  func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 97805  	return nil, false
 97806  }
 97807  
 97808  // AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97809  func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 97810  	return &himra, true
 97811  }
 97812  
 97813  // AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97814  func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 97815  	return nil, false
 97816  }
 97817  
 97818  // AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97819  func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 97820  	return nil, false
 97821  }
 97822  
 97823  // AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97824  func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) {
 97825  	return nil, false
 97826  }
 97827  
 97828  // AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97829  func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 97830  	return nil, false
 97831  }
 97832  
 97833  // AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97834  func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 97835  	return &himra, true
 97836  }
 97837  
 97838  // AsWebHookActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97839  func (himra HDInsightMapReduceActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 97840  	return nil, false
 97841  }
 97842  
 97843  // AsAppendVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97844  func (himra HDInsightMapReduceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 97845  	return nil, false
 97846  }
 97847  
 97848  // AsSetVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97849  func (himra HDInsightMapReduceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 97850  	return nil, false
 97851  }
 97852  
 97853  // AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97854  func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) {
 97855  	return nil, false
 97856  }
 97857  
 97858  // AsValidationActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97859  func (himra HDInsightMapReduceActivity) AsValidationActivity() (*ValidationActivity, bool) {
 97860  	return nil, false
 97861  }
 97862  
 97863  // AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97864  func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) {
 97865  	return nil, false
 97866  }
 97867  
 97868  // AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97869  func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) {
 97870  	return nil, false
 97871  }
 97872  
 97873  // AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97874  func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) {
 97875  	return nil, false
 97876  }
 97877  
 97878  // AsSwitchActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97879  func (himra HDInsightMapReduceActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 97880  	return nil, false
 97881  }
 97882  
 97883  // AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97884  func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 97885  	return nil, false
 97886  }
 97887  
 97888  // AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97889  func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 97890  	return nil, false
 97891  }
 97892  
 97893  // AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97894  func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) {
 97895  	return nil, false
 97896  }
 97897  
 97898  // AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97899  func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 97900  	return nil, false
 97901  }
 97902  
 97903  // AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97904  func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) {
 97905  	return nil, false
 97906  }
 97907  
 97908  // AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity.
 97909  func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) {
 97910  	return &himra, true
 97911  }
 97912  
 97913  // UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct.
 97914  func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error {
 97915  	var m map[string]*json.RawMessage
 97916  	err := json.Unmarshal(body, &m)
 97917  	if err != nil {
 97918  		return err
 97919  	}
 97920  	for k, v := range m {
 97921  		switch k {
 97922  		case "typeProperties":
 97923  			if v != nil {
 97924  				var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties
 97925  				err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties)
 97926  				if err != nil {
 97927  					return err
 97928  				}
 97929  				himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties
 97930  			}
 97931  		case "linkedServiceName":
 97932  			if v != nil {
 97933  				var linkedServiceName LinkedServiceReference
 97934  				err = json.Unmarshal(*v, &linkedServiceName)
 97935  				if err != nil {
 97936  					return err
 97937  				}
 97938  				himra.LinkedServiceName = &linkedServiceName
 97939  			}
 97940  		case "policy":
 97941  			if v != nil {
 97942  				var policy ActivityPolicy
 97943  				err = json.Unmarshal(*v, &policy)
 97944  				if err != nil {
 97945  					return err
 97946  				}
 97947  				himra.Policy = &policy
 97948  			}
 97949  		default:
 97950  			if v != nil {
 97951  				var additionalProperties interface{}
 97952  				err = json.Unmarshal(*v, &additionalProperties)
 97953  				if err != nil {
 97954  					return err
 97955  				}
 97956  				if himra.AdditionalProperties == nil {
 97957  					himra.AdditionalProperties = make(map[string]interface{})
 97958  				}
 97959  				himra.AdditionalProperties[k] = additionalProperties
 97960  			}
 97961  		case "name":
 97962  			if v != nil {
 97963  				var name string
 97964  				err = json.Unmarshal(*v, &name)
 97965  				if err != nil {
 97966  					return err
 97967  				}
 97968  				himra.Name = &name
 97969  			}
 97970  		case "description":
 97971  			if v != nil {
 97972  				var description string
 97973  				err = json.Unmarshal(*v, &description)
 97974  				if err != nil {
 97975  					return err
 97976  				}
 97977  				himra.Description = &description
 97978  			}
 97979  		case "dependsOn":
 97980  			if v != nil {
 97981  				var dependsOn []ActivityDependency
 97982  				err = json.Unmarshal(*v, &dependsOn)
 97983  				if err != nil {
 97984  					return err
 97985  				}
 97986  				himra.DependsOn = &dependsOn
 97987  			}
 97988  		case "userProperties":
 97989  			if v != nil {
 97990  				var userProperties []UserProperty
 97991  				err = json.Unmarshal(*v, &userProperties)
 97992  				if err != nil {
 97993  					return err
 97994  				}
 97995  				himra.UserProperties = &userProperties
 97996  			}
 97997  		case "type":
 97998  			if v != nil {
 97999  				var typeVar TypeBasicActivity
 98000  				err = json.Unmarshal(*v, &typeVar)
 98001  				if err != nil {
 98002  					return err
 98003  				}
 98004  				himra.Type = typeVar
 98005  			}
 98006  		}
 98007  	}
 98008  
 98009  	return nil
 98010  }
 98011  
 98012  // HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties.
 98013  type HDInsightMapReduceActivityTypeProperties struct {
 98014  	// StorageLinkedServices - Storage linked service references.
 98015  	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
 98016  	// Arguments - User specified arguments to HDInsightActivity.
 98017  	Arguments *[]interface{} `json:"arguments,omitempty"`
 98018  	// GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure'
 98019  	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
 98020  	// ClassName - Class name. Type: string (or Expression with resultType string).
 98021  	ClassName interface{} `json:"className,omitempty"`
 98022  	// JarFilePath - Jar path. Type: string (or Expression with resultType string).
 98023  	JarFilePath interface{} `json:"jarFilePath,omitempty"`
 98024  	// JarLinkedService - Jar linked service reference.
 98025  	JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"`
 98026  	// JarLibs - Jar libs.
 98027  	JarLibs *[]interface{} `json:"jarLibs,omitempty"`
 98028  	// Defines - Allows user to specify defines for the MapReduce job request.
 98029  	Defines map[string]interface{} `json:"defines"`
 98030  }
 98031  
 98032  // MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties.
 98033  func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) {
 98034  	objectMap := make(map[string]interface{})
 98035  	if himratp.StorageLinkedServices != nil {
 98036  		objectMap["storageLinkedServices"] = himratp.StorageLinkedServices
 98037  	}
 98038  	if himratp.Arguments != nil {
 98039  		objectMap["arguments"] = himratp.Arguments
 98040  	}
 98041  	if himratp.GetDebugInfo != "" {
 98042  		objectMap["getDebugInfo"] = himratp.GetDebugInfo
 98043  	}
 98044  	if himratp.ClassName != nil {
 98045  		objectMap["className"] = himratp.ClassName
 98046  	}
 98047  	if himratp.JarFilePath != nil {
 98048  		objectMap["jarFilePath"] = himratp.JarFilePath
 98049  	}
 98050  	if himratp.JarLinkedService != nil {
 98051  		objectMap["jarLinkedService"] = himratp.JarLinkedService
 98052  	}
 98053  	if himratp.JarLibs != nil {
 98054  		objectMap["jarLibs"] = himratp.JarLibs
 98055  	}
 98056  	if himratp.Defines != nil {
 98057  		objectMap["defines"] = himratp.Defines
 98058  	}
 98059  	return json.Marshal(objectMap)
 98060  }
 98061  
 98062  // HDInsightOnDemandLinkedService hDInsight ondemand linked service.
 98063  type HDInsightOnDemandLinkedService struct {
 98064  	// HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties.
 98065  	*HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
 98066  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 98067  	AdditionalProperties map[string]interface{} `json:""`
 98068  	// ConnectVia - The integration runtime reference.
 98069  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
 98070  	// Description - Linked service description.
 98071  	Description *string `json:"description,omitempty"`
 98072  	// Parameters - Parameters for linked service.
 98073  	Parameters map[string]*ParameterSpecification `json:"parameters"`
 98074  	// Annotations - List of tags that can be used for describing the linked service.
 98075  	Annotations *[]interface{} `json:"annotations,omitempty"`
 98076  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
 98077  	Type TypeBasicLinkedService `json:"type,omitempty"`
 98078  }
 98079  
 98080  // MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService.
 98081  func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) {
 98082  	hiodls.Type = TypeHDInsightOnDemand
 98083  	objectMap := make(map[string]interface{})
 98084  	if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil {
 98085  		objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties
 98086  	}
 98087  	if hiodls.ConnectVia != nil {
 98088  		objectMap["connectVia"] = hiodls.ConnectVia
 98089  	}
 98090  	if hiodls.Description != nil {
 98091  		objectMap["description"] = hiodls.Description
 98092  	}
 98093  	if hiodls.Parameters != nil {
 98094  		objectMap["parameters"] = hiodls.Parameters
 98095  	}
 98096  	if hiodls.Annotations != nil {
 98097  		objectMap["annotations"] = hiodls.Annotations
 98098  	}
 98099  	if hiodls.Type != "" {
 98100  		objectMap["type"] = hiodls.Type
 98101  	}
 98102  	for k, v := range hiodls.AdditionalProperties {
 98103  		objectMap[k] = v
 98104  	}
 98105  	return json.Marshal(objectMap)
 98106  }
 98107  
 98108  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98109  func (hiodls HDInsightOnDemandLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
 98110  	return nil, false
 98111  }
 98112  
 98113  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98114  func (hiodls HDInsightOnDemandLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
 98115  	return nil, false
 98116  }
 98117  
 98118  // AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98119  func (hiodls HDInsightOnDemandLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
 98120  	return nil, false
 98121  }
 98122  
 98123  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98124  func (hiodls HDInsightOnDemandLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
 98125  	return nil, false
 98126  }
 98127  
 98128  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98129  func (hiodls HDInsightOnDemandLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
 98130  	return nil, false
 98131  }
 98132  
 98133  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98134  func (hiodls HDInsightOnDemandLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
 98135  	return nil, false
 98136  }
 98137  
 98138  // AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98139  func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
 98140  	return nil, false
 98141  }
 98142  
 98143  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98144  func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
 98145  	return nil, false
 98146  }
 98147  
 98148  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98149  func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
 98150  	return nil, false
 98151  }
 98152  
 98153  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98154  func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
 98155  	return &hiodls, true
 98156  }
 98157  
 98158  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98159  func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
 98160  	return nil, false
 98161  }
 98162  
 98163  // AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98164  func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
 98165  	return nil, false
 98166  }
 98167  
 98168  // AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98169  func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
 98170  	return nil, false
 98171  }
 98172  
 98173  // AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98174  func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
 98175  	return nil, false
 98176  }
 98177  
 98178  // AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98179  func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
 98180  	return nil, false
 98181  }
 98182  
 98183  // AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98184  func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
 98185  	return nil, false
 98186  }
 98187  
 98188  // AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98189  func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
 98190  	return nil, false
 98191  }
 98192  
 98193  // AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98194  func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
 98195  	return nil, false
 98196  }
 98197  
 98198  // AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98199  func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
 98200  	return nil, false
 98201  }
 98202  
 98203  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98204  func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
 98205  	return nil, false
 98206  }
 98207  
 98208  // AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98209  func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
 98210  	return nil, false
 98211  }
 98212  
 98213  // AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98214  func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
 98215  	return nil, false
 98216  }
 98217  
 98218  // AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98219  func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
 98220  	return nil, false
 98221  }
 98222  
 98223  // AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98224  func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
 98225  	return nil, false
 98226  }
 98227  
 98228  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98229  func (hiodls HDInsightOnDemandLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
 98230  	return nil, false
 98231  }
 98232  
 98233  // AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98234  func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
 98235  	return nil, false
 98236  }
 98237  
 98238  // AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98239  func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
 98240  	return nil, false
 98241  }
 98242  
 98243  // AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98244  func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
 98245  	return nil, false
 98246  }
 98247  
 98248  // AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98249  func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
 98250  	return nil, false
 98251  }
 98252  
 98253  // AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98254  func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
 98255  	return nil, false
 98256  }
 98257  
 98258  // AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98259  func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
 98260  	return nil, false
 98261  }
 98262  
 98263  // AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98264  func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
 98265  	return nil, false
 98266  }
 98267  
 98268  // AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98269  func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
 98270  	return nil, false
 98271  }
 98272  
 98273  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98274  func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
 98275  	return nil, false
 98276  }
 98277  
 98278  // AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98279  func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
 98280  	return nil, false
 98281  }
 98282  
 98283  // AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98284  func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
 98285  	return nil, false
 98286  }
 98287  
 98288  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98289  func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
 98290  	return nil, false
 98291  }
 98292  
 98293  // AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98294  func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
 98295  	return nil, false
 98296  }
 98297  
 98298  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98299  func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
 98300  	return nil, false
 98301  }
 98302  
 98303  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98304  func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
 98305  	return nil, false
 98306  }
 98307  
 98308  // AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98309  func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
 98310  	return nil, false
 98311  }
 98312  
 98313  // AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98314  func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
 98315  	return nil, false
 98316  }
 98317  
 98318  // AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98319  func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
 98320  	return nil, false
 98321  }
 98322  
 98323  // AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98324  func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
 98325  	return nil, false
 98326  }
 98327  
 98328  // AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98329  func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
 98330  	return nil, false
 98331  }
 98332  
 98333  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98334  func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
 98335  	return nil, false
 98336  }
 98337  
 98338  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98339  func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
 98340  	return nil, false
 98341  }
 98342  
 98343  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98344  func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
 98345  	return nil, false
 98346  }
 98347  
 98348  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98349  func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
 98350  	return nil, false
 98351  }
 98352  
 98353  // AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98354  func (hiodls HDInsightOnDemandLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
 98355  	return nil, false
 98356  }
 98357  
 98358  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98359  func (hiodls HDInsightOnDemandLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
 98360  	return nil, false
 98361  }
 98362  
 98363  // AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98364  func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
 98365  	return nil, false
 98366  }
 98367  
 98368  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98369  func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
 98370  	return nil, false
 98371  }
 98372  
 98373  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98374  func (hiodls HDInsightOnDemandLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
 98375  	return nil, false
 98376  }
 98377  
 98378  // AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98379  func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
 98380  	return nil, false
 98381  }
 98382  
 98383  // AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98384  func (hiodls HDInsightOnDemandLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
 98385  	return nil, false
 98386  }
 98387  
 98388  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98389  func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
 98390  	return nil, false
 98391  }
 98392  
 98393  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98394  func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
 98395  	return nil, false
 98396  }
 98397  
 98398  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98399  func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
 98400  	return nil, false
 98401  }
 98402  
 98403  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98404  func (hiodls HDInsightOnDemandLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
 98405  	return nil, false
 98406  }
 98407  
 98408  // AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98409  func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
 98410  	return nil, false
 98411  }
 98412  
 98413  // AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98414  func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
 98415  	return nil, false
 98416  }
 98417  
 98418  // AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98419  func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
 98420  	return nil, false
 98421  }
 98422  
 98423  // AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98424  func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
 98425  	return nil, false
 98426  }
 98427  
 98428  // AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98429  func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
 98430  	return nil, false
 98431  }
 98432  
 98433  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98434  func (hiodls HDInsightOnDemandLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
 98435  	return nil, false
 98436  }
 98437  
 98438  // AsInformixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98439  func (hiodls HDInsightOnDemandLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
 98440  	return nil, false
 98441  }
 98442  
 98443  // AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98444  func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
 98445  	return nil, false
 98446  }
 98447  
 98448  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98449  func (hiodls HDInsightOnDemandLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
 98450  	return nil, false
 98451  }
 98452  
 98453  // AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98454  func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
 98455  	return nil, false
 98456  }
 98457  
 98458  // AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98459  func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
 98460  	return nil, false
 98461  }
 98462  
 98463  // AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98464  func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
 98465  	return nil, false
 98466  }
 98467  
 98468  // AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98469  func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
 98470  	return nil, false
 98471  }
 98472  
 98473  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98474  func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
 98475  	return nil, false
 98476  }
 98477  
 98478  // AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98479  func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
 98480  	return nil, false
 98481  }
 98482  
 98483  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98484  func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
 98485  	return nil, false
 98486  }
 98487  
 98488  // AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98489  func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
 98490  	return nil, false
 98491  }
 98492  
 98493  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98494  func (hiodls HDInsightOnDemandLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
 98495  	return nil, false
 98496  }
 98497  
 98498  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98499  func (hiodls HDInsightOnDemandLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
 98500  	return nil, false
 98501  }
 98502  
 98503  // AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98504  func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
 98505  	return nil, false
 98506  }
 98507  
 98508  // AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98509  func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
 98510  	return nil, false
 98511  }
 98512  
 98513  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98514  func (hiodls HDInsightOnDemandLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
 98515  	return nil, false
 98516  }
 98517  
 98518  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98519  func (hiodls HDInsightOnDemandLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
 98520  	return nil, false
 98521  }
 98522  
 98523  // AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98524  func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
 98525  	return nil, false
 98526  }
 98527  
 98528  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98529  func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
 98530  	return nil, false
 98531  }
 98532  
 98533  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98534  func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
 98535  	return nil, false
 98536  }
 98537  
 98538  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98539  func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
 98540  	return nil, false
 98541  }
 98542  
 98543  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98544  func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
 98545  	return nil, false
 98546  }
 98547  
 98548  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98549  func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
 98550  	return nil, false
 98551  }
 98552  
 98553  // AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98554  func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
 98555  	return nil, false
 98556  }
 98557  
 98558  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98559  func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
 98560  	return nil, false
 98561  }
 98562  
 98563  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98564  func (hiodls HDInsightOnDemandLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
 98565  	return nil, false
 98566  }
 98567  
 98568  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98569  func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
 98570  	return nil, false
 98571  }
 98572  
 98573  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98574  func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
 98575  	return nil, false
 98576  }
 98577  
 98578  // AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98579  func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) {
 98580  	return nil, false
 98581  }
 98582  
 98583  // AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService.
 98584  func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
 98585  	return &hiodls, true
 98586  }
 98587  
 98588  // UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct.
 98589  func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error {
 98590  	var m map[string]*json.RawMessage
 98591  	err := json.Unmarshal(body, &m)
 98592  	if err != nil {
 98593  		return err
 98594  	}
 98595  	for k, v := range m {
 98596  		switch k {
 98597  		case "typeProperties":
 98598  			if v != nil {
 98599  				var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties
 98600  				err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties)
 98601  				if err != nil {
 98602  					return err
 98603  				}
 98604  				hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties
 98605  			}
 98606  		default:
 98607  			if v != nil {
 98608  				var additionalProperties interface{}
 98609  				err = json.Unmarshal(*v, &additionalProperties)
 98610  				if err != nil {
 98611  					return err
 98612  				}
 98613  				if hiodls.AdditionalProperties == nil {
 98614  					hiodls.AdditionalProperties = make(map[string]interface{})
 98615  				}
 98616  				hiodls.AdditionalProperties[k] = additionalProperties
 98617  			}
 98618  		case "connectVia":
 98619  			if v != nil {
 98620  				var connectVia IntegrationRuntimeReference
 98621  				err = json.Unmarshal(*v, &connectVia)
 98622  				if err != nil {
 98623  					return err
 98624  				}
 98625  				hiodls.ConnectVia = &connectVia
 98626  			}
 98627  		case "description":
 98628  			if v != nil {
 98629  				var description string
 98630  				err = json.Unmarshal(*v, &description)
 98631  				if err != nil {
 98632  					return err
 98633  				}
 98634  				hiodls.Description = &description
 98635  			}
 98636  		case "parameters":
 98637  			if v != nil {
 98638  				var parameters map[string]*ParameterSpecification
 98639  				err = json.Unmarshal(*v, &parameters)
 98640  				if err != nil {
 98641  					return err
 98642  				}
 98643  				hiodls.Parameters = parameters
 98644  			}
 98645  		case "annotations":
 98646  			if v != nil {
 98647  				var annotations []interface{}
 98648  				err = json.Unmarshal(*v, &annotations)
 98649  				if err != nil {
 98650  					return err
 98651  				}
 98652  				hiodls.Annotations = &annotations
 98653  			}
 98654  		case "type":
 98655  			if v != nil {
 98656  				var typeVar TypeBasicLinkedService
 98657  				err = json.Unmarshal(*v, &typeVar)
 98658  				if err != nil {
 98659  					return err
 98660  				}
 98661  				hiodls.Type = typeVar
 98662  			}
 98663  		}
 98664  	}
 98665  
 98666  	return nil
 98667  }
 98668  
 98669  // HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties.
 98670  type HDInsightOnDemandLinkedServiceTypeProperties struct {
 98671  	// ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string).
 98672  	ClusterSize interface{} `json:"clusterSize,omitempty"`
 98673  	// 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).
 98674  	TimeToLive interface{} `json:"timeToLive,omitempty"`
 98675  	// Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string).
 98676  	Version interface{} `json:"version,omitempty"`
 98677  	// LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data.
 98678  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 98679  	// HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string).
 98680  	HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"`
 98681  	// ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string).
 98682  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
 98683  	// ServicePrincipalKey - The key for the service principal id.
 98684  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
 98685  	// Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string).
 98686  	Tenant interface{} `json:"tenant,omitempty"`
 98687  	// ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string).
 98688  	ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"`
 98689  	// ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string).
 98690  	ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"`
 98691  	// ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string).
 98692  	ClusterUserName interface{} `json:"clusterUserName,omitempty"`
 98693  	// ClusterPassword - The password to access the cluster.
 98694  	ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"`
 98695  	// ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string).
 98696  	ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"`
 98697  	// ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux).
 98698  	ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"`
 98699  	// AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf.
 98700  	AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"`
 98701  	// 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.
 98702  	HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"`
 98703  	// ClusterType - The cluster type. Type: string (or Expression with resultType string).
 98704  	ClusterType interface{} `json:"clusterType,omitempty"`
 98705  	// SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string).
 98706  	SparkVersion interface{} `json:"sparkVersion,omitempty"`
 98707  	// CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created.
 98708  	CoreConfiguration interface{} `json:"coreConfiguration,omitempty"`
 98709  	// HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster.
 98710  	HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"`
 98711  	// HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster.
 98712  	HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"`
 98713  	// HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster.
 98714  	HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"`
 98715  	// MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster.
 98716  	MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"`
 98717  	// OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster.
 98718  	OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"`
 98719  	// StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster.
 98720  	StormConfiguration interface{} `json:"stormConfiguration,omitempty"`
 98721  	// YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster.
 98722  	YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"`
 98723  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
 98724  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
 98725  	// HeadNodeSize - Specifies the size of the head node for the HDInsight cluster.
 98726  	HeadNodeSize interface{} `json:"headNodeSize,omitempty"`
 98727  	// DataNodeSize - Specifies the size of the data node for the HDInsight cluster.
 98728  	DataNodeSize interface{} `json:"dataNodeSize,omitempty"`
 98729  	// ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster.
 98730  	ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"`
 98731  	// 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.
 98732  	ScriptActions *[]ScriptAction `json:"scriptActions,omitempty"`
 98733  	// VirtualNetworkID - The ARM resource ID for the vNet to which the cluster should be joined after creation. Type: string (or Expression with resultType string).
 98734  	VirtualNetworkID interface{} `json:"virtualNetworkId,omitempty"`
 98735  	// 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).
 98736  	SubnetName interface{} `json:"subnetName,omitempty"`
 98737  }
 98738  
 98739  // UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct.
 98740  func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
 98741  	var m map[string]*json.RawMessage
 98742  	err := json.Unmarshal(body, &m)
 98743  	if err != nil {
 98744  		return err
 98745  	}
 98746  	for k, v := range m {
 98747  		switch k {
 98748  		case "clusterSize":
 98749  			if v != nil {
 98750  				var clusterSize interface{}
 98751  				err = json.Unmarshal(*v, &clusterSize)
 98752  				if err != nil {
 98753  					return err
 98754  				}
 98755  				hiodlstp.ClusterSize = clusterSize
 98756  			}
 98757  		case "timeToLive":
 98758  			if v != nil {
 98759  				var timeToLive interface{}
 98760  				err = json.Unmarshal(*v, &timeToLive)
 98761  				if err != nil {
 98762  					return err
 98763  				}
 98764  				hiodlstp.TimeToLive = timeToLive
 98765  			}
 98766  		case "version":
 98767  			if v != nil {
 98768  				var version interface{}
 98769  				err = json.Unmarshal(*v, &version)
 98770  				if err != nil {
 98771  					return err
 98772  				}
 98773  				hiodlstp.Version = version
 98774  			}
 98775  		case "linkedServiceName":
 98776  			if v != nil {
 98777  				var linkedServiceName LinkedServiceReference
 98778  				err = json.Unmarshal(*v, &linkedServiceName)
 98779  				if err != nil {
 98780  					return err
 98781  				}
 98782  				hiodlstp.LinkedServiceName = &linkedServiceName
 98783  			}
 98784  		case "hostSubscriptionId":
 98785  			if v != nil {
 98786  				var hostSubscriptionID interface{}
 98787  				err = json.Unmarshal(*v, &hostSubscriptionID)
 98788  				if err != nil {
 98789  					return err
 98790  				}
 98791  				hiodlstp.HostSubscriptionID = hostSubscriptionID
 98792  			}
 98793  		case "servicePrincipalId":
 98794  			if v != nil {
 98795  				var servicePrincipalID interface{}
 98796  				err = json.Unmarshal(*v, &servicePrincipalID)
 98797  				if err != nil {
 98798  					return err
 98799  				}
 98800  				hiodlstp.ServicePrincipalID = servicePrincipalID
 98801  			}
 98802  		case "servicePrincipalKey":
 98803  			if v != nil {
 98804  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
 98805  				if err != nil {
 98806  					return err
 98807  				}
 98808  				hiodlstp.ServicePrincipalKey = servicePrincipalKey
 98809  			}
 98810  		case "tenant":
 98811  			if v != nil {
 98812  				var tenant interface{}
 98813  				err = json.Unmarshal(*v, &tenant)
 98814  				if err != nil {
 98815  					return err
 98816  				}
 98817  				hiodlstp.Tenant = tenant
 98818  			}
 98819  		case "clusterResourceGroup":
 98820  			if v != nil {
 98821  				var clusterResourceGroup interface{}
 98822  				err = json.Unmarshal(*v, &clusterResourceGroup)
 98823  				if err != nil {
 98824  					return err
 98825  				}
 98826  				hiodlstp.ClusterResourceGroup = clusterResourceGroup
 98827  			}
 98828  		case "clusterNamePrefix":
 98829  			if v != nil {
 98830  				var clusterNamePrefix interface{}
 98831  				err = json.Unmarshal(*v, &clusterNamePrefix)
 98832  				if err != nil {
 98833  					return err
 98834  				}
 98835  				hiodlstp.ClusterNamePrefix = clusterNamePrefix
 98836  			}
 98837  		case "clusterUserName":
 98838  			if v != nil {
 98839  				var clusterUserName interface{}
 98840  				err = json.Unmarshal(*v, &clusterUserName)
 98841  				if err != nil {
 98842  					return err
 98843  				}
 98844  				hiodlstp.ClusterUserName = clusterUserName
 98845  			}
 98846  		case "clusterPassword":
 98847  			if v != nil {
 98848  				clusterPassword, err := unmarshalBasicSecretBase(*v)
 98849  				if err != nil {
 98850  					return err
 98851  				}
 98852  				hiodlstp.ClusterPassword = clusterPassword
 98853  			}
 98854  		case "clusterSshUserName":
 98855  			if v != nil {
 98856  				var clusterSSHUserName interface{}
 98857  				err = json.Unmarshal(*v, &clusterSSHUserName)
 98858  				if err != nil {
 98859  					return err
 98860  				}
 98861  				hiodlstp.ClusterSSHUserName = clusterSSHUserName
 98862  			}
 98863  		case "clusterSshPassword":
 98864  			if v != nil {
 98865  				clusterSSHPassword, err := unmarshalBasicSecretBase(*v)
 98866  				if err != nil {
 98867  					return err
 98868  				}
 98869  				hiodlstp.ClusterSSHPassword = clusterSSHPassword
 98870  			}
 98871  		case "additionalLinkedServiceNames":
 98872  			if v != nil {
 98873  				var additionalLinkedServiceNames []LinkedServiceReference
 98874  				err = json.Unmarshal(*v, &additionalLinkedServiceNames)
 98875  				if err != nil {
 98876  					return err
 98877  				}
 98878  				hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames
 98879  			}
 98880  		case "hcatalogLinkedServiceName":
 98881  			if v != nil {
 98882  				var hcatalogLinkedServiceName LinkedServiceReference
 98883  				err = json.Unmarshal(*v, &hcatalogLinkedServiceName)
 98884  				if err != nil {
 98885  					return err
 98886  				}
 98887  				hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName
 98888  			}
 98889  		case "clusterType":
 98890  			if v != nil {
 98891  				var clusterType interface{}
 98892  				err = json.Unmarshal(*v, &clusterType)
 98893  				if err != nil {
 98894  					return err
 98895  				}
 98896  				hiodlstp.ClusterType = clusterType
 98897  			}
 98898  		case "sparkVersion":
 98899  			if v != nil {
 98900  				var sparkVersion interface{}
 98901  				err = json.Unmarshal(*v, &sparkVersion)
 98902  				if err != nil {
 98903  					return err
 98904  				}
 98905  				hiodlstp.SparkVersion = sparkVersion
 98906  			}
 98907  		case "coreConfiguration":
 98908  			if v != nil {
 98909  				var coreConfiguration interface{}
 98910  				err = json.Unmarshal(*v, &coreConfiguration)
 98911  				if err != nil {
 98912  					return err
 98913  				}
 98914  				hiodlstp.CoreConfiguration = coreConfiguration
 98915  			}
 98916  		case "hBaseConfiguration":
 98917  			if v != nil {
 98918  				var hBaseConfiguration interface{}
 98919  				err = json.Unmarshal(*v, &hBaseConfiguration)
 98920  				if err != nil {
 98921  					return err
 98922  				}
 98923  				hiodlstp.HBaseConfiguration = hBaseConfiguration
 98924  			}
 98925  		case "hdfsConfiguration":
 98926  			if v != nil {
 98927  				var hdfsConfiguration interface{}
 98928  				err = json.Unmarshal(*v, &hdfsConfiguration)
 98929  				if err != nil {
 98930  					return err
 98931  				}
 98932  				hiodlstp.HdfsConfiguration = hdfsConfiguration
 98933  			}
 98934  		case "hiveConfiguration":
 98935  			if v != nil {
 98936  				var hiveConfiguration interface{}
 98937  				err = json.Unmarshal(*v, &hiveConfiguration)
 98938  				if err != nil {
 98939  					return err
 98940  				}
 98941  				hiodlstp.HiveConfiguration = hiveConfiguration
 98942  			}
 98943  		case "mapReduceConfiguration":
 98944  			if v != nil {
 98945  				var mapReduceConfiguration interface{}
 98946  				err = json.Unmarshal(*v, &mapReduceConfiguration)
 98947  				if err != nil {
 98948  					return err
 98949  				}
 98950  				hiodlstp.MapReduceConfiguration = mapReduceConfiguration
 98951  			}
 98952  		case "oozieConfiguration":
 98953  			if v != nil {
 98954  				var oozieConfiguration interface{}
 98955  				err = json.Unmarshal(*v, &oozieConfiguration)
 98956  				if err != nil {
 98957  					return err
 98958  				}
 98959  				hiodlstp.OozieConfiguration = oozieConfiguration
 98960  			}
 98961  		case "stormConfiguration":
 98962  			if v != nil {
 98963  				var stormConfiguration interface{}
 98964  				err = json.Unmarshal(*v, &stormConfiguration)
 98965  				if err != nil {
 98966  					return err
 98967  				}
 98968  				hiodlstp.StormConfiguration = stormConfiguration
 98969  			}
 98970  		case "yarnConfiguration":
 98971  			if v != nil {
 98972  				var yarnConfiguration interface{}
 98973  				err = json.Unmarshal(*v, &yarnConfiguration)
 98974  				if err != nil {
 98975  					return err
 98976  				}
 98977  				hiodlstp.YarnConfiguration = yarnConfiguration
 98978  			}
 98979  		case "encryptedCredential":
 98980  			if v != nil {
 98981  				var encryptedCredential interface{}
 98982  				err = json.Unmarshal(*v, &encryptedCredential)
 98983  				if err != nil {
 98984  					return err
 98985  				}
 98986  				hiodlstp.EncryptedCredential = encryptedCredential
 98987  			}
 98988  		case "headNodeSize":
 98989  			if v != nil {
 98990  				var headNodeSize interface{}
 98991  				err = json.Unmarshal(*v, &headNodeSize)
 98992  				if err != nil {
 98993  					return err
 98994  				}
 98995  				hiodlstp.HeadNodeSize = headNodeSize
 98996  			}
 98997  		case "dataNodeSize":
 98998  			if v != nil {
 98999  				var dataNodeSize interface{}
 99000  				err = json.Unmarshal(*v, &dataNodeSize)
 99001  				if err != nil {
 99002  					return err
 99003  				}
 99004  				hiodlstp.DataNodeSize = dataNodeSize
 99005  			}
 99006  		case "zookeeperNodeSize":
 99007  			if v != nil {
 99008  				var zookeeperNodeSize interface{}
 99009  				err = json.Unmarshal(*v, &zookeeperNodeSize)
 99010  				if err != nil {
 99011  					return err
 99012  				}
 99013  				hiodlstp.ZookeeperNodeSize = zookeeperNodeSize
 99014  			}
 99015  		case "scriptActions":
 99016  			if v != nil {
 99017  				var scriptActions []ScriptAction
 99018  				err = json.Unmarshal(*v, &scriptActions)
 99019  				if err != nil {
 99020  					return err
 99021  				}
 99022  				hiodlstp.ScriptActions = &scriptActions
 99023  			}
 99024  		case "virtualNetworkId":
 99025  			if v != nil {
 99026  				var virtualNetworkID interface{}
 99027  				err = json.Unmarshal(*v, &virtualNetworkID)
 99028  				if err != nil {
 99029  					return err
 99030  				}
 99031  				hiodlstp.VirtualNetworkID = virtualNetworkID
 99032  			}
 99033  		case "subnetName":
 99034  			if v != nil {
 99035  				var subnetName interface{}
 99036  				err = json.Unmarshal(*v, &subnetName)
 99037  				if err != nil {
 99038  					return err
 99039  				}
 99040  				hiodlstp.SubnetName = subnetName
 99041  			}
 99042  		}
 99043  	}
 99044  
 99045  	return nil
 99046  }
 99047  
 99048  // HDInsightPigActivity hDInsight Pig activity type.
 99049  type HDInsightPigActivity struct {
 99050  	// HDInsightPigActivityTypeProperties - HDInsight Pig activity properties.
 99051  	*HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"`
 99052  	// LinkedServiceName - Linked service reference.
 99053  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 99054  	// Policy - Activity policy.
 99055  	Policy *ActivityPolicy `json:"policy,omitempty"`
 99056  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 99057  	AdditionalProperties map[string]interface{} `json:""`
 99058  	// Name - Activity name.
 99059  	Name *string `json:"name,omitempty"`
 99060  	// Description - Activity description.
 99061  	Description *string `json:"description,omitempty"`
 99062  	// DependsOn - Activity depends on condition.
 99063  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 99064  	// UserProperties - Activity user properties.
 99065  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 99066  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 99067  	Type TypeBasicActivity `json:"type,omitempty"`
 99068  }
 99069  
 99070  // MarshalJSON is the custom marshaler for HDInsightPigActivity.
 99071  func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) {
 99072  	hipa.Type = TypeHDInsightPig
 99073  	objectMap := make(map[string]interface{})
 99074  	if hipa.HDInsightPigActivityTypeProperties != nil {
 99075  		objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties
 99076  	}
 99077  	if hipa.LinkedServiceName != nil {
 99078  		objectMap["linkedServiceName"] = hipa.LinkedServiceName
 99079  	}
 99080  	if hipa.Policy != nil {
 99081  		objectMap["policy"] = hipa.Policy
 99082  	}
 99083  	if hipa.Name != nil {
 99084  		objectMap["name"] = hipa.Name
 99085  	}
 99086  	if hipa.Description != nil {
 99087  		objectMap["description"] = hipa.Description
 99088  	}
 99089  	if hipa.DependsOn != nil {
 99090  		objectMap["dependsOn"] = hipa.DependsOn
 99091  	}
 99092  	if hipa.UserProperties != nil {
 99093  		objectMap["userProperties"] = hipa.UserProperties
 99094  	}
 99095  	if hipa.Type != "" {
 99096  		objectMap["type"] = hipa.Type
 99097  	}
 99098  	for k, v := range hipa.AdditionalProperties {
 99099  		objectMap[k] = v
 99100  	}
 99101  	return json.Marshal(objectMap)
 99102  }
 99103  
 99104  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity.
 99105  func (hipa HDInsightPigActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 99106  	return nil, false
 99107  }
 99108  
 99109  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99110  func (hipa HDInsightPigActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 99111  	return nil, false
 99112  }
 99113  
 99114  // AsSynapseNotebookActivity is the BasicActivity implementation for HDInsightPigActivity.
 99115  func (hipa HDInsightPigActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 99116  	return nil, false
 99117  }
 99118  
 99119  // AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightPigActivity.
 99120  func (hipa HDInsightPigActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 99121  	return nil, false
 99122  }
 99123  
 99124  // AsAzureFunctionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99125  func (hipa HDInsightPigActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 99126  	return nil, false
 99127  }
 99128  
 99129  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightPigActivity.
 99130  func (hipa HDInsightPigActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 99131  	return nil, false
 99132  }
 99133  
 99134  // AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightPigActivity.
 99135  func (hipa HDInsightPigActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 99136  	return nil, false
 99137  }
 99138  
 99139  // AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity.
 99140  func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 99141  	return nil, false
 99142  }
 99143  
 99144  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity.
 99145  func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 99146  	return nil, false
 99147  }
 99148  
 99149  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity.
 99150  func (hipa HDInsightPigActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 99151  	return nil, false
 99152  }
 99153  
 99154  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity.
 99155  func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 99156  	return nil, false
 99157  }
 99158  
 99159  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99160  func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 99161  	return nil, false
 99162  }
 99163  
 99164  // AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity.
 99165  func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 99166  	return nil, false
 99167  }
 99168  
 99169  // AsWebActivity is the BasicActivity implementation for HDInsightPigActivity.
 99170  func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) {
 99171  	return nil, false
 99172  }
 99173  
 99174  // AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity.
 99175  func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) {
 99176  	return nil, false
 99177  }
 99178  
 99179  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightPigActivity.
 99180  func (hipa HDInsightPigActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 99181  	return nil, false
 99182  }
 99183  
 99184  // AsDeleteActivity is the BasicActivity implementation for HDInsightPigActivity.
 99185  func (hipa HDInsightPigActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 99186  	return nil, false
 99187  }
 99188  
 99189  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity.
 99190  func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 99191  	return nil, false
 99192  }
 99193  
 99194  // AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity.
 99195  func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) {
 99196  	return nil, false
 99197  }
 99198  
 99199  // AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity.
 99200  func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 99201  	return nil, false
 99202  }
 99203  
 99204  // AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity.
 99205  func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 99206  	return nil, false
 99207  }
 99208  
 99209  // AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity.
 99210  func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 99211  	return nil, false
 99212  }
 99213  
 99214  // AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity.
 99215  func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 99216  	return nil, false
 99217  }
 99218  
 99219  // AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity.
 99220  func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 99221  	return &hipa, true
 99222  }
 99223  
 99224  // AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity.
 99225  func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 99226  	return nil, false
 99227  }
 99228  
 99229  // AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity.
 99230  func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) {
 99231  	return nil, false
 99232  }
 99233  
 99234  // AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99235  func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 99236  	return nil, false
 99237  }
 99238  
 99239  // AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99240  func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 99241  	return &hipa, true
 99242  }
 99243  
 99244  // AsWebHookActivity is the BasicActivity implementation for HDInsightPigActivity.
 99245  func (hipa HDInsightPigActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 99246  	return nil, false
 99247  }
 99248  
 99249  // AsAppendVariableActivity is the BasicActivity implementation for HDInsightPigActivity.
 99250  func (hipa HDInsightPigActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 99251  	return nil, false
 99252  }
 99253  
 99254  // AsSetVariableActivity is the BasicActivity implementation for HDInsightPigActivity.
 99255  func (hipa HDInsightPigActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 99256  	return nil, false
 99257  }
 99258  
 99259  // AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity.
 99260  func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) {
 99261  	return nil, false
 99262  }
 99263  
 99264  // AsValidationActivity is the BasicActivity implementation for HDInsightPigActivity.
 99265  func (hipa HDInsightPigActivity) AsValidationActivity() (*ValidationActivity, bool) {
 99266  	return nil, false
 99267  }
 99268  
 99269  // AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity.
 99270  func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) {
 99271  	return nil, false
 99272  }
 99273  
 99274  // AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity.
 99275  func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) {
 99276  	return nil, false
 99277  }
 99278  
 99279  // AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity.
 99280  func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) {
 99281  	return nil, false
 99282  }
 99283  
 99284  // AsSwitchActivity is the BasicActivity implementation for HDInsightPigActivity.
 99285  func (hipa HDInsightPigActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 99286  	return nil, false
 99287  }
 99288  
 99289  // AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity.
 99290  func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 99291  	return nil, false
 99292  }
 99293  
 99294  // AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity.
 99295  func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 99296  	return nil, false
 99297  }
 99298  
 99299  // AsControlActivity is the BasicActivity implementation for HDInsightPigActivity.
 99300  func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) {
 99301  	return nil, false
 99302  }
 99303  
 99304  // AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity.
 99305  func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 99306  	return nil, false
 99307  }
 99308  
 99309  // AsActivity is the BasicActivity implementation for HDInsightPigActivity.
 99310  func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) {
 99311  	return nil, false
 99312  }
 99313  
 99314  // AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity.
 99315  func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) {
 99316  	return &hipa, true
 99317  }
 99318  
 99319  // UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct.
 99320  func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error {
 99321  	var m map[string]*json.RawMessage
 99322  	err := json.Unmarshal(body, &m)
 99323  	if err != nil {
 99324  		return err
 99325  	}
 99326  	for k, v := range m {
 99327  		switch k {
 99328  		case "typeProperties":
 99329  			if v != nil {
 99330  				var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties
 99331  				err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties)
 99332  				if err != nil {
 99333  					return err
 99334  				}
 99335  				hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties
 99336  			}
 99337  		case "linkedServiceName":
 99338  			if v != nil {
 99339  				var linkedServiceName LinkedServiceReference
 99340  				err = json.Unmarshal(*v, &linkedServiceName)
 99341  				if err != nil {
 99342  					return err
 99343  				}
 99344  				hipa.LinkedServiceName = &linkedServiceName
 99345  			}
 99346  		case "policy":
 99347  			if v != nil {
 99348  				var policy ActivityPolicy
 99349  				err = json.Unmarshal(*v, &policy)
 99350  				if err != nil {
 99351  					return err
 99352  				}
 99353  				hipa.Policy = &policy
 99354  			}
 99355  		default:
 99356  			if v != nil {
 99357  				var additionalProperties interface{}
 99358  				err = json.Unmarshal(*v, &additionalProperties)
 99359  				if err != nil {
 99360  					return err
 99361  				}
 99362  				if hipa.AdditionalProperties == nil {
 99363  					hipa.AdditionalProperties = make(map[string]interface{})
 99364  				}
 99365  				hipa.AdditionalProperties[k] = additionalProperties
 99366  			}
 99367  		case "name":
 99368  			if v != nil {
 99369  				var name string
 99370  				err = json.Unmarshal(*v, &name)
 99371  				if err != nil {
 99372  					return err
 99373  				}
 99374  				hipa.Name = &name
 99375  			}
 99376  		case "description":
 99377  			if v != nil {
 99378  				var description string
 99379  				err = json.Unmarshal(*v, &description)
 99380  				if err != nil {
 99381  					return err
 99382  				}
 99383  				hipa.Description = &description
 99384  			}
 99385  		case "dependsOn":
 99386  			if v != nil {
 99387  				var dependsOn []ActivityDependency
 99388  				err = json.Unmarshal(*v, &dependsOn)
 99389  				if err != nil {
 99390  					return err
 99391  				}
 99392  				hipa.DependsOn = &dependsOn
 99393  			}
 99394  		case "userProperties":
 99395  			if v != nil {
 99396  				var userProperties []UserProperty
 99397  				err = json.Unmarshal(*v, &userProperties)
 99398  				if err != nil {
 99399  					return err
 99400  				}
 99401  				hipa.UserProperties = &userProperties
 99402  			}
 99403  		case "type":
 99404  			if v != nil {
 99405  				var typeVar TypeBasicActivity
 99406  				err = json.Unmarshal(*v, &typeVar)
 99407  				if err != nil {
 99408  					return err
 99409  				}
 99410  				hipa.Type = typeVar
 99411  			}
 99412  		}
 99413  	}
 99414  
 99415  	return nil
 99416  }
 99417  
 99418  // HDInsightPigActivityTypeProperties hDInsight Pig activity properties.
 99419  type HDInsightPigActivityTypeProperties struct {
 99420  	// StorageLinkedServices - Storage linked service references.
 99421  	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
 99422  	// Arguments - User specified arguments to HDInsightActivity. Type: array (or Expression with resultType array).
 99423  	Arguments interface{} `json:"arguments,omitempty"`
 99424  	// GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure'
 99425  	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
 99426  	// ScriptPath - Script path. Type: string (or Expression with resultType string).
 99427  	ScriptPath interface{} `json:"scriptPath,omitempty"`
 99428  	// ScriptLinkedService - Script linked service reference.
 99429  	ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"`
 99430  	// Defines - Allows user to specify defines for Pig job request.
 99431  	Defines map[string]interface{} `json:"defines"`
 99432  }
 99433  
 99434  // MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties.
 99435  func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) {
 99436  	objectMap := make(map[string]interface{})
 99437  	if hipatp.StorageLinkedServices != nil {
 99438  		objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices
 99439  	}
 99440  	if hipatp.Arguments != nil {
 99441  		objectMap["arguments"] = hipatp.Arguments
 99442  	}
 99443  	if hipatp.GetDebugInfo != "" {
 99444  		objectMap["getDebugInfo"] = hipatp.GetDebugInfo
 99445  	}
 99446  	if hipatp.ScriptPath != nil {
 99447  		objectMap["scriptPath"] = hipatp.ScriptPath
 99448  	}
 99449  	if hipatp.ScriptLinkedService != nil {
 99450  		objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService
 99451  	}
 99452  	if hipatp.Defines != nil {
 99453  		objectMap["defines"] = hipatp.Defines
 99454  	}
 99455  	return json.Marshal(objectMap)
 99456  }
 99457  
 99458  // HDInsightSparkActivity hDInsight Spark activity.
 99459  type HDInsightSparkActivity struct {
 99460  	// HDInsightSparkActivityTypeProperties - HDInsight spark activity properties.
 99461  	*HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"`
 99462  	// LinkedServiceName - Linked service reference.
 99463  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 99464  	// Policy - Activity policy.
 99465  	Policy *ActivityPolicy `json:"policy,omitempty"`
 99466  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 99467  	AdditionalProperties map[string]interface{} `json:""`
 99468  	// Name - Activity name.
 99469  	Name *string `json:"name,omitempty"`
 99470  	// Description - Activity description.
 99471  	Description *string `json:"description,omitempty"`
 99472  	// DependsOn - Activity depends on condition.
 99473  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 99474  	// UserProperties - Activity user properties.
 99475  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 99476  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 99477  	Type TypeBasicActivity `json:"type,omitempty"`
 99478  }
 99479  
 99480  // MarshalJSON is the custom marshaler for HDInsightSparkActivity.
 99481  func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) {
 99482  	hisa.Type = TypeHDInsightSpark
 99483  	objectMap := make(map[string]interface{})
 99484  	if hisa.HDInsightSparkActivityTypeProperties != nil {
 99485  		objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties
 99486  	}
 99487  	if hisa.LinkedServiceName != nil {
 99488  		objectMap["linkedServiceName"] = hisa.LinkedServiceName
 99489  	}
 99490  	if hisa.Policy != nil {
 99491  		objectMap["policy"] = hisa.Policy
 99492  	}
 99493  	if hisa.Name != nil {
 99494  		objectMap["name"] = hisa.Name
 99495  	}
 99496  	if hisa.Description != nil {
 99497  		objectMap["description"] = hisa.Description
 99498  	}
 99499  	if hisa.DependsOn != nil {
 99500  		objectMap["dependsOn"] = hisa.DependsOn
 99501  	}
 99502  	if hisa.UserProperties != nil {
 99503  		objectMap["userProperties"] = hisa.UserProperties
 99504  	}
 99505  	if hisa.Type != "" {
 99506  		objectMap["type"] = hisa.Type
 99507  	}
 99508  	for k, v := range hisa.AdditionalProperties {
 99509  		objectMap[k] = v
 99510  	}
 99511  	return json.Marshal(objectMap)
 99512  }
 99513  
 99514  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99515  func (hisa HDInsightSparkActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 99516  	return nil, false
 99517  }
 99518  
 99519  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99520  func (hisa HDInsightSparkActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 99521  	return nil, false
 99522  }
 99523  
 99524  // AsSynapseNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99525  func (hisa HDInsightSparkActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 99526  	return nil, false
 99527  }
 99528  
 99529  // AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99530  func (hisa HDInsightSparkActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 99531  	return nil, false
 99532  }
 99533  
 99534  // AsAzureFunctionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99535  func (hisa HDInsightSparkActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 99536  	return nil, false
 99537  }
 99538  
 99539  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99540  func (hisa HDInsightSparkActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 99541  	return nil, false
 99542  }
 99543  
 99544  // AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99545  func (hisa HDInsightSparkActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 99546  	return nil, false
 99547  }
 99548  
 99549  // AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99550  func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 99551  	return nil, false
 99552  }
 99553  
 99554  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99555  func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 99556  	return nil, false
 99557  }
 99558  
 99559  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99560  func (hisa HDInsightSparkActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 99561  	return nil, false
 99562  }
 99563  
 99564  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99565  func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 99566  	return nil, false
 99567  }
 99568  
 99569  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99570  func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 99571  	return nil, false
 99572  }
 99573  
 99574  // AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99575  func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 99576  	return nil, false
 99577  }
 99578  
 99579  // AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99580  func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) {
 99581  	return nil, false
 99582  }
 99583  
 99584  // AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99585  func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) {
 99586  	return nil, false
 99587  }
 99588  
 99589  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99590  func (hisa HDInsightSparkActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
 99591  	return nil, false
 99592  }
 99593  
 99594  // AsDeleteActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99595  func (hisa HDInsightSparkActivity) AsDeleteActivity() (*DeleteActivity, bool) {
 99596  	return nil, false
 99597  }
 99598  
 99599  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99600  func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
 99601  	return nil, false
 99602  }
 99603  
 99604  // AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99605  func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) {
 99606  	return nil, false
 99607  }
 99608  
 99609  // AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99610  func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
 99611  	return nil, false
 99612  }
 99613  
 99614  // AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99615  func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
 99616  	return &hisa, true
 99617  }
 99618  
 99619  // AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99620  func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
 99621  	return nil, false
 99622  }
 99623  
 99624  // AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99625  func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
 99626  	return nil, false
 99627  }
 99628  
 99629  // AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99630  func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
 99631  	return nil, false
 99632  }
 99633  
 99634  // AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99635  func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
 99636  	return nil, false
 99637  }
 99638  
 99639  // AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99640  func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) {
 99641  	return nil, false
 99642  }
 99643  
 99644  // AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99645  func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
 99646  	return nil, false
 99647  }
 99648  
 99649  // AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99650  func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
 99651  	return &hisa, true
 99652  }
 99653  
 99654  // AsWebHookActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99655  func (hisa HDInsightSparkActivity) AsWebHookActivity() (*WebHookActivity, bool) {
 99656  	return nil, false
 99657  }
 99658  
 99659  // AsAppendVariableActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99660  func (hisa HDInsightSparkActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
 99661  	return nil, false
 99662  }
 99663  
 99664  // AsSetVariableActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99665  func (hisa HDInsightSparkActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
 99666  	return nil, false
 99667  }
 99668  
 99669  // AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99670  func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) {
 99671  	return nil, false
 99672  }
 99673  
 99674  // AsValidationActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99675  func (hisa HDInsightSparkActivity) AsValidationActivity() (*ValidationActivity, bool) {
 99676  	return nil, false
 99677  }
 99678  
 99679  // AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99680  func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) {
 99681  	return nil, false
 99682  }
 99683  
 99684  // AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99685  func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) {
 99686  	return nil, false
 99687  }
 99688  
 99689  // AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99690  func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) {
 99691  	return nil, false
 99692  }
 99693  
 99694  // AsSwitchActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99695  func (hisa HDInsightSparkActivity) AsSwitchActivity() (*SwitchActivity, bool) {
 99696  	return nil, false
 99697  }
 99698  
 99699  // AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99700  func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
 99701  	return nil, false
 99702  }
 99703  
 99704  // AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99705  func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
 99706  	return nil, false
 99707  }
 99708  
 99709  // AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99710  func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) {
 99711  	return nil, false
 99712  }
 99713  
 99714  // AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99715  func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
 99716  	return nil, false
 99717  }
 99718  
 99719  // AsActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99720  func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) {
 99721  	return nil, false
 99722  }
 99723  
 99724  // AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity.
 99725  func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) {
 99726  	return &hisa, true
 99727  }
 99728  
 99729  // UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct.
 99730  func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error {
 99731  	var m map[string]*json.RawMessage
 99732  	err := json.Unmarshal(body, &m)
 99733  	if err != nil {
 99734  		return err
 99735  	}
 99736  	for k, v := range m {
 99737  		switch k {
 99738  		case "typeProperties":
 99739  			if v != nil {
 99740  				var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties
 99741  				err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties)
 99742  				if err != nil {
 99743  					return err
 99744  				}
 99745  				hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties
 99746  			}
 99747  		case "linkedServiceName":
 99748  			if v != nil {
 99749  				var linkedServiceName LinkedServiceReference
 99750  				err = json.Unmarshal(*v, &linkedServiceName)
 99751  				if err != nil {
 99752  					return err
 99753  				}
 99754  				hisa.LinkedServiceName = &linkedServiceName
 99755  			}
 99756  		case "policy":
 99757  			if v != nil {
 99758  				var policy ActivityPolicy
 99759  				err = json.Unmarshal(*v, &policy)
 99760  				if err != nil {
 99761  					return err
 99762  				}
 99763  				hisa.Policy = &policy
 99764  			}
 99765  		default:
 99766  			if v != nil {
 99767  				var additionalProperties interface{}
 99768  				err = json.Unmarshal(*v, &additionalProperties)
 99769  				if err != nil {
 99770  					return err
 99771  				}
 99772  				if hisa.AdditionalProperties == nil {
 99773  					hisa.AdditionalProperties = make(map[string]interface{})
 99774  				}
 99775  				hisa.AdditionalProperties[k] = additionalProperties
 99776  			}
 99777  		case "name":
 99778  			if v != nil {
 99779  				var name string
 99780  				err = json.Unmarshal(*v, &name)
 99781  				if err != nil {
 99782  					return err
 99783  				}
 99784  				hisa.Name = &name
 99785  			}
 99786  		case "description":
 99787  			if v != nil {
 99788  				var description string
 99789  				err = json.Unmarshal(*v, &description)
 99790  				if err != nil {
 99791  					return err
 99792  				}
 99793  				hisa.Description = &description
 99794  			}
 99795  		case "dependsOn":
 99796  			if v != nil {
 99797  				var dependsOn []ActivityDependency
 99798  				err = json.Unmarshal(*v, &dependsOn)
 99799  				if err != nil {
 99800  					return err
 99801  				}
 99802  				hisa.DependsOn = &dependsOn
 99803  			}
 99804  		case "userProperties":
 99805  			if v != nil {
 99806  				var userProperties []UserProperty
 99807  				err = json.Unmarshal(*v, &userProperties)
 99808  				if err != nil {
 99809  					return err
 99810  				}
 99811  				hisa.UserProperties = &userProperties
 99812  			}
 99813  		case "type":
 99814  			if v != nil {
 99815  				var typeVar TypeBasicActivity
 99816  				err = json.Unmarshal(*v, &typeVar)
 99817  				if err != nil {
 99818  					return err
 99819  				}
 99820  				hisa.Type = typeVar
 99821  			}
 99822  		}
 99823  	}
 99824  
 99825  	return nil
 99826  }
 99827  
 99828  // HDInsightSparkActivityTypeProperties hDInsight spark activity properties.
 99829  type HDInsightSparkActivityTypeProperties struct {
 99830  	// RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string).
 99831  	RootPath interface{} `json:"rootPath,omitempty"`
 99832  	// EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string).
 99833  	EntryFilePath interface{} `json:"entryFilePath,omitempty"`
 99834  	// Arguments - The user-specified arguments to HDInsightSparkActivity.
 99835  	Arguments *[]interface{} `json:"arguments,omitempty"`
 99836  	// GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure'
 99837  	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
 99838  	// SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs.
 99839  	SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"`
 99840  	// ClassName - The application's Java/Spark main class.
 99841  	ClassName *string `json:"className,omitempty"`
 99842  	// ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string).
 99843  	ProxyUser interface{} `json:"proxyUser,omitempty"`
 99844  	// SparkConfig - Spark configuration property.
 99845  	SparkConfig map[string]interface{} `json:"sparkConfig"`
 99846  }
 99847  
 99848  // MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties.
 99849  func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) {
 99850  	objectMap := make(map[string]interface{})
 99851  	if hisatp.RootPath != nil {
 99852  		objectMap["rootPath"] = hisatp.RootPath
 99853  	}
 99854  	if hisatp.EntryFilePath != nil {
 99855  		objectMap["entryFilePath"] = hisatp.EntryFilePath
 99856  	}
 99857  	if hisatp.Arguments != nil {
 99858  		objectMap["arguments"] = hisatp.Arguments
 99859  	}
 99860  	if hisatp.GetDebugInfo != "" {
 99861  		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
 99862  	}
 99863  	if hisatp.SparkJobLinkedService != nil {
 99864  		objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService
 99865  	}
 99866  	if hisatp.ClassName != nil {
 99867  		objectMap["className"] = hisatp.ClassName
 99868  	}
 99869  	if hisatp.ProxyUser != nil {
 99870  		objectMap["proxyUser"] = hisatp.ProxyUser
 99871  	}
 99872  	if hisatp.SparkConfig != nil {
 99873  		objectMap["sparkConfig"] = hisatp.SparkConfig
 99874  	}
 99875  	return json.Marshal(objectMap)
 99876  }
 99877  
 99878  // HDInsightStreamingActivity hDInsight streaming activity type.
 99879  type HDInsightStreamingActivity struct {
 99880  	// HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties.
 99881  	*HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"`
 99882  	// LinkedServiceName - Linked service reference.
 99883  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
 99884  	// Policy - Activity policy.
 99885  	Policy *ActivityPolicy `json:"policy,omitempty"`
 99886  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
 99887  	AdditionalProperties map[string]interface{} `json:""`
 99888  	// Name - Activity name.
 99889  	Name *string `json:"name,omitempty"`
 99890  	// Description - Activity description.
 99891  	Description *string `json:"description,omitempty"`
 99892  	// DependsOn - Activity depends on condition.
 99893  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
 99894  	// UserProperties - Activity user properties.
 99895  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
 99896  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
 99897  	Type TypeBasicActivity `json:"type,omitempty"`
 99898  }
 99899  
 99900  // MarshalJSON is the custom marshaler for HDInsightStreamingActivity.
 99901  func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) {
 99902  	hisa.Type = TypeHDInsightStreaming
 99903  	objectMap := make(map[string]interface{})
 99904  	if hisa.HDInsightStreamingActivityTypeProperties != nil {
 99905  		objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties
 99906  	}
 99907  	if hisa.LinkedServiceName != nil {
 99908  		objectMap["linkedServiceName"] = hisa.LinkedServiceName
 99909  	}
 99910  	if hisa.Policy != nil {
 99911  		objectMap["policy"] = hisa.Policy
 99912  	}
 99913  	if hisa.Name != nil {
 99914  		objectMap["name"] = hisa.Name
 99915  	}
 99916  	if hisa.Description != nil {
 99917  		objectMap["description"] = hisa.Description
 99918  	}
 99919  	if hisa.DependsOn != nil {
 99920  		objectMap["dependsOn"] = hisa.DependsOn
 99921  	}
 99922  	if hisa.UserProperties != nil {
 99923  		objectMap["userProperties"] = hisa.UserProperties
 99924  	}
 99925  	if hisa.Type != "" {
 99926  		objectMap["type"] = hisa.Type
 99927  	}
 99928  	for k, v := range hisa.AdditionalProperties {
 99929  		objectMap[k] = v
 99930  	}
 99931  	return json.Marshal(objectMap)
 99932  }
 99933  
 99934  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99935  func (hisa HDInsightStreamingActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
 99936  	return nil, false
 99937  }
 99938  
 99939  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99940  func (hisa HDInsightStreamingActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
 99941  	return nil, false
 99942  }
 99943  
 99944  // AsSynapseNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99945  func (hisa HDInsightStreamingActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
 99946  	return nil, false
 99947  }
 99948  
 99949  // AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99950  func (hisa HDInsightStreamingActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
 99951  	return nil, false
 99952  }
 99953  
 99954  // AsAzureFunctionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99955  func (hisa HDInsightStreamingActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
 99956  	return nil, false
 99957  }
 99958  
 99959  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99960  func (hisa HDInsightStreamingActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
 99961  	return nil, false
 99962  }
 99963  
 99964  // AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99965  func (hisa HDInsightStreamingActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
 99966  	return nil, false
 99967  }
 99968  
 99969  // AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99970  func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
 99971  	return nil, false
 99972  }
 99973  
 99974  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99975  func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
 99976  	return nil, false
 99977  }
 99978  
 99979  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99980  func (hisa HDInsightStreamingActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
 99981  	return nil, false
 99982  }
 99983  
 99984  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99985  func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
 99986  	return nil, false
 99987  }
 99988  
 99989  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99990  func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
 99991  	return nil, false
 99992  }
 99993  
 99994  // AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity.
 99995  func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
 99996  	return nil, false
 99997  }
 99998  
 99999  // AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100000  func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) {
100001  	return nil, false
100002  }
100003  
100004  // AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100005  func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) {
100006  	return nil, false
100007  }
100008  
100009  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100010  func (hisa HDInsightStreamingActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
100011  	return nil, false
100012  }
100013  
100014  // AsDeleteActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100015  func (hisa HDInsightStreamingActivity) AsDeleteActivity() (*DeleteActivity, bool) {
100016  	return nil, false
100017  }
100018  
100019  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100020  func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
100021  	return nil, false
100022  }
100023  
100024  // AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100025  func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) {
100026  	return nil, false
100027  }
100028  
100029  // AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100030  func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
100031  	return nil, false
100032  }
100033  
100034  // AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100035  func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
100036  	return nil, false
100037  }
100038  
100039  // AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100040  func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
100041  	return &hisa, true
100042  }
100043  
100044  // AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100045  func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
100046  	return nil, false
100047  }
100048  
100049  // AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100050  func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
100051  	return nil, false
100052  }
100053  
100054  // AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100055  func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
100056  	return nil, false
100057  }
100058  
100059  // AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100060  func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) {
100061  	return nil, false
100062  }
100063  
100064  // AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100065  func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
100066  	return nil, false
100067  }
100068  
100069  // AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100070  func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
100071  	return &hisa, true
100072  }
100073  
100074  // AsWebHookActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100075  func (hisa HDInsightStreamingActivity) AsWebHookActivity() (*WebHookActivity, bool) {
100076  	return nil, false
100077  }
100078  
100079  // AsAppendVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100080  func (hisa HDInsightStreamingActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
100081  	return nil, false
100082  }
100083  
100084  // AsSetVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100085  func (hisa HDInsightStreamingActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
100086  	return nil, false
100087  }
100088  
100089  // AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100090  func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) {
100091  	return nil, false
100092  }
100093  
100094  // AsValidationActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100095  func (hisa HDInsightStreamingActivity) AsValidationActivity() (*ValidationActivity, bool) {
100096  	return nil, false
100097  }
100098  
100099  // AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100100  func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) {
100101  	return nil, false
100102  }
100103  
100104  // AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100105  func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) {
100106  	return nil, false
100107  }
100108  
100109  // AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100110  func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) {
100111  	return nil, false
100112  }
100113  
100114  // AsSwitchActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100115  func (hisa HDInsightStreamingActivity) AsSwitchActivity() (*SwitchActivity, bool) {
100116  	return nil, false
100117  }
100118  
100119  // AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100120  func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
100121  	return nil, false
100122  }
100123  
100124  // AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100125  func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
100126  	return nil, false
100127  }
100128  
100129  // AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100130  func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) {
100131  	return nil, false
100132  }
100133  
100134  // AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100135  func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
100136  	return nil, false
100137  }
100138  
100139  // AsActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100140  func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) {
100141  	return nil, false
100142  }
100143  
100144  // AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity.
100145  func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) {
100146  	return &hisa, true
100147  }
100148  
100149  // UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct.
100150  func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error {
100151  	var m map[string]*json.RawMessage
100152  	err := json.Unmarshal(body, &m)
100153  	if err != nil {
100154  		return err
100155  	}
100156  	for k, v := range m {
100157  		switch k {
100158  		case "typeProperties":
100159  			if v != nil {
100160  				var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties
100161  				err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties)
100162  				if err != nil {
100163  					return err
100164  				}
100165  				hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties
100166  			}
100167  		case "linkedServiceName":
100168  			if v != nil {
100169  				var linkedServiceName LinkedServiceReference
100170  				err = json.Unmarshal(*v, &linkedServiceName)
100171  				if err != nil {
100172  					return err
100173  				}
100174  				hisa.LinkedServiceName = &linkedServiceName
100175  			}
100176  		case "policy":
100177  			if v != nil {
100178  				var policy ActivityPolicy
100179  				err = json.Unmarshal(*v, &policy)
100180  				if err != nil {
100181  					return err
100182  				}
100183  				hisa.Policy = &policy
100184  			}
100185  		default:
100186  			if v != nil {
100187  				var additionalProperties interface{}
100188  				err = json.Unmarshal(*v, &additionalProperties)
100189  				if err != nil {
100190  					return err
100191  				}
100192  				if hisa.AdditionalProperties == nil {
100193  					hisa.AdditionalProperties = make(map[string]interface{})
100194  				}
100195  				hisa.AdditionalProperties[k] = additionalProperties
100196  			}
100197  		case "name":
100198  			if v != nil {
100199  				var name string
100200  				err = json.Unmarshal(*v, &name)
100201  				if err != nil {
100202  					return err
100203  				}
100204  				hisa.Name = &name
100205  			}
100206  		case "description":
100207  			if v != nil {
100208  				var description string
100209  				err = json.Unmarshal(*v, &description)
100210  				if err != nil {
100211  					return err
100212  				}
100213  				hisa.Description = &description
100214  			}
100215  		case "dependsOn":
100216  			if v != nil {
100217  				var dependsOn []ActivityDependency
100218  				err = json.Unmarshal(*v, &dependsOn)
100219  				if err != nil {
100220  					return err
100221  				}
100222  				hisa.DependsOn = &dependsOn
100223  			}
100224  		case "userProperties":
100225  			if v != nil {
100226  				var userProperties []UserProperty
100227  				err = json.Unmarshal(*v, &userProperties)
100228  				if err != nil {
100229  					return err
100230  				}
100231  				hisa.UserProperties = &userProperties
100232  			}
100233  		case "type":
100234  			if v != nil {
100235  				var typeVar TypeBasicActivity
100236  				err = json.Unmarshal(*v, &typeVar)
100237  				if err != nil {
100238  					return err
100239  				}
100240  				hisa.Type = typeVar
100241  			}
100242  		}
100243  	}
100244  
100245  	return nil
100246  }
100247  
100248  // HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties.
100249  type HDInsightStreamingActivityTypeProperties struct {
100250  	// StorageLinkedServices - Storage linked service references.
100251  	StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"`
100252  	// Arguments - User specified arguments to HDInsightActivity.
100253  	Arguments *[]interface{} `json:"arguments,omitempty"`
100254  	// GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure'
100255  	GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"`
100256  	// Mapper - Mapper executable name. Type: string (or Expression with resultType string).
100257  	Mapper interface{} `json:"mapper,omitempty"`
100258  	// Reducer - Reducer executable name. Type: string (or Expression with resultType string).
100259  	Reducer interface{} `json:"reducer,omitempty"`
100260  	// Input - Input blob path. Type: string (or Expression with resultType string).
100261  	Input interface{} `json:"input,omitempty"`
100262  	// Output - Output blob path. Type: string (or Expression with resultType string).
100263  	Output interface{} `json:"output,omitempty"`
100264  	// FilePaths - Paths to streaming job files. Can be directories.
100265  	FilePaths *[]interface{} `json:"filePaths,omitempty"`
100266  	// FileLinkedService - Linked service reference where the files are located.
100267  	FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"`
100268  	// Combiner - Combiner executable name. Type: string (or Expression with resultType string).
100269  	Combiner interface{} `json:"combiner,omitempty"`
100270  	// CommandEnvironment - Command line environment values.
100271  	CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"`
100272  	// Defines - Allows user to specify defines for streaming job request.
100273  	Defines map[string]interface{} `json:"defines"`
100274  }
100275  
100276  // MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties.
100277  func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) {
100278  	objectMap := make(map[string]interface{})
100279  	if hisatp.StorageLinkedServices != nil {
100280  		objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices
100281  	}
100282  	if hisatp.Arguments != nil {
100283  		objectMap["arguments"] = hisatp.Arguments
100284  	}
100285  	if hisatp.GetDebugInfo != "" {
100286  		objectMap["getDebugInfo"] = hisatp.GetDebugInfo
100287  	}
100288  	if hisatp.Mapper != nil {
100289  		objectMap["mapper"] = hisatp.Mapper
100290  	}
100291  	if hisatp.Reducer != nil {
100292  		objectMap["reducer"] = hisatp.Reducer
100293  	}
100294  	if hisatp.Input != nil {
100295  		objectMap["input"] = hisatp.Input
100296  	}
100297  	if hisatp.Output != nil {
100298  		objectMap["output"] = hisatp.Output
100299  	}
100300  	if hisatp.FilePaths != nil {
100301  		objectMap["filePaths"] = hisatp.FilePaths
100302  	}
100303  	if hisatp.FileLinkedService != nil {
100304  		objectMap["fileLinkedService"] = hisatp.FileLinkedService
100305  	}
100306  	if hisatp.Combiner != nil {
100307  		objectMap["combiner"] = hisatp.Combiner
100308  	}
100309  	if hisatp.CommandEnvironment != nil {
100310  		objectMap["commandEnvironment"] = hisatp.CommandEnvironment
100311  	}
100312  	if hisatp.Defines != nil {
100313  		objectMap["defines"] = hisatp.Defines
100314  	}
100315  	return json.Marshal(objectMap)
100316  }
100317  
100318  // HiveDatasetTypeProperties hive Properties
100319  type HiveDatasetTypeProperties struct {
100320  	// TableName - This property will be retired. Please consider using schema + table properties instead.
100321  	TableName interface{} `json:"tableName,omitempty"`
100322  	// Table - The table name of the Hive. Type: string (or Expression with resultType string).
100323  	Table interface{} `json:"table,omitempty"`
100324  	// Schema - The schema name of the Hive. Type: string (or Expression with resultType string).
100325  	Schema interface{} `json:"schema,omitempty"`
100326  }
100327  
100328  // HiveLinkedService hive Server linked service.
100329  type HiveLinkedService struct {
100330  	// HiveLinkedServiceTypeProperties - Hive Server linked service properties.
100331  	*HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
100332  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
100333  	AdditionalProperties map[string]interface{} `json:""`
100334  	// ConnectVia - The integration runtime reference.
100335  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
100336  	// Description - Linked service description.
100337  	Description *string `json:"description,omitempty"`
100338  	// Parameters - Parameters for linked service.
100339  	Parameters map[string]*ParameterSpecification `json:"parameters"`
100340  	// Annotations - List of tags that can be used for describing the linked service.
100341  	Annotations *[]interface{} `json:"annotations,omitempty"`
100342  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
100343  	Type TypeBasicLinkedService `json:"type,omitempty"`
100344  }
100345  
100346  // MarshalJSON is the custom marshaler for HiveLinkedService.
100347  func (hls HiveLinkedService) MarshalJSON() ([]byte, error) {
100348  	hls.Type = TypeHive
100349  	objectMap := make(map[string]interface{})
100350  	if hls.HiveLinkedServiceTypeProperties != nil {
100351  		objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties
100352  	}
100353  	if hls.ConnectVia != nil {
100354  		objectMap["connectVia"] = hls.ConnectVia
100355  	}
100356  	if hls.Description != nil {
100357  		objectMap["description"] = hls.Description
100358  	}
100359  	if hls.Parameters != nil {
100360  		objectMap["parameters"] = hls.Parameters
100361  	}
100362  	if hls.Annotations != nil {
100363  		objectMap["annotations"] = hls.Annotations
100364  	}
100365  	if hls.Type != "" {
100366  		objectMap["type"] = hls.Type
100367  	}
100368  	for k, v := range hls.AdditionalProperties {
100369  		objectMap[k] = v
100370  	}
100371  	return json.Marshal(objectMap)
100372  }
100373  
100374  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100375  func (hls HiveLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
100376  	return nil, false
100377  }
100378  
100379  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100380  func (hls HiveLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
100381  	return nil, false
100382  }
100383  
100384  // AsSapTableLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100385  func (hls HiveLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
100386  	return nil, false
100387  }
100388  
100389  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100390  func (hls HiveLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
100391  	return nil, false
100392  }
100393  
100394  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100395  func (hls HiveLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
100396  	return nil, false
100397  }
100398  
100399  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100400  func (hls HiveLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
100401  	return nil, false
100402  }
100403  
100404  // AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100405  func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
100406  	return nil, false
100407  }
100408  
100409  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100410  func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
100411  	return nil, false
100412  }
100413  
100414  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100415  func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
100416  	return nil, false
100417  }
100418  
100419  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100420  func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
100421  	return nil, false
100422  }
100423  
100424  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100425  func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
100426  	return nil, false
100427  }
100428  
100429  // AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100430  func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
100431  	return nil, false
100432  }
100433  
100434  // AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100435  func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
100436  	return nil, false
100437  }
100438  
100439  // AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100440  func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
100441  	return nil, false
100442  }
100443  
100444  // AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100445  func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
100446  	return nil, false
100447  }
100448  
100449  // AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100450  func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
100451  	return nil, false
100452  }
100453  
100454  // AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100455  func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
100456  	return nil, false
100457  }
100458  
100459  // AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100460  func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
100461  	return nil, false
100462  }
100463  
100464  // AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100465  func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
100466  	return nil, false
100467  }
100468  
100469  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100470  func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
100471  	return nil, false
100472  }
100473  
100474  // AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100475  func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
100476  	return nil, false
100477  }
100478  
100479  // AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100480  func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
100481  	return nil, false
100482  }
100483  
100484  // AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100485  func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
100486  	return nil, false
100487  }
100488  
100489  // AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100490  func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
100491  	return nil, false
100492  }
100493  
100494  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100495  func (hls HiveLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
100496  	return nil, false
100497  }
100498  
100499  // AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100500  func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
100501  	return nil, false
100502  }
100503  
100504  // AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100505  func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
100506  	return nil, false
100507  }
100508  
100509  // AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100510  func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
100511  	return nil, false
100512  }
100513  
100514  // AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100515  func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
100516  	return nil, false
100517  }
100518  
100519  // AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100520  func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
100521  	return nil, false
100522  }
100523  
100524  // AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100525  func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
100526  	return &hls, true
100527  }
100528  
100529  // AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100530  func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
100531  	return nil, false
100532  }
100533  
100534  // AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100535  func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
100536  	return nil, false
100537  }
100538  
100539  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100540  func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
100541  	return nil, false
100542  }
100543  
100544  // AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100545  func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
100546  	return nil, false
100547  }
100548  
100549  // AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100550  func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
100551  	return nil, false
100552  }
100553  
100554  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100555  func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
100556  	return nil, false
100557  }
100558  
100559  // AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100560  func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
100561  	return nil, false
100562  }
100563  
100564  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100565  func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
100566  	return nil, false
100567  }
100568  
100569  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100570  func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
100571  	return nil, false
100572  }
100573  
100574  // AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100575  func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
100576  	return nil, false
100577  }
100578  
100579  // AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100580  func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
100581  	return nil, false
100582  }
100583  
100584  // AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100585  func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
100586  	return nil, false
100587  }
100588  
100589  // AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100590  func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
100591  	return nil, false
100592  }
100593  
100594  // AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100595  func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
100596  	return nil, false
100597  }
100598  
100599  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100600  func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
100601  	return nil, false
100602  }
100603  
100604  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100605  func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
100606  	return nil, false
100607  }
100608  
100609  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100610  func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
100611  	return nil, false
100612  }
100613  
100614  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService.
100615  func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
100616  	return nil, false
100617  }
100618  
100619  // AsRestServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100620  func (hls HiveLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
100621  	return nil, false
100622  }
100623  
100624  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100625  func (hls HiveLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
100626  	return nil, false
100627  }
100628  
100629  // AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100630  func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
100631  	return nil, false
100632  }
100633  
100634  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100635  func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
100636  	return nil, false
100637  }
100638  
100639  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100640  func (hls HiveLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
100641  	return nil, false
100642  }
100643  
100644  // AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100645  func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
100646  	return nil, false
100647  }
100648  
100649  // AsOffice365LinkedService is the BasicLinkedService implementation for HiveLinkedService.
100650  func (hls HiveLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
100651  	return nil, false
100652  }
100653  
100654  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100655  func (hls HiveLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
100656  	return nil, false
100657  }
100658  
100659  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100660  func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
100661  	return nil, false
100662  }
100663  
100664  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HiveLinkedService.
100665  func (hls HiveLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
100666  	return nil, false
100667  }
100668  
100669  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
100670  func (hls HiveLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
100671  	return nil, false
100672  }
100673  
100674  // AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100675  func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
100676  	return nil, false
100677  }
100678  
100679  // AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100680  func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
100681  	return nil, false
100682  }
100683  
100684  // AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100685  func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
100686  	return nil, false
100687  }
100688  
100689  // AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100690  func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
100691  	return nil, false
100692  }
100693  
100694  // AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100695  func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
100696  	return nil, false
100697  }
100698  
100699  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100700  func (hls HiveLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
100701  	return nil, false
100702  }
100703  
100704  // AsInformixLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100705  func (hls HiveLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
100706  	return nil, false
100707  }
100708  
100709  // AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100710  func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
100711  	return nil, false
100712  }
100713  
100714  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100715  func (hls HiveLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
100716  	return nil, false
100717  }
100718  
100719  // AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100720  func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
100721  	return nil, false
100722  }
100723  
100724  // AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100725  func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
100726  	return nil, false
100727  }
100728  
100729  // AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService.
100730  func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
100731  	return nil, false
100732  }
100733  
100734  // AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100735  func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
100736  	return nil, false
100737  }
100738  
100739  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100740  func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
100741  	return nil, false
100742  }
100743  
100744  // AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100745  func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
100746  	return nil, false
100747  }
100748  
100749  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100750  func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
100751  	return nil, false
100752  }
100753  
100754  // AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100755  func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
100756  	return nil, false
100757  }
100758  
100759  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100760  func (hls HiveLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
100761  	return nil, false
100762  }
100763  
100764  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100765  func (hls HiveLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
100766  	return nil, false
100767  }
100768  
100769  // AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100770  func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
100771  	return nil, false
100772  }
100773  
100774  // AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100775  func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
100776  	return nil, false
100777  }
100778  
100779  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100780  func (hls HiveLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
100781  	return nil, false
100782  }
100783  
100784  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100785  func (hls HiveLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
100786  	return nil, false
100787  }
100788  
100789  // AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100790  func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
100791  	return nil, false
100792  }
100793  
100794  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100795  func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
100796  	return nil, false
100797  }
100798  
100799  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100800  func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
100801  	return nil, false
100802  }
100803  
100804  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100805  func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
100806  	return nil, false
100807  }
100808  
100809  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HiveLinkedService.
100810  func (hls HiveLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
100811  	return nil, false
100812  }
100813  
100814  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100815  func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
100816  	return nil, false
100817  }
100818  
100819  // AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100820  func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
100821  	return nil, false
100822  }
100823  
100824  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100825  func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
100826  	return nil, false
100827  }
100828  
100829  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100830  func (hls HiveLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
100831  	return nil, false
100832  }
100833  
100834  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100835  func (hls HiveLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
100836  	return nil, false
100837  }
100838  
100839  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100840  func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
100841  	return nil, false
100842  }
100843  
100844  // AsLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100845  func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) {
100846  	return nil, false
100847  }
100848  
100849  // AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService.
100850  func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
100851  	return &hls, true
100852  }
100853  
100854  // UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct.
100855  func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error {
100856  	var m map[string]*json.RawMessage
100857  	err := json.Unmarshal(body, &m)
100858  	if err != nil {
100859  		return err
100860  	}
100861  	for k, v := range m {
100862  		switch k {
100863  		case "typeProperties":
100864  			if v != nil {
100865  				var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties
100866  				err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties)
100867  				if err != nil {
100868  					return err
100869  				}
100870  				hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties
100871  			}
100872  		default:
100873  			if v != nil {
100874  				var additionalProperties interface{}
100875  				err = json.Unmarshal(*v, &additionalProperties)
100876  				if err != nil {
100877  					return err
100878  				}
100879  				if hls.AdditionalProperties == nil {
100880  					hls.AdditionalProperties = make(map[string]interface{})
100881  				}
100882  				hls.AdditionalProperties[k] = additionalProperties
100883  			}
100884  		case "connectVia":
100885  			if v != nil {
100886  				var connectVia IntegrationRuntimeReference
100887  				err = json.Unmarshal(*v, &connectVia)
100888  				if err != nil {
100889  					return err
100890  				}
100891  				hls.ConnectVia = &connectVia
100892  			}
100893  		case "description":
100894  			if v != nil {
100895  				var description string
100896  				err = json.Unmarshal(*v, &description)
100897  				if err != nil {
100898  					return err
100899  				}
100900  				hls.Description = &description
100901  			}
100902  		case "parameters":
100903  			if v != nil {
100904  				var parameters map[string]*ParameterSpecification
100905  				err = json.Unmarshal(*v, &parameters)
100906  				if err != nil {
100907  					return err
100908  				}
100909  				hls.Parameters = parameters
100910  			}
100911  		case "annotations":
100912  			if v != nil {
100913  				var annotations []interface{}
100914  				err = json.Unmarshal(*v, &annotations)
100915  				if err != nil {
100916  					return err
100917  				}
100918  				hls.Annotations = &annotations
100919  			}
100920  		case "type":
100921  			if v != nil {
100922  				var typeVar TypeBasicLinkedService
100923  				err = json.Unmarshal(*v, &typeVar)
100924  				if err != nil {
100925  					return err
100926  				}
100927  				hls.Type = typeVar
100928  			}
100929  		}
100930  	}
100931  
100932  	return nil
100933  }
100934  
100935  // HiveLinkedServiceTypeProperties hive Server linked service properties.
100936  type HiveLinkedServiceTypeProperties struct {
100937  	// Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).
100938  	Host interface{} `json:"host,omitempty"`
100939  	// Port - The TCP port that the Hive server uses to listen for client connections.
100940  	Port interface{} `json:"port,omitempty"`
100941  	// ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer'
100942  	ServerType HiveServerType `json:"serverType,omitempty"`
100943  	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP'
100944  	ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
100945  	// AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService'
100946  	AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"`
100947  	// ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not.
100948  	ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"`
100949  	// ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added.
100950  	ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"`
100951  	// UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL.
100952  	UseNativeQuery interface{} `json:"useNativeQuery,omitempty"`
100953  	// Username - The user name that you use to access Hive Server.
100954  	Username interface{} `json:"username,omitempty"`
100955  	// Password - The password corresponding to the user name that you provided in the Username field
100956  	Password BasicSecretBase `json:"password,omitempty"`
100957  	// HTTPPath - The partial URL corresponding to the Hive server.
100958  	HTTPPath interface{} `json:"httpPath,omitempty"`
100959  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
100960  	EnableSsl interface{} `json:"enableSsl,omitempty"`
100961  	// 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.
100962  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
100963  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
100964  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
100965  	// 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.
100966  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
100967  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
100968  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
100969  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
100970  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
100971  }
100972  
100973  // UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct.
100974  func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
100975  	var m map[string]*json.RawMessage
100976  	err := json.Unmarshal(body, &m)
100977  	if err != nil {
100978  		return err
100979  	}
100980  	for k, v := range m {
100981  		switch k {
100982  		case "host":
100983  			if v != nil {
100984  				var host interface{}
100985  				err = json.Unmarshal(*v, &host)
100986  				if err != nil {
100987  					return err
100988  				}
100989  				hlstp.Host = host
100990  			}
100991  		case "port":
100992  			if v != nil {
100993  				var port interface{}
100994  				err = json.Unmarshal(*v, &port)
100995  				if err != nil {
100996  					return err
100997  				}
100998  				hlstp.Port = port
100999  			}
101000  		case "serverType":
101001  			if v != nil {
101002  				var serverType HiveServerType
101003  				err = json.Unmarshal(*v, &serverType)
101004  				if err != nil {
101005  					return err
101006  				}
101007  				hlstp.ServerType = serverType
101008  			}
101009  		case "thriftTransportProtocol":
101010  			if v != nil {
101011  				var thriftTransportProtocol HiveThriftTransportProtocol
101012  				err = json.Unmarshal(*v, &thriftTransportProtocol)
101013  				if err != nil {
101014  					return err
101015  				}
101016  				hlstp.ThriftTransportProtocol = thriftTransportProtocol
101017  			}
101018  		case "authenticationType":
101019  			if v != nil {
101020  				var authenticationType HiveAuthenticationType
101021  				err = json.Unmarshal(*v, &authenticationType)
101022  				if err != nil {
101023  					return err
101024  				}
101025  				hlstp.AuthenticationType = authenticationType
101026  			}
101027  		case "serviceDiscoveryMode":
101028  			if v != nil {
101029  				var serviceDiscoveryMode interface{}
101030  				err = json.Unmarshal(*v, &serviceDiscoveryMode)
101031  				if err != nil {
101032  					return err
101033  				}
101034  				hlstp.ServiceDiscoveryMode = serviceDiscoveryMode
101035  			}
101036  		case "zooKeeperNameSpace":
101037  			if v != nil {
101038  				var zooKeeperNameSpace interface{}
101039  				err = json.Unmarshal(*v, &zooKeeperNameSpace)
101040  				if err != nil {
101041  					return err
101042  				}
101043  				hlstp.ZooKeeperNameSpace = zooKeeperNameSpace
101044  			}
101045  		case "useNativeQuery":
101046  			if v != nil {
101047  				var useNativeQuery interface{}
101048  				err = json.Unmarshal(*v, &useNativeQuery)
101049  				if err != nil {
101050  					return err
101051  				}
101052  				hlstp.UseNativeQuery = useNativeQuery
101053  			}
101054  		case "username":
101055  			if v != nil {
101056  				var username interface{}
101057  				err = json.Unmarshal(*v, &username)
101058  				if err != nil {
101059  					return err
101060  				}
101061  				hlstp.Username = username
101062  			}
101063  		case "password":
101064  			if v != nil {
101065  				password, err := unmarshalBasicSecretBase(*v)
101066  				if err != nil {
101067  					return err
101068  				}
101069  				hlstp.Password = password
101070  			}
101071  		case "httpPath":
101072  			if v != nil {
101073  				var HTTPPath interface{}
101074  				err = json.Unmarshal(*v, &HTTPPath)
101075  				if err != nil {
101076  					return err
101077  				}
101078  				hlstp.HTTPPath = HTTPPath
101079  			}
101080  		case "enableSsl":
101081  			if v != nil {
101082  				var enableSsl interface{}
101083  				err = json.Unmarshal(*v, &enableSsl)
101084  				if err != nil {
101085  					return err
101086  				}
101087  				hlstp.EnableSsl = enableSsl
101088  			}
101089  		case "trustedCertPath":
101090  			if v != nil {
101091  				var trustedCertPath interface{}
101092  				err = json.Unmarshal(*v, &trustedCertPath)
101093  				if err != nil {
101094  					return err
101095  				}
101096  				hlstp.TrustedCertPath = trustedCertPath
101097  			}
101098  		case "useSystemTrustStore":
101099  			if v != nil {
101100  				var useSystemTrustStore interface{}
101101  				err = json.Unmarshal(*v, &useSystemTrustStore)
101102  				if err != nil {
101103  					return err
101104  				}
101105  				hlstp.UseSystemTrustStore = useSystemTrustStore
101106  			}
101107  		case "allowHostNameCNMismatch":
101108  			if v != nil {
101109  				var allowHostNameCNMismatch interface{}
101110  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
101111  				if err != nil {
101112  					return err
101113  				}
101114  				hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
101115  			}
101116  		case "allowSelfSignedServerCert":
101117  			if v != nil {
101118  				var allowSelfSignedServerCert interface{}
101119  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
101120  				if err != nil {
101121  					return err
101122  				}
101123  				hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
101124  			}
101125  		case "encryptedCredential":
101126  			if v != nil {
101127  				var encryptedCredential interface{}
101128  				err = json.Unmarshal(*v, &encryptedCredential)
101129  				if err != nil {
101130  					return err
101131  				}
101132  				hlstp.EncryptedCredential = encryptedCredential
101133  			}
101134  		}
101135  	}
101136  
101137  	return nil
101138  }
101139  
101140  // HiveObjectDataset hive Server dataset.
101141  type HiveObjectDataset struct {
101142  	// HiveDatasetTypeProperties - Properties specific to this dataset type.
101143  	*HiveDatasetTypeProperties `json:"typeProperties,omitempty"`
101144  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101145  	AdditionalProperties map[string]interface{} `json:""`
101146  	// Description - Dataset description.
101147  	Description *string `json:"description,omitempty"`
101148  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
101149  	Structure interface{} `json:"structure,omitempty"`
101150  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
101151  	Schema interface{} `json:"schema,omitempty"`
101152  	// LinkedServiceName - Linked service reference.
101153  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
101154  	// Parameters - Parameters for dataset.
101155  	Parameters map[string]*ParameterSpecification `json:"parameters"`
101156  	// Annotations - List of tags that can be used for describing the Dataset.
101157  	Annotations *[]interface{} `json:"annotations,omitempty"`
101158  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
101159  	Folder *DatasetFolder `json:"folder,omitempty"`
101160  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
101161  	Type TypeBasicDataset `json:"type,omitempty"`
101162  }
101163  
101164  // MarshalJSON is the custom marshaler for HiveObjectDataset.
101165  func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) {
101166  	hod.Type = TypeHiveObject
101167  	objectMap := make(map[string]interface{})
101168  	if hod.HiveDatasetTypeProperties != nil {
101169  		objectMap["typeProperties"] = hod.HiveDatasetTypeProperties
101170  	}
101171  	if hod.Description != nil {
101172  		objectMap["description"] = hod.Description
101173  	}
101174  	if hod.Structure != nil {
101175  		objectMap["structure"] = hod.Structure
101176  	}
101177  	if hod.Schema != nil {
101178  		objectMap["schema"] = hod.Schema
101179  	}
101180  	if hod.LinkedServiceName != nil {
101181  		objectMap["linkedServiceName"] = hod.LinkedServiceName
101182  	}
101183  	if hod.Parameters != nil {
101184  		objectMap["parameters"] = hod.Parameters
101185  	}
101186  	if hod.Annotations != nil {
101187  		objectMap["annotations"] = hod.Annotations
101188  	}
101189  	if hod.Folder != nil {
101190  		objectMap["folder"] = hod.Folder
101191  	}
101192  	if hod.Type != "" {
101193  		objectMap["type"] = hod.Type
101194  	}
101195  	for k, v := range hod.AdditionalProperties {
101196  		objectMap[k] = v
101197  	}
101198  	return json.Marshal(objectMap)
101199  }
101200  
101201  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101202  func (hod HiveObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
101203  	return nil, false
101204  }
101205  
101206  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for HiveObjectDataset.
101207  func (hod HiveObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
101208  	return nil, false
101209  }
101210  
101211  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101212  func (hod HiveObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
101213  	return nil, false
101214  }
101215  
101216  // AsDynamicsAXResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101217  func (hod HiveObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
101218  	return nil, false
101219  }
101220  
101221  // AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101222  func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
101223  	return nil, false
101224  }
101225  
101226  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101227  func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
101228  	return nil, false
101229  }
101230  
101231  // AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset.
101232  func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
101233  	return nil, false
101234  }
101235  
101236  // AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset.
101237  func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
101238  	return nil, false
101239  }
101240  
101241  // AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101242  func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
101243  	return nil, false
101244  }
101245  
101246  // AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101247  func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
101248  	return nil, false
101249  }
101250  
101251  // AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101252  func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
101253  	return nil, false
101254  }
101255  
101256  // AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101257  func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
101258  	return nil, false
101259  }
101260  
101261  // AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101262  func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
101263  	return nil, false
101264  }
101265  
101266  // AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101267  func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
101268  	return nil, false
101269  }
101270  
101271  // AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101272  func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
101273  	return nil, false
101274  }
101275  
101276  // AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101277  func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
101278  	return nil, false
101279  }
101280  
101281  // AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101282  func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
101283  	return nil, false
101284  }
101285  
101286  // AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101287  func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
101288  	return nil, false
101289  }
101290  
101291  // AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101292  func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
101293  	return nil, false
101294  }
101295  
101296  // AsAzureMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset.
101297  func (hod HiveObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
101298  	return nil, false
101299  }
101300  
101301  // AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset.
101302  func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
101303  	return nil, false
101304  }
101305  
101306  // AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101307  func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
101308  	return nil, false
101309  }
101310  
101311  // AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101312  func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
101313  	return nil, false
101314  }
101315  
101316  // AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101317  func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
101318  	return nil, false
101319  }
101320  
101321  // AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101322  func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
101323  	return nil, false
101324  }
101325  
101326  // AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101327  func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
101328  	return &hod, true
101329  }
101330  
101331  // AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101332  func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
101333  	return nil, false
101334  }
101335  
101336  // AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset.
101337  func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
101338  	return nil, false
101339  }
101340  
101341  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101342  func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
101343  	return nil, false
101344  }
101345  
101346  // AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101347  func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
101348  	return nil, false
101349  }
101350  
101351  // AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset.
101352  func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
101353  	return nil, false
101354  }
101355  
101356  // AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset.
101357  func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
101358  	return nil, false
101359  }
101360  
101361  // AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101362  func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
101363  	return nil, false
101364  }
101365  
101366  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
101367  func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
101368  	return nil, false
101369  }
101370  
101371  // AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101372  func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
101373  	return nil, false
101374  }
101375  
101376  // AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset.
101377  func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
101378  	return nil, false
101379  }
101380  
101381  // AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset.
101382  func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
101383  	return nil, false
101384  }
101385  
101386  // AsSapTableResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101387  func (hod HiveObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
101388  	return nil, false
101389  }
101390  
101391  // AsRestResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101392  func (hod HiveObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
101393  	return nil, false
101394  }
101395  
101396  // AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset.
101397  func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
101398  	return nil, false
101399  }
101400  
101401  // AsSapOpenHubTableDataset is the BasicDataset implementation for HiveObjectDataset.
101402  func (hod HiveObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
101403  	return nil, false
101404  }
101405  
101406  // AsSapHanaTableDataset is the BasicDataset implementation for HiveObjectDataset.
101407  func (hod HiveObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
101408  	return nil, false
101409  }
101410  
101411  // AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101412  func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
101413  	return nil, false
101414  }
101415  
101416  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101417  func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
101418  	return nil, false
101419  }
101420  
101421  // AsSapBwCubeDataset is the BasicDataset implementation for HiveObjectDataset.
101422  func (hod HiveObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
101423  	return nil, false
101424  }
101425  
101426  // AsSybaseTableDataset is the BasicDataset implementation for HiveObjectDataset.
101427  func (hod HiveObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
101428  	return nil, false
101429  }
101430  
101431  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101432  func (hod HiveObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
101433  	return nil, false
101434  }
101435  
101436  // AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset.
101437  func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
101438  	return nil, false
101439  }
101440  
101441  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for HiveObjectDataset.
101442  func (hod HiveObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
101443  	return nil, false
101444  }
101445  
101446  // AsPostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
101447  func (hod HiveObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
101448  	return nil, false
101449  }
101450  
101451  // AsMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
101452  func (hod HiveObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
101453  	return nil, false
101454  }
101455  
101456  // AsOdbcTableDataset is the BasicDataset implementation for HiveObjectDataset.
101457  func (hod HiveObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
101458  	return nil, false
101459  }
101460  
101461  // AsInformixTableDataset is the BasicDataset implementation for HiveObjectDataset.
101462  func (hod HiveObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
101463  	return nil, false
101464  }
101465  
101466  // AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset.
101467  func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
101468  	return nil, false
101469  }
101470  
101471  // AsDb2TableDataset is the BasicDataset implementation for HiveObjectDataset.
101472  func (hod HiveObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
101473  	return nil, false
101474  }
101475  
101476  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for HiveObjectDataset.
101477  func (hod HiveObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
101478  	return nil, false
101479  }
101480  
101481  // AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
101482  func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
101483  	return nil, false
101484  }
101485  
101486  // AsTeradataTableDataset is the BasicDataset implementation for HiveObjectDataset.
101487  func (hod HiveObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
101488  	return nil, false
101489  }
101490  
101491  // AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset.
101492  func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
101493  	return nil, false
101494  }
101495  
101496  // AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset.
101497  func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
101498  	return nil, false
101499  }
101500  
101501  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset.
101502  func (hod HiveObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
101503  	return nil, false
101504  }
101505  
101506  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for HiveObjectDataset.
101507  func (hod HiveObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
101508  	return nil, false
101509  }
101510  
101511  // AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
101512  func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
101513  	return nil, false
101514  }
101515  
101516  // AsOffice365Dataset is the BasicDataset implementation for HiveObjectDataset.
101517  func (hod HiveObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
101518  	return nil, false
101519  }
101520  
101521  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
101522  func (hod HiveObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
101523  	return nil, false
101524  }
101525  
101526  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for HiveObjectDataset.
101527  func (hod HiveObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
101528  	return nil, false
101529  }
101530  
101531  // AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset.
101532  func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
101533  	return nil, false
101534  }
101535  
101536  // AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset.
101537  func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
101538  	return nil, false
101539  }
101540  
101541  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset.
101542  func (hod HiveObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
101543  	return nil, false
101544  }
101545  
101546  // AsCustomDataset is the BasicDataset implementation for HiveObjectDataset.
101547  func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
101548  	return nil, false
101549  }
101550  
101551  // AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset.
101552  func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
101553  	return nil, false
101554  }
101555  
101556  // AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset.
101557  func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
101558  	return nil, false
101559  }
101560  
101561  // AsAzureSQLMITableDataset is the BasicDataset implementation for HiveObjectDataset.
101562  func (hod HiveObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
101563  	return nil, false
101564  }
101565  
101566  // AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset.
101567  func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
101568  	return nil, false
101569  }
101570  
101571  // AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset.
101572  func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
101573  	return nil, false
101574  }
101575  
101576  // AsBinaryDataset is the BasicDataset implementation for HiveObjectDataset.
101577  func (hod HiveObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
101578  	return nil, false
101579  }
101580  
101581  // AsOrcDataset is the BasicDataset implementation for HiveObjectDataset.
101582  func (hod HiveObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
101583  	return nil, false
101584  }
101585  
101586  // AsJSONDataset is the BasicDataset implementation for HiveObjectDataset.
101587  func (hod HiveObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
101588  	return nil, false
101589  }
101590  
101591  // AsDelimitedTextDataset is the BasicDataset implementation for HiveObjectDataset.
101592  func (hod HiveObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
101593  	return nil, false
101594  }
101595  
101596  // AsParquetDataset is the BasicDataset implementation for HiveObjectDataset.
101597  func (hod HiveObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
101598  	return nil, false
101599  }
101600  
101601  // AsAvroDataset is the BasicDataset implementation for HiveObjectDataset.
101602  func (hod HiveObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
101603  	return nil, false
101604  }
101605  
101606  // AsDataset is the BasicDataset implementation for HiveObjectDataset.
101607  func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) {
101608  	return nil, false
101609  }
101610  
101611  // AsBasicDataset is the BasicDataset implementation for HiveObjectDataset.
101612  func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) {
101613  	return &hod, true
101614  }
101615  
101616  // UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct.
101617  func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error {
101618  	var m map[string]*json.RawMessage
101619  	err := json.Unmarshal(body, &m)
101620  	if err != nil {
101621  		return err
101622  	}
101623  	for k, v := range m {
101624  		switch k {
101625  		case "typeProperties":
101626  			if v != nil {
101627  				var hiveDatasetTypeProperties HiveDatasetTypeProperties
101628  				err = json.Unmarshal(*v, &hiveDatasetTypeProperties)
101629  				if err != nil {
101630  					return err
101631  				}
101632  				hod.HiveDatasetTypeProperties = &hiveDatasetTypeProperties
101633  			}
101634  		default:
101635  			if v != nil {
101636  				var additionalProperties interface{}
101637  				err = json.Unmarshal(*v, &additionalProperties)
101638  				if err != nil {
101639  					return err
101640  				}
101641  				if hod.AdditionalProperties == nil {
101642  					hod.AdditionalProperties = make(map[string]interface{})
101643  				}
101644  				hod.AdditionalProperties[k] = additionalProperties
101645  			}
101646  		case "description":
101647  			if v != nil {
101648  				var description string
101649  				err = json.Unmarshal(*v, &description)
101650  				if err != nil {
101651  					return err
101652  				}
101653  				hod.Description = &description
101654  			}
101655  		case "structure":
101656  			if v != nil {
101657  				var structure interface{}
101658  				err = json.Unmarshal(*v, &structure)
101659  				if err != nil {
101660  					return err
101661  				}
101662  				hod.Structure = structure
101663  			}
101664  		case "schema":
101665  			if v != nil {
101666  				var schema interface{}
101667  				err = json.Unmarshal(*v, &schema)
101668  				if err != nil {
101669  					return err
101670  				}
101671  				hod.Schema = schema
101672  			}
101673  		case "linkedServiceName":
101674  			if v != nil {
101675  				var linkedServiceName LinkedServiceReference
101676  				err = json.Unmarshal(*v, &linkedServiceName)
101677  				if err != nil {
101678  					return err
101679  				}
101680  				hod.LinkedServiceName = &linkedServiceName
101681  			}
101682  		case "parameters":
101683  			if v != nil {
101684  				var parameters map[string]*ParameterSpecification
101685  				err = json.Unmarshal(*v, &parameters)
101686  				if err != nil {
101687  					return err
101688  				}
101689  				hod.Parameters = parameters
101690  			}
101691  		case "annotations":
101692  			if v != nil {
101693  				var annotations []interface{}
101694  				err = json.Unmarshal(*v, &annotations)
101695  				if err != nil {
101696  					return err
101697  				}
101698  				hod.Annotations = &annotations
101699  			}
101700  		case "folder":
101701  			if v != nil {
101702  				var folder DatasetFolder
101703  				err = json.Unmarshal(*v, &folder)
101704  				if err != nil {
101705  					return err
101706  				}
101707  				hod.Folder = &folder
101708  			}
101709  		case "type":
101710  			if v != nil {
101711  				var typeVar TypeBasicDataset
101712  				err = json.Unmarshal(*v, &typeVar)
101713  				if err != nil {
101714  					return err
101715  				}
101716  				hod.Type = typeVar
101717  			}
101718  		}
101719  	}
101720  
101721  	return nil
101722  }
101723  
101724  // HiveSource a copy activity Hive Server source.
101725  type HiveSource struct {
101726  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
101727  	Query interface{} `json:"query,omitempty"`
101728  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
101729  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
101730  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
101731  	AdditionalProperties map[string]interface{} `json:""`
101732  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
101733  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
101734  	// 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])).
101735  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
101736  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
101737  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
101738  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
101739  	Type TypeBasicCopySource `json:"type,omitempty"`
101740  }
101741  
101742  // MarshalJSON is the custom marshaler for HiveSource.
101743  func (hs HiveSource) MarshalJSON() ([]byte, error) {
101744  	hs.Type = TypeHiveSource
101745  	objectMap := make(map[string]interface{})
101746  	if hs.Query != nil {
101747  		objectMap["query"] = hs.Query
101748  	}
101749  	if hs.QueryTimeout != nil {
101750  		objectMap["queryTimeout"] = hs.QueryTimeout
101751  	}
101752  	if hs.SourceRetryCount != nil {
101753  		objectMap["sourceRetryCount"] = hs.SourceRetryCount
101754  	}
101755  	if hs.SourceRetryWait != nil {
101756  		objectMap["sourceRetryWait"] = hs.SourceRetryWait
101757  	}
101758  	if hs.MaxConcurrentConnections != nil {
101759  		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
101760  	}
101761  	if hs.Type != "" {
101762  		objectMap["type"] = hs.Type
101763  	}
101764  	for k, v := range hs.AdditionalProperties {
101765  		objectMap[k] = v
101766  	}
101767  	return json.Marshal(objectMap)
101768  }
101769  
101770  // AsHTTPSource is the BasicCopySource implementation for HiveSource.
101771  func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) {
101772  	return nil, false
101773  }
101774  
101775  // AsAzureBlobFSSource is the BasicCopySource implementation for HiveSource.
101776  func (hs HiveSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
101777  	return nil, false
101778  }
101779  
101780  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource.
101781  func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
101782  	return nil, false
101783  }
101784  
101785  // AsOffice365Source is the BasicCopySource implementation for HiveSource.
101786  func (hs HiveSource) AsOffice365Source() (*Office365Source, bool) {
101787  	return nil, false
101788  }
101789  
101790  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HiveSource.
101791  func (hs HiveSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
101792  	return nil, false
101793  }
101794  
101795  // AsMongoDbV2Source is the BasicCopySource implementation for HiveSource.
101796  func (hs HiveSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
101797  	return nil, false
101798  }
101799  
101800  // AsMongoDbSource is the BasicCopySource implementation for HiveSource.
101801  func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) {
101802  	return nil, false
101803  }
101804  
101805  // AsWebSource is the BasicCopySource implementation for HiveSource.
101806  func (hs HiveSource) AsWebSource() (*WebSource, bool) {
101807  	return nil, false
101808  }
101809  
101810  // AsOracleSource is the BasicCopySource implementation for HiveSource.
101811  func (hs HiveSource) AsOracleSource() (*OracleSource, bool) {
101812  	return nil, false
101813  }
101814  
101815  // AsAzureDataExplorerSource is the BasicCopySource implementation for HiveSource.
101816  func (hs HiveSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
101817  	return nil, false
101818  }
101819  
101820  // AsHdfsSource is the BasicCopySource implementation for HiveSource.
101821  func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) {
101822  	return nil, false
101823  }
101824  
101825  // AsFileSystemSource is the BasicCopySource implementation for HiveSource.
101826  func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) {
101827  	return nil, false
101828  }
101829  
101830  // AsRestSource is the BasicCopySource implementation for HiveSource.
101831  func (hs HiveSource) AsRestSource() (*RestSource, bool) {
101832  	return nil, false
101833  }
101834  
101835  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for HiveSource.
101836  func (hs HiveSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
101837  	return nil, false
101838  }
101839  
101840  // AsODataSource is the BasicCopySource implementation for HiveSource.
101841  func (hs HiveSource) AsODataSource() (*ODataSource, bool) {
101842  	return nil, false
101843  }
101844  
101845  // AsMicrosoftAccessSource is the BasicCopySource implementation for HiveSource.
101846  func (hs HiveSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
101847  	return nil, false
101848  }
101849  
101850  // AsRelationalSource is the BasicCopySource implementation for HiveSource.
101851  func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) {
101852  	return nil, false
101853  }
101854  
101855  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HiveSource.
101856  func (hs HiveSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
101857  	return nil, false
101858  }
101859  
101860  // AsDynamicsCrmSource is the BasicCopySource implementation for HiveSource.
101861  func (hs HiveSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
101862  	return nil, false
101863  }
101864  
101865  // AsDynamicsSource is the BasicCopySource implementation for HiveSource.
101866  func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) {
101867  	return nil, false
101868  }
101869  
101870  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for HiveSource.
101871  func (hs HiveSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
101872  	return nil, false
101873  }
101874  
101875  // AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource.
101876  func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
101877  	return nil, false
101878  }
101879  
101880  // AsBlobSource is the BasicCopySource implementation for HiveSource.
101881  func (hs HiveSource) AsBlobSource() (*BlobSource, bool) {
101882  	return nil, false
101883  }
101884  
101885  // AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource.
101886  func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
101887  	return nil, false
101888  }
101889  
101890  // AsGoogleAdWordsSource is the BasicCopySource implementation for HiveSource.
101891  func (hs HiveSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
101892  	return nil, false
101893  }
101894  
101895  // AsOracleServiceCloudSource is the BasicCopySource implementation for HiveSource.
101896  func (hs HiveSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
101897  	return nil, false
101898  }
101899  
101900  // AsDynamicsAXSource is the BasicCopySource implementation for HiveSource.
101901  func (hs HiveSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
101902  	return nil, false
101903  }
101904  
101905  // AsResponsysSource is the BasicCopySource implementation for HiveSource.
101906  func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) {
101907  	return nil, false
101908  }
101909  
101910  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource.
101911  func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
101912  	return nil, false
101913  }
101914  
101915  // AsVerticaSource is the BasicCopySource implementation for HiveSource.
101916  func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) {
101917  	return nil, false
101918  }
101919  
101920  // AsNetezzaSource is the BasicCopySource implementation for HiveSource.
101921  func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) {
101922  	return nil, false
101923  }
101924  
101925  // AsZohoSource is the BasicCopySource implementation for HiveSource.
101926  func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) {
101927  	return nil, false
101928  }
101929  
101930  // AsXeroSource is the BasicCopySource implementation for HiveSource.
101931  func (hs HiveSource) AsXeroSource() (*XeroSource, bool) {
101932  	return nil, false
101933  }
101934  
101935  // AsSquareSource is the BasicCopySource implementation for HiveSource.
101936  func (hs HiveSource) AsSquareSource() (*SquareSource, bool) {
101937  	return nil, false
101938  }
101939  
101940  // AsSparkSource is the BasicCopySource implementation for HiveSource.
101941  func (hs HiveSource) AsSparkSource() (*SparkSource, bool) {
101942  	return nil, false
101943  }
101944  
101945  // AsShopifySource is the BasicCopySource implementation for HiveSource.
101946  func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) {
101947  	return nil, false
101948  }
101949  
101950  // AsServiceNowSource is the BasicCopySource implementation for HiveSource.
101951  func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) {
101952  	return nil, false
101953  }
101954  
101955  // AsQuickBooksSource is the BasicCopySource implementation for HiveSource.
101956  func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
101957  	return nil, false
101958  }
101959  
101960  // AsPrestoSource is the BasicCopySource implementation for HiveSource.
101961  func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) {
101962  	return nil, false
101963  }
101964  
101965  // AsPhoenixSource is the BasicCopySource implementation for HiveSource.
101966  func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) {
101967  	return nil, false
101968  }
101969  
101970  // AsPaypalSource is the BasicCopySource implementation for HiveSource.
101971  func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) {
101972  	return nil, false
101973  }
101974  
101975  // AsMarketoSource is the BasicCopySource implementation for HiveSource.
101976  func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) {
101977  	return nil, false
101978  }
101979  
101980  // AsAzureMariaDBSource is the BasicCopySource implementation for HiveSource.
101981  func (hs HiveSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
101982  	return nil, false
101983  }
101984  
101985  // AsMariaDBSource is the BasicCopySource implementation for HiveSource.
101986  func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) {
101987  	return nil, false
101988  }
101989  
101990  // AsMagentoSource is the BasicCopySource implementation for HiveSource.
101991  func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) {
101992  	return nil, false
101993  }
101994  
101995  // AsJiraSource is the BasicCopySource implementation for HiveSource.
101996  func (hs HiveSource) AsJiraSource() (*JiraSource, bool) {
101997  	return nil, false
101998  }
101999  
102000  // AsImpalaSource is the BasicCopySource implementation for HiveSource.
102001  func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) {
102002  	return nil, false
102003  }
102004  
102005  // AsHubspotSource is the BasicCopySource implementation for HiveSource.
102006  func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) {
102007  	return nil, false
102008  }
102009  
102010  // AsHiveSource is the BasicCopySource implementation for HiveSource.
102011  func (hs HiveSource) AsHiveSource() (*HiveSource, bool) {
102012  	return &hs, true
102013  }
102014  
102015  // AsHBaseSource is the BasicCopySource implementation for HiveSource.
102016  func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) {
102017  	return nil, false
102018  }
102019  
102020  // AsGreenplumSource is the BasicCopySource implementation for HiveSource.
102021  func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) {
102022  	return nil, false
102023  }
102024  
102025  // AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource.
102026  func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
102027  	return nil, false
102028  }
102029  
102030  // AsEloquaSource is the BasicCopySource implementation for HiveSource.
102031  func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) {
102032  	return nil, false
102033  }
102034  
102035  // AsDrillSource is the BasicCopySource implementation for HiveSource.
102036  func (hs HiveSource) AsDrillSource() (*DrillSource, bool) {
102037  	return nil, false
102038  }
102039  
102040  // AsCouchbaseSource is the BasicCopySource implementation for HiveSource.
102041  func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
102042  	return nil, false
102043  }
102044  
102045  // AsConcurSource is the BasicCopySource implementation for HiveSource.
102046  func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) {
102047  	return nil, false
102048  }
102049  
102050  // AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource.
102051  func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
102052  	return nil, false
102053  }
102054  
102055  // AsAmazonMWSSource is the BasicCopySource implementation for HiveSource.
102056  func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
102057  	return nil, false
102058  }
102059  
102060  // AsCassandraSource is the BasicCopySource implementation for HiveSource.
102061  func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) {
102062  	return nil, false
102063  }
102064  
102065  // AsTeradataSource is the BasicCopySource implementation for HiveSource.
102066  func (hs HiveSource) AsTeradataSource() (*TeradataSource, bool) {
102067  	return nil, false
102068  }
102069  
102070  // AsAzureMySQLSource is the BasicCopySource implementation for HiveSource.
102071  func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
102072  	return nil, false
102073  }
102074  
102075  // AsSQLDWSource is the BasicCopySource implementation for HiveSource.
102076  func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) {
102077  	return nil, false
102078  }
102079  
102080  // AsSQLMISource is the BasicCopySource implementation for HiveSource.
102081  func (hs HiveSource) AsSQLMISource() (*SQLMISource, bool) {
102082  	return nil, false
102083  }
102084  
102085  // AsAzureSQLSource is the BasicCopySource implementation for HiveSource.
102086  func (hs HiveSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
102087  	return nil, false
102088  }
102089  
102090  // AsSQLServerSource is the BasicCopySource implementation for HiveSource.
102091  func (hs HiveSource) AsSQLServerSource() (*SQLServerSource, bool) {
102092  	return nil, false
102093  }
102094  
102095  // AsSQLSource is the BasicCopySource implementation for HiveSource.
102096  func (hs HiveSource) AsSQLSource() (*SQLSource, bool) {
102097  	return nil, false
102098  }
102099  
102100  // AsSapTableSource is the BasicCopySource implementation for HiveSource.
102101  func (hs HiveSource) AsSapTableSource() (*SapTableSource, bool) {
102102  	return nil, false
102103  }
102104  
102105  // AsSapOpenHubSource is the BasicCopySource implementation for HiveSource.
102106  func (hs HiveSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
102107  	return nil, false
102108  }
102109  
102110  // AsSapHanaSource is the BasicCopySource implementation for HiveSource.
102111  func (hs HiveSource) AsSapHanaSource() (*SapHanaSource, bool) {
102112  	return nil, false
102113  }
102114  
102115  // AsSapEccSource is the BasicCopySource implementation for HiveSource.
102116  func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) {
102117  	return nil, false
102118  }
102119  
102120  // AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource.
102121  func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
102122  	return nil, false
102123  }
102124  
102125  // AsSalesforceSource is the BasicCopySource implementation for HiveSource.
102126  func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) {
102127  	return nil, false
102128  }
102129  
102130  // AsSapBwSource is the BasicCopySource implementation for HiveSource.
102131  func (hs HiveSource) AsSapBwSource() (*SapBwSource, bool) {
102132  	return nil, false
102133  }
102134  
102135  // AsSybaseSource is the BasicCopySource implementation for HiveSource.
102136  func (hs HiveSource) AsSybaseSource() (*SybaseSource, bool) {
102137  	return nil, false
102138  }
102139  
102140  // AsPostgreSQLSource is the BasicCopySource implementation for HiveSource.
102141  func (hs HiveSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
102142  	return nil, false
102143  }
102144  
102145  // AsMySQLSource is the BasicCopySource implementation for HiveSource.
102146  func (hs HiveSource) AsMySQLSource() (*MySQLSource, bool) {
102147  	return nil, false
102148  }
102149  
102150  // AsOdbcSource is the BasicCopySource implementation for HiveSource.
102151  func (hs HiveSource) AsOdbcSource() (*OdbcSource, bool) {
102152  	return nil, false
102153  }
102154  
102155  // AsDb2Source is the BasicCopySource implementation for HiveSource.
102156  func (hs HiveSource) AsDb2Source() (*Db2Source, bool) {
102157  	return nil, false
102158  }
102159  
102160  // AsInformixSource is the BasicCopySource implementation for HiveSource.
102161  func (hs HiveSource) AsInformixSource() (*InformixSource, bool) {
102162  	return nil, false
102163  }
102164  
102165  // AsAzureTableSource is the BasicCopySource implementation for HiveSource.
102166  func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) {
102167  	return nil, false
102168  }
102169  
102170  // AsTabularSource is the BasicCopySource implementation for HiveSource.
102171  func (hs HiveSource) AsTabularSource() (*TabularSource, bool) {
102172  	return nil, false
102173  }
102174  
102175  // AsBasicTabularSource is the BasicCopySource implementation for HiveSource.
102176  func (hs HiveSource) AsBasicTabularSource() (BasicTabularSource, bool) {
102177  	return &hs, true
102178  }
102179  
102180  // AsBinarySource is the BasicCopySource implementation for HiveSource.
102181  func (hs HiveSource) AsBinarySource() (*BinarySource, bool) {
102182  	return nil, false
102183  }
102184  
102185  // AsOrcSource is the BasicCopySource implementation for HiveSource.
102186  func (hs HiveSource) AsOrcSource() (*OrcSource, bool) {
102187  	return nil, false
102188  }
102189  
102190  // AsJSONSource is the BasicCopySource implementation for HiveSource.
102191  func (hs HiveSource) AsJSONSource() (*JSONSource, bool) {
102192  	return nil, false
102193  }
102194  
102195  // AsDelimitedTextSource is the BasicCopySource implementation for HiveSource.
102196  func (hs HiveSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
102197  	return nil, false
102198  }
102199  
102200  // AsParquetSource is the BasicCopySource implementation for HiveSource.
102201  func (hs HiveSource) AsParquetSource() (*ParquetSource, bool) {
102202  	return nil, false
102203  }
102204  
102205  // AsAvroSource is the BasicCopySource implementation for HiveSource.
102206  func (hs HiveSource) AsAvroSource() (*AvroSource, bool) {
102207  	return nil, false
102208  }
102209  
102210  // AsCopySource is the BasicCopySource implementation for HiveSource.
102211  func (hs HiveSource) AsCopySource() (*CopySource, bool) {
102212  	return nil, false
102213  }
102214  
102215  // AsBasicCopySource is the BasicCopySource implementation for HiveSource.
102216  func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) {
102217  	return &hs, true
102218  }
102219  
102220  // UnmarshalJSON is the custom unmarshaler for HiveSource struct.
102221  func (hs *HiveSource) UnmarshalJSON(body []byte) error {
102222  	var m map[string]*json.RawMessage
102223  	err := json.Unmarshal(body, &m)
102224  	if err != nil {
102225  		return err
102226  	}
102227  	for k, v := range m {
102228  		switch k {
102229  		case "query":
102230  			if v != nil {
102231  				var query interface{}
102232  				err = json.Unmarshal(*v, &query)
102233  				if err != nil {
102234  					return err
102235  				}
102236  				hs.Query = query
102237  			}
102238  		case "queryTimeout":
102239  			if v != nil {
102240  				var queryTimeout interface{}
102241  				err = json.Unmarshal(*v, &queryTimeout)
102242  				if err != nil {
102243  					return err
102244  				}
102245  				hs.QueryTimeout = queryTimeout
102246  			}
102247  		default:
102248  			if v != nil {
102249  				var additionalProperties interface{}
102250  				err = json.Unmarshal(*v, &additionalProperties)
102251  				if err != nil {
102252  					return err
102253  				}
102254  				if hs.AdditionalProperties == nil {
102255  					hs.AdditionalProperties = make(map[string]interface{})
102256  				}
102257  				hs.AdditionalProperties[k] = additionalProperties
102258  			}
102259  		case "sourceRetryCount":
102260  			if v != nil {
102261  				var sourceRetryCount interface{}
102262  				err = json.Unmarshal(*v, &sourceRetryCount)
102263  				if err != nil {
102264  					return err
102265  				}
102266  				hs.SourceRetryCount = sourceRetryCount
102267  			}
102268  		case "sourceRetryWait":
102269  			if v != nil {
102270  				var sourceRetryWait interface{}
102271  				err = json.Unmarshal(*v, &sourceRetryWait)
102272  				if err != nil {
102273  					return err
102274  				}
102275  				hs.SourceRetryWait = sourceRetryWait
102276  			}
102277  		case "maxConcurrentConnections":
102278  			if v != nil {
102279  				var maxConcurrentConnections interface{}
102280  				err = json.Unmarshal(*v, &maxConcurrentConnections)
102281  				if err != nil {
102282  					return err
102283  				}
102284  				hs.MaxConcurrentConnections = maxConcurrentConnections
102285  			}
102286  		case "type":
102287  			if v != nil {
102288  				var typeVar TypeBasicCopySource
102289  				err = json.Unmarshal(*v, &typeVar)
102290  				if err != nil {
102291  					return err
102292  				}
102293  				hs.Type = typeVar
102294  			}
102295  		}
102296  	}
102297  
102298  	return nil
102299  }
102300  
102301  // HTTPLinkedService linked service for an HTTP source.
102302  type HTTPLinkedService struct {
102303  	// HTTPLinkedServiceTypeProperties - Properties specific to this linked service type.
102304  	*HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
102305  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
102306  	AdditionalProperties map[string]interface{} `json:""`
102307  	// ConnectVia - The integration runtime reference.
102308  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
102309  	// Description - Linked service description.
102310  	Description *string `json:"description,omitempty"`
102311  	// Parameters - Parameters for linked service.
102312  	Parameters map[string]*ParameterSpecification `json:"parameters"`
102313  	// Annotations - List of tags that can be used for describing the linked service.
102314  	Annotations *[]interface{} `json:"annotations,omitempty"`
102315  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
102316  	Type TypeBasicLinkedService `json:"type,omitempty"`
102317  }
102318  
102319  // MarshalJSON is the custom marshaler for HTTPLinkedService.
102320  func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) {
102321  	hls.Type = TypeHTTPServer
102322  	objectMap := make(map[string]interface{})
102323  	if hls.HTTPLinkedServiceTypeProperties != nil {
102324  		objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties
102325  	}
102326  	if hls.ConnectVia != nil {
102327  		objectMap["connectVia"] = hls.ConnectVia
102328  	}
102329  	if hls.Description != nil {
102330  		objectMap["description"] = hls.Description
102331  	}
102332  	if hls.Parameters != nil {
102333  		objectMap["parameters"] = hls.Parameters
102334  	}
102335  	if hls.Annotations != nil {
102336  		objectMap["annotations"] = hls.Annotations
102337  	}
102338  	if hls.Type != "" {
102339  		objectMap["type"] = hls.Type
102340  	}
102341  	for k, v := range hls.AdditionalProperties {
102342  		objectMap[k] = v
102343  	}
102344  	return json.Marshal(objectMap)
102345  }
102346  
102347  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102348  func (hls HTTPLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
102349  	return nil, false
102350  }
102351  
102352  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102353  func (hls HTTPLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
102354  	return nil, false
102355  }
102356  
102357  // AsSapTableLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102358  func (hls HTTPLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
102359  	return nil, false
102360  }
102361  
102362  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102363  func (hls HTTPLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
102364  	return nil, false
102365  }
102366  
102367  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102368  func (hls HTTPLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
102369  	return nil, false
102370  }
102371  
102372  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102373  func (hls HTTPLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
102374  	return nil, false
102375  }
102376  
102377  // AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102378  func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
102379  	return nil, false
102380  }
102381  
102382  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102383  func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
102384  	return nil, false
102385  }
102386  
102387  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102388  func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
102389  	return nil, false
102390  }
102391  
102392  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102393  func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
102394  	return nil, false
102395  }
102396  
102397  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102398  func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
102399  	return nil, false
102400  }
102401  
102402  // AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102403  func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
102404  	return nil, false
102405  }
102406  
102407  // AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102408  func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
102409  	return nil, false
102410  }
102411  
102412  // AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102413  func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
102414  	return nil, false
102415  }
102416  
102417  // AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102418  func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
102419  	return nil, false
102420  }
102421  
102422  // AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102423  func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
102424  	return nil, false
102425  }
102426  
102427  // AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102428  func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
102429  	return nil, false
102430  }
102431  
102432  // AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102433  func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
102434  	return nil, false
102435  }
102436  
102437  // AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102438  func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
102439  	return nil, false
102440  }
102441  
102442  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102443  func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
102444  	return nil, false
102445  }
102446  
102447  // AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102448  func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
102449  	return nil, false
102450  }
102451  
102452  // AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102453  func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
102454  	return nil, false
102455  }
102456  
102457  // AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102458  func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
102459  	return nil, false
102460  }
102461  
102462  // AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102463  func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
102464  	return nil, false
102465  }
102466  
102467  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102468  func (hls HTTPLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
102469  	return nil, false
102470  }
102471  
102472  // AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102473  func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
102474  	return nil, false
102475  }
102476  
102477  // AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102478  func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
102479  	return nil, false
102480  }
102481  
102482  // AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102483  func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
102484  	return nil, false
102485  }
102486  
102487  // AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102488  func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
102489  	return nil, false
102490  }
102491  
102492  // AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102493  func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
102494  	return nil, false
102495  }
102496  
102497  // AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102498  func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
102499  	return nil, false
102500  }
102501  
102502  // AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102503  func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
102504  	return nil, false
102505  }
102506  
102507  // AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102508  func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
102509  	return nil, false
102510  }
102511  
102512  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102513  func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
102514  	return nil, false
102515  }
102516  
102517  // AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102518  func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
102519  	return nil, false
102520  }
102521  
102522  // AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102523  func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
102524  	return nil, false
102525  }
102526  
102527  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102528  func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
102529  	return nil, false
102530  }
102531  
102532  // AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102533  func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
102534  	return nil, false
102535  }
102536  
102537  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102538  func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
102539  	return nil, false
102540  }
102541  
102542  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102543  func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
102544  	return nil, false
102545  }
102546  
102547  // AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102548  func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
102549  	return nil, false
102550  }
102551  
102552  // AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102553  func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
102554  	return nil, false
102555  }
102556  
102557  // AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102558  func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
102559  	return nil, false
102560  }
102561  
102562  // AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102563  func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
102564  	return nil, false
102565  }
102566  
102567  // AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102568  func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
102569  	return &hls, true
102570  }
102571  
102572  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102573  func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
102574  	return nil, false
102575  }
102576  
102577  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102578  func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
102579  	return nil, false
102580  }
102581  
102582  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102583  func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
102584  	return nil, false
102585  }
102586  
102587  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102588  func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
102589  	return nil, false
102590  }
102591  
102592  // AsRestServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102593  func (hls HTTPLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
102594  	return nil, false
102595  }
102596  
102597  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102598  func (hls HTTPLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
102599  	return nil, false
102600  }
102601  
102602  // AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102603  func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
102604  	return nil, false
102605  }
102606  
102607  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102608  func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
102609  	return nil, false
102610  }
102611  
102612  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102613  func (hls HTTPLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
102614  	return nil, false
102615  }
102616  
102617  // AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102618  func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
102619  	return nil, false
102620  }
102621  
102622  // AsOffice365LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102623  func (hls HTTPLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
102624  	return nil, false
102625  }
102626  
102627  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102628  func (hls HTTPLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
102629  	return nil, false
102630  }
102631  
102632  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102633  func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
102634  	return nil, false
102635  }
102636  
102637  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102638  func (hls HTTPLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
102639  	return nil, false
102640  }
102641  
102642  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102643  func (hls HTTPLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
102644  	return nil, false
102645  }
102646  
102647  // AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102648  func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
102649  	return nil, false
102650  }
102651  
102652  // AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102653  func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
102654  	return nil, false
102655  }
102656  
102657  // AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102658  func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
102659  	return nil, false
102660  }
102661  
102662  // AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102663  func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
102664  	return nil, false
102665  }
102666  
102667  // AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102668  func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
102669  	return nil, false
102670  }
102671  
102672  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102673  func (hls HTTPLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
102674  	return nil, false
102675  }
102676  
102677  // AsInformixLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102678  func (hls HTTPLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
102679  	return nil, false
102680  }
102681  
102682  // AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102683  func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
102684  	return nil, false
102685  }
102686  
102687  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102688  func (hls HTTPLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
102689  	return nil, false
102690  }
102691  
102692  // AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102693  func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
102694  	return nil, false
102695  }
102696  
102697  // AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102698  func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
102699  	return nil, false
102700  }
102701  
102702  // AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102703  func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
102704  	return nil, false
102705  }
102706  
102707  // AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102708  func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
102709  	return nil, false
102710  }
102711  
102712  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102713  func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
102714  	return nil, false
102715  }
102716  
102717  // AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102718  func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
102719  	return nil, false
102720  }
102721  
102722  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102723  func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
102724  	return nil, false
102725  }
102726  
102727  // AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102728  func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
102729  	return nil, false
102730  }
102731  
102732  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102733  func (hls HTTPLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
102734  	return nil, false
102735  }
102736  
102737  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102738  func (hls HTTPLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
102739  	return nil, false
102740  }
102741  
102742  // AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102743  func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
102744  	return nil, false
102745  }
102746  
102747  // AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102748  func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
102749  	return nil, false
102750  }
102751  
102752  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102753  func (hls HTTPLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
102754  	return nil, false
102755  }
102756  
102757  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102758  func (hls HTTPLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
102759  	return nil, false
102760  }
102761  
102762  // AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102763  func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
102764  	return nil, false
102765  }
102766  
102767  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102768  func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
102769  	return nil, false
102770  }
102771  
102772  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102773  func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
102774  	return nil, false
102775  }
102776  
102777  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102778  func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
102779  	return nil, false
102780  }
102781  
102782  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102783  func (hls HTTPLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
102784  	return nil, false
102785  }
102786  
102787  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102788  func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
102789  	return nil, false
102790  }
102791  
102792  // AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102793  func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
102794  	return nil, false
102795  }
102796  
102797  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102798  func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
102799  	return nil, false
102800  }
102801  
102802  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102803  func (hls HTTPLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
102804  	return nil, false
102805  }
102806  
102807  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102808  func (hls HTTPLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
102809  	return nil, false
102810  }
102811  
102812  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102813  func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
102814  	return nil, false
102815  }
102816  
102817  // AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102818  func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) {
102819  	return nil, false
102820  }
102821  
102822  // AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService.
102823  func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
102824  	return &hls, true
102825  }
102826  
102827  // UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct.
102828  func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error {
102829  	var m map[string]*json.RawMessage
102830  	err := json.Unmarshal(body, &m)
102831  	if err != nil {
102832  		return err
102833  	}
102834  	for k, v := range m {
102835  		switch k {
102836  		case "typeProperties":
102837  			if v != nil {
102838  				var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties
102839  				err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties)
102840  				if err != nil {
102841  					return err
102842  				}
102843  				hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties
102844  			}
102845  		default:
102846  			if v != nil {
102847  				var additionalProperties interface{}
102848  				err = json.Unmarshal(*v, &additionalProperties)
102849  				if err != nil {
102850  					return err
102851  				}
102852  				if hls.AdditionalProperties == nil {
102853  					hls.AdditionalProperties = make(map[string]interface{})
102854  				}
102855  				hls.AdditionalProperties[k] = additionalProperties
102856  			}
102857  		case "connectVia":
102858  			if v != nil {
102859  				var connectVia IntegrationRuntimeReference
102860  				err = json.Unmarshal(*v, &connectVia)
102861  				if err != nil {
102862  					return err
102863  				}
102864  				hls.ConnectVia = &connectVia
102865  			}
102866  		case "description":
102867  			if v != nil {
102868  				var description string
102869  				err = json.Unmarshal(*v, &description)
102870  				if err != nil {
102871  					return err
102872  				}
102873  				hls.Description = &description
102874  			}
102875  		case "parameters":
102876  			if v != nil {
102877  				var parameters map[string]*ParameterSpecification
102878  				err = json.Unmarshal(*v, &parameters)
102879  				if err != nil {
102880  					return err
102881  				}
102882  				hls.Parameters = parameters
102883  			}
102884  		case "annotations":
102885  			if v != nil {
102886  				var annotations []interface{}
102887  				err = json.Unmarshal(*v, &annotations)
102888  				if err != nil {
102889  					return err
102890  				}
102891  				hls.Annotations = &annotations
102892  			}
102893  		case "type":
102894  			if v != nil {
102895  				var typeVar TypeBasicLinkedService
102896  				err = json.Unmarshal(*v, &typeVar)
102897  				if err != nil {
102898  					return err
102899  				}
102900  				hls.Type = typeVar
102901  			}
102902  		}
102903  	}
102904  
102905  	return nil
102906  }
102907  
102908  // HTTPLinkedServiceTypeProperties properties specific to this linked service type.
102909  type HTTPLinkedServiceTypeProperties struct {
102910  	// URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string).
102911  	URL interface{} `json:"url,omitempty"`
102912  	// AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate'
102913  	AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"`
102914  	// UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string).
102915  	UserName interface{} `json:"userName,omitempty"`
102916  	// Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication.
102917  	Password BasicSecretBase `json:"password,omitempty"`
102918  	// 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).
102919  	EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"`
102920  	// 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).
102921  	CertThumbprint interface{} `json:"certThumbprint,omitempty"`
102922  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
102923  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
102924  	// EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
102925  	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
102926  }
102927  
102928  // UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct.
102929  func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
102930  	var m map[string]*json.RawMessage
102931  	err := json.Unmarshal(body, &m)
102932  	if err != nil {
102933  		return err
102934  	}
102935  	for k, v := range m {
102936  		switch k {
102937  		case "url":
102938  			if v != nil {
102939  				var URL interface{}
102940  				err = json.Unmarshal(*v, &URL)
102941  				if err != nil {
102942  					return err
102943  				}
102944  				hlstp.URL = URL
102945  			}
102946  		case "authenticationType":
102947  			if v != nil {
102948  				var authenticationType HTTPAuthenticationType
102949  				err = json.Unmarshal(*v, &authenticationType)
102950  				if err != nil {
102951  					return err
102952  				}
102953  				hlstp.AuthenticationType = authenticationType
102954  			}
102955  		case "userName":
102956  			if v != nil {
102957  				var userName interface{}
102958  				err = json.Unmarshal(*v, &userName)
102959  				if err != nil {
102960  					return err
102961  				}
102962  				hlstp.UserName = userName
102963  			}
102964  		case "password":
102965  			if v != nil {
102966  				password, err := unmarshalBasicSecretBase(*v)
102967  				if err != nil {
102968  					return err
102969  				}
102970  				hlstp.Password = password
102971  			}
102972  		case "embeddedCertData":
102973  			if v != nil {
102974  				var embeddedCertData interface{}
102975  				err = json.Unmarshal(*v, &embeddedCertData)
102976  				if err != nil {
102977  					return err
102978  				}
102979  				hlstp.EmbeddedCertData = embeddedCertData
102980  			}
102981  		case "certThumbprint":
102982  			if v != nil {
102983  				var certThumbprint interface{}
102984  				err = json.Unmarshal(*v, &certThumbprint)
102985  				if err != nil {
102986  					return err
102987  				}
102988  				hlstp.CertThumbprint = certThumbprint
102989  			}
102990  		case "encryptedCredential":
102991  			if v != nil {
102992  				var encryptedCredential interface{}
102993  				err = json.Unmarshal(*v, &encryptedCredential)
102994  				if err != nil {
102995  					return err
102996  				}
102997  				hlstp.EncryptedCredential = encryptedCredential
102998  			}
102999  		case "enableServerCertificateValidation":
103000  			if v != nil {
103001  				var enableServerCertificateValidation interface{}
103002  				err = json.Unmarshal(*v, &enableServerCertificateValidation)
103003  				if err != nil {
103004  					return err
103005  				}
103006  				hlstp.EnableServerCertificateValidation = enableServerCertificateValidation
103007  			}
103008  		}
103009  	}
103010  
103011  	return nil
103012  }
103013  
103014  // HTTPReadSettings sftp read settings.
103015  type HTTPReadSettings struct {
103016  	// RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string).
103017  	RequestMethod interface{} `json:"requestMethod,omitempty"`
103018  	// RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string).
103019  	RequestBody interface{} `json:"requestBody,omitempty"`
103020  	// AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string).
103021  	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
103022  	// RequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server.
103023  	RequestTimeout interface{} `json:"requestTimeout,omitempty"`
103024  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
103025  	AdditionalProperties map[string]interface{} `json:""`
103026  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
103027  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
103028  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
103029  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
103030  }
103031  
103032  // MarshalJSON is the custom marshaler for HTTPReadSettings.
103033  func (hrs HTTPReadSettings) MarshalJSON() ([]byte, error) {
103034  	hrs.Type = TypeHTTPReadSettings
103035  	objectMap := make(map[string]interface{})
103036  	if hrs.RequestMethod != nil {
103037  		objectMap["requestMethod"] = hrs.RequestMethod
103038  	}
103039  	if hrs.RequestBody != nil {
103040  		objectMap["requestBody"] = hrs.RequestBody
103041  	}
103042  	if hrs.AdditionalHeaders != nil {
103043  		objectMap["additionalHeaders"] = hrs.AdditionalHeaders
103044  	}
103045  	if hrs.RequestTimeout != nil {
103046  		objectMap["requestTimeout"] = hrs.RequestTimeout
103047  	}
103048  	if hrs.MaxConcurrentConnections != nil {
103049  		objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections
103050  	}
103051  	if hrs.Type != "" {
103052  		objectMap["type"] = hrs.Type
103053  	}
103054  	for k, v := range hrs.AdditionalProperties {
103055  		objectMap[k] = v
103056  	}
103057  	return json.Marshal(objectMap)
103058  }
103059  
103060  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103061  func (hrs HTTPReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
103062  	return nil, false
103063  }
103064  
103065  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103066  func (hrs HTTPReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
103067  	return &hrs, true
103068  }
103069  
103070  // AsSftpReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103071  func (hrs HTTPReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
103072  	return nil, false
103073  }
103074  
103075  // AsFtpReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103076  func (hrs HTTPReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
103077  	return nil, false
103078  }
103079  
103080  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103081  func (hrs HTTPReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
103082  	return nil, false
103083  }
103084  
103085  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103086  func (hrs HTTPReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
103087  	return nil, false
103088  }
103089  
103090  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103091  func (hrs HTTPReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
103092  	return nil, false
103093  }
103094  
103095  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103096  func (hrs HTTPReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
103097  	return nil, false
103098  }
103099  
103100  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103101  func (hrs HTTPReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
103102  	return nil, false
103103  }
103104  
103105  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103106  func (hrs HTTPReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
103107  	return nil, false
103108  }
103109  
103110  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103111  func (hrs HTTPReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
103112  	return nil, false
103113  }
103114  
103115  // AsStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103116  func (hrs HTTPReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
103117  	return nil, false
103118  }
103119  
103120  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for HTTPReadSettings.
103121  func (hrs HTTPReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
103122  	return &hrs, true
103123  }
103124  
103125  // UnmarshalJSON is the custom unmarshaler for HTTPReadSettings struct.
103126  func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error {
103127  	var m map[string]*json.RawMessage
103128  	err := json.Unmarshal(body, &m)
103129  	if err != nil {
103130  		return err
103131  	}
103132  	for k, v := range m {
103133  		switch k {
103134  		case "requestMethod":
103135  			if v != nil {
103136  				var requestMethod interface{}
103137  				err = json.Unmarshal(*v, &requestMethod)
103138  				if err != nil {
103139  					return err
103140  				}
103141  				hrs.RequestMethod = requestMethod
103142  			}
103143  		case "requestBody":
103144  			if v != nil {
103145  				var requestBody interface{}
103146  				err = json.Unmarshal(*v, &requestBody)
103147  				if err != nil {
103148  					return err
103149  				}
103150  				hrs.RequestBody = requestBody
103151  			}
103152  		case "additionalHeaders":
103153  			if v != nil {
103154  				var additionalHeaders interface{}
103155  				err = json.Unmarshal(*v, &additionalHeaders)
103156  				if err != nil {
103157  					return err
103158  				}
103159  				hrs.AdditionalHeaders = additionalHeaders
103160  			}
103161  		case "requestTimeout":
103162  			if v != nil {
103163  				var requestTimeout interface{}
103164  				err = json.Unmarshal(*v, &requestTimeout)
103165  				if err != nil {
103166  					return err
103167  				}
103168  				hrs.RequestTimeout = requestTimeout
103169  			}
103170  		default:
103171  			if v != nil {
103172  				var additionalProperties interface{}
103173  				err = json.Unmarshal(*v, &additionalProperties)
103174  				if err != nil {
103175  					return err
103176  				}
103177  				if hrs.AdditionalProperties == nil {
103178  					hrs.AdditionalProperties = make(map[string]interface{})
103179  				}
103180  				hrs.AdditionalProperties[k] = additionalProperties
103181  			}
103182  		case "maxConcurrentConnections":
103183  			if v != nil {
103184  				var maxConcurrentConnections interface{}
103185  				err = json.Unmarshal(*v, &maxConcurrentConnections)
103186  				if err != nil {
103187  					return err
103188  				}
103189  				hrs.MaxConcurrentConnections = maxConcurrentConnections
103190  			}
103191  		case "type":
103192  			if v != nil {
103193  				var typeVar TypeBasicStoreReadSettings
103194  				err = json.Unmarshal(*v, &typeVar)
103195  				if err != nil {
103196  					return err
103197  				}
103198  				hrs.Type = typeVar
103199  			}
103200  		}
103201  	}
103202  
103203  	return nil
103204  }
103205  
103206  // HTTPServerLocation the location of http server.
103207  type HTTPServerLocation struct {
103208  	// RelativeURL - Specify the relativeUrl of http server. Type: string (or Expression with resultType string)
103209  	RelativeURL interface{} `json:"relativeUrl,omitempty"`
103210  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
103211  	AdditionalProperties map[string]interface{} `json:""`
103212  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
103213  	FolderPath interface{} `json:"folderPath,omitempty"`
103214  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
103215  	FileName interface{} `json:"fileName,omitempty"`
103216  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
103217  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
103218  }
103219  
103220  // MarshalJSON is the custom marshaler for HTTPServerLocation.
103221  func (hsl HTTPServerLocation) MarshalJSON() ([]byte, error) {
103222  	hsl.Type = TypeHTTPServerLocation
103223  	objectMap := make(map[string]interface{})
103224  	if hsl.RelativeURL != nil {
103225  		objectMap["relativeUrl"] = hsl.RelativeURL
103226  	}
103227  	if hsl.FolderPath != nil {
103228  		objectMap["folderPath"] = hsl.FolderPath
103229  	}
103230  	if hsl.FileName != nil {
103231  		objectMap["fileName"] = hsl.FileName
103232  	}
103233  	if hsl.Type != "" {
103234  		objectMap["type"] = hsl.Type
103235  	}
103236  	for k, v := range hsl.AdditionalProperties {
103237  		objectMap[k] = v
103238  	}
103239  	return json.Marshal(objectMap)
103240  }
103241  
103242  // AsHdfsLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103243  func (hsl HTTPServerLocation) AsHdfsLocation() (*HdfsLocation, bool) {
103244  	return nil, false
103245  }
103246  
103247  // AsHTTPServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103248  func (hsl HTTPServerLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
103249  	return &hsl, true
103250  }
103251  
103252  // AsSftpLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103253  func (hsl HTTPServerLocation) AsSftpLocation() (*SftpLocation, bool) {
103254  	return nil, false
103255  }
103256  
103257  // AsFtpServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103258  func (hsl HTTPServerLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
103259  	return nil, false
103260  }
103261  
103262  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103263  func (hsl HTTPServerLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
103264  	return nil, false
103265  }
103266  
103267  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103268  func (hsl HTTPServerLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
103269  	return nil, false
103270  }
103271  
103272  // AsFileServerLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103273  func (hsl HTTPServerLocation) AsFileServerLocation() (*FileServerLocation, bool) {
103274  	return nil, false
103275  }
103276  
103277  // AsAmazonS3Location is the BasicDatasetLocation implementation for HTTPServerLocation.
103278  func (hsl HTTPServerLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
103279  	return nil, false
103280  }
103281  
103282  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103283  func (hsl HTTPServerLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
103284  	return nil, false
103285  }
103286  
103287  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103288  func (hsl HTTPServerLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
103289  	return nil, false
103290  }
103291  
103292  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103293  func (hsl HTTPServerLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
103294  	return nil, false
103295  }
103296  
103297  // AsDatasetLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103298  func (hsl HTTPServerLocation) AsDatasetLocation() (*DatasetLocation, bool) {
103299  	return nil, false
103300  }
103301  
103302  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for HTTPServerLocation.
103303  func (hsl HTTPServerLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
103304  	return &hsl, true
103305  }
103306  
103307  // UnmarshalJSON is the custom unmarshaler for HTTPServerLocation struct.
103308  func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error {
103309  	var m map[string]*json.RawMessage
103310  	err := json.Unmarshal(body, &m)
103311  	if err != nil {
103312  		return err
103313  	}
103314  	for k, v := range m {
103315  		switch k {
103316  		case "relativeUrl":
103317  			if v != nil {
103318  				var relativeURL interface{}
103319  				err = json.Unmarshal(*v, &relativeURL)
103320  				if err != nil {
103321  					return err
103322  				}
103323  				hsl.RelativeURL = relativeURL
103324  			}
103325  		default:
103326  			if v != nil {
103327  				var additionalProperties interface{}
103328  				err = json.Unmarshal(*v, &additionalProperties)
103329  				if err != nil {
103330  					return err
103331  				}
103332  				if hsl.AdditionalProperties == nil {
103333  					hsl.AdditionalProperties = make(map[string]interface{})
103334  				}
103335  				hsl.AdditionalProperties[k] = additionalProperties
103336  			}
103337  		case "folderPath":
103338  			if v != nil {
103339  				var folderPath interface{}
103340  				err = json.Unmarshal(*v, &folderPath)
103341  				if err != nil {
103342  					return err
103343  				}
103344  				hsl.FolderPath = folderPath
103345  			}
103346  		case "fileName":
103347  			if v != nil {
103348  				var fileName interface{}
103349  				err = json.Unmarshal(*v, &fileName)
103350  				if err != nil {
103351  					return err
103352  				}
103353  				hsl.FileName = fileName
103354  			}
103355  		case "type":
103356  			if v != nil {
103357  				var typeVar TypeBasicDatasetLocation
103358  				err = json.Unmarshal(*v, &typeVar)
103359  				if err != nil {
103360  					return err
103361  				}
103362  				hsl.Type = typeVar
103363  			}
103364  		}
103365  	}
103366  
103367  	return nil
103368  }
103369  
103370  // HTTPSource a copy activity source for an HTTP file.
103371  type HTTPSource struct {
103372  	// 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])).
103373  	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
103374  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
103375  	AdditionalProperties map[string]interface{} `json:""`
103376  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
103377  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
103378  	// 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])).
103379  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
103380  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
103381  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
103382  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
103383  	Type TypeBasicCopySource `json:"type,omitempty"`
103384  }
103385  
103386  // MarshalJSON is the custom marshaler for HTTPSource.
103387  func (hs HTTPSource) MarshalJSON() ([]byte, error) {
103388  	hs.Type = TypeHTTPSource
103389  	objectMap := make(map[string]interface{})
103390  	if hs.HTTPRequestTimeout != nil {
103391  		objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout
103392  	}
103393  	if hs.SourceRetryCount != nil {
103394  		objectMap["sourceRetryCount"] = hs.SourceRetryCount
103395  	}
103396  	if hs.SourceRetryWait != nil {
103397  		objectMap["sourceRetryWait"] = hs.SourceRetryWait
103398  	}
103399  	if hs.MaxConcurrentConnections != nil {
103400  		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
103401  	}
103402  	if hs.Type != "" {
103403  		objectMap["type"] = hs.Type
103404  	}
103405  	for k, v := range hs.AdditionalProperties {
103406  		objectMap[k] = v
103407  	}
103408  	return json.Marshal(objectMap)
103409  }
103410  
103411  // AsHTTPSource is the BasicCopySource implementation for HTTPSource.
103412  func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) {
103413  	return &hs, true
103414  }
103415  
103416  // AsAzureBlobFSSource is the BasicCopySource implementation for HTTPSource.
103417  func (hs HTTPSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
103418  	return nil, false
103419  }
103420  
103421  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource.
103422  func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
103423  	return nil, false
103424  }
103425  
103426  // AsOffice365Source is the BasicCopySource implementation for HTTPSource.
103427  func (hs HTTPSource) AsOffice365Source() (*Office365Source, bool) {
103428  	return nil, false
103429  }
103430  
103431  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HTTPSource.
103432  func (hs HTTPSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
103433  	return nil, false
103434  }
103435  
103436  // AsMongoDbV2Source is the BasicCopySource implementation for HTTPSource.
103437  func (hs HTTPSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
103438  	return nil, false
103439  }
103440  
103441  // AsMongoDbSource is the BasicCopySource implementation for HTTPSource.
103442  func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) {
103443  	return nil, false
103444  }
103445  
103446  // AsWebSource is the BasicCopySource implementation for HTTPSource.
103447  func (hs HTTPSource) AsWebSource() (*WebSource, bool) {
103448  	return nil, false
103449  }
103450  
103451  // AsOracleSource is the BasicCopySource implementation for HTTPSource.
103452  func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) {
103453  	return nil, false
103454  }
103455  
103456  // AsAzureDataExplorerSource is the BasicCopySource implementation for HTTPSource.
103457  func (hs HTTPSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
103458  	return nil, false
103459  }
103460  
103461  // AsHdfsSource is the BasicCopySource implementation for HTTPSource.
103462  func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) {
103463  	return nil, false
103464  }
103465  
103466  // AsFileSystemSource is the BasicCopySource implementation for HTTPSource.
103467  func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) {
103468  	return nil, false
103469  }
103470  
103471  // AsRestSource is the BasicCopySource implementation for HTTPSource.
103472  func (hs HTTPSource) AsRestSource() (*RestSource, bool) {
103473  	return nil, false
103474  }
103475  
103476  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for HTTPSource.
103477  func (hs HTTPSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
103478  	return nil, false
103479  }
103480  
103481  // AsODataSource is the BasicCopySource implementation for HTTPSource.
103482  func (hs HTTPSource) AsODataSource() (*ODataSource, bool) {
103483  	return nil, false
103484  }
103485  
103486  // AsMicrosoftAccessSource is the BasicCopySource implementation for HTTPSource.
103487  func (hs HTTPSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
103488  	return nil, false
103489  }
103490  
103491  // AsRelationalSource is the BasicCopySource implementation for HTTPSource.
103492  func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) {
103493  	return nil, false
103494  }
103495  
103496  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HTTPSource.
103497  func (hs HTTPSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
103498  	return nil, false
103499  }
103500  
103501  // AsDynamicsCrmSource is the BasicCopySource implementation for HTTPSource.
103502  func (hs HTTPSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
103503  	return nil, false
103504  }
103505  
103506  // AsDynamicsSource is the BasicCopySource implementation for HTTPSource.
103507  func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) {
103508  	return nil, false
103509  }
103510  
103511  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for HTTPSource.
103512  func (hs HTTPSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
103513  	return nil, false
103514  }
103515  
103516  // AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource.
103517  func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
103518  	return nil, false
103519  }
103520  
103521  // AsBlobSource is the BasicCopySource implementation for HTTPSource.
103522  func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) {
103523  	return nil, false
103524  }
103525  
103526  // AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource.
103527  func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
103528  	return nil, false
103529  }
103530  
103531  // AsGoogleAdWordsSource is the BasicCopySource implementation for HTTPSource.
103532  func (hs HTTPSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
103533  	return nil, false
103534  }
103535  
103536  // AsOracleServiceCloudSource is the BasicCopySource implementation for HTTPSource.
103537  func (hs HTTPSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
103538  	return nil, false
103539  }
103540  
103541  // AsDynamicsAXSource is the BasicCopySource implementation for HTTPSource.
103542  func (hs HTTPSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
103543  	return nil, false
103544  }
103545  
103546  // AsResponsysSource is the BasicCopySource implementation for HTTPSource.
103547  func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) {
103548  	return nil, false
103549  }
103550  
103551  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource.
103552  func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
103553  	return nil, false
103554  }
103555  
103556  // AsVerticaSource is the BasicCopySource implementation for HTTPSource.
103557  func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) {
103558  	return nil, false
103559  }
103560  
103561  // AsNetezzaSource is the BasicCopySource implementation for HTTPSource.
103562  func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) {
103563  	return nil, false
103564  }
103565  
103566  // AsZohoSource is the BasicCopySource implementation for HTTPSource.
103567  func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) {
103568  	return nil, false
103569  }
103570  
103571  // AsXeroSource is the BasicCopySource implementation for HTTPSource.
103572  func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) {
103573  	return nil, false
103574  }
103575  
103576  // AsSquareSource is the BasicCopySource implementation for HTTPSource.
103577  func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) {
103578  	return nil, false
103579  }
103580  
103581  // AsSparkSource is the BasicCopySource implementation for HTTPSource.
103582  func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) {
103583  	return nil, false
103584  }
103585  
103586  // AsShopifySource is the BasicCopySource implementation for HTTPSource.
103587  func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) {
103588  	return nil, false
103589  }
103590  
103591  // AsServiceNowSource is the BasicCopySource implementation for HTTPSource.
103592  func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) {
103593  	return nil, false
103594  }
103595  
103596  // AsQuickBooksSource is the BasicCopySource implementation for HTTPSource.
103597  func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
103598  	return nil, false
103599  }
103600  
103601  // AsPrestoSource is the BasicCopySource implementation for HTTPSource.
103602  func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) {
103603  	return nil, false
103604  }
103605  
103606  // AsPhoenixSource is the BasicCopySource implementation for HTTPSource.
103607  func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) {
103608  	return nil, false
103609  }
103610  
103611  // AsPaypalSource is the BasicCopySource implementation for HTTPSource.
103612  func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) {
103613  	return nil, false
103614  }
103615  
103616  // AsMarketoSource is the BasicCopySource implementation for HTTPSource.
103617  func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) {
103618  	return nil, false
103619  }
103620  
103621  // AsAzureMariaDBSource is the BasicCopySource implementation for HTTPSource.
103622  func (hs HTTPSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
103623  	return nil, false
103624  }
103625  
103626  // AsMariaDBSource is the BasicCopySource implementation for HTTPSource.
103627  func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) {
103628  	return nil, false
103629  }
103630  
103631  // AsMagentoSource is the BasicCopySource implementation for HTTPSource.
103632  func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) {
103633  	return nil, false
103634  }
103635  
103636  // AsJiraSource is the BasicCopySource implementation for HTTPSource.
103637  func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) {
103638  	return nil, false
103639  }
103640  
103641  // AsImpalaSource is the BasicCopySource implementation for HTTPSource.
103642  func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) {
103643  	return nil, false
103644  }
103645  
103646  // AsHubspotSource is the BasicCopySource implementation for HTTPSource.
103647  func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) {
103648  	return nil, false
103649  }
103650  
103651  // AsHiveSource is the BasicCopySource implementation for HTTPSource.
103652  func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) {
103653  	return nil, false
103654  }
103655  
103656  // AsHBaseSource is the BasicCopySource implementation for HTTPSource.
103657  func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) {
103658  	return nil, false
103659  }
103660  
103661  // AsGreenplumSource is the BasicCopySource implementation for HTTPSource.
103662  func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) {
103663  	return nil, false
103664  }
103665  
103666  // AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource.
103667  func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
103668  	return nil, false
103669  }
103670  
103671  // AsEloquaSource is the BasicCopySource implementation for HTTPSource.
103672  func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) {
103673  	return nil, false
103674  }
103675  
103676  // AsDrillSource is the BasicCopySource implementation for HTTPSource.
103677  func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) {
103678  	return nil, false
103679  }
103680  
103681  // AsCouchbaseSource is the BasicCopySource implementation for HTTPSource.
103682  func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
103683  	return nil, false
103684  }
103685  
103686  // AsConcurSource is the BasicCopySource implementation for HTTPSource.
103687  func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) {
103688  	return nil, false
103689  }
103690  
103691  // AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource.
103692  func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
103693  	return nil, false
103694  }
103695  
103696  // AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource.
103697  func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
103698  	return nil, false
103699  }
103700  
103701  // AsCassandraSource is the BasicCopySource implementation for HTTPSource.
103702  func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) {
103703  	return nil, false
103704  }
103705  
103706  // AsTeradataSource is the BasicCopySource implementation for HTTPSource.
103707  func (hs HTTPSource) AsTeradataSource() (*TeradataSource, bool) {
103708  	return nil, false
103709  }
103710  
103711  // AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource.
103712  func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
103713  	return nil, false
103714  }
103715  
103716  // AsSQLDWSource is the BasicCopySource implementation for HTTPSource.
103717  func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) {
103718  	return nil, false
103719  }
103720  
103721  // AsSQLMISource is the BasicCopySource implementation for HTTPSource.
103722  func (hs HTTPSource) AsSQLMISource() (*SQLMISource, bool) {
103723  	return nil, false
103724  }
103725  
103726  // AsAzureSQLSource is the BasicCopySource implementation for HTTPSource.
103727  func (hs HTTPSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
103728  	return nil, false
103729  }
103730  
103731  // AsSQLServerSource is the BasicCopySource implementation for HTTPSource.
103732  func (hs HTTPSource) AsSQLServerSource() (*SQLServerSource, bool) {
103733  	return nil, false
103734  }
103735  
103736  // AsSQLSource is the BasicCopySource implementation for HTTPSource.
103737  func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) {
103738  	return nil, false
103739  }
103740  
103741  // AsSapTableSource is the BasicCopySource implementation for HTTPSource.
103742  func (hs HTTPSource) AsSapTableSource() (*SapTableSource, bool) {
103743  	return nil, false
103744  }
103745  
103746  // AsSapOpenHubSource is the BasicCopySource implementation for HTTPSource.
103747  func (hs HTTPSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
103748  	return nil, false
103749  }
103750  
103751  // AsSapHanaSource is the BasicCopySource implementation for HTTPSource.
103752  func (hs HTTPSource) AsSapHanaSource() (*SapHanaSource, bool) {
103753  	return nil, false
103754  }
103755  
103756  // AsSapEccSource is the BasicCopySource implementation for HTTPSource.
103757  func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) {
103758  	return nil, false
103759  }
103760  
103761  // AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource.
103762  func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
103763  	return nil, false
103764  }
103765  
103766  // AsSalesforceSource is the BasicCopySource implementation for HTTPSource.
103767  func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) {
103768  	return nil, false
103769  }
103770  
103771  // AsSapBwSource is the BasicCopySource implementation for HTTPSource.
103772  func (hs HTTPSource) AsSapBwSource() (*SapBwSource, bool) {
103773  	return nil, false
103774  }
103775  
103776  // AsSybaseSource is the BasicCopySource implementation for HTTPSource.
103777  func (hs HTTPSource) AsSybaseSource() (*SybaseSource, bool) {
103778  	return nil, false
103779  }
103780  
103781  // AsPostgreSQLSource is the BasicCopySource implementation for HTTPSource.
103782  func (hs HTTPSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
103783  	return nil, false
103784  }
103785  
103786  // AsMySQLSource is the BasicCopySource implementation for HTTPSource.
103787  func (hs HTTPSource) AsMySQLSource() (*MySQLSource, bool) {
103788  	return nil, false
103789  }
103790  
103791  // AsOdbcSource is the BasicCopySource implementation for HTTPSource.
103792  func (hs HTTPSource) AsOdbcSource() (*OdbcSource, bool) {
103793  	return nil, false
103794  }
103795  
103796  // AsDb2Source is the BasicCopySource implementation for HTTPSource.
103797  func (hs HTTPSource) AsDb2Source() (*Db2Source, bool) {
103798  	return nil, false
103799  }
103800  
103801  // AsInformixSource is the BasicCopySource implementation for HTTPSource.
103802  func (hs HTTPSource) AsInformixSource() (*InformixSource, bool) {
103803  	return nil, false
103804  }
103805  
103806  // AsAzureTableSource is the BasicCopySource implementation for HTTPSource.
103807  func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) {
103808  	return nil, false
103809  }
103810  
103811  // AsTabularSource is the BasicCopySource implementation for HTTPSource.
103812  func (hs HTTPSource) AsTabularSource() (*TabularSource, bool) {
103813  	return nil, false
103814  }
103815  
103816  // AsBasicTabularSource is the BasicCopySource implementation for HTTPSource.
103817  func (hs HTTPSource) AsBasicTabularSource() (BasicTabularSource, bool) {
103818  	return nil, false
103819  }
103820  
103821  // AsBinarySource is the BasicCopySource implementation for HTTPSource.
103822  func (hs HTTPSource) AsBinarySource() (*BinarySource, bool) {
103823  	return nil, false
103824  }
103825  
103826  // AsOrcSource is the BasicCopySource implementation for HTTPSource.
103827  func (hs HTTPSource) AsOrcSource() (*OrcSource, bool) {
103828  	return nil, false
103829  }
103830  
103831  // AsJSONSource is the BasicCopySource implementation for HTTPSource.
103832  func (hs HTTPSource) AsJSONSource() (*JSONSource, bool) {
103833  	return nil, false
103834  }
103835  
103836  // AsDelimitedTextSource is the BasicCopySource implementation for HTTPSource.
103837  func (hs HTTPSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
103838  	return nil, false
103839  }
103840  
103841  // AsParquetSource is the BasicCopySource implementation for HTTPSource.
103842  func (hs HTTPSource) AsParquetSource() (*ParquetSource, bool) {
103843  	return nil, false
103844  }
103845  
103846  // AsAvroSource is the BasicCopySource implementation for HTTPSource.
103847  func (hs HTTPSource) AsAvroSource() (*AvroSource, bool) {
103848  	return nil, false
103849  }
103850  
103851  // AsCopySource is the BasicCopySource implementation for HTTPSource.
103852  func (hs HTTPSource) AsCopySource() (*CopySource, bool) {
103853  	return nil, false
103854  }
103855  
103856  // AsBasicCopySource is the BasicCopySource implementation for HTTPSource.
103857  func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) {
103858  	return &hs, true
103859  }
103860  
103861  // UnmarshalJSON is the custom unmarshaler for HTTPSource struct.
103862  func (hs *HTTPSource) UnmarshalJSON(body []byte) error {
103863  	var m map[string]*json.RawMessage
103864  	err := json.Unmarshal(body, &m)
103865  	if err != nil {
103866  		return err
103867  	}
103868  	for k, v := range m {
103869  		switch k {
103870  		case "httpRequestTimeout":
103871  			if v != nil {
103872  				var HTTPRequestTimeout interface{}
103873  				err = json.Unmarshal(*v, &HTTPRequestTimeout)
103874  				if err != nil {
103875  					return err
103876  				}
103877  				hs.HTTPRequestTimeout = HTTPRequestTimeout
103878  			}
103879  		default:
103880  			if v != nil {
103881  				var additionalProperties interface{}
103882  				err = json.Unmarshal(*v, &additionalProperties)
103883  				if err != nil {
103884  					return err
103885  				}
103886  				if hs.AdditionalProperties == nil {
103887  					hs.AdditionalProperties = make(map[string]interface{})
103888  				}
103889  				hs.AdditionalProperties[k] = additionalProperties
103890  			}
103891  		case "sourceRetryCount":
103892  			if v != nil {
103893  				var sourceRetryCount interface{}
103894  				err = json.Unmarshal(*v, &sourceRetryCount)
103895  				if err != nil {
103896  					return err
103897  				}
103898  				hs.SourceRetryCount = sourceRetryCount
103899  			}
103900  		case "sourceRetryWait":
103901  			if v != nil {
103902  				var sourceRetryWait interface{}
103903  				err = json.Unmarshal(*v, &sourceRetryWait)
103904  				if err != nil {
103905  					return err
103906  				}
103907  				hs.SourceRetryWait = sourceRetryWait
103908  			}
103909  		case "maxConcurrentConnections":
103910  			if v != nil {
103911  				var maxConcurrentConnections interface{}
103912  				err = json.Unmarshal(*v, &maxConcurrentConnections)
103913  				if err != nil {
103914  					return err
103915  				}
103916  				hs.MaxConcurrentConnections = maxConcurrentConnections
103917  			}
103918  		case "type":
103919  			if v != nil {
103920  				var typeVar TypeBasicCopySource
103921  				err = json.Unmarshal(*v, &typeVar)
103922  				if err != nil {
103923  					return err
103924  				}
103925  				hs.Type = typeVar
103926  			}
103927  		}
103928  	}
103929  
103930  	return nil
103931  }
103932  
103933  // HubspotLinkedService hubspot Service linked service.
103934  type HubspotLinkedService struct {
103935  	// HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties.
103936  	*HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
103937  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
103938  	AdditionalProperties map[string]interface{} `json:""`
103939  	// ConnectVia - The integration runtime reference.
103940  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
103941  	// Description - Linked service description.
103942  	Description *string `json:"description,omitempty"`
103943  	// Parameters - Parameters for linked service.
103944  	Parameters map[string]*ParameterSpecification `json:"parameters"`
103945  	// Annotations - List of tags that can be used for describing the linked service.
103946  	Annotations *[]interface{} `json:"annotations,omitempty"`
103947  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
103948  	Type TypeBasicLinkedService `json:"type,omitempty"`
103949  }
103950  
103951  // MarshalJSON is the custom marshaler for HubspotLinkedService.
103952  func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) {
103953  	hls.Type = TypeHubspot
103954  	objectMap := make(map[string]interface{})
103955  	if hls.HubspotLinkedServiceTypeProperties != nil {
103956  		objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties
103957  	}
103958  	if hls.ConnectVia != nil {
103959  		objectMap["connectVia"] = hls.ConnectVia
103960  	}
103961  	if hls.Description != nil {
103962  		objectMap["description"] = hls.Description
103963  	}
103964  	if hls.Parameters != nil {
103965  		objectMap["parameters"] = hls.Parameters
103966  	}
103967  	if hls.Annotations != nil {
103968  		objectMap["annotations"] = hls.Annotations
103969  	}
103970  	if hls.Type != "" {
103971  		objectMap["type"] = hls.Type
103972  	}
103973  	for k, v := range hls.AdditionalProperties {
103974  		objectMap[k] = v
103975  	}
103976  	return json.Marshal(objectMap)
103977  }
103978  
103979  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
103980  func (hls HubspotLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
103981  	return nil, false
103982  }
103983  
103984  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
103985  func (hls HubspotLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
103986  	return nil, false
103987  }
103988  
103989  // AsSapTableLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
103990  func (hls HubspotLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
103991  	return nil, false
103992  }
103993  
103994  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
103995  func (hls HubspotLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
103996  	return nil, false
103997  }
103998  
103999  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104000  func (hls HubspotLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
104001  	return nil, false
104002  }
104003  
104004  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104005  func (hls HubspotLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
104006  	return nil, false
104007  }
104008  
104009  // AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104010  func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
104011  	return nil, false
104012  }
104013  
104014  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104015  func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
104016  	return nil, false
104017  }
104018  
104019  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104020  func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
104021  	return nil, false
104022  }
104023  
104024  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104025  func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
104026  	return nil, false
104027  }
104028  
104029  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104030  func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
104031  	return nil, false
104032  }
104033  
104034  // AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104035  func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
104036  	return nil, false
104037  }
104038  
104039  // AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104040  func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
104041  	return nil, false
104042  }
104043  
104044  // AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104045  func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
104046  	return nil, false
104047  }
104048  
104049  // AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104050  func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
104051  	return nil, false
104052  }
104053  
104054  // AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104055  func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
104056  	return nil, false
104057  }
104058  
104059  // AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104060  func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
104061  	return nil, false
104062  }
104063  
104064  // AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104065  func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
104066  	return nil, false
104067  }
104068  
104069  // AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104070  func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
104071  	return nil, false
104072  }
104073  
104074  // AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104075  func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
104076  	return nil, false
104077  }
104078  
104079  // AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104080  func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
104081  	return nil, false
104082  }
104083  
104084  // AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104085  func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
104086  	return nil, false
104087  }
104088  
104089  // AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104090  func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
104091  	return nil, false
104092  }
104093  
104094  // AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104095  func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
104096  	return nil, false
104097  }
104098  
104099  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104100  func (hls HubspotLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
104101  	return nil, false
104102  }
104103  
104104  // AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104105  func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
104106  	return nil, false
104107  }
104108  
104109  // AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104110  func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
104111  	return nil, false
104112  }
104113  
104114  // AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104115  func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
104116  	return nil, false
104117  }
104118  
104119  // AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104120  func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
104121  	return nil, false
104122  }
104123  
104124  // AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104125  func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
104126  	return &hls, true
104127  }
104128  
104129  // AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104130  func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
104131  	return nil, false
104132  }
104133  
104134  // AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104135  func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
104136  	return nil, false
104137  }
104138  
104139  // AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104140  func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
104141  	return nil, false
104142  }
104143  
104144  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104145  func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
104146  	return nil, false
104147  }
104148  
104149  // AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104150  func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
104151  	return nil, false
104152  }
104153  
104154  // AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104155  func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
104156  	return nil, false
104157  }
104158  
104159  // AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104160  func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
104161  	return nil, false
104162  }
104163  
104164  // AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104165  func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
104166  	return nil, false
104167  }
104168  
104169  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104170  func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
104171  	return nil, false
104172  }
104173  
104174  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104175  func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
104176  	return nil, false
104177  }
104178  
104179  // AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104180  func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
104181  	return nil, false
104182  }
104183  
104184  // AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104185  func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
104186  	return nil, false
104187  }
104188  
104189  // AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104190  func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
104191  	return nil, false
104192  }
104193  
104194  // AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104195  func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
104196  	return nil, false
104197  }
104198  
104199  // AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104200  func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
104201  	return nil, false
104202  }
104203  
104204  // AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104205  func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
104206  	return nil, false
104207  }
104208  
104209  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104210  func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
104211  	return nil, false
104212  }
104213  
104214  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104215  func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
104216  	return nil, false
104217  }
104218  
104219  // AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104220  func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
104221  	return nil, false
104222  }
104223  
104224  // AsRestServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104225  func (hls HubspotLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
104226  	return nil, false
104227  }
104228  
104229  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104230  func (hls HubspotLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
104231  	return nil, false
104232  }
104233  
104234  // AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104235  func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
104236  	return nil, false
104237  }
104238  
104239  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104240  func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
104241  	return nil, false
104242  }
104243  
104244  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104245  func (hls HubspotLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
104246  	return nil, false
104247  }
104248  
104249  // AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104250  func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
104251  	return nil, false
104252  }
104253  
104254  // AsOffice365LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104255  func (hls HubspotLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
104256  	return nil, false
104257  }
104258  
104259  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104260  func (hls HubspotLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
104261  	return nil, false
104262  }
104263  
104264  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104265  func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
104266  	return nil, false
104267  }
104268  
104269  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104270  func (hls HubspotLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
104271  	return nil, false
104272  }
104273  
104274  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104275  func (hls HubspotLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
104276  	return nil, false
104277  }
104278  
104279  // AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104280  func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
104281  	return nil, false
104282  }
104283  
104284  // AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104285  func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
104286  	return nil, false
104287  }
104288  
104289  // AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104290  func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
104291  	return nil, false
104292  }
104293  
104294  // AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104295  func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
104296  	return nil, false
104297  }
104298  
104299  // AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104300  func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
104301  	return nil, false
104302  }
104303  
104304  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104305  func (hls HubspotLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
104306  	return nil, false
104307  }
104308  
104309  // AsInformixLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104310  func (hls HubspotLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
104311  	return nil, false
104312  }
104313  
104314  // AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104315  func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
104316  	return nil, false
104317  }
104318  
104319  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104320  func (hls HubspotLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
104321  	return nil, false
104322  }
104323  
104324  // AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104325  func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
104326  	return nil, false
104327  }
104328  
104329  // AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104330  func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
104331  	return nil, false
104332  }
104333  
104334  // AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104335  func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
104336  	return nil, false
104337  }
104338  
104339  // AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104340  func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
104341  	return nil, false
104342  }
104343  
104344  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104345  func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
104346  	return nil, false
104347  }
104348  
104349  // AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104350  func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
104351  	return nil, false
104352  }
104353  
104354  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104355  func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
104356  	return nil, false
104357  }
104358  
104359  // AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104360  func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
104361  	return nil, false
104362  }
104363  
104364  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104365  func (hls HubspotLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
104366  	return nil, false
104367  }
104368  
104369  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104370  func (hls HubspotLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
104371  	return nil, false
104372  }
104373  
104374  // AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104375  func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
104376  	return nil, false
104377  }
104378  
104379  // AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104380  func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
104381  	return nil, false
104382  }
104383  
104384  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104385  func (hls HubspotLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
104386  	return nil, false
104387  }
104388  
104389  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104390  func (hls HubspotLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
104391  	return nil, false
104392  }
104393  
104394  // AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104395  func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
104396  	return nil, false
104397  }
104398  
104399  // AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104400  func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
104401  	return nil, false
104402  }
104403  
104404  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104405  func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
104406  	return nil, false
104407  }
104408  
104409  // AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104410  func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
104411  	return nil, false
104412  }
104413  
104414  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104415  func (hls HubspotLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
104416  	return nil, false
104417  }
104418  
104419  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104420  func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
104421  	return nil, false
104422  }
104423  
104424  // AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104425  func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
104426  	return nil, false
104427  }
104428  
104429  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104430  func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
104431  	return nil, false
104432  }
104433  
104434  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104435  func (hls HubspotLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
104436  	return nil, false
104437  }
104438  
104439  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104440  func (hls HubspotLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
104441  	return nil, false
104442  }
104443  
104444  // AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104445  func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
104446  	return nil, false
104447  }
104448  
104449  // AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104450  func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) {
104451  	return nil, false
104452  }
104453  
104454  // AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService.
104455  func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
104456  	return &hls, true
104457  }
104458  
104459  // UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct.
104460  func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error {
104461  	var m map[string]*json.RawMessage
104462  	err := json.Unmarshal(body, &m)
104463  	if err != nil {
104464  		return err
104465  	}
104466  	for k, v := range m {
104467  		switch k {
104468  		case "typeProperties":
104469  			if v != nil {
104470  				var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties
104471  				err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties)
104472  				if err != nil {
104473  					return err
104474  				}
104475  				hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties
104476  			}
104477  		default:
104478  			if v != nil {
104479  				var additionalProperties interface{}
104480  				err = json.Unmarshal(*v, &additionalProperties)
104481  				if err != nil {
104482  					return err
104483  				}
104484  				if hls.AdditionalProperties == nil {
104485  					hls.AdditionalProperties = make(map[string]interface{})
104486  				}
104487  				hls.AdditionalProperties[k] = additionalProperties
104488  			}
104489  		case "connectVia":
104490  			if v != nil {
104491  				var connectVia IntegrationRuntimeReference
104492  				err = json.Unmarshal(*v, &connectVia)
104493  				if err != nil {
104494  					return err
104495  				}
104496  				hls.ConnectVia = &connectVia
104497  			}
104498  		case "description":
104499  			if v != nil {
104500  				var description string
104501  				err = json.Unmarshal(*v, &description)
104502  				if err != nil {
104503  					return err
104504  				}
104505  				hls.Description = &description
104506  			}
104507  		case "parameters":
104508  			if v != nil {
104509  				var parameters map[string]*ParameterSpecification
104510  				err = json.Unmarshal(*v, &parameters)
104511  				if err != nil {
104512  					return err
104513  				}
104514  				hls.Parameters = parameters
104515  			}
104516  		case "annotations":
104517  			if v != nil {
104518  				var annotations []interface{}
104519  				err = json.Unmarshal(*v, &annotations)
104520  				if err != nil {
104521  					return err
104522  				}
104523  				hls.Annotations = &annotations
104524  			}
104525  		case "type":
104526  			if v != nil {
104527  				var typeVar TypeBasicLinkedService
104528  				err = json.Unmarshal(*v, &typeVar)
104529  				if err != nil {
104530  					return err
104531  				}
104532  				hls.Type = typeVar
104533  			}
104534  		}
104535  	}
104536  
104537  	return nil
104538  }
104539  
104540  // HubspotLinkedServiceTypeProperties hubspot Service linked service properties.
104541  type HubspotLinkedServiceTypeProperties struct {
104542  	// ClientID - The client ID associated with your Hubspot application.
104543  	ClientID interface{} `json:"clientId,omitempty"`
104544  	// ClientSecret - The client secret associated with your Hubspot application.
104545  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
104546  	// AccessToken - The access token obtained when initially authenticating your OAuth integration.
104547  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
104548  	// RefreshToken - The refresh token obtained when initially authenticating your OAuth integration.
104549  	RefreshToken BasicSecretBase `json:"refreshToken,omitempty"`
104550  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
104551  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
104552  	// 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.
104553  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
104554  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
104555  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
104556  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
104557  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
104558  }
104559  
104560  // UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct.
104561  func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
104562  	var m map[string]*json.RawMessage
104563  	err := json.Unmarshal(body, &m)
104564  	if err != nil {
104565  		return err
104566  	}
104567  	for k, v := range m {
104568  		switch k {
104569  		case "clientId":
104570  			if v != nil {
104571  				var clientID interface{}
104572  				err = json.Unmarshal(*v, &clientID)
104573  				if err != nil {
104574  					return err
104575  				}
104576  				hlstp.ClientID = clientID
104577  			}
104578  		case "clientSecret":
104579  			if v != nil {
104580  				clientSecret, err := unmarshalBasicSecretBase(*v)
104581  				if err != nil {
104582  					return err
104583  				}
104584  				hlstp.ClientSecret = clientSecret
104585  			}
104586  		case "accessToken":
104587  			if v != nil {
104588  				accessToken, err := unmarshalBasicSecretBase(*v)
104589  				if err != nil {
104590  					return err
104591  				}
104592  				hlstp.AccessToken = accessToken
104593  			}
104594  		case "refreshToken":
104595  			if v != nil {
104596  				refreshToken, err := unmarshalBasicSecretBase(*v)
104597  				if err != nil {
104598  					return err
104599  				}
104600  				hlstp.RefreshToken = refreshToken
104601  			}
104602  		case "useEncryptedEndpoints":
104603  			if v != nil {
104604  				var useEncryptedEndpoints interface{}
104605  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
104606  				if err != nil {
104607  					return err
104608  				}
104609  				hlstp.UseEncryptedEndpoints = useEncryptedEndpoints
104610  			}
104611  		case "useHostVerification":
104612  			if v != nil {
104613  				var useHostVerification interface{}
104614  				err = json.Unmarshal(*v, &useHostVerification)
104615  				if err != nil {
104616  					return err
104617  				}
104618  				hlstp.UseHostVerification = useHostVerification
104619  			}
104620  		case "usePeerVerification":
104621  			if v != nil {
104622  				var usePeerVerification interface{}
104623  				err = json.Unmarshal(*v, &usePeerVerification)
104624  				if err != nil {
104625  					return err
104626  				}
104627  				hlstp.UsePeerVerification = usePeerVerification
104628  			}
104629  		case "encryptedCredential":
104630  			if v != nil {
104631  				var encryptedCredential interface{}
104632  				err = json.Unmarshal(*v, &encryptedCredential)
104633  				if err != nil {
104634  					return err
104635  				}
104636  				hlstp.EncryptedCredential = encryptedCredential
104637  			}
104638  		}
104639  	}
104640  
104641  	return nil
104642  }
104643  
104644  // HubspotObjectDataset hubspot Service dataset.
104645  type HubspotObjectDataset struct {
104646  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
104647  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
104648  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
104649  	AdditionalProperties map[string]interface{} `json:""`
104650  	// Description - Dataset description.
104651  	Description *string `json:"description,omitempty"`
104652  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
104653  	Structure interface{} `json:"structure,omitempty"`
104654  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
104655  	Schema interface{} `json:"schema,omitempty"`
104656  	// LinkedServiceName - Linked service reference.
104657  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
104658  	// Parameters - Parameters for dataset.
104659  	Parameters map[string]*ParameterSpecification `json:"parameters"`
104660  	// Annotations - List of tags that can be used for describing the Dataset.
104661  	Annotations *[]interface{} `json:"annotations,omitempty"`
104662  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
104663  	Folder *DatasetFolder `json:"folder,omitempty"`
104664  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
104665  	Type TypeBasicDataset `json:"type,omitempty"`
104666  }
104667  
104668  // MarshalJSON is the custom marshaler for HubspotObjectDataset.
104669  func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) {
104670  	hod.Type = TypeHubspotObject
104671  	objectMap := make(map[string]interface{})
104672  	if hod.GenericDatasetTypeProperties != nil {
104673  		objectMap["typeProperties"] = hod.GenericDatasetTypeProperties
104674  	}
104675  	if hod.Description != nil {
104676  		objectMap["description"] = hod.Description
104677  	}
104678  	if hod.Structure != nil {
104679  		objectMap["structure"] = hod.Structure
104680  	}
104681  	if hod.Schema != nil {
104682  		objectMap["schema"] = hod.Schema
104683  	}
104684  	if hod.LinkedServiceName != nil {
104685  		objectMap["linkedServiceName"] = hod.LinkedServiceName
104686  	}
104687  	if hod.Parameters != nil {
104688  		objectMap["parameters"] = hod.Parameters
104689  	}
104690  	if hod.Annotations != nil {
104691  		objectMap["annotations"] = hod.Annotations
104692  	}
104693  	if hod.Folder != nil {
104694  		objectMap["folder"] = hod.Folder
104695  	}
104696  	if hod.Type != "" {
104697  		objectMap["type"] = hod.Type
104698  	}
104699  	for k, v := range hod.AdditionalProperties {
104700  		objectMap[k] = v
104701  	}
104702  	return json.Marshal(objectMap)
104703  }
104704  
104705  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104706  func (hod HubspotObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
104707  	return nil, false
104708  }
104709  
104710  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104711  func (hod HubspotObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
104712  	return nil, false
104713  }
104714  
104715  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104716  func (hod HubspotObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
104717  	return nil, false
104718  }
104719  
104720  // AsDynamicsAXResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
104721  func (hod HubspotObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
104722  	return nil, false
104723  }
104724  
104725  // AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104726  func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
104727  	return nil, false
104728  }
104729  
104730  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104731  func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
104732  	return nil, false
104733  }
104734  
104735  // AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104736  func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
104737  	return nil, false
104738  }
104739  
104740  // AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104741  func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
104742  	return nil, false
104743  }
104744  
104745  // AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104746  func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
104747  	return nil, false
104748  }
104749  
104750  // AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104751  func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
104752  	return nil, false
104753  }
104754  
104755  // AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104756  func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
104757  	return nil, false
104758  }
104759  
104760  // AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104761  func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
104762  	return nil, false
104763  }
104764  
104765  // AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104766  func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
104767  	return nil, false
104768  }
104769  
104770  // AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104771  func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
104772  	return nil, false
104773  }
104774  
104775  // AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104776  func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
104777  	return nil, false
104778  }
104779  
104780  // AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104781  func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
104782  	return nil, false
104783  }
104784  
104785  // AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104786  func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
104787  	return nil, false
104788  }
104789  
104790  // AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104791  func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
104792  	return nil, false
104793  }
104794  
104795  // AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104796  func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
104797  	return nil, false
104798  }
104799  
104800  // AsAzureMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104801  func (hod HubspotObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
104802  	return nil, false
104803  }
104804  
104805  // AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104806  func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
104807  	return nil, false
104808  }
104809  
104810  // AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104811  func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
104812  	return nil, false
104813  }
104814  
104815  // AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104816  func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
104817  	return nil, false
104818  }
104819  
104820  // AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104821  func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
104822  	return nil, false
104823  }
104824  
104825  // AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104826  func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
104827  	return &hod, true
104828  }
104829  
104830  // AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104831  func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
104832  	return nil, false
104833  }
104834  
104835  // AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104836  func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
104837  	return nil, false
104838  }
104839  
104840  // AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104841  func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
104842  	return nil, false
104843  }
104844  
104845  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104846  func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
104847  	return nil, false
104848  }
104849  
104850  // AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104851  func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
104852  	return nil, false
104853  }
104854  
104855  // AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104856  func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
104857  	return nil, false
104858  }
104859  
104860  // AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104861  func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
104862  	return nil, false
104863  }
104864  
104865  // AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104866  func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
104867  	return nil, false
104868  }
104869  
104870  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104871  func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
104872  	return nil, false
104873  }
104874  
104875  // AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104876  func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
104877  	return nil, false
104878  }
104879  
104880  // AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset.
104881  func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
104882  	return nil, false
104883  }
104884  
104885  // AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104886  func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
104887  	return nil, false
104888  }
104889  
104890  // AsSapTableResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
104891  func (hod HubspotObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
104892  	return nil, false
104893  }
104894  
104895  // AsRestResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
104896  func (hod HubspotObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
104897  	return nil, false
104898  }
104899  
104900  // AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104901  func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
104902  	return nil, false
104903  }
104904  
104905  // AsSapOpenHubTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104906  func (hod HubspotObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
104907  	return nil, false
104908  }
104909  
104910  // AsSapHanaTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104911  func (hod HubspotObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
104912  	return nil, false
104913  }
104914  
104915  // AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
104916  func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
104917  	return nil, false
104918  }
104919  
104920  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
104921  func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
104922  	return nil, false
104923  }
104924  
104925  // AsSapBwCubeDataset is the BasicDataset implementation for HubspotObjectDataset.
104926  func (hod HubspotObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
104927  	return nil, false
104928  }
104929  
104930  // AsSybaseTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104931  func (hod HubspotObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
104932  	return nil, false
104933  }
104934  
104935  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104936  func (hod HubspotObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
104937  	return nil, false
104938  }
104939  
104940  // AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset.
104941  func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
104942  	return nil, false
104943  }
104944  
104945  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104946  func (hod HubspotObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
104947  	return nil, false
104948  }
104949  
104950  // AsPostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104951  func (hod HubspotObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
104952  	return nil, false
104953  }
104954  
104955  // AsMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104956  func (hod HubspotObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
104957  	return nil, false
104958  }
104959  
104960  // AsOdbcTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104961  func (hod HubspotObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
104962  	return nil, false
104963  }
104964  
104965  // AsInformixTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104966  func (hod HubspotObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
104967  	return nil, false
104968  }
104969  
104970  // AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104971  func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
104972  	return nil, false
104973  }
104974  
104975  // AsDb2TableDataset is the BasicDataset implementation for HubspotObjectDataset.
104976  func (hod HubspotObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
104977  	return nil, false
104978  }
104979  
104980  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104981  func (hod HubspotObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
104982  	return nil, false
104983  }
104984  
104985  // AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104986  func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
104987  	return nil, false
104988  }
104989  
104990  // AsTeradataTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104991  func (hod HubspotObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
104992  	return nil, false
104993  }
104994  
104995  // AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset.
104996  func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
104997  	return nil, false
104998  }
104999  
105000  // AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset.
105001  func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
105002  	return nil, false
105003  }
105004  
105005  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
105006  func (hod HubspotObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
105007  	return nil, false
105008  }
105009  
105010  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
105011  func (hod HubspotObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
105012  	return nil, false
105013  }
105014  
105015  // AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
105016  func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
105017  	return nil, false
105018  }
105019  
105020  // AsOffice365Dataset is the BasicDataset implementation for HubspotObjectDataset.
105021  func (hod HubspotObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
105022  	return nil, false
105023  }
105024  
105025  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
105026  func (hod HubspotObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
105027  	return nil, false
105028  }
105029  
105030  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
105031  func (hod HubspotObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
105032  	return nil, false
105033  }
105034  
105035  // AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset.
105036  func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
105037  	return nil, false
105038  }
105039  
105040  // AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
105041  func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
105042  	return nil, false
105043  }
105044  
105045  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset.
105046  func (hod HubspotObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
105047  	return nil, false
105048  }
105049  
105050  // AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset.
105051  func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
105052  	return nil, false
105053  }
105054  
105055  // AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset.
105056  func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
105057  	return nil, false
105058  }
105059  
105060  // AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset.
105061  func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
105062  	return nil, false
105063  }
105064  
105065  // AsAzureSQLMITableDataset is the BasicDataset implementation for HubspotObjectDataset.
105066  func (hod HubspotObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
105067  	return nil, false
105068  }
105069  
105070  // AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset.
105071  func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
105072  	return nil, false
105073  }
105074  
105075  // AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset.
105076  func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
105077  	return nil, false
105078  }
105079  
105080  // AsBinaryDataset is the BasicDataset implementation for HubspotObjectDataset.
105081  func (hod HubspotObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
105082  	return nil, false
105083  }
105084  
105085  // AsOrcDataset is the BasicDataset implementation for HubspotObjectDataset.
105086  func (hod HubspotObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
105087  	return nil, false
105088  }
105089  
105090  // AsJSONDataset is the BasicDataset implementation for HubspotObjectDataset.
105091  func (hod HubspotObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
105092  	return nil, false
105093  }
105094  
105095  // AsDelimitedTextDataset is the BasicDataset implementation for HubspotObjectDataset.
105096  func (hod HubspotObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
105097  	return nil, false
105098  }
105099  
105100  // AsParquetDataset is the BasicDataset implementation for HubspotObjectDataset.
105101  func (hod HubspotObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
105102  	return nil, false
105103  }
105104  
105105  // AsAvroDataset is the BasicDataset implementation for HubspotObjectDataset.
105106  func (hod HubspotObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
105107  	return nil, false
105108  }
105109  
105110  // AsDataset is the BasicDataset implementation for HubspotObjectDataset.
105111  func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) {
105112  	return nil, false
105113  }
105114  
105115  // AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset.
105116  func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) {
105117  	return &hod, true
105118  }
105119  
105120  // UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct.
105121  func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error {
105122  	var m map[string]*json.RawMessage
105123  	err := json.Unmarshal(body, &m)
105124  	if err != nil {
105125  		return err
105126  	}
105127  	for k, v := range m {
105128  		switch k {
105129  		case "typeProperties":
105130  			if v != nil {
105131  				var genericDatasetTypeProperties GenericDatasetTypeProperties
105132  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
105133  				if err != nil {
105134  					return err
105135  				}
105136  				hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
105137  			}
105138  		default:
105139  			if v != nil {
105140  				var additionalProperties interface{}
105141  				err = json.Unmarshal(*v, &additionalProperties)
105142  				if err != nil {
105143  					return err
105144  				}
105145  				if hod.AdditionalProperties == nil {
105146  					hod.AdditionalProperties = make(map[string]interface{})
105147  				}
105148  				hod.AdditionalProperties[k] = additionalProperties
105149  			}
105150  		case "description":
105151  			if v != nil {
105152  				var description string
105153  				err = json.Unmarshal(*v, &description)
105154  				if err != nil {
105155  					return err
105156  				}
105157  				hod.Description = &description
105158  			}
105159  		case "structure":
105160  			if v != nil {
105161  				var structure interface{}
105162  				err = json.Unmarshal(*v, &structure)
105163  				if err != nil {
105164  					return err
105165  				}
105166  				hod.Structure = structure
105167  			}
105168  		case "schema":
105169  			if v != nil {
105170  				var schema interface{}
105171  				err = json.Unmarshal(*v, &schema)
105172  				if err != nil {
105173  					return err
105174  				}
105175  				hod.Schema = schema
105176  			}
105177  		case "linkedServiceName":
105178  			if v != nil {
105179  				var linkedServiceName LinkedServiceReference
105180  				err = json.Unmarshal(*v, &linkedServiceName)
105181  				if err != nil {
105182  					return err
105183  				}
105184  				hod.LinkedServiceName = &linkedServiceName
105185  			}
105186  		case "parameters":
105187  			if v != nil {
105188  				var parameters map[string]*ParameterSpecification
105189  				err = json.Unmarshal(*v, &parameters)
105190  				if err != nil {
105191  					return err
105192  				}
105193  				hod.Parameters = parameters
105194  			}
105195  		case "annotations":
105196  			if v != nil {
105197  				var annotations []interface{}
105198  				err = json.Unmarshal(*v, &annotations)
105199  				if err != nil {
105200  					return err
105201  				}
105202  				hod.Annotations = &annotations
105203  			}
105204  		case "folder":
105205  			if v != nil {
105206  				var folder DatasetFolder
105207  				err = json.Unmarshal(*v, &folder)
105208  				if err != nil {
105209  					return err
105210  				}
105211  				hod.Folder = &folder
105212  			}
105213  		case "type":
105214  			if v != nil {
105215  				var typeVar TypeBasicDataset
105216  				err = json.Unmarshal(*v, &typeVar)
105217  				if err != nil {
105218  					return err
105219  				}
105220  				hod.Type = typeVar
105221  			}
105222  		}
105223  	}
105224  
105225  	return nil
105226  }
105227  
105228  // HubspotSource a copy activity Hubspot Service source.
105229  type HubspotSource struct {
105230  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
105231  	Query interface{} `json:"query,omitempty"`
105232  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
105233  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
105234  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
105235  	AdditionalProperties map[string]interface{} `json:""`
105236  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
105237  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
105238  	// 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])).
105239  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
105240  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
105241  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
105242  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
105243  	Type TypeBasicCopySource `json:"type,omitempty"`
105244  }
105245  
105246  // MarshalJSON is the custom marshaler for HubspotSource.
105247  func (hs HubspotSource) MarshalJSON() ([]byte, error) {
105248  	hs.Type = TypeHubspotSource
105249  	objectMap := make(map[string]interface{})
105250  	if hs.Query != nil {
105251  		objectMap["query"] = hs.Query
105252  	}
105253  	if hs.QueryTimeout != nil {
105254  		objectMap["queryTimeout"] = hs.QueryTimeout
105255  	}
105256  	if hs.SourceRetryCount != nil {
105257  		objectMap["sourceRetryCount"] = hs.SourceRetryCount
105258  	}
105259  	if hs.SourceRetryWait != nil {
105260  		objectMap["sourceRetryWait"] = hs.SourceRetryWait
105261  	}
105262  	if hs.MaxConcurrentConnections != nil {
105263  		objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections
105264  	}
105265  	if hs.Type != "" {
105266  		objectMap["type"] = hs.Type
105267  	}
105268  	for k, v := range hs.AdditionalProperties {
105269  		objectMap[k] = v
105270  	}
105271  	return json.Marshal(objectMap)
105272  }
105273  
105274  // AsHTTPSource is the BasicCopySource implementation for HubspotSource.
105275  func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) {
105276  	return nil, false
105277  }
105278  
105279  // AsAzureBlobFSSource is the BasicCopySource implementation for HubspotSource.
105280  func (hs HubspotSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
105281  	return nil, false
105282  }
105283  
105284  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource.
105285  func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
105286  	return nil, false
105287  }
105288  
105289  // AsOffice365Source is the BasicCopySource implementation for HubspotSource.
105290  func (hs HubspotSource) AsOffice365Source() (*Office365Source, bool) {
105291  	return nil, false
105292  }
105293  
105294  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HubspotSource.
105295  func (hs HubspotSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
105296  	return nil, false
105297  }
105298  
105299  // AsMongoDbV2Source is the BasicCopySource implementation for HubspotSource.
105300  func (hs HubspotSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
105301  	return nil, false
105302  }
105303  
105304  // AsMongoDbSource is the BasicCopySource implementation for HubspotSource.
105305  func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) {
105306  	return nil, false
105307  }
105308  
105309  // AsWebSource is the BasicCopySource implementation for HubspotSource.
105310  func (hs HubspotSource) AsWebSource() (*WebSource, bool) {
105311  	return nil, false
105312  }
105313  
105314  // AsOracleSource is the BasicCopySource implementation for HubspotSource.
105315  func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) {
105316  	return nil, false
105317  }
105318  
105319  // AsAzureDataExplorerSource is the BasicCopySource implementation for HubspotSource.
105320  func (hs HubspotSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
105321  	return nil, false
105322  }
105323  
105324  // AsHdfsSource is the BasicCopySource implementation for HubspotSource.
105325  func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) {
105326  	return nil, false
105327  }
105328  
105329  // AsFileSystemSource is the BasicCopySource implementation for HubspotSource.
105330  func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) {
105331  	return nil, false
105332  }
105333  
105334  // AsRestSource is the BasicCopySource implementation for HubspotSource.
105335  func (hs HubspotSource) AsRestSource() (*RestSource, bool) {
105336  	return nil, false
105337  }
105338  
105339  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for HubspotSource.
105340  func (hs HubspotSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
105341  	return nil, false
105342  }
105343  
105344  // AsODataSource is the BasicCopySource implementation for HubspotSource.
105345  func (hs HubspotSource) AsODataSource() (*ODataSource, bool) {
105346  	return nil, false
105347  }
105348  
105349  // AsMicrosoftAccessSource is the BasicCopySource implementation for HubspotSource.
105350  func (hs HubspotSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
105351  	return nil, false
105352  }
105353  
105354  // AsRelationalSource is the BasicCopySource implementation for HubspotSource.
105355  func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) {
105356  	return nil, false
105357  }
105358  
105359  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HubspotSource.
105360  func (hs HubspotSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
105361  	return nil, false
105362  }
105363  
105364  // AsDynamicsCrmSource is the BasicCopySource implementation for HubspotSource.
105365  func (hs HubspotSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
105366  	return nil, false
105367  }
105368  
105369  // AsDynamicsSource is the BasicCopySource implementation for HubspotSource.
105370  func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) {
105371  	return nil, false
105372  }
105373  
105374  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for HubspotSource.
105375  func (hs HubspotSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
105376  	return nil, false
105377  }
105378  
105379  // AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource.
105380  func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
105381  	return nil, false
105382  }
105383  
105384  // AsBlobSource is the BasicCopySource implementation for HubspotSource.
105385  func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) {
105386  	return nil, false
105387  }
105388  
105389  // AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource.
105390  func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
105391  	return nil, false
105392  }
105393  
105394  // AsGoogleAdWordsSource is the BasicCopySource implementation for HubspotSource.
105395  func (hs HubspotSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
105396  	return nil, false
105397  }
105398  
105399  // AsOracleServiceCloudSource is the BasicCopySource implementation for HubspotSource.
105400  func (hs HubspotSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
105401  	return nil, false
105402  }
105403  
105404  // AsDynamicsAXSource is the BasicCopySource implementation for HubspotSource.
105405  func (hs HubspotSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
105406  	return nil, false
105407  }
105408  
105409  // AsResponsysSource is the BasicCopySource implementation for HubspotSource.
105410  func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) {
105411  	return nil, false
105412  }
105413  
105414  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource.
105415  func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
105416  	return nil, false
105417  }
105418  
105419  // AsVerticaSource is the BasicCopySource implementation for HubspotSource.
105420  func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) {
105421  	return nil, false
105422  }
105423  
105424  // AsNetezzaSource is the BasicCopySource implementation for HubspotSource.
105425  func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) {
105426  	return nil, false
105427  }
105428  
105429  // AsZohoSource is the BasicCopySource implementation for HubspotSource.
105430  func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) {
105431  	return nil, false
105432  }
105433  
105434  // AsXeroSource is the BasicCopySource implementation for HubspotSource.
105435  func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) {
105436  	return nil, false
105437  }
105438  
105439  // AsSquareSource is the BasicCopySource implementation for HubspotSource.
105440  func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) {
105441  	return nil, false
105442  }
105443  
105444  // AsSparkSource is the BasicCopySource implementation for HubspotSource.
105445  func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) {
105446  	return nil, false
105447  }
105448  
105449  // AsShopifySource is the BasicCopySource implementation for HubspotSource.
105450  func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) {
105451  	return nil, false
105452  }
105453  
105454  // AsServiceNowSource is the BasicCopySource implementation for HubspotSource.
105455  func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) {
105456  	return nil, false
105457  }
105458  
105459  // AsQuickBooksSource is the BasicCopySource implementation for HubspotSource.
105460  func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
105461  	return nil, false
105462  }
105463  
105464  // AsPrestoSource is the BasicCopySource implementation for HubspotSource.
105465  func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) {
105466  	return nil, false
105467  }
105468  
105469  // AsPhoenixSource is the BasicCopySource implementation for HubspotSource.
105470  func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) {
105471  	return nil, false
105472  }
105473  
105474  // AsPaypalSource is the BasicCopySource implementation for HubspotSource.
105475  func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) {
105476  	return nil, false
105477  }
105478  
105479  // AsMarketoSource is the BasicCopySource implementation for HubspotSource.
105480  func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) {
105481  	return nil, false
105482  }
105483  
105484  // AsAzureMariaDBSource is the BasicCopySource implementation for HubspotSource.
105485  func (hs HubspotSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
105486  	return nil, false
105487  }
105488  
105489  // AsMariaDBSource is the BasicCopySource implementation for HubspotSource.
105490  func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) {
105491  	return nil, false
105492  }
105493  
105494  // AsMagentoSource is the BasicCopySource implementation for HubspotSource.
105495  func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) {
105496  	return nil, false
105497  }
105498  
105499  // AsJiraSource is the BasicCopySource implementation for HubspotSource.
105500  func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) {
105501  	return nil, false
105502  }
105503  
105504  // AsImpalaSource is the BasicCopySource implementation for HubspotSource.
105505  func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) {
105506  	return nil, false
105507  }
105508  
105509  // AsHubspotSource is the BasicCopySource implementation for HubspotSource.
105510  func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) {
105511  	return &hs, true
105512  }
105513  
105514  // AsHiveSource is the BasicCopySource implementation for HubspotSource.
105515  func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) {
105516  	return nil, false
105517  }
105518  
105519  // AsHBaseSource is the BasicCopySource implementation for HubspotSource.
105520  func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) {
105521  	return nil, false
105522  }
105523  
105524  // AsGreenplumSource is the BasicCopySource implementation for HubspotSource.
105525  func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) {
105526  	return nil, false
105527  }
105528  
105529  // AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource.
105530  func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
105531  	return nil, false
105532  }
105533  
105534  // AsEloquaSource is the BasicCopySource implementation for HubspotSource.
105535  func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) {
105536  	return nil, false
105537  }
105538  
105539  // AsDrillSource is the BasicCopySource implementation for HubspotSource.
105540  func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) {
105541  	return nil, false
105542  }
105543  
105544  // AsCouchbaseSource is the BasicCopySource implementation for HubspotSource.
105545  func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
105546  	return nil, false
105547  }
105548  
105549  // AsConcurSource is the BasicCopySource implementation for HubspotSource.
105550  func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) {
105551  	return nil, false
105552  }
105553  
105554  // AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource.
105555  func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
105556  	return nil, false
105557  }
105558  
105559  // AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource.
105560  func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
105561  	return nil, false
105562  }
105563  
105564  // AsCassandraSource is the BasicCopySource implementation for HubspotSource.
105565  func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) {
105566  	return nil, false
105567  }
105568  
105569  // AsTeradataSource is the BasicCopySource implementation for HubspotSource.
105570  func (hs HubspotSource) AsTeradataSource() (*TeradataSource, bool) {
105571  	return nil, false
105572  }
105573  
105574  // AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource.
105575  func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
105576  	return nil, false
105577  }
105578  
105579  // AsSQLDWSource is the BasicCopySource implementation for HubspotSource.
105580  func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) {
105581  	return nil, false
105582  }
105583  
105584  // AsSQLMISource is the BasicCopySource implementation for HubspotSource.
105585  func (hs HubspotSource) AsSQLMISource() (*SQLMISource, bool) {
105586  	return nil, false
105587  }
105588  
105589  // AsAzureSQLSource is the BasicCopySource implementation for HubspotSource.
105590  func (hs HubspotSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
105591  	return nil, false
105592  }
105593  
105594  // AsSQLServerSource is the BasicCopySource implementation for HubspotSource.
105595  func (hs HubspotSource) AsSQLServerSource() (*SQLServerSource, bool) {
105596  	return nil, false
105597  }
105598  
105599  // AsSQLSource is the BasicCopySource implementation for HubspotSource.
105600  func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) {
105601  	return nil, false
105602  }
105603  
105604  // AsSapTableSource is the BasicCopySource implementation for HubspotSource.
105605  func (hs HubspotSource) AsSapTableSource() (*SapTableSource, bool) {
105606  	return nil, false
105607  }
105608  
105609  // AsSapOpenHubSource is the BasicCopySource implementation for HubspotSource.
105610  func (hs HubspotSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
105611  	return nil, false
105612  }
105613  
105614  // AsSapHanaSource is the BasicCopySource implementation for HubspotSource.
105615  func (hs HubspotSource) AsSapHanaSource() (*SapHanaSource, bool) {
105616  	return nil, false
105617  }
105618  
105619  // AsSapEccSource is the BasicCopySource implementation for HubspotSource.
105620  func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) {
105621  	return nil, false
105622  }
105623  
105624  // AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource.
105625  func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
105626  	return nil, false
105627  }
105628  
105629  // AsSalesforceSource is the BasicCopySource implementation for HubspotSource.
105630  func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) {
105631  	return nil, false
105632  }
105633  
105634  // AsSapBwSource is the BasicCopySource implementation for HubspotSource.
105635  func (hs HubspotSource) AsSapBwSource() (*SapBwSource, bool) {
105636  	return nil, false
105637  }
105638  
105639  // AsSybaseSource is the BasicCopySource implementation for HubspotSource.
105640  func (hs HubspotSource) AsSybaseSource() (*SybaseSource, bool) {
105641  	return nil, false
105642  }
105643  
105644  // AsPostgreSQLSource is the BasicCopySource implementation for HubspotSource.
105645  func (hs HubspotSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
105646  	return nil, false
105647  }
105648  
105649  // AsMySQLSource is the BasicCopySource implementation for HubspotSource.
105650  func (hs HubspotSource) AsMySQLSource() (*MySQLSource, bool) {
105651  	return nil, false
105652  }
105653  
105654  // AsOdbcSource is the BasicCopySource implementation for HubspotSource.
105655  func (hs HubspotSource) AsOdbcSource() (*OdbcSource, bool) {
105656  	return nil, false
105657  }
105658  
105659  // AsDb2Source is the BasicCopySource implementation for HubspotSource.
105660  func (hs HubspotSource) AsDb2Source() (*Db2Source, bool) {
105661  	return nil, false
105662  }
105663  
105664  // AsInformixSource is the BasicCopySource implementation for HubspotSource.
105665  func (hs HubspotSource) AsInformixSource() (*InformixSource, bool) {
105666  	return nil, false
105667  }
105668  
105669  // AsAzureTableSource is the BasicCopySource implementation for HubspotSource.
105670  func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) {
105671  	return nil, false
105672  }
105673  
105674  // AsTabularSource is the BasicCopySource implementation for HubspotSource.
105675  func (hs HubspotSource) AsTabularSource() (*TabularSource, bool) {
105676  	return nil, false
105677  }
105678  
105679  // AsBasicTabularSource is the BasicCopySource implementation for HubspotSource.
105680  func (hs HubspotSource) AsBasicTabularSource() (BasicTabularSource, bool) {
105681  	return &hs, true
105682  }
105683  
105684  // AsBinarySource is the BasicCopySource implementation for HubspotSource.
105685  func (hs HubspotSource) AsBinarySource() (*BinarySource, bool) {
105686  	return nil, false
105687  }
105688  
105689  // AsOrcSource is the BasicCopySource implementation for HubspotSource.
105690  func (hs HubspotSource) AsOrcSource() (*OrcSource, bool) {
105691  	return nil, false
105692  }
105693  
105694  // AsJSONSource is the BasicCopySource implementation for HubspotSource.
105695  func (hs HubspotSource) AsJSONSource() (*JSONSource, bool) {
105696  	return nil, false
105697  }
105698  
105699  // AsDelimitedTextSource is the BasicCopySource implementation for HubspotSource.
105700  func (hs HubspotSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
105701  	return nil, false
105702  }
105703  
105704  // AsParquetSource is the BasicCopySource implementation for HubspotSource.
105705  func (hs HubspotSource) AsParquetSource() (*ParquetSource, bool) {
105706  	return nil, false
105707  }
105708  
105709  // AsAvroSource is the BasicCopySource implementation for HubspotSource.
105710  func (hs HubspotSource) AsAvroSource() (*AvroSource, bool) {
105711  	return nil, false
105712  }
105713  
105714  // AsCopySource is the BasicCopySource implementation for HubspotSource.
105715  func (hs HubspotSource) AsCopySource() (*CopySource, bool) {
105716  	return nil, false
105717  }
105718  
105719  // AsBasicCopySource is the BasicCopySource implementation for HubspotSource.
105720  func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) {
105721  	return &hs, true
105722  }
105723  
105724  // UnmarshalJSON is the custom unmarshaler for HubspotSource struct.
105725  func (hs *HubspotSource) UnmarshalJSON(body []byte) error {
105726  	var m map[string]*json.RawMessage
105727  	err := json.Unmarshal(body, &m)
105728  	if err != nil {
105729  		return err
105730  	}
105731  	for k, v := range m {
105732  		switch k {
105733  		case "query":
105734  			if v != nil {
105735  				var query interface{}
105736  				err = json.Unmarshal(*v, &query)
105737  				if err != nil {
105738  					return err
105739  				}
105740  				hs.Query = query
105741  			}
105742  		case "queryTimeout":
105743  			if v != nil {
105744  				var queryTimeout interface{}
105745  				err = json.Unmarshal(*v, &queryTimeout)
105746  				if err != nil {
105747  					return err
105748  				}
105749  				hs.QueryTimeout = queryTimeout
105750  			}
105751  		default:
105752  			if v != nil {
105753  				var additionalProperties interface{}
105754  				err = json.Unmarshal(*v, &additionalProperties)
105755  				if err != nil {
105756  					return err
105757  				}
105758  				if hs.AdditionalProperties == nil {
105759  					hs.AdditionalProperties = make(map[string]interface{})
105760  				}
105761  				hs.AdditionalProperties[k] = additionalProperties
105762  			}
105763  		case "sourceRetryCount":
105764  			if v != nil {
105765  				var sourceRetryCount interface{}
105766  				err = json.Unmarshal(*v, &sourceRetryCount)
105767  				if err != nil {
105768  					return err
105769  				}
105770  				hs.SourceRetryCount = sourceRetryCount
105771  			}
105772  		case "sourceRetryWait":
105773  			if v != nil {
105774  				var sourceRetryWait interface{}
105775  				err = json.Unmarshal(*v, &sourceRetryWait)
105776  				if err != nil {
105777  					return err
105778  				}
105779  				hs.SourceRetryWait = sourceRetryWait
105780  			}
105781  		case "maxConcurrentConnections":
105782  			if v != nil {
105783  				var maxConcurrentConnections interface{}
105784  				err = json.Unmarshal(*v, &maxConcurrentConnections)
105785  				if err != nil {
105786  					return err
105787  				}
105788  				hs.MaxConcurrentConnections = maxConcurrentConnections
105789  			}
105790  		case "type":
105791  			if v != nil {
105792  				var typeVar TypeBasicCopySource
105793  				err = json.Unmarshal(*v, &typeVar)
105794  				if err != nil {
105795  					return err
105796  				}
105797  				hs.Type = typeVar
105798  			}
105799  		}
105800  	}
105801  
105802  	return nil
105803  }
105804  
105805  // IfConditionActivity this activity evaluates a boolean expression and executes either the activities
105806  // under the ifTrueActivities property or the ifFalseActivities property depending on the result of the
105807  // expression.
105808  type IfConditionActivity struct {
105809  	// IfConditionActivityTypeProperties - IfCondition activity properties.
105810  	*IfConditionActivityTypeProperties `json:"typeProperties,omitempty"`
105811  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
105812  	AdditionalProperties map[string]interface{} `json:""`
105813  	// Name - Activity name.
105814  	Name *string `json:"name,omitempty"`
105815  	// Description - Activity description.
105816  	Description *string `json:"description,omitempty"`
105817  	// DependsOn - Activity depends on condition.
105818  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
105819  	// UserProperties - Activity user properties.
105820  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
105821  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
105822  	Type TypeBasicActivity `json:"type,omitempty"`
105823  }
105824  
105825  // MarshalJSON is the custom marshaler for IfConditionActivity.
105826  func (ica IfConditionActivity) MarshalJSON() ([]byte, error) {
105827  	ica.Type = TypeIfCondition
105828  	objectMap := make(map[string]interface{})
105829  	if ica.IfConditionActivityTypeProperties != nil {
105830  		objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties
105831  	}
105832  	if ica.Name != nil {
105833  		objectMap["name"] = ica.Name
105834  	}
105835  	if ica.Description != nil {
105836  		objectMap["description"] = ica.Description
105837  	}
105838  	if ica.DependsOn != nil {
105839  		objectMap["dependsOn"] = ica.DependsOn
105840  	}
105841  	if ica.UserProperties != nil {
105842  		objectMap["userProperties"] = ica.UserProperties
105843  	}
105844  	if ica.Type != "" {
105845  		objectMap["type"] = ica.Type
105846  	}
105847  	for k, v := range ica.AdditionalProperties {
105848  		objectMap[k] = v
105849  	}
105850  	return json.Marshal(objectMap)
105851  }
105852  
105853  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity.
105854  func (ica IfConditionActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
105855  	return nil, false
105856  }
105857  
105858  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for IfConditionActivity.
105859  func (ica IfConditionActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
105860  	return nil, false
105861  }
105862  
105863  // AsSynapseNotebookActivity is the BasicActivity implementation for IfConditionActivity.
105864  func (ica IfConditionActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
105865  	return nil, false
105866  }
105867  
105868  // AsExecuteDataFlowActivity is the BasicActivity implementation for IfConditionActivity.
105869  func (ica IfConditionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
105870  	return nil, false
105871  }
105872  
105873  // AsAzureFunctionActivity is the BasicActivity implementation for IfConditionActivity.
105874  func (ica IfConditionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
105875  	return nil, false
105876  }
105877  
105878  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for IfConditionActivity.
105879  func (ica IfConditionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
105880  	return nil, false
105881  }
105882  
105883  // AsDatabricksSparkJarActivity is the BasicActivity implementation for IfConditionActivity.
105884  func (ica IfConditionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
105885  	return nil, false
105886  }
105887  
105888  // AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity.
105889  func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
105890  	return nil, false
105891  }
105892  
105893  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity.
105894  func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
105895  	return nil, false
105896  }
105897  
105898  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity.
105899  func (ica IfConditionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
105900  	return nil, false
105901  }
105902  
105903  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity.
105904  func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
105905  	return nil, false
105906  }
105907  
105908  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity.
105909  func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
105910  	return nil, false
105911  }
105912  
105913  // AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity.
105914  func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
105915  	return nil, false
105916  }
105917  
105918  // AsWebActivity is the BasicActivity implementation for IfConditionActivity.
105919  func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) {
105920  	return nil, false
105921  }
105922  
105923  // AsLookupActivity is the BasicActivity implementation for IfConditionActivity.
105924  func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) {
105925  	return nil, false
105926  }
105927  
105928  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for IfConditionActivity.
105929  func (ica IfConditionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
105930  	return nil, false
105931  }
105932  
105933  // AsDeleteActivity is the BasicActivity implementation for IfConditionActivity.
105934  func (ica IfConditionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
105935  	return nil, false
105936  }
105937  
105938  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity.
105939  func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
105940  	return nil, false
105941  }
105942  
105943  // AsCustomActivity is the BasicActivity implementation for IfConditionActivity.
105944  func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) {
105945  	return nil, false
105946  }
105947  
105948  // AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity.
105949  func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
105950  	return nil, false
105951  }
105952  
105953  // AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity.
105954  func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
105955  	return nil, false
105956  }
105957  
105958  // AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity.
105959  func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
105960  	return nil, false
105961  }
105962  
105963  // AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity.
105964  func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
105965  	return nil, false
105966  }
105967  
105968  // AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity.
105969  func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
105970  	return nil, false
105971  }
105972  
105973  // AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity.
105974  func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
105975  	return nil, false
105976  }
105977  
105978  // AsCopyActivity is the BasicActivity implementation for IfConditionActivity.
105979  func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) {
105980  	return nil, false
105981  }
105982  
105983  // AsExecutionActivity is the BasicActivity implementation for IfConditionActivity.
105984  func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
105985  	return nil, false
105986  }
105987  
105988  // AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity.
105989  func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
105990  	return nil, false
105991  }
105992  
105993  // AsWebHookActivity is the BasicActivity implementation for IfConditionActivity.
105994  func (ica IfConditionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
105995  	return nil, false
105996  }
105997  
105998  // AsAppendVariableActivity is the BasicActivity implementation for IfConditionActivity.
105999  func (ica IfConditionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
106000  	return nil, false
106001  }
106002  
106003  // AsSetVariableActivity is the BasicActivity implementation for IfConditionActivity.
106004  func (ica IfConditionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
106005  	return nil, false
106006  }
106007  
106008  // AsFilterActivity is the BasicActivity implementation for IfConditionActivity.
106009  func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) {
106010  	return nil, false
106011  }
106012  
106013  // AsValidationActivity is the BasicActivity implementation for IfConditionActivity.
106014  func (ica IfConditionActivity) AsValidationActivity() (*ValidationActivity, bool) {
106015  	return nil, false
106016  }
106017  
106018  // AsUntilActivity is the BasicActivity implementation for IfConditionActivity.
106019  func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) {
106020  	return nil, false
106021  }
106022  
106023  // AsWaitActivity is the BasicActivity implementation for IfConditionActivity.
106024  func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) {
106025  	return nil, false
106026  }
106027  
106028  // AsForEachActivity is the BasicActivity implementation for IfConditionActivity.
106029  func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) {
106030  	return nil, false
106031  }
106032  
106033  // AsSwitchActivity is the BasicActivity implementation for IfConditionActivity.
106034  func (ica IfConditionActivity) AsSwitchActivity() (*SwitchActivity, bool) {
106035  	return nil, false
106036  }
106037  
106038  // AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity.
106039  func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
106040  	return &ica, true
106041  }
106042  
106043  // AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity.
106044  func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
106045  	return nil, false
106046  }
106047  
106048  // AsControlActivity is the BasicActivity implementation for IfConditionActivity.
106049  func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) {
106050  	return nil, false
106051  }
106052  
106053  // AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity.
106054  func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
106055  	return &ica, true
106056  }
106057  
106058  // AsActivity is the BasicActivity implementation for IfConditionActivity.
106059  func (ica IfConditionActivity) AsActivity() (*Activity, bool) {
106060  	return nil, false
106061  }
106062  
106063  // AsBasicActivity is the BasicActivity implementation for IfConditionActivity.
106064  func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) {
106065  	return &ica, true
106066  }
106067  
106068  // UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct.
106069  func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error {
106070  	var m map[string]*json.RawMessage
106071  	err := json.Unmarshal(body, &m)
106072  	if err != nil {
106073  		return err
106074  	}
106075  	for k, v := range m {
106076  		switch k {
106077  		case "typeProperties":
106078  			if v != nil {
106079  				var ifConditionActivityTypeProperties IfConditionActivityTypeProperties
106080  				err = json.Unmarshal(*v, &ifConditionActivityTypeProperties)
106081  				if err != nil {
106082  					return err
106083  				}
106084  				ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties
106085  			}
106086  		default:
106087  			if v != nil {
106088  				var additionalProperties interface{}
106089  				err = json.Unmarshal(*v, &additionalProperties)
106090  				if err != nil {
106091  					return err
106092  				}
106093  				if ica.AdditionalProperties == nil {
106094  					ica.AdditionalProperties = make(map[string]interface{})
106095  				}
106096  				ica.AdditionalProperties[k] = additionalProperties
106097  			}
106098  		case "name":
106099  			if v != nil {
106100  				var name string
106101  				err = json.Unmarshal(*v, &name)
106102  				if err != nil {
106103  					return err
106104  				}
106105  				ica.Name = &name
106106  			}
106107  		case "description":
106108  			if v != nil {
106109  				var description string
106110  				err = json.Unmarshal(*v, &description)
106111  				if err != nil {
106112  					return err
106113  				}
106114  				ica.Description = &description
106115  			}
106116  		case "dependsOn":
106117  			if v != nil {
106118  				var dependsOn []ActivityDependency
106119  				err = json.Unmarshal(*v, &dependsOn)
106120  				if err != nil {
106121  					return err
106122  				}
106123  				ica.DependsOn = &dependsOn
106124  			}
106125  		case "userProperties":
106126  			if v != nil {
106127  				var userProperties []UserProperty
106128  				err = json.Unmarshal(*v, &userProperties)
106129  				if err != nil {
106130  					return err
106131  				}
106132  				ica.UserProperties = &userProperties
106133  			}
106134  		case "type":
106135  			if v != nil {
106136  				var typeVar TypeBasicActivity
106137  				err = json.Unmarshal(*v, &typeVar)
106138  				if err != nil {
106139  					return err
106140  				}
106141  				ica.Type = typeVar
106142  			}
106143  		}
106144  	}
106145  
106146  	return nil
106147  }
106148  
106149  // IfConditionActivityTypeProperties ifCondition activity properties.
106150  type IfConditionActivityTypeProperties struct {
106151  	// Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed.
106152  	Expression *Expression `json:"expression,omitempty"`
106153  	// 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.
106154  	IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"`
106155  	// 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.
106156  	IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"`
106157  }
106158  
106159  // UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct.
106160  func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error {
106161  	var m map[string]*json.RawMessage
106162  	err := json.Unmarshal(body, &m)
106163  	if err != nil {
106164  		return err
106165  	}
106166  	for k, v := range m {
106167  		switch k {
106168  		case "expression":
106169  			if v != nil {
106170  				var expression Expression
106171  				err = json.Unmarshal(*v, &expression)
106172  				if err != nil {
106173  					return err
106174  				}
106175  				icatp.Expression = &expression
106176  			}
106177  		case "ifTrueActivities":
106178  			if v != nil {
106179  				ifTrueActivities, err := unmarshalBasicActivityArray(*v)
106180  				if err != nil {
106181  					return err
106182  				}
106183  				icatp.IfTrueActivities = &ifTrueActivities
106184  			}
106185  		case "ifFalseActivities":
106186  			if v != nil {
106187  				ifFalseActivities, err := unmarshalBasicActivityArray(*v)
106188  				if err != nil {
106189  					return err
106190  				}
106191  				icatp.IfFalseActivities = &ifFalseActivities
106192  			}
106193  		}
106194  	}
106195  
106196  	return nil
106197  }
106198  
106199  // ImpalaDatasetTypeProperties impala Dataset Properties
106200  type ImpalaDatasetTypeProperties struct {
106201  	// TableName - This property will be retired. Please consider using schema + table properties instead.
106202  	TableName interface{} `json:"tableName,omitempty"`
106203  	// Table - The table name of the Impala. Type: string (or Expression with resultType string).
106204  	Table interface{} `json:"table,omitempty"`
106205  	// Schema - The schema name of the Impala. Type: string (or Expression with resultType string).
106206  	Schema interface{} `json:"schema,omitempty"`
106207  }
106208  
106209  // ImpalaLinkedService impala server linked service.
106210  type ImpalaLinkedService struct {
106211  	// ImpalaLinkedServiceTypeProperties - Impala server linked service properties.
106212  	*ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
106213  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
106214  	AdditionalProperties map[string]interface{} `json:""`
106215  	// ConnectVia - The integration runtime reference.
106216  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
106217  	// Description - Linked service description.
106218  	Description *string `json:"description,omitempty"`
106219  	// Parameters - Parameters for linked service.
106220  	Parameters map[string]*ParameterSpecification `json:"parameters"`
106221  	// Annotations - List of tags that can be used for describing the linked service.
106222  	Annotations *[]interface{} `json:"annotations,omitempty"`
106223  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
106224  	Type TypeBasicLinkedService `json:"type,omitempty"`
106225  }
106226  
106227  // MarshalJSON is the custom marshaler for ImpalaLinkedService.
106228  func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) {
106229  	ils.Type = TypeImpala
106230  	objectMap := make(map[string]interface{})
106231  	if ils.ImpalaLinkedServiceTypeProperties != nil {
106232  		objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties
106233  	}
106234  	if ils.ConnectVia != nil {
106235  		objectMap["connectVia"] = ils.ConnectVia
106236  	}
106237  	if ils.Description != nil {
106238  		objectMap["description"] = ils.Description
106239  	}
106240  	if ils.Parameters != nil {
106241  		objectMap["parameters"] = ils.Parameters
106242  	}
106243  	if ils.Annotations != nil {
106244  		objectMap["annotations"] = ils.Annotations
106245  	}
106246  	if ils.Type != "" {
106247  		objectMap["type"] = ils.Type
106248  	}
106249  	for k, v := range ils.AdditionalProperties {
106250  		objectMap[k] = v
106251  	}
106252  	return json.Marshal(objectMap)
106253  }
106254  
106255  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106256  func (ils ImpalaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
106257  	return nil, false
106258  }
106259  
106260  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106261  func (ils ImpalaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
106262  	return nil, false
106263  }
106264  
106265  // AsSapTableLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106266  func (ils ImpalaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
106267  	return nil, false
106268  }
106269  
106270  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106271  func (ils ImpalaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
106272  	return nil, false
106273  }
106274  
106275  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106276  func (ils ImpalaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
106277  	return nil, false
106278  }
106279  
106280  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106281  func (ils ImpalaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
106282  	return nil, false
106283  }
106284  
106285  // AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106286  func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
106287  	return nil, false
106288  }
106289  
106290  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106291  func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
106292  	return nil, false
106293  }
106294  
106295  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106296  func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
106297  	return nil, false
106298  }
106299  
106300  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106301  func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
106302  	return nil, false
106303  }
106304  
106305  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106306  func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
106307  	return nil, false
106308  }
106309  
106310  // AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106311  func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
106312  	return nil, false
106313  }
106314  
106315  // AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106316  func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
106317  	return nil, false
106318  }
106319  
106320  // AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106321  func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
106322  	return nil, false
106323  }
106324  
106325  // AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106326  func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
106327  	return nil, false
106328  }
106329  
106330  // AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106331  func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
106332  	return nil, false
106333  }
106334  
106335  // AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106336  func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
106337  	return nil, false
106338  }
106339  
106340  // AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106341  func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
106342  	return nil, false
106343  }
106344  
106345  // AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106346  func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
106347  	return nil, false
106348  }
106349  
106350  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106351  func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
106352  	return nil, false
106353  }
106354  
106355  // AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106356  func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
106357  	return nil, false
106358  }
106359  
106360  // AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106361  func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
106362  	return nil, false
106363  }
106364  
106365  // AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106366  func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
106367  	return nil, false
106368  }
106369  
106370  // AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106371  func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
106372  	return nil, false
106373  }
106374  
106375  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106376  func (ils ImpalaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
106377  	return nil, false
106378  }
106379  
106380  // AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106381  func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
106382  	return nil, false
106383  }
106384  
106385  // AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106386  func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
106387  	return nil, false
106388  }
106389  
106390  // AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106391  func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
106392  	return nil, false
106393  }
106394  
106395  // AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106396  func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
106397  	return &ils, true
106398  }
106399  
106400  // AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106401  func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
106402  	return nil, false
106403  }
106404  
106405  // AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106406  func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
106407  	return nil, false
106408  }
106409  
106410  // AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106411  func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
106412  	return nil, false
106413  }
106414  
106415  // AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106416  func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
106417  	return nil, false
106418  }
106419  
106420  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106421  func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
106422  	return nil, false
106423  }
106424  
106425  // AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106426  func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
106427  	return nil, false
106428  }
106429  
106430  // AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106431  func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
106432  	return nil, false
106433  }
106434  
106435  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106436  func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
106437  	return nil, false
106438  }
106439  
106440  // AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106441  func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
106442  	return nil, false
106443  }
106444  
106445  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106446  func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
106447  	return nil, false
106448  }
106449  
106450  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106451  func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
106452  	return nil, false
106453  }
106454  
106455  // AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106456  func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
106457  	return nil, false
106458  }
106459  
106460  // AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106461  func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
106462  	return nil, false
106463  }
106464  
106465  // AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106466  func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
106467  	return nil, false
106468  }
106469  
106470  // AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106471  func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
106472  	return nil, false
106473  }
106474  
106475  // AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106476  func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
106477  	return nil, false
106478  }
106479  
106480  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106481  func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
106482  	return nil, false
106483  }
106484  
106485  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106486  func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
106487  	return nil, false
106488  }
106489  
106490  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106491  func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
106492  	return nil, false
106493  }
106494  
106495  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106496  func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
106497  	return nil, false
106498  }
106499  
106500  // AsRestServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106501  func (ils ImpalaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
106502  	return nil, false
106503  }
106504  
106505  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106506  func (ils ImpalaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
106507  	return nil, false
106508  }
106509  
106510  // AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106511  func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
106512  	return nil, false
106513  }
106514  
106515  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106516  func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
106517  	return nil, false
106518  }
106519  
106520  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106521  func (ils ImpalaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
106522  	return nil, false
106523  }
106524  
106525  // AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106526  func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
106527  	return nil, false
106528  }
106529  
106530  // AsOffice365LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106531  func (ils ImpalaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
106532  	return nil, false
106533  }
106534  
106535  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106536  func (ils ImpalaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
106537  	return nil, false
106538  }
106539  
106540  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106541  func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
106542  	return nil, false
106543  }
106544  
106545  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106546  func (ils ImpalaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
106547  	return nil, false
106548  }
106549  
106550  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106551  func (ils ImpalaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
106552  	return nil, false
106553  }
106554  
106555  // AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106556  func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
106557  	return nil, false
106558  }
106559  
106560  // AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106561  func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
106562  	return nil, false
106563  }
106564  
106565  // AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106566  func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
106567  	return nil, false
106568  }
106569  
106570  // AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106571  func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
106572  	return nil, false
106573  }
106574  
106575  // AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106576  func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
106577  	return nil, false
106578  }
106579  
106580  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106581  func (ils ImpalaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
106582  	return nil, false
106583  }
106584  
106585  // AsInformixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106586  func (ils ImpalaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
106587  	return nil, false
106588  }
106589  
106590  // AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106591  func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
106592  	return nil, false
106593  }
106594  
106595  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106596  func (ils ImpalaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
106597  	return nil, false
106598  }
106599  
106600  // AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106601  func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
106602  	return nil, false
106603  }
106604  
106605  // AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106606  func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
106607  	return nil, false
106608  }
106609  
106610  // AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106611  func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
106612  	return nil, false
106613  }
106614  
106615  // AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106616  func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
106617  	return nil, false
106618  }
106619  
106620  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106621  func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
106622  	return nil, false
106623  }
106624  
106625  // AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106626  func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
106627  	return nil, false
106628  }
106629  
106630  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106631  func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
106632  	return nil, false
106633  }
106634  
106635  // AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106636  func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
106637  	return nil, false
106638  }
106639  
106640  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106641  func (ils ImpalaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
106642  	return nil, false
106643  }
106644  
106645  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106646  func (ils ImpalaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
106647  	return nil, false
106648  }
106649  
106650  // AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106651  func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
106652  	return nil, false
106653  }
106654  
106655  // AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106656  func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
106657  	return nil, false
106658  }
106659  
106660  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106661  func (ils ImpalaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
106662  	return nil, false
106663  }
106664  
106665  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106666  func (ils ImpalaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
106667  	return nil, false
106668  }
106669  
106670  // AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106671  func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
106672  	return nil, false
106673  }
106674  
106675  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106676  func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
106677  	return nil, false
106678  }
106679  
106680  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106681  func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
106682  	return nil, false
106683  }
106684  
106685  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106686  func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
106687  	return nil, false
106688  }
106689  
106690  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106691  func (ils ImpalaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
106692  	return nil, false
106693  }
106694  
106695  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106696  func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
106697  	return nil, false
106698  }
106699  
106700  // AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106701  func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
106702  	return nil, false
106703  }
106704  
106705  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106706  func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
106707  	return nil, false
106708  }
106709  
106710  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106711  func (ils ImpalaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
106712  	return nil, false
106713  }
106714  
106715  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106716  func (ils ImpalaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
106717  	return nil, false
106718  }
106719  
106720  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106721  func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
106722  	return nil, false
106723  }
106724  
106725  // AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106726  func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) {
106727  	return nil, false
106728  }
106729  
106730  // AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService.
106731  func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
106732  	return &ils, true
106733  }
106734  
106735  // UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct.
106736  func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error {
106737  	var m map[string]*json.RawMessage
106738  	err := json.Unmarshal(body, &m)
106739  	if err != nil {
106740  		return err
106741  	}
106742  	for k, v := range m {
106743  		switch k {
106744  		case "typeProperties":
106745  			if v != nil {
106746  				var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties
106747  				err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties)
106748  				if err != nil {
106749  					return err
106750  				}
106751  				ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties
106752  			}
106753  		default:
106754  			if v != nil {
106755  				var additionalProperties interface{}
106756  				err = json.Unmarshal(*v, &additionalProperties)
106757  				if err != nil {
106758  					return err
106759  				}
106760  				if ils.AdditionalProperties == nil {
106761  					ils.AdditionalProperties = make(map[string]interface{})
106762  				}
106763  				ils.AdditionalProperties[k] = additionalProperties
106764  			}
106765  		case "connectVia":
106766  			if v != nil {
106767  				var connectVia IntegrationRuntimeReference
106768  				err = json.Unmarshal(*v, &connectVia)
106769  				if err != nil {
106770  					return err
106771  				}
106772  				ils.ConnectVia = &connectVia
106773  			}
106774  		case "description":
106775  			if v != nil {
106776  				var description string
106777  				err = json.Unmarshal(*v, &description)
106778  				if err != nil {
106779  					return err
106780  				}
106781  				ils.Description = &description
106782  			}
106783  		case "parameters":
106784  			if v != nil {
106785  				var parameters map[string]*ParameterSpecification
106786  				err = json.Unmarshal(*v, &parameters)
106787  				if err != nil {
106788  					return err
106789  				}
106790  				ils.Parameters = parameters
106791  			}
106792  		case "annotations":
106793  			if v != nil {
106794  				var annotations []interface{}
106795  				err = json.Unmarshal(*v, &annotations)
106796  				if err != nil {
106797  					return err
106798  				}
106799  				ils.Annotations = &annotations
106800  			}
106801  		case "type":
106802  			if v != nil {
106803  				var typeVar TypeBasicLinkedService
106804  				err = json.Unmarshal(*v, &typeVar)
106805  				if err != nil {
106806  					return err
106807  				}
106808  				ils.Type = typeVar
106809  			}
106810  		}
106811  	}
106812  
106813  	return nil
106814  }
106815  
106816  // ImpalaLinkedServiceTypeProperties impala server linked service properties.
106817  type ImpalaLinkedServiceTypeProperties struct {
106818  	// Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160)
106819  	Host interface{} `json:"host,omitempty"`
106820  	// Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050.
106821  	Port interface{} `json:"port,omitempty"`
106822  	// AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword'
106823  	AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"`
106824  	// Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername.
106825  	Username interface{} `json:"username,omitempty"`
106826  	// Password - The password corresponding to the user name when using UsernameAndPassword.
106827  	Password BasicSecretBase `json:"password,omitempty"`
106828  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
106829  	EnableSsl interface{} `json:"enableSsl,omitempty"`
106830  	// 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.
106831  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
106832  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
106833  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
106834  	// 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.
106835  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
106836  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
106837  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
106838  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
106839  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
106840  }
106841  
106842  // UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct.
106843  func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
106844  	var m map[string]*json.RawMessage
106845  	err := json.Unmarshal(body, &m)
106846  	if err != nil {
106847  		return err
106848  	}
106849  	for k, v := range m {
106850  		switch k {
106851  		case "host":
106852  			if v != nil {
106853  				var host interface{}
106854  				err = json.Unmarshal(*v, &host)
106855  				if err != nil {
106856  					return err
106857  				}
106858  				ilstp.Host = host
106859  			}
106860  		case "port":
106861  			if v != nil {
106862  				var port interface{}
106863  				err = json.Unmarshal(*v, &port)
106864  				if err != nil {
106865  					return err
106866  				}
106867  				ilstp.Port = port
106868  			}
106869  		case "authenticationType":
106870  			if v != nil {
106871  				var authenticationType ImpalaAuthenticationType
106872  				err = json.Unmarshal(*v, &authenticationType)
106873  				if err != nil {
106874  					return err
106875  				}
106876  				ilstp.AuthenticationType = authenticationType
106877  			}
106878  		case "username":
106879  			if v != nil {
106880  				var username interface{}
106881  				err = json.Unmarshal(*v, &username)
106882  				if err != nil {
106883  					return err
106884  				}
106885  				ilstp.Username = username
106886  			}
106887  		case "password":
106888  			if v != nil {
106889  				password, err := unmarshalBasicSecretBase(*v)
106890  				if err != nil {
106891  					return err
106892  				}
106893  				ilstp.Password = password
106894  			}
106895  		case "enableSsl":
106896  			if v != nil {
106897  				var enableSsl interface{}
106898  				err = json.Unmarshal(*v, &enableSsl)
106899  				if err != nil {
106900  					return err
106901  				}
106902  				ilstp.EnableSsl = enableSsl
106903  			}
106904  		case "trustedCertPath":
106905  			if v != nil {
106906  				var trustedCertPath interface{}
106907  				err = json.Unmarshal(*v, &trustedCertPath)
106908  				if err != nil {
106909  					return err
106910  				}
106911  				ilstp.TrustedCertPath = trustedCertPath
106912  			}
106913  		case "useSystemTrustStore":
106914  			if v != nil {
106915  				var useSystemTrustStore interface{}
106916  				err = json.Unmarshal(*v, &useSystemTrustStore)
106917  				if err != nil {
106918  					return err
106919  				}
106920  				ilstp.UseSystemTrustStore = useSystemTrustStore
106921  			}
106922  		case "allowHostNameCNMismatch":
106923  			if v != nil {
106924  				var allowHostNameCNMismatch interface{}
106925  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
106926  				if err != nil {
106927  					return err
106928  				}
106929  				ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
106930  			}
106931  		case "allowSelfSignedServerCert":
106932  			if v != nil {
106933  				var allowSelfSignedServerCert interface{}
106934  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
106935  				if err != nil {
106936  					return err
106937  				}
106938  				ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
106939  			}
106940  		case "encryptedCredential":
106941  			if v != nil {
106942  				var encryptedCredential interface{}
106943  				err = json.Unmarshal(*v, &encryptedCredential)
106944  				if err != nil {
106945  					return err
106946  				}
106947  				ilstp.EncryptedCredential = encryptedCredential
106948  			}
106949  		}
106950  	}
106951  
106952  	return nil
106953  }
106954  
106955  // ImpalaObjectDataset impala server dataset.
106956  type ImpalaObjectDataset struct {
106957  	// ImpalaDatasetTypeProperties - Properties specific to this dataset type.
106958  	*ImpalaDatasetTypeProperties `json:"typeProperties,omitempty"`
106959  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
106960  	AdditionalProperties map[string]interface{} `json:""`
106961  	// Description - Dataset description.
106962  	Description *string `json:"description,omitempty"`
106963  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
106964  	Structure interface{} `json:"structure,omitempty"`
106965  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
106966  	Schema interface{} `json:"schema,omitempty"`
106967  	// LinkedServiceName - Linked service reference.
106968  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
106969  	// Parameters - Parameters for dataset.
106970  	Parameters map[string]*ParameterSpecification `json:"parameters"`
106971  	// Annotations - List of tags that can be used for describing the Dataset.
106972  	Annotations *[]interface{} `json:"annotations,omitempty"`
106973  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
106974  	Folder *DatasetFolder `json:"folder,omitempty"`
106975  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
106976  	Type TypeBasicDataset `json:"type,omitempty"`
106977  }
106978  
106979  // MarshalJSON is the custom marshaler for ImpalaObjectDataset.
106980  func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) {
106981  	iod.Type = TypeImpalaObject
106982  	objectMap := make(map[string]interface{})
106983  	if iod.ImpalaDatasetTypeProperties != nil {
106984  		objectMap["typeProperties"] = iod.ImpalaDatasetTypeProperties
106985  	}
106986  	if iod.Description != nil {
106987  		objectMap["description"] = iod.Description
106988  	}
106989  	if iod.Structure != nil {
106990  		objectMap["structure"] = iod.Structure
106991  	}
106992  	if iod.Schema != nil {
106993  		objectMap["schema"] = iod.Schema
106994  	}
106995  	if iod.LinkedServiceName != nil {
106996  		objectMap["linkedServiceName"] = iod.LinkedServiceName
106997  	}
106998  	if iod.Parameters != nil {
106999  		objectMap["parameters"] = iod.Parameters
107000  	}
107001  	if iod.Annotations != nil {
107002  		objectMap["annotations"] = iod.Annotations
107003  	}
107004  	if iod.Folder != nil {
107005  		objectMap["folder"] = iod.Folder
107006  	}
107007  	if iod.Type != "" {
107008  		objectMap["type"] = iod.Type
107009  	}
107010  	for k, v := range iod.AdditionalProperties {
107011  		objectMap[k] = v
107012  	}
107013  	return json.Marshal(objectMap)
107014  }
107015  
107016  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107017  func (iod ImpalaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
107018  	return nil, false
107019  }
107020  
107021  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107022  func (iod ImpalaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
107023  	return nil, false
107024  }
107025  
107026  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107027  func (iod ImpalaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
107028  	return nil, false
107029  }
107030  
107031  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107032  func (iod ImpalaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
107033  	return nil, false
107034  }
107035  
107036  // AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107037  func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
107038  	return nil, false
107039  }
107040  
107041  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107042  func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
107043  	return nil, false
107044  }
107045  
107046  // AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107047  func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
107048  	return nil, false
107049  }
107050  
107051  // AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107052  func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
107053  	return nil, false
107054  }
107055  
107056  // AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107057  func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
107058  	return nil, false
107059  }
107060  
107061  // AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107062  func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
107063  	return nil, false
107064  }
107065  
107066  // AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107067  func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
107068  	return nil, false
107069  }
107070  
107071  // AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107072  func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
107073  	return nil, false
107074  }
107075  
107076  // AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107077  func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
107078  	return nil, false
107079  }
107080  
107081  // AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107082  func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
107083  	return nil, false
107084  }
107085  
107086  // AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107087  func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
107088  	return nil, false
107089  }
107090  
107091  // AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107092  func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
107093  	return nil, false
107094  }
107095  
107096  // AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107097  func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
107098  	return nil, false
107099  }
107100  
107101  // AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107102  func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
107103  	return nil, false
107104  }
107105  
107106  // AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107107  func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
107108  	return nil, false
107109  }
107110  
107111  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107112  func (iod ImpalaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
107113  	return nil, false
107114  }
107115  
107116  // AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107117  func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
107118  	return nil, false
107119  }
107120  
107121  // AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107122  func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
107123  	return nil, false
107124  }
107125  
107126  // AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107127  func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
107128  	return nil, false
107129  }
107130  
107131  // AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107132  func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
107133  	return &iod, true
107134  }
107135  
107136  // AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107137  func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
107138  	return nil, false
107139  }
107140  
107141  // AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107142  func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
107143  	return nil, false
107144  }
107145  
107146  // AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107147  func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
107148  	return nil, false
107149  }
107150  
107151  // AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107152  func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
107153  	return nil, false
107154  }
107155  
107156  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107157  func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
107158  	return nil, false
107159  }
107160  
107161  // AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107162  func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
107163  	return nil, false
107164  }
107165  
107166  // AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107167  func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
107168  	return nil, false
107169  }
107170  
107171  // AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107172  func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
107173  	return nil, false
107174  }
107175  
107176  // AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107177  func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
107178  	return nil, false
107179  }
107180  
107181  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107182  func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
107183  	return nil, false
107184  }
107185  
107186  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107187  func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
107188  	return nil, false
107189  }
107190  
107191  // AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset.
107192  func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
107193  	return nil, false
107194  }
107195  
107196  // AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107197  func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
107198  	return nil, false
107199  }
107200  
107201  // AsSapTableResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107202  func (iod ImpalaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
107203  	return nil, false
107204  }
107205  
107206  // AsRestResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107207  func (iod ImpalaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
107208  	return nil, false
107209  }
107210  
107211  // AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107212  func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
107213  	return nil, false
107214  }
107215  
107216  // AsSapOpenHubTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107217  func (iod ImpalaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
107218  	return nil, false
107219  }
107220  
107221  // AsSapHanaTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107222  func (iod ImpalaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
107223  	return nil, false
107224  }
107225  
107226  // AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107227  func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
107228  	return nil, false
107229  }
107230  
107231  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107232  func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
107233  	return nil, false
107234  }
107235  
107236  // AsSapBwCubeDataset is the BasicDataset implementation for ImpalaObjectDataset.
107237  func (iod ImpalaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
107238  	return nil, false
107239  }
107240  
107241  // AsSybaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107242  func (iod ImpalaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
107243  	return nil, false
107244  }
107245  
107246  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107247  func (iod ImpalaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
107248  	return nil, false
107249  }
107250  
107251  // AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset.
107252  func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
107253  	return nil, false
107254  }
107255  
107256  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107257  func (iod ImpalaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
107258  	return nil, false
107259  }
107260  
107261  // AsPostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107262  func (iod ImpalaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
107263  	return nil, false
107264  }
107265  
107266  // AsMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107267  func (iod ImpalaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
107268  	return nil, false
107269  }
107270  
107271  // AsOdbcTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107272  func (iod ImpalaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
107273  	return nil, false
107274  }
107275  
107276  // AsInformixTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107277  func (iod ImpalaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
107278  	return nil, false
107279  }
107280  
107281  // AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107282  func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
107283  	return nil, false
107284  }
107285  
107286  // AsDb2TableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107287  func (iod ImpalaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
107288  	return nil, false
107289  }
107290  
107291  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107292  func (iod ImpalaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
107293  	return nil, false
107294  }
107295  
107296  // AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107297  func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
107298  	return nil, false
107299  }
107300  
107301  // AsTeradataTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107302  func (iod ImpalaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
107303  	return nil, false
107304  }
107305  
107306  // AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107307  func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
107308  	return nil, false
107309  }
107310  
107311  // AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset.
107312  func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
107313  	return nil, false
107314  }
107315  
107316  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
107317  func (iod ImpalaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
107318  	return nil, false
107319  }
107320  
107321  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
107322  func (iod ImpalaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
107323  	return nil, false
107324  }
107325  
107326  // AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
107327  func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
107328  	return nil, false
107329  }
107330  
107331  // AsOffice365Dataset is the BasicDataset implementation for ImpalaObjectDataset.
107332  func (iod ImpalaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
107333  	return nil, false
107334  }
107335  
107336  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
107337  func (iod ImpalaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
107338  	return nil, false
107339  }
107340  
107341  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
107342  func (iod ImpalaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
107343  	return nil, false
107344  }
107345  
107346  // AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset.
107347  func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
107348  	return nil, false
107349  }
107350  
107351  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
107352  func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
107353  	return nil, false
107354  }
107355  
107356  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset.
107357  func (iod ImpalaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
107358  	return nil, false
107359  }
107360  
107361  // AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset.
107362  func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
107363  	return nil, false
107364  }
107365  
107366  // AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107367  func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
107368  	return nil, false
107369  }
107370  
107371  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107372  func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
107373  	return nil, false
107374  }
107375  
107376  // AsAzureSQLMITableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107377  func (iod ImpalaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
107378  	return nil, false
107379  }
107380  
107381  // AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107382  func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
107383  	return nil, false
107384  }
107385  
107386  // AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset.
107387  func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
107388  	return nil, false
107389  }
107390  
107391  // AsBinaryDataset is the BasicDataset implementation for ImpalaObjectDataset.
107392  func (iod ImpalaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
107393  	return nil, false
107394  }
107395  
107396  // AsOrcDataset is the BasicDataset implementation for ImpalaObjectDataset.
107397  func (iod ImpalaObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
107398  	return nil, false
107399  }
107400  
107401  // AsJSONDataset is the BasicDataset implementation for ImpalaObjectDataset.
107402  func (iod ImpalaObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
107403  	return nil, false
107404  }
107405  
107406  // AsDelimitedTextDataset is the BasicDataset implementation for ImpalaObjectDataset.
107407  func (iod ImpalaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
107408  	return nil, false
107409  }
107410  
107411  // AsParquetDataset is the BasicDataset implementation for ImpalaObjectDataset.
107412  func (iod ImpalaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
107413  	return nil, false
107414  }
107415  
107416  // AsAvroDataset is the BasicDataset implementation for ImpalaObjectDataset.
107417  func (iod ImpalaObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
107418  	return nil, false
107419  }
107420  
107421  // AsDataset is the BasicDataset implementation for ImpalaObjectDataset.
107422  func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) {
107423  	return nil, false
107424  }
107425  
107426  // AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset.
107427  func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) {
107428  	return &iod, true
107429  }
107430  
107431  // UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct.
107432  func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error {
107433  	var m map[string]*json.RawMessage
107434  	err := json.Unmarshal(body, &m)
107435  	if err != nil {
107436  		return err
107437  	}
107438  	for k, v := range m {
107439  		switch k {
107440  		case "typeProperties":
107441  			if v != nil {
107442  				var impalaDatasetTypeProperties ImpalaDatasetTypeProperties
107443  				err = json.Unmarshal(*v, &impalaDatasetTypeProperties)
107444  				if err != nil {
107445  					return err
107446  				}
107447  				iod.ImpalaDatasetTypeProperties = &impalaDatasetTypeProperties
107448  			}
107449  		default:
107450  			if v != nil {
107451  				var additionalProperties interface{}
107452  				err = json.Unmarshal(*v, &additionalProperties)
107453  				if err != nil {
107454  					return err
107455  				}
107456  				if iod.AdditionalProperties == nil {
107457  					iod.AdditionalProperties = make(map[string]interface{})
107458  				}
107459  				iod.AdditionalProperties[k] = additionalProperties
107460  			}
107461  		case "description":
107462  			if v != nil {
107463  				var description string
107464  				err = json.Unmarshal(*v, &description)
107465  				if err != nil {
107466  					return err
107467  				}
107468  				iod.Description = &description
107469  			}
107470  		case "structure":
107471  			if v != nil {
107472  				var structure interface{}
107473  				err = json.Unmarshal(*v, &structure)
107474  				if err != nil {
107475  					return err
107476  				}
107477  				iod.Structure = structure
107478  			}
107479  		case "schema":
107480  			if v != nil {
107481  				var schema interface{}
107482  				err = json.Unmarshal(*v, &schema)
107483  				if err != nil {
107484  					return err
107485  				}
107486  				iod.Schema = schema
107487  			}
107488  		case "linkedServiceName":
107489  			if v != nil {
107490  				var linkedServiceName LinkedServiceReference
107491  				err = json.Unmarshal(*v, &linkedServiceName)
107492  				if err != nil {
107493  					return err
107494  				}
107495  				iod.LinkedServiceName = &linkedServiceName
107496  			}
107497  		case "parameters":
107498  			if v != nil {
107499  				var parameters map[string]*ParameterSpecification
107500  				err = json.Unmarshal(*v, &parameters)
107501  				if err != nil {
107502  					return err
107503  				}
107504  				iod.Parameters = parameters
107505  			}
107506  		case "annotations":
107507  			if v != nil {
107508  				var annotations []interface{}
107509  				err = json.Unmarshal(*v, &annotations)
107510  				if err != nil {
107511  					return err
107512  				}
107513  				iod.Annotations = &annotations
107514  			}
107515  		case "folder":
107516  			if v != nil {
107517  				var folder DatasetFolder
107518  				err = json.Unmarshal(*v, &folder)
107519  				if err != nil {
107520  					return err
107521  				}
107522  				iod.Folder = &folder
107523  			}
107524  		case "type":
107525  			if v != nil {
107526  				var typeVar TypeBasicDataset
107527  				err = json.Unmarshal(*v, &typeVar)
107528  				if err != nil {
107529  					return err
107530  				}
107531  				iod.Type = typeVar
107532  			}
107533  		}
107534  	}
107535  
107536  	return nil
107537  }
107538  
107539  // ImpalaSource a copy activity Impala server source.
107540  type ImpalaSource struct {
107541  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
107542  	Query interface{} `json:"query,omitempty"`
107543  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
107544  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
107545  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
107546  	AdditionalProperties map[string]interface{} `json:""`
107547  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
107548  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
107549  	// 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])).
107550  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
107551  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
107552  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
107553  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
107554  	Type TypeBasicCopySource `json:"type,omitempty"`
107555  }
107556  
107557  // MarshalJSON is the custom marshaler for ImpalaSource.
107558  func (is ImpalaSource) MarshalJSON() ([]byte, error) {
107559  	is.Type = TypeImpalaSource
107560  	objectMap := make(map[string]interface{})
107561  	if is.Query != nil {
107562  		objectMap["query"] = is.Query
107563  	}
107564  	if is.QueryTimeout != nil {
107565  		objectMap["queryTimeout"] = is.QueryTimeout
107566  	}
107567  	if is.SourceRetryCount != nil {
107568  		objectMap["sourceRetryCount"] = is.SourceRetryCount
107569  	}
107570  	if is.SourceRetryWait != nil {
107571  		objectMap["sourceRetryWait"] = is.SourceRetryWait
107572  	}
107573  	if is.MaxConcurrentConnections != nil {
107574  		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
107575  	}
107576  	if is.Type != "" {
107577  		objectMap["type"] = is.Type
107578  	}
107579  	for k, v := range is.AdditionalProperties {
107580  		objectMap[k] = v
107581  	}
107582  	return json.Marshal(objectMap)
107583  }
107584  
107585  // AsHTTPSource is the BasicCopySource implementation for ImpalaSource.
107586  func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) {
107587  	return nil, false
107588  }
107589  
107590  // AsAzureBlobFSSource is the BasicCopySource implementation for ImpalaSource.
107591  func (is ImpalaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
107592  	return nil, false
107593  }
107594  
107595  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource.
107596  func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
107597  	return nil, false
107598  }
107599  
107600  // AsOffice365Source is the BasicCopySource implementation for ImpalaSource.
107601  func (is ImpalaSource) AsOffice365Source() (*Office365Source, bool) {
107602  	return nil, false
107603  }
107604  
107605  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ImpalaSource.
107606  func (is ImpalaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
107607  	return nil, false
107608  }
107609  
107610  // AsMongoDbV2Source is the BasicCopySource implementation for ImpalaSource.
107611  func (is ImpalaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
107612  	return nil, false
107613  }
107614  
107615  // AsMongoDbSource is the BasicCopySource implementation for ImpalaSource.
107616  func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) {
107617  	return nil, false
107618  }
107619  
107620  // AsWebSource is the BasicCopySource implementation for ImpalaSource.
107621  func (is ImpalaSource) AsWebSource() (*WebSource, bool) {
107622  	return nil, false
107623  }
107624  
107625  // AsOracleSource is the BasicCopySource implementation for ImpalaSource.
107626  func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) {
107627  	return nil, false
107628  }
107629  
107630  // AsAzureDataExplorerSource is the BasicCopySource implementation for ImpalaSource.
107631  func (is ImpalaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
107632  	return nil, false
107633  }
107634  
107635  // AsHdfsSource is the BasicCopySource implementation for ImpalaSource.
107636  func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) {
107637  	return nil, false
107638  }
107639  
107640  // AsFileSystemSource is the BasicCopySource implementation for ImpalaSource.
107641  func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) {
107642  	return nil, false
107643  }
107644  
107645  // AsRestSource is the BasicCopySource implementation for ImpalaSource.
107646  func (is ImpalaSource) AsRestSource() (*RestSource, bool) {
107647  	return nil, false
107648  }
107649  
107650  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ImpalaSource.
107651  func (is ImpalaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
107652  	return nil, false
107653  }
107654  
107655  // AsODataSource is the BasicCopySource implementation for ImpalaSource.
107656  func (is ImpalaSource) AsODataSource() (*ODataSource, bool) {
107657  	return nil, false
107658  }
107659  
107660  // AsMicrosoftAccessSource is the BasicCopySource implementation for ImpalaSource.
107661  func (is ImpalaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
107662  	return nil, false
107663  }
107664  
107665  // AsRelationalSource is the BasicCopySource implementation for ImpalaSource.
107666  func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) {
107667  	return nil, false
107668  }
107669  
107670  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ImpalaSource.
107671  func (is ImpalaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
107672  	return nil, false
107673  }
107674  
107675  // AsDynamicsCrmSource is the BasicCopySource implementation for ImpalaSource.
107676  func (is ImpalaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
107677  	return nil, false
107678  }
107679  
107680  // AsDynamicsSource is the BasicCopySource implementation for ImpalaSource.
107681  func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) {
107682  	return nil, false
107683  }
107684  
107685  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ImpalaSource.
107686  func (is ImpalaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
107687  	return nil, false
107688  }
107689  
107690  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource.
107691  func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
107692  	return nil, false
107693  }
107694  
107695  // AsBlobSource is the BasicCopySource implementation for ImpalaSource.
107696  func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) {
107697  	return nil, false
107698  }
107699  
107700  // AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource.
107701  func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
107702  	return nil, false
107703  }
107704  
107705  // AsGoogleAdWordsSource is the BasicCopySource implementation for ImpalaSource.
107706  func (is ImpalaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
107707  	return nil, false
107708  }
107709  
107710  // AsOracleServiceCloudSource is the BasicCopySource implementation for ImpalaSource.
107711  func (is ImpalaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
107712  	return nil, false
107713  }
107714  
107715  // AsDynamicsAXSource is the BasicCopySource implementation for ImpalaSource.
107716  func (is ImpalaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
107717  	return nil, false
107718  }
107719  
107720  // AsResponsysSource is the BasicCopySource implementation for ImpalaSource.
107721  func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) {
107722  	return nil, false
107723  }
107724  
107725  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource.
107726  func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
107727  	return nil, false
107728  }
107729  
107730  // AsVerticaSource is the BasicCopySource implementation for ImpalaSource.
107731  func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) {
107732  	return nil, false
107733  }
107734  
107735  // AsNetezzaSource is the BasicCopySource implementation for ImpalaSource.
107736  func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) {
107737  	return nil, false
107738  }
107739  
107740  // AsZohoSource is the BasicCopySource implementation for ImpalaSource.
107741  func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) {
107742  	return nil, false
107743  }
107744  
107745  // AsXeroSource is the BasicCopySource implementation for ImpalaSource.
107746  func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) {
107747  	return nil, false
107748  }
107749  
107750  // AsSquareSource is the BasicCopySource implementation for ImpalaSource.
107751  func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) {
107752  	return nil, false
107753  }
107754  
107755  // AsSparkSource is the BasicCopySource implementation for ImpalaSource.
107756  func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) {
107757  	return nil, false
107758  }
107759  
107760  // AsShopifySource is the BasicCopySource implementation for ImpalaSource.
107761  func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) {
107762  	return nil, false
107763  }
107764  
107765  // AsServiceNowSource is the BasicCopySource implementation for ImpalaSource.
107766  func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
107767  	return nil, false
107768  }
107769  
107770  // AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource.
107771  func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
107772  	return nil, false
107773  }
107774  
107775  // AsPrestoSource is the BasicCopySource implementation for ImpalaSource.
107776  func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) {
107777  	return nil, false
107778  }
107779  
107780  // AsPhoenixSource is the BasicCopySource implementation for ImpalaSource.
107781  func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) {
107782  	return nil, false
107783  }
107784  
107785  // AsPaypalSource is the BasicCopySource implementation for ImpalaSource.
107786  func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) {
107787  	return nil, false
107788  }
107789  
107790  // AsMarketoSource is the BasicCopySource implementation for ImpalaSource.
107791  func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) {
107792  	return nil, false
107793  }
107794  
107795  // AsAzureMariaDBSource is the BasicCopySource implementation for ImpalaSource.
107796  func (is ImpalaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
107797  	return nil, false
107798  }
107799  
107800  // AsMariaDBSource is the BasicCopySource implementation for ImpalaSource.
107801  func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) {
107802  	return nil, false
107803  }
107804  
107805  // AsMagentoSource is the BasicCopySource implementation for ImpalaSource.
107806  func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) {
107807  	return nil, false
107808  }
107809  
107810  // AsJiraSource is the BasicCopySource implementation for ImpalaSource.
107811  func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) {
107812  	return nil, false
107813  }
107814  
107815  // AsImpalaSource is the BasicCopySource implementation for ImpalaSource.
107816  func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) {
107817  	return &is, true
107818  }
107819  
107820  // AsHubspotSource is the BasicCopySource implementation for ImpalaSource.
107821  func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) {
107822  	return nil, false
107823  }
107824  
107825  // AsHiveSource is the BasicCopySource implementation for ImpalaSource.
107826  func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) {
107827  	return nil, false
107828  }
107829  
107830  // AsHBaseSource is the BasicCopySource implementation for ImpalaSource.
107831  func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) {
107832  	return nil, false
107833  }
107834  
107835  // AsGreenplumSource is the BasicCopySource implementation for ImpalaSource.
107836  func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) {
107837  	return nil, false
107838  }
107839  
107840  // AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource.
107841  func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
107842  	return nil, false
107843  }
107844  
107845  // AsEloquaSource is the BasicCopySource implementation for ImpalaSource.
107846  func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) {
107847  	return nil, false
107848  }
107849  
107850  // AsDrillSource is the BasicCopySource implementation for ImpalaSource.
107851  func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) {
107852  	return nil, false
107853  }
107854  
107855  // AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource.
107856  func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
107857  	return nil, false
107858  }
107859  
107860  // AsConcurSource is the BasicCopySource implementation for ImpalaSource.
107861  func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) {
107862  	return nil, false
107863  }
107864  
107865  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
107866  func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
107867  	return nil, false
107868  }
107869  
107870  // AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource.
107871  func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
107872  	return nil, false
107873  }
107874  
107875  // AsCassandraSource is the BasicCopySource implementation for ImpalaSource.
107876  func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) {
107877  	return nil, false
107878  }
107879  
107880  // AsTeradataSource is the BasicCopySource implementation for ImpalaSource.
107881  func (is ImpalaSource) AsTeradataSource() (*TeradataSource, bool) {
107882  	return nil, false
107883  }
107884  
107885  // AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource.
107886  func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
107887  	return nil, false
107888  }
107889  
107890  // AsSQLDWSource is the BasicCopySource implementation for ImpalaSource.
107891  func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) {
107892  	return nil, false
107893  }
107894  
107895  // AsSQLMISource is the BasicCopySource implementation for ImpalaSource.
107896  func (is ImpalaSource) AsSQLMISource() (*SQLMISource, bool) {
107897  	return nil, false
107898  }
107899  
107900  // AsAzureSQLSource is the BasicCopySource implementation for ImpalaSource.
107901  func (is ImpalaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
107902  	return nil, false
107903  }
107904  
107905  // AsSQLServerSource is the BasicCopySource implementation for ImpalaSource.
107906  func (is ImpalaSource) AsSQLServerSource() (*SQLServerSource, bool) {
107907  	return nil, false
107908  }
107909  
107910  // AsSQLSource is the BasicCopySource implementation for ImpalaSource.
107911  func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) {
107912  	return nil, false
107913  }
107914  
107915  // AsSapTableSource is the BasicCopySource implementation for ImpalaSource.
107916  func (is ImpalaSource) AsSapTableSource() (*SapTableSource, bool) {
107917  	return nil, false
107918  }
107919  
107920  // AsSapOpenHubSource is the BasicCopySource implementation for ImpalaSource.
107921  func (is ImpalaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
107922  	return nil, false
107923  }
107924  
107925  // AsSapHanaSource is the BasicCopySource implementation for ImpalaSource.
107926  func (is ImpalaSource) AsSapHanaSource() (*SapHanaSource, bool) {
107927  	return nil, false
107928  }
107929  
107930  // AsSapEccSource is the BasicCopySource implementation for ImpalaSource.
107931  func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) {
107932  	return nil, false
107933  }
107934  
107935  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource.
107936  func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
107937  	return nil, false
107938  }
107939  
107940  // AsSalesforceSource is the BasicCopySource implementation for ImpalaSource.
107941  func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) {
107942  	return nil, false
107943  }
107944  
107945  // AsSapBwSource is the BasicCopySource implementation for ImpalaSource.
107946  func (is ImpalaSource) AsSapBwSource() (*SapBwSource, bool) {
107947  	return nil, false
107948  }
107949  
107950  // AsSybaseSource is the BasicCopySource implementation for ImpalaSource.
107951  func (is ImpalaSource) AsSybaseSource() (*SybaseSource, bool) {
107952  	return nil, false
107953  }
107954  
107955  // AsPostgreSQLSource is the BasicCopySource implementation for ImpalaSource.
107956  func (is ImpalaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
107957  	return nil, false
107958  }
107959  
107960  // AsMySQLSource is the BasicCopySource implementation for ImpalaSource.
107961  func (is ImpalaSource) AsMySQLSource() (*MySQLSource, bool) {
107962  	return nil, false
107963  }
107964  
107965  // AsOdbcSource is the BasicCopySource implementation for ImpalaSource.
107966  func (is ImpalaSource) AsOdbcSource() (*OdbcSource, bool) {
107967  	return nil, false
107968  }
107969  
107970  // AsDb2Source is the BasicCopySource implementation for ImpalaSource.
107971  func (is ImpalaSource) AsDb2Source() (*Db2Source, bool) {
107972  	return nil, false
107973  }
107974  
107975  // AsInformixSource is the BasicCopySource implementation for ImpalaSource.
107976  func (is ImpalaSource) AsInformixSource() (*InformixSource, bool) {
107977  	return nil, false
107978  }
107979  
107980  // AsAzureTableSource is the BasicCopySource implementation for ImpalaSource.
107981  func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) {
107982  	return nil, false
107983  }
107984  
107985  // AsTabularSource is the BasicCopySource implementation for ImpalaSource.
107986  func (is ImpalaSource) AsTabularSource() (*TabularSource, bool) {
107987  	return nil, false
107988  }
107989  
107990  // AsBasicTabularSource is the BasicCopySource implementation for ImpalaSource.
107991  func (is ImpalaSource) AsBasicTabularSource() (BasicTabularSource, bool) {
107992  	return &is, true
107993  }
107994  
107995  // AsBinarySource is the BasicCopySource implementation for ImpalaSource.
107996  func (is ImpalaSource) AsBinarySource() (*BinarySource, bool) {
107997  	return nil, false
107998  }
107999  
108000  // AsOrcSource is the BasicCopySource implementation for ImpalaSource.
108001  func (is ImpalaSource) AsOrcSource() (*OrcSource, bool) {
108002  	return nil, false
108003  }
108004  
108005  // AsJSONSource is the BasicCopySource implementation for ImpalaSource.
108006  func (is ImpalaSource) AsJSONSource() (*JSONSource, bool) {
108007  	return nil, false
108008  }
108009  
108010  // AsDelimitedTextSource is the BasicCopySource implementation for ImpalaSource.
108011  func (is ImpalaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
108012  	return nil, false
108013  }
108014  
108015  // AsParquetSource is the BasicCopySource implementation for ImpalaSource.
108016  func (is ImpalaSource) AsParquetSource() (*ParquetSource, bool) {
108017  	return nil, false
108018  }
108019  
108020  // AsAvroSource is the BasicCopySource implementation for ImpalaSource.
108021  func (is ImpalaSource) AsAvroSource() (*AvroSource, bool) {
108022  	return nil, false
108023  }
108024  
108025  // AsCopySource is the BasicCopySource implementation for ImpalaSource.
108026  func (is ImpalaSource) AsCopySource() (*CopySource, bool) {
108027  	return nil, false
108028  }
108029  
108030  // AsBasicCopySource is the BasicCopySource implementation for ImpalaSource.
108031  func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) {
108032  	return &is, true
108033  }
108034  
108035  // UnmarshalJSON is the custom unmarshaler for ImpalaSource struct.
108036  func (is *ImpalaSource) UnmarshalJSON(body []byte) error {
108037  	var m map[string]*json.RawMessage
108038  	err := json.Unmarshal(body, &m)
108039  	if err != nil {
108040  		return err
108041  	}
108042  	for k, v := range m {
108043  		switch k {
108044  		case "query":
108045  			if v != nil {
108046  				var query interface{}
108047  				err = json.Unmarshal(*v, &query)
108048  				if err != nil {
108049  					return err
108050  				}
108051  				is.Query = query
108052  			}
108053  		case "queryTimeout":
108054  			if v != nil {
108055  				var queryTimeout interface{}
108056  				err = json.Unmarshal(*v, &queryTimeout)
108057  				if err != nil {
108058  					return err
108059  				}
108060  				is.QueryTimeout = queryTimeout
108061  			}
108062  		default:
108063  			if v != nil {
108064  				var additionalProperties interface{}
108065  				err = json.Unmarshal(*v, &additionalProperties)
108066  				if err != nil {
108067  					return err
108068  				}
108069  				if is.AdditionalProperties == nil {
108070  					is.AdditionalProperties = make(map[string]interface{})
108071  				}
108072  				is.AdditionalProperties[k] = additionalProperties
108073  			}
108074  		case "sourceRetryCount":
108075  			if v != nil {
108076  				var sourceRetryCount interface{}
108077  				err = json.Unmarshal(*v, &sourceRetryCount)
108078  				if err != nil {
108079  					return err
108080  				}
108081  				is.SourceRetryCount = sourceRetryCount
108082  			}
108083  		case "sourceRetryWait":
108084  			if v != nil {
108085  				var sourceRetryWait interface{}
108086  				err = json.Unmarshal(*v, &sourceRetryWait)
108087  				if err != nil {
108088  					return err
108089  				}
108090  				is.SourceRetryWait = sourceRetryWait
108091  			}
108092  		case "maxConcurrentConnections":
108093  			if v != nil {
108094  				var maxConcurrentConnections interface{}
108095  				err = json.Unmarshal(*v, &maxConcurrentConnections)
108096  				if err != nil {
108097  					return err
108098  				}
108099  				is.MaxConcurrentConnections = maxConcurrentConnections
108100  			}
108101  		case "type":
108102  			if v != nil {
108103  				var typeVar TypeBasicCopySource
108104  				err = json.Unmarshal(*v, &typeVar)
108105  				if err != nil {
108106  					return err
108107  				}
108108  				is.Type = typeVar
108109  			}
108110  		}
108111  	}
108112  
108113  	return nil
108114  }
108115  
108116  // InformixLinkedService informix linked service.
108117  type InformixLinkedService struct {
108118  	// InformixLinkedServiceTypeProperties - Informix linked service properties.
108119  	*InformixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
108120  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
108121  	AdditionalProperties map[string]interface{} `json:""`
108122  	// ConnectVia - The integration runtime reference.
108123  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
108124  	// Description - Linked service description.
108125  	Description *string `json:"description,omitempty"`
108126  	// Parameters - Parameters for linked service.
108127  	Parameters map[string]*ParameterSpecification `json:"parameters"`
108128  	// Annotations - List of tags that can be used for describing the linked service.
108129  	Annotations *[]interface{} `json:"annotations,omitempty"`
108130  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
108131  	Type TypeBasicLinkedService `json:"type,omitempty"`
108132  }
108133  
108134  // MarshalJSON is the custom marshaler for InformixLinkedService.
108135  func (ils InformixLinkedService) MarshalJSON() ([]byte, error) {
108136  	ils.Type = TypeInformix
108137  	objectMap := make(map[string]interface{})
108138  	if ils.InformixLinkedServiceTypeProperties != nil {
108139  		objectMap["typeProperties"] = ils.InformixLinkedServiceTypeProperties
108140  	}
108141  	if ils.ConnectVia != nil {
108142  		objectMap["connectVia"] = ils.ConnectVia
108143  	}
108144  	if ils.Description != nil {
108145  		objectMap["description"] = ils.Description
108146  	}
108147  	if ils.Parameters != nil {
108148  		objectMap["parameters"] = ils.Parameters
108149  	}
108150  	if ils.Annotations != nil {
108151  		objectMap["annotations"] = ils.Annotations
108152  	}
108153  	if ils.Type != "" {
108154  		objectMap["type"] = ils.Type
108155  	}
108156  	for k, v := range ils.AdditionalProperties {
108157  		objectMap[k] = v
108158  	}
108159  	return json.Marshal(objectMap)
108160  }
108161  
108162  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108163  func (ils InformixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
108164  	return nil, false
108165  }
108166  
108167  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108168  func (ils InformixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
108169  	return nil, false
108170  }
108171  
108172  // AsSapTableLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108173  func (ils InformixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
108174  	return nil, false
108175  }
108176  
108177  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108178  func (ils InformixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
108179  	return nil, false
108180  }
108181  
108182  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108183  func (ils InformixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
108184  	return nil, false
108185  }
108186  
108187  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108188  func (ils InformixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
108189  	return nil, false
108190  }
108191  
108192  // AsResponsysLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108193  func (ils InformixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
108194  	return nil, false
108195  }
108196  
108197  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108198  func (ils InformixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
108199  	return nil, false
108200  }
108201  
108202  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108203  func (ils InformixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
108204  	return nil, false
108205  }
108206  
108207  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108208  func (ils InformixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
108209  	return nil, false
108210  }
108211  
108212  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108213  func (ils InformixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
108214  	return nil, false
108215  }
108216  
108217  // AsNetezzaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108218  func (ils InformixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
108219  	return nil, false
108220  }
108221  
108222  // AsVerticaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108223  func (ils InformixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
108224  	return nil, false
108225  }
108226  
108227  // AsZohoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108228  func (ils InformixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
108229  	return nil, false
108230  }
108231  
108232  // AsXeroLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108233  func (ils InformixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
108234  	return nil, false
108235  }
108236  
108237  // AsSquareLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108238  func (ils InformixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
108239  	return nil, false
108240  }
108241  
108242  // AsSparkLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108243  func (ils InformixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
108244  	return nil, false
108245  }
108246  
108247  // AsShopifyLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108248  func (ils InformixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
108249  	return nil, false
108250  }
108251  
108252  // AsServiceNowLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108253  func (ils InformixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
108254  	return nil, false
108255  }
108256  
108257  // AsQuickBooksLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108258  func (ils InformixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
108259  	return nil, false
108260  }
108261  
108262  // AsPrestoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108263  func (ils InformixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
108264  	return nil, false
108265  }
108266  
108267  // AsPhoenixLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108268  func (ils InformixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
108269  	return nil, false
108270  }
108271  
108272  // AsPaypalLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108273  func (ils InformixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
108274  	return nil, false
108275  }
108276  
108277  // AsMarketoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108278  func (ils InformixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
108279  	return nil, false
108280  }
108281  
108282  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108283  func (ils InformixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
108284  	return nil, false
108285  }
108286  
108287  // AsMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108288  func (ils InformixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
108289  	return nil, false
108290  }
108291  
108292  // AsMagentoLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108293  func (ils InformixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
108294  	return nil, false
108295  }
108296  
108297  // AsJiraLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108298  func (ils InformixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
108299  	return nil, false
108300  }
108301  
108302  // AsImpalaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108303  func (ils InformixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
108304  	return nil, false
108305  }
108306  
108307  // AsHubspotLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108308  func (ils InformixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
108309  	return nil, false
108310  }
108311  
108312  // AsHiveLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108313  func (ils InformixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
108314  	return nil, false
108315  }
108316  
108317  // AsHBaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108318  func (ils InformixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
108319  	return nil, false
108320  }
108321  
108322  // AsGreenplumLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108323  func (ils InformixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
108324  	return nil, false
108325  }
108326  
108327  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108328  func (ils InformixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
108329  	return nil, false
108330  }
108331  
108332  // AsEloquaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108333  func (ils InformixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
108334  	return nil, false
108335  }
108336  
108337  // AsDrillLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108338  func (ils InformixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
108339  	return nil, false
108340  }
108341  
108342  // AsCouchbaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108343  func (ils InformixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
108344  	return nil, false
108345  }
108346  
108347  // AsConcurLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108348  func (ils InformixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
108349  	return nil, false
108350  }
108351  
108352  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108353  func (ils InformixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
108354  	return nil, false
108355  }
108356  
108357  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108358  func (ils InformixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
108359  	return nil, false
108360  }
108361  
108362  // AsSapHanaLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108363  func (ils InformixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
108364  	return nil, false
108365  }
108366  
108367  // AsSapBWLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108368  func (ils InformixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
108369  	return nil, false
108370  }
108371  
108372  // AsSftpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108373  func (ils InformixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
108374  	return nil, false
108375  }
108376  
108377  // AsFtpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108378  func (ils InformixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
108379  	return nil, false
108380  }
108381  
108382  // AsHTTPLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108383  func (ils InformixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
108384  	return nil, false
108385  }
108386  
108387  // AsAzureSearchLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108388  func (ils InformixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
108389  	return nil, false
108390  }
108391  
108392  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108393  func (ils InformixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
108394  	return nil, false
108395  }
108396  
108397  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108398  func (ils InformixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
108399  	return nil, false
108400  }
108401  
108402  // AsAmazonS3LinkedService is the BasicLinkedService implementation for InformixLinkedService.
108403  func (ils InformixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
108404  	return nil, false
108405  }
108406  
108407  // AsRestServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108408  func (ils InformixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
108409  	return nil, false
108410  }
108411  
108412  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108413  func (ils InformixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
108414  	return nil, false
108415  }
108416  
108417  // AsSapEccLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108418  func (ils InformixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
108419  	return nil, false
108420  }
108421  
108422  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108423  func (ils InformixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
108424  	return nil, false
108425  }
108426  
108427  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108428  func (ils InformixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
108429  	return nil, false
108430  }
108431  
108432  // AsSalesforceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108433  func (ils InformixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
108434  	return nil, false
108435  }
108436  
108437  // AsOffice365LinkedService is the BasicLinkedService implementation for InformixLinkedService.
108438  func (ils InformixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
108439  	return nil, false
108440  }
108441  
108442  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108443  func (ils InformixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
108444  	return nil, false
108445  }
108446  
108447  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108448  func (ils InformixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
108449  	return nil, false
108450  }
108451  
108452  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for InformixLinkedService.
108453  func (ils InformixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
108454  	return nil, false
108455  }
108456  
108457  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for InformixLinkedService.
108458  func (ils InformixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
108459  	return nil, false
108460  }
108461  
108462  // AsMongoDbLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108463  func (ils InformixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
108464  	return nil, false
108465  }
108466  
108467  // AsCassandraLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108468  func (ils InformixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
108469  	return nil, false
108470  }
108471  
108472  // AsWebLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108473  func (ils InformixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
108474  	return nil, false
108475  }
108476  
108477  // AsODataLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108478  func (ils InformixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
108479  	return nil, false
108480  }
108481  
108482  // AsHdfsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108483  func (ils InformixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
108484  	return nil, false
108485  }
108486  
108487  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108488  func (ils InformixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
108489  	return nil, false
108490  }
108491  
108492  // AsInformixLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108493  func (ils InformixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
108494  	return &ils, true
108495  }
108496  
108497  // AsOdbcLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108498  func (ils InformixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
108499  	return nil, false
108500  }
108501  
108502  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108503  func (ils InformixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
108504  	return nil, false
108505  }
108506  
108507  // AsAzureMLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108508  func (ils InformixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
108509  	return nil, false
108510  }
108511  
108512  // AsTeradataLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108513  func (ils InformixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
108514  	return nil, false
108515  }
108516  
108517  // AsDb2LinkedService is the BasicLinkedService implementation for InformixLinkedService.
108518  func (ils InformixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
108519  	return nil, false
108520  }
108521  
108522  // AsSybaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108523  func (ils InformixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
108524  	return nil, false
108525  }
108526  
108527  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108528  func (ils InformixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
108529  	return nil, false
108530  }
108531  
108532  // AsMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108533  func (ils InformixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
108534  	return nil, false
108535  }
108536  
108537  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108538  func (ils InformixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
108539  	return nil, false
108540  }
108541  
108542  // AsOracleLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108543  func (ils InformixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
108544  	return nil, false
108545  }
108546  
108547  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108548  func (ils InformixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
108549  	return nil, false
108550  }
108551  
108552  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108553  func (ils InformixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
108554  	return nil, false
108555  }
108556  
108557  // AsFileServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108558  func (ils InformixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
108559  	return nil, false
108560  }
108561  
108562  // AsHDInsightLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108563  func (ils InformixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
108564  	return nil, false
108565  }
108566  
108567  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108568  func (ils InformixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
108569  	return nil, false
108570  }
108571  
108572  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108573  func (ils InformixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
108574  	return nil, false
108575  }
108576  
108577  // AsDynamicsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108578  func (ils InformixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
108579  	return nil, false
108580  }
108581  
108582  // AsCosmosDbLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108583  func (ils InformixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
108584  	return nil, false
108585  }
108586  
108587  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108588  func (ils InformixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
108589  	return nil, false
108590  }
108591  
108592  // AsAzureBatchLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108593  func (ils InformixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
108594  	return nil, false
108595  }
108596  
108597  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for InformixLinkedService.
108598  func (ils InformixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
108599  	return nil, false
108600  }
108601  
108602  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108603  func (ils InformixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
108604  	return nil, false
108605  }
108606  
108607  // AsSQLServerLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108608  func (ils InformixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
108609  	return nil, false
108610  }
108611  
108612  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108613  func (ils InformixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
108614  	return nil, false
108615  }
108616  
108617  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108618  func (ils InformixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
108619  	return nil, false
108620  }
108621  
108622  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108623  func (ils InformixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
108624  	return nil, false
108625  }
108626  
108627  // AsAzureStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108628  func (ils InformixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
108629  	return nil, false
108630  }
108631  
108632  // AsLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108633  func (ils InformixLinkedService) AsLinkedService() (*LinkedService, bool) {
108634  	return nil, false
108635  }
108636  
108637  // AsBasicLinkedService is the BasicLinkedService implementation for InformixLinkedService.
108638  func (ils InformixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
108639  	return &ils, true
108640  }
108641  
108642  // UnmarshalJSON is the custom unmarshaler for InformixLinkedService struct.
108643  func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error {
108644  	var m map[string]*json.RawMessage
108645  	err := json.Unmarshal(body, &m)
108646  	if err != nil {
108647  		return err
108648  	}
108649  	for k, v := range m {
108650  		switch k {
108651  		case "typeProperties":
108652  			if v != nil {
108653  				var informixLinkedServiceTypeProperties InformixLinkedServiceTypeProperties
108654  				err = json.Unmarshal(*v, &informixLinkedServiceTypeProperties)
108655  				if err != nil {
108656  					return err
108657  				}
108658  				ils.InformixLinkedServiceTypeProperties = &informixLinkedServiceTypeProperties
108659  			}
108660  		default:
108661  			if v != nil {
108662  				var additionalProperties interface{}
108663  				err = json.Unmarshal(*v, &additionalProperties)
108664  				if err != nil {
108665  					return err
108666  				}
108667  				if ils.AdditionalProperties == nil {
108668  					ils.AdditionalProperties = make(map[string]interface{})
108669  				}
108670  				ils.AdditionalProperties[k] = additionalProperties
108671  			}
108672  		case "connectVia":
108673  			if v != nil {
108674  				var connectVia IntegrationRuntimeReference
108675  				err = json.Unmarshal(*v, &connectVia)
108676  				if err != nil {
108677  					return err
108678  				}
108679  				ils.ConnectVia = &connectVia
108680  			}
108681  		case "description":
108682  			if v != nil {
108683  				var description string
108684  				err = json.Unmarshal(*v, &description)
108685  				if err != nil {
108686  					return err
108687  				}
108688  				ils.Description = &description
108689  			}
108690  		case "parameters":
108691  			if v != nil {
108692  				var parameters map[string]*ParameterSpecification
108693  				err = json.Unmarshal(*v, &parameters)
108694  				if err != nil {
108695  					return err
108696  				}
108697  				ils.Parameters = parameters
108698  			}
108699  		case "annotations":
108700  			if v != nil {
108701  				var annotations []interface{}
108702  				err = json.Unmarshal(*v, &annotations)
108703  				if err != nil {
108704  					return err
108705  				}
108706  				ils.Annotations = &annotations
108707  			}
108708  		case "type":
108709  			if v != nil {
108710  				var typeVar TypeBasicLinkedService
108711  				err = json.Unmarshal(*v, &typeVar)
108712  				if err != nil {
108713  					return err
108714  				}
108715  				ils.Type = typeVar
108716  			}
108717  		}
108718  	}
108719  
108720  	return nil
108721  }
108722  
108723  // InformixLinkedServiceTypeProperties informix linked service properties.
108724  type InformixLinkedServiceTypeProperties struct {
108725  	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
108726  	ConnectionString interface{} `json:"connectionString,omitempty"`
108727  	// 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).
108728  	AuthenticationType interface{} `json:"authenticationType,omitempty"`
108729  	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
108730  	Credential BasicSecretBase `json:"credential,omitempty"`
108731  	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
108732  	UserName interface{} `json:"userName,omitempty"`
108733  	// Password - Password for Basic authentication.
108734  	Password BasicSecretBase `json:"password,omitempty"`
108735  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
108736  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
108737  }
108738  
108739  // UnmarshalJSON is the custom unmarshaler for InformixLinkedServiceTypeProperties struct.
108740  func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
108741  	var m map[string]*json.RawMessage
108742  	err := json.Unmarshal(body, &m)
108743  	if err != nil {
108744  		return err
108745  	}
108746  	for k, v := range m {
108747  		switch k {
108748  		case "connectionString":
108749  			if v != nil {
108750  				var connectionString interface{}
108751  				err = json.Unmarshal(*v, &connectionString)
108752  				if err != nil {
108753  					return err
108754  				}
108755  				ilstp.ConnectionString = connectionString
108756  			}
108757  		case "authenticationType":
108758  			if v != nil {
108759  				var authenticationType interface{}
108760  				err = json.Unmarshal(*v, &authenticationType)
108761  				if err != nil {
108762  					return err
108763  				}
108764  				ilstp.AuthenticationType = authenticationType
108765  			}
108766  		case "credential":
108767  			if v != nil {
108768  				credential, err := unmarshalBasicSecretBase(*v)
108769  				if err != nil {
108770  					return err
108771  				}
108772  				ilstp.Credential = credential
108773  			}
108774  		case "userName":
108775  			if v != nil {
108776  				var userName interface{}
108777  				err = json.Unmarshal(*v, &userName)
108778  				if err != nil {
108779  					return err
108780  				}
108781  				ilstp.UserName = userName
108782  			}
108783  		case "password":
108784  			if v != nil {
108785  				password, err := unmarshalBasicSecretBase(*v)
108786  				if err != nil {
108787  					return err
108788  				}
108789  				ilstp.Password = password
108790  			}
108791  		case "encryptedCredential":
108792  			if v != nil {
108793  				var encryptedCredential interface{}
108794  				err = json.Unmarshal(*v, &encryptedCredential)
108795  				if err != nil {
108796  					return err
108797  				}
108798  				ilstp.EncryptedCredential = encryptedCredential
108799  			}
108800  		}
108801  	}
108802  
108803  	return nil
108804  }
108805  
108806  // InformixSink a copy activity Informix sink.
108807  type InformixSink struct {
108808  	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
108809  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
108810  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
108811  	AdditionalProperties map[string]interface{} `json:""`
108812  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
108813  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
108814  	// 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])).
108815  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
108816  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
108817  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
108818  	// 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])).
108819  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
108820  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
108821  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
108822  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
108823  	Type TypeBasicCopySink `json:"type,omitempty"`
108824  }
108825  
108826  // MarshalJSON is the custom marshaler for InformixSink.
108827  func (is InformixSink) MarshalJSON() ([]byte, error) {
108828  	is.Type = TypeInformixSink
108829  	objectMap := make(map[string]interface{})
108830  	if is.PreCopyScript != nil {
108831  		objectMap["preCopyScript"] = is.PreCopyScript
108832  	}
108833  	if is.WriteBatchSize != nil {
108834  		objectMap["writeBatchSize"] = is.WriteBatchSize
108835  	}
108836  	if is.WriteBatchTimeout != nil {
108837  		objectMap["writeBatchTimeout"] = is.WriteBatchTimeout
108838  	}
108839  	if is.SinkRetryCount != nil {
108840  		objectMap["sinkRetryCount"] = is.SinkRetryCount
108841  	}
108842  	if is.SinkRetryWait != nil {
108843  		objectMap["sinkRetryWait"] = is.SinkRetryWait
108844  	}
108845  	if is.MaxConcurrentConnections != nil {
108846  		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
108847  	}
108848  	if is.Type != "" {
108849  		objectMap["type"] = is.Type
108850  	}
108851  	for k, v := range is.AdditionalProperties {
108852  		objectMap[k] = v
108853  	}
108854  	return json.Marshal(objectMap)
108855  }
108856  
108857  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for InformixSink.
108858  func (is InformixSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
108859  	return nil, false
108860  }
108861  
108862  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for InformixSink.
108863  func (is InformixSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
108864  	return nil, false
108865  }
108866  
108867  // AsSalesforceSink is the BasicCopySink implementation for InformixSink.
108868  func (is InformixSink) AsSalesforceSink() (*SalesforceSink, bool) {
108869  	return nil, false
108870  }
108871  
108872  // AsAzureDataExplorerSink is the BasicCopySink implementation for InformixSink.
108873  func (is InformixSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
108874  	return nil, false
108875  }
108876  
108877  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for InformixSink.
108878  func (is InformixSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
108879  	return nil, false
108880  }
108881  
108882  // AsDynamicsCrmSink is the BasicCopySink implementation for InformixSink.
108883  func (is InformixSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
108884  	return nil, false
108885  }
108886  
108887  // AsDynamicsSink is the BasicCopySink implementation for InformixSink.
108888  func (is InformixSink) AsDynamicsSink() (*DynamicsSink, bool) {
108889  	return nil, false
108890  }
108891  
108892  // AsMicrosoftAccessSink is the BasicCopySink implementation for InformixSink.
108893  func (is InformixSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
108894  	return nil, false
108895  }
108896  
108897  // AsInformixSink is the BasicCopySink implementation for InformixSink.
108898  func (is InformixSink) AsInformixSink() (*InformixSink, bool) {
108899  	return &is, true
108900  }
108901  
108902  // AsOdbcSink is the BasicCopySink implementation for InformixSink.
108903  func (is InformixSink) AsOdbcSink() (*OdbcSink, bool) {
108904  	return nil, false
108905  }
108906  
108907  // AsAzureSearchIndexSink is the BasicCopySink implementation for InformixSink.
108908  func (is InformixSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
108909  	return nil, false
108910  }
108911  
108912  // AsAzureBlobFSSink is the BasicCopySink implementation for InformixSink.
108913  func (is InformixSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
108914  	return nil, false
108915  }
108916  
108917  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for InformixSink.
108918  func (is InformixSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
108919  	return nil, false
108920  }
108921  
108922  // AsOracleSink is the BasicCopySink implementation for InformixSink.
108923  func (is InformixSink) AsOracleSink() (*OracleSink, bool) {
108924  	return nil, false
108925  }
108926  
108927  // AsSQLDWSink is the BasicCopySink implementation for InformixSink.
108928  func (is InformixSink) AsSQLDWSink() (*SQLDWSink, bool) {
108929  	return nil, false
108930  }
108931  
108932  // AsSQLMISink is the BasicCopySink implementation for InformixSink.
108933  func (is InformixSink) AsSQLMISink() (*SQLMISink, bool) {
108934  	return nil, false
108935  }
108936  
108937  // AsAzureSQLSink is the BasicCopySink implementation for InformixSink.
108938  func (is InformixSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
108939  	return nil, false
108940  }
108941  
108942  // AsSQLServerSink is the BasicCopySink implementation for InformixSink.
108943  func (is InformixSink) AsSQLServerSink() (*SQLServerSink, bool) {
108944  	return nil, false
108945  }
108946  
108947  // AsSQLSink is the BasicCopySink implementation for InformixSink.
108948  func (is InformixSink) AsSQLSink() (*SQLSink, bool) {
108949  	return nil, false
108950  }
108951  
108952  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for InformixSink.
108953  func (is InformixSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
108954  	return nil, false
108955  }
108956  
108957  // AsDocumentDbCollectionSink is the BasicCopySink implementation for InformixSink.
108958  func (is InformixSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
108959  	return nil, false
108960  }
108961  
108962  // AsFileSystemSink is the BasicCopySink implementation for InformixSink.
108963  func (is InformixSink) AsFileSystemSink() (*FileSystemSink, bool) {
108964  	return nil, false
108965  }
108966  
108967  // AsBlobSink is the BasicCopySink implementation for InformixSink.
108968  func (is InformixSink) AsBlobSink() (*BlobSink, bool) {
108969  	return nil, false
108970  }
108971  
108972  // AsBinarySink is the BasicCopySink implementation for InformixSink.
108973  func (is InformixSink) AsBinarySink() (*BinarySink, bool) {
108974  	return nil, false
108975  }
108976  
108977  // AsParquetSink is the BasicCopySink implementation for InformixSink.
108978  func (is InformixSink) AsParquetSink() (*ParquetSink, bool) {
108979  	return nil, false
108980  }
108981  
108982  // AsAvroSink is the BasicCopySink implementation for InformixSink.
108983  func (is InformixSink) AsAvroSink() (*AvroSink, bool) {
108984  	return nil, false
108985  }
108986  
108987  // AsAzureTableSink is the BasicCopySink implementation for InformixSink.
108988  func (is InformixSink) AsAzureTableSink() (*AzureTableSink, bool) {
108989  	return nil, false
108990  }
108991  
108992  // AsAzureQueueSink is the BasicCopySink implementation for InformixSink.
108993  func (is InformixSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
108994  	return nil, false
108995  }
108996  
108997  // AsSapCloudForCustomerSink is the BasicCopySink implementation for InformixSink.
108998  func (is InformixSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
108999  	return nil, false
109000  }
109001  
109002  // AsAzureMySQLSink is the BasicCopySink implementation for InformixSink.
109003  func (is InformixSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
109004  	return nil, false
109005  }
109006  
109007  // AsAzurePostgreSQLSink is the BasicCopySink implementation for InformixSink.
109008  func (is InformixSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
109009  	return nil, false
109010  }
109011  
109012  // AsOrcSink is the BasicCopySink implementation for InformixSink.
109013  func (is InformixSink) AsOrcSink() (*OrcSink, bool) {
109014  	return nil, false
109015  }
109016  
109017  // AsJSONSink is the BasicCopySink implementation for InformixSink.
109018  func (is InformixSink) AsJSONSink() (*JSONSink, bool) {
109019  	return nil, false
109020  }
109021  
109022  // AsDelimitedTextSink is the BasicCopySink implementation for InformixSink.
109023  func (is InformixSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
109024  	return nil, false
109025  }
109026  
109027  // AsCopySink is the BasicCopySink implementation for InformixSink.
109028  func (is InformixSink) AsCopySink() (*CopySink, bool) {
109029  	return nil, false
109030  }
109031  
109032  // AsBasicCopySink is the BasicCopySink implementation for InformixSink.
109033  func (is InformixSink) AsBasicCopySink() (BasicCopySink, bool) {
109034  	return &is, true
109035  }
109036  
109037  // UnmarshalJSON is the custom unmarshaler for InformixSink struct.
109038  func (is *InformixSink) UnmarshalJSON(body []byte) error {
109039  	var m map[string]*json.RawMessage
109040  	err := json.Unmarshal(body, &m)
109041  	if err != nil {
109042  		return err
109043  	}
109044  	for k, v := range m {
109045  		switch k {
109046  		case "preCopyScript":
109047  			if v != nil {
109048  				var preCopyScript interface{}
109049  				err = json.Unmarshal(*v, &preCopyScript)
109050  				if err != nil {
109051  					return err
109052  				}
109053  				is.PreCopyScript = preCopyScript
109054  			}
109055  		default:
109056  			if v != nil {
109057  				var additionalProperties interface{}
109058  				err = json.Unmarshal(*v, &additionalProperties)
109059  				if err != nil {
109060  					return err
109061  				}
109062  				if is.AdditionalProperties == nil {
109063  					is.AdditionalProperties = make(map[string]interface{})
109064  				}
109065  				is.AdditionalProperties[k] = additionalProperties
109066  			}
109067  		case "writeBatchSize":
109068  			if v != nil {
109069  				var writeBatchSize interface{}
109070  				err = json.Unmarshal(*v, &writeBatchSize)
109071  				if err != nil {
109072  					return err
109073  				}
109074  				is.WriteBatchSize = writeBatchSize
109075  			}
109076  		case "writeBatchTimeout":
109077  			if v != nil {
109078  				var writeBatchTimeout interface{}
109079  				err = json.Unmarshal(*v, &writeBatchTimeout)
109080  				if err != nil {
109081  					return err
109082  				}
109083  				is.WriteBatchTimeout = writeBatchTimeout
109084  			}
109085  		case "sinkRetryCount":
109086  			if v != nil {
109087  				var sinkRetryCount interface{}
109088  				err = json.Unmarshal(*v, &sinkRetryCount)
109089  				if err != nil {
109090  					return err
109091  				}
109092  				is.SinkRetryCount = sinkRetryCount
109093  			}
109094  		case "sinkRetryWait":
109095  			if v != nil {
109096  				var sinkRetryWait interface{}
109097  				err = json.Unmarshal(*v, &sinkRetryWait)
109098  				if err != nil {
109099  					return err
109100  				}
109101  				is.SinkRetryWait = sinkRetryWait
109102  			}
109103  		case "maxConcurrentConnections":
109104  			if v != nil {
109105  				var maxConcurrentConnections interface{}
109106  				err = json.Unmarshal(*v, &maxConcurrentConnections)
109107  				if err != nil {
109108  					return err
109109  				}
109110  				is.MaxConcurrentConnections = maxConcurrentConnections
109111  			}
109112  		case "type":
109113  			if v != nil {
109114  				var typeVar TypeBasicCopySink
109115  				err = json.Unmarshal(*v, &typeVar)
109116  				if err != nil {
109117  					return err
109118  				}
109119  				is.Type = typeVar
109120  			}
109121  		}
109122  	}
109123  
109124  	return nil
109125  }
109126  
109127  // InformixSource a copy activity source for Informix.
109128  type InformixSource struct {
109129  	// Query - Database query. Type: string (or Expression with resultType string).
109130  	Query interface{} `json:"query,omitempty"`
109131  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
109132  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
109133  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
109134  	AdditionalProperties map[string]interface{} `json:""`
109135  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
109136  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
109137  	// 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])).
109138  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
109139  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
109140  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
109141  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
109142  	Type TypeBasicCopySource `json:"type,omitempty"`
109143  }
109144  
109145  // MarshalJSON is the custom marshaler for InformixSource.
109146  func (is InformixSource) MarshalJSON() ([]byte, error) {
109147  	is.Type = TypeInformixSource
109148  	objectMap := make(map[string]interface{})
109149  	if is.Query != nil {
109150  		objectMap["query"] = is.Query
109151  	}
109152  	if is.QueryTimeout != nil {
109153  		objectMap["queryTimeout"] = is.QueryTimeout
109154  	}
109155  	if is.SourceRetryCount != nil {
109156  		objectMap["sourceRetryCount"] = is.SourceRetryCount
109157  	}
109158  	if is.SourceRetryWait != nil {
109159  		objectMap["sourceRetryWait"] = is.SourceRetryWait
109160  	}
109161  	if is.MaxConcurrentConnections != nil {
109162  		objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections
109163  	}
109164  	if is.Type != "" {
109165  		objectMap["type"] = is.Type
109166  	}
109167  	for k, v := range is.AdditionalProperties {
109168  		objectMap[k] = v
109169  	}
109170  	return json.Marshal(objectMap)
109171  }
109172  
109173  // AsHTTPSource is the BasicCopySource implementation for InformixSource.
109174  func (is InformixSource) AsHTTPSource() (*HTTPSource, bool) {
109175  	return nil, false
109176  }
109177  
109178  // AsAzureBlobFSSource is the BasicCopySource implementation for InformixSource.
109179  func (is InformixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
109180  	return nil, false
109181  }
109182  
109183  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for InformixSource.
109184  func (is InformixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
109185  	return nil, false
109186  }
109187  
109188  // AsOffice365Source is the BasicCopySource implementation for InformixSource.
109189  func (is InformixSource) AsOffice365Source() (*Office365Source, bool) {
109190  	return nil, false
109191  }
109192  
109193  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for InformixSource.
109194  func (is InformixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
109195  	return nil, false
109196  }
109197  
109198  // AsMongoDbV2Source is the BasicCopySource implementation for InformixSource.
109199  func (is InformixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
109200  	return nil, false
109201  }
109202  
109203  // AsMongoDbSource is the BasicCopySource implementation for InformixSource.
109204  func (is InformixSource) AsMongoDbSource() (*MongoDbSource, bool) {
109205  	return nil, false
109206  }
109207  
109208  // AsWebSource is the BasicCopySource implementation for InformixSource.
109209  func (is InformixSource) AsWebSource() (*WebSource, bool) {
109210  	return nil, false
109211  }
109212  
109213  // AsOracleSource is the BasicCopySource implementation for InformixSource.
109214  func (is InformixSource) AsOracleSource() (*OracleSource, bool) {
109215  	return nil, false
109216  }
109217  
109218  // AsAzureDataExplorerSource is the BasicCopySource implementation for InformixSource.
109219  func (is InformixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
109220  	return nil, false
109221  }
109222  
109223  // AsHdfsSource is the BasicCopySource implementation for InformixSource.
109224  func (is InformixSource) AsHdfsSource() (*HdfsSource, bool) {
109225  	return nil, false
109226  }
109227  
109228  // AsFileSystemSource is the BasicCopySource implementation for InformixSource.
109229  func (is InformixSource) AsFileSystemSource() (*FileSystemSource, bool) {
109230  	return nil, false
109231  }
109232  
109233  // AsRestSource is the BasicCopySource implementation for InformixSource.
109234  func (is InformixSource) AsRestSource() (*RestSource, bool) {
109235  	return nil, false
109236  }
109237  
109238  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for InformixSource.
109239  func (is InformixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
109240  	return nil, false
109241  }
109242  
109243  // AsODataSource is the BasicCopySource implementation for InformixSource.
109244  func (is InformixSource) AsODataSource() (*ODataSource, bool) {
109245  	return nil, false
109246  }
109247  
109248  // AsMicrosoftAccessSource is the BasicCopySource implementation for InformixSource.
109249  func (is InformixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
109250  	return nil, false
109251  }
109252  
109253  // AsRelationalSource is the BasicCopySource implementation for InformixSource.
109254  func (is InformixSource) AsRelationalSource() (*RelationalSource, bool) {
109255  	return nil, false
109256  }
109257  
109258  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for InformixSource.
109259  func (is InformixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
109260  	return nil, false
109261  }
109262  
109263  // AsDynamicsCrmSource is the BasicCopySource implementation for InformixSource.
109264  func (is InformixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
109265  	return nil, false
109266  }
109267  
109268  // AsDynamicsSource is the BasicCopySource implementation for InformixSource.
109269  func (is InformixSource) AsDynamicsSource() (*DynamicsSource, bool) {
109270  	return nil, false
109271  }
109272  
109273  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for InformixSource.
109274  func (is InformixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
109275  	return nil, false
109276  }
109277  
109278  // AsDocumentDbCollectionSource is the BasicCopySource implementation for InformixSource.
109279  func (is InformixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
109280  	return nil, false
109281  }
109282  
109283  // AsBlobSource is the BasicCopySource implementation for InformixSource.
109284  func (is InformixSource) AsBlobSource() (*BlobSource, bool) {
109285  	return nil, false
109286  }
109287  
109288  // AsAmazonRedshiftSource is the BasicCopySource implementation for InformixSource.
109289  func (is InformixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
109290  	return nil, false
109291  }
109292  
109293  // AsGoogleAdWordsSource is the BasicCopySource implementation for InformixSource.
109294  func (is InformixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
109295  	return nil, false
109296  }
109297  
109298  // AsOracleServiceCloudSource is the BasicCopySource implementation for InformixSource.
109299  func (is InformixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
109300  	return nil, false
109301  }
109302  
109303  // AsDynamicsAXSource is the BasicCopySource implementation for InformixSource.
109304  func (is InformixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
109305  	return nil, false
109306  }
109307  
109308  // AsResponsysSource is the BasicCopySource implementation for InformixSource.
109309  func (is InformixSource) AsResponsysSource() (*ResponsysSource, bool) {
109310  	return nil, false
109311  }
109312  
109313  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for InformixSource.
109314  func (is InformixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
109315  	return nil, false
109316  }
109317  
109318  // AsVerticaSource is the BasicCopySource implementation for InformixSource.
109319  func (is InformixSource) AsVerticaSource() (*VerticaSource, bool) {
109320  	return nil, false
109321  }
109322  
109323  // AsNetezzaSource is the BasicCopySource implementation for InformixSource.
109324  func (is InformixSource) AsNetezzaSource() (*NetezzaSource, bool) {
109325  	return nil, false
109326  }
109327  
109328  // AsZohoSource is the BasicCopySource implementation for InformixSource.
109329  func (is InformixSource) AsZohoSource() (*ZohoSource, bool) {
109330  	return nil, false
109331  }
109332  
109333  // AsXeroSource is the BasicCopySource implementation for InformixSource.
109334  func (is InformixSource) AsXeroSource() (*XeroSource, bool) {
109335  	return nil, false
109336  }
109337  
109338  // AsSquareSource is the BasicCopySource implementation for InformixSource.
109339  func (is InformixSource) AsSquareSource() (*SquareSource, bool) {
109340  	return nil, false
109341  }
109342  
109343  // AsSparkSource is the BasicCopySource implementation for InformixSource.
109344  func (is InformixSource) AsSparkSource() (*SparkSource, bool) {
109345  	return nil, false
109346  }
109347  
109348  // AsShopifySource is the BasicCopySource implementation for InformixSource.
109349  func (is InformixSource) AsShopifySource() (*ShopifySource, bool) {
109350  	return nil, false
109351  }
109352  
109353  // AsServiceNowSource is the BasicCopySource implementation for InformixSource.
109354  func (is InformixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
109355  	return nil, false
109356  }
109357  
109358  // AsQuickBooksSource is the BasicCopySource implementation for InformixSource.
109359  func (is InformixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
109360  	return nil, false
109361  }
109362  
109363  // AsPrestoSource is the BasicCopySource implementation for InformixSource.
109364  func (is InformixSource) AsPrestoSource() (*PrestoSource, bool) {
109365  	return nil, false
109366  }
109367  
109368  // AsPhoenixSource is the BasicCopySource implementation for InformixSource.
109369  func (is InformixSource) AsPhoenixSource() (*PhoenixSource, bool) {
109370  	return nil, false
109371  }
109372  
109373  // AsPaypalSource is the BasicCopySource implementation for InformixSource.
109374  func (is InformixSource) AsPaypalSource() (*PaypalSource, bool) {
109375  	return nil, false
109376  }
109377  
109378  // AsMarketoSource is the BasicCopySource implementation for InformixSource.
109379  func (is InformixSource) AsMarketoSource() (*MarketoSource, bool) {
109380  	return nil, false
109381  }
109382  
109383  // AsAzureMariaDBSource is the BasicCopySource implementation for InformixSource.
109384  func (is InformixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
109385  	return nil, false
109386  }
109387  
109388  // AsMariaDBSource is the BasicCopySource implementation for InformixSource.
109389  func (is InformixSource) AsMariaDBSource() (*MariaDBSource, bool) {
109390  	return nil, false
109391  }
109392  
109393  // AsMagentoSource is the BasicCopySource implementation for InformixSource.
109394  func (is InformixSource) AsMagentoSource() (*MagentoSource, bool) {
109395  	return nil, false
109396  }
109397  
109398  // AsJiraSource is the BasicCopySource implementation for InformixSource.
109399  func (is InformixSource) AsJiraSource() (*JiraSource, bool) {
109400  	return nil, false
109401  }
109402  
109403  // AsImpalaSource is the BasicCopySource implementation for InformixSource.
109404  func (is InformixSource) AsImpalaSource() (*ImpalaSource, bool) {
109405  	return nil, false
109406  }
109407  
109408  // AsHubspotSource is the BasicCopySource implementation for InformixSource.
109409  func (is InformixSource) AsHubspotSource() (*HubspotSource, bool) {
109410  	return nil, false
109411  }
109412  
109413  // AsHiveSource is the BasicCopySource implementation for InformixSource.
109414  func (is InformixSource) AsHiveSource() (*HiveSource, bool) {
109415  	return nil, false
109416  }
109417  
109418  // AsHBaseSource is the BasicCopySource implementation for InformixSource.
109419  func (is InformixSource) AsHBaseSource() (*HBaseSource, bool) {
109420  	return nil, false
109421  }
109422  
109423  // AsGreenplumSource is the BasicCopySource implementation for InformixSource.
109424  func (is InformixSource) AsGreenplumSource() (*GreenplumSource, bool) {
109425  	return nil, false
109426  }
109427  
109428  // AsGoogleBigQuerySource is the BasicCopySource implementation for InformixSource.
109429  func (is InformixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
109430  	return nil, false
109431  }
109432  
109433  // AsEloquaSource is the BasicCopySource implementation for InformixSource.
109434  func (is InformixSource) AsEloquaSource() (*EloquaSource, bool) {
109435  	return nil, false
109436  }
109437  
109438  // AsDrillSource is the BasicCopySource implementation for InformixSource.
109439  func (is InformixSource) AsDrillSource() (*DrillSource, bool) {
109440  	return nil, false
109441  }
109442  
109443  // AsCouchbaseSource is the BasicCopySource implementation for InformixSource.
109444  func (is InformixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
109445  	return nil, false
109446  }
109447  
109448  // AsConcurSource is the BasicCopySource implementation for InformixSource.
109449  func (is InformixSource) AsConcurSource() (*ConcurSource, bool) {
109450  	return nil, false
109451  }
109452  
109453  // AsAzurePostgreSQLSource is the BasicCopySource implementation for InformixSource.
109454  func (is InformixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
109455  	return nil, false
109456  }
109457  
109458  // AsAmazonMWSSource is the BasicCopySource implementation for InformixSource.
109459  func (is InformixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
109460  	return nil, false
109461  }
109462  
109463  // AsCassandraSource is the BasicCopySource implementation for InformixSource.
109464  func (is InformixSource) AsCassandraSource() (*CassandraSource, bool) {
109465  	return nil, false
109466  }
109467  
109468  // AsTeradataSource is the BasicCopySource implementation for InformixSource.
109469  func (is InformixSource) AsTeradataSource() (*TeradataSource, bool) {
109470  	return nil, false
109471  }
109472  
109473  // AsAzureMySQLSource is the BasicCopySource implementation for InformixSource.
109474  func (is InformixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
109475  	return nil, false
109476  }
109477  
109478  // AsSQLDWSource is the BasicCopySource implementation for InformixSource.
109479  func (is InformixSource) AsSQLDWSource() (*SQLDWSource, bool) {
109480  	return nil, false
109481  }
109482  
109483  // AsSQLMISource is the BasicCopySource implementation for InformixSource.
109484  func (is InformixSource) AsSQLMISource() (*SQLMISource, bool) {
109485  	return nil, false
109486  }
109487  
109488  // AsAzureSQLSource is the BasicCopySource implementation for InformixSource.
109489  func (is InformixSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
109490  	return nil, false
109491  }
109492  
109493  // AsSQLServerSource is the BasicCopySource implementation for InformixSource.
109494  func (is InformixSource) AsSQLServerSource() (*SQLServerSource, bool) {
109495  	return nil, false
109496  }
109497  
109498  // AsSQLSource is the BasicCopySource implementation for InformixSource.
109499  func (is InformixSource) AsSQLSource() (*SQLSource, bool) {
109500  	return nil, false
109501  }
109502  
109503  // AsSapTableSource is the BasicCopySource implementation for InformixSource.
109504  func (is InformixSource) AsSapTableSource() (*SapTableSource, bool) {
109505  	return nil, false
109506  }
109507  
109508  // AsSapOpenHubSource is the BasicCopySource implementation for InformixSource.
109509  func (is InformixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
109510  	return nil, false
109511  }
109512  
109513  // AsSapHanaSource is the BasicCopySource implementation for InformixSource.
109514  func (is InformixSource) AsSapHanaSource() (*SapHanaSource, bool) {
109515  	return nil, false
109516  }
109517  
109518  // AsSapEccSource is the BasicCopySource implementation for InformixSource.
109519  func (is InformixSource) AsSapEccSource() (*SapEccSource, bool) {
109520  	return nil, false
109521  }
109522  
109523  // AsSapCloudForCustomerSource is the BasicCopySource implementation for InformixSource.
109524  func (is InformixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
109525  	return nil, false
109526  }
109527  
109528  // AsSalesforceSource is the BasicCopySource implementation for InformixSource.
109529  func (is InformixSource) AsSalesforceSource() (*SalesforceSource, bool) {
109530  	return nil, false
109531  }
109532  
109533  // AsSapBwSource is the BasicCopySource implementation for InformixSource.
109534  func (is InformixSource) AsSapBwSource() (*SapBwSource, bool) {
109535  	return nil, false
109536  }
109537  
109538  // AsSybaseSource is the BasicCopySource implementation for InformixSource.
109539  func (is InformixSource) AsSybaseSource() (*SybaseSource, bool) {
109540  	return nil, false
109541  }
109542  
109543  // AsPostgreSQLSource is the BasicCopySource implementation for InformixSource.
109544  func (is InformixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
109545  	return nil, false
109546  }
109547  
109548  // AsMySQLSource is the BasicCopySource implementation for InformixSource.
109549  func (is InformixSource) AsMySQLSource() (*MySQLSource, bool) {
109550  	return nil, false
109551  }
109552  
109553  // AsOdbcSource is the BasicCopySource implementation for InformixSource.
109554  func (is InformixSource) AsOdbcSource() (*OdbcSource, bool) {
109555  	return nil, false
109556  }
109557  
109558  // AsDb2Source is the BasicCopySource implementation for InformixSource.
109559  func (is InformixSource) AsDb2Source() (*Db2Source, bool) {
109560  	return nil, false
109561  }
109562  
109563  // AsInformixSource is the BasicCopySource implementation for InformixSource.
109564  func (is InformixSource) AsInformixSource() (*InformixSource, bool) {
109565  	return &is, true
109566  }
109567  
109568  // AsAzureTableSource is the BasicCopySource implementation for InformixSource.
109569  func (is InformixSource) AsAzureTableSource() (*AzureTableSource, bool) {
109570  	return nil, false
109571  }
109572  
109573  // AsTabularSource is the BasicCopySource implementation for InformixSource.
109574  func (is InformixSource) AsTabularSource() (*TabularSource, bool) {
109575  	return nil, false
109576  }
109577  
109578  // AsBasicTabularSource is the BasicCopySource implementation for InformixSource.
109579  func (is InformixSource) AsBasicTabularSource() (BasicTabularSource, bool) {
109580  	return &is, true
109581  }
109582  
109583  // AsBinarySource is the BasicCopySource implementation for InformixSource.
109584  func (is InformixSource) AsBinarySource() (*BinarySource, bool) {
109585  	return nil, false
109586  }
109587  
109588  // AsOrcSource is the BasicCopySource implementation for InformixSource.
109589  func (is InformixSource) AsOrcSource() (*OrcSource, bool) {
109590  	return nil, false
109591  }
109592  
109593  // AsJSONSource is the BasicCopySource implementation for InformixSource.
109594  func (is InformixSource) AsJSONSource() (*JSONSource, bool) {
109595  	return nil, false
109596  }
109597  
109598  // AsDelimitedTextSource is the BasicCopySource implementation for InformixSource.
109599  func (is InformixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
109600  	return nil, false
109601  }
109602  
109603  // AsParquetSource is the BasicCopySource implementation for InformixSource.
109604  func (is InformixSource) AsParquetSource() (*ParquetSource, bool) {
109605  	return nil, false
109606  }
109607  
109608  // AsAvroSource is the BasicCopySource implementation for InformixSource.
109609  func (is InformixSource) AsAvroSource() (*AvroSource, bool) {
109610  	return nil, false
109611  }
109612  
109613  // AsCopySource is the BasicCopySource implementation for InformixSource.
109614  func (is InformixSource) AsCopySource() (*CopySource, bool) {
109615  	return nil, false
109616  }
109617  
109618  // AsBasicCopySource is the BasicCopySource implementation for InformixSource.
109619  func (is InformixSource) AsBasicCopySource() (BasicCopySource, bool) {
109620  	return &is, true
109621  }
109622  
109623  // UnmarshalJSON is the custom unmarshaler for InformixSource struct.
109624  func (is *InformixSource) UnmarshalJSON(body []byte) error {
109625  	var m map[string]*json.RawMessage
109626  	err := json.Unmarshal(body, &m)
109627  	if err != nil {
109628  		return err
109629  	}
109630  	for k, v := range m {
109631  		switch k {
109632  		case "query":
109633  			if v != nil {
109634  				var query interface{}
109635  				err = json.Unmarshal(*v, &query)
109636  				if err != nil {
109637  					return err
109638  				}
109639  				is.Query = query
109640  			}
109641  		case "queryTimeout":
109642  			if v != nil {
109643  				var queryTimeout interface{}
109644  				err = json.Unmarshal(*v, &queryTimeout)
109645  				if err != nil {
109646  					return err
109647  				}
109648  				is.QueryTimeout = queryTimeout
109649  			}
109650  		default:
109651  			if v != nil {
109652  				var additionalProperties interface{}
109653  				err = json.Unmarshal(*v, &additionalProperties)
109654  				if err != nil {
109655  					return err
109656  				}
109657  				if is.AdditionalProperties == nil {
109658  					is.AdditionalProperties = make(map[string]interface{})
109659  				}
109660  				is.AdditionalProperties[k] = additionalProperties
109661  			}
109662  		case "sourceRetryCount":
109663  			if v != nil {
109664  				var sourceRetryCount interface{}
109665  				err = json.Unmarshal(*v, &sourceRetryCount)
109666  				if err != nil {
109667  					return err
109668  				}
109669  				is.SourceRetryCount = sourceRetryCount
109670  			}
109671  		case "sourceRetryWait":
109672  			if v != nil {
109673  				var sourceRetryWait interface{}
109674  				err = json.Unmarshal(*v, &sourceRetryWait)
109675  				if err != nil {
109676  					return err
109677  				}
109678  				is.SourceRetryWait = sourceRetryWait
109679  			}
109680  		case "maxConcurrentConnections":
109681  			if v != nil {
109682  				var maxConcurrentConnections interface{}
109683  				err = json.Unmarshal(*v, &maxConcurrentConnections)
109684  				if err != nil {
109685  					return err
109686  				}
109687  				is.MaxConcurrentConnections = maxConcurrentConnections
109688  			}
109689  		case "type":
109690  			if v != nil {
109691  				var typeVar TypeBasicCopySource
109692  				err = json.Unmarshal(*v, &typeVar)
109693  				if err != nil {
109694  					return err
109695  				}
109696  				is.Type = typeVar
109697  			}
109698  		}
109699  	}
109700  
109701  	return nil
109702  }
109703  
109704  // InformixTableDataset the Informix table dataset.
109705  type InformixTableDataset struct {
109706  	// InformixTableDatasetTypeProperties - Informix table dataset properties.
109707  	*InformixTableDatasetTypeProperties `json:"typeProperties,omitempty"`
109708  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
109709  	AdditionalProperties map[string]interface{} `json:""`
109710  	// Description - Dataset description.
109711  	Description *string `json:"description,omitempty"`
109712  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
109713  	Structure interface{} `json:"structure,omitempty"`
109714  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
109715  	Schema interface{} `json:"schema,omitempty"`
109716  	// LinkedServiceName - Linked service reference.
109717  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
109718  	// Parameters - Parameters for dataset.
109719  	Parameters map[string]*ParameterSpecification `json:"parameters"`
109720  	// Annotations - List of tags that can be used for describing the Dataset.
109721  	Annotations *[]interface{} `json:"annotations,omitempty"`
109722  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
109723  	Folder *DatasetFolder `json:"folder,omitempty"`
109724  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
109725  	Type TypeBasicDataset `json:"type,omitempty"`
109726  }
109727  
109728  // MarshalJSON is the custom marshaler for InformixTableDataset.
109729  func (itd InformixTableDataset) MarshalJSON() ([]byte, error) {
109730  	itd.Type = TypeInformixTable
109731  	objectMap := make(map[string]interface{})
109732  	if itd.InformixTableDatasetTypeProperties != nil {
109733  		objectMap["typeProperties"] = itd.InformixTableDatasetTypeProperties
109734  	}
109735  	if itd.Description != nil {
109736  		objectMap["description"] = itd.Description
109737  	}
109738  	if itd.Structure != nil {
109739  		objectMap["structure"] = itd.Structure
109740  	}
109741  	if itd.Schema != nil {
109742  		objectMap["schema"] = itd.Schema
109743  	}
109744  	if itd.LinkedServiceName != nil {
109745  		objectMap["linkedServiceName"] = itd.LinkedServiceName
109746  	}
109747  	if itd.Parameters != nil {
109748  		objectMap["parameters"] = itd.Parameters
109749  	}
109750  	if itd.Annotations != nil {
109751  		objectMap["annotations"] = itd.Annotations
109752  	}
109753  	if itd.Folder != nil {
109754  		objectMap["folder"] = itd.Folder
109755  	}
109756  	if itd.Type != "" {
109757  		objectMap["type"] = itd.Type
109758  	}
109759  	for k, v := range itd.AdditionalProperties {
109760  		objectMap[k] = v
109761  	}
109762  	return json.Marshal(objectMap)
109763  }
109764  
109765  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for InformixTableDataset.
109766  func (itd InformixTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
109767  	return nil, false
109768  }
109769  
109770  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for InformixTableDataset.
109771  func (itd InformixTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
109772  	return nil, false
109773  }
109774  
109775  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
109776  func (itd InformixTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
109777  	return nil, false
109778  }
109779  
109780  // AsDynamicsAXResourceDataset is the BasicDataset implementation for InformixTableDataset.
109781  func (itd InformixTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
109782  	return nil, false
109783  }
109784  
109785  // AsResponsysObjectDataset is the BasicDataset implementation for InformixTableDataset.
109786  func (itd InformixTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
109787  	return nil, false
109788  }
109789  
109790  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
109791  func (itd InformixTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
109792  	return nil, false
109793  }
109794  
109795  // AsVerticaTableDataset is the BasicDataset implementation for InformixTableDataset.
109796  func (itd InformixTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
109797  	return nil, false
109798  }
109799  
109800  // AsNetezzaTableDataset is the BasicDataset implementation for InformixTableDataset.
109801  func (itd InformixTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
109802  	return nil, false
109803  }
109804  
109805  // AsZohoObjectDataset is the BasicDataset implementation for InformixTableDataset.
109806  func (itd InformixTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
109807  	return nil, false
109808  }
109809  
109810  // AsXeroObjectDataset is the BasicDataset implementation for InformixTableDataset.
109811  func (itd InformixTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
109812  	return nil, false
109813  }
109814  
109815  // AsSquareObjectDataset is the BasicDataset implementation for InformixTableDataset.
109816  func (itd InformixTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
109817  	return nil, false
109818  }
109819  
109820  // AsSparkObjectDataset is the BasicDataset implementation for InformixTableDataset.
109821  func (itd InformixTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
109822  	return nil, false
109823  }
109824  
109825  // AsShopifyObjectDataset is the BasicDataset implementation for InformixTableDataset.
109826  func (itd InformixTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
109827  	return nil, false
109828  }
109829  
109830  // AsServiceNowObjectDataset is the BasicDataset implementation for InformixTableDataset.
109831  func (itd InformixTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
109832  	return nil, false
109833  }
109834  
109835  // AsQuickBooksObjectDataset is the BasicDataset implementation for InformixTableDataset.
109836  func (itd InformixTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
109837  	return nil, false
109838  }
109839  
109840  // AsPrestoObjectDataset is the BasicDataset implementation for InformixTableDataset.
109841  func (itd InformixTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
109842  	return nil, false
109843  }
109844  
109845  // AsPhoenixObjectDataset is the BasicDataset implementation for InformixTableDataset.
109846  func (itd InformixTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
109847  	return nil, false
109848  }
109849  
109850  // AsPaypalObjectDataset is the BasicDataset implementation for InformixTableDataset.
109851  func (itd InformixTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
109852  	return nil, false
109853  }
109854  
109855  // AsMarketoObjectDataset is the BasicDataset implementation for InformixTableDataset.
109856  func (itd InformixTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
109857  	return nil, false
109858  }
109859  
109860  // AsAzureMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset.
109861  func (itd InformixTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
109862  	return nil, false
109863  }
109864  
109865  // AsMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset.
109866  func (itd InformixTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
109867  	return nil, false
109868  }
109869  
109870  // AsMagentoObjectDataset is the BasicDataset implementation for InformixTableDataset.
109871  func (itd InformixTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
109872  	return nil, false
109873  }
109874  
109875  // AsJiraObjectDataset is the BasicDataset implementation for InformixTableDataset.
109876  func (itd InformixTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
109877  	return nil, false
109878  }
109879  
109880  // AsImpalaObjectDataset is the BasicDataset implementation for InformixTableDataset.
109881  func (itd InformixTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
109882  	return nil, false
109883  }
109884  
109885  // AsHubspotObjectDataset is the BasicDataset implementation for InformixTableDataset.
109886  func (itd InformixTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
109887  	return nil, false
109888  }
109889  
109890  // AsHiveObjectDataset is the BasicDataset implementation for InformixTableDataset.
109891  func (itd InformixTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
109892  	return nil, false
109893  }
109894  
109895  // AsHBaseObjectDataset is the BasicDataset implementation for InformixTableDataset.
109896  func (itd InformixTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
109897  	return nil, false
109898  }
109899  
109900  // AsGreenplumTableDataset is the BasicDataset implementation for InformixTableDataset.
109901  func (itd InformixTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
109902  	return nil, false
109903  }
109904  
109905  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for InformixTableDataset.
109906  func (itd InformixTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
109907  	return nil, false
109908  }
109909  
109910  // AsEloquaObjectDataset is the BasicDataset implementation for InformixTableDataset.
109911  func (itd InformixTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
109912  	return nil, false
109913  }
109914  
109915  // AsDrillTableDataset is the BasicDataset implementation for InformixTableDataset.
109916  func (itd InformixTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
109917  	return nil, false
109918  }
109919  
109920  // AsCouchbaseTableDataset is the BasicDataset implementation for InformixTableDataset.
109921  func (itd InformixTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
109922  	return nil, false
109923  }
109924  
109925  // AsConcurObjectDataset is the BasicDataset implementation for InformixTableDataset.
109926  func (itd InformixTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
109927  	return nil, false
109928  }
109929  
109930  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
109931  func (itd InformixTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
109932  	return nil, false
109933  }
109934  
109935  // AsAmazonMWSObjectDataset is the BasicDataset implementation for InformixTableDataset.
109936  func (itd InformixTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
109937  	return nil, false
109938  }
109939  
109940  // AsAzureSearchIndexDataset is the BasicDataset implementation for InformixTableDataset.
109941  func (itd InformixTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
109942  	return nil, false
109943  }
109944  
109945  // AsWebTableDataset is the BasicDataset implementation for InformixTableDataset.
109946  func (itd InformixTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
109947  	return nil, false
109948  }
109949  
109950  // AsSapTableResourceDataset is the BasicDataset implementation for InformixTableDataset.
109951  func (itd InformixTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
109952  	return nil, false
109953  }
109954  
109955  // AsRestResourceDataset is the BasicDataset implementation for InformixTableDataset.
109956  func (itd InformixTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
109957  	return nil, false
109958  }
109959  
109960  // AsSQLServerTableDataset is the BasicDataset implementation for InformixTableDataset.
109961  func (itd InformixTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
109962  	return nil, false
109963  }
109964  
109965  // AsSapOpenHubTableDataset is the BasicDataset implementation for InformixTableDataset.
109966  func (itd InformixTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
109967  	return nil, false
109968  }
109969  
109970  // AsSapHanaTableDataset is the BasicDataset implementation for InformixTableDataset.
109971  func (itd InformixTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
109972  	return nil, false
109973  }
109974  
109975  // AsSapEccResourceDataset is the BasicDataset implementation for InformixTableDataset.
109976  func (itd InformixTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
109977  	return nil, false
109978  }
109979  
109980  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for InformixTableDataset.
109981  func (itd InformixTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
109982  	return nil, false
109983  }
109984  
109985  // AsSapBwCubeDataset is the BasicDataset implementation for InformixTableDataset.
109986  func (itd InformixTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
109987  	return nil, false
109988  }
109989  
109990  // AsSybaseTableDataset is the BasicDataset implementation for InformixTableDataset.
109991  func (itd InformixTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
109992  	return nil, false
109993  }
109994  
109995  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset.
109996  func (itd InformixTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
109997  	return nil, false
109998  }
109999  
110000  // AsSalesforceObjectDataset is the BasicDataset implementation for InformixTableDataset.
110001  func (itd InformixTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
110002  	return nil, false
110003  }
110004  
110005  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for InformixTableDataset.
110006  func (itd InformixTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
110007  	return nil, false
110008  }
110009  
110010  // AsPostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
110011  func (itd InformixTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
110012  	return nil, false
110013  }
110014  
110015  // AsMySQLTableDataset is the BasicDataset implementation for InformixTableDataset.
110016  func (itd InformixTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
110017  	return nil, false
110018  }
110019  
110020  // AsOdbcTableDataset is the BasicDataset implementation for InformixTableDataset.
110021  func (itd InformixTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
110022  	return nil, false
110023  }
110024  
110025  // AsInformixTableDataset is the BasicDataset implementation for InformixTableDataset.
110026  func (itd InformixTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
110027  	return &itd, true
110028  }
110029  
110030  // AsRelationalTableDataset is the BasicDataset implementation for InformixTableDataset.
110031  func (itd InformixTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
110032  	return nil, false
110033  }
110034  
110035  // AsDb2TableDataset is the BasicDataset implementation for InformixTableDataset.
110036  func (itd InformixTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
110037  	return nil, false
110038  }
110039  
110040  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for InformixTableDataset.
110041  func (itd InformixTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
110042  	return nil, false
110043  }
110044  
110045  // AsAzureMySQLTableDataset is the BasicDataset implementation for InformixTableDataset.
110046  func (itd InformixTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
110047  	return nil, false
110048  }
110049  
110050  // AsTeradataTableDataset is the BasicDataset implementation for InformixTableDataset.
110051  func (itd InformixTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
110052  	return nil, false
110053  }
110054  
110055  // AsOracleTableDataset is the BasicDataset implementation for InformixTableDataset.
110056  func (itd InformixTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
110057  	return nil, false
110058  }
110059  
110060  // AsODataResourceDataset is the BasicDataset implementation for InformixTableDataset.
110061  func (itd InformixTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
110062  	return nil, false
110063  }
110064  
110065  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for InformixTableDataset.
110066  func (itd InformixTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
110067  	return nil, false
110068  }
110069  
110070  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for InformixTableDataset.
110071  func (itd InformixTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
110072  	return nil, false
110073  }
110074  
110075  // AsMongoDbCollectionDataset is the BasicDataset implementation for InformixTableDataset.
110076  func (itd InformixTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
110077  	return nil, false
110078  }
110079  
110080  // AsOffice365Dataset is the BasicDataset implementation for InformixTableDataset.
110081  func (itd InformixTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
110082  	return nil, false
110083  }
110084  
110085  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for InformixTableDataset.
110086  func (itd InformixTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
110087  	return nil, false
110088  }
110089  
110090  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for InformixTableDataset.
110091  func (itd InformixTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
110092  	return nil, false
110093  }
110094  
110095  // AsDynamicsEntityDataset is the BasicDataset implementation for InformixTableDataset.
110096  func (itd InformixTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
110097  	return nil, false
110098  }
110099  
110100  // AsDocumentDbCollectionDataset is the BasicDataset implementation for InformixTableDataset.
110101  func (itd InformixTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
110102  	return nil, false
110103  }
110104  
110105  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for InformixTableDataset.
110106  func (itd InformixTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
110107  	return nil, false
110108  }
110109  
110110  // AsCustomDataset is the BasicDataset implementation for InformixTableDataset.
110111  func (itd InformixTableDataset) AsCustomDataset() (*CustomDataset, bool) {
110112  	return nil, false
110113  }
110114  
110115  // AsCassandraTableDataset is the BasicDataset implementation for InformixTableDataset.
110116  func (itd InformixTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
110117  	return nil, false
110118  }
110119  
110120  // AsAzureSQLDWTableDataset is the BasicDataset implementation for InformixTableDataset.
110121  func (itd InformixTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
110122  	return nil, false
110123  }
110124  
110125  // AsAzureSQLMITableDataset is the BasicDataset implementation for InformixTableDataset.
110126  func (itd InformixTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
110127  	return nil, false
110128  }
110129  
110130  // AsAzureSQLTableDataset is the BasicDataset implementation for InformixTableDataset.
110131  func (itd InformixTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
110132  	return nil, false
110133  }
110134  
110135  // AsAzureTableDataset is the BasicDataset implementation for InformixTableDataset.
110136  func (itd InformixTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
110137  	return nil, false
110138  }
110139  
110140  // AsBinaryDataset is the BasicDataset implementation for InformixTableDataset.
110141  func (itd InformixTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
110142  	return nil, false
110143  }
110144  
110145  // AsOrcDataset is the BasicDataset implementation for InformixTableDataset.
110146  func (itd InformixTableDataset) AsOrcDataset() (*OrcDataset, bool) {
110147  	return nil, false
110148  }
110149  
110150  // AsJSONDataset is the BasicDataset implementation for InformixTableDataset.
110151  func (itd InformixTableDataset) AsJSONDataset() (*JSONDataset, bool) {
110152  	return nil, false
110153  }
110154  
110155  // AsDelimitedTextDataset is the BasicDataset implementation for InformixTableDataset.
110156  func (itd InformixTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
110157  	return nil, false
110158  }
110159  
110160  // AsParquetDataset is the BasicDataset implementation for InformixTableDataset.
110161  func (itd InformixTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
110162  	return nil, false
110163  }
110164  
110165  // AsAvroDataset is the BasicDataset implementation for InformixTableDataset.
110166  func (itd InformixTableDataset) AsAvroDataset() (*AvroDataset, bool) {
110167  	return nil, false
110168  }
110169  
110170  // AsDataset is the BasicDataset implementation for InformixTableDataset.
110171  func (itd InformixTableDataset) AsDataset() (*Dataset, bool) {
110172  	return nil, false
110173  }
110174  
110175  // AsBasicDataset is the BasicDataset implementation for InformixTableDataset.
110176  func (itd InformixTableDataset) AsBasicDataset() (BasicDataset, bool) {
110177  	return &itd, true
110178  }
110179  
110180  // UnmarshalJSON is the custom unmarshaler for InformixTableDataset struct.
110181  func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error {
110182  	var m map[string]*json.RawMessage
110183  	err := json.Unmarshal(body, &m)
110184  	if err != nil {
110185  		return err
110186  	}
110187  	for k, v := range m {
110188  		switch k {
110189  		case "typeProperties":
110190  			if v != nil {
110191  				var informixTableDatasetTypeProperties InformixTableDatasetTypeProperties
110192  				err = json.Unmarshal(*v, &informixTableDatasetTypeProperties)
110193  				if err != nil {
110194  					return err
110195  				}
110196  				itd.InformixTableDatasetTypeProperties = &informixTableDatasetTypeProperties
110197  			}
110198  		default:
110199  			if v != nil {
110200  				var additionalProperties interface{}
110201  				err = json.Unmarshal(*v, &additionalProperties)
110202  				if err != nil {
110203  					return err
110204  				}
110205  				if itd.AdditionalProperties == nil {
110206  					itd.AdditionalProperties = make(map[string]interface{})
110207  				}
110208  				itd.AdditionalProperties[k] = additionalProperties
110209  			}
110210  		case "description":
110211  			if v != nil {
110212  				var description string
110213  				err = json.Unmarshal(*v, &description)
110214  				if err != nil {
110215  					return err
110216  				}
110217  				itd.Description = &description
110218  			}
110219  		case "structure":
110220  			if v != nil {
110221  				var structure interface{}
110222  				err = json.Unmarshal(*v, &structure)
110223  				if err != nil {
110224  					return err
110225  				}
110226  				itd.Structure = structure
110227  			}
110228  		case "schema":
110229  			if v != nil {
110230  				var schema interface{}
110231  				err = json.Unmarshal(*v, &schema)
110232  				if err != nil {
110233  					return err
110234  				}
110235  				itd.Schema = schema
110236  			}
110237  		case "linkedServiceName":
110238  			if v != nil {
110239  				var linkedServiceName LinkedServiceReference
110240  				err = json.Unmarshal(*v, &linkedServiceName)
110241  				if err != nil {
110242  					return err
110243  				}
110244  				itd.LinkedServiceName = &linkedServiceName
110245  			}
110246  		case "parameters":
110247  			if v != nil {
110248  				var parameters map[string]*ParameterSpecification
110249  				err = json.Unmarshal(*v, &parameters)
110250  				if err != nil {
110251  					return err
110252  				}
110253  				itd.Parameters = parameters
110254  			}
110255  		case "annotations":
110256  			if v != nil {
110257  				var annotations []interface{}
110258  				err = json.Unmarshal(*v, &annotations)
110259  				if err != nil {
110260  					return err
110261  				}
110262  				itd.Annotations = &annotations
110263  			}
110264  		case "folder":
110265  			if v != nil {
110266  				var folder DatasetFolder
110267  				err = json.Unmarshal(*v, &folder)
110268  				if err != nil {
110269  					return err
110270  				}
110271  				itd.Folder = &folder
110272  			}
110273  		case "type":
110274  			if v != nil {
110275  				var typeVar TypeBasicDataset
110276  				err = json.Unmarshal(*v, &typeVar)
110277  				if err != nil {
110278  					return err
110279  				}
110280  				itd.Type = typeVar
110281  			}
110282  		}
110283  	}
110284  
110285  	return nil
110286  }
110287  
110288  // InformixTableDatasetTypeProperties informix table dataset properties.
110289  type InformixTableDatasetTypeProperties struct {
110290  	// TableName - The Informix table name. Type: string (or Expression with resultType string).
110291  	TableName interface{} `json:"tableName,omitempty"`
110292  }
110293  
110294  // BasicIntegrationRuntime azure Synapse nested object which serves as a compute resource for activities.
110295  type BasicIntegrationRuntime interface {
110296  	AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool)
110297  	AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool)
110298  	AsIntegrationRuntime() (*IntegrationRuntime, bool)
110299  }
110300  
110301  // IntegrationRuntime azure Synapse nested object which serves as a compute resource for activities.
110302  type IntegrationRuntime struct {
110303  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110304  	AdditionalProperties map[string]interface{} `json:""`
110305  	// Description - Integration runtime description.
110306  	Description *string `json:"description,omitempty"`
110307  	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
110308  	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
110309  }
110310  
110311  func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) {
110312  	var m map[string]interface{}
110313  	err := json.Unmarshal(body, &m)
110314  	if err != nil {
110315  		return nil, err
110316  	}
110317  
110318  	switch m["type"] {
110319  	case string(TypeSelfHosted):
110320  		var shir SelfHostedIntegrationRuntime
110321  		err := json.Unmarshal(body, &shir)
110322  		return shir, err
110323  	case string(TypeManaged):
110324  		var mir ManagedIntegrationRuntime
110325  		err := json.Unmarshal(body, &mir)
110326  		return mir, err
110327  	default:
110328  		var ir IntegrationRuntime
110329  		err := json.Unmarshal(body, &ir)
110330  		return ir, err
110331  	}
110332  }
110333  func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) {
110334  	var rawMessages []*json.RawMessage
110335  	err := json.Unmarshal(body, &rawMessages)
110336  	if err != nil {
110337  		return nil, err
110338  	}
110339  
110340  	irArray := make([]BasicIntegrationRuntime, len(rawMessages))
110341  
110342  	for index, rawMessage := range rawMessages {
110343  		ir, err := unmarshalBasicIntegrationRuntime(*rawMessage)
110344  		if err != nil {
110345  			return nil, err
110346  		}
110347  		irArray[index] = ir
110348  	}
110349  	return irArray, nil
110350  }
110351  
110352  // MarshalJSON is the custom marshaler for IntegrationRuntime.
110353  func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) {
110354  	ir.Type = TypeIntegrationRuntime
110355  	objectMap := make(map[string]interface{})
110356  	if ir.Description != nil {
110357  		objectMap["description"] = ir.Description
110358  	}
110359  	if ir.Type != "" {
110360  		objectMap["type"] = ir.Type
110361  	}
110362  	for k, v := range ir.AdditionalProperties {
110363  		objectMap[k] = v
110364  	}
110365  	return json.Marshal(objectMap)
110366  }
110367  
110368  // AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
110369  func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
110370  	return nil, false
110371  }
110372  
110373  // AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
110374  func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
110375  	return nil, false
110376  }
110377  
110378  // AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
110379  func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
110380  	return &ir, true
110381  }
110382  
110383  // AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime.
110384  func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
110385  	return &ir, true
110386  }
110387  
110388  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct.
110389  func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error {
110390  	var m map[string]*json.RawMessage
110391  	err := json.Unmarshal(body, &m)
110392  	if err != nil {
110393  		return err
110394  	}
110395  	for k, v := range m {
110396  		switch k {
110397  		default:
110398  			if v != nil {
110399  				var additionalProperties interface{}
110400  				err = json.Unmarshal(*v, &additionalProperties)
110401  				if err != nil {
110402  					return err
110403  				}
110404  				if ir.AdditionalProperties == nil {
110405  					ir.AdditionalProperties = make(map[string]interface{})
110406  				}
110407  				ir.AdditionalProperties[k] = additionalProperties
110408  			}
110409  		case "description":
110410  			if v != nil {
110411  				var description string
110412  				err = json.Unmarshal(*v, &description)
110413  				if err != nil {
110414  					return err
110415  				}
110416  				ir.Description = &description
110417  			}
110418  		case "type":
110419  			if v != nil {
110420  				var typeVar TypeBasicIntegrationRuntime
110421  				err = json.Unmarshal(*v, &typeVar)
110422  				if err != nil {
110423  					return err
110424  				}
110425  				ir.Type = typeVar
110426  			}
110427  		}
110428  	}
110429  
110430  	return nil
110431  }
110432  
110433  // IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime.
110434  type IntegrationRuntimeComputeProperties struct {
110435  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110436  	AdditionalProperties map[string]interface{} `json:""`
110437  	// 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
110438  	Location *string `json:"location,omitempty"`
110439  	// NodeSize - The node size requirement to managed integration runtime.
110440  	NodeSize *string `json:"nodeSize,omitempty"`
110441  	// NumberOfNodes - The required number of nodes for managed integration runtime.
110442  	NumberOfNodes *int32 `json:"numberOfNodes,omitempty"`
110443  	// MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime.
110444  	MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"`
110445  	// DataFlowProperties - Data flow properties for managed integration runtime.
110446  	DataFlowProperties *IntegrationRuntimeDataFlowProperties `json:"dataFlowProperties,omitempty"`
110447  	// VNetProperties - VNet properties for managed integration runtime.
110448  	VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"`
110449  }
110450  
110451  // MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties.
110452  func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) {
110453  	objectMap := make(map[string]interface{})
110454  	if ircp.Location != nil {
110455  		objectMap["location"] = ircp.Location
110456  	}
110457  	if ircp.NodeSize != nil {
110458  		objectMap["nodeSize"] = ircp.NodeSize
110459  	}
110460  	if ircp.NumberOfNodes != nil {
110461  		objectMap["numberOfNodes"] = ircp.NumberOfNodes
110462  	}
110463  	if ircp.MaxParallelExecutionsPerNode != nil {
110464  		objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode
110465  	}
110466  	if ircp.DataFlowProperties != nil {
110467  		objectMap["dataFlowProperties"] = ircp.DataFlowProperties
110468  	}
110469  	if ircp.VNetProperties != nil {
110470  		objectMap["vNetProperties"] = ircp.VNetProperties
110471  	}
110472  	for k, v := range ircp.AdditionalProperties {
110473  		objectMap[k] = v
110474  	}
110475  	return json.Marshal(objectMap)
110476  }
110477  
110478  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct.
110479  func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error {
110480  	var m map[string]*json.RawMessage
110481  	err := json.Unmarshal(body, &m)
110482  	if err != nil {
110483  		return err
110484  	}
110485  	for k, v := range m {
110486  		switch k {
110487  		default:
110488  			if v != nil {
110489  				var additionalProperties interface{}
110490  				err = json.Unmarshal(*v, &additionalProperties)
110491  				if err != nil {
110492  					return err
110493  				}
110494  				if ircp.AdditionalProperties == nil {
110495  					ircp.AdditionalProperties = make(map[string]interface{})
110496  				}
110497  				ircp.AdditionalProperties[k] = additionalProperties
110498  			}
110499  		case "location":
110500  			if v != nil {
110501  				var location string
110502  				err = json.Unmarshal(*v, &location)
110503  				if err != nil {
110504  					return err
110505  				}
110506  				ircp.Location = &location
110507  			}
110508  		case "nodeSize":
110509  			if v != nil {
110510  				var nodeSize string
110511  				err = json.Unmarshal(*v, &nodeSize)
110512  				if err != nil {
110513  					return err
110514  				}
110515  				ircp.NodeSize = &nodeSize
110516  			}
110517  		case "numberOfNodes":
110518  			if v != nil {
110519  				var numberOfNodes int32
110520  				err = json.Unmarshal(*v, &numberOfNodes)
110521  				if err != nil {
110522  					return err
110523  				}
110524  				ircp.NumberOfNodes = &numberOfNodes
110525  			}
110526  		case "maxParallelExecutionsPerNode":
110527  			if v != nil {
110528  				var maxParallelExecutionsPerNode int32
110529  				err = json.Unmarshal(*v, &maxParallelExecutionsPerNode)
110530  				if err != nil {
110531  					return err
110532  				}
110533  				ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode
110534  			}
110535  		case "dataFlowProperties":
110536  			if v != nil {
110537  				var dataFlowProperties IntegrationRuntimeDataFlowProperties
110538  				err = json.Unmarshal(*v, &dataFlowProperties)
110539  				if err != nil {
110540  					return err
110541  				}
110542  				ircp.DataFlowProperties = &dataFlowProperties
110543  			}
110544  		case "vNetProperties":
110545  			if v != nil {
110546  				var vNetProperties IntegrationRuntimeVNetProperties
110547  				err = json.Unmarshal(*v, &vNetProperties)
110548  				if err != nil {
110549  					return err
110550  				}
110551  				ircp.VNetProperties = &vNetProperties
110552  			}
110553  		}
110554  	}
110555  
110556  	return nil
110557  }
110558  
110559  // IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated
110560  // integration runtime.
110561  type IntegrationRuntimeCustomSetupScriptProperties struct {
110562  	// BlobContainerURI - The URI of the Azure blob container that contains the custom setup script.
110563  	BlobContainerURI *string `json:"blobContainerUri,omitempty"`
110564  	// SasToken - The SAS token of the Azure blob container.
110565  	SasToken *SecureString `json:"sasToken,omitempty"`
110566  }
110567  
110568  // IntegrationRuntimeDataFlowProperties data flow properties for managed integration runtime.
110569  type IntegrationRuntimeDataFlowProperties struct {
110570  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110571  	AdditionalProperties map[string]interface{} `json:""`
110572  	// ComputeType - Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized'
110573  	ComputeType DataFlowComputeType `json:"computeType,omitempty"`
110574  	// CoreCount - Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272.
110575  	CoreCount *int32 `json:"coreCount,omitempty"`
110576  	// TimeToLive - Time to live (in minutes) setting of the cluster which will execute data flow job.
110577  	TimeToLive *int32 `json:"timeToLive,omitempty"`
110578  }
110579  
110580  // MarshalJSON is the custom marshaler for IntegrationRuntimeDataFlowProperties.
110581  func (irdfp IntegrationRuntimeDataFlowProperties) MarshalJSON() ([]byte, error) {
110582  	objectMap := make(map[string]interface{})
110583  	if irdfp.ComputeType != "" {
110584  		objectMap["computeType"] = irdfp.ComputeType
110585  	}
110586  	if irdfp.CoreCount != nil {
110587  		objectMap["coreCount"] = irdfp.CoreCount
110588  	}
110589  	if irdfp.TimeToLive != nil {
110590  		objectMap["timeToLive"] = irdfp.TimeToLive
110591  	}
110592  	for k, v := range irdfp.AdditionalProperties {
110593  		objectMap[k] = v
110594  	}
110595  	return json.Marshal(objectMap)
110596  }
110597  
110598  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeDataFlowProperties struct.
110599  func (irdfp *IntegrationRuntimeDataFlowProperties) UnmarshalJSON(body []byte) error {
110600  	var m map[string]*json.RawMessage
110601  	err := json.Unmarshal(body, &m)
110602  	if err != nil {
110603  		return err
110604  	}
110605  	for k, v := range m {
110606  		switch k {
110607  		default:
110608  			if v != nil {
110609  				var additionalProperties interface{}
110610  				err = json.Unmarshal(*v, &additionalProperties)
110611  				if err != nil {
110612  					return err
110613  				}
110614  				if irdfp.AdditionalProperties == nil {
110615  					irdfp.AdditionalProperties = make(map[string]interface{})
110616  				}
110617  				irdfp.AdditionalProperties[k] = additionalProperties
110618  			}
110619  		case "computeType":
110620  			if v != nil {
110621  				var computeType DataFlowComputeType
110622  				err = json.Unmarshal(*v, &computeType)
110623  				if err != nil {
110624  					return err
110625  				}
110626  				irdfp.ComputeType = computeType
110627  			}
110628  		case "coreCount":
110629  			if v != nil {
110630  				var coreCount int32
110631  				err = json.Unmarshal(*v, &coreCount)
110632  				if err != nil {
110633  					return err
110634  				}
110635  				irdfp.CoreCount = &coreCount
110636  			}
110637  		case "timeToLive":
110638  			if v != nil {
110639  				var timeToLive int32
110640  				err = json.Unmarshal(*v, &timeToLive)
110641  				if err != nil {
110642  					return err
110643  				}
110644  				irdfp.TimeToLive = &timeToLive
110645  			}
110646  		}
110647  	}
110648  
110649  	return nil
110650  }
110651  
110652  // IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime.
110653  type IntegrationRuntimeDataProxyProperties struct {
110654  	// ConnectVia - The self-hosted integration runtime reference.
110655  	ConnectVia *EntityReference `json:"connectVia,omitempty"`
110656  	// StagingLinkedService - The staging linked service reference.
110657  	StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"`
110658  	// Path - The path to contain the staged data in the Blob storage.
110659  	Path *string `json:"path,omitempty"`
110660  }
110661  
110662  // IntegrationRuntimeListResponse a list of integration runtime resources.
110663  type IntegrationRuntimeListResponse struct {
110664  	autorest.Response `json:"-"`
110665  	// Value - List of integration runtimes.
110666  	Value *[]IntegrationRuntimeResource `json:"value,omitempty"`
110667  	// NextLink - The link to the next page of results, if any remaining results exist.
110668  	NextLink *string `json:"nextLink,omitempty"`
110669  }
110670  
110671  // IntegrationRuntimeReference integration runtime reference type.
110672  type IntegrationRuntimeReference struct {
110673  	// Type - Type of integration runtime.
110674  	Type *string `json:"type,omitempty"`
110675  	// ReferenceName - Reference integration runtime name.
110676  	ReferenceName *string `json:"referenceName,omitempty"`
110677  	// Parameters - Arguments for integration runtime.
110678  	Parameters map[string]interface{} `json:"parameters"`
110679  }
110680  
110681  // MarshalJSON is the custom marshaler for IntegrationRuntimeReference.
110682  func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) {
110683  	objectMap := make(map[string]interface{})
110684  	if irr.Type != nil {
110685  		objectMap["type"] = irr.Type
110686  	}
110687  	if irr.ReferenceName != nil {
110688  		objectMap["referenceName"] = irr.ReferenceName
110689  	}
110690  	if irr.Parameters != nil {
110691  		objectMap["parameters"] = irr.Parameters
110692  	}
110693  	return json.Marshal(objectMap)
110694  }
110695  
110696  // IntegrationRuntimeResource integration runtime resource type.
110697  type IntegrationRuntimeResource struct {
110698  	autorest.Response `json:"-"`
110699  	// Properties - Integration runtime properties.
110700  	Properties BasicIntegrationRuntime `json:"properties,omitempty"`
110701  	// Etag - READ-ONLY; Resource Etag.
110702  	Etag *string `json:"etag,omitempty"`
110703  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
110704  	ID *string `json:"id,omitempty"`
110705  	// Name - READ-ONLY; The name of the resource
110706  	Name *string `json:"name,omitempty"`
110707  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
110708  	Type *string `json:"type,omitempty"`
110709  }
110710  
110711  // MarshalJSON is the custom marshaler for IntegrationRuntimeResource.
110712  func (irr IntegrationRuntimeResource) MarshalJSON() ([]byte, error) {
110713  	objectMap := make(map[string]interface{})
110714  	objectMap["properties"] = irr.Properties
110715  	return json.Marshal(objectMap)
110716  }
110717  
110718  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct.
110719  func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error {
110720  	var m map[string]*json.RawMessage
110721  	err := json.Unmarshal(body, &m)
110722  	if err != nil {
110723  		return err
110724  	}
110725  	for k, v := range m {
110726  		switch k {
110727  		case "properties":
110728  			if v != nil {
110729  				properties, err := unmarshalBasicIntegrationRuntime(*v)
110730  				if err != nil {
110731  					return err
110732  				}
110733  				irr.Properties = properties
110734  			}
110735  		case "etag":
110736  			if v != nil {
110737  				var etag string
110738  				err = json.Unmarshal(*v, &etag)
110739  				if err != nil {
110740  					return err
110741  				}
110742  				irr.Etag = &etag
110743  			}
110744  		case "id":
110745  			if v != nil {
110746  				var ID string
110747  				err = json.Unmarshal(*v, &ID)
110748  				if err != nil {
110749  					return err
110750  				}
110751  				irr.ID = &ID
110752  			}
110753  		case "name":
110754  			if v != nil {
110755  				var name string
110756  				err = json.Unmarshal(*v, &name)
110757  				if err != nil {
110758  					return err
110759  				}
110760  				irr.Name = &name
110761  			}
110762  		case "type":
110763  			if v != nil {
110764  				var typeVar string
110765  				err = json.Unmarshal(*v, &typeVar)
110766  				if err != nil {
110767  					return err
110768  				}
110769  				irr.Type = &typeVar
110770  			}
110771  		}
110772  	}
110773  
110774  	return nil
110775  }
110776  
110777  // IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime.
110778  type IntegrationRuntimeSsisCatalogInfo struct {
110779  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110780  	AdditionalProperties map[string]interface{} `json:""`
110781  	// CatalogServerEndpoint - The catalog database server URL.
110782  	CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"`
110783  	// CatalogAdminUserName - The administrator user name of catalog database.
110784  	CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"`
110785  	// CatalogAdminPassword - The password of the administrator user account of the catalog database.
110786  	CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"`
110787  	// 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'
110788  	CatalogPricingTier IntegrationRuntimeSsisCatalogPricingTier `json:"catalogPricingTier,omitempty"`
110789  }
110790  
110791  // MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo.
110792  func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) {
110793  	objectMap := make(map[string]interface{})
110794  	if irsci.CatalogServerEndpoint != nil {
110795  		objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint
110796  	}
110797  	if irsci.CatalogAdminUserName != nil {
110798  		objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName
110799  	}
110800  	if irsci.CatalogAdminPassword != nil {
110801  		objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword
110802  	}
110803  	if irsci.CatalogPricingTier != "" {
110804  		objectMap["catalogPricingTier"] = irsci.CatalogPricingTier
110805  	}
110806  	for k, v := range irsci.AdditionalProperties {
110807  		objectMap[k] = v
110808  	}
110809  	return json.Marshal(objectMap)
110810  }
110811  
110812  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct.
110813  func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error {
110814  	var m map[string]*json.RawMessage
110815  	err := json.Unmarshal(body, &m)
110816  	if err != nil {
110817  		return err
110818  	}
110819  	for k, v := range m {
110820  		switch k {
110821  		default:
110822  			if v != nil {
110823  				var additionalProperties interface{}
110824  				err = json.Unmarshal(*v, &additionalProperties)
110825  				if err != nil {
110826  					return err
110827  				}
110828  				if irsci.AdditionalProperties == nil {
110829  					irsci.AdditionalProperties = make(map[string]interface{})
110830  				}
110831  				irsci.AdditionalProperties[k] = additionalProperties
110832  			}
110833  		case "catalogServerEndpoint":
110834  			if v != nil {
110835  				var catalogServerEndpoint string
110836  				err = json.Unmarshal(*v, &catalogServerEndpoint)
110837  				if err != nil {
110838  					return err
110839  				}
110840  				irsci.CatalogServerEndpoint = &catalogServerEndpoint
110841  			}
110842  		case "catalogAdminUserName":
110843  			if v != nil {
110844  				var catalogAdminUserName string
110845  				err = json.Unmarshal(*v, &catalogAdminUserName)
110846  				if err != nil {
110847  					return err
110848  				}
110849  				irsci.CatalogAdminUserName = &catalogAdminUserName
110850  			}
110851  		case "catalogAdminPassword":
110852  			if v != nil {
110853  				var catalogAdminPassword SecureString
110854  				err = json.Unmarshal(*v, &catalogAdminPassword)
110855  				if err != nil {
110856  					return err
110857  				}
110858  				irsci.CatalogAdminPassword = &catalogAdminPassword
110859  			}
110860  		case "catalogPricingTier":
110861  			if v != nil {
110862  				var catalogPricingTier IntegrationRuntimeSsisCatalogPricingTier
110863  				err = json.Unmarshal(*v, &catalogPricingTier)
110864  				if err != nil {
110865  					return err
110866  				}
110867  				irsci.CatalogPricingTier = catalogPricingTier
110868  			}
110869  		}
110870  	}
110871  
110872  	return nil
110873  }
110874  
110875  // IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime.
110876  type IntegrationRuntimeSsisProperties struct {
110877  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
110878  	AdditionalProperties map[string]interface{} `json:""`
110879  	// CatalogInfo - Catalog information for managed dedicated integration runtime.
110880  	CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"`
110881  	// LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded'
110882  	LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"`
110883  	// CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime.
110884  	CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"`
110885  	// DataProxyProperties - Data proxy properties for a managed dedicated integration runtime.
110886  	DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"`
110887  	// Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise'
110888  	Edition IntegrationRuntimeEdition `json:"edition,omitempty"`
110889  	// ExpressCustomSetupProperties - Custom setup without script properties for a SSIS integration runtime.
110890  	ExpressCustomSetupProperties *[]BasicCustomSetupBase `json:"expressCustomSetupProperties,omitempty"`
110891  }
110892  
110893  // MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties.
110894  func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) {
110895  	objectMap := make(map[string]interface{})
110896  	if irsp.CatalogInfo != nil {
110897  		objectMap["catalogInfo"] = irsp.CatalogInfo
110898  	}
110899  	if irsp.LicenseType != "" {
110900  		objectMap["licenseType"] = irsp.LicenseType
110901  	}
110902  	if irsp.CustomSetupScriptProperties != nil {
110903  		objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties
110904  	}
110905  	if irsp.DataProxyProperties != nil {
110906  		objectMap["dataProxyProperties"] = irsp.DataProxyProperties
110907  	}
110908  	if irsp.Edition != "" {
110909  		objectMap["edition"] = irsp.Edition
110910  	}
110911  	if irsp.ExpressCustomSetupProperties != nil {
110912  		objectMap["expressCustomSetupProperties"] = irsp.ExpressCustomSetupProperties
110913  	}
110914  	for k, v := range irsp.AdditionalProperties {
110915  		objectMap[k] = v
110916  	}
110917  	return json.Marshal(objectMap)
110918  }
110919  
110920  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct.
110921  func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error {
110922  	var m map[string]*json.RawMessage
110923  	err := json.Unmarshal(body, &m)
110924  	if err != nil {
110925  		return err
110926  	}
110927  	for k, v := range m {
110928  		switch k {
110929  		default:
110930  			if v != nil {
110931  				var additionalProperties interface{}
110932  				err = json.Unmarshal(*v, &additionalProperties)
110933  				if err != nil {
110934  					return err
110935  				}
110936  				if irsp.AdditionalProperties == nil {
110937  					irsp.AdditionalProperties = make(map[string]interface{})
110938  				}
110939  				irsp.AdditionalProperties[k] = additionalProperties
110940  			}
110941  		case "catalogInfo":
110942  			if v != nil {
110943  				var catalogInfo IntegrationRuntimeSsisCatalogInfo
110944  				err = json.Unmarshal(*v, &catalogInfo)
110945  				if err != nil {
110946  					return err
110947  				}
110948  				irsp.CatalogInfo = &catalogInfo
110949  			}
110950  		case "licenseType":
110951  			if v != nil {
110952  				var licenseType IntegrationRuntimeLicenseType
110953  				err = json.Unmarshal(*v, &licenseType)
110954  				if err != nil {
110955  					return err
110956  				}
110957  				irsp.LicenseType = licenseType
110958  			}
110959  		case "customSetupScriptProperties":
110960  			if v != nil {
110961  				var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties
110962  				err = json.Unmarshal(*v, &customSetupScriptProperties)
110963  				if err != nil {
110964  					return err
110965  				}
110966  				irsp.CustomSetupScriptProperties = &customSetupScriptProperties
110967  			}
110968  		case "dataProxyProperties":
110969  			if v != nil {
110970  				var dataProxyProperties IntegrationRuntimeDataProxyProperties
110971  				err = json.Unmarshal(*v, &dataProxyProperties)
110972  				if err != nil {
110973  					return err
110974  				}
110975  				irsp.DataProxyProperties = &dataProxyProperties
110976  			}
110977  		case "edition":
110978  			if v != nil {
110979  				var edition IntegrationRuntimeEdition
110980  				err = json.Unmarshal(*v, &edition)
110981  				if err != nil {
110982  					return err
110983  				}
110984  				irsp.Edition = edition
110985  			}
110986  		case "expressCustomSetupProperties":
110987  			if v != nil {
110988  				expressCustomSetupProperties, err := unmarshalBasicCustomSetupBaseArray(*v)
110989  				if err != nil {
110990  					return err
110991  				}
110992  				irsp.ExpressCustomSetupProperties = &expressCustomSetupProperties
110993  			}
110994  		}
110995  	}
110996  
110997  	return nil
110998  }
110999  
111000  // IntegrationRuntimeVNetProperties vNet properties for managed integration runtime.
111001  type IntegrationRuntimeVNetProperties struct {
111002  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
111003  	AdditionalProperties map[string]interface{} `json:""`
111004  	// VNetID - The ID of the VNet that this integration runtime will join.
111005  	VNetID *string `json:"vNetId,omitempty"`
111006  	// Subnet - The name of the subnet this integration runtime will join.
111007  	Subnet *string `json:"subnet,omitempty"`
111008  	// PublicIPs - Resource IDs of the public IP addresses that this integration runtime will use.
111009  	PublicIPs *[]string `json:"publicIPs,omitempty"`
111010  }
111011  
111012  // MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties.
111013  func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) {
111014  	objectMap := make(map[string]interface{})
111015  	if irvnp.VNetID != nil {
111016  		objectMap["vNetId"] = irvnp.VNetID
111017  	}
111018  	if irvnp.Subnet != nil {
111019  		objectMap["subnet"] = irvnp.Subnet
111020  	}
111021  	if irvnp.PublicIPs != nil {
111022  		objectMap["publicIPs"] = irvnp.PublicIPs
111023  	}
111024  	for k, v := range irvnp.AdditionalProperties {
111025  		objectMap[k] = v
111026  	}
111027  	return json.Marshal(objectMap)
111028  }
111029  
111030  // UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct.
111031  func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error {
111032  	var m map[string]*json.RawMessage
111033  	err := json.Unmarshal(body, &m)
111034  	if err != nil {
111035  		return err
111036  	}
111037  	for k, v := range m {
111038  		switch k {
111039  		default:
111040  			if v != nil {
111041  				var additionalProperties interface{}
111042  				err = json.Unmarshal(*v, &additionalProperties)
111043  				if err != nil {
111044  					return err
111045  				}
111046  				if irvnp.AdditionalProperties == nil {
111047  					irvnp.AdditionalProperties = make(map[string]interface{})
111048  				}
111049  				irvnp.AdditionalProperties[k] = additionalProperties
111050  			}
111051  		case "vNetId":
111052  			if v != nil {
111053  				var vNetID string
111054  				err = json.Unmarshal(*v, &vNetID)
111055  				if err != nil {
111056  					return err
111057  				}
111058  				irvnp.VNetID = &vNetID
111059  			}
111060  		case "subnet":
111061  			if v != nil {
111062  				var subnet string
111063  				err = json.Unmarshal(*v, &subnet)
111064  				if err != nil {
111065  					return err
111066  				}
111067  				irvnp.Subnet = &subnet
111068  			}
111069  		case "publicIPs":
111070  			if v != nil {
111071  				var publicIPs []string
111072  				err = json.Unmarshal(*v, &publicIPs)
111073  				if err != nil {
111074  					return err
111075  				}
111076  				irvnp.PublicIPs = &publicIPs
111077  			}
111078  		}
111079  	}
111080  
111081  	return nil
111082  }
111083  
111084  // JiraLinkedService jira Service linked service.
111085  type JiraLinkedService struct {
111086  	// JiraLinkedServiceTypeProperties - Jira Service linked service properties.
111087  	*JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
111088  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
111089  	AdditionalProperties map[string]interface{} `json:""`
111090  	// ConnectVia - The integration runtime reference.
111091  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
111092  	// Description - Linked service description.
111093  	Description *string `json:"description,omitempty"`
111094  	// Parameters - Parameters for linked service.
111095  	Parameters map[string]*ParameterSpecification `json:"parameters"`
111096  	// Annotations - List of tags that can be used for describing the linked service.
111097  	Annotations *[]interface{} `json:"annotations,omitempty"`
111098  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
111099  	Type TypeBasicLinkedService `json:"type,omitempty"`
111100  }
111101  
111102  // MarshalJSON is the custom marshaler for JiraLinkedService.
111103  func (jls JiraLinkedService) MarshalJSON() ([]byte, error) {
111104  	jls.Type = TypeJira
111105  	objectMap := make(map[string]interface{})
111106  	if jls.JiraLinkedServiceTypeProperties != nil {
111107  		objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties
111108  	}
111109  	if jls.ConnectVia != nil {
111110  		objectMap["connectVia"] = jls.ConnectVia
111111  	}
111112  	if jls.Description != nil {
111113  		objectMap["description"] = jls.Description
111114  	}
111115  	if jls.Parameters != nil {
111116  		objectMap["parameters"] = jls.Parameters
111117  	}
111118  	if jls.Annotations != nil {
111119  		objectMap["annotations"] = jls.Annotations
111120  	}
111121  	if jls.Type != "" {
111122  		objectMap["type"] = jls.Type
111123  	}
111124  	for k, v := range jls.AdditionalProperties {
111125  		objectMap[k] = v
111126  	}
111127  	return json.Marshal(objectMap)
111128  }
111129  
111130  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111131  func (jls JiraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
111132  	return nil, false
111133  }
111134  
111135  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111136  func (jls JiraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
111137  	return nil, false
111138  }
111139  
111140  // AsSapTableLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111141  func (jls JiraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
111142  	return nil, false
111143  }
111144  
111145  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111146  func (jls JiraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
111147  	return nil, false
111148  }
111149  
111150  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111151  func (jls JiraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
111152  	return nil, false
111153  }
111154  
111155  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111156  func (jls JiraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
111157  	return nil, false
111158  }
111159  
111160  // AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111161  func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
111162  	return nil, false
111163  }
111164  
111165  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111166  func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
111167  	return nil, false
111168  }
111169  
111170  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111171  func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
111172  	return nil, false
111173  }
111174  
111175  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111176  func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
111177  	return nil, false
111178  }
111179  
111180  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111181  func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
111182  	return nil, false
111183  }
111184  
111185  // AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111186  func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
111187  	return nil, false
111188  }
111189  
111190  // AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111191  func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
111192  	return nil, false
111193  }
111194  
111195  // AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111196  func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
111197  	return nil, false
111198  }
111199  
111200  // AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111201  func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
111202  	return nil, false
111203  }
111204  
111205  // AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111206  func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
111207  	return nil, false
111208  }
111209  
111210  // AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111211  func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
111212  	return nil, false
111213  }
111214  
111215  // AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111216  func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
111217  	return nil, false
111218  }
111219  
111220  // AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111221  func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
111222  	return nil, false
111223  }
111224  
111225  // AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111226  func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
111227  	return nil, false
111228  }
111229  
111230  // AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111231  func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
111232  	return nil, false
111233  }
111234  
111235  // AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111236  func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
111237  	return nil, false
111238  }
111239  
111240  // AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111241  func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
111242  	return nil, false
111243  }
111244  
111245  // AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111246  func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
111247  	return nil, false
111248  }
111249  
111250  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111251  func (jls JiraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
111252  	return nil, false
111253  }
111254  
111255  // AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111256  func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
111257  	return nil, false
111258  }
111259  
111260  // AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111261  func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
111262  	return nil, false
111263  }
111264  
111265  // AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111266  func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
111267  	return &jls, true
111268  }
111269  
111270  // AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111271  func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
111272  	return nil, false
111273  }
111274  
111275  // AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111276  func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
111277  	return nil, false
111278  }
111279  
111280  // AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111281  func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
111282  	return nil, false
111283  }
111284  
111285  // AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111286  func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
111287  	return nil, false
111288  }
111289  
111290  // AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111291  func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
111292  	return nil, false
111293  }
111294  
111295  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111296  func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
111297  	return nil, false
111298  }
111299  
111300  // AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111301  func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
111302  	return nil, false
111303  }
111304  
111305  // AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111306  func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
111307  	return nil, false
111308  }
111309  
111310  // AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111311  func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
111312  	return nil, false
111313  }
111314  
111315  // AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111316  func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
111317  	return nil, false
111318  }
111319  
111320  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111321  func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
111322  	return nil, false
111323  }
111324  
111325  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111326  func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
111327  	return nil, false
111328  }
111329  
111330  // AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111331  func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
111332  	return nil, false
111333  }
111334  
111335  // AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111336  func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
111337  	return nil, false
111338  }
111339  
111340  // AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111341  func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
111342  	return nil, false
111343  }
111344  
111345  // AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111346  func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
111347  	return nil, false
111348  }
111349  
111350  // AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111351  func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
111352  	return nil, false
111353  }
111354  
111355  // AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111356  func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
111357  	return nil, false
111358  }
111359  
111360  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111361  func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
111362  	return nil, false
111363  }
111364  
111365  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111366  func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
111367  	return nil, false
111368  }
111369  
111370  // AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService.
111371  func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
111372  	return nil, false
111373  }
111374  
111375  // AsRestServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111376  func (jls JiraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
111377  	return nil, false
111378  }
111379  
111380  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111381  func (jls JiraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
111382  	return nil, false
111383  }
111384  
111385  // AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111386  func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
111387  	return nil, false
111388  }
111389  
111390  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111391  func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
111392  	return nil, false
111393  }
111394  
111395  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111396  func (jls JiraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
111397  	return nil, false
111398  }
111399  
111400  // AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111401  func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
111402  	return nil, false
111403  }
111404  
111405  // AsOffice365LinkedService is the BasicLinkedService implementation for JiraLinkedService.
111406  func (jls JiraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
111407  	return nil, false
111408  }
111409  
111410  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111411  func (jls JiraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
111412  	return nil, false
111413  }
111414  
111415  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111416  func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
111417  	return nil, false
111418  }
111419  
111420  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for JiraLinkedService.
111421  func (jls JiraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
111422  	return nil, false
111423  }
111424  
111425  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
111426  func (jls JiraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
111427  	return nil, false
111428  }
111429  
111430  // AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111431  func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
111432  	return nil, false
111433  }
111434  
111435  // AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111436  func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
111437  	return nil, false
111438  }
111439  
111440  // AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111441  func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
111442  	return nil, false
111443  }
111444  
111445  // AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111446  func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
111447  	return nil, false
111448  }
111449  
111450  // AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111451  func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
111452  	return nil, false
111453  }
111454  
111455  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111456  func (jls JiraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
111457  	return nil, false
111458  }
111459  
111460  // AsInformixLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111461  func (jls JiraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
111462  	return nil, false
111463  }
111464  
111465  // AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111466  func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
111467  	return nil, false
111468  }
111469  
111470  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111471  func (jls JiraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
111472  	return nil, false
111473  }
111474  
111475  // AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111476  func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
111477  	return nil, false
111478  }
111479  
111480  // AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111481  func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
111482  	return nil, false
111483  }
111484  
111485  // AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService.
111486  func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
111487  	return nil, false
111488  }
111489  
111490  // AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111491  func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
111492  	return nil, false
111493  }
111494  
111495  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111496  func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
111497  	return nil, false
111498  }
111499  
111500  // AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111501  func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
111502  	return nil, false
111503  }
111504  
111505  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111506  func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
111507  	return nil, false
111508  }
111509  
111510  // AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111511  func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
111512  	return nil, false
111513  }
111514  
111515  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111516  func (jls JiraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
111517  	return nil, false
111518  }
111519  
111520  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111521  func (jls JiraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
111522  	return nil, false
111523  }
111524  
111525  // AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111526  func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
111527  	return nil, false
111528  }
111529  
111530  // AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111531  func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
111532  	return nil, false
111533  }
111534  
111535  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111536  func (jls JiraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
111537  	return nil, false
111538  }
111539  
111540  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111541  func (jls JiraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
111542  	return nil, false
111543  }
111544  
111545  // AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111546  func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
111547  	return nil, false
111548  }
111549  
111550  // AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111551  func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
111552  	return nil, false
111553  }
111554  
111555  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111556  func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
111557  	return nil, false
111558  }
111559  
111560  // AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111561  func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
111562  	return nil, false
111563  }
111564  
111565  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for JiraLinkedService.
111566  func (jls JiraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
111567  	return nil, false
111568  }
111569  
111570  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111571  func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
111572  	return nil, false
111573  }
111574  
111575  // AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111576  func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
111577  	return nil, false
111578  }
111579  
111580  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111581  func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
111582  	return nil, false
111583  }
111584  
111585  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111586  func (jls JiraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
111587  	return nil, false
111588  }
111589  
111590  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111591  func (jls JiraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
111592  	return nil, false
111593  }
111594  
111595  // AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111596  func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
111597  	return nil, false
111598  }
111599  
111600  // AsLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111601  func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) {
111602  	return nil, false
111603  }
111604  
111605  // AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService.
111606  func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
111607  	return &jls, true
111608  }
111609  
111610  // UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct.
111611  func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error {
111612  	var m map[string]*json.RawMessage
111613  	err := json.Unmarshal(body, &m)
111614  	if err != nil {
111615  		return err
111616  	}
111617  	for k, v := range m {
111618  		switch k {
111619  		case "typeProperties":
111620  			if v != nil {
111621  				var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties
111622  				err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties)
111623  				if err != nil {
111624  					return err
111625  				}
111626  				jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties
111627  			}
111628  		default:
111629  			if v != nil {
111630  				var additionalProperties interface{}
111631  				err = json.Unmarshal(*v, &additionalProperties)
111632  				if err != nil {
111633  					return err
111634  				}
111635  				if jls.AdditionalProperties == nil {
111636  					jls.AdditionalProperties = make(map[string]interface{})
111637  				}
111638  				jls.AdditionalProperties[k] = additionalProperties
111639  			}
111640  		case "connectVia":
111641  			if v != nil {
111642  				var connectVia IntegrationRuntimeReference
111643  				err = json.Unmarshal(*v, &connectVia)
111644  				if err != nil {
111645  					return err
111646  				}
111647  				jls.ConnectVia = &connectVia
111648  			}
111649  		case "description":
111650  			if v != nil {
111651  				var description string
111652  				err = json.Unmarshal(*v, &description)
111653  				if err != nil {
111654  					return err
111655  				}
111656  				jls.Description = &description
111657  			}
111658  		case "parameters":
111659  			if v != nil {
111660  				var parameters map[string]*ParameterSpecification
111661  				err = json.Unmarshal(*v, &parameters)
111662  				if err != nil {
111663  					return err
111664  				}
111665  				jls.Parameters = parameters
111666  			}
111667  		case "annotations":
111668  			if v != nil {
111669  				var annotations []interface{}
111670  				err = json.Unmarshal(*v, &annotations)
111671  				if err != nil {
111672  					return err
111673  				}
111674  				jls.Annotations = &annotations
111675  			}
111676  		case "type":
111677  			if v != nil {
111678  				var typeVar TypeBasicLinkedService
111679  				err = json.Unmarshal(*v, &typeVar)
111680  				if err != nil {
111681  					return err
111682  				}
111683  				jls.Type = typeVar
111684  			}
111685  		}
111686  	}
111687  
111688  	return nil
111689  }
111690  
111691  // JiraLinkedServiceTypeProperties jira Service linked service properties.
111692  type JiraLinkedServiceTypeProperties struct {
111693  	// Host - The IP address or host name of the Jira service. (e.g. jira.example.com)
111694  	Host interface{} `json:"host,omitempty"`
111695  	// 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.
111696  	Port interface{} `json:"port,omitempty"`
111697  	// Username - The user name that you use to access Jira Service.
111698  	Username interface{} `json:"username,omitempty"`
111699  	// Password - The password corresponding to the user name that you provided in the username field.
111700  	Password BasicSecretBase `json:"password,omitempty"`
111701  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
111702  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
111703  	// 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.
111704  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
111705  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
111706  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
111707  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
111708  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
111709  }
111710  
111711  // UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct.
111712  func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
111713  	var m map[string]*json.RawMessage
111714  	err := json.Unmarshal(body, &m)
111715  	if err != nil {
111716  		return err
111717  	}
111718  	for k, v := range m {
111719  		switch k {
111720  		case "host":
111721  			if v != nil {
111722  				var host interface{}
111723  				err = json.Unmarshal(*v, &host)
111724  				if err != nil {
111725  					return err
111726  				}
111727  				jlstp.Host = host
111728  			}
111729  		case "port":
111730  			if v != nil {
111731  				var port interface{}
111732  				err = json.Unmarshal(*v, &port)
111733  				if err != nil {
111734  					return err
111735  				}
111736  				jlstp.Port = port
111737  			}
111738  		case "username":
111739  			if v != nil {
111740  				var username interface{}
111741  				err = json.Unmarshal(*v, &username)
111742  				if err != nil {
111743  					return err
111744  				}
111745  				jlstp.Username = username
111746  			}
111747  		case "password":
111748  			if v != nil {
111749  				password, err := unmarshalBasicSecretBase(*v)
111750  				if err != nil {
111751  					return err
111752  				}
111753  				jlstp.Password = password
111754  			}
111755  		case "useEncryptedEndpoints":
111756  			if v != nil {
111757  				var useEncryptedEndpoints interface{}
111758  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
111759  				if err != nil {
111760  					return err
111761  				}
111762  				jlstp.UseEncryptedEndpoints = useEncryptedEndpoints
111763  			}
111764  		case "useHostVerification":
111765  			if v != nil {
111766  				var useHostVerification interface{}
111767  				err = json.Unmarshal(*v, &useHostVerification)
111768  				if err != nil {
111769  					return err
111770  				}
111771  				jlstp.UseHostVerification = useHostVerification
111772  			}
111773  		case "usePeerVerification":
111774  			if v != nil {
111775  				var usePeerVerification interface{}
111776  				err = json.Unmarshal(*v, &usePeerVerification)
111777  				if err != nil {
111778  					return err
111779  				}
111780  				jlstp.UsePeerVerification = usePeerVerification
111781  			}
111782  		case "encryptedCredential":
111783  			if v != nil {
111784  				var encryptedCredential interface{}
111785  				err = json.Unmarshal(*v, &encryptedCredential)
111786  				if err != nil {
111787  					return err
111788  				}
111789  				jlstp.EncryptedCredential = encryptedCredential
111790  			}
111791  		}
111792  	}
111793  
111794  	return nil
111795  }
111796  
111797  // JiraObjectDataset jira Service dataset.
111798  type JiraObjectDataset struct {
111799  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
111800  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
111801  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
111802  	AdditionalProperties map[string]interface{} `json:""`
111803  	// Description - Dataset description.
111804  	Description *string `json:"description,omitempty"`
111805  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
111806  	Structure interface{} `json:"structure,omitempty"`
111807  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
111808  	Schema interface{} `json:"schema,omitempty"`
111809  	// LinkedServiceName - Linked service reference.
111810  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
111811  	// Parameters - Parameters for dataset.
111812  	Parameters map[string]*ParameterSpecification `json:"parameters"`
111813  	// Annotations - List of tags that can be used for describing the Dataset.
111814  	Annotations *[]interface{} `json:"annotations,omitempty"`
111815  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
111816  	Folder *DatasetFolder `json:"folder,omitempty"`
111817  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
111818  	Type TypeBasicDataset `json:"type,omitempty"`
111819  }
111820  
111821  // MarshalJSON is the custom marshaler for JiraObjectDataset.
111822  func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) {
111823  	jod.Type = TypeJiraObject
111824  	objectMap := make(map[string]interface{})
111825  	if jod.GenericDatasetTypeProperties != nil {
111826  		objectMap["typeProperties"] = jod.GenericDatasetTypeProperties
111827  	}
111828  	if jod.Description != nil {
111829  		objectMap["description"] = jod.Description
111830  	}
111831  	if jod.Structure != nil {
111832  		objectMap["structure"] = jod.Structure
111833  	}
111834  	if jod.Schema != nil {
111835  		objectMap["schema"] = jod.Schema
111836  	}
111837  	if jod.LinkedServiceName != nil {
111838  		objectMap["linkedServiceName"] = jod.LinkedServiceName
111839  	}
111840  	if jod.Parameters != nil {
111841  		objectMap["parameters"] = jod.Parameters
111842  	}
111843  	if jod.Annotations != nil {
111844  		objectMap["annotations"] = jod.Annotations
111845  	}
111846  	if jod.Folder != nil {
111847  		objectMap["folder"] = jod.Folder
111848  	}
111849  	if jod.Type != "" {
111850  		objectMap["type"] = jod.Type
111851  	}
111852  	for k, v := range jod.AdditionalProperties {
111853  		objectMap[k] = v
111854  	}
111855  	return json.Marshal(objectMap)
111856  }
111857  
111858  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111859  func (jod JiraObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
111860  	return nil, false
111861  }
111862  
111863  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for JiraObjectDataset.
111864  func (jod JiraObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
111865  	return nil, false
111866  }
111867  
111868  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111869  func (jod JiraObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
111870  	return nil, false
111871  }
111872  
111873  // AsDynamicsAXResourceDataset is the BasicDataset implementation for JiraObjectDataset.
111874  func (jod JiraObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
111875  	return nil, false
111876  }
111877  
111878  // AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111879  func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
111880  	return nil, false
111881  }
111882  
111883  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111884  func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
111885  	return nil, false
111886  }
111887  
111888  // AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset.
111889  func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
111890  	return nil, false
111891  }
111892  
111893  // AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset.
111894  func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
111895  	return nil, false
111896  }
111897  
111898  // AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111899  func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
111900  	return nil, false
111901  }
111902  
111903  // AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111904  func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
111905  	return nil, false
111906  }
111907  
111908  // AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111909  func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
111910  	return nil, false
111911  }
111912  
111913  // AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111914  func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
111915  	return nil, false
111916  }
111917  
111918  // AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111919  func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
111920  	return nil, false
111921  }
111922  
111923  // AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111924  func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
111925  	return nil, false
111926  }
111927  
111928  // AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111929  func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
111930  	return nil, false
111931  }
111932  
111933  // AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111934  func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
111935  	return nil, false
111936  }
111937  
111938  // AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111939  func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
111940  	return nil, false
111941  }
111942  
111943  // AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111944  func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
111945  	return nil, false
111946  }
111947  
111948  // AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111949  func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
111950  	return nil, false
111951  }
111952  
111953  // AsAzureMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset.
111954  func (jod JiraObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
111955  	return nil, false
111956  }
111957  
111958  // AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset.
111959  func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
111960  	return nil, false
111961  }
111962  
111963  // AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111964  func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
111965  	return nil, false
111966  }
111967  
111968  // AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111969  func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
111970  	return &jod, true
111971  }
111972  
111973  // AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111974  func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
111975  	return nil, false
111976  }
111977  
111978  // AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111979  func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
111980  	return nil, false
111981  }
111982  
111983  // AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111984  func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
111985  	return nil, false
111986  }
111987  
111988  // AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111989  func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
111990  	return nil, false
111991  }
111992  
111993  // AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset.
111994  func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
111995  	return nil, false
111996  }
111997  
111998  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset.
111999  func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
112000  	return nil, false
112001  }
112002  
112003  // AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset.
112004  func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
112005  	return nil, false
112006  }
112007  
112008  // AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset.
112009  func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
112010  	return nil, false
112011  }
112012  
112013  // AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset.
112014  func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
112015  	return nil, false
112016  }
112017  
112018  // AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset.
112019  func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
112020  	return nil, false
112021  }
112022  
112023  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
112024  func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
112025  	return nil, false
112026  }
112027  
112028  // AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset.
112029  func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
112030  	return nil, false
112031  }
112032  
112033  // AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset.
112034  func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
112035  	return nil, false
112036  }
112037  
112038  // AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset.
112039  func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
112040  	return nil, false
112041  }
112042  
112043  // AsSapTableResourceDataset is the BasicDataset implementation for JiraObjectDataset.
112044  func (jod JiraObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
112045  	return nil, false
112046  }
112047  
112048  // AsRestResourceDataset is the BasicDataset implementation for JiraObjectDataset.
112049  func (jod JiraObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
112050  	return nil, false
112051  }
112052  
112053  // AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset.
112054  func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
112055  	return nil, false
112056  }
112057  
112058  // AsSapOpenHubTableDataset is the BasicDataset implementation for JiraObjectDataset.
112059  func (jod JiraObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
112060  	return nil, false
112061  }
112062  
112063  // AsSapHanaTableDataset is the BasicDataset implementation for JiraObjectDataset.
112064  func (jod JiraObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
112065  	return nil, false
112066  }
112067  
112068  // AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset.
112069  func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
112070  	return nil, false
112071  }
112072  
112073  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset.
112074  func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
112075  	return nil, false
112076  }
112077  
112078  // AsSapBwCubeDataset is the BasicDataset implementation for JiraObjectDataset.
112079  func (jod JiraObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
112080  	return nil, false
112081  }
112082  
112083  // AsSybaseTableDataset is the BasicDataset implementation for JiraObjectDataset.
112084  func (jod JiraObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
112085  	return nil, false
112086  }
112087  
112088  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset.
112089  func (jod JiraObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
112090  	return nil, false
112091  }
112092  
112093  // AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset.
112094  func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
112095  	return nil, false
112096  }
112097  
112098  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for JiraObjectDataset.
112099  func (jod JiraObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
112100  	return nil, false
112101  }
112102  
112103  // AsPostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
112104  func (jod JiraObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
112105  	return nil, false
112106  }
112107  
112108  // AsMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
112109  func (jod JiraObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
112110  	return nil, false
112111  }
112112  
112113  // AsOdbcTableDataset is the BasicDataset implementation for JiraObjectDataset.
112114  func (jod JiraObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
112115  	return nil, false
112116  }
112117  
112118  // AsInformixTableDataset is the BasicDataset implementation for JiraObjectDataset.
112119  func (jod JiraObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
112120  	return nil, false
112121  }
112122  
112123  // AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset.
112124  func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
112125  	return nil, false
112126  }
112127  
112128  // AsDb2TableDataset is the BasicDataset implementation for JiraObjectDataset.
112129  func (jod JiraObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
112130  	return nil, false
112131  }
112132  
112133  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for JiraObjectDataset.
112134  func (jod JiraObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
112135  	return nil, false
112136  }
112137  
112138  // AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
112139  func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
112140  	return nil, false
112141  }
112142  
112143  // AsTeradataTableDataset is the BasicDataset implementation for JiraObjectDataset.
112144  func (jod JiraObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
112145  	return nil, false
112146  }
112147  
112148  // AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset.
112149  func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
112150  	return nil, false
112151  }
112152  
112153  // AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset.
112154  func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
112155  	return nil, false
112156  }
112157  
112158  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset.
112159  func (jod JiraObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
112160  	return nil, false
112161  }
112162  
112163  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for JiraObjectDataset.
112164  func (jod JiraObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
112165  	return nil, false
112166  }
112167  
112168  // AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
112169  func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
112170  	return nil, false
112171  }
112172  
112173  // AsOffice365Dataset is the BasicDataset implementation for JiraObjectDataset.
112174  func (jod JiraObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
112175  	return nil, false
112176  }
112177  
112178  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
112179  func (jod JiraObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
112180  	return nil, false
112181  }
112182  
112183  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for JiraObjectDataset.
112184  func (jod JiraObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
112185  	return nil, false
112186  }
112187  
112188  // AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset.
112189  func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
112190  	return nil, false
112191  }
112192  
112193  // AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset.
112194  func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
112195  	return nil, false
112196  }
112197  
112198  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset.
112199  func (jod JiraObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
112200  	return nil, false
112201  }
112202  
112203  // AsCustomDataset is the BasicDataset implementation for JiraObjectDataset.
112204  func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
112205  	return nil, false
112206  }
112207  
112208  // AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset.
112209  func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
112210  	return nil, false
112211  }
112212  
112213  // AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset.
112214  func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
112215  	return nil, false
112216  }
112217  
112218  // AsAzureSQLMITableDataset is the BasicDataset implementation for JiraObjectDataset.
112219  func (jod JiraObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
112220  	return nil, false
112221  }
112222  
112223  // AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset.
112224  func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
112225  	return nil, false
112226  }
112227  
112228  // AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset.
112229  func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
112230  	return nil, false
112231  }
112232  
112233  // AsBinaryDataset is the BasicDataset implementation for JiraObjectDataset.
112234  func (jod JiraObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
112235  	return nil, false
112236  }
112237  
112238  // AsOrcDataset is the BasicDataset implementation for JiraObjectDataset.
112239  func (jod JiraObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
112240  	return nil, false
112241  }
112242  
112243  // AsJSONDataset is the BasicDataset implementation for JiraObjectDataset.
112244  func (jod JiraObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
112245  	return nil, false
112246  }
112247  
112248  // AsDelimitedTextDataset is the BasicDataset implementation for JiraObjectDataset.
112249  func (jod JiraObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
112250  	return nil, false
112251  }
112252  
112253  // AsParquetDataset is the BasicDataset implementation for JiraObjectDataset.
112254  func (jod JiraObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
112255  	return nil, false
112256  }
112257  
112258  // AsAvroDataset is the BasicDataset implementation for JiraObjectDataset.
112259  func (jod JiraObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
112260  	return nil, false
112261  }
112262  
112263  // AsDataset is the BasicDataset implementation for JiraObjectDataset.
112264  func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) {
112265  	return nil, false
112266  }
112267  
112268  // AsBasicDataset is the BasicDataset implementation for JiraObjectDataset.
112269  func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) {
112270  	return &jod, true
112271  }
112272  
112273  // UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct.
112274  func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error {
112275  	var m map[string]*json.RawMessage
112276  	err := json.Unmarshal(body, &m)
112277  	if err != nil {
112278  		return err
112279  	}
112280  	for k, v := range m {
112281  		switch k {
112282  		case "typeProperties":
112283  			if v != nil {
112284  				var genericDatasetTypeProperties GenericDatasetTypeProperties
112285  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
112286  				if err != nil {
112287  					return err
112288  				}
112289  				jod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
112290  			}
112291  		default:
112292  			if v != nil {
112293  				var additionalProperties interface{}
112294  				err = json.Unmarshal(*v, &additionalProperties)
112295  				if err != nil {
112296  					return err
112297  				}
112298  				if jod.AdditionalProperties == nil {
112299  					jod.AdditionalProperties = make(map[string]interface{})
112300  				}
112301  				jod.AdditionalProperties[k] = additionalProperties
112302  			}
112303  		case "description":
112304  			if v != nil {
112305  				var description string
112306  				err = json.Unmarshal(*v, &description)
112307  				if err != nil {
112308  					return err
112309  				}
112310  				jod.Description = &description
112311  			}
112312  		case "structure":
112313  			if v != nil {
112314  				var structure interface{}
112315  				err = json.Unmarshal(*v, &structure)
112316  				if err != nil {
112317  					return err
112318  				}
112319  				jod.Structure = structure
112320  			}
112321  		case "schema":
112322  			if v != nil {
112323  				var schema interface{}
112324  				err = json.Unmarshal(*v, &schema)
112325  				if err != nil {
112326  					return err
112327  				}
112328  				jod.Schema = schema
112329  			}
112330  		case "linkedServiceName":
112331  			if v != nil {
112332  				var linkedServiceName LinkedServiceReference
112333  				err = json.Unmarshal(*v, &linkedServiceName)
112334  				if err != nil {
112335  					return err
112336  				}
112337  				jod.LinkedServiceName = &linkedServiceName
112338  			}
112339  		case "parameters":
112340  			if v != nil {
112341  				var parameters map[string]*ParameterSpecification
112342  				err = json.Unmarshal(*v, &parameters)
112343  				if err != nil {
112344  					return err
112345  				}
112346  				jod.Parameters = parameters
112347  			}
112348  		case "annotations":
112349  			if v != nil {
112350  				var annotations []interface{}
112351  				err = json.Unmarshal(*v, &annotations)
112352  				if err != nil {
112353  					return err
112354  				}
112355  				jod.Annotations = &annotations
112356  			}
112357  		case "folder":
112358  			if v != nil {
112359  				var folder DatasetFolder
112360  				err = json.Unmarshal(*v, &folder)
112361  				if err != nil {
112362  					return err
112363  				}
112364  				jod.Folder = &folder
112365  			}
112366  		case "type":
112367  			if v != nil {
112368  				var typeVar TypeBasicDataset
112369  				err = json.Unmarshal(*v, &typeVar)
112370  				if err != nil {
112371  					return err
112372  				}
112373  				jod.Type = typeVar
112374  			}
112375  		}
112376  	}
112377  
112378  	return nil
112379  }
112380  
112381  // JiraSource a copy activity Jira Service source.
112382  type JiraSource struct {
112383  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
112384  	Query interface{} `json:"query,omitempty"`
112385  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
112386  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
112387  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
112388  	AdditionalProperties map[string]interface{} `json:""`
112389  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
112390  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
112391  	// 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])).
112392  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
112393  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
112394  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
112395  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
112396  	Type TypeBasicCopySource `json:"type,omitempty"`
112397  }
112398  
112399  // MarshalJSON is the custom marshaler for JiraSource.
112400  func (js JiraSource) MarshalJSON() ([]byte, error) {
112401  	js.Type = TypeJiraSource
112402  	objectMap := make(map[string]interface{})
112403  	if js.Query != nil {
112404  		objectMap["query"] = js.Query
112405  	}
112406  	if js.QueryTimeout != nil {
112407  		objectMap["queryTimeout"] = js.QueryTimeout
112408  	}
112409  	if js.SourceRetryCount != nil {
112410  		objectMap["sourceRetryCount"] = js.SourceRetryCount
112411  	}
112412  	if js.SourceRetryWait != nil {
112413  		objectMap["sourceRetryWait"] = js.SourceRetryWait
112414  	}
112415  	if js.MaxConcurrentConnections != nil {
112416  		objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections
112417  	}
112418  	if js.Type != "" {
112419  		objectMap["type"] = js.Type
112420  	}
112421  	for k, v := range js.AdditionalProperties {
112422  		objectMap[k] = v
112423  	}
112424  	return json.Marshal(objectMap)
112425  }
112426  
112427  // AsHTTPSource is the BasicCopySource implementation for JiraSource.
112428  func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) {
112429  	return nil, false
112430  }
112431  
112432  // AsAzureBlobFSSource is the BasicCopySource implementation for JiraSource.
112433  func (js JiraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
112434  	return nil, false
112435  }
112436  
112437  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource.
112438  func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
112439  	return nil, false
112440  }
112441  
112442  // AsOffice365Source is the BasicCopySource implementation for JiraSource.
112443  func (js JiraSource) AsOffice365Source() (*Office365Source, bool) {
112444  	return nil, false
112445  }
112446  
112447  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JiraSource.
112448  func (js JiraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
112449  	return nil, false
112450  }
112451  
112452  // AsMongoDbV2Source is the BasicCopySource implementation for JiraSource.
112453  func (js JiraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
112454  	return nil, false
112455  }
112456  
112457  // AsMongoDbSource is the BasicCopySource implementation for JiraSource.
112458  func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) {
112459  	return nil, false
112460  }
112461  
112462  // AsWebSource is the BasicCopySource implementation for JiraSource.
112463  func (js JiraSource) AsWebSource() (*WebSource, bool) {
112464  	return nil, false
112465  }
112466  
112467  // AsOracleSource is the BasicCopySource implementation for JiraSource.
112468  func (js JiraSource) AsOracleSource() (*OracleSource, bool) {
112469  	return nil, false
112470  }
112471  
112472  // AsAzureDataExplorerSource is the BasicCopySource implementation for JiraSource.
112473  func (js JiraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
112474  	return nil, false
112475  }
112476  
112477  // AsHdfsSource is the BasicCopySource implementation for JiraSource.
112478  func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) {
112479  	return nil, false
112480  }
112481  
112482  // AsFileSystemSource is the BasicCopySource implementation for JiraSource.
112483  func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) {
112484  	return nil, false
112485  }
112486  
112487  // AsRestSource is the BasicCopySource implementation for JiraSource.
112488  func (js JiraSource) AsRestSource() (*RestSource, bool) {
112489  	return nil, false
112490  }
112491  
112492  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for JiraSource.
112493  func (js JiraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
112494  	return nil, false
112495  }
112496  
112497  // AsODataSource is the BasicCopySource implementation for JiraSource.
112498  func (js JiraSource) AsODataSource() (*ODataSource, bool) {
112499  	return nil, false
112500  }
112501  
112502  // AsMicrosoftAccessSource is the BasicCopySource implementation for JiraSource.
112503  func (js JiraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
112504  	return nil, false
112505  }
112506  
112507  // AsRelationalSource is the BasicCopySource implementation for JiraSource.
112508  func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) {
112509  	return nil, false
112510  }
112511  
112512  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JiraSource.
112513  func (js JiraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
112514  	return nil, false
112515  }
112516  
112517  // AsDynamicsCrmSource is the BasicCopySource implementation for JiraSource.
112518  func (js JiraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
112519  	return nil, false
112520  }
112521  
112522  // AsDynamicsSource is the BasicCopySource implementation for JiraSource.
112523  func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) {
112524  	return nil, false
112525  }
112526  
112527  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for JiraSource.
112528  func (js JiraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
112529  	return nil, false
112530  }
112531  
112532  // AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource.
112533  func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
112534  	return nil, false
112535  }
112536  
112537  // AsBlobSource is the BasicCopySource implementation for JiraSource.
112538  func (js JiraSource) AsBlobSource() (*BlobSource, bool) {
112539  	return nil, false
112540  }
112541  
112542  // AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource.
112543  func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
112544  	return nil, false
112545  }
112546  
112547  // AsGoogleAdWordsSource is the BasicCopySource implementation for JiraSource.
112548  func (js JiraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
112549  	return nil, false
112550  }
112551  
112552  // AsOracleServiceCloudSource is the BasicCopySource implementation for JiraSource.
112553  func (js JiraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
112554  	return nil, false
112555  }
112556  
112557  // AsDynamicsAXSource is the BasicCopySource implementation for JiraSource.
112558  func (js JiraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
112559  	return nil, false
112560  }
112561  
112562  // AsResponsysSource is the BasicCopySource implementation for JiraSource.
112563  func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) {
112564  	return nil, false
112565  }
112566  
112567  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource.
112568  func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
112569  	return nil, false
112570  }
112571  
112572  // AsVerticaSource is the BasicCopySource implementation for JiraSource.
112573  func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) {
112574  	return nil, false
112575  }
112576  
112577  // AsNetezzaSource is the BasicCopySource implementation for JiraSource.
112578  func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) {
112579  	return nil, false
112580  }
112581  
112582  // AsZohoSource is the BasicCopySource implementation for JiraSource.
112583  func (js JiraSource) AsZohoSource() (*ZohoSource, bool) {
112584  	return nil, false
112585  }
112586  
112587  // AsXeroSource is the BasicCopySource implementation for JiraSource.
112588  func (js JiraSource) AsXeroSource() (*XeroSource, bool) {
112589  	return nil, false
112590  }
112591  
112592  // AsSquareSource is the BasicCopySource implementation for JiraSource.
112593  func (js JiraSource) AsSquareSource() (*SquareSource, bool) {
112594  	return nil, false
112595  }
112596  
112597  // AsSparkSource is the BasicCopySource implementation for JiraSource.
112598  func (js JiraSource) AsSparkSource() (*SparkSource, bool) {
112599  	return nil, false
112600  }
112601  
112602  // AsShopifySource is the BasicCopySource implementation for JiraSource.
112603  func (js JiraSource) AsShopifySource() (*ShopifySource, bool) {
112604  	return nil, false
112605  }
112606  
112607  // AsServiceNowSource is the BasicCopySource implementation for JiraSource.
112608  func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) {
112609  	return nil, false
112610  }
112611  
112612  // AsQuickBooksSource is the BasicCopySource implementation for JiraSource.
112613  func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
112614  	return nil, false
112615  }
112616  
112617  // AsPrestoSource is the BasicCopySource implementation for JiraSource.
112618  func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) {
112619  	return nil, false
112620  }
112621  
112622  // AsPhoenixSource is the BasicCopySource implementation for JiraSource.
112623  func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) {
112624  	return nil, false
112625  }
112626  
112627  // AsPaypalSource is the BasicCopySource implementation for JiraSource.
112628  func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) {
112629  	return nil, false
112630  }
112631  
112632  // AsMarketoSource is the BasicCopySource implementation for JiraSource.
112633  func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) {
112634  	return nil, false
112635  }
112636  
112637  // AsAzureMariaDBSource is the BasicCopySource implementation for JiraSource.
112638  func (js JiraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
112639  	return nil, false
112640  }
112641  
112642  // AsMariaDBSource is the BasicCopySource implementation for JiraSource.
112643  func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) {
112644  	return nil, false
112645  }
112646  
112647  // AsMagentoSource is the BasicCopySource implementation for JiraSource.
112648  func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) {
112649  	return nil, false
112650  }
112651  
112652  // AsJiraSource is the BasicCopySource implementation for JiraSource.
112653  func (js JiraSource) AsJiraSource() (*JiraSource, bool) {
112654  	return &js, true
112655  }
112656  
112657  // AsImpalaSource is the BasicCopySource implementation for JiraSource.
112658  func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) {
112659  	return nil, false
112660  }
112661  
112662  // AsHubspotSource is the BasicCopySource implementation for JiraSource.
112663  func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) {
112664  	return nil, false
112665  }
112666  
112667  // AsHiveSource is the BasicCopySource implementation for JiraSource.
112668  func (js JiraSource) AsHiveSource() (*HiveSource, bool) {
112669  	return nil, false
112670  }
112671  
112672  // AsHBaseSource is the BasicCopySource implementation for JiraSource.
112673  func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) {
112674  	return nil, false
112675  }
112676  
112677  // AsGreenplumSource is the BasicCopySource implementation for JiraSource.
112678  func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) {
112679  	return nil, false
112680  }
112681  
112682  // AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource.
112683  func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
112684  	return nil, false
112685  }
112686  
112687  // AsEloquaSource is the BasicCopySource implementation for JiraSource.
112688  func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) {
112689  	return nil, false
112690  }
112691  
112692  // AsDrillSource is the BasicCopySource implementation for JiraSource.
112693  func (js JiraSource) AsDrillSource() (*DrillSource, bool) {
112694  	return nil, false
112695  }
112696  
112697  // AsCouchbaseSource is the BasicCopySource implementation for JiraSource.
112698  func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
112699  	return nil, false
112700  }
112701  
112702  // AsConcurSource is the BasicCopySource implementation for JiraSource.
112703  func (js JiraSource) AsConcurSource() (*ConcurSource, bool) {
112704  	return nil, false
112705  }
112706  
112707  // AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource.
112708  func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
112709  	return nil, false
112710  }
112711  
112712  // AsAmazonMWSSource is the BasicCopySource implementation for JiraSource.
112713  func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
112714  	return nil, false
112715  }
112716  
112717  // AsCassandraSource is the BasicCopySource implementation for JiraSource.
112718  func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) {
112719  	return nil, false
112720  }
112721  
112722  // AsTeradataSource is the BasicCopySource implementation for JiraSource.
112723  func (js JiraSource) AsTeradataSource() (*TeradataSource, bool) {
112724  	return nil, false
112725  }
112726  
112727  // AsAzureMySQLSource is the BasicCopySource implementation for JiraSource.
112728  func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
112729  	return nil, false
112730  }
112731  
112732  // AsSQLDWSource is the BasicCopySource implementation for JiraSource.
112733  func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) {
112734  	return nil, false
112735  }
112736  
112737  // AsSQLMISource is the BasicCopySource implementation for JiraSource.
112738  func (js JiraSource) AsSQLMISource() (*SQLMISource, bool) {
112739  	return nil, false
112740  }
112741  
112742  // AsAzureSQLSource is the BasicCopySource implementation for JiraSource.
112743  func (js JiraSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
112744  	return nil, false
112745  }
112746  
112747  // AsSQLServerSource is the BasicCopySource implementation for JiraSource.
112748  func (js JiraSource) AsSQLServerSource() (*SQLServerSource, bool) {
112749  	return nil, false
112750  }
112751  
112752  // AsSQLSource is the BasicCopySource implementation for JiraSource.
112753  func (js JiraSource) AsSQLSource() (*SQLSource, bool) {
112754  	return nil, false
112755  }
112756  
112757  // AsSapTableSource is the BasicCopySource implementation for JiraSource.
112758  func (js JiraSource) AsSapTableSource() (*SapTableSource, bool) {
112759  	return nil, false
112760  }
112761  
112762  // AsSapOpenHubSource is the BasicCopySource implementation for JiraSource.
112763  func (js JiraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
112764  	return nil, false
112765  }
112766  
112767  // AsSapHanaSource is the BasicCopySource implementation for JiraSource.
112768  func (js JiraSource) AsSapHanaSource() (*SapHanaSource, bool) {
112769  	return nil, false
112770  }
112771  
112772  // AsSapEccSource is the BasicCopySource implementation for JiraSource.
112773  func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) {
112774  	return nil, false
112775  }
112776  
112777  // AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource.
112778  func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
112779  	return nil, false
112780  }
112781  
112782  // AsSalesforceSource is the BasicCopySource implementation for JiraSource.
112783  func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) {
112784  	return nil, false
112785  }
112786  
112787  // AsSapBwSource is the BasicCopySource implementation for JiraSource.
112788  func (js JiraSource) AsSapBwSource() (*SapBwSource, bool) {
112789  	return nil, false
112790  }
112791  
112792  // AsSybaseSource is the BasicCopySource implementation for JiraSource.
112793  func (js JiraSource) AsSybaseSource() (*SybaseSource, bool) {
112794  	return nil, false
112795  }
112796  
112797  // AsPostgreSQLSource is the BasicCopySource implementation for JiraSource.
112798  func (js JiraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
112799  	return nil, false
112800  }
112801  
112802  // AsMySQLSource is the BasicCopySource implementation for JiraSource.
112803  func (js JiraSource) AsMySQLSource() (*MySQLSource, bool) {
112804  	return nil, false
112805  }
112806  
112807  // AsOdbcSource is the BasicCopySource implementation for JiraSource.
112808  func (js JiraSource) AsOdbcSource() (*OdbcSource, bool) {
112809  	return nil, false
112810  }
112811  
112812  // AsDb2Source is the BasicCopySource implementation for JiraSource.
112813  func (js JiraSource) AsDb2Source() (*Db2Source, bool) {
112814  	return nil, false
112815  }
112816  
112817  // AsInformixSource is the BasicCopySource implementation for JiraSource.
112818  func (js JiraSource) AsInformixSource() (*InformixSource, bool) {
112819  	return nil, false
112820  }
112821  
112822  // AsAzureTableSource is the BasicCopySource implementation for JiraSource.
112823  func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) {
112824  	return nil, false
112825  }
112826  
112827  // AsTabularSource is the BasicCopySource implementation for JiraSource.
112828  func (js JiraSource) AsTabularSource() (*TabularSource, bool) {
112829  	return nil, false
112830  }
112831  
112832  // AsBasicTabularSource is the BasicCopySource implementation for JiraSource.
112833  func (js JiraSource) AsBasicTabularSource() (BasicTabularSource, bool) {
112834  	return &js, true
112835  }
112836  
112837  // AsBinarySource is the BasicCopySource implementation for JiraSource.
112838  func (js JiraSource) AsBinarySource() (*BinarySource, bool) {
112839  	return nil, false
112840  }
112841  
112842  // AsOrcSource is the BasicCopySource implementation for JiraSource.
112843  func (js JiraSource) AsOrcSource() (*OrcSource, bool) {
112844  	return nil, false
112845  }
112846  
112847  // AsJSONSource is the BasicCopySource implementation for JiraSource.
112848  func (js JiraSource) AsJSONSource() (*JSONSource, bool) {
112849  	return nil, false
112850  }
112851  
112852  // AsDelimitedTextSource is the BasicCopySource implementation for JiraSource.
112853  func (js JiraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
112854  	return nil, false
112855  }
112856  
112857  // AsParquetSource is the BasicCopySource implementation for JiraSource.
112858  func (js JiraSource) AsParquetSource() (*ParquetSource, bool) {
112859  	return nil, false
112860  }
112861  
112862  // AsAvroSource is the BasicCopySource implementation for JiraSource.
112863  func (js JiraSource) AsAvroSource() (*AvroSource, bool) {
112864  	return nil, false
112865  }
112866  
112867  // AsCopySource is the BasicCopySource implementation for JiraSource.
112868  func (js JiraSource) AsCopySource() (*CopySource, bool) {
112869  	return nil, false
112870  }
112871  
112872  // AsBasicCopySource is the BasicCopySource implementation for JiraSource.
112873  func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) {
112874  	return &js, true
112875  }
112876  
112877  // UnmarshalJSON is the custom unmarshaler for JiraSource struct.
112878  func (js *JiraSource) UnmarshalJSON(body []byte) error {
112879  	var m map[string]*json.RawMessage
112880  	err := json.Unmarshal(body, &m)
112881  	if err != nil {
112882  		return err
112883  	}
112884  	for k, v := range m {
112885  		switch k {
112886  		case "query":
112887  			if v != nil {
112888  				var query interface{}
112889  				err = json.Unmarshal(*v, &query)
112890  				if err != nil {
112891  					return err
112892  				}
112893  				js.Query = query
112894  			}
112895  		case "queryTimeout":
112896  			if v != nil {
112897  				var queryTimeout interface{}
112898  				err = json.Unmarshal(*v, &queryTimeout)
112899  				if err != nil {
112900  					return err
112901  				}
112902  				js.QueryTimeout = queryTimeout
112903  			}
112904  		default:
112905  			if v != nil {
112906  				var additionalProperties interface{}
112907  				err = json.Unmarshal(*v, &additionalProperties)
112908  				if err != nil {
112909  					return err
112910  				}
112911  				if js.AdditionalProperties == nil {
112912  					js.AdditionalProperties = make(map[string]interface{})
112913  				}
112914  				js.AdditionalProperties[k] = additionalProperties
112915  			}
112916  		case "sourceRetryCount":
112917  			if v != nil {
112918  				var sourceRetryCount interface{}
112919  				err = json.Unmarshal(*v, &sourceRetryCount)
112920  				if err != nil {
112921  					return err
112922  				}
112923  				js.SourceRetryCount = sourceRetryCount
112924  			}
112925  		case "sourceRetryWait":
112926  			if v != nil {
112927  				var sourceRetryWait interface{}
112928  				err = json.Unmarshal(*v, &sourceRetryWait)
112929  				if err != nil {
112930  					return err
112931  				}
112932  				js.SourceRetryWait = sourceRetryWait
112933  			}
112934  		case "maxConcurrentConnections":
112935  			if v != nil {
112936  				var maxConcurrentConnections interface{}
112937  				err = json.Unmarshal(*v, &maxConcurrentConnections)
112938  				if err != nil {
112939  					return err
112940  				}
112941  				js.MaxConcurrentConnections = maxConcurrentConnections
112942  			}
112943  		case "type":
112944  			if v != nil {
112945  				var typeVar TypeBasicCopySource
112946  				err = json.Unmarshal(*v, &typeVar)
112947  				if err != nil {
112948  					return err
112949  				}
112950  				js.Type = typeVar
112951  			}
112952  		}
112953  	}
112954  
112955  	return nil
112956  }
112957  
112958  // JSONDataset json dataset.
112959  type JSONDataset struct {
112960  	// JSONDatasetTypeProperties - Json dataset properties.
112961  	*JSONDatasetTypeProperties `json:"typeProperties,omitempty"`
112962  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
112963  	AdditionalProperties map[string]interface{} `json:""`
112964  	// Description - Dataset description.
112965  	Description *string `json:"description,omitempty"`
112966  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
112967  	Structure interface{} `json:"structure,omitempty"`
112968  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
112969  	Schema interface{} `json:"schema,omitempty"`
112970  	// LinkedServiceName - Linked service reference.
112971  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
112972  	// Parameters - Parameters for dataset.
112973  	Parameters map[string]*ParameterSpecification `json:"parameters"`
112974  	// Annotations - List of tags that can be used for describing the Dataset.
112975  	Annotations *[]interface{} `json:"annotations,omitempty"`
112976  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
112977  	Folder *DatasetFolder `json:"folder,omitempty"`
112978  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
112979  	Type TypeBasicDataset `json:"type,omitempty"`
112980  }
112981  
112982  // MarshalJSON is the custom marshaler for JSONDataset.
112983  func (jd JSONDataset) MarshalJSON() ([]byte, error) {
112984  	jd.Type = TypeJSON
112985  	objectMap := make(map[string]interface{})
112986  	if jd.JSONDatasetTypeProperties != nil {
112987  		objectMap["typeProperties"] = jd.JSONDatasetTypeProperties
112988  	}
112989  	if jd.Description != nil {
112990  		objectMap["description"] = jd.Description
112991  	}
112992  	if jd.Structure != nil {
112993  		objectMap["structure"] = jd.Structure
112994  	}
112995  	if jd.Schema != nil {
112996  		objectMap["schema"] = jd.Schema
112997  	}
112998  	if jd.LinkedServiceName != nil {
112999  		objectMap["linkedServiceName"] = jd.LinkedServiceName
113000  	}
113001  	if jd.Parameters != nil {
113002  		objectMap["parameters"] = jd.Parameters
113003  	}
113004  	if jd.Annotations != nil {
113005  		objectMap["annotations"] = jd.Annotations
113006  	}
113007  	if jd.Folder != nil {
113008  		objectMap["folder"] = jd.Folder
113009  	}
113010  	if jd.Type != "" {
113011  		objectMap["type"] = jd.Type
113012  	}
113013  	for k, v := range jd.AdditionalProperties {
113014  		objectMap[k] = v
113015  	}
113016  	return json.Marshal(objectMap)
113017  }
113018  
113019  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JSONDataset.
113020  func (jd JSONDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
113021  	return nil, false
113022  }
113023  
113024  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for JSONDataset.
113025  func (jd JSONDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
113026  	return nil, false
113027  }
113028  
113029  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset.
113030  func (jd JSONDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
113031  	return nil, false
113032  }
113033  
113034  // AsDynamicsAXResourceDataset is the BasicDataset implementation for JSONDataset.
113035  func (jd JSONDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
113036  	return nil, false
113037  }
113038  
113039  // AsResponsysObjectDataset is the BasicDataset implementation for JSONDataset.
113040  func (jd JSONDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
113041  	return nil, false
113042  }
113043  
113044  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JSONDataset.
113045  func (jd JSONDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
113046  	return nil, false
113047  }
113048  
113049  // AsVerticaTableDataset is the BasicDataset implementation for JSONDataset.
113050  func (jd JSONDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
113051  	return nil, false
113052  }
113053  
113054  // AsNetezzaTableDataset is the BasicDataset implementation for JSONDataset.
113055  func (jd JSONDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
113056  	return nil, false
113057  }
113058  
113059  // AsZohoObjectDataset is the BasicDataset implementation for JSONDataset.
113060  func (jd JSONDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
113061  	return nil, false
113062  }
113063  
113064  // AsXeroObjectDataset is the BasicDataset implementation for JSONDataset.
113065  func (jd JSONDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
113066  	return nil, false
113067  }
113068  
113069  // AsSquareObjectDataset is the BasicDataset implementation for JSONDataset.
113070  func (jd JSONDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
113071  	return nil, false
113072  }
113073  
113074  // AsSparkObjectDataset is the BasicDataset implementation for JSONDataset.
113075  func (jd JSONDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
113076  	return nil, false
113077  }
113078  
113079  // AsShopifyObjectDataset is the BasicDataset implementation for JSONDataset.
113080  func (jd JSONDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
113081  	return nil, false
113082  }
113083  
113084  // AsServiceNowObjectDataset is the BasicDataset implementation for JSONDataset.
113085  func (jd JSONDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
113086  	return nil, false
113087  }
113088  
113089  // AsQuickBooksObjectDataset is the BasicDataset implementation for JSONDataset.
113090  func (jd JSONDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
113091  	return nil, false
113092  }
113093  
113094  // AsPrestoObjectDataset is the BasicDataset implementation for JSONDataset.
113095  func (jd JSONDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
113096  	return nil, false
113097  }
113098  
113099  // AsPhoenixObjectDataset is the BasicDataset implementation for JSONDataset.
113100  func (jd JSONDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
113101  	return nil, false
113102  }
113103  
113104  // AsPaypalObjectDataset is the BasicDataset implementation for JSONDataset.
113105  func (jd JSONDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
113106  	return nil, false
113107  }
113108  
113109  // AsMarketoObjectDataset is the BasicDataset implementation for JSONDataset.
113110  func (jd JSONDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
113111  	return nil, false
113112  }
113113  
113114  // AsAzureMariaDBTableDataset is the BasicDataset implementation for JSONDataset.
113115  func (jd JSONDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
113116  	return nil, false
113117  }
113118  
113119  // AsMariaDBTableDataset is the BasicDataset implementation for JSONDataset.
113120  func (jd JSONDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
113121  	return nil, false
113122  }
113123  
113124  // AsMagentoObjectDataset is the BasicDataset implementation for JSONDataset.
113125  func (jd JSONDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
113126  	return nil, false
113127  }
113128  
113129  // AsJiraObjectDataset is the BasicDataset implementation for JSONDataset.
113130  func (jd JSONDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
113131  	return nil, false
113132  }
113133  
113134  // AsImpalaObjectDataset is the BasicDataset implementation for JSONDataset.
113135  func (jd JSONDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
113136  	return nil, false
113137  }
113138  
113139  // AsHubspotObjectDataset is the BasicDataset implementation for JSONDataset.
113140  func (jd JSONDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
113141  	return nil, false
113142  }
113143  
113144  // AsHiveObjectDataset is the BasicDataset implementation for JSONDataset.
113145  func (jd JSONDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
113146  	return nil, false
113147  }
113148  
113149  // AsHBaseObjectDataset is the BasicDataset implementation for JSONDataset.
113150  func (jd JSONDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
113151  	return nil, false
113152  }
113153  
113154  // AsGreenplumTableDataset is the BasicDataset implementation for JSONDataset.
113155  func (jd JSONDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
113156  	return nil, false
113157  }
113158  
113159  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JSONDataset.
113160  func (jd JSONDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
113161  	return nil, false
113162  }
113163  
113164  // AsEloquaObjectDataset is the BasicDataset implementation for JSONDataset.
113165  func (jd JSONDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
113166  	return nil, false
113167  }
113168  
113169  // AsDrillTableDataset is the BasicDataset implementation for JSONDataset.
113170  func (jd JSONDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
113171  	return nil, false
113172  }
113173  
113174  // AsCouchbaseTableDataset is the BasicDataset implementation for JSONDataset.
113175  func (jd JSONDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
113176  	return nil, false
113177  }
113178  
113179  // AsConcurObjectDataset is the BasicDataset implementation for JSONDataset.
113180  func (jd JSONDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
113181  	return nil, false
113182  }
113183  
113184  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JSONDataset.
113185  func (jd JSONDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
113186  	return nil, false
113187  }
113188  
113189  // AsAmazonMWSObjectDataset is the BasicDataset implementation for JSONDataset.
113190  func (jd JSONDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
113191  	return nil, false
113192  }
113193  
113194  // AsAzureSearchIndexDataset is the BasicDataset implementation for JSONDataset.
113195  func (jd JSONDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
113196  	return nil, false
113197  }
113198  
113199  // AsWebTableDataset is the BasicDataset implementation for JSONDataset.
113200  func (jd JSONDataset) AsWebTableDataset() (*WebTableDataset, bool) {
113201  	return nil, false
113202  }
113203  
113204  // AsSapTableResourceDataset is the BasicDataset implementation for JSONDataset.
113205  func (jd JSONDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
113206  	return nil, false
113207  }
113208  
113209  // AsRestResourceDataset is the BasicDataset implementation for JSONDataset.
113210  func (jd JSONDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
113211  	return nil, false
113212  }
113213  
113214  // AsSQLServerTableDataset is the BasicDataset implementation for JSONDataset.
113215  func (jd JSONDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
113216  	return nil, false
113217  }
113218  
113219  // AsSapOpenHubTableDataset is the BasicDataset implementation for JSONDataset.
113220  func (jd JSONDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
113221  	return nil, false
113222  }
113223  
113224  // AsSapHanaTableDataset is the BasicDataset implementation for JSONDataset.
113225  func (jd JSONDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
113226  	return nil, false
113227  }
113228  
113229  // AsSapEccResourceDataset is the BasicDataset implementation for JSONDataset.
113230  func (jd JSONDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
113231  	return nil, false
113232  }
113233  
113234  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JSONDataset.
113235  func (jd JSONDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
113236  	return nil, false
113237  }
113238  
113239  // AsSapBwCubeDataset is the BasicDataset implementation for JSONDataset.
113240  func (jd JSONDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
113241  	return nil, false
113242  }
113243  
113244  // AsSybaseTableDataset is the BasicDataset implementation for JSONDataset.
113245  func (jd JSONDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
113246  	return nil, false
113247  }
113248  
113249  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset.
113250  func (jd JSONDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
113251  	return nil, false
113252  }
113253  
113254  // AsSalesforceObjectDataset is the BasicDataset implementation for JSONDataset.
113255  func (jd JSONDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
113256  	return nil, false
113257  }
113258  
113259  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for JSONDataset.
113260  func (jd JSONDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
113261  	return nil, false
113262  }
113263  
113264  // AsPostgreSQLTableDataset is the BasicDataset implementation for JSONDataset.
113265  func (jd JSONDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
113266  	return nil, false
113267  }
113268  
113269  // AsMySQLTableDataset is the BasicDataset implementation for JSONDataset.
113270  func (jd JSONDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
113271  	return nil, false
113272  }
113273  
113274  // AsOdbcTableDataset is the BasicDataset implementation for JSONDataset.
113275  func (jd JSONDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
113276  	return nil, false
113277  }
113278  
113279  // AsInformixTableDataset is the BasicDataset implementation for JSONDataset.
113280  func (jd JSONDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
113281  	return nil, false
113282  }
113283  
113284  // AsRelationalTableDataset is the BasicDataset implementation for JSONDataset.
113285  func (jd JSONDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
113286  	return nil, false
113287  }
113288  
113289  // AsDb2TableDataset is the BasicDataset implementation for JSONDataset.
113290  func (jd JSONDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
113291  	return nil, false
113292  }
113293  
113294  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for JSONDataset.
113295  func (jd JSONDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
113296  	return nil, false
113297  }
113298  
113299  // AsAzureMySQLTableDataset is the BasicDataset implementation for JSONDataset.
113300  func (jd JSONDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
113301  	return nil, false
113302  }
113303  
113304  // AsTeradataTableDataset is the BasicDataset implementation for JSONDataset.
113305  func (jd JSONDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
113306  	return nil, false
113307  }
113308  
113309  // AsOracleTableDataset is the BasicDataset implementation for JSONDataset.
113310  func (jd JSONDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
113311  	return nil, false
113312  }
113313  
113314  // AsODataResourceDataset is the BasicDataset implementation for JSONDataset.
113315  func (jd JSONDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
113316  	return nil, false
113317  }
113318  
113319  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JSONDataset.
113320  func (jd JSONDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
113321  	return nil, false
113322  }
113323  
113324  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for JSONDataset.
113325  func (jd JSONDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
113326  	return nil, false
113327  }
113328  
113329  // AsMongoDbCollectionDataset is the BasicDataset implementation for JSONDataset.
113330  func (jd JSONDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
113331  	return nil, false
113332  }
113333  
113334  // AsOffice365Dataset is the BasicDataset implementation for JSONDataset.
113335  func (jd JSONDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
113336  	return nil, false
113337  }
113338  
113339  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JSONDataset.
113340  func (jd JSONDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
113341  	return nil, false
113342  }
113343  
113344  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for JSONDataset.
113345  func (jd JSONDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
113346  	return nil, false
113347  }
113348  
113349  // AsDynamicsEntityDataset is the BasicDataset implementation for JSONDataset.
113350  func (jd JSONDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
113351  	return nil, false
113352  }
113353  
113354  // AsDocumentDbCollectionDataset is the BasicDataset implementation for JSONDataset.
113355  func (jd JSONDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
113356  	return nil, false
113357  }
113358  
113359  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JSONDataset.
113360  func (jd JSONDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
113361  	return nil, false
113362  }
113363  
113364  // AsCustomDataset is the BasicDataset implementation for JSONDataset.
113365  func (jd JSONDataset) AsCustomDataset() (*CustomDataset, bool) {
113366  	return nil, false
113367  }
113368  
113369  // AsCassandraTableDataset is the BasicDataset implementation for JSONDataset.
113370  func (jd JSONDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
113371  	return nil, false
113372  }
113373  
113374  // AsAzureSQLDWTableDataset is the BasicDataset implementation for JSONDataset.
113375  func (jd JSONDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
113376  	return nil, false
113377  }
113378  
113379  // AsAzureSQLMITableDataset is the BasicDataset implementation for JSONDataset.
113380  func (jd JSONDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
113381  	return nil, false
113382  }
113383  
113384  // AsAzureSQLTableDataset is the BasicDataset implementation for JSONDataset.
113385  func (jd JSONDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
113386  	return nil, false
113387  }
113388  
113389  // AsAzureTableDataset is the BasicDataset implementation for JSONDataset.
113390  func (jd JSONDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
113391  	return nil, false
113392  }
113393  
113394  // AsBinaryDataset is the BasicDataset implementation for JSONDataset.
113395  func (jd JSONDataset) AsBinaryDataset() (*BinaryDataset, bool) {
113396  	return nil, false
113397  }
113398  
113399  // AsOrcDataset is the BasicDataset implementation for JSONDataset.
113400  func (jd JSONDataset) AsOrcDataset() (*OrcDataset, bool) {
113401  	return nil, false
113402  }
113403  
113404  // AsJSONDataset is the BasicDataset implementation for JSONDataset.
113405  func (jd JSONDataset) AsJSONDataset() (*JSONDataset, bool) {
113406  	return &jd, true
113407  }
113408  
113409  // AsDelimitedTextDataset is the BasicDataset implementation for JSONDataset.
113410  func (jd JSONDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
113411  	return nil, false
113412  }
113413  
113414  // AsParquetDataset is the BasicDataset implementation for JSONDataset.
113415  func (jd JSONDataset) AsParquetDataset() (*ParquetDataset, bool) {
113416  	return nil, false
113417  }
113418  
113419  // AsAvroDataset is the BasicDataset implementation for JSONDataset.
113420  func (jd JSONDataset) AsAvroDataset() (*AvroDataset, bool) {
113421  	return nil, false
113422  }
113423  
113424  // AsDataset is the BasicDataset implementation for JSONDataset.
113425  func (jd JSONDataset) AsDataset() (*Dataset, bool) {
113426  	return nil, false
113427  }
113428  
113429  // AsBasicDataset is the BasicDataset implementation for JSONDataset.
113430  func (jd JSONDataset) AsBasicDataset() (BasicDataset, bool) {
113431  	return &jd, true
113432  }
113433  
113434  // UnmarshalJSON is the custom unmarshaler for JSONDataset struct.
113435  func (jd *JSONDataset) UnmarshalJSON(body []byte) error {
113436  	var m map[string]*json.RawMessage
113437  	err := json.Unmarshal(body, &m)
113438  	if err != nil {
113439  		return err
113440  	}
113441  	for k, v := range m {
113442  		switch k {
113443  		case "typeProperties":
113444  			if v != nil {
113445  				var JSONDatasetTypeProperties JSONDatasetTypeProperties
113446  				err = json.Unmarshal(*v, &JSONDatasetTypeProperties)
113447  				if err != nil {
113448  					return err
113449  				}
113450  				jd.JSONDatasetTypeProperties = &JSONDatasetTypeProperties
113451  			}
113452  		default:
113453  			if v != nil {
113454  				var additionalProperties interface{}
113455  				err = json.Unmarshal(*v, &additionalProperties)
113456  				if err != nil {
113457  					return err
113458  				}
113459  				if jd.AdditionalProperties == nil {
113460  					jd.AdditionalProperties = make(map[string]interface{})
113461  				}
113462  				jd.AdditionalProperties[k] = additionalProperties
113463  			}
113464  		case "description":
113465  			if v != nil {
113466  				var description string
113467  				err = json.Unmarshal(*v, &description)
113468  				if err != nil {
113469  					return err
113470  				}
113471  				jd.Description = &description
113472  			}
113473  		case "structure":
113474  			if v != nil {
113475  				var structure interface{}
113476  				err = json.Unmarshal(*v, &structure)
113477  				if err != nil {
113478  					return err
113479  				}
113480  				jd.Structure = structure
113481  			}
113482  		case "schema":
113483  			if v != nil {
113484  				var schema interface{}
113485  				err = json.Unmarshal(*v, &schema)
113486  				if err != nil {
113487  					return err
113488  				}
113489  				jd.Schema = schema
113490  			}
113491  		case "linkedServiceName":
113492  			if v != nil {
113493  				var linkedServiceName LinkedServiceReference
113494  				err = json.Unmarshal(*v, &linkedServiceName)
113495  				if err != nil {
113496  					return err
113497  				}
113498  				jd.LinkedServiceName = &linkedServiceName
113499  			}
113500  		case "parameters":
113501  			if v != nil {
113502  				var parameters map[string]*ParameterSpecification
113503  				err = json.Unmarshal(*v, &parameters)
113504  				if err != nil {
113505  					return err
113506  				}
113507  				jd.Parameters = parameters
113508  			}
113509  		case "annotations":
113510  			if v != nil {
113511  				var annotations []interface{}
113512  				err = json.Unmarshal(*v, &annotations)
113513  				if err != nil {
113514  					return err
113515  				}
113516  				jd.Annotations = &annotations
113517  			}
113518  		case "folder":
113519  			if v != nil {
113520  				var folder DatasetFolder
113521  				err = json.Unmarshal(*v, &folder)
113522  				if err != nil {
113523  					return err
113524  				}
113525  				jd.Folder = &folder
113526  			}
113527  		case "type":
113528  			if v != nil {
113529  				var typeVar TypeBasicDataset
113530  				err = json.Unmarshal(*v, &typeVar)
113531  				if err != nil {
113532  					return err
113533  				}
113534  				jd.Type = typeVar
113535  			}
113536  		}
113537  	}
113538  
113539  	return nil
113540  }
113541  
113542  // JSONDatasetTypeProperties json dataset properties.
113543  type JSONDatasetTypeProperties struct {
113544  	// Location - The location of the json data storage.
113545  	Location BasicDatasetLocation `json:"location,omitempty"`
113546  	// EncodingName - The code page name of the preferred encoding. If not specified, 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).
113547  	EncodingName interface{} `json:"encodingName,omitempty"`
113548  	// Compression - The data compression method used for the json dataset.
113549  	Compression BasicDatasetCompression `json:"compression,omitempty"`
113550  }
113551  
113552  // UnmarshalJSON is the custom unmarshaler for JSONDatasetTypeProperties struct.
113553  func (jdtp *JSONDatasetTypeProperties) UnmarshalJSON(body []byte) error {
113554  	var m map[string]*json.RawMessage
113555  	err := json.Unmarshal(body, &m)
113556  	if err != nil {
113557  		return err
113558  	}
113559  	for k, v := range m {
113560  		switch k {
113561  		case "location":
113562  			if v != nil {
113563  				location, err := unmarshalBasicDatasetLocation(*v)
113564  				if err != nil {
113565  					return err
113566  				}
113567  				jdtp.Location = location
113568  			}
113569  		case "encodingName":
113570  			if v != nil {
113571  				var encodingName interface{}
113572  				err = json.Unmarshal(*v, &encodingName)
113573  				if err != nil {
113574  					return err
113575  				}
113576  				jdtp.EncodingName = encodingName
113577  			}
113578  		case "compression":
113579  			if v != nil {
113580  				compression, err := unmarshalBasicDatasetCompression(*v)
113581  				if err != nil {
113582  					return err
113583  				}
113584  				jdtp.Compression = compression
113585  			}
113586  		}
113587  	}
113588  
113589  	return nil
113590  }
113591  
113592  // JSONFormat the data stored in JSON format.
113593  type JSONFormat struct {
113594  	// FilePattern - File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible values include: 'SetOfObjects', 'ArrayOfObjects'
113595  	FilePattern JSONFormatFilePattern `json:"filePattern,omitempty"`
113596  	// NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string).
113597  	NestingSeparator interface{} `json:"nestingSeparator,omitempty"`
113598  	// 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).
113599  	EncodingName interface{} `json:"encodingName,omitempty"`
113600  	// JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string).
113601  	JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"`
113602  	// 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).
113603  	JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"`
113604  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
113605  	AdditionalProperties map[string]interface{} `json:""`
113606  	// Serializer - Serializer. Type: string (or Expression with resultType string).
113607  	Serializer interface{} `json:"serializer,omitempty"`
113608  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
113609  	Deserializer interface{} `json:"deserializer,omitempty"`
113610  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
113611  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
113612  }
113613  
113614  // MarshalJSON is the custom marshaler for JSONFormat.
113615  func (jf JSONFormat) MarshalJSON() ([]byte, error) {
113616  	jf.Type = TypeJSONFormat
113617  	objectMap := make(map[string]interface{})
113618  	if jf.FilePattern != "" {
113619  		objectMap["filePattern"] = jf.FilePattern
113620  	}
113621  	if jf.NestingSeparator != nil {
113622  		objectMap["nestingSeparator"] = jf.NestingSeparator
113623  	}
113624  	if jf.EncodingName != nil {
113625  		objectMap["encodingName"] = jf.EncodingName
113626  	}
113627  	if jf.JSONNodeReference != nil {
113628  		objectMap["jsonNodeReference"] = jf.JSONNodeReference
113629  	}
113630  	if jf.JSONPathDefinition != nil {
113631  		objectMap["jsonPathDefinition"] = jf.JSONPathDefinition
113632  	}
113633  	if jf.Serializer != nil {
113634  		objectMap["serializer"] = jf.Serializer
113635  	}
113636  	if jf.Deserializer != nil {
113637  		objectMap["deserializer"] = jf.Deserializer
113638  	}
113639  	if jf.Type != "" {
113640  		objectMap["type"] = jf.Type
113641  	}
113642  	for k, v := range jf.AdditionalProperties {
113643  		objectMap[k] = v
113644  	}
113645  	return json.Marshal(objectMap)
113646  }
113647  
113648  // AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113649  func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) {
113650  	return nil, false
113651  }
113652  
113653  // AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113654  func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) {
113655  	return &jf, true
113656  }
113657  
113658  // AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113659  func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) {
113660  	return nil, false
113661  }
113662  
113663  // AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113664  func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) {
113665  	return nil, false
113666  }
113667  
113668  // AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113669  func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) {
113670  	return nil, false
113671  }
113672  
113673  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113674  func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
113675  	return nil, false
113676  }
113677  
113678  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat.
113679  func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
113680  	return &jf, true
113681  }
113682  
113683  // UnmarshalJSON is the custom unmarshaler for JSONFormat struct.
113684  func (jf *JSONFormat) UnmarshalJSON(body []byte) error {
113685  	var m map[string]*json.RawMessage
113686  	err := json.Unmarshal(body, &m)
113687  	if err != nil {
113688  		return err
113689  	}
113690  	for k, v := range m {
113691  		switch k {
113692  		case "filePattern":
113693  			if v != nil {
113694  				var filePattern JSONFormatFilePattern
113695  				err = json.Unmarshal(*v, &filePattern)
113696  				if err != nil {
113697  					return err
113698  				}
113699  				jf.FilePattern = filePattern
113700  			}
113701  		case "nestingSeparator":
113702  			if v != nil {
113703  				var nestingSeparator interface{}
113704  				err = json.Unmarshal(*v, &nestingSeparator)
113705  				if err != nil {
113706  					return err
113707  				}
113708  				jf.NestingSeparator = nestingSeparator
113709  			}
113710  		case "encodingName":
113711  			if v != nil {
113712  				var encodingName interface{}
113713  				err = json.Unmarshal(*v, &encodingName)
113714  				if err != nil {
113715  					return err
113716  				}
113717  				jf.EncodingName = encodingName
113718  			}
113719  		case "jsonNodeReference":
113720  			if v != nil {
113721  				var JSONNodeReference interface{}
113722  				err = json.Unmarshal(*v, &JSONNodeReference)
113723  				if err != nil {
113724  					return err
113725  				}
113726  				jf.JSONNodeReference = JSONNodeReference
113727  			}
113728  		case "jsonPathDefinition":
113729  			if v != nil {
113730  				var JSONPathDefinition interface{}
113731  				err = json.Unmarshal(*v, &JSONPathDefinition)
113732  				if err != nil {
113733  					return err
113734  				}
113735  				jf.JSONPathDefinition = JSONPathDefinition
113736  			}
113737  		default:
113738  			if v != nil {
113739  				var additionalProperties interface{}
113740  				err = json.Unmarshal(*v, &additionalProperties)
113741  				if err != nil {
113742  					return err
113743  				}
113744  				if jf.AdditionalProperties == nil {
113745  					jf.AdditionalProperties = make(map[string]interface{})
113746  				}
113747  				jf.AdditionalProperties[k] = additionalProperties
113748  			}
113749  		case "serializer":
113750  			if v != nil {
113751  				var serializer interface{}
113752  				err = json.Unmarshal(*v, &serializer)
113753  				if err != nil {
113754  					return err
113755  				}
113756  				jf.Serializer = serializer
113757  			}
113758  		case "deserializer":
113759  			if v != nil {
113760  				var deserializer interface{}
113761  				err = json.Unmarshal(*v, &deserializer)
113762  				if err != nil {
113763  					return err
113764  				}
113765  				jf.Deserializer = deserializer
113766  			}
113767  		case "type":
113768  			if v != nil {
113769  				var typeVar TypeBasicDatasetStorageFormat
113770  				err = json.Unmarshal(*v, &typeVar)
113771  				if err != nil {
113772  					return err
113773  				}
113774  				jf.Type = typeVar
113775  			}
113776  		}
113777  	}
113778  
113779  	return nil
113780  }
113781  
113782  // JSONSink a copy activity Json sink.
113783  type JSONSink struct {
113784  	// StoreSettings - Json store settings.
113785  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
113786  	// FormatSettings - Json format settings.
113787  	FormatSettings *JSONWriteSettings `json:"formatSettings,omitempty"`
113788  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
113789  	AdditionalProperties map[string]interface{} `json:""`
113790  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
113791  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
113792  	// 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])).
113793  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
113794  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
113795  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
113796  	// 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])).
113797  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
113798  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
113799  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
113800  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
113801  	Type TypeBasicCopySink `json:"type,omitempty"`
113802  }
113803  
113804  // MarshalJSON is the custom marshaler for JSONSink.
113805  func (js JSONSink) MarshalJSON() ([]byte, error) {
113806  	js.Type = TypeJSONSink
113807  	objectMap := make(map[string]interface{})
113808  	objectMap["storeSettings"] = js.StoreSettings
113809  	if js.FormatSettings != nil {
113810  		objectMap["formatSettings"] = js.FormatSettings
113811  	}
113812  	if js.WriteBatchSize != nil {
113813  		objectMap["writeBatchSize"] = js.WriteBatchSize
113814  	}
113815  	if js.WriteBatchTimeout != nil {
113816  		objectMap["writeBatchTimeout"] = js.WriteBatchTimeout
113817  	}
113818  	if js.SinkRetryCount != nil {
113819  		objectMap["sinkRetryCount"] = js.SinkRetryCount
113820  	}
113821  	if js.SinkRetryWait != nil {
113822  		objectMap["sinkRetryWait"] = js.SinkRetryWait
113823  	}
113824  	if js.MaxConcurrentConnections != nil {
113825  		objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections
113826  	}
113827  	if js.Type != "" {
113828  		objectMap["type"] = js.Type
113829  	}
113830  	for k, v := range js.AdditionalProperties {
113831  		objectMap[k] = v
113832  	}
113833  	return json.Marshal(objectMap)
113834  }
113835  
113836  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for JSONSink.
113837  func (js JSONSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
113838  	return nil, false
113839  }
113840  
113841  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for JSONSink.
113842  func (js JSONSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
113843  	return nil, false
113844  }
113845  
113846  // AsSalesforceSink is the BasicCopySink implementation for JSONSink.
113847  func (js JSONSink) AsSalesforceSink() (*SalesforceSink, bool) {
113848  	return nil, false
113849  }
113850  
113851  // AsAzureDataExplorerSink is the BasicCopySink implementation for JSONSink.
113852  func (js JSONSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
113853  	return nil, false
113854  }
113855  
113856  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for JSONSink.
113857  func (js JSONSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
113858  	return nil, false
113859  }
113860  
113861  // AsDynamicsCrmSink is the BasicCopySink implementation for JSONSink.
113862  func (js JSONSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
113863  	return nil, false
113864  }
113865  
113866  // AsDynamicsSink is the BasicCopySink implementation for JSONSink.
113867  func (js JSONSink) AsDynamicsSink() (*DynamicsSink, bool) {
113868  	return nil, false
113869  }
113870  
113871  // AsMicrosoftAccessSink is the BasicCopySink implementation for JSONSink.
113872  func (js JSONSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
113873  	return nil, false
113874  }
113875  
113876  // AsInformixSink is the BasicCopySink implementation for JSONSink.
113877  func (js JSONSink) AsInformixSink() (*InformixSink, bool) {
113878  	return nil, false
113879  }
113880  
113881  // AsOdbcSink is the BasicCopySink implementation for JSONSink.
113882  func (js JSONSink) AsOdbcSink() (*OdbcSink, bool) {
113883  	return nil, false
113884  }
113885  
113886  // AsAzureSearchIndexSink is the BasicCopySink implementation for JSONSink.
113887  func (js JSONSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
113888  	return nil, false
113889  }
113890  
113891  // AsAzureBlobFSSink is the BasicCopySink implementation for JSONSink.
113892  func (js JSONSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
113893  	return nil, false
113894  }
113895  
113896  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for JSONSink.
113897  func (js JSONSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
113898  	return nil, false
113899  }
113900  
113901  // AsOracleSink is the BasicCopySink implementation for JSONSink.
113902  func (js JSONSink) AsOracleSink() (*OracleSink, bool) {
113903  	return nil, false
113904  }
113905  
113906  // AsSQLDWSink is the BasicCopySink implementation for JSONSink.
113907  func (js JSONSink) AsSQLDWSink() (*SQLDWSink, bool) {
113908  	return nil, false
113909  }
113910  
113911  // AsSQLMISink is the BasicCopySink implementation for JSONSink.
113912  func (js JSONSink) AsSQLMISink() (*SQLMISink, bool) {
113913  	return nil, false
113914  }
113915  
113916  // AsAzureSQLSink is the BasicCopySink implementation for JSONSink.
113917  func (js JSONSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
113918  	return nil, false
113919  }
113920  
113921  // AsSQLServerSink is the BasicCopySink implementation for JSONSink.
113922  func (js JSONSink) AsSQLServerSink() (*SQLServerSink, bool) {
113923  	return nil, false
113924  }
113925  
113926  // AsSQLSink is the BasicCopySink implementation for JSONSink.
113927  func (js JSONSink) AsSQLSink() (*SQLSink, bool) {
113928  	return nil, false
113929  }
113930  
113931  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for JSONSink.
113932  func (js JSONSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
113933  	return nil, false
113934  }
113935  
113936  // AsDocumentDbCollectionSink is the BasicCopySink implementation for JSONSink.
113937  func (js JSONSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
113938  	return nil, false
113939  }
113940  
113941  // AsFileSystemSink is the BasicCopySink implementation for JSONSink.
113942  func (js JSONSink) AsFileSystemSink() (*FileSystemSink, bool) {
113943  	return nil, false
113944  }
113945  
113946  // AsBlobSink is the BasicCopySink implementation for JSONSink.
113947  func (js JSONSink) AsBlobSink() (*BlobSink, bool) {
113948  	return nil, false
113949  }
113950  
113951  // AsBinarySink is the BasicCopySink implementation for JSONSink.
113952  func (js JSONSink) AsBinarySink() (*BinarySink, bool) {
113953  	return nil, false
113954  }
113955  
113956  // AsParquetSink is the BasicCopySink implementation for JSONSink.
113957  func (js JSONSink) AsParquetSink() (*ParquetSink, bool) {
113958  	return nil, false
113959  }
113960  
113961  // AsAvroSink is the BasicCopySink implementation for JSONSink.
113962  func (js JSONSink) AsAvroSink() (*AvroSink, bool) {
113963  	return nil, false
113964  }
113965  
113966  // AsAzureTableSink is the BasicCopySink implementation for JSONSink.
113967  func (js JSONSink) AsAzureTableSink() (*AzureTableSink, bool) {
113968  	return nil, false
113969  }
113970  
113971  // AsAzureQueueSink is the BasicCopySink implementation for JSONSink.
113972  func (js JSONSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
113973  	return nil, false
113974  }
113975  
113976  // AsSapCloudForCustomerSink is the BasicCopySink implementation for JSONSink.
113977  func (js JSONSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
113978  	return nil, false
113979  }
113980  
113981  // AsAzureMySQLSink is the BasicCopySink implementation for JSONSink.
113982  func (js JSONSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
113983  	return nil, false
113984  }
113985  
113986  // AsAzurePostgreSQLSink is the BasicCopySink implementation for JSONSink.
113987  func (js JSONSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
113988  	return nil, false
113989  }
113990  
113991  // AsOrcSink is the BasicCopySink implementation for JSONSink.
113992  func (js JSONSink) AsOrcSink() (*OrcSink, bool) {
113993  	return nil, false
113994  }
113995  
113996  // AsJSONSink is the BasicCopySink implementation for JSONSink.
113997  func (js JSONSink) AsJSONSink() (*JSONSink, bool) {
113998  	return &js, true
113999  }
114000  
114001  // AsDelimitedTextSink is the BasicCopySink implementation for JSONSink.
114002  func (js JSONSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
114003  	return nil, false
114004  }
114005  
114006  // AsCopySink is the BasicCopySink implementation for JSONSink.
114007  func (js JSONSink) AsCopySink() (*CopySink, bool) {
114008  	return nil, false
114009  }
114010  
114011  // AsBasicCopySink is the BasicCopySink implementation for JSONSink.
114012  func (js JSONSink) AsBasicCopySink() (BasicCopySink, bool) {
114013  	return &js, true
114014  }
114015  
114016  // UnmarshalJSON is the custom unmarshaler for JSONSink struct.
114017  func (js *JSONSink) UnmarshalJSON(body []byte) error {
114018  	var m map[string]*json.RawMessage
114019  	err := json.Unmarshal(body, &m)
114020  	if err != nil {
114021  		return err
114022  	}
114023  	for k, v := range m {
114024  		switch k {
114025  		case "storeSettings":
114026  			if v != nil {
114027  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
114028  				if err != nil {
114029  					return err
114030  				}
114031  				js.StoreSettings = storeSettings
114032  			}
114033  		case "formatSettings":
114034  			if v != nil {
114035  				var formatSettings JSONWriteSettings
114036  				err = json.Unmarshal(*v, &formatSettings)
114037  				if err != nil {
114038  					return err
114039  				}
114040  				js.FormatSettings = &formatSettings
114041  			}
114042  		default:
114043  			if v != nil {
114044  				var additionalProperties interface{}
114045  				err = json.Unmarshal(*v, &additionalProperties)
114046  				if err != nil {
114047  					return err
114048  				}
114049  				if js.AdditionalProperties == nil {
114050  					js.AdditionalProperties = make(map[string]interface{})
114051  				}
114052  				js.AdditionalProperties[k] = additionalProperties
114053  			}
114054  		case "writeBatchSize":
114055  			if v != nil {
114056  				var writeBatchSize interface{}
114057  				err = json.Unmarshal(*v, &writeBatchSize)
114058  				if err != nil {
114059  					return err
114060  				}
114061  				js.WriteBatchSize = writeBatchSize
114062  			}
114063  		case "writeBatchTimeout":
114064  			if v != nil {
114065  				var writeBatchTimeout interface{}
114066  				err = json.Unmarshal(*v, &writeBatchTimeout)
114067  				if err != nil {
114068  					return err
114069  				}
114070  				js.WriteBatchTimeout = writeBatchTimeout
114071  			}
114072  		case "sinkRetryCount":
114073  			if v != nil {
114074  				var sinkRetryCount interface{}
114075  				err = json.Unmarshal(*v, &sinkRetryCount)
114076  				if err != nil {
114077  					return err
114078  				}
114079  				js.SinkRetryCount = sinkRetryCount
114080  			}
114081  		case "sinkRetryWait":
114082  			if v != nil {
114083  				var sinkRetryWait interface{}
114084  				err = json.Unmarshal(*v, &sinkRetryWait)
114085  				if err != nil {
114086  					return err
114087  				}
114088  				js.SinkRetryWait = sinkRetryWait
114089  			}
114090  		case "maxConcurrentConnections":
114091  			if v != nil {
114092  				var maxConcurrentConnections interface{}
114093  				err = json.Unmarshal(*v, &maxConcurrentConnections)
114094  				if err != nil {
114095  					return err
114096  				}
114097  				js.MaxConcurrentConnections = maxConcurrentConnections
114098  			}
114099  		case "type":
114100  			if v != nil {
114101  				var typeVar TypeBasicCopySink
114102  				err = json.Unmarshal(*v, &typeVar)
114103  				if err != nil {
114104  					return err
114105  				}
114106  				js.Type = typeVar
114107  			}
114108  		}
114109  	}
114110  
114111  	return nil
114112  }
114113  
114114  // JSONSource a copy activity Json source.
114115  type JSONSource struct {
114116  	// StoreSettings - Json store settings.
114117  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
114118  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
114119  	AdditionalProperties map[string]interface{} `json:""`
114120  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
114121  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
114122  	// 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])).
114123  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
114124  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
114125  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
114126  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
114127  	Type TypeBasicCopySource `json:"type,omitempty"`
114128  }
114129  
114130  // MarshalJSON is the custom marshaler for JSONSource.
114131  func (js JSONSource) MarshalJSON() ([]byte, error) {
114132  	js.Type = TypeJSONSource
114133  	objectMap := make(map[string]interface{})
114134  	objectMap["storeSettings"] = js.StoreSettings
114135  	if js.SourceRetryCount != nil {
114136  		objectMap["sourceRetryCount"] = js.SourceRetryCount
114137  	}
114138  	if js.SourceRetryWait != nil {
114139  		objectMap["sourceRetryWait"] = js.SourceRetryWait
114140  	}
114141  	if js.MaxConcurrentConnections != nil {
114142  		objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections
114143  	}
114144  	if js.Type != "" {
114145  		objectMap["type"] = js.Type
114146  	}
114147  	for k, v := range js.AdditionalProperties {
114148  		objectMap[k] = v
114149  	}
114150  	return json.Marshal(objectMap)
114151  }
114152  
114153  // AsHTTPSource is the BasicCopySource implementation for JSONSource.
114154  func (js JSONSource) AsHTTPSource() (*HTTPSource, bool) {
114155  	return nil, false
114156  }
114157  
114158  // AsAzureBlobFSSource is the BasicCopySource implementation for JSONSource.
114159  func (js JSONSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
114160  	return nil, false
114161  }
114162  
114163  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for JSONSource.
114164  func (js JSONSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
114165  	return nil, false
114166  }
114167  
114168  // AsOffice365Source is the BasicCopySource implementation for JSONSource.
114169  func (js JSONSource) AsOffice365Source() (*Office365Source, bool) {
114170  	return nil, false
114171  }
114172  
114173  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JSONSource.
114174  func (js JSONSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
114175  	return nil, false
114176  }
114177  
114178  // AsMongoDbV2Source is the BasicCopySource implementation for JSONSource.
114179  func (js JSONSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
114180  	return nil, false
114181  }
114182  
114183  // AsMongoDbSource is the BasicCopySource implementation for JSONSource.
114184  func (js JSONSource) AsMongoDbSource() (*MongoDbSource, bool) {
114185  	return nil, false
114186  }
114187  
114188  // AsWebSource is the BasicCopySource implementation for JSONSource.
114189  func (js JSONSource) AsWebSource() (*WebSource, bool) {
114190  	return nil, false
114191  }
114192  
114193  // AsOracleSource is the BasicCopySource implementation for JSONSource.
114194  func (js JSONSource) AsOracleSource() (*OracleSource, bool) {
114195  	return nil, false
114196  }
114197  
114198  // AsAzureDataExplorerSource is the BasicCopySource implementation for JSONSource.
114199  func (js JSONSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
114200  	return nil, false
114201  }
114202  
114203  // AsHdfsSource is the BasicCopySource implementation for JSONSource.
114204  func (js JSONSource) AsHdfsSource() (*HdfsSource, bool) {
114205  	return nil, false
114206  }
114207  
114208  // AsFileSystemSource is the BasicCopySource implementation for JSONSource.
114209  func (js JSONSource) AsFileSystemSource() (*FileSystemSource, bool) {
114210  	return nil, false
114211  }
114212  
114213  // AsRestSource is the BasicCopySource implementation for JSONSource.
114214  func (js JSONSource) AsRestSource() (*RestSource, bool) {
114215  	return nil, false
114216  }
114217  
114218  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for JSONSource.
114219  func (js JSONSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
114220  	return nil, false
114221  }
114222  
114223  // AsODataSource is the BasicCopySource implementation for JSONSource.
114224  func (js JSONSource) AsODataSource() (*ODataSource, bool) {
114225  	return nil, false
114226  }
114227  
114228  // AsMicrosoftAccessSource is the BasicCopySource implementation for JSONSource.
114229  func (js JSONSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
114230  	return nil, false
114231  }
114232  
114233  // AsRelationalSource is the BasicCopySource implementation for JSONSource.
114234  func (js JSONSource) AsRelationalSource() (*RelationalSource, bool) {
114235  	return nil, false
114236  }
114237  
114238  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JSONSource.
114239  func (js JSONSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
114240  	return nil, false
114241  }
114242  
114243  // AsDynamicsCrmSource is the BasicCopySource implementation for JSONSource.
114244  func (js JSONSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
114245  	return nil, false
114246  }
114247  
114248  // AsDynamicsSource is the BasicCopySource implementation for JSONSource.
114249  func (js JSONSource) AsDynamicsSource() (*DynamicsSource, bool) {
114250  	return nil, false
114251  }
114252  
114253  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for JSONSource.
114254  func (js JSONSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
114255  	return nil, false
114256  }
114257  
114258  // AsDocumentDbCollectionSource is the BasicCopySource implementation for JSONSource.
114259  func (js JSONSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
114260  	return nil, false
114261  }
114262  
114263  // AsBlobSource is the BasicCopySource implementation for JSONSource.
114264  func (js JSONSource) AsBlobSource() (*BlobSource, bool) {
114265  	return nil, false
114266  }
114267  
114268  // AsAmazonRedshiftSource is the BasicCopySource implementation for JSONSource.
114269  func (js JSONSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
114270  	return nil, false
114271  }
114272  
114273  // AsGoogleAdWordsSource is the BasicCopySource implementation for JSONSource.
114274  func (js JSONSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
114275  	return nil, false
114276  }
114277  
114278  // AsOracleServiceCloudSource is the BasicCopySource implementation for JSONSource.
114279  func (js JSONSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
114280  	return nil, false
114281  }
114282  
114283  // AsDynamicsAXSource is the BasicCopySource implementation for JSONSource.
114284  func (js JSONSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
114285  	return nil, false
114286  }
114287  
114288  // AsResponsysSource is the BasicCopySource implementation for JSONSource.
114289  func (js JSONSource) AsResponsysSource() (*ResponsysSource, bool) {
114290  	return nil, false
114291  }
114292  
114293  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JSONSource.
114294  func (js JSONSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
114295  	return nil, false
114296  }
114297  
114298  // AsVerticaSource is the BasicCopySource implementation for JSONSource.
114299  func (js JSONSource) AsVerticaSource() (*VerticaSource, bool) {
114300  	return nil, false
114301  }
114302  
114303  // AsNetezzaSource is the BasicCopySource implementation for JSONSource.
114304  func (js JSONSource) AsNetezzaSource() (*NetezzaSource, bool) {
114305  	return nil, false
114306  }
114307  
114308  // AsZohoSource is the BasicCopySource implementation for JSONSource.
114309  func (js JSONSource) AsZohoSource() (*ZohoSource, bool) {
114310  	return nil, false
114311  }
114312  
114313  // AsXeroSource is the BasicCopySource implementation for JSONSource.
114314  func (js JSONSource) AsXeroSource() (*XeroSource, bool) {
114315  	return nil, false
114316  }
114317  
114318  // AsSquareSource is the BasicCopySource implementation for JSONSource.
114319  func (js JSONSource) AsSquareSource() (*SquareSource, bool) {
114320  	return nil, false
114321  }
114322  
114323  // AsSparkSource is the BasicCopySource implementation for JSONSource.
114324  func (js JSONSource) AsSparkSource() (*SparkSource, bool) {
114325  	return nil, false
114326  }
114327  
114328  // AsShopifySource is the BasicCopySource implementation for JSONSource.
114329  func (js JSONSource) AsShopifySource() (*ShopifySource, bool) {
114330  	return nil, false
114331  }
114332  
114333  // AsServiceNowSource is the BasicCopySource implementation for JSONSource.
114334  func (js JSONSource) AsServiceNowSource() (*ServiceNowSource, bool) {
114335  	return nil, false
114336  }
114337  
114338  // AsQuickBooksSource is the BasicCopySource implementation for JSONSource.
114339  func (js JSONSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
114340  	return nil, false
114341  }
114342  
114343  // AsPrestoSource is the BasicCopySource implementation for JSONSource.
114344  func (js JSONSource) AsPrestoSource() (*PrestoSource, bool) {
114345  	return nil, false
114346  }
114347  
114348  // AsPhoenixSource is the BasicCopySource implementation for JSONSource.
114349  func (js JSONSource) AsPhoenixSource() (*PhoenixSource, bool) {
114350  	return nil, false
114351  }
114352  
114353  // AsPaypalSource is the BasicCopySource implementation for JSONSource.
114354  func (js JSONSource) AsPaypalSource() (*PaypalSource, bool) {
114355  	return nil, false
114356  }
114357  
114358  // AsMarketoSource is the BasicCopySource implementation for JSONSource.
114359  func (js JSONSource) AsMarketoSource() (*MarketoSource, bool) {
114360  	return nil, false
114361  }
114362  
114363  // AsAzureMariaDBSource is the BasicCopySource implementation for JSONSource.
114364  func (js JSONSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
114365  	return nil, false
114366  }
114367  
114368  // AsMariaDBSource is the BasicCopySource implementation for JSONSource.
114369  func (js JSONSource) AsMariaDBSource() (*MariaDBSource, bool) {
114370  	return nil, false
114371  }
114372  
114373  // AsMagentoSource is the BasicCopySource implementation for JSONSource.
114374  func (js JSONSource) AsMagentoSource() (*MagentoSource, bool) {
114375  	return nil, false
114376  }
114377  
114378  // AsJiraSource is the BasicCopySource implementation for JSONSource.
114379  func (js JSONSource) AsJiraSource() (*JiraSource, bool) {
114380  	return nil, false
114381  }
114382  
114383  // AsImpalaSource is the BasicCopySource implementation for JSONSource.
114384  func (js JSONSource) AsImpalaSource() (*ImpalaSource, bool) {
114385  	return nil, false
114386  }
114387  
114388  // AsHubspotSource is the BasicCopySource implementation for JSONSource.
114389  func (js JSONSource) AsHubspotSource() (*HubspotSource, bool) {
114390  	return nil, false
114391  }
114392  
114393  // AsHiveSource is the BasicCopySource implementation for JSONSource.
114394  func (js JSONSource) AsHiveSource() (*HiveSource, bool) {
114395  	return nil, false
114396  }
114397  
114398  // AsHBaseSource is the BasicCopySource implementation for JSONSource.
114399  func (js JSONSource) AsHBaseSource() (*HBaseSource, bool) {
114400  	return nil, false
114401  }
114402  
114403  // AsGreenplumSource is the BasicCopySource implementation for JSONSource.
114404  func (js JSONSource) AsGreenplumSource() (*GreenplumSource, bool) {
114405  	return nil, false
114406  }
114407  
114408  // AsGoogleBigQuerySource is the BasicCopySource implementation for JSONSource.
114409  func (js JSONSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
114410  	return nil, false
114411  }
114412  
114413  // AsEloquaSource is the BasicCopySource implementation for JSONSource.
114414  func (js JSONSource) AsEloquaSource() (*EloquaSource, bool) {
114415  	return nil, false
114416  }
114417  
114418  // AsDrillSource is the BasicCopySource implementation for JSONSource.
114419  func (js JSONSource) AsDrillSource() (*DrillSource, bool) {
114420  	return nil, false
114421  }
114422  
114423  // AsCouchbaseSource is the BasicCopySource implementation for JSONSource.
114424  func (js JSONSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
114425  	return nil, false
114426  }
114427  
114428  // AsConcurSource is the BasicCopySource implementation for JSONSource.
114429  func (js JSONSource) AsConcurSource() (*ConcurSource, bool) {
114430  	return nil, false
114431  }
114432  
114433  // AsAzurePostgreSQLSource is the BasicCopySource implementation for JSONSource.
114434  func (js JSONSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
114435  	return nil, false
114436  }
114437  
114438  // AsAmazonMWSSource is the BasicCopySource implementation for JSONSource.
114439  func (js JSONSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
114440  	return nil, false
114441  }
114442  
114443  // AsCassandraSource is the BasicCopySource implementation for JSONSource.
114444  func (js JSONSource) AsCassandraSource() (*CassandraSource, bool) {
114445  	return nil, false
114446  }
114447  
114448  // AsTeradataSource is the BasicCopySource implementation for JSONSource.
114449  func (js JSONSource) AsTeradataSource() (*TeradataSource, bool) {
114450  	return nil, false
114451  }
114452  
114453  // AsAzureMySQLSource is the BasicCopySource implementation for JSONSource.
114454  func (js JSONSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
114455  	return nil, false
114456  }
114457  
114458  // AsSQLDWSource is the BasicCopySource implementation for JSONSource.
114459  func (js JSONSource) AsSQLDWSource() (*SQLDWSource, bool) {
114460  	return nil, false
114461  }
114462  
114463  // AsSQLMISource is the BasicCopySource implementation for JSONSource.
114464  func (js JSONSource) AsSQLMISource() (*SQLMISource, bool) {
114465  	return nil, false
114466  }
114467  
114468  // AsAzureSQLSource is the BasicCopySource implementation for JSONSource.
114469  func (js JSONSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
114470  	return nil, false
114471  }
114472  
114473  // AsSQLServerSource is the BasicCopySource implementation for JSONSource.
114474  func (js JSONSource) AsSQLServerSource() (*SQLServerSource, bool) {
114475  	return nil, false
114476  }
114477  
114478  // AsSQLSource is the BasicCopySource implementation for JSONSource.
114479  func (js JSONSource) AsSQLSource() (*SQLSource, bool) {
114480  	return nil, false
114481  }
114482  
114483  // AsSapTableSource is the BasicCopySource implementation for JSONSource.
114484  func (js JSONSource) AsSapTableSource() (*SapTableSource, bool) {
114485  	return nil, false
114486  }
114487  
114488  // AsSapOpenHubSource is the BasicCopySource implementation for JSONSource.
114489  func (js JSONSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
114490  	return nil, false
114491  }
114492  
114493  // AsSapHanaSource is the BasicCopySource implementation for JSONSource.
114494  func (js JSONSource) AsSapHanaSource() (*SapHanaSource, bool) {
114495  	return nil, false
114496  }
114497  
114498  // AsSapEccSource is the BasicCopySource implementation for JSONSource.
114499  func (js JSONSource) AsSapEccSource() (*SapEccSource, bool) {
114500  	return nil, false
114501  }
114502  
114503  // AsSapCloudForCustomerSource is the BasicCopySource implementation for JSONSource.
114504  func (js JSONSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
114505  	return nil, false
114506  }
114507  
114508  // AsSalesforceSource is the BasicCopySource implementation for JSONSource.
114509  func (js JSONSource) AsSalesforceSource() (*SalesforceSource, bool) {
114510  	return nil, false
114511  }
114512  
114513  // AsSapBwSource is the BasicCopySource implementation for JSONSource.
114514  func (js JSONSource) AsSapBwSource() (*SapBwSource, bool) {
114515  	return nil, false
114516  }
114517  
114518  // AsSybaseSource is the BasicCopySource implementation for JSONSource.
114519  func (js JSONSource) AsSybaseSource() (*SybaseSource, bool) {
114520  	return nil, false
114521  }
114522  
114523  // AsPostgreSQLSource is the BasicCopySource implementation for JSONSource.
114524  func (js JSONSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
114525  	return nil, false
114526  }
114527  
114528  // AsMySQLSource is the BasicCopySource implementation for JSONSource.
114529  func (js JSONSource) AsMySQLSource() (*MySQLSource, bool) {
114530  	return nil, false
114531  }
114532  
114533  // AsOdbcSource is the BasicCopySource implementation for JSONSource.
114534  func (js JSONSource) AsOdbcSource() (*OdbcSource, bool) {
114535  	return nil, false
114536  }
114537  
114538  // AsDb2Source is the BasicCopySource implementation for JSONSource.
114539  func (js JSONSource) AsDb2Source() (*Db2Source, bool) {
114540  	return nil, false
114541  }
114542  
114543  // AsInformixSource is the BasicCopySource implementation for JSONSource.
114544  func (js JSONSource) AsInformixSource() (*InformixSource, bool) {
114545  	return nil, false
114546  }
114547  
114548  // AsAzureTableSource is the BasicCopySource implementation for JSONSource.
114549  func (js JSONSource) AsAzureTableSource() (*AzureTableSource, bool) {
114550  	return nil, false
114551  }
114552  
114553  // AsTabularSource is the BasicCopySource implementation for JSONSource.
114554  func (js JSONSource) AsTabularSource() (*TabularSource, bool) {
114555  	return nil, false
114556  }
114557  
114558  // AsBasicTabularSource is the BasicCopySource implementation for JSONSource.
114559  func (js JSONSource) AsBasicTabularSource() (BasicTabularSource, bool) {
114560  	return nil, false
114561  }
114562  
114563  // AsBinarySource is the BasicCopySource implementation for JSONSource.
114564  func (js JSONSource) AsBinarySource() (*BinarySource, bool) {
114565  	return nil, false
114566  }
114567  
114568  // AsOrcSource is the BasicCopySource implementation for JSONSource.
114569  func (js JSONSource) AsOrcSource() (*OrcSource, bool) {
114570  	return nil, false
114571  }
114572  
114573  // AsJSONSource is the BasicCopySource implementation for JSONSource.
114574  func (js JSONSource) AsJSONSource() (*JSONSource, bool) {
114575  	return &js, true
114576  }
114577  
114578  // AsDelimitedTextSource is the BasicCopySource implementation for JSONSource.
114579  func (js JSONSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
114580  	return nil, false
114581  }
114582  
114583  // AsParquetSource is the BasicCopySource implementation for JSONSource.
114584  func (js JSONSource) AsParquetSource() (*ParquetSource, bool) {
114585  	return nil, false
114586  }
114587  
114588  // AsAvroSource is the BasicCopySource implementation for JSONSource.
114589  func (js JSONSource) AsAvroSource() (*AvroSource, bool) {
114590  	return nil, false
114591  }
114592  
114593  // AsCopySource is the BasicCopySource implementation for JSONSource.
114594  func (js JSONSource) AsCopySource() (*CopySource, bool) {
114595  	return nil, false
114596  }
114597  
114598  // AsBasicCopySource is the BasicCopySource implementation for JSONSource.
114599  func (js JSONSource) AsBasicCopySource() (BasicCopySource, bool) {
114600  	return &js, true
114601  }
114602  
114603  // UnmarshalJSON is the custom unmarshaler for JSONSource struct.
114604  func (js *JSONSource) UnmarshalJSON(body []byte) error {
114605  	var m map[string]*json.RawMessage
114606  	err := json.Unmarshal(body, &m)
114607  	if err != nil {
114608  		return err
114609  	}
114610  	for k, v := range m {
114611  		switch k {
114612  		case "storeSettings":
114613  			if v != nil {
114614  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
114615  				if err != nil {
114616  					return err
114617  				}
114618  				js.StoreSettings = storeSettings
114619  			}
114620  		default:
114621  			if v != nil {
114622  				var additionalProperties interface{}
114623  				err = json.Unmarshal(*v, &additionalProperties)
114624  				if err != nil {
114625  					return err
114626  				}
114627  				if js.AdditionalProperties == nil {
114628  					js.AdditionalProperties = make(map[string]interface{})
114629  				}
114630  				js.AdditionalProperties[k] = additionalProperties
114631  			}
114632  		case "sourceRetryCount":
114633  			if v != nil {
114634  				var sourceRetryCount interface{}
114635  				err = json.Unmarshal(*v, &sourceRetryCount)
114636  				if err != nil {
114637  					return err
114638  				}
114639  				js.SourceRetryCount = sourceRetryCount
114640  			}
114641  		case "sourceRetryWait":
114642  			if v != nil {
114643  				var sourceRetryWait interface{}
114644  				err = json.Unmarshal(*v, &sourceRetryWait)
114645  				if err != nil {
114646  					return err
114647  				}
114648  				js.SourceRetryWait = sourceRetryWait
114649  			}
114650  		case "maxConcurrentConnections":
114651  			if v != nil {
114652  				var maxConcurrentConnections interface{}
114653  				err = json.Unmarshal(*v, &maxConcurrentConnections)
114654  				if err != nil {
114655  					return err
114656  				}
114657  				js.MaxConcurrentConnections = maxConcurrentConnections
114658  			}
114659  		case "type":
114660  			if v != nil {
114661  				var typeVar TypeBasicCopySource
114662  				err = json.Unmarshal(*v, &typeVar)
114663  				if err != nil {
114664  					return err
114665  				}
114666  				js.Type = typeVar
114667  			}
114668  		}
114669  	}
114670  
114671  	return nil
114672  }
114673  
114674  // JSONWriteSettings json write settings.
114675  type JSONWriteSettings struct {
114676  	// FilePattern - File pattern of JSON. This setting controls the way a collection of JSON objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible values include: 'JSONWriteFilePatternSetOfObjects', 'JSONWriteFilePatternArrayOfObjects'
114677  	FilePattern JSONWriteFilePattern `json:"filePattern,omitempty"`
114678  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
114679  	AdditionalProperties map[string]interface{} `json:""`
114680  	// Type - Possible values include: 'TypeFormatWriteSettings', 'TypeJSONWriteSettings', 'TypeDelimitedTextWriteSettings', 'TypeAvroWriteSettings'
114681  	Type TypeBasicFormatWriteSettings `json:"type,omitempty"`
114682  }
114683  
114684  // MarshalJSON is the custom marshaler for JSONWriteSettings.
114685  func (jws JSONWriteSettings) MarshalJSON() ([]byte, error) {
114686  	jws.Type = TypeJSONWriteSettings
114687  	objectMap := make(map[string]interface{})
114688  	if jws.FilePattern != "" {
114689  		objectMap["filePattern"] = jws.FilePattern
114690  	}
114691  	if jws.Type != "" {
114692  		objectMap["type"] = jws.Type
114693  	}
114694  	for k, v := range jws.AdditionalProperties {
114695  		objectMap[k] = v
114696  	}
114697  	return json.Marshal(objectMap)
114698  }
114699  
114700  // AsJSONWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings.
114701  func (jws JSONWriteSettings) AsJSONWriteSettings() (*JSONWriteSettings, bool) {
114702  	return &jws, true
114703  }
114704  
114705  // AsDelimitedTextWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings.
114706  func (jws JSONWriteSettings) AsDelimitedTextWriteSettings() (*DelimitedTextWriteSettings, bool) {
114707  	return nil, false
114708  }
114709  
114710  // AsAvroWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings.
114711  func (jws JSONWriteSettings) AsAvroWriteSettings() (*AvroWriteSettings, bool) {
114712  	return nil, false
114713  }
114714  
114715  // AsFormatWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings.
114716  func (jws JSONWriteSettings) AsFormatWriteSettings() (*FormatWriteSettings, bool) {
114717  	return nil, false
114718  }
114719  
114720  // AsBasicFormatWriteSettings is the BasicFormatWriteSettings implementation for JSONWriteSettings.
114721  func (jws JSONWriteSettings) AsBasicFormatWriteSettings() (BasicFormatWriteSettings, bool) {
114722  	return &jws, true
114723  }
114724  
114725  // UnmarshalJSON is the custom unmarshaler for JSONWriteSettings struct.
114726  func (jws *JSONWriteSettings) UnmarshalJSON(body []byte) error {
114727  	var m map[string]*json.RawMessage
114728  	err := json.Unmarshal(body, &m)
114729  	if err != nil {
114730  		return err
114731  	}
114732  	for k, v := range m {
114733  		switch k {
114734  		case "filePattern":
114735  			if v != nil {
114736  				var filePattern JSONWriteFilePattern
114737  				err = json.Unmarshal(*v, &filePattern)
114738  				if err != nil {
114739  					return err
114740  				}
114741  				jws.FilePattern = filePattern
114742  			}
114743  		default:
114744  			if v != nil {
114745  				var additionalProperties interface{}
114746  				err = json.Unmarshal(*v, &additionalProperties)
114747  				if err != nil {
114748  					return err
114749  				}
114750  				if jws.AdditionalProperties == nil {
114751  					jws.AdditionalProperties = make(map[string]interface{})
114752  				}
114753  				jws.AdditionalProperties[k] = additionalProperties
114754  			}
114755  		case "type":
114756  			if v != nil {
114757  				var typeVar TypeBasicFormatWriteSettings
114758  				err = json.Unmarshal(*v, &typeVar)
114759  				if err != nil {
114760  					return err
114761  				}
114762  				jws.Type = typeVar
114763  			}
114764  		}
114765  	}
114766  
114767  	return nil
114768  }
114769  
114770  // LibraryRequirements library requirements for a Big Data pool powered by Apache Spark
114771  type LibraryRequirements struct {
114772  	// Time - READ-ONLY; The last update time of the library requirements file.
114773  	Time *date.Time `json:"time,omitempty"`
114774  	// Content - The library requirements.
114775  	Content *string `json:"content,omitempty"`
114776  	// Filename - The filename of the library requirements file.
114777  	Filename *string `json:"filename,omitempty"`
114778  }
114779  
114780  // MarshalJSON is the custom marshaler for LibraryRequirements.
114781  func (lr LibraryRequirements) MarshalJSON() ([]byte, error) {
114782  	objectMap := make(map[string]interface{})
114783  	if lr.Content != nil {
114784  		objectMap["content"] = lr.Content
114785  	}
114786  	if lr.Filename != nil {
114787  		objectMap["filename"] = lr.Filename
114788  	}
114789  	return json.Marshal(objectMap)
114790  }
114791  
114792  // LicensedComponentSetupTypeProperties installation of licensed component setup type properties.
114793  type LicensedComponentSetupTypeProperties struct {
114794  	// ComponentName - The name of the 3rd party component.
114795  	ComponentName *string `json:"componentName,omitempty"`
114796  	// LicenseKey - The license key to activate the component.
114797  	LicenseKey BasicSecretBase `json:"licenseKey,omitempty"`
114798  }
114799  
114800  // UnmarshalJSON is the custom unmarshaler for LicensedComponentSetupTypeProperties struct.
114801  func (lcstp *LicensedComponentSetupTypeProperties) UnmarshalJSON(body []byte) error {
114802  	var m map[string]*json.RawMessage
114803  	err := json.Unmarshal(body, &m)
114804  	if err != nil {
114805  		return err
114806  	}
114807  	for k, v := range m {
114808  		switch k {
114809  		case "componentName":
114810  			if v != nil {
114811  				var componentName string
114812  				err = json.Unmarshal(*v, &componentName)
114813  				if err != nil {
114814  					return err
114815  				}
114816  				lcstp.ComponentName = &componentName
114817  			}
114818  		case "licenseKey":
114819  			if v != nil {
114820  				licenseKey, err := unmarshalBasicSecretBase(*v)
114821  				if err != nil {
114822  					return err
114823  				}
114824  				lcstp.LicenseKey = licenseKey
114825  			}
114826  		}
114827  	}
114828  
114829  	return nil
114830  }
114831  
114832  // LinkedIntegrationRuntimeKeyAuthorization the key authorization type integration runtime.
114833  type LinkedIntegrationRuntimeKeyAuthorization struct {
114834  	// Key - The key used for authorization.
114835  	Key *SecureString `json:"key,omitempty"`
114836  	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
114837  	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
114838  }
114839  
114840  // MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKeyAuthorization.
114841  func (lirka LinkedIntegrationRuntimeKeyAuthorization) MarshalJSON() ([]byte, error) {
114842  	lirka.AuthorizationType = AuthorizationTypeKey
114843  	objectMap := make(map[string]interface{})
114844  	if lirka.Key != nil {
114845  		objectMap["key"] = lirka.Key
114846  	}
114847  	if lirka.AuthorizationType != "" {
114848  		objectMap["authorizationType"] = lirka.AuthorizationType
114849  	}
114850  	return json.Marshal(objectMap)
114851  }
114852  
114853  // AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
114854  func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
114855  	return nil, false
114856  }
114857  
114858  // AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
114859  func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
114860  	return &lirka, true
114861  }
114862  
114863  // AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
114864  func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
114865  	return nil, false
114866  }
114867  
114868  // AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization.
114869  func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
114870  	return &lirka, true
114871  }
114872  
114873  // LinkedIntegrationRuntimeRbacAuthorization the role based access control (RBAC) authorization type
114874  // integration runtime.
114875  type LinkedIntegrationRuntimeRbacAuthorization struct {
114876  	// ResourceID - The resource identifier of the integration runtime to be shared.
114877  	ResourceID *string `json:"resourceId,omitempty"`
114878  	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
114879  	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
114880  }
114881  
114882  // MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbacAuthorization.
114883  func (lirra LinkedIntegrationRuntimeRbacAuthorization) MarshalJSON() ([]byte, error) {
114884  	lirra.AuthorizationType = AuthorizationTypeRBAC
114885  	objectMap := make(map[string]interface{})
114886  	if lirra.ResourceID != nil {
114887  		objectMap["resourceId"] = lirra.ResourceID
114888  	}
114889  	if lirra.AuthorizationType != "" {
114890  		objectMap["authorizationType"] = lirra.AuthorizationType
114891  	}
114892  	return json.Marshal(objectMap)
114893  }
114894  
114895  // AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
114896  func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
114897  	return &lirra, true
114898  }
114899  
114900  // AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
114901  func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
114902  	return nil, false
114903  }
114904  
114905  // AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
114906  func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
114907  	return nil, false
114908  }
114909  
114910  // AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization.
114911  func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
114912  	return &lirra, true
114913  }
114914  
114915  // BasicLinkedIntegrationRuntimeType the base definition of a linked integration runtime.
114916  type BasicLinkedIntegrationRuntimeType interface {
114917  	AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool)
114918  	AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool)
114919  	AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool)
114920  }
114921  
114922  // LinkedIntegrationRuntimeType the base definition of a linked integration runtime.
114923  type LinkedIntegrationRuntimeType struct {
114924  	// AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey'
114925  	AuthorizationType AuthorizationType `json:"authorizationType,omitempty"`
114926  }
114927  
114928  func unmarshalBasicLinkedIntegrationRuntimeType(body []byte) (BasicLinkedIntegrationRuntimeType, error) {
114929  	var m map[string]interface{}
114930  	err := json.Unmarshal(body, &m)
114931  	if err != nil {
114932  		return nil, err
114933  	}
114934  
114935  	switch m["authorizationType"] {
114936  	case string(AuthorizationTypeRBAC):
114937  		var lirra LinkedIntegrationRuntimeRbacAuthorization
114938  		err := json.Unmarshal(body, &lirra)
114939  		return lirra, err
114940  	case string(AuthorizationTypeKey):
114941  		var lirka LinkedIntegrationRuntimeKeyAuthorization
114942  		err := json.Unmarshal(body, &lirka)
114943  		return lirka, err
114944  	default:
114945  		var lirt LinkedIntegrationRuntimeType
114946  		err := json.Unmarshal(body, &lirt)
114947  		return lirt, err
114948  	}
114949  }
114950  func unmarshalBasicLinkedIntegrationRuntimeTypeArray(body []byte) ([]BasicLinkedIntegrationRuntimeType, error) {
114951  	var rawMessages []*json.RawMessage
114952  	err := json.Unmarshal(body, &rawMessages)
114953  	if err != nil {
114954  		return nil, err
114955  	}
114956  
114957  	lirtArray := make([]BasicLinkedIntegrationRuntimeType, len(rawMessages))
114958  
114959  	for index, rawMessage := range rawMessages {
114960  		lirt, err := unmarshalBasicLinkedIntegrationRuntimeType(*rawMessage)
114961  		if err != nil {
114962  			return nil, err
114963  		}
114964  		lirtArray[index] = lirt
114965  	}
114966  	return lirtArray, nil
114967  }
114968  
114969  // MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeType.
114970  func (lirt LinkedIntegrationRuntimeType) MarshalJSON() ([]byte, error) {
114971  	lirt.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeType
114972  	objectMap := make(map[string]interface{})
114973  	if lirt.AuthorizationType != "" {
114974  		objectMap["authorizationType"] = lirt.AuthorizationType
114975  	}
114976  	return json.Marshal(objectMap)
114977  }
114978  
114979  // AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
114980  func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) {
114981  	return nil, false
114982  }
114983  
114984  // AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
114985  func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) {
114986  	return nil, false
114987  }
114988  
114989  // AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
114990  func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) {
114991  	return &lirt, true
114992  }
114993  
114994  // AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType.
114995  func (lirt LinkedIntegrationRuntimeType) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) {
114996  	return &lirt, true
114997  }
114998  
114999  // BasicLinkedService the Azure Synapse nested object which contains the information and credential which can be used
115000  // to connect with related store or compute resource.
115001  type BasicLinkedService interface {
115002  	AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool)
115003  	AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool)
115004  	AsSapTableLinkedService() (*SapTableLinkedService, bool)
115005  	AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool)
115006  	AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool)
115007  	AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool)
115008  	AsResponsysLinkedService() (*ResponsysLinkedService, bool)
115009  	AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool)
115010  	AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool)
115011  	AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool)
115012  	AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool)
115013  	AsNetezzaLinkedService() (*NetezzaLinkedService, bool)
115014  	AsVerticaLinkedService() (*VerticaLinkedService, bool)
115015  	AsZohoLinkedService() (*ZohoLinkedService, bool)
115016  	AsXeroLinkedService() (*XeroLinkedService, bool)
115017  	AsSquareLinkedService() (*SquareLinkedService, bool)
115018  	AsSparkLinkedService() (*SparkLinkedService, bool)
115019  	AsShopifyLinkedService() (*ShopifyLinkedService, bool)
115020  	AsServiceNowLinkedService() (*ServiceNowLinkedService, bool)
115021  	AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool)
115022  	AsPrestoLinkedService() (*PrestoLinkedService, bool)
115023  	AsPhoenixLinkedService() (*PhoenixLinkedService, bool)
115024  	AsPaypalLinkedService() (*PaypalLinkedService, bool)
115025  	AsMarketoLinkedService() (*MarketoLinkedService, bool)
115026  	AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool)
115027  	AsMariaDBLinkedService() (*MariaDBLinkedService, bool)
115028  	AsMagentoLinkedService() (*MagentoLinkedService, bool)
115029  	AsJiraLinkedService() (*JiraLinkedService, bool)
115030  	AsImpalaLinkedService() (*ImpalaLinkedService, bool)
115031  	AsHubspotLinkedService() (*HubspotLinkedService, bool)
115032  	AsHiveLinkedService() (*HiveLinkedService, bool)
115033  	AsHBaseLinkedService() (*HBaseLinkedService, bool)
115034  	AsGreenplumLinkedService() (*GreenplumLinkedService, bool)
115035  	AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool)
115036  	AsEloquaLinkedService() (*EloquaLinkedService, bool)
115037  	AsDrillLinkedService() (*DrillLinkedService, bool)
115038  	AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool)
115039  	AsConcurLinkedService() (*ConcurLinkedService, bool)
115040  	AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool)
115041  	AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool)
115042  	AsSapHanaLinkedService() (*SapHanaLinkedService, bool)
115043  	AsSapBWLinkedService() (*SapBWLinkedService, bool)
115044  	AsSftpServerLinkedService() (*SftpServerLinkedService, bool)
115045  	AsFtpServerLinkedService() (*FtpServerLinkedService, bool)
115046  	AsHTTPLinkedService() (*HTTPLinkedService, bool)
115047  	AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool)
115048  	AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool)
115049  	AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool)
115050  	AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool)
115051  	AsRestServiceLinkedService() (*RestServiceLinkedService, bool)
115052  	AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool)
115053  	AsSapEccLinkedService() (*SapEccLinkedService, bool)
115054  	AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool)
115055  	AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool)
115056  	AsSalesforceLinkedService() (*SalesforceLinkedService, bool)
115057  	AsOffice365LinkedService() (*Office365LinkedService, bool)
115058  	AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool)
115059  	AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool)
115060  	AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool)
115061  	AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool)
115062  	AsMongoDbLinkedService() (*MongoDbLinkedService, bool)
115063  	AsCassandraLinkedService() (*CassandraLinkedService, bool)
115064  	AsWebLinkedService() (*WebLinkedService, bool)
115065  	AsODataLinkedService() (*ODataLinkedService, bool)
115066  	AsHdfsLinkedService() (*HdfsLinkedService, bool)
115067  	AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool)
115068  	AsInformixLinkedService() (*InformixLinkedService, bool)
115069  	AsOdbcLinkedService() (*OdbcLinkedService, bool)
115070  	AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool)
115071  	AsAzureMLLinkedService() (*AzureMLLinkedService, bool)
115072  	AsTeradataLinkedService() (*TeradataLinkedService, bool)
115073  	AsDb2LinkedService() (*Db2LinkedService, bool)
115074  	AsSybaseLinkedService() (*SybaseLinkedService, bool)
115075  	AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool)
115076  	AsMySQLLinkedService() (*MySQLLinkedService, bool)
115077  	AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool)
115078  	AsOracleLinkedService() (*OracleLinkedService, bool)
115079  	AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool)
115080  	AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool)
115081  	AsFileServerLinkedService() (*FileServerLinkedService, bool)
115082  	AsHDInsightLinkedService() (*HDInsightLinkedService, bool)
115083  	AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool)
115084  	AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool)
115085  	AsDynamicsLinkedService() (*DynamicsLinkedService, bool)
115086  	AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool)
115087  	AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool)
115088  	AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool)
115089  	AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool)
115090  	AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool)
115091  	AsSQLServerLinkedService() (*SQLServerLinkedService, bool)
115092  	AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool)
115093  	AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool)
115094  	AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool)
115095  	AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool)
115096  	AsLinkedService() (*LinkedService, bool)
115097  }
115098  
115099  // LinkedService the Azure Synapse nested object which contains the information and credential which can be
115100  // used to connect with related store or compute resource.
115101  type LinkedService struct {
115102  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
115103  	AdditionalProperties map[string]interface{} `json:""`
115104  	// ConnectVia - The integration runtime reference.
115105  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
115106  	// Description - Linked service description.
115107  	Description *string `json:"description,omitempty"`
115108  	// Parameters - Parameters for linked service.
115109  	Parameters map[string]*ParameterSpecification `json:"parameters"`
115110  	// Annotations - List of tags that can be used for describing the linked service.
115111  	Annotations *[]interface{} `json:"annotations,omitempty"`
115112  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
115113  	Type TypeBasicLinkedService `json:"type,omitempty"`
115114  }
115115  
115116  func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) {
115117  	var m map[string]interface{}
115118  	err := json.Unmarshal(body, &m)
115119  	if err != nil {
115120  		return nil, err
115121  	}
115122  
115123  	switch m["type"] {
115124  	case string(TypeAzureFunction):
115125  		var afls AzureFunctionLinkedService
115126  		err := json.Unmarshal(body, &afls)
115127  		return afls, err
115128  	case string(TypeAzureDataExplorer):
115129  		var adels AzureDataExplorerLinkedService
115130  		err := json.Unmarshal(body, &adels)
115131  		return adels, err
115132  	case string(TypeSapTable):
115133  		var stls SapTableLinkedService
115134  		err := json.Unmarshal(body, &stls)
115135  		return stls, err
115136  	case string(TypeGoogleAdWords):
115137  		var gawls GoogleAdWordsLinkedService
115138  		err := json.Unmarshal(body, &gawls)
115139  		return gawls, err
115140  	case string(TypeOracleServiceCloud):
115141  		var oscls OracleServiceCloudLinkedService
115142  		err := json.Unmarshal(body, &oscls)
115143  		return oscls, err
115144  	case string(TypeDynamicsAX):
115145  		var dals DynamicsAXLinkedService
115146  		err := json.Unmarshal(body, &dals)
115147  		return dals, err
115148  	case string(TypeResponsys):
115149  		var rls ResponsysLinkedService
115150  		err := json.Unmarshal(body, &rls)
115151  		return rls, err
115152  	case string(TypeAzureDatabricks):
115153  		var adls AzureDatabricksLinkedService
115154  		err := json.Unmarshal(body, &adls)
115155  		return adls, err
115156  	case string(TypeAzureDataLakeAnalytics):
115157  		var adlals AzureDataLakeAnalyticsLinkedService
115158  		err := json.Unmarshal(body, &adlals)
115159  		return adlals, err
115160  	case string(TypeHDInsightOnDemand):
115161  		var hiodls HDInsightOnDemandLinkedService
115162  		err := json.Unmarshal(body, &hiodls)
115163  		return hiodls, err
115164  	case string(TypeSalesforceMarketingCloud):
115165  		var smcls SalesforceMarketingCloudLinkedService
115166  		err := json.Unmarshal(body, &smcls)
115167  		return smcls, err
115168  	case string(TypeNetezza):
115169  		var nls NetezzaLinkedService
115170  		err := json.Unmarshal(body, &nls)
115171  		return nls, err
115172  	case string(TypeVertica):
115173  		var vls VerticaLinkedService
115174  		err := json.Unmarshal(body, &vls)
115175  		return vls, err
115176  	case string(TypeZoho):
115177  		var zls ZohoLinkedService
115178  		err := json.Unmarshal(body, &zls)
115179  		return zls, err
115180  	case string(TypeXero):
115181  		var xls XeroLinkedService
115182  		err := json.Unmarshal(body, &xls)
115183  		return xls, err
115184  	case string(TypeSquare):
115185  		var sls SquareLinkedService
115186  		err := json.Unmarshal(body, &sls)
115187  		return sls, err
115188  	case string(TypeSpark):
115189  		var sls SparkLinkedService
115190  		err := json.Unmarshal(body, &sls)
115191  		return sls, err
115192  	case string(TypeShopify):
115193  		var sls ShopifyLinkedService
115194  		err := json.Unmarshal(body, &sls)
115195  		return sls, err
115196  	case string(TypeServiceNow):
115197  		var snls ServiceNowLinkedService
115198  		err := json.Unmarshal(body, &snls)
115199  		return snls, err
115200  	case string(TypeQuickBooks):
115201  		var qbls QuickBooksLinkedService
115202  		err := json.Unmarshal(body, &qbls)
115203  		return qbls, err
115204  	case string(TypePresto):
115205  		var pls PrestoLinkedService
115206  		err := json.Unmarshal(body, &pls)
115207  		return pls, err
115208  	case string(TypePhoenix):
115209  		var pls PhoenixLinkedService
115210  		err := json.Unmarshal(body, &pls)
115211  		return pls, err
115212  	case string(TypePaypal):
115213  		var pls PaypalLinkedService
115214  		err := json.Unmarshal(body, &pls)
115215  		return pls, err
115216  	case string(TypeMarketo):
115217  		var mls MarketoLinkedService
115218  		err := json.Unmarshal(body, &mls)
115219  		return mls, err
115220  	case string(TypeAzureMariaDB):
115221  		var amdls AzureMariaDBLinkedService
115222  		err := json.Unmarshal(body, &amdls)
115223  		return amdls, err
115224  	case string(TypeMariaDB):
115225  		var mdls MariaDBLinkedService
115226  		err := json.Unmarshal(body, &mdls)
115227  		return mdls, err
115228  	case string(TypeMagento):
115229  		var mls MagentoLinkedService
115230  		err := json.Unmarshal(body, &mls)
115231  		return mls, err
115232  	case string(TypeJira):
115233  		var jls JiraLinkedService
115234  		err := json.Unmarshal(body, &jls)
115235  		return jls, err
115236  	case string(TypeImpala):
115237  		var ils ImpalaLinkedService
115238  		err := json.Unmarshal(body, &ils)
115239  		return ils, err
115240  	case string(TypeHubspot):
115241  		var hls HubspotLinkedService
115242  		err := json.Unmarshal(body, &hls)
115243  		return hls, err
115244  	case string(TypeHive):
115245  		var hls HiveLinkedService
115246  		err := json.Unmarshal(body, &hls)
115247  		return hls, err
115248  	case string(TypeHBase):
115249  		var hbls HBaseLinkedService
115250  		err := json.Unmarshal(body, &hbls)
115251  		return hbls, err
115252  	case string(TypeGreenplum):
115253  		var gls GreenplumLinkedService
115254  		err := json.Unmarshal(body, &gls)
115255  		return gls, err
115256  	case string(TypeGoogleBigQuery):
115257  		var gbqls GoogleBigQueryLinkedService
115258  		err := json.Unmarshal(body, &gbqls)
115259  		return gbqls, err
115260  	case string(TypeEloqua):
115261  		var els EloquaLinkedService
115262  		err := json.Unmarshal(body, &els)
115263  		return els, err
115264  	case string(TypeDrill):
115265  		var dls DrillLinkedService
115266  		err := json.Unmarshal(body, &dls)
115267  		return dls, err
115268  	case string(TypeCouchbase):
115269  		var cls CouchbaseLinkedService
115270  		err := json.Unmarshal(body, &cls)
115271  		return cls, err
115272  	case string(TypeConcur):
115273  		var cls ConcurLinkedService
115274  		err := json.Unmarshal(body, &cls)
115275  		return cls, err
115276  	case string(TypeAzurePostgreSQL):
115277  		var apsls AzurePostgreSQLLinkedService
115278  		err := json.Unmarshal(body, &apsls)
115279  		return apsls, err
115280  	case string(TypeAmazonMWS):
115281  		var amls AmazonMWSLinkedService
115282  		err := json.Unmarshal(body, &amls)
115283  		return amls, err
115284  	case string(TypeSapHana):
115285  		var shls SapHanaLinkedService
115286  		err := json.Unmarshal(body, &shls)
115287  		return shls, err
115288  	case string(TypeSapBW):
115289  		var sbls SapBWLinkedService
115290  		err := json.Unmarshal(body, &sbls)
115291  		return sbls, err
115292  	case string(TypeSftp):
115293  		var ssls SftpServerLinkedService
115294  		err := json.Unmarshal(body, &ssls)
115295  		return ssls, err
115296  	case string(TypeFtpServer):
115297  		var fsls FtpServerLinkedService
115298  		err := json.Unmarshal(body, &fsls)
115299  		return fsls, err
115300  	case string(TypeHTTPServer):
115301  		var hls HTTPLinkedService
115302  		err := json.Unmarshal(body, &hls)
115303  		return hls, err
115304  	case string(TypeAzureSearch):
115305  		var asls AzureSearchLinkedService
115306  		err := json.Unmarshal(body, &asls)
115307  		return asls, err
115308  	case string(TypeCustomDataSource):
115309  		var cdsls CustomDataSourceLinkedService
115310  		err := json.Unmarshal(body, &cdsls)
115311  		return cdsls, err
115312  	case string(TypeAmazonRedshift):
115313  		var arls AmazonRedshiftLinkedService
115314  		err := json.Unmarshal(body, &arls)
115315  		return arls, err
115316  	case string(TypeAmazonS3):
115317  		var asls AmazonS3LinkedService
115318  		err := json.Unmarshal(body, &asls)
115319  		return asls, err
115320  	case string(TypeRestService):
115321  		var rsls RestServiceLinkedService
115322  		err := json.Unmarshal(body, &rsls)
115323  		return rsls, err
115324  	case string(TypeSapOpenHub):
115325  		var sohls SapOpenHubLinkedService
115326  		err := json.Unmarshal(body, &sohls)
115327  		return sohls, err
115328  	case string(TypeSapEcc):
115329  		var sels SapEccLinkedService
115330  		err := json.Unmarshal(body, &sels)
115331  		return sels, err
115332  	case string(TypeSapCloudForCustomer):
115333  		var scfcls SapCloudForCustomerLinkedService
115334  		err := json.Unmarshal(body, &scfcls)
115335  		return scfcls, err
115336  	case string(TypeSalesforceServiceCloud):
115337  		var sscls SalesforceServiceCloudLinkedService
115338  		err := json.Unmarshal(body, &sscls)
115339  		return sscls, err
115340  	case string(TypeSalesforce):
115341  		var sls SalesforceLinkedService
115342  		err := json.Unmarshal(body, &sls)
115343  		return sls, err
115344  	case string(TypeOffice365):
115345  		var o3ls Office365LinkedService
115346  		err := json.Unmarshal(body, &o3ls)
115347  		return o3ls, err
115348  	case string(TypeAzureBlobFS):
115349  		var abfls AzureBlobFSLinkedService
115350  		err := json.Unmarshal(body, &abfls)
115351  		return abfls, err
115352  	case string(TypeAzureDataLakeStore):
115353  		var adlsls AzureDataLakeStoreLinkedService
115354  		err := json.Unmarshal(body, &adlsls)
115355  		return adlsls, err
115356  	case string(TypeCosmosDbMongoDbAPI):
115357  		var cdmdals CosmosDbMongoDbAPILinkedService
115358  		err := json.Unmarshal(body, &cdmdals)
115359  		return cdmdals, err
115360  	case string(TypeMongoDbV2):
115361  		var mdvls MongoDbV2LinkedService
115362  		err := json.Unmarshal(body, &mdvls)
115363  		return mdvls, err
115364  	case string(TypeMongoDb):
115365  		var mdls MongoDbLinkedService
115366  		err := json.Unmarshal(body, &mdls)
115367  		return mdls, err
115368  	case string(TypeCassandra):
115369  		var cls CassandraLinkedService
115370  		err := json.Unmarshal(body, &cls)
115371  		return cls, err
115372  	case string(TypeWeb):
115373  		var wls WebLinkedService
115374  		err := json.Unmarshal(body, &wls)
115375  		return wls, err
115376  	case string(TypeOData):
115377  		var odls ODataLinkedService
115378  		err := json.Unmarshal(body, &odls)
115379  		return odls, err
115380  	case string(TypeHdfs):
115381  		var hls HdfsLinkedService
115382  		err := json.Unmarshal(body, &hls)
115383  		return hls, err
115384  	case string(TypeMicrosoftAccess):
115385  		var mals MicrosoftAccessLinkedService
115386  		err := json.Unmarshal(body, &mals)
115387  		return mals, err
115388  	case string(TypeInformix):
115389  		var ils InformixLinkedService
115390  		err := json.Unmarshal(body, &ils)
115391  		return ils, err
115392  	case string(TypeOdbc):
115393  		var ols OdbcLinkedService
115394  		err := json.Unmarshal(body, &ols)
115395  		return ols, err
115396  	case string(TypeAzureMLService):
115397  		var amsls AzureMLServiceLinkedService
115398  		err := json.Unmarshal(body, &amsls)
115399  		return amsls, err
115400  	case string(TypeAzureML):
115401  		var amls AzureMLLinkedService
115402  		err := json.Unmarshal(body, &amls)
115403  		return amls, err
115404  	case string(TypeTeradata):
115405  		var TLSVar TeradataLinkedService
115406  		err := json.Unmarshal(body, &TLSVar)
115407  		return TLSVar, err
115408  	case string(TypeDb2):
115409  		var d2ls Db2LinkedService
115410  		err := json.Unmarshal(body, &d2ls)
115411  		return d2ls, err
115412  	case string(TypeSybase):
115413  		var sls SybaseLinkedService
115414  		err := json.Unmarshal(body, &sls)
115415  		return sls, err
115416  	case string(TypePostgreSQL):
115417  		var psls PostgreSQLLinkedService
115418  		err := json.Unmarshal(body, &psls)
115419  		return psls, err
115420  	case string(TypeMySQL):
115421  		var msls MySQLLinkedService
115422  		err := json.Unmarshal(body, &msls)
115423  		return msls, err
115424  	case string(TypeAzureMySQL):
115425  		var amsls AzureMySQLLinkedService
115426  		err := json.Unmarshal(body, &amsls)
115427  		return amsls, err
115428  	case string(TypeOracle):
115429  		var ols OracleLinkedService
115430  		err := json.Unmarshal(body, &ols)
115431  		return ols, err
115432  	case string(TypeGoogleCloudStorage):
115433  		var gcsls GoogleCloudStorageLinkedService
115434  		err := json.Unmarshal(body, &gcsls)
115435  		return gcsls, err
115436  	case string(TypeAzureFileStorage):
115437  		var afsls AzureFileStorageLinkedService
115438  		err := json.Unmarshal(body, &afsls)
115439  		return afsls, err
115440  	case string(TypeFileServer):
115441  		var fsls FileServerLinkedService
115442  		err := json.Unmarshal(body, &fsls)
115443  		return fsls, err
115444  	case string(TypeHDInsight):
115445  		var hils HDInsightLinkedService
115446  		err := json.Unmarshal(body, &hils)
115447  		return hils, err
115448  	case string(TypeCommonDataServiceForApps):
115449  		var cdsfals CommonDataServiceForAppsLinkedService
115450  		err := json.Unmarshal(body, &cdsfals)
115451  		return cdsfals, err
115452  	case string(TypeDynamicsCrm):
115453  		var dcls DynamicsCrmLinkedService
115454  		err := json.Unmarshal(body, &dcls)
115455  		return dcls, err
115456  	case string(TypeDynamics):
115457  		var dls DynamicsLinkedService
115458  		err := json.Unmarshal(body, &dls)
115459  		return dls, err
115460  	case string(TypeCosmosDb):
115461  		var cdls CosmosDbLinkedService
115462  		err := json.Unmarshal(body, &cdls)
115463  		return cdls, err
115464  	case string(TypeAzureKeyVault):
115465  		var akvls AzureKeyVaultLinkedService
115466  		err := json.Unmarshal(body, &akvls)
115467  		return akvls, err
115468  	case string(TypeAzureBatch):
115469  		var abls AzureBatchLinkedService
115470  		err := json.Unmarshal(body, &abls)
115471  		return abls, err
115472  	case string(TypeAzureSQLMI):
115473  		var asmls AzureSQLMILinkedService
115474  		err := json.Unmarshal(body, &asmls)
115475  		return asmls, err
115476  	case string(TypeAzureSQLDatabase):
115477  		var asdls AzureSQLDatabaseLinkedService
115478  		err := json.Unmarshal(body, &asdls)
115479  		return asdls, err
115480  	case string(TypeSQLServer):
115481  		var ssls SQLServerLinkedService
115482  		err := json.Unmarshal(body, &ssls)
115483  		return ssls, err
115484  	case string(TypeAzureSQLDW):
115485  		var asdls AzureSQLDWLinkedService
115486  		err := json.Unmarshal(body, &asdls)
115487  		return asdls, err
115488  	case string(TypeAzureTableStorage):
115489  		var atsls AzureTableStorageLinkedService
115490  		err := json.Unmarshal(body, &atsls)
115491  		return atsls, err
115492  	case string(TypeAzureBlobStorage):
115493  		var absls AzureBlobStorageLinkedService
115494  		err := json.Unmarshal(body, &absls)
115495  		return absls, err
115496  	case string(TypeAzureStorage):
115497  		var asls AzureStorageLinkedService
115498  		err := json.Unmarshal(body, &asls)
115499  		return asls, err
115500  	default:
115501  		var ls LinkedService
115502  		err := json.Unmarshal(body, &ls)
115503  		return ls, err
115504  	}
115505  }
115506  func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) {
115507  	var rawMessages []*json.RawMessage
115508  	err := json.Unmarshal(body, &rawMessages)
115509  	if err != nil {
115510  		return nil, err
115511  	}
115512  
115513  	lsArray := make([]BasicLinkedService, len(rawMessages))
115514  
115515  	for index, rawMessage := range rawMessages {
115516  		ls, err := unmarshalBasicLinkedService(*rawMessage)
115517  		if err != nil {
115518  			return nil, err
115519  		}
115520  		lsArray[index] = ls
115521  	}
115522  	return lsArray, nil
115523  }
115524  
115525  // MarshalJSON is the custom marshaler for LinkedService.
115526  func (ls LinkedService) MarshalJSON() ([]byte, error) {
115527  	ls.Type = TypeLinkedService
115528  	objectMap := make(map[string]interface{})
115529  	if ls.ConnectVia != nil {
115530  		objectMap["connectVia"] = ls.ConnectVia
115531  	}
115532  	if ls.Description != nil {
115533  		objectMap["description"] = ls.Description
115534  	}
115535  	if ls.Parameters != nil {
115536  		objectMap["parameters"] = ls.Parameters
115537  	}
115538  	if ls.Annotations != nil {
115539  		objectMap["annotations"] = ls.Annotations
115540  	}
115541  	if ls.Type != "" {
115542  		objectMap["type"] = ls.Type
115543  	}
115544  	for k, v := range ls.AdditionalProperties {
115545  		objectMap[k] = v
115546  	}
115547  	return json.Marshal(objectMap)
115548  }
115549  
115550  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for LinkedService.
115551  func (ls LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
115552  	return nil, false
115553  }
115554  
115555  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for LinkedService.
115556  func (ls LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
115557  	return nil, false
115558  }
115559  
115560  // AsSapTableLinkedService is the BasicLinkedService implementation for LinkedService.
115561  func (ls LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
115562  	return nil, false
115563  }
115564  
115565  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for LinkedService.
115566  func (ls LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
115567  	return nil, false
115568  }
115569  
115570  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService.
115571  func (ls LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
115572  	return nil, false
115573  }
115574  
115575  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for LinkedService.
115576  func (ls LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
115577  	return nil, false
115578  }
115579  
115580  // AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService.
115581  func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
115582  	return nil, false
115583  }
115584  
115585  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService.
115586  func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
115587  	return nil, false
115588  }
115589  
115590  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService.
115591  func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
115592  	return nil, false
115593  }
115594  
115595  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService.
115596  func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
115597  	return nil, false
115598  }
115599  
115600  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService.
115601  func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
115602  	return nil, false
115603  }
115604  
115605  // AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService.
115606  func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
115607  	return nil, false
115608  }
115609  
115610  // AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService.
115611  func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
115612  	return nil, false
115613  }
115614  
115615  // AsZohoLinkedService is the BasicLinkedService implementation for LinkedService.
115616  func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
115617  	return nil, false
115618  }
115619  
115620  // AsXeroLinkedService is the BasicLinkedService implementation for LinkedService.
115621  func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
115622  	return nil, false
115623  }
115624  
115625  // AsSquareLinkedService is the BasicLinkedService implementation for LinkedService.
115626  func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
115627  	return nil, false
115628  }
115629  
115630  // AsSparkLinkedService is the BasicLinkedService implementation for LinkedService.
115631  func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
115632  	return nil, false
115633  }
115634  
115635  // AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService.
115636  func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
115637  	return nil, false
115638  }
115639  
115640  // AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService.
115641  func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
115642  	return nil, false
115643  }
115644  
115645  // AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService.
115646  func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
115647  	return nil, false
115648  }
115649  
115650  // AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService.
115651  func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
115652  	return nil, false
115653  }
115654  
115655  // AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService.
115656  func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
115657  	return nil, false
115658  }
115659  
115660  // AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService.
115661  func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
115662  	return nil, false
115663  }
115664  
115665  // AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService.
115666  func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
115667  	return nil, false
115668  }
115669  
115670  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for LinkedService.
115671  func (ls LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
115672  	return nil, false
115673  }
115674  
115675  // AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService.
115676  func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
115677  	return nil, false
115678  }
115679  
115680  // AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService.
115681  func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
115682  	return nil, false
115683  }
115684  
115685  // AsJiraLinkedService is the BasicLinkedService implementation for LinkedService.
115686  func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
115687  	return nil, false
115688  }
115689  
115690  // AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService.
115691  func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
115692  	return nil, false
115693  }
115694  
115695  // AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService.
115696  func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
115697  	return nil, false
115698  }
115699  
115700  // AsHiveLinkedService is the BasicLinkedService implementation for LinkedService.
115701  func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
115702  	return nil, false
115703  }
115704  
115705  // AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService.
115706  func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
115707  	return nil, false
115708  }
115709  
115710  // AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService.
115711  func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
115712  	return nil, false
115713  }
115714  
115715  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService.
115716  func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
115717  	return nil, false
115718  }
115719  
115720  // AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService.
115721  func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
115722  	return nil, false
115723  }
115724  
115725  // AsDrillLinkedService is the BasicLinkedService implementation for LinkedService.
115726  func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
115727  	return nil, false
115728  }
115729  
115730  // AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService.
115731  func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
115732  	return nil, false
115733  }
115734  
115735  // AsConcurLinkedService is the BasicLinkedService implementation for LinkedService.
115736  func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
115737  	return nil, false
115738  }
115739  
115740  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
115741  func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
115742  	return nil, false
115743  }
115744  
115745  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService.
115746  func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
115747  	return nil, false
115748  }
115749  
115750  // AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService.
115751  func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
115752  	return nil, false
115753  }
115754  
115755  // AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService.
115756  func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
115757  	return nil, false
115758  }
115759  
115760  // AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService.
115761  func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
115762  	return nil, false
115763  }
115764  
115765  // AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService.
115766  func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
115767  	return nil, false
115768  }
115769  
115770  // AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService.
115771  func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
115772  	return nil, false
115773  }
115774  
115775  // AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService.
115776  func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
115777  	return nil, false
115778  }
115779  
115780  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService.
115781  func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
115782  	return nil, false
115783  }
115784  
115785  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService.
115786  func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
115787  	return nil, false
115788  }
115789  
115790  // AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService.
115791  func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
115792  	return nil, false
115793  }
115794  
115795  // AsRestServiceLinkedService is the BasicLinkedService implementation for LinkedService.
115796  func (ls LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
115797  	return nil, false
115798  }
115799  
115800  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for LinkedService.
115801  func (ls LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
115802  	return nil, false
115803  }
115804  
115805  // AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService.
115806  func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
115807  	return nil, false
115808  }
115809  
115810  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService.
115811  func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
115812  	return nil, false
115813  }
115814  
115815  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService.
115816  func (ls LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
115817  	return nil, false
115818  }
115819  
115820  // AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService.
115821  func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
115822  	return nil, false
115823  }
115824  
115825  // AsOffice365LinkedService is the BasicLinkedService implementation for LinkedService.
115826  func (ls LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
115827  	return nil, false
115828  }
115829  
115830  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for LinkedService.
115831  func (ls LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
115832  	return nil, false
115833  }
115834  
115835  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService.
115836  func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
115837  	return nil, false
115838  }
115839  
115840  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for LinkedService.
115841  func (ls LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
115842  	return nil, false
115843  }
115844  
115845  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for LinkedService.
115846  func (ls LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
115847  	return nil, false
115848  }
115849  
115850  // AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService.
115851  func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
115852  	return nil, false
115853  }
115854  
115855  // AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService.
115856  func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
115857  	return nil, false
115858  }
115859  
115860  // AsWebLinkedService is the BasicLinkedService implementation for LinkedService.
115861  func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
115862  	return nil, false
115863  }
115864  
115865  // AsODataLinkedService is the BasicLinkedService implementation for LinkedService.
115866  func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
115867  	return nil, false
115868  }
115869  
115870  // AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService.
115871  func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
115872  	return nil, false
115873  }
115874  
115875  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for LinkedService.
115876  func (ls LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
115877  	return nil, false
115878  }
115879  
115880  // AsInformixLinkedService is the BasicLinkedService implementation for LinkedService.
115881  func (ls LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
115882  	return nil, false
115883  }
115884  
115885  // AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService.
115886  func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
115887  	return nil, false
115888  }
115889  
115890  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for LinkedService.
115891  func (ls LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
115892  	return nil, false
115893  }
115894  
115895  // AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService.
115896  func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
115897  	return nil, false
115898  }
115899  
115900  // AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService.
115901  func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
115902  	return nil, false
115903  }
115904  
115905  // AsDb2LinkedService is the BasicLinkedService implementation for LinkedService.
115906  func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
115907  	return nil, false
115908  }
115909  
115910  // AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService.
115911  func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
115912  	return nil, false
115913  }
115914  
115915  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService.
115916  func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
115917  	return nil, false
115918  }
115919  
115920  // AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
115921  func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
115922  	return nil, false
115923  }
115924  
115925  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService.
115926  func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
115927  	return nil, false
115928  }
115929  
115930  // AsOracleLinkedService is the BasicLinkedService implementation for LinkedService.
115931  func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
115932  	return nil, false
115933  }
115934  
115935  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for LinkedService.
115936  func (ls LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
115937  	return nil, false
115938  }
115939  
115940  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for LinkedService.
115941  func (ls LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
115942  	return nil, false
115943  }
115944  
115945  // AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService.
115946  func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
115947  	return nil, false
115948  }
115949  
115950  // AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService.
115951  func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
115952  	return nil, false
115953  }
115954  
115955  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for LinkedService.
115956  func (ls LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
115957  	return nil, false
115958  }
115959  
115960  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for LinkedService.
115961  func (ls LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
115962  	return nil, false
115963  }
115964  
115965  // AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService.
115966  func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
115967  	return nil, false
115968  }
115969  
115970  // AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService.
115971  func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
115972  	return nil, false
115973  }
115974  
115975  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService.
115976  func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
115977  	return nil, false
115978  }
115979  
115980  // AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService.
115981  func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
115982  	return nil, false
115983  }
115984  
115985  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for LinkedService.
115986  func (ls LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
115987  	return nil, false
115988  }
115989  
115990  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService.
115991  func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
115992  	return nil, false
115993  }
115994  
115995  // AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService.
115996  func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
115997  	return nil, false
115998  }
115999  
116000  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService.
116001  func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
116002  	return nil, false
116003  }
116004  
116005  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for LinkedService.
116006  func (ls LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
116007  	return nil, false
116008  }
116009  
116010  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for LinkedService.
116011  func (ls LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
116012  	return nil, false
116013  }
116014  
116015  // AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService.
116016  func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
116017  	return nil, false
116018  }
116019  
116020  // AsLinkedService is the BasicLinkedService implementation for LinkedService.
116021  func (ls LinkedService) AsLinkedService() (*LinkedService, bool) {
116022  	return &ls, true
116023  }
116024  
116025  // AsBasicLinkedService is the BasicLinkedService implementation for LinkedService.
116026  func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
116027  	return &ls, true
116028  }
116029  
116030  // UnmarshalJSON is the custom unmarshaler for LinkedService struct.
116031  func (ls *LinkedService) UnmarshalJSON(body []byte) error {
116032  	var m map[string]*json.RawMessage
116033  	err := json.Unmarshal(body, &m)
116034  	if err != nil {
116035  		return err
116036  	}
116037  	for k, v := range m {
116038  		switch k {
116039  		default:
116040  			if v != nil {
116041  				var additionalProperties interface{}
116042  				err = json.Unmarshal(*v, &additionalProperties)
116043  				if err != nil {
116044  					return err
116045  				}
116046  				if ls.AdditionalProperties == nil {
116047  					ls.AdditionalProperties = make(map[string]interface{})
116048  				}
116049  				ls.AdditionalProperties[k] = additionalProperties
116050  			}
116051  		case "connectVia":
116052  			if v != nil {
116053  				var connectVia IntegrationRuntimeReference
116054  				err = json.Unmarshal(*v, &connectVia)
116055  				if err != nil {
116056  					return err
116057  				}
116058  				ls.ConnectVia = &connectVia
116059  			}
116060  		case "description":
116061  			if v != nil {
116062  				var description string
116063  				err = json.Unmarshal(*v, &description)
116064  				if err != nil {
116065  					return err
116066  				}
116067  				ls.Description = &description
116068  			}
116069  		case "parameters":
116070  			if v != nil {
116071  				var parameters map[string]*ParameterSpecification
116072  				err = json.Unmarshal(*v, &parameters)
116073  				if err != nil {
116074  					return err
116075  				}
116076  				ls.Parameters = parameters
116077  			}
116078  		case "annotations":
116079  			if v != nil {
116080  				var annotations []interface{}
116081  				err = json.Unmarshal(*v, &annotations)
116082  				if err != nil {
116083  					return err
116084  				}
116085  				ls.Annotations = &annotations
116086  			}
116087  		case "type":
116088  			if v != nil {
116089  				var typeVar TypeBasicLinkedService
116090  				err = json.Unmarshal(*v, &typeVar)
116091  				if err != nil {
116092  					return err
116093  				}
116094  				ls.Type = typeVar
116095  			}
116096  		}
116097  	}
116098  
116099  	return nil
116100  }
116101  
116102  // LinkedServiceCreateOrUpdateLinkedServiceFuture an abstraction for monitoring and retrieving the results
116103  // of a long-running operation.
116104  type LinkedServiceCreateOrUpdateLinkedServiceFuture struct {
116105  	azure.FutureAPI
116106  	// Result returns the result of the asynchronous operation.
116107  	// If the operation has not completed it will return an error.
116108  	Result func(LinkedServiceClient) (LinkedServiceResource, error)
116109  }
116110  
116111  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
116112  func (future *LinkedServiceCreateOrUpdateLinkedServiceFuture) UnmarshalJSON(body []byte) error {
116113  	var azFuture azure.Future
116114  	if err := json.Unmarshal(body, &azFuture); err != nil {
116115  		return err
116116  	}
116117  	future.FutureAPI = &azFuture
116118  	future.Result = future.result
116119  	return nil
116120  }
116121  
116122  // result is the default implementation for LinkedServiceCreateOrUpdateLinkedServiceFuture.Result.
116123  func (future *LinkedServiceCreateOrUpdateLinkedServiceFuture) result(client LinkedServiceClient) (lsr LinkedServiceResource, err error) {
116124  	var done bool
116125  	done, err = future.DoneWithContext(context.Background(), client)
116126  	if err != nil {
116127  		err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceCreateOrUpdateLinkedServiceFuture", "Result", future.Response(), "Polling failure")
116128  		return
116129  	}
116130  	if !done {
116131  		lsr.Response.Response = future.Response()
116132  		err = azure.NewAsyncOpIncompleteError("artifacts.LinkedServiceCreateOrUpdateLinkedServiceFuture")
116133  		return
116134  	}
116135  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
116136  	if lsr.Response.Response, err = future.GetResult(sender); err == nil && lsr.Response.Response.StatusCode != http.StatusNoContent {
116137  		lsr, err = client.CreateOrUpdateLinkedServiceResponder(lsr.Response.Response)
116138  		if err != nil {
116139  			err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceCreateOrUpdateLinkedServiceFuture", "Result", lsr.Response.Response, "Failure responding to request")
116140  		}
116141  	}
116142  	return
116143  }
116144  
116145  // LinkedServiceDebugResource linked service debug resource.
116146  type LinkedServiceDebugResource struct {
116147  	// Properties - Properties of linked service.
116148  	Properties BasicLinkedService `json:"properties,omitempty"`
116149  	// Name - The resource name.
116150  	Name *string `json:"name,omitempty"`
116151  }
116152  
116153  // UnmarshalJSON is the custom unmarshaler for LinkedServiceDebugResource struct.
116154  func (lsdr *LinkedServiceDebugResource) UnmarshalJSON(body []byte) error {
116155  	var m map[string]*json.RawMessage
116156  	err := json.Unmarshal(body, &m)
116157  	if err != nil {
116158  		return err
116159  	}
116160  	for k, v := range m {
116161  		switch k {
116162  		case "properties":
116163  			if v != nil {
116164  				properties, err := unmarshalBasicLinkedService(*v)
116165  				if err != nil {
116166  					return err
116167  				}
116168  				lsdr.Properties = properties
116169  			}
116170  		case "name":
116171  			if v != nil {
116172  				var name string
116173  				err = json.Unmarshal(*v, &name)
116174  				if err != nil {
116175  					return err
116176  				}
116177  				lsdr.Name = &name
116178  			}
116179  		}
116180  	}
116181  
116182  	return nil
116183  }
116184  
116185  // LinkedServiceDeleteLinkedServiceFuture an abstraction for monitoring and retrieving the results of a
116186  // long-running operation.
116187  type LinkedServiceDeleteLinkedServiceFuture struct {
116188  	azure.FutureAPI
116189  	// Result returns the result of the asynchronous operation.
116190  	// If the operation has not completed it will return an error.
116191  	Result func(LinkedServiceClient) (autorest.Response, error)
116192  }
116193  
116194  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
116195  func (future *LinkedServiceDeleteLinkedServiceFuture) UnmarshalJSON(body []byte) error {
116196  	var azFuture azure.Future
116197  	if err := json.Unmarshal(body, &azFuture); err != nil {
116198  		return err
116199  	}
116200  	future.FutureAPI = &azFuture
116201  	future.Result = future.result
116202  	return nil
116203  }
116204  
116205  // result is the default implementation for LinkedServiceDeleteLinkedServiceFuture.Result.
116206  func (future *LinkedServiceDeleteLinkedServiceFuture) result(client LinkedServiceClient) (ar autorest.Response, err error) {
116207  	var done bool
116208  	done, err = future.DoneWithContext(context.Background(), client)
116209  	if err != nil {
116210  		err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceDeleteLinkedServiceFuture", "Result", future.Response(), "Polling failure")
116211  		return
116212  	}
116213  	if !done {
116214  		ar.Response = future.Response()
116215  		err = azure.NewAsyncOpIncompleteError("artifacts.LinkedServiceDeleteLinkedServiceFuture")
116216  		return
116217  	}
116218  	ar.Response = future.Response()
116219  	return
116220  }
116221  
116222  // LinkedServiceListResponse a list of linked service resources.
116223  type LinkedServiceListResponse struct {
116224  	autorest.Response `json:"-"`
116225  	// Value - List of linked services.
116226  	Value *[]LinkedServiceResource `json:"value,omitempty"`
116227  	// NextLink - The link to the next page of results, if any remaining results exist.
116228  	NextLink *string `json:"nextLink,omitempty"`
116229  }
116230  
116231  // LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values.
116232  type LinkedServiceListResponseIterator struct {
116233  	i    int
116234  	page LinkedServiceListResponsePage
116235  }
116236  
116237  // NextWithContext advances to the next value.  If there was an error making
116238  // the request the iterator does not advance and the error is returned.
116239  func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) {
116240  	if tracing.IsEnabled() {
116241  		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext")
116242  		defer func() {
116243  			sc := -1
116244  			if iter.Response().Response.Response != nil {
116245  				sc = iter.Response().Response.Response.StatusCode
116246  			}
116247  			tracing.EndSpan(ctx, sc, err)
116248  		}()
116249  	}
116250  	iter.i++
116251  	if iter.i < len(iter.page.Values()) {
116252  		return nil
116253  	}
116254  	err = iter.page.NextWithContext(ctx)
116255  	if err != nil {
116256  		iter.i--
116257  		return err
116258  	}
116259  	iter.i = 0
116260  	return nil
116261  }
116262  
116263  // Next advances to the next value.  If there was an error making
116264  // the request the iterator does not advance and the error is returned.
116265  // Deprecated: Use NextWithContext() instead.
116266  func (iter *LinkedServiceListResponseIterator) Next() error {
116267  	return iter.NextWithContext(context.Background())
116268  }
116269  
116270  // NotDone returns true if the enumeration should be started or is not yet complete.
116271  func (iter LinkedServiceListResponseIterator) NotDone() bool {
116272  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
116273  }
116274  
116275  // Response returns the raw server response from the last page request.
116276  func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse {
116277  	return iter.page.Response()
116278  }
116279  
116280  // Value returns the current value or a zero-initialized value if the
116281  // iterator has advanced beyond the end of the collection.
116282  func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource {
116283  	if !iter.page.NotDone() {
116284  		return LinkedServiceResource{}
116285  	}
116286  	return iter.page.Values()[iter.i]
116287  }
116288  
116289  // Creates a new instance of the LinkedServiceListResponseIterator type.
116290  func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator {
116291  	return LinkedServiceListResponseIterator{page: page}
116292  }
116293  
116294  // IsEmpty returns true if the ListResult contains no values.
116295  func (lslr LinkedServiceListResponse) IsEmpty() bool {
116296  	return lslr.Value == nil || len(*lslr.Value) == 0
116297  }
116298  
116299  // hasNextLink returns true if the NextLink is not empty.
116300  func (lslr LinkedServiceListResponse) hasNextLink() bool {
116301  	return lslr.NextLink != nil && len(*lslr.NextLink) != 0
116302  }
116303  
116304  // linkedServiceListResponsePreparer prepares a request to retrieve the next set of results.
116305  // It returns nil if no more results exist.
116306  func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) {
116307  	if !lslr.hasNextLink() {
116308  		return nil, nil
116309  	}
116310  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
116311  		autorest.AsJSON(),
116312  		autorest.AsGet(),
116313  		autorest.WithBaseURL(to.String(lslr.NextLink)))
116314  }
116315  
116316  // LinkedServiceListResponsePage contains a page of LinkedServiceResource values.
116317  type LinkedServiceListResponsePage struct {
116318  	fn   func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)
116319  	lslr LinkedServiceListResponse
116320  }
116321  
116322  // NextWithContext advances to the next page of values.  If there was an error making
116323  // the request the page does not advance and the error is returned.
116324  func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) {
116325  	if tracing.IsEnabled() {
116326  		ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext")
116327  		defer func() {
116328  			sc := -1
116329  			if page.Response().Response.Response != nil {
116330  				sc = page.Response().Response.Response.StatusCode
116331  			}
116332  			tracing.EndSpan(ctx, sc, err)
116333  		}()
116334  	}
116335  	for {
116336  		next, err := page.fn(ctx, page.lslr)
116337  		if err != nil {
116338  			return err
116339  		}
116340  		page.lslr = next
116341  		if !next.hasNextLink() || !next.IsEmpty() {
116342  			break
116343  		}
116344  	}
116345  	return nil
116346  }
116347  
116348  // Next advances to the next page of values.  If there was an error making
116349  // the request the page does not advance and the error is returned.
116350  // Deprecated: Use NextWithContext() instead.
116351  func (page *LinkedServiceListResponsePage) Next() error {
116352  	return page.NextWithContext(context.Background())
116353  }
116354  
116355  // NotDone returns true if the page enumeration should be started or is not yet complete.
116356  func (page LinkedServiceListResponsePage) NotDone() bool {
116357  	return !page.lslr.IsEmpty()
116358  }
116359  
116360  // Response returns the raw server response from the last page request.
116361  func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse {
116362  	return page.lslr
116363  }
116364  
116365  // Values returns the slice of values for the current page or nil if there are no values.
116366  func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource {
116367  	if page.lslr.IsEmpty() {
116368  		return nil
116369  	}
116370  	return *page.lslr.Value
116371  }
116372  
116373  // Creates a new instance of the LinkedServiceListResponsePage type.
116374  func NewLinkedServiceListResponsePage(cur LinkedServiceListResponse, getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage {
116375  	return LinkedServiceListResponsePage{
116376  		fn:   getNextPage,
116377  		lslr: cur,
116378  	}
116379  }
116380  
116381  // LinkedServiceReference linked service reference type.
116382  type LinkedServiceReference struct {
116383  	// Type - Linked service reference type.
116384  	Type *string `json:"type,omitempty"`
116385  	// ReferenceName - Reference LinkedService name.
116386  	ReferenceName *string `json:"referenceName,omitempty"`
116387  	// Parameters - Arguments for LinkedService.
116388  	Parameters map[string]interface{} `json:"parameters"`
116389  }
116390  
116391  // MarshalJSON is the custom marshaler for LinkedServiceReference.
116392  func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) {
116393  	objectMap := make(map[string]interface{})
116394  	if lsr.Type != nil {
116395  		objectMap["type"] = lsr.Type
116396  	}
116397  	if lsr.ReferenceName != nil {
116398  		objectMap["referenceName"] = lsr.ReferenceName
116399  	}
116400  	if lsr.Parameters != nil {
116401  		objectMap["parameters"] = lsr.Parameters
116402  	}
116403  	return json.Marshal(objectMap)
116404  }
116405  
116406  // LinkedServiceRenameLinkedServiceFuture an abstraction for monitoring and retrieving the results of a
116407  // long-running operation.
116408  type LinkedServiceRenameLinkedServiceFuture struct {
116409  	azure.FutureAPI
116410  	// Result returns the result of the asynchronous operation.
116411  	// If the operation has not completed it will return an error.
116412  	Result func(LinkedServiceClient) (autorest.Response, error)
116413  }
116414  
116415  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
116416  func (future *LinkedServiceRenameLinkedServiceFuture) UnmarshalJSON(body []byte) error {
116417  	var azFuture azure.Future
116418  	if err := json.Unmarshal(body, &azFuture); err != nil {
116419  		return err
116420  	}
116421  	future.FutureAPI = &azFuture
116422  	future.Result = future.result
116423  	return nil
116424  }
116425  
116426  // result is the default implementation for LinkedServiceRenameLinkedServiceFuture.Result.
116427  func (future *LinkedServiceRenameLinkedServiceFuture) result(client LinkedServiceClient) (ar autorest.Response, err error) {
116428  	var done bool
116429  	done, err = future.DoneWithContext(context.Background(), client)
116430  	if err != nil {
116431  		err = autorest.NewErrorWithError(err, "artifacts.LinkedServiceRenameLinkedServiceFuture", "Result", future.Response(), "Polling failure")
116432  		return
116433  	}
116434  	if !done {
116435  		ar.Response = future.Response()
116436  		err = azure.NewAsyncOpIncompleteError("artifacts.LinkedServiceRenameLinkedServiceFuture")
116437  		return
116438  	}
116439  	ar.Response = future.Response()
116440  	return
116441  }
116442  
116443  // LinkedServiceResource linked service resource type.
116444  type LinkedServiceResource struct {
116445  	autorest.Response `json:"-"`
116446  	// Properties - Properties of linked service.
116447  	Properties BasicLinkedService `json:"properties,omitempty"`
116448  	// Etag - READ-ONLY; Resource Etag.
116449  	Etag *string `json:"etag,omitempty"`
116450  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
116451  	ID *string `json:"id,omitempty"`
116452  	// Name - READ-ONLY; The name of the resource
116453  	Name *string `json:"name,omitempty"`
116454  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
116455  	Type *string `json:"type,omitempty"`
116456  }
116457  
116458  // MarshalJSON is the custom marshaler for LinkedServiceResource.
116459  func (lsr LinkedServiceResource) MarshalJSON() ([]byte, error) {
116460  	objectMap := make(map[string]interface{})
116461  	objectMap["properties"] = lsr.Properties
116462  	return json.Marshal(objectMap)
116463  }
116464  
116465  // UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct.
116466  func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error {
116467  	var m map[string]*json.RawMessage
116468  	err := json.Unmarshal(body, &m)
116469  	if err != nil {
116470  		return err
116471  	}
116472  	for k, v := range m {
116473  		switch k {
116474  		case "properties":
116475  			if v != nil {
116476  				properties, err := unmarshalBasicLinkedService(*v)
116477  				if err != nil {
116478  					return err
116479  				}
116480  				lsr.Properties = properties
116481  			}
116482  		case "etag":
116483  			if v != nil {
116484  				var etag string
116485  				err = json.Unmarshal(*v, &etag)
116486  				if err != nil {
116487  					return err
116488  				}
116489  				lsr.Etag = &etag
116490  			}
116491  		case "id":
116492  			if v != nil {
116493  				var ID string
116494  				err = json.Unmarshal(*v, &ID)
116495  				if err != nil {
116496  					return err
116497  				}
116498  				lsr.ID = &ID
116499  			}
116500  		case "name":
116501  			if v != nil {
116502  				var name string
116503  				err = json.Unmarshal(*v, &name)
116504  				if err != nil {
116505  					return err
116506  				}
116507  				lsr.Name = &name
116508  			}
116509  		case "type":
116510  			if v != nil {
116511  				var typeVar string
116512  				err = json.Unmarshal(*v, &typeVar)
116513  				if err != nil {
116514  					return err
116515  				}
116516  				lsr.Type = &typeVar
116517  			}
116518  		}
116519  	}
116520  
116521  	return nil
116522  }
116523  
116524  // LogStorageSettings log storage settings.
116525  type LogStorageSettings struct {
116526  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
116527  	AdditionalProperties map[string]interface{} `json:""`
116528  	// LinkedServiceName - Log storage linked service reference.
116529  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
116530  	// Path - The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string).
116531  	Path interface{} `json:"path,omitempty"`
116532  }
116533  
116534  // MarshalJSON is the custom marshaler for LogStorageSettings.
116535  func (lss LogStorageSettings) MarshalJSON() ([]byte, error) {
116536  	objectMap := make(map[string]interface{})
116537  	if lss.LinkedServiceName != nil {
116538  		objectMap["linkedServiceName"] = lss.LinkedServiceName
116539  	}
116540  	if lss.Path != nil {
116541  		objectMap["path"] = lss.Path
116542  	}
116543  	for k, v := range lss.AdditionalProperties {
116544  		objectMap[k] = v
116545  	}
116546  	return json.Marshal(objectMap)
116547  }
116548  
116549  // UnmarshalJSON is the custom unmarshaler for LogStorageSettings struct.
116550  func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error {
116551  	var m map[string]*json.RawMessage
116552  	err := json.Unmarshal(body, &m)
116553  	if err != nil {
116554  		return err
116555  	}
116556  	for k, v := range m {
116557  		switch k {
116558  		default:
116559  			if v != nil {
116560  				var additionalProperties interface{}
116561  				err = json.Unmarshal(*v, &additionalProperties)
116562  				if err != nil {
116563  					return err
116564  				}
116565  				if lss.AdditionalProperties == nil {
116566  					lss.AdditionalProperties = make(map[string]interface{})
116567  				}
116568  				lss.AdditionalProperties[k] = additionalProperties
116569  			}
116570  		case "linkedServiceName":
116571  			if v != nil {
116572  				var linkedServiceName LinkedServiceReference
116573  				err = json.Unmarshal(*v, &linkedServiceName)
116574  				if err != nil {
116575  					return err
116576  				}
116577  				lss.LinkedServiceName = &linkedServiceName
116578  			}
116579  		case "path":
116580  			if v != nil {
116581  				var pathVar interface{}
116582  				err = json.Unmarshal(*v, &pathVar)
116583  				if err != nil {
116584  					return err
116585  				}
116586  				lss.Path = pathVar
116587  			}
116588  		}
116589  	}
116590  
116591  	return nil
116592  }
116593  
116594  // LookupActivity lookup activity.
116595  type LookupActivity struct {
116596  	// LookupActivityTypeProperties - Lookup activity properties.
116597  	*LookupActivityTypeProperties `json:"typeProperties,omitempty"`
116598  	// LinkedServiceName - Linked service reference.
116599  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
116600  	// Policy - Activity policy.
116601  	Policy *ActivityPolicy `json:"policy,omitempty"`
116602  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
116603  	AdditionalProperties map[string]interface{} `json:""`
116604  	// Name - Activity name.
116605  	Name *string `json:"name,omitempty"`
116606  	// Description - Activity description.
116607  	Description *string `json:"description,omitempty"`
116608  	// DependsOn - Activity depends on condition.
116609  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
116610  	// UserProperties - Activity user properties.
116611  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
116612  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
116613  	Type TypeBasicActivity `json:"type,omitempty"`
116614  }
116615  
116616  // MarshalJSON is the custom marshaler for LookupActivity.
116617  func (la LookupActivity) MarshalJSON() ([]byte, error) {
116618  	la.Type = TypeLookup
116619  	objectMap := make(map[string]interface{})
116620  	if la.LookupActivityTypeProperties != nil {
116621  		objectMap["typeProperties"] = la.LookupActivityTypeProperties
116622  	}
116623  	if la.LinkedServiceName != nil {
116624  		objectMap["linkedServiceName"] = la.LinkedServiceName
116625  	}
116626  	if la.Policy != nil {
116627  		objectMap["policy"] = la.Policy
116628  	}
116629  	if la.Name != nil {
116630  		objectMap["name"] = la.Name
116631  	}
116632  	if la.Description != nil {
116633  		objectMap["description"] = la.Description
116634  	}
116635  	if la.DependsOn != nil {
116636  		objectMap["dependsOn"] = la.DependsOn
116637  	}
116638  	if la.UserProperties != nil {
116639  		objectMap["userProperties"] = la.UserProperties
116640  	}
116641  	if la.Type != "" {
116642  		objectMap["type"] = la.Type
116643  	}
116644  	for k, v := range la.AdditionalProperties {
116645  		objectMap[k] = v
116646  	}
116647  	return json.Marshal(objectMap)
116648  }
116649  
116650  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for LookupActivity.
116651  func (la LookupActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
116652  	return nil, false
116653  }
116654  
116655  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for LookupActivity.
116656  func (la LookupActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
116657  	return nil, false
116658  }
116659  
116660  // AsSynapseNotebookActivity is the BasicActivity implementation for LookupActivity.
116661  func (la LookupActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
116662  	return nil, false
116663  }
116664  
116665  // AsExecuteDataFlowActivity is the BasicActivity implementation for LookupActivity.
116666  func (la LookupActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
116667  	return nil, false
116668  }
116669  
116670  // AsAzureFunctionActivity is the BasicActivity implementation for LookupActivity.
116671  func (la LookupActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
116672  	return nil, false
116673  }
116674  
116675  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for LookupActivity.
116676  func (la LookupActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
116677  	return nil, false
116678  }
116679  
116680  // AsDatabricksSparkJarActivity is the BasicActivity implementation for LookupActivity.
116681  func (la LookupActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
116682  	return nil, false
116683  }
116684  
116685  // AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity.
116686  func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
116687  	return nil, false
116688  }
116689  
116690  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity.
116691  func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
116692  	return nil, false
116693  }
116694  
116695  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for LookupActivity.
116696  func (la LookupActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
116697  	return nil, false
116698  }
116699  
116700  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity.
116701  func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
116702  	return nil, false
116703  }
116704  
116705  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity.
116706  func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
116707  	return nil, false
116708  }
116709  
116710  // AsGetMetadataActivity is the BasicActivity implementation for LookupActivity.
116711  func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
116712  	return nil, false
116713  }
116714  
116715  // AsWebActivity is the BasicActivity implementation for LookupActivity.
116716  func (la LookupActivity) AsWebActivity() (*WebActivity, bool) {
116717  	return nil, false
116718  }
116719  
116720  // AsLookupActivity is the BasicActivity implementation for LookupActivity.
116721  func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) {
116722  	return &la, true
116723  }
116724  
116725  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for LookupActivity.
116726  func (la LookupActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
116727  	return nil, false
116728  }
116729  
116730  // AsDeleteActivity is the BasicActivity implementation for LookupActivity.
116731  func (la LookupActivity) AsDeleteActivity() (*DeleteActivity, bool) {
116732  	return nil, false
116733  }
116734  
116735  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity.
116736  func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
116737  	return nil, false
116738  }
116739  
116740  // AsCustomActivity is the BasicActivity implementation for LookupActivity.
116741  func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) {
116742  	return nil, false
116743  }
116744  
116745  // AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity.
116746  func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
116747  	return nil, false
116748  }
116749  
116750  // AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity.
116751  func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
116752  	return nil, false
116753  }
116754  
116755  // AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity.
116756  func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
116757  	return nil, false
116758  }
116759  
116760  // AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity.
116761  func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
116762  	return nil, false
116763  }
116764  
116765  // AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity.
116766  func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
116767  	return nil, false
116768  }
116769  
116770  // AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity.
116771  func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
116772  	return nil, false
116773  }
116774  
116775  // AsCopyActivity is the BasicActivity implementation for LookupActivity.
116776  func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) {
116777  	return nil, false
116778  }
116779  
116780  // AsExecutionActivity is the BasicActivity implementation for LookupActivity.
116781  func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
116782  	return nil, false
116783  }
116784  
116785  // AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity.
116786  func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
116787  	return &la, true
116788  }
116789  
116790  // AsWebHookActivity is the BasicActivity implementation for LookupActivity.
116791  func (la LookupActivity) AsWebHookActivity() (*WebHookActivity, bool) {
116792  	return nil, false
116793  }
116794  
116795  // AsAppendVariableActivity is the BasicActivity implementation for LookupActivity.
116796  func (la LookupActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
116797  	return nil, false
116798  }
116799  
116800  // AsSetVariableActivity is the BasicActivity implementation for LookupActivity.
116801  func (la LookupActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
116802  	return nil, false
116803  }
116804  
116805  // AsFilterActivity is the BasicActivity implementation for LookupActivity.
116806  func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) {
116807  	return nil, false
116808  }
116809  
116810  // AsValidationActivity is the BasicActivity implementation for LookupActivity.
116811  func (la LookupActivity) AsValidationActivity() (*ValidationActivity, bool) {
116812  	return nil, false
116813  }
116814  
116815  // AsUntilActivity is the BasicActivity implementation for LookupActivity.
116816  func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) {
116817  	return nil, false
116818  }
116819  
116820  // AsWaitActivity is the BasicActivity implementation for LookupActivity.
116821  func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) {
116822  	return nil, false
116823  }
116824  
116825  // AsForEachActivity is the BasicActivity implementation for LookupActivity.
116826  func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) {
116827  	return nil, false
116828  }
116829  
116830  // AsSwitchActivity is the BasicActivity implementation for LookupActivity.
116831  func (la LookupActivity) AsSwitchActivity() (*SwitchActivity, bool) {
116832  	return nil, false
116833  }
116834  
116835  // AsIfConditionActivity is the BasicActivity implementation for LookupActivity.
116836  func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
116837  	return nil, false
116838  }
116839  
116840  // AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity.
116841  func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
116842  	return nil, false
116843  }
116844  
116845  // AsControlActivity is the BasicActivity implementation for LookupActivity.
116846  func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) {
116847  	return nil, false
116848  }
116849  
116850  // AsBasicControlActivity is the BasicActivity implementation for LookupActivity.
116851  func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
116852  	return nil, false
116853  }
116854  
116855  // AsActivity is the BasicActivity implementation for LookupActivity.
116856  func (la LookupActivity) AsActivity() (*Activity, bool) {
116857  	return nil, false
116858  }
116859  
116860  // AsBasicActivity is the BasicActivity implementation for LookupActivity.
116861  func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) {
116862  	return &la, true
116863  }
116864  
116865  // UnmarshalJSON is the custom unmarshaler for LookupActivity struct.
116866  func (la *LookupActivity) UnmarshalJSON(body []byte) error {
116867  	var m map[string]*json.RawMessage
116868  	err := json.Unmarshal(body, &m)
116869  	if err != nil {
116870  		return err
116871  	}
116872  	for k, v := range m {
116873  		switch k {
116874  		case "typeProperties":
116875  			if v != nil {
116876  				var lookupActivityTypeProperties LookupActivityTypeProperties
116877  				err = json.Unmarshal(*v, &lookupActivityTypeProperties)
116878  				if err != nil {
116879  					return err
116880  				}
116881  				la.LookupActivityTypeProperties = &lookupActivityTypeProperties
116882  			}
116883  		case "linkedServiceName":
116884  			if v != nil {
116885  				var linkedServiceName LinkedServiceReference
116886  				err = json.Unmarshal(*v, &linkedServiceName)
116887  				if err != nil {
116888  					return err
116889  				}
116890  				la.LinkedServiceName = &linkedServiceName
116891  			}
116892  		case "policy":
116893  			if v != nil {
116894  				var policy ActivityPolicy
116895  				err = json.Unmarshal(*v, &policy)
116896  				if err != nil {
116897  					return err
116898  				}
116899  				la.Policy = &policy
116900  			}
116901  		default:
116902  			if v != nil {
116903  				var additionalProperties interface{}
116904  				err = json.Unmarshal(*v, &additionalProperties)
116905  				if err != nil {
116906  					return err
116907  				}
116908  				if la.AdditionalProperties == nil {
116909  					la.AdditionalProperties = make(map[string]interface{})
116910  				}
116911  				la.AdditionalProperties[k] = additionalProperties
116912  			}
116913  		case "name":
116914  			if v != nil {
116915  				var name string
116916  				err = json.Unmarshal(*v, &name)
116917  				if err != nil {
116918  					return err
116919  				}
116920  				la.Name = &name
116921  			}
116922  		case "description":
116923  			if v != nil {
116924  				var description string
116925  				err = json.Unmarshal(*v, &description)
116926  				if err != nil {
116927  					return err
116928  				}
116929  				la.Description = &description
116930  			}
116931  		case "dependsOn":
116932  			if v != nil {
116933  				var dependsOn []ActivityDependency
116934  				err = json.Unmarshal(*v, &dependsOn)
116935  				if err != nil {
116936  					return err
116937  				}
116938  				la.DependsOn = &dependsOn
116939  			}
116940  		case "userProperties":
116941  			if v != nil {
116942  				var userProperties []UserProperty
116943  				err = json.Unmarshal(*v, &userProperties)
116944  				if err != nil {
116945  					return err
116946  				}
116947  				la.UserProperties = &userProperties
116948  			}
116949  		case "type":
116950  			if v != nil {
116951  				var typeVar TypeBasicActivity
116952  				err = json.Unmarshal(*v, &typeVar)
116953  				if err != nil {
116954  					return err
116955  				}
116956  				la.Type = typeVar
116957  			}
116958  		}
116959  	}
116960  
116961  	return nil
116962  }
116963  
116964  // LookupActivityTypeProperties lookup activity properties.
116965  type LookupActivityTypeProperties struct {
116966  	// Source - Dataset-specific source properties, same as copy activity source.
116967  	Source BasicCopySource `json:"source,omitempty"`
116968  	// Dataset - Lookup activity dataset reference.
116969  	Dataset *DatasetReference `json:"dataset,omitempty"`
116970  	// FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean).
116971  	FirstRowOnly interface{} `json:"firstRowOnly,omitempty"`
116972  }
116973  
116974  // UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct.
116975  func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error {
116976  	var m map[string]*json.RawMessage
116977  	err := json.Unmarshal(body, &m)
116978  	if err != nil {
116979  		return err
116980  	}
116981  	for k, v := range m {
116982  		switch k {
116983  		case "source":
116984  			if v != nil {
116985  				source, err := unmarshalBasicCopySource(*v)
116986  				if err != nil {
116987  					return err
116988  				}
116989  				latp.Source = source
116990  			}
116991  		case "dataset":
116992  			if v != nil {
116993  				var dataset DatasetReference
116994  				err = json.Unmarshal(*v, &dataset)
116995  				if err != nil {
116996  					return err
116997  				}
116998  				latp.Dataset = &dataset
116999  			}
117000  		case "firstRowOnly":
117001  			if v != nil {
117002  				var firstRowOnly interface{}
117003  				err = json.Unmarshal(*v, &firstRowOnly)
117004  				if err != nil {
117005  					return err
117006  				}
117007  				latp.FirstRowOnly = firstRowOnly
117008  			}
117009  		}
117010  	}
117011  
117012  	return nil
117013  }
117014  
117015  // MagentoLinkedService magento server linked service.
117016  type MagentoLinkedService struct {
117017  	// MagentoLinkedServiceTypeProperties - Magento server linked service properties.
117018  	*MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
117019  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
117020  	AdditionalProperties map[string]interface{} `json:""`
117021  	// ConnectVia - The integration runtime reference.
117022  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
117023  	// Description - Linked service description.
117024  	Description *string `json:"description,omitempty"`
117025  	// Parameters - Parameters for linked service.
117026  	Parameters map[string]*ParameterSpecification `json:"parameters"`
117027  	// Annotations - List of tags that can be used for describing the linked service.
117028  	Annotations *[]interface{} `json:"annotations,omitempty"`
117029  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
117030  	Type TypeBasicLinkedService `json:"type,omitempty"`
117031  }
117032  
117033  // MarshalJSON is the custom marshaler for MagentoLinkedService.
117034  func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) {
117035  	mls.Type = TypeMagento
117036  	objectMap := make(map[string]interface{})
117037  	if mls.MagentoLinkedServiceTypeProperties != nil {
117038  		objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties
117039  	}
117040  	if mls.ConnectVia != nil {
117041  		objectMap["connectVia"] = mls.ConnectVia
117042  	}
117043  	if mls.Description != nil {
117044  		objectMap["description"] = mls.Description
117045  	}
117046  	if mls.Parameters != nil {
117047  		objectMap["parameters"] = mls.Parameters
117048  	}
117049  	if mls.Annotations != nil {
117050  		objectMap["annotations"] = mls.Annotations
117051  	}
117052  	if mls.Type != "" {
117053  		objectMap["type"] = mls.Type
117054  	}
117055  	for k, v := range mls.AdditionalProperties {
117056  		objectMap[k] = v
117057  	}
117058  	return json.Marshal(objectMap)
117059  }
117060  
117061  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117062  func (mls MagentoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
117063  	return nil, false
117064  }
117065  
117066  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117067  func (mls MagentoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
117068  	return nil, false
117069  }
117070  
117071  // AsSapTableLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117072  func (mls MagentoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
117073  	return nil, false
117074  }
117075  
117076  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117077  func (mls MagentoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
117078  	return nil, false
117079  }
117080  
117081  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117082  func (mls MagentoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
117083  	return nil, false
117084  }
117085  
117086  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117087  func (mls MagentoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
117088  	return nil, false
117089  }
117090  
117091  // AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117092  func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
117093  	return nil, false
117094  }
117095  
117096  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117097  func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
117098  	return nil, false
117099  }
117100  
117101  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117102  func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
117103  	return nil, false
117104  }
117105  
117106  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117107  func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
117108  	return nil, false
117109  }
117110  
117111  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117112  func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
117113  	return nil, false
117114  }
117115  
117116  // AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117117  func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
117118  	return nil, false
117119  }
117120  
117121  // AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117122  func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
117123  	return nil, false
117124  }
117125  
117126  // AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117127  func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
117128  	return nil, false
117129  }
117130  
117131  // AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117132  func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
117133  	return nil, false
117134  }
117135  
117136  // AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117137  func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
117138  	return nil, false
117139  }
117140  
117141  // AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117142  func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
117143  	return nil, false
117144  }
117145  
117146  // AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117147  func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
117148  	return nil, false
117149  }
117150  
117151  // AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117152  func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
117153  	return nil, false
117154  }
117155  
117156  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117157  func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
117158  	return nil, false
117159  }
117160  
117161  // AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117162  func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
117163  	return nil, false
117164  }
117165  
117166  // AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117167  func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
117168  	return nil, false
117169  }
117170  
117171  // AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117172  func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
117173  	return nil, false
117174  }
117175  
117176  // AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117177  func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
117178  	return nil, false
117179  }
117180  
117181  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117182  func (mls MagentoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
117183  	return nil, false
117184  }
117185  
117186  // AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117187  func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
117188  	return nil, false
117189  }
117190  
117191  // AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117192  func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
117193  	return &mls, true
117194  }
117195  
117196  // AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117197  func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
117198  	return nil, false
117199  }
117200  
117201  // AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117202  func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
117203  	return nil, false
117204  }
117205  
117206  // AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117207  func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
117208  	return nil, false
117209  }
117210  
117211  // AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117212  func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
117213  	return nil, false
117214  }
117215  
117216  // AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117217  func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
117218  	return nil, false
117219  }
117220  
117221  // AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117222  func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
117223  	return nil, false
117224  }
117225  
117226  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117227  func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
117228  	return nil, false
117229  }
117230  
117231  // AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117232  func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
117233  	return nil, false
117234  }
117235  
117236  // AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117237  func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
117238  	return nil, false
117239  }
117240  
117241  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117242  func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
117243  	return nil, false
117244  }
117245  
117246  // AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117247  func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
117248  	return nil, false
117249  }
117250  
117251  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117252  func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
117253  	return nil, false
117254  }
117255  
117256  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117257  func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
117258  	return nil, false
117259  }
117260  
117261  // AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117262  func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
117263  	return nil, false
117264  }
117265  
117266  // AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117267  func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
117268  	return nil, false
117269  }
117270  
117271  // AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117272  func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
117273  	return nil, false
117274  }
117275  
117276  // AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117277  func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
117278  	return nil, false
117279  }
117280  
117281  // AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117282  func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
117283  	return nil, false
117284  }
117285  
117286  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117287  func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
117288  	return nil, false
117289  }
117290  
117291  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117292  func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
117293  	return nil, false
117294  }
117295  
117296  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117297  func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
117298  	return nil, false
117299  }
117300  
117301  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117302  func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
117303  	return nil, false
117304  }
117305  
117306  // AsRestServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117307  func (mls MagentoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
117308  	return nil, false
117309  }
117310  
117311  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117312  func (mls MagentoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
117313  	return nil, false
117314  }
117315  
117316  // AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117317  func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
117318  	return nil, false
117319  }
117320  
117321  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117322  func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
117323  	return nil, false
117324  }
117325  
117326  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117327  func (mls MagentoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
117328  	return nil, false
117329  }
117330  
117331  // AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117332  func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
117333  	return nil, false
117334  }
117335  
117336  // AsOffice365LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117337  func (mls MagentoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
117338  	return nil, false
117339  }
117340  
117341  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117342  func (mls MagentoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
117343  	return nil, false
117344  }
117345  
117346  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117347  func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
117348  	return nil, false
117349  }
117350  
117351  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117352  func (mls MagentoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
117353  	return nil, false
117354  }
117355  
117356  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117357  func (mls MagentoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
117358  	return nil, false
117359  }
117360  
117361  // AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117362  func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
117363  	return nil, false
117364  }
117365  
117366  // AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117367  func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
117368  	return nil, false
117369  }
117370  
117371  // AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117372  func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
117373  	return nil, false
117374  }
117375  
117376  // AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117377  func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
117378  	return nil, false
117379  }
117380  
117381  // AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117382  func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
117383  	return nil, false
117384  }
117385  
117386  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117387  func (mls MagentoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
117388  	return nil, false
117389  }
117390  
117391  // AsInformixLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117392  func (mls MagentoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
117393  	return nil, false
117394  }
117395  
117396  // AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117397  func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
117398  	return nil, false
117399  }
117400  
117401  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117402  func (mls MagentoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
117403  	return nil, false
117404  }
117405  
117406  // AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117407  func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
117408  	return nil, false
117409  }
117410  
117411  // AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117412  func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
117413  	return nil, false
117414  }
117415  
117416  // AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117417  func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
117418  	return nil, false
117419  }
117420  
117421  // AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117422  func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
117423  	return nil, false
117424  }
117425  
117426  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117427  func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
117428  	return nil, false
117429  }
117430  
117431  // AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117432  func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
117433  	return nil, false
117434  }
117435  
117436  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117437  func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
117438  	return nil, false
117439  }
117440  
117441  // AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117442  func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
117443  	return nil, false
117444  }
117445  
117446  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117447  func (mls MagentoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
117448  	return nil, false
117449  }
117450  
117451  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117452  func (mls MagentoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
117453  	return nil, false
117454  }
117455  
117456  // AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117457  func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
117458  	return nil, false
117459  }
117460  
117461  // AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117462  func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
117463  	return nil, false
117464  }
117465  
117466  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117467  func (mls MagentoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
117468  	return nil, false
117469  }
117470  
117471  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117472  func (mls MagentoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
117473  	return nil, false
117474  }
117475  
117476  // AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117477  func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
117478  	return nil, false
117479  }
117480  
117481  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117482  func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
117483  	return nil, false
117484  }
117485  
117486  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117487  func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
117488  	return nil, false
117489  }
117490  
117491  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117492  func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
117493  	return nil, false
117494  }
117495  
117496  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117497  func (mls MagentoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
117498  	return nil, false
117499  }
117500  
117501  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117502  func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
117503  	return nil, false
117504  }
117505  
117506  // AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117507  func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
117508  	return nil, false
117509  }
117510  
117511  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117512  func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
117513  	return nil, false
117514  }
117515  
117516  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117517  func (mls MagentoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
117518  	return nil, false
117519  }
117520  
117521  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117522  func (mls MagentoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
117523  	return nil, false
117524  }
117525  
117526  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117527  func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
117528  	return nil, false
117529  }
117530  
117531  // AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117532  func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) {
117533  	return nil, false
117534  }
117535  
117536  // AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService.
117537  func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
117538  	return &mls, true
117539  }
117540  
117541  // UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct.
117542  func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error {
117543  	var m map[string]*json.RawMessage
117544  	err := json.Unmarshal(body, &m)
117545  	if err != nil {
117546  		return err
117547  	}
117548  	for k, v := range m {
117549  		switch k {
117550  		case "typeProperties":
117551  			if v != nil {
117552  				var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties
117553  				err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties)
117554  				if err != nil {
117555  					return err
117556  				}
117557  				mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties
117558  			}
117559  		default:
117560  			if v != nil {
117561  				var additionalProperties interface{}
117562  				err = json.Unmarshal(*v, &additionalProperties)
117563  				if err != nil {
117564  					return err
117565  				}
117566  				if mls.AdditionalProperties == nil {
117567  					mls.AdditionalProperties = make(map[string]interface{})
117568  				}
117569  				mls.AdditionalProperties[k] = additionalProperties
117570  			}
117571  		case "connectVia":
117572  			if v != nil {
117573  				var connectVia IntegrationRuntimeReference
117574  				err = json.Unmarshal(*v, &connectVia)
117575  				if err != nil {
117576  					return err
117577  				}
117578  				mls.ConnectVia = &connectVia
117579  			}
117580  		case "description":
117581  			if v != nil {
117582  				var description string
117583  				err = json.Unmarshal(*v, &description)
117584  				if err != nil {
117585  					return err
117586  				}
117587  				mls.Description = &description
117588  			}
117589  		case "parameters":
117590  			if v != nil {
117591  				var parameters map[string]*ParameterSpecification
117592  				err = json.Unmarshal(*v, &parameters)
117593  				if err != nil {
117594  					return err
117595  				}
117596  				mls.Parameters = parameters
117597  			}
117598  		case "annotations":
117599  			if v != nil {
117600  				var annotations []interface{}
117601  				err = json.Unmarshal(*v, &annotations)
117602  				if err != nil {
117603  					return err
117604  				}
117605  				mls.Annotations = &annotations
117606  			}
117607  		case "type":
117608  			if v != nil {
117609  				var typeVar TypeBasicLinkedService
117610  				err = json.Unmarshal(*v, &typeVar)
117611  				if err != nil {
117612  					return err
117613  				}
117614  				mls.Type = typeVar
117615  			}
117616  		}
117617  	}
117618  
117619  	return nil
117620  }
117621  
117622  // MagentoLinkedServiceTypeProperties magento server linked service properties.
117623  type MagentoLinkedServiceTypeProperties struct {
117624  	// Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3)
117625  	Host interface{} `json:"host,omitempty"`
117626  	// AccessToken - The access token from Magento.
117627  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
117628  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
117629  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
117630  	// 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.
117631  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
117632  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
117633  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
117634  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
117635  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
117636  }
117637  
117638  // UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct.
117639  func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
117640  	var m map[string]*json.RawMessage
117641  	err := json.Unmarshal(body, &m)
117642  	if err != nil {
117643  		return err
117644  	}
117645  	for k, v := range m {
117646  		switch k {
117647  		case "host":
117648  			if v != nil {
117649  				var host interface{}
117650  				err = json.Unmarshal(*v, &host)
117651  				if err != nil {
117652  					return err
117653  				}
117654  				mlstp.Host = host
117655  			}
117656  		case "accessToken":
117657  			if v != nil {
117658  				accessToken, err := unmarshalBasicSecretBase(*v)
117659  				if err != nil {
117660  					return err
117661  				}
117662  				mlstp.AccessToken = accessToken
117663  			}
117664  		case "useEncryptedEndpoints":
117665  			if v != nil {
117666  				var useEncryptedEndpoints interface{}
117667  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
117668  				if err != nil {
117669  					return err
117670  				}
117671  				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
117672  			}
117673  		case "useHostVerification":
117674  			if v != nil {
117675  				var useHostVerification interface{}
117676  				err = json.Unmarshal(*v, &useHostVerification)
117677  				if err != nil {
117678  					return err
117679  				}
117680  				mlstp.UseHostVerification = useHostVerification
117681  			}
117682  		case "usePeerVerification":
117683  			if v != nil {
117684  				var usePeerVerification interface{}
117685  				err = json.Unmarshal(*v, &usePeerVerification)
117686  				if err != nil {
117687  					return err
117688  				}
117689  				mlstp.UsePeerVerification = usePeerVerification
117690  			}
117691  		case "encryptedCredential":
117692  			if v != nil {
117693  				var encryptedCredential interface{}
117694  				err = json.Unmarshal(*v, &encryptedCredential)
117695  				if err != nil {
117696  					return err
117697  				}
117698  				mlstp.EncryptedCredential = encryptedCredential
117699  			}
117700  		}
117701  	}
117702  
117703  	return nil
117704  }
117705  
117706  // MagentoObjectDataset magento server dataset.
117707  type MagentoObjectDataset struct {
117708  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
117709  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
117710  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
117711  	AdditionalProperties map[string]interface{} `json:""`
117712  	// Description - Dataset description.
117713  	Description *string `json:"description,omitempty"`
117714  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
117715  	Structure interface{} `json:"structure,omitempty"`
117716  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
117717  	Schema interface{} `json:"schema,omitempty"`
117718  	// LinkedServiceName - Linked service reference.
117719  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
117720  	// Parameters - Parameters for dataset.
117721  	Parameters map[string]*ParameterSpecification `json:"parameters"`
117722  	// Annotations - List of tags that can be used for describing the Dataset.
117723  	Annotations *[]interface{} `json:"annotations,omitempty"`
117724  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
117725  	Folder *DatasetFolder `json:"folder,omitempty"`
117726  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
117727  	Type TypeBasicDataset `json:"type,omitempty"`
117728  }
117729  
117730  // MarshalJSON is the custom marshaler for MagentoObjectDataset.
117731  func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) {
117732  	mod.Type = TypeMagentoObject
117733  	objectMap := make(map[string]interface{})
117734  	if mod.GenericDatasetTypeProperties != nil {
117735  		objectMap["typeProperties"] = mod.GenericDatasetTypeProperties
117736  	}
117737  	if mod.Description != nil {
117738  		objectMap["description"] = mod.Description
117739  	}
117740  	if mod.Structure != nil {
117741  		objectMap["structure"] = mod.Structure
117742  	}
117743  	if mod.Schema != nil {
117744  		objectMap["schema"] = mod.Schema
117745  	}
117746  	if mod.LinkedServiceName != nil {
117747  		objectMap["linkedServiceName"] = mod.LinkedServiceName
117748  	}
117749  	if mod.Parameters != nil {
117750  		objectMap["parameters"] = mod.Parameters
117751  	}
117752  	if mod.Annotations != nil {
117753  		objectMap["annotations"] = mod.Annotations
117754  	}
117755  	if mod.Folder != nil {
117756  		objectMap["folder"] = mod.Folder
117757  	}
117758  	if mod.Type != "" {
117759  		objectMap["type"] = mod.Type
117760  	}
117761  	for k, v := range mod.AdditionalProperties {
117762  		objectMap[k] = v
117763  	}
117764  	return json.Marshal(objectMap)
117765  }
117766  
117767  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117768  func (mod MagentoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
117769  	return nil, false
117770  }
117771  
117772  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117773  func (mod MagentoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
117774  	return nil, false
117775  }
117776  
117777  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117778  func (mod MagentoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
117779  	return nil, false
117780  }
117781  
117782  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
117783  func (mod MagentoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
117784  	return nil, false
117785  }
117786  
117787  // AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117788  func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
117789  	return nil, false
117790  }
117791  
117792  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117793  func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
117794  	return nil, false
117795  }
117796  
117797  // AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117798  func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
117799  	return nil, false
117800  }
117801  
117802  // AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117803  func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
117804  	return nil, false
117805  }
117806  
117807  // AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117808  func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
117809  	return nil, false
117810  }
117811  
117812  // AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117813  func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
117814  	return nil, false
117815  }
117816  
117817  // AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117818  func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
117819  	return nil, false
117820  }
117821  
117822  // AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117823  func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
117824  	return nil, false
117825  }
117826  
117827  // AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117828  func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
117829  	return nil, false
117830  }
117831  
117832  // AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117833  func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
117834  	return nil, false
117835  }
117836  
117837  // AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117838  func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
117839  	return nil, false
117840  }
117841  
117842  // AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117843  func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
117844  	return nil, false
117845  }
117846  
117847  // AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117848  func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
117849  	return nil, false
117850  }
117851  
117852  // AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117853  func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
117854  	return nil, false
117855  }
117856  
117857  // AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117858  func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
117859  	return nil, false
117860  }
117861  
117862  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117863  func (mod MagentoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
117864  	return nil, false
117865  }
117866  
117867  // AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117868  func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
117869  	return nil, false
117870  }
117871  
117872  // AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117873  func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
117874  	return &mod, true
117875  }
117876  
117877  // AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117878  func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
117879  	return nil, false
117880  }
117881  
117882  // AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117883  func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
117884  	return nil, false
117885  }
117886  
117887  // AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117888  func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
117889  	return nil, false
117890  }
117891  
117892  // AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117893  func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
117894  	return nil, false
117895  }
117896  
117897  // AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117898  func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
117899  	return nil, false
117900  }
117901  
117902  // AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117903  func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
117904  	return nil, false
117905  }
117906  
117907  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117908  func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
117909  	return nil, false
117910  }
117911  
117912  // AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117913  func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
117914  	return nil, false
117915  }
117916  
117917  // AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117918  func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
117919  	return nil, false
117920  }
117921  
117922  // AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117923  func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
117924  	return nil, false
117925  }
117926  
117927  // AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117928  func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
117929  	return nil, false
117930  }
117931  
117932  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117933  func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
117934  	return nil, false
117935  }
117936  
117937  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117938  func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
117939  	return nil, false
117940  }
117941  
117942  // AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset.
117943  func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
117944  	return nil, false
117945  }
117946  
117947  // AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117948  func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
117949  	return nil, false
117950  }
117951  
117952  // AsSapTableResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
117953  func (mod MagentoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
117954  	return nil, false
117955  }
117956  
117957  // AsRestResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
117958  func (mod MagentoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
117959  	return nil, false
117960  }
117961  
117962  // AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117963  func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
117964  	return nil, false
117965  }
117966  
117967  // AsSapOpenHubTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117968  func (mod MagentoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
117969  	return nil, false
117970  }
117971  
117972  // AsSapHanaTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117973  func (mod MagentoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
117974  	return nil, false
117975  }
117976  
117977  // AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
117978  func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
117979  	return nil, false
117980  }
117981  
117982  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
117983  func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
117984  	return nil, false
117985  }
117986  
117987  // AsSapBwCubeDataset is the BasicDataset implementation for MagentoObjectDataset.
117988  func (mod MagentoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
117989  	return nil, false
117990  }
117991  
117992  // AsSybaseTableDataset is the BasicDataset implementation for MagentoObjectDataset.
117993  func (mod MagentoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
117994  	return nil, false
117995  }
117996  
117997  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
117998  func (mod MagentoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
117999  	return nil, false
118000  }
118001  
118002  // AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset.
118003  func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
118004  	return nil, false
118005  }
118006  
118007  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118008  func (mod MagentoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
118009  	return nil, false
118010  }
118011  
118012  // AsPostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118013  func (mod MagentoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
118014  	return nil, false
118015  }
118016  
118017  // AsMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118018  func (mod MagentoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
118019  	return nil, false
118020  }
118021  
118022  // AsOdbcTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118023  func (mod MagentoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
118024  	return nil, false
118025  }
118026  
118027  // AsInformixTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118028  func (mod MagentoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
118029  	return nil, false
118030  }
118031  
118032  // AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118033  func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
118034  	return nil, false
118035  }
118036  
118037  // AsDb2TableDataset is the BasicDataset implementation for MagentoObjectDataset.
118038  func (mod MagentoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
118039  	return nil, false
118040  }
118041  
118042  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118043  func (mod MagentoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
118044  	return nil, false
118045  }
118046  
118047  // AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118048  func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
118049  	return nil, false
118050  }
118051  
118052  // AsTeradataTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118053  func (mod MagentoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
118054  	return nil, false
118055  }
118056  
118057  // AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118058  func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
118059  	return nil, false
118060  }
118061  
118062  // AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset.
118063  func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
118064  	return nil, false
118065  }
118066  
118067  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
118068  func (mod MagentoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
118069  	return nil, false
118070  }
118071  
118072  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
118073  func (mod MagentoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
118074  	return nil, false
118075  }
118076  
118077  // AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
118078  func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
118079  	return nil, false
118080  }
118081  
118082  // AsOffice365Dataset is the BasicDataset implementation for MagentoObjectDataset.
118083  func (mod MagentoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
118084  	return nil, false
118085  }
118086  
118087  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
118088  func (mod MagentoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
118089  	return nil, false
118090  }
118091  
118092  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
118093  func (mod MagentoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
118094  	return nil, false
118095  }
118096  
118097  // AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset.
118098  func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
118099  	return nil, false
118100  }
118101  
118102  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
118103  func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
118104  	return nil, false
118105  }
118106  
118107  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset.
118108  func (mod MagentoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
118109  	return nil, false
118110  }
118111  
118112  // AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset.
118113  func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
118114  	return nil, false
118115  }
118116  
118117  // AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118118  func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
118119  	return nil, false
118120  }
118121  
118122  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118123  func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
118124  	return nil, false
118125  }
118126  
118127  // AsAzureSQLMITableDataset is the BasicDataset implementation for MagentoObjectDataset.
118128  func (mod MagentoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
118129  	return nil, false
118130  }
118131  
118132  // AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118133  func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
118134  	return nil, false
118135  }
118136  
118137  // AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset.
118138  func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
118139  	return nil, false
118140  }
118141  
118142  // AsBinaryDataset is the BasicDataset implementation for MagentoObjectDataset.
118143  func (mod MagentoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
118144  	return nil, false
118145  }
118146  
118147  // AsOrcDataset is the BasicDataset implementation for MagentoObjectDataset.
118148  func (mod MagentoObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
118149  	return nil, false
118150  }
118151  
118152  // AsJSONDataset is the BasicDataset implementation for MagentoObjectDataset.
118153  func (mod MagentoObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
118154  	return nil, false
118155  }
118156  
118157  // AsDelimitedTextDataset is the BasicDataset implementation for MagentoObjectDataset.
118158  func (mod MagentoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
118159  	return nil, false
118160  }
118161  
118162  // AsParquetDataset is the BasicDataset implementation for MagentoObjectDataset.
118163  func (mod MagentoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
118164  	return nil, false
118165  }
118166  
118167  // AsAvroDataset is the BasicDataset implementation for MagentoObjectDataset.
118168  func (mod MagentoObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
118169  	return nil, false
118170  }
118171  
118172  // AsDataset is the BasicDataset implementation for MagentoObjectDataset.
118173  func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) {
118174  	return nil, false
118175  }
118176  
118177  // AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset.
118178  func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
118179  	return &mod, true
118180  }
118181  
118182  // UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct.
118183  func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error {
118184  	var m map[string]*json.RawMessage
118185  	err := json.Unmarshal(body, &m)
118186  	if err != nil {
118187  		return err
118188  	}
118189  	for k, v := range m {
118190  		switch k {
118191  		case "typeProperties":
118192  			if v != nil {
118193  				var genericDatasetTypeProperties GenericDatasetTypeProperties
118194  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
118195  				if err != nil {
118196  					return err
118197  				}
118198  				mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
118199  			}
118200  		default:
118201  			if v != nil {
118202  				var additionalProperties interface{}
118203  				err = json.Unmarshal(*v, &additionalProperties)
118204  				if err != nil {
118205  					return err
118206  				}
118207  				if mod.AdditionalProperties == nil {
118208  					mod.AdditionalProperties = make(map[string]interface{})
118209  				}
118210  				mod.AdditionalProperties[k] = additionalProperties
118211  			}
118212  		case "description":
118213  			if v != nil {
118214  				var description string
118215  				err = json.Unmarshal(*v, &description)
118216  				if err != nil {
118217  					return err
118218  				}
118219  				mod.Description = &description
118220  			}
118221  		case "structure":
118222  			if v != nil {
118223  				var structure interface{}
118224  				err = json.Unmarshal(*v, &structure)
118225  				if err != nil {
118226  					return err
118227  				}
118228  				mod.Structure = structure
118229  			}
118230  		case "schema":
118231  			if v != nil {
118232  				var schema interface{}
118233  				err = json.Unmarshal(*v, &schema)
118234  				if err != nil {
118235  					return err
118236  				}
118237  				mod.Schema = schema
118238  			}
118239  		case "linkedServiceName":
118240  			if v != nil {
118241  				var linkedServiceName LinkedServiceReference
118242  				err = json.Unmarshal(*v, &linkedServiceName)
118243  				if err != nil {
118244  					return err
118245  				}
118246  				mod.LinkedServiceName = &linkedServiceName
118247  			}
118248  		case "parameters":
118249  			if v != nil {
118250  				var parameters map[string]*ParameterSpecification
118251  				err = json.Unmarshal(*v, &parameters)
118252  				if err != nil {
118253  					return err
118254  				}
118255  				mod.Parameters = parameters
118256  			}
118257  		case "annotations":
118258  			if v != nil {
118259  				var annotations []interface{}
118260  				err = json.Unmarshal(*v, &annotations)
118261  				if err != nil {
118262  					return err
118263  				}
118264  				mod.Annotations = &annotations
118265  			}
118266  		case "folder":
118267  			if v != nil {
118268  				var folder DatasetFolder
118269  				err = json.Unmarshal(*v, &folder)
118270  				if err != nil {
118271  					return err
118272  				}
118273  				mod.Folder = &folder
118274  			}
118275  		case "type":
118276  			if v != nil {
118277  				var typeVar TypeBasicDataset
118278  				err = json.Unmarshal(*v, &typeVar)
118279  				if err != nil {
118280  					return err
118281  				}
118282  				mod.Type = typeVar
118283  			}
118284  		}
118285  	}
118286  
118287  	return nil
118288  }
118289  
118290  // MagentoSource a copy activity Magento server source.
118291  type MagentoSource struct {
118292  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
118293  	Query interface{} `json:"query,omitempty"`
118294  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
118295  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
118296  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
118297  	AdditionalProperties map[string]interface{} `json:""`
118298  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
118299  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
118300  	// 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])).
118301  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
118302  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
118303  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
118304  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
118305  	Type TypeBasicCopySource `json:"type,omitempty"`
118306  }
118307  
118308  // MarshalJSON is the custom marshaler for MagentoSource.
118309  func (ms MagentoSource) MarshalJSON() ([]byte, error) {
118310  	ms.Type = TypeMagentoSource
118311  	objectMap := make(map[string]interface{})
118312  	if ms.Query != nil {
118313  		objectMap["query"] = ms.Query
118314  	}
118315  	if ms.QueryTimeout != nil {
118316  		objectMap["queryTimeout"] = ms.QueryTimeout
118317  	}
118318  	if ms.SourceRetryCount != nil {
118319  		objectMap["sourceRetryCount"] = ms.SourceRetryCount
118320  	}
118321  	if ms.SourceRetryWait != nil {
118322  		objectMap["sourceRetryWait"] = ms.SourceRetryWait
118323  	}
118324  	if ms.MaxConcurrentConnections != nil {
118325  		objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections
118326  	}
118327  	if ms.Type != "" {
118328  		objectMap["type"] = ms.Type
118329  	}
118330  	for k, v := range ms.AdditionalProperties {
118331  		objectMap[k] = v
118332  	}
118333  	return json.Marshal(objectMap)
118334  }
118335  
118336  // AsHTTPSource is the BasicCopySource implementation for MagentoSource.
118337  func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) {
118338  	return nil, false
118339  }
118340  
118341  // AsAzureBlobFSSource is the BasicCopySource implementation for MagentoSource.
118342  func (ms MagentoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
118343  	return nil, false
118344  }
118345  
118346  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource.
118347  func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
118348  	return nil, false
118349  }
118350  
118351  // AsOffice365Source is the BasicCopySource implementation for MagentoSource.
118352  func (ms MagentoSource) AsOffice365Source() (*Office365Source, bool) {
118353  	return nil, false
118354  }
118355  
118356  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MagentoSource.
118357  func (ms MagentoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
118358  	return nil, false
118359  }
118360  
118361  // AsMongoDbV2Source is the BasicCopySource implementation for MagentoSource.
118362  func (ms MagentoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
118363  	return nil, false
118364  }
118365  
118366  // AsMongoDbSource is the BasicCopySource implementation for MagentoSource.
118367  func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) {
118368  	return nil, false
118369  }
118370  
118371  // AsWebSource is the BasicCopySource implementation for MagentoSource.
118372  func (ms MagentoSource) AsWebSource() (*WebSource, bool) {
118373  	return nil, false
118374  }
118375  
118376  // AsOracleSource is the BasicCopySource implementation for MagentoSource.
118377  func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) {
118378  	return nil, false
118379  }
118380  
118381  // AsAzureDataExplorerSource is the BasicCopySource implementation for MagentoSource.
118382  func (ms MagentoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
118383  	return nil, false
118384  }
118385  
118386  // AsHdfsSource is the BasicCopySource implementation for MagentoSource.
118387  func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) {
118388  	return nil, false
118389  }
118390  
118391  // AsFileSystemSource is the BasicCopySource implementation for MagentoSource.
118392  func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) {
118393  	return nil, false
118394  }
118395  
118396  // AsRestSource is the BasicCopySource implementation for MagentoSource.
118397  func (ms MagentoSource) AsRestSource() (*RestSource, bool) {
118398  	return nil, false
118399  }
118400  
118401  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MagentoSource.
118402  func (ms MagentoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
118403  	return nil, false
118404  }
118405  
118406  // AsODataSource is the BasicCopySource implementation for MagentoSource.
118407  func (ms MagentoSource) AsODataSource() (*ODataSource, bool) {
118408  	return nil, false
118409  }
118410  
118411  // AsMicrosoftAccessSource is the BasicCopySource implementation for MagentoSource.
118412  func (ms MagentoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
118413  	return nil, false
118414  }
118415  
118416  // AsRelationalSource is the BasicCopySource implementation for MagentoSource.
118417  func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) {
118418  	return nil, false
118419  }
118420  
118421  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MagentoSource.
118422  func (ms MagentoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
118423  	return nil, false
118424  }
118425  
118426  // AsDynamicsCrmSource is the BasicCopySource implementation for MagentoSource.
118427  func (ms MagentoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
118428  	return nil, false
118429  }
118430  
118431  // AsDynamicsSource is the BasicCopySource implementation for MagentoSource.
118432  func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) {
118433  	return nil, false
118434  }
118435  
118436  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MagentoSource.
118437  func (ms MagentoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
118438  	return nil, false
118439  }
118440  
118441  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource.
118442  func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
118443  	return nil, false
118444  }
118445  
118446  // AsBlobSource is the BasicCopySource implementation for MagentoSource.
118447  func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) {
118448  	return nil, false
118449  }
118450  
118451  // AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource.
118452  func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
118453  	return nil, false
118454  }
118455  
118456  // AsGoogleAdWordsSource is the BasicCopySource implementation for MagentoSource.
118457  func (ms MagentoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
118458  	return nil, false
118459  }
118460  
118461  // AsOracleServiceCloudSource is the BasicCopySource implementation for MagentoSource.
118462  func (ms MagentoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
118463  	return nil, false
118464  }
118465  
118466  // AsDynamicsAXSource is the BasicCopySource implementation for MagentoSource.
118467  func (ms MagentoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
118468  	return nil, false
118469  }
118470  
118471  // AsResponsysSource is the BasicCopySource implementation for MagentoSource.
118472  func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) {
118473  	return nil, false
118474  }
118475  
118476  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource.
118477  func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
118478  	return nil, false
118479  }
118480  
118481  // AsVerticaSource is the BasicCopySource implementation for MagentoSource.
118482  func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) {
118483  	return nil, false
118484  }
118485  
118486  // AsNetezzaSource is the BasicCopySource implementation for MagentoSource.
118487  func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) {
118488  	return nil, false
118489  }
118490  
118491  // AsZohoSource is the BasicCopySource implementation for MagentoSource.
118492  func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) {
118493  	return nil, false
118494  }
118495  
118496  // AsXeroSource is the BasicCopySource implementation for MagentoSource.
118497  func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) {
118498  	return nil, false
118499  }
118500  
118501  // AsSquareSource is the BasicCopySource implementation for MagentoSource.
118502  func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) {
118503  	return nil, false
118504  }
118505  
118506  // AsSparkSource is the BasicCopySource implementation for MagentoSource.
118507  func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) {
118508  	return nil, false
118509  }
118510  
118511  // AsShopifySource is the BasicCopySource implementation for MagentoSource.
118512  func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) {
118513  	return nil, false
118514  }
118515  
118516  // AsServiceNowSource is the BasicCopySource implementation for MagentoSource.
118517  func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
118518  	return nil, false
118519  }
118520  
118521  // AsQuickBooksSource is the BasicCopySource implementation for MagentoSource.
118522  func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
118523  	return nil, false
118524  }
118525  
118526  // AsPrestoSource is the BasicCopySource implementation for MagentoSource.
118527  func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) {
118528  	return nil, false
118529  }
118530  
118531  // AsPhoenixSource is the BasicCopySource implementation for MagentoSource.
118532  func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) {
118533  	return nil, false
118534  }
118535  
118536  // AsPaypalSource is the BasicCopySource implementation for MagentoSource.
118537  func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) {
118538  	return nil, false
118539  }
118540  
118541  // AsMarketoSource is the BasicCopySource implementation for MagentoSource.
118542  func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) {
118543  	return nil, false
118544  }
118545  
118546  // AsAzureMariaDBSource is the BasicCopySource implementation for MagentoSource.
118547  func (ms MagentoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
118548  	return nil, false
118549  }
118550  
118551  // AsMariaDBSource is the BasicCopySource implementation for MagentoSource.
118552  func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) {
118553  	return nil, false
118554  }
118555  
118556  // AsMagentoSource is the BasicCopySource implementation for MagentoSource.
118557  func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) {
118558  	return &ms, true
118559  }
118560  
118561  // AsJiraSource is the BasicCopySource implementation for MagentoSource.
118562  func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) {
118563  	return nil, false
118564  }
118565  
118566  // AsImpalaSource is the BasicCopySource implementation for MagentoSource.
118567  func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) {
118568  	return nil, false
118569  }
118570  
118571  // AsHubspotSource is the BasicCopySource implementation for MagentoSource.
118572  func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) {
118573  	return nil, false
118574  }
118575  
118576  // AsHiveSource is the BasicCopySource implementation for MagentoSource.
118577  func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) {
118578  	return nil, false
118579  }
118580  
118581  // AsHBaseSource is the BasicCopySource implementation for MagentoSource.
118582  func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) {
118583  	return nil, false
118584  }
118585  
118586  // AsGreenplumSource is the BasicCopySource implementation for MagentoSource.
118587  func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) {
118588  	return nil, false
118589  }
118590  
118591  // AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource.
118592  func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
118593  	return nil, false
118594  }
118595  
118596  // AsEloquaSource is the BasicCopySource implementation for MagentoSource.
118597  func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) {
118598  	return nil, false
118599  }
118600  
118601  // AsDrillSource is the BasicCopySource implementation for MagentoSource.
118602  func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) {
118603  	return nil, false
118604  }
118605  
118606  // AsCouchbaseSource is the BasicCopySource implementation for MagentoSource.
118607  func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
118608  	return nil, false
118609  }
118610  
118611  // AsConcurSource is the BasicCopySource implementation for MagentoSource.
118612  func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) {
118613  	return nil, false
118614  }
118615  
118616  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource.
118617  func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
118618  	return nil, false
118619  }
118620  
118621  // AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource.
118622  func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
118623  	return nil, false
118624  }
118625  
118626  // AsCassandraSource is the BasicCopySource implementation for MagentoSource.
118627  func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) {
118628  	return nil, false
118629  }
118630  
118631  // AsTeradataSource is the BasicCopySource implementation for MagentoSource.
118632  func (ms MagentoSource) AsTeradataSource() (*TeradataSource, bool) {
118633  	return nil, false
118634  }
118635  
118636  // AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource.
118637  func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
118638  	return nil, false
118639  }
118640  
118641  // AsSQLDWSource is the BasicCopySource implementation for MagentoSource.
118642  func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) {
118643  	return nil, false
118644  }
118645  
118646  // AsSQLMISource is the BasicCopySource implementation for MagentoSource.
118647  func (ms MagentoSource) AsSQLMISource() (*SQLMISource, bool) {
118648  	return nil, false
118649  }
118650  
118651  // AsAzureSQLSource is the BasicCopySource implementation for MagentoSource.
118652  func (ms MagentoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
118653  	return nil, false
118654  }
118655  
118656  // AsSQLServerSource is the BasicCopySource implementation for MagentoSource.
118657  func (ms MagentoSource) AsSQLServerSource() (*SQLServerSource, bool) {
118658  	return nil, false
118659  }
118660  
118661  // AsSQLSource is the BasicCopySource implementation for MagentoSource.
118662  func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) {
118663  	return nil, false
118664  }
118665  
118666  // AsSapTableSource is the BasicCopySource implementation for MagentoSource.
118667  func (ms MagentoSource) AsSapTableSource() (*SapTableSource, bool) {
118668  	return nil, false
118669  }
118670  
118671  // AsSapOpenHubSource is the BasicCopySource implementation for MagentoSource.
118672  func (ms MagentoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
118673  	return nil, false
118674  }
118675  
118676  // AsSapHanaSource is the BasicCopySource implementation for MagentoSource.
118677  func (ms MagentoSource) AsSapHanaSource() (*SapHanaSource, bool) {
118678  	return nil, false
118679  }
118680  
118681  // AsSapEccSource is the BasicCopySource implementation for MagentoSource.
118682  func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) {
118683  	return nil, false
118684  }
118685  
118686  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource.
118687  func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
118688  	return nil, false
118689  }
118690  
118691  // AsSalesforceSource is the BasicCopySource implementation for MagentoSource.
118692  func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) {
118693  	return nil, false
118694  }
118695  
118696  // AsSapBwSource is the BasicCopySource implementation for MagentoSource.
118697  func (ms MagentoSource) AsSapBwSource() (*SapBwSource, bool) {
118698  	return nil, false
118699  }
118700  
118701  // AsSybaseSource is the BasicCopySource implementation for MagentoSource.
118702  func (ms MagentoSource) AsSybaseSource() (*SybaseSource, bool) {
118703  	return nil, false
118704  }
118705  
118706  // AsPostgreSQLSource is the BasicCopySource implementation for MagentoSource.
118707  func (ms MagentoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
118708  	return nil, false
118709  }
118710  
118711  // AsMySQLSource is the BasicCopySource implementation for MagentoSource.
118712  func (ms MagentoSource) AsMySQLSource() (*MySQLSource, bool) {
118713  	return nil, false
118714  }
118715  
118716  // AsOdbcSource is the BasicCopySource implementation for MagentoSource.
118717  func (ms MagentoSource) AsOdbcSource() (*OdbcSource, bool) {
118718  	return nil, false
118719  }
118720  
118721  // AsDb2Source is the BasicCopySource implementation for MagentoSource.
118722  func (ms MagentoSource) AsDb2Source() (*Db2Source, bool) {
118723  	return nil, false
118724  }
118725  
118726  // AsInformixSource is the BasicCopySource implementation for MagentoSource.
118727  func (ms MagentoSource) AsInformixSource() (*InformixSource, bool) {
118728  	return nil, false
118729  }
118730  
118731  // AsAzureTableSource is the BasicCopySource implementation for MagentoSource.
118732  func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) {
118733  	return nil, false
118734  }
118735  
118736  // AsTabularSource is the BasicCopySource implementation for MagentoSource.
118737  func (ms MagentoSource) AsTabularSource() (*TabularSource, bool) {
118738  	return nil, false
118739  }
118740  
118741  // AsBasicTabularSource is the BasicCopySource implementation for MagentoSource.
118742  func (ms MagentoSource) AsBasicTabularSource() (BasicTabularSource, bool) {
118743  	return &ms, true
118744  }
118745  
118746  // AsBinarySource is the BasicCopySource implementation for MagentoSource.
118747  func (ms MagentoSource) AsBinarySource() (*BinarySource, bool) {
118748  	return nil, false
118749  }
118750  
118751  // AsOrcSource is the BasicCopySource implementation for MagentoSource.
118752  func (ms MagentoSource) AsOrcSource() (*OrcSource, bool) {
118753  	return nil, false
118754  }
118755  
118756  // AsJSONSource is the BasicCopySource implementation for MagentoSource.
118757  func (ms MagentoSource) AsJSONSource() (*JSONSource, bool) {
118758  	return nil, false
118759  }
118760  
118761  // AsDelimitedTextSource is the BasicCopySource implementation for MagentoSource.
118762  func (ms MagentoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
118763  	return nil, false
118764  }
118765  
118766  // AsParquetSource is the BasicCopySource implementation for MagentoSource.
118767  func (ms MagentoSource) AsParquetSource() (*ParquetSource, bool) {
118768  	return nil, false
118769  }
118770  
118771  // AsAvroSource is the BasicCopySource implementation for MagentoSource.
118772  func (ms MagentoSource) AsAvroSource() (*AvroSource, bool) {
118773  	return nil, false
118774  }
118775  
118776  // AsCopySource is the BasicCopySource implementation for MagentoSource.
118777  func (ms MagentoSource) AsCopySource() (*CopySource, bool) {
118778  	return nil, false
118779  }
118780  
118781  // AsBasicCopySource is the BasicCopySource implementation for MagentoSource.
118782  func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) {
118783  	return &ms, true
118784  }
118785  
118786  // UnmarshalJSON is the custom unmarshaler for MagentoSource struct.
118787  func (ms *MagentoSource) UnmarshalJSON(body []byte) error {
118788  	var m map[string]*json.RawMessage
118789  	err := json.Unmarshal(body, &m)
118790  	if err != nil {
118791  		return err
118792  	}
118793  	for k, v := range m {
118794  		switch k {
118795  		case "query":
118796  			if v != nil {
118797  				var query interface{}
118798  				err = json.Unmarshal(*v, &query)
118799  				if err != nil {
118800  					return err
118801  				}
118802  				ms.Query = query
118803  			}
118804  		case "queryTimeout":
118805  			if v != nil {
118806  				var queryTimeout interface{}
118807  				err = json.Unmarshal(*v, &queryTimeout)
118808  				if err != nil {
118809  					return err
118810  				}
118811  				ms.QueryTimeout = queryTimeout
118812  			}
118813  		default:
118814  			if v != nil {
118815  				var additionalProperties interface{}
118816  				err = json.Unmarshal(*v, &additionalProperties)
118817  				if err != nil {
118818  					return err
118819  				}
118820  				if ms.AdditionalProperties == nil {
118821  					ms.AdditionalProperties = make(map[string]interface{})
118822  				}
118823  				ms.AdditionalProperties[k] = additionalProperties
118824  			}
118825  		case "sourceRetryCount":
118826  			if v != nil {
118827  				var sourceRetryCount interface{}
118828  				err = json.Unmarshal(*v, &sourceRetryCount)
118829  				if err != nil {
118830  					return err
118831  				}
118832  				ms.SourceRetryCount = sourceRetryCount
118833  			}
118834  		case "sourceRetryWait":
118835  			if v != nil {
118836  				var sourceRetryWait interface{}
118837  				err = json.Unmarshal(*v, &sourceRetryWait)
118838  				if err != nil {
118839  					return err
118840  				}
118841  				ms.SourceRetryWait = sourceRetryWait
118842  			}
118843  		case "maxConcurrentConnections":
118844  			if v != nil {
118845  				var maxConcurrentConnections interface{}
118846  				err = json.Unmarshal(*v, &maxConcurrentConnections)
118847  				if err != nil {
118848  					return err
118849  				}
118850  				ms.MaxConcurrentConnections = maxConcurrentConnections
118851  			}
118852  		case "type":
118853  			if v != nil {
118854  				var typeVar TypeBasicCopySource
118855  				err = json.Unmarshal(*v, &typeVar)
118856  				if err != nil {
118857  					return err
118858  				}
118859  				ms.Type = typeVar
118860  			}
118861  		}
118862  	}
118863  
118864  	return nil
118865  }
118866  
118867  // ManagedIdentity the workspace managed identity
118868  type ManagedIdentity struct {
118869  	// PrincipalID - READ-ONLY; The principal ID of the workspace managed identity
118870  	PrincipalID *string `json:"principalId,omitempty"`
118871  	// TenantID - READ-ONLY; The tenant ID of the workspace managed identity
118872  	TenantID *uuid.UUID `json:"tenantId,omitempty"`
118873  	// Type - The type of managed identity for the workspace. Possible values include: 'ResourceIdentityTypeNone', 'ResourceIdentityTypeSystemAssigned'
118874  	Type ResourceIdentityType `json:"type,omitempty"`
118875  }
118876  
118877  // MarshalJSON is the custom marshaler for ManagedIdentity.
118878  func (mi ManagedIdentity) MarshalJSON() ([]byte, error) {
118879  	objectMap := make(map[string]interface{})
118880  	if mi.Type != "" {
118881  		objectMap["type"] = mi.Type
118882  	}
118883  	return json.Marshal(objectMap)
118884  }
118885  
118886  // ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated
118887  // integration runtimes.
118888  type ManagedIntegrationRuntime struct {
118889  	// 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'
118890  	State IntegrationRuntimeState `json:"state,omitempty"`
118891  	// ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties.
118892  	*ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
118893  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
118894  	AdditionalProperties map[string]interface{} `json:""`
118895  	// Description - Integration runtime description.
118896  	Description *string `json:"description,omitempty"`
118897  	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
118898  	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
118899  }
118900  
118901  // MarshalJSON is the custom marshaler for ManagedIntegrationRuntime.
118902  func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) {
118903  	mir.Type = TypeManaged
118904  	objectMap := make(map[string]interface{})
118905  	if mir.ManagedIntegrationRuntimeTypeProperties != nil {
118906  		objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties
118907  	}
118908  	if mir.Description != nil {
118909  		objectMap["description"] = mir.Description
118910  	}
118911  	if mir.Type != "" {
118912  		objectMap["type"] = mir.Type
118913  	}
118914  	for k, v := range mir.AdditionalProperties {
118915  		objectMap[k] = v
118916  	}
118917  	return json.Marshal(objectMap)
118918  }
118919  
118920  // AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
118921  func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
118922  	return nil, false
118923  }
118924  
118925  // AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
118926  func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
118927  	return &mir, true
118928  }
118929  
118930  // AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
118931  func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
118932  	return nil, false
118933  }
118934  
118935  // AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime.
118936  func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
118937  	return &mir, true
118938  }
118939  
118940  // UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct.
118941  func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error {
118942  	var m map[string]*json.RawMessage
118943  	err := json.Unmarshal(body, &m)
118944  	if err != nil {
118945  		return err
118946  	}
118947  	for k, v := range m {
118948  		switch k {
118949  		case "state":
118950  			if v != nil {
118951  				var state IntegrationRuntimeState
118952  				err = json.Unmarshal(*v, &state)
118953  				if err != nil {
118954  					return err
118955  				}
118956  				mir.State = state
118957  			}
118958  		case "typeProperties":
118959  			if v != nil {
118960  				var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties
118961  				err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties)
118962  				if err != nil {
118963  					return err
118964  				}
118965  				mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties
118966  			}
118967  		default:
118968  			if v != nil {
118969  				var additionalProperties interface{}
118970  				err = json.Unmarshal(*v, &additionalProperties)
118971  				if err != nil {
118972  					return err
118973  				}
118974  				if mir.AdditionalProperties == nil {
118975  					mir.AdditionalProperties = make(map[string]interface{})
118976  				}
118977  				mir.AdditionalProperties[k] = additionalProperties
118978  			}
118979  		case "description":
118980  			if v != nil {
118981  				var description string
118982  				err = json.Unmarshal(*v, &description)
118983  				if err != nil {
118984  					return err
118985  				}
118986  				mir.Description = &description
118987  			}
118988  		case "type":
118989  			if v != nil {
118990  				var typeVar TypeBasicIntegrationRuntime
118991  				err = json.Unmarshal(*v, &typeVar)
118992  				if err != nil {
118993  					return err
118994  				}
118995  				mir.Type = typeVar
118996  			}
118997  		}
118998  	}
118999  
119000  	return nil
119001  }
119002  
119003  // ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties.
119004  type ManagedIntegrationRuntimeTypeProperties struct {
119005  	// ComputeProperties - The compute resource for managed integration runtime.
119006  	ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"`
119007  	// SsisProperties - SSIS properties for managed integration runtime.
119008  	SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"`
119009  }
119010  
119011  // ManagedVirtualNetworkSettings managed Virtual Network Settings
119012  type ManagedVirtualNetworkSettings struct {
119013  	// PreventDataExfiltration - Prevent Data Exfiltration
119014  	PreventDataExfiltration *bool `json:"preventDataExfiltration,omitempty"`
119015  	// LinkedAccessCheckOnTargetResource - Linked Access Check On Target Resource
119016  	LinkedAccessCheckOnTargetResource *bool `json:"linkedAccessCheckOnTargetResource,omitempty"`
119017  	// AllowedAadTenantIdsForLinking - Allowed Aad Tenant Ids For Linking
119018  	AllowedAadTenantIdsForLinking *[]string `json:"allowedAadTenantIdsForLinking,omitempty"`
119019  }
119020  
119021  // MappingDataFlow mapping data flow.
119022  type MappingDataFlow struct {
119023  	// MappingDataFlowTypeProperties - Mapping data flow type properties.
119024  	*MappingDataFlowTypeProperties `json:"typeProperties,omitempty"`
119025  	// Description - The description of the data flow.
119026  	Description *string `json:"description,omitempty"`
119027  	// Annotations - List of tags that can be used for describing the data flow.
119028  	Annotations *[]interface{} `json:"annotations,omitempty"`
119029  	// Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level.
119030  	Folder *DataFlowFolder `json:"folder,omitempty"`
119031  	// Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow'
119032  	Type TypeBasicDataFlow `json:"type,omitempty"`
119033  }
119034  
119035  // MarshalJSON is the custom marshaler for MappingDataFlow.
119036  func (mdf MappingDataFlow) MarshalJSON() ([]byte, error) {
119037  	mdf.Type = TypeMappingDataFlow
119038  	objectMap := make(map[string]interface{})
119039  	if mdf.MappingDataFlowTypeProperties != nil {
119040  		objectMap["typeProperties"] = mdf.MappingDataFlowTypeProperties
119041  	}
119042  	if mdf.Description != nil {
119043  		objectMap["description"] = mdf.Description
119044  	}
119045  	if mdf.Annotations != nil {
119046  		objectMap["annotations"] = mdf.Annotations
119047  	}
119048  	if mdf.Folder != nil {
119049  		objectMap["folder"] = mdf.Folder
119050  	}
119051  	if mdf.Type != "" {
119052  		objectMap["type"] = mdf.Type
119053  	}
119054  	return json.Marshal(objectMap)
119055  }
119056  
119057  // AsMappingDataFlow is the BasicDataFlow implementation for MappingDataFlow.
119058  func (mdf MappingDataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) {
119059  	return &mdf, true
119060  }
119061  
119062  // AsDataFlow is the BasicDataFlow implementation for MappingDataFlow.
119063  func (mdf MappingDataFlow) AsDataFlow() (*DataFlow, bool) {
119064  	return nil, false
119065  }
119066  
119067  // AsBasicDataFlow is the BasicDataFlow implementation for MappingDataFlow.
119068  func (mdf MappingDataFlow) AsBasicDataFlow() (BasicDataFlow, bool) {
119069  	return &mdf, true
119070  }
119071  
119072  // UnmarshalJSON is the custom unmarshaler for MappingDataFlow struct.
119073  func (mdf *MappingDataFlow) UnmarshalJSON(body []byte) error {
119074  	var m map[string]*json.RawMessage
119075  	err := json.Unmarshal(body, &m)
119076  	if err != nil {
119077  		return err
119078  	}
119079  	for k, v := range m {
119080  		switch k {
119081  		case "typeProperties":
119082  			if v != nil {
119083  				var mappingDataFlowTypeProperties MappingDataFlowTypeProperties
119084  				err = json.Unmarshal(*v, &mappingDataFlowTypeProperties)
119085  				if err != nil {
119086  					return err
119087  				}
119088  				mdf.MappingDataFlowTypeProperties = &mappingDataFlowTypeProperties
119089  			}
119090  		case "description":
119091  			if v != nil {
119092  				var description string
119093  				err = json.Unmarshal(*v, &description)
119094  				if err != nil {
119095  					return err
119096  				}
119097  				mdf.Description = &description
119098  			}
119099  		case "annotations":
119100  			if v != nil {
119101  				var annotations []interface{}
119102  				err = json.Unmarshal(*v, &annotations)
119103  				if err != nil {
119104  					return err
119105  				}
119106  				mdf.Annotations = &annotations
119107  			}
119108  		case "folder":
119109  			if v != nil {
119110  				var folder DataFlowFolder
119111  				err = json.Unmarshal(*v, &folder)
119112  				if err != nil {
119113  					return err
119114  				}
119115  				mdf.Folder = &folder
119116  			}
119117  		case "type":
119118  			if v != nil {
119119  				var typeVar TypeBasicDataFlow
119120  				err = json.Unmarshal(*v, &typeVar)
119121  				if err != nil {
119122  					return err
119123  				}
119124  				mdf.Type = typeVar
119125  			}
119126  		}
119127  	}
119128  
119129  	return nil
119130  }
119131  
119132  // MappingDataFlowTypeProperties mapping data flow type properties.
119133  type MappingDataFlowTypeProperties struct {
119134  	// Sources - List of sources in data flow.
119135  	Sources *[]DataFlowSource `json:"sources,omitempty"`
119136  	// Sinks - List of sinks in data flow.
119137  	Sinks *[]DataFlowSink `json:"sinks,omitempty"`
119138  	// Transformations - List of transformations in data flow.
119139  	Transformations *[]Transformation `json:"transformations,omitempty"`
119140  	// Script - DataFlow script.
119141  	Script *string `json:"script,omitempty"`
119142  }
119143  
119144  // MariaDBLinkedService mariaDB server linked service.
119145  type MariaDBLinkedService struct {
119146  	// MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties.
119147  	*MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
119148  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
119149  	AdditionalProperties map[string]interface{} `json:""`
119150  	// ConnectVia - The integration runtime reference.
119151  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
119152  	// Description - Linked service description.
119153  	Description *string `json:"description,omitempty"`
119154  	// Parameters - Parameters for linked service.
119155  	Parameters map[string]*ParameterSpecification `json:"parameters"`
119156  	// Annotations - List of tags that can be used for describing the linked service.
119157  	Annotations *[]interface{} `json:"annotations,omitempty"`
119158  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
119159  	Type TypeBasicLinkedService `json:"type,omitempty"`
119160  }
119161  
119162  // MarshalJSON is the custom marshaler for MariaDBLinkedService.
119163  func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) {
119164  	mdls.Type = TypeMariaDB
119165  	objectMap := make(map[string]interface{})
119166  	if mdls.MariaDBLinkedServiceTypeProperties != nil {
119167  		objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties
119168  	}
119169  	if mdls.ConnectVia != nil {
119170  		objectMap["connectVia"] = mdls.ConnectVia
119171  	}
119172  	if mdls.Description != nil {
119173  		objectMap["description"] = mdls.Description
119174  	}
119175  	if mdls.Parameters != nil {
119176  		objectMap["parameters"] = mdls.Parameters
119177  	}
119178  	if mdls.Annotations != nil {
119179  		objectMap["annotations"] = mdls.Annotations
119180  	}
119181  	if mdls.Type != "" {
119182  		objectMap["type"] = mdls.Type
119183  	}
119184  	for k, v := range mdls.AdditionalProperties {
119185  		objectMap[k] = v
119186  	}
119187  	return json.Marshal(objectMap)
119188  }
119189  
119190  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119191  func (mdls MariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
119192  	return nil, false
119193  }
119194  
119195  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119196  func (mdls MariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
119197  	return nil, false
119198  }
119199  
119200  // AsSapTableLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119201  func (mdls MariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
119202  	return nil, false
119203  }
119204  
119205  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119206  func (mdls MariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
119207  	return nil, false
119208  }
119209  
119210  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119211  func (mdls MariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
119212  	return nil, false
119213  }
119214  
119215  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119216  func (mdls MariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
119217  	return nil, false
119218  }
119219  
119220  // AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119221  func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
119222  	return nil, false
119223  }
119224  
119225  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119226  func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
119227  	return nil, false
119228  }
119229  
119230  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119231  func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
119232  	return nil, false
119233  }
119234  
119235  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119236  func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
119237  	return nil, false
119238  }
119239  
119240  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119241  func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
119242  	return nil, false
119243  }
119244  
119245  // AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119246  func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
119247  	return nil, false
119248  }
119249  
119250  // AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119251  func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
119252  	return nil, false
119253  }
119254  
119255  // AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119256  func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
119257  	return nil, false
119258  }
119259  
119260  // AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119261  func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
119262  	return nil, false
119263  }
119264  
119265  // AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119266  func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
119267  	return nil, false
119268  }
119269  
119270  // AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119271  func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
119272  	return nil, false
119273  }
119274  
119275  // AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119276  func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
119277  	return nil, false
119278  }
119279  
119280  // AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119281  func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
119282  	return nil, false
119283  }
119284  
119285  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119286  func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
119287  	return nil, false
119288  }
119289  
119290  // AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119291  func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
119292  	return nil, false
119293  }
119294  
119295  // AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119296  func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
119297  	return nil, false
119298  }
119299  
119300  // AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119301  func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
119302  	return nil, false
119303  }
119304  
119305  // AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119306  func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
119307  	return nil, false
119308  }
119309  
119310  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119311  func (mdls MariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
119312  	return nil, false
119313  }
119314  
119315  // AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119316  func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
119317  	return &mdls, true
119318  }
119319  
119320  // AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119321  func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
119322  	return nil, false
119323  }
119324  
119325  // AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119326  func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
119327  	return nil, false
119328  }
119329  
119330  // AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119331  func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
119332  	return nil, false
119333  }
119334  
119335  // AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119336  func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
119337  	return nil, false
119338  }
119339  
119340  // AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119341  func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
119342  	return nil, false
119343  }
119344  
119345  // AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119346  func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
119347  	return nil, false
119348  }
119349  
119350  // AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119351  func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
119352  	return nil, false
119353  }
119354  
119355  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119356  func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
119357  	return nil, false
119358  }
119359  
119360  // AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119361  func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
119362  	return nil, false
119363  }
119364  
119365  // AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119366  func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
119367  	return nil, false
119368  }
119369  
119370  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119371  func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
119372  	return nil, false
119373  }
119374  
119375  // AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119376  func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
119377  	return nil, false
119378  }
119379  
119380  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119381  func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
119382  	return nil, false
119383  }
119384  
119385  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119386  func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
119387  	return nil, false
119388  }
119389  
119390  // AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119391  func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
119392  	return nil, false
119393  }
119394  
119395  // AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119396  func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
119397  	return nil, false
119398  }
119399  
119400  // AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119401  func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
119402  	return nil, false
119403  }
119404  
119405  // AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119406  func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
119407  	return nil, false
119408  }
119409  
119410  // AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119411  func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
119412  	return nil, false
119413  }
119414  
119415  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119416  func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
119417  	return nil, false
119418  }
119419  
119420  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119421  func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
119422  	return nil, false
119423  }
119424  
119425  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119426  func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
119427  	return nil, false
119428  }
119429  
119430  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119431  func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
119432  	return nil, false
119433  }
119434  
119435  // AsRestServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119436  func (mdls MariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
119437  	return nil, false
119438  }
119439  
119440  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119441  func (mdls MariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
119442  	return nil, false
119443  }
119444  
119445  // AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119446  func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
119447  	return nil, false
119448  }
119449  
119450  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119451  func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
119452  	return nil, false
119453  }
119454  
119455  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119456  func (mdls MariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
119457  	return nil, false
119458  }
119459  
119460  // AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119461  func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
119462  	return nil, false
119463  }
119464  
119465  // AsOffice365LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119466  func (mdls MariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
119467  	return nil, false
119468  }
119469  
119470  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119471  func (mdls MariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
119472  	return nil, false
119473  }
119474  
119475  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119476  func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
119477  	return nil, false
119478  }
119479  
119480  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119481  func (mdls MariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
119482  	return nil, false
119483  }
119484  
119485  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119486  func (mdls MariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
119487  	return nil, false
119488  }
119489  
119490  // AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119491  func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
119492  	return nil, false
119493  }
119494  
119495  // AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119496  func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
119497  	return nil, false
119498  }
119499  
119500  // AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119501  func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
119502  	return nil, false
119503  }
119504  
119505  // AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119506  func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
119507  	return nil, false
119508  }
119509  
119510  // AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119511  func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
119512  	return nil, false
119513  }
119514  
119515  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119516  func (mdls MariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
119517  	return nil, false
119518  }
119519  
119520  // AsInformixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119521  func (mdls MariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
119522  	return nil, false
119523  }
119524  
119525  // AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119526  func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
119527  	return nil, false
119528  }
119529  
119530  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119531  func (mdls MariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
119532  	return nil, false
119533  }
119534  
119535  // AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119536  func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
119537  	return nil, false
119538  }
119539  
119540  // AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119541  func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
119542  	return nil, false
119543  }
119544  
119545  // AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119546  func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
119547  	return nil, false
119548  }
119549  
119550  // AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119551  func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
119552  	return nil, false
119553  }
119554  
119555  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119556  func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
119557  	return nil, false
119558  }
119559  
119560  // AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119561  func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
119562  	return nil, false
119563  }
119564  
119565  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119566  func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
119567  	return nil, false
119568  }
119569  
119570  // AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119571  func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
119572  	return nil, false
119573  }
119574  
119575  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119576  func (mdls MariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
119577  	return nil, false
119578  }
119579  
119580  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119581  func (mdls MariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
119582  	return nil, false
119583  }
119584  
119585  // AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119586  func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
119587  	return nil, false
119588  }
119589  
119590  // AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119591  func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
119592  	return nil, false
119593  }
119594  
119595  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119596  func (mdls MariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
119597  	return nil, false
119598  }
119599  
119600  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119601  func (mdls MariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
119602  	return nil, false
119603  }
119604  
119605  // AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119606  func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
119607  	return nil, false
119608  }
119609  
119610  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119611  func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
119612  	return nil, false
119613  }
119614  
119615  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119616  func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
119617  	return nil, false
119618  }
119619  
119620  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119621  func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
119622  	return nil, false
119623  }
119624  
119625  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119626  func (mdls MariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
119627  	return nil, false
119628  }
119629  
119630  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119631  func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
119632  	return nil, false
119633  }
119634  
119635  // AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119636  func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
119637  	return nil, false
119638  }
119639  
119640  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119641  func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
119642  	return nil, false
119643  }
119644  
119645  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119646  func (mdls MariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
119647  	return nil, false
119648  }
119649  
119650  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119651  func (mdls MariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
119652  	return nil, false
119653  }
119654  
119655  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119656  func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
119657  	return nil, false
119658  }
119659  
119660  // AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119661  func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) {
119662  	return nil, false
119663  }
119664  
119665  // AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService.
119666  func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
119667  	return &mdls, true
119668  }
119669  
119670  // UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct.
119671  func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error {
119672  	var m map[string]*json.RawMessage
119673  	err := json.Unmarshal(body, &m)
119674  	if err != nil {
119675  		return err
119676  	}
119677  	for k, v := range m {
119678  		switch k {
119679  		case "typeProperties":
119680  			if v != nil {
119681  				var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties
119682  				err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties)
119683  				if err != nil {
119684  					return err
119685  				}
119686  				mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties
119687  			}
119688  		default:
119689  			if v != nil {
119690  				var additionalProperties interface{}
119691  				err = json.Unmarshal(*v, &additionalProperties)
119692  				if err != nil {
119693  					return err
119694  				}
119695  				if mdls.AdditionalProperties == nil {
119696  					mdls.AdditionalProperties = make(map[string]interface{})
119697  				}
119698  				mdls.AdditionalProperties[k] = additionalProperties
119699  			}
119700  		case "connectVia":
119701  			if v != nil {
119702  				var connectVia IntegrationRuntimeReference
119703  				err = json.Unmarshal(*v, &connectVia)
119704  				if err != nil {
119705  					return err
119706  				}
119707  				mdls.ConnectVia = &connectVia
119708  			}
119709  		case "description":
119710  			if v != nil {
119711  				var description string
119712  				err = json.Unmarshal(*v, &description)
119713  				if err != nil {
119714  					return err
119715  				}
119716  				mdls.Description = &description
119717  			}
119718  		case "parameters":
119719  			if v != nil {
119720  				var parameters map[string]*ParameterSpecification
119721  				err = json.Unmarshal(*v, &parameters)
119722  				if err != nil {
119723  					return err
119724  				}
119725  				mdls.Parameters = parameters
119726  			}
119727  		case "annotations":
119728  			if v != nil {
119729  				var annotations []interface{}
119730  				err = json.Unmarshal(*v, &annotations)
119731  				if err != nil {
119732  					return err
119733  				}
119734  				mdls.Annotations = &annotations
119735  			}
119736  		case "type":
119737  			if v != nil {
119738  				var typeVar TypeBasicLinkedService
119739  				err = json.Unmarshal(*v, &typeVar)
119740  				if err != nil {
119741  					return err
119742  				}
119743  				mdls.Type = typeVar
119744  			}
119745  		}
119746  	}
119747  
119748  	return nil
119749  }
119750  
119751  // MariaDBLinkedServiceTypeProperties mariaDB server linked service properties.
119752  type MariaDBLinkedServiceTypeProperties struct {
119753  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
119754  	ConnectionString interface{} `json:"connectionString,omitempty"`
119755  	// Pwd - The Azure key vault secret reference of password in connection string.
119756  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
119757  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
119758  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
119759  }
119760  
119761  // MariaDBSource a copy activity MariaDB server source.
119762  type MariaDBSource struct {
119763  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
119764  	Query interface{} `json:"query,omitempty"`
119765  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
119766  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
119767  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
119768  	AdditionalProperties map[string]interface{} `json:""`
119769  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
119770  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
119771  	// 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])).
119772  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
119773  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
119774  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
119775  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
119776  	Type TypeBasicCopySource `json:"type,omitempty"`
119777  }
119778  
119779  // MarshalJSON is the custom marshaler for MariaDBSource.
119780  func (mds MariaDBSource) MarshalJSON() ([]byte, error) {
119781  	mds.Type = TypeMariaDBSource
119782  	objectMap := make(map[string]interface{})
119783  	if mds.Query != nil {
119784  		objectMap["query"] = mds.Query
119785  	}
119786  	if mds.QueryTimeout != nil {
119787  		objectMap["queryTimeout"] = mds.QueryTimeout
119788  	}
119789  	if mds.SourceRetryCount != nil {
119790  		objectMap["sourceRetryCount"] = mds.SourceRetryCount
119791  	}
119792  	if mds.SourceRetryWait != nil {
119793  		objectMap["sourceRetryWait"] = mds.SourceRetryWait
119794  	}
119795  	if mds.MaxConcurrentConnections != nil {
119796  		objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections
119797  	}
119798  	if mds.Type != "" {
119799  		objectMap["type"] = mds.Type
119800  	}
119801  	for k, v := range mds.AdditionalProperties {
119802  		objectMap[k] = v
119803  	}
119804  	return json.Marshal(objectMap)
119805  }
119806  
119807  // AsHTTPSource is the BasicCopySource implementation for MariaDBSource.
119808  func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) {
119809  	return nil, false
119810  }
119811  
119812  // AsAzureBlobFSSource is the BasicCopySource implementation for MariaDBSource.
119813  func (mds MariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
119814  	return nil, false
119815  }
119816  
119817  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource.
119818  func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
119819  	return nil, false
119820  }
119821  
119822  // AsOffice365Source is the BasicCopySource implementation for MariaDBSource.
119823  func (mds MariaDBSource) AsOffice365Source() (*Office365Source, bool) {
119824  	return nil, false
119825  }
119826  
119827  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MariaDBSource.
119828  func (mds MariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
119829  	return nil, false
119830  }
119831  
119832  // AsMongoDbV2Source is the BasicCopySource implementation for MariaDBSource.
119833  func (mds MariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
119834  	return nil, false
119835  }
119836  
119837  // AsMongoDbSource is the BasicCopySource implementation for MariaDBSource.
119838  func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) {
119839  	return nil, false
119840  }
119841  
119842  // AsWebSource is the BasicCopySource implementation for MariaDBSource.
119843  func (mds MariaDBSource) AsWebSource() (*WebSource, bool) {
119844  	return nil, false
119845  }
119846  
119847  // AsOracleSource is the BasicCopySource implementation for MariaDBSource.
119848  func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) {
119849  	return nil, false
119850  }
119851  
119852  // AsAzureDataExplorerSource is the BasicCopySource implementation for MariaDBSource.
119853  func (mds MariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
119854  	return nil, false
119855  }
119856  
119857  // AsHdfsSource is the BasicCopySource implementation for MariaDBSource.
119858  func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) {
119859  	return nil, false
119860  }
119861  
119862  // AsFileSystemSource is the BasicCopySource implementation for MariaDBSource.
119863  func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) {
119864  	return nil, false
119865  }
119866  
119867  // AsRestSource is the BasicCopySource implementation for MariaDBSource.
119868  func (mds MariaDBSource) AsRestSource() (*RestSource, bool) {
119869  	return nil, false
119870  }
119871  
119872  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MariaDBSource.
119873  func (mds MariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
119874  	return nil, false
119875  }
119876  
119877  // AsODataSource is the BasicCopySource implementation for MariaDBSource.
119878  func (mds MariaDBSource) AsODataSource() (*ODataSource, bool) {
119879  	return nil, false
119880  }
119881  
119882  // AsMicrosoftAccessSource is the BasicCopySource implementation for MariaDBSource.
119883  func (mds MariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
119884  	return nil, false
119885  }
119886  
119887  // AsRelationalSource is the BasicCopySource implementation for MariaDBSource.
119888  func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) {
119889  	return nil, false
119890  }
119891  
119892  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MariaDBSource.
119893  func (mds MariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
119894  	return nil, false
119895  }
119896  
119897  // AsDynamicsCrmSource is the BasicCopySource implementation for MariaDBSource.
119898  func (mds MariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
119899  	return nil, false
119900  }
119901  
119902  // AsDynamicsSource is the BasicCopySource implementation for MariaDBSource.
119903  func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) {
119904  	return nil, false
119905  }
119906  
119907  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MariaDBSource.
119908  func (mds MariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
119909  	return nil, false
119910  }
119911  
119912  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource.
119913  func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
119914  	return nil, false
119915  }
119916  
119917  // AsBlobSource is the BasicCopySource implementation for MariaDBSource.
119918  func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) {
119919  	return nil, false
119920  }
119921  
119922  // AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource.
119923  func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
119924  	return nil, false
119925  }
119926  
119927  // AsGoogleAdWordsSource is the BasicCopySource implementation for MariaDBSource.
119928  func (mds MariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
119929  	return nil, false
119930  }
119931  
119932  // AsOracleServiceCloudSource is the BasicCopySource implementation for MariaDBSource.
119933  func (mds MariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
119934  	return nil, false
119935  }
119936  
119937  // AsDynamicsAXSource is the BasicCopySource implementation for MariaDBSource.
119938  func (mds MariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
119939  	return nil, false
119940  }
119941  
119942  // AsResponsysSource is the BasicCopySource implementation for MariaDBSource.
119943  func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) {
119944  	return nil, false
119945  }
119946  
119947  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource.
119948  func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
119949  	return nil, false
119950  }
119951  
119952  // AsVerticaSource is the BasicCopySource implementation for MariaDBSource.
119953  func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) {
119954  	return nil, false
119955  }
119956  
119957  // AsNetezzaSource is the BasicCopySource implementation for MariaDBSource.
119958  func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) {
119959  	return nil, false
119960  }
119961  
119962  // AsZohoSource is the BasicCopySource implementation for MariaDBSource.
119963  func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) {
119964  	return nil, false
119965  }
119966  
119967  // AsXeroSource is the BasicCopySource implementation for MariaDBSource.
119968  func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) {
119969  	return nil, false
119970  }
119971  
119972  // AsSquareSource is the BasicCopySource implementation for MariaDBSource.
119973  func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) {
119974  	return nil, false
119975  }
119976  
119977  // AsSparkSource is the BasicCopySource implementation for MariaDBSource.
119978  func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) {
119979  	return nil, false
119980  }
119981  
119982  // AsShopifySource is the BasicCopySource implementation for MariaDBSource.
119983  func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) {
119984  	return nil, false
119985  }
119986  
119987  // AsServiceNowSource is the BasicCopySource implementation for MariaDBSource.
119988  func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) {
119989  	return nil, false
119990  }
119991  
119992  // AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource.
119993  func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
119994  	return nil, false
119995  }
119996  
119997  // AsPrestoSource is the BasicCopySource implementation for MariaDBSource.
119998  func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) {
119999  	return nil, false
120000  }
120001  
120002  // AsPhoenixSource is the BasicCopySource implementation for MariaDBSource.
120003  func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) {
120004  	return nil, false
120005  }
120006  
120007  // AsPaypalSource is the BasicCopySource implementation for MariaDBSource.
120008  func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) {
120009  	return nil, false
120010  }
120011  
120012  // AsMarketoSource is the BasicCopySource implementation for MariaDBSource.
120013  func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) {
120014  	return nil, false
120015  }
120016  
120017  // AsAzureMariaDBSource is the BasicCopySource implementation for MariaDBSource.
120018  func (mds MariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
120019  	return nil, false
120020  }
120021  
120022  // AsMariaDBSource is the BasicCopySource implementation for MariaDBSource.
120023  func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) {
120024  	return &mds, true
120025  }
120026  
120027  // AsMagentoSource is the BasicCopySource implementation for MariaDBSource.
120028  func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) {
120029  	return nil, false
120030  }
120031  
120032  // AsJiraSource is the BasicCopySource implementation for MariaDBSource.
120033  func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) {
120034  	return nil, false
120035  }
120036  
120037  // AsImpalaSource is the BasicCopySource implementation for MariaDBSource.
120038  func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) {
120039  	return nil, false
120040  }
120041  
120042  // AsHubspotSource is the BasicCopySource implementation for MariaDBSource.
120043  func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) {
120044  	return nil, false
120045  }
120046  
120047  // AsHiveSource is the BasicCopySource implementation for MariaDBSource.
120048  func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) {
120049  	return nil, false
120050  }
120051  
120052  // AsHBaseSource is the BasicCopySource implementation for MariaDBSource.
120053  func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) {
120054  	return nil, false
120055  }
120056  
120057  // AsGreenplumSource is the BasicCopySource implementation for MariaDBSource.
120058  func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) {
120059  	return nil, false
120060  }
120061  
120062  // AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource.
120063  func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
120064  	return nil, false
120065  }
120066  
120067  // AsEloquaSource is the BasicCopySource implementation for MariaDBSource.
120068  func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) {
120069  	return nil, false
120070  }
120071  
120072  // AsDrillSource is the BasicCopySource implementation for MariaDBSource.
120073  func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) {
120074  	return nil, false
120075  }
120076  
120077  // AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource.
120078  func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
120079  	return nil, false
120080  }
120081  
120082  // AsConcurSource is the BasicCopySource implementation for MariaDBSource.
120083  func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) {
120084  	return nil, false
120085  }
120086  
120087  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
120088  func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
120089  	return nil, false
120090  }
120091  
120092  // AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource.
120093  func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
120094  	return nil, false
120095  }
120096  
120097  // AsCassandraSource is the BasicCopySource implementation for MariaDBSource.
120098  func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) {
120099  	return nil, false
120100  }
120101  
120102  // AsTeradataSource is the BasicCopySource implementation for MariaDBSource.
120103  func (mds MariaDBSource) AsTeradataSource() (*TeradataSource, bool) {
120104  	return nil, false
120105  }
120106  
120107  // AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource.
120108  func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
120109  	return nil, false
120110  }
120111  
120112  // AsSQLDWSource is the BasicCopySource implementation for MariaDBSource.
120113  func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) {
120114  	return nil, false
120115  }
120116  
120117  // AsSQLMISource is the BasicCopySource implementation for MariaDBSource.
120118  func (mds MariaDBSource) AsSQLMISource() (*SQLMISource, bool) {
120119  	return nil, false
120120  }
120121  
120122  // AsAzureSQLSource is the BasicCopySource implementation for MariaDBSource.
120123  func (mds MariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
120124  	return nil, false
120125  }
120126  
120127  // AsSQLServerSource is the BasicCopySource implementation for MariaDBSource.
120128  func (mds MariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) {
120129  	return nil, false
120130  }
120131  
120132  // AsSQLSource is the BasicCopySource implementation for MariaDBSource.
120133  func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) {
120134  	return nil, false
120135  }
120136  
120137  // AsSapTableSource is the BasicCopySource implementation for MariaDBSource.
120138  func (mds MariaDBSource) AsSapTableSource() (*SapTableSource, bool) {
120139  	return nil, false
120140  }
120141  
120142  // AsSapOpenHubSource is the BasicCopySource implementation for MariaDBSource.
120143  func (mds MariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
120144  	return nil, false
120145  }
120146  
120147  // AsSapHanaSource is the BasicCopySource implementation for MariaDBSource.
120148  func (mds MariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) {
120149  	return nil, false
120150  }
120151  
120152  // AsSapEccSource is the BasicCopySource implementation for MariaDBSource.
120153  func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) {
120154  	return nil, false
120155  }
120156  
120157  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource.
120158  func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
120159  	return nil, false
120160  }
120161  
120162  // AsSalesforceSource is the BasicCopySource implementation for MariaDBSource.
120163  func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) {
120164  	return nil, false
120165  }
120166  
120167  // AsSapBwSource is the BasicCopySource implementation for MariaDBSource.
120168  func (mds MariaDBSource) AsSapBwSource() (*SapBwSource, bool) {
120169  	return nil, false
120170  }
120171  
120172  // AsSybaseSource is the BasicCopySource implementation for MariaDBSource.
120173  func (mds MariaDBSource) AsSybaseSource() (*SybaseSource, bool) {
120174  	return nil, false
120175  }
120176  
120177  // AsPostgreSQLSource is the BasicCopySource implementation for MariaDBSource.
120178  func (mds MariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
120179  	return nil, false
120180  }
120181  
120182  // AsMySQLSource is the BasicCopySource implementation for MariaDBSource.
120183  func (mds MariaDBSource) AsMySQLSource() (*MySQLSource, bool) {
120184  	return nil, false
120185  }
120186  
120187  // AsOdbcSource is the BasicCopySource implementation for MariaDBSource.
120188  func (mds MariaDBSource) AsOdbcSource() (*OdbcSource, bool) {
120189  	return nil, false
120190  }
120191  
120192  // AsDb2Source is the BasicCopySource implementation for MariaDBSource.
120193  func (mds MariaDBSource) AsDb2Source() (*Db2Source, bool) {
120194  	return nil, false
120195  }
120196  
120197  // AsInformixSource is the BasicCopySource implementation for MariaDBSource.
120198  func (mds MariaDBSource) AsInformixSource() (*InformixSource, bool) {
120199  	return nil, false
120200  }
120201  
120202  // AsAzureTableSource is the BasicCopySource implementation for MariaDBSource.
120203  func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) {
120204  	return nil, false
120205  }
120206  
120207  // AsTabularSource is the BasicCopySource implementation for MariaDBSource.
120208  func (mds MariaDBSource) AsTabularSource() (*TabularSource, bool) {
120209  	return nil, false
120210  }
120211  
120212  // AsBasicTabularSource is the BasicCopySource implementation for MariaDBSource.
120213  func (mds MariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) {
120214  	return &mds, true
120215  }
120216  
120217  // AsBinarySource is the BasicCopySource implementation for MariaDBSource.
120218  func (mds MariaDBSource) AsBinarySource() (*BinarySource, bool) {
120219  	return nil, false
120220  }
120221  
120222  // AsOrcSource is the BasicCopySource implementation for MariaDBSource.
120223  func (mds MariaDBSource) AsOrcSource() (*OrcSource, bool) {
120224  	return nil, false
120225  }
120226  
120227  // AsJSONSource is the BasicCopySource implementation for MariaDBSource.
120228  func (mds MariaDBSource) AsJSONSource() (*JSONSource, bool) {
120229  	return nil, false
120230  }
120231  
120232  // AsDelimitedTextSource is the BasicCopySource implementation for MariaDBSource.
120233  func (mds MariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
120234  	return nil, false
120235  }
120236  
120237  // AsParquetSource is the BasicCopySource implementation for MariaDBSource.
120238  func (mds MariaDBSource) AsParquetSource() (*ParquetSource, bool) {
120239  	return nil, false
120240  }
120241  
120242  // AsAvroSource is the BasicCopySource implementation for MariaDBSource.
120243  func (mds MariaDBSource) AsAvroSource() (*AvroSource, bool) {
120244  	return nil, false
120245  }
120246  
120247  // AsCopySource is the BasicCopySource implementation for MariaDBSource.
120248  func (mds MariaDBSource) AsCopySource() (*CopySource, bool) {
120249  	return nil, false
120250  }
120251  
120252  // AsBasicCopySource is the BasicCopySource implementation for MariaDBSource.
120253  func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) {
120254  	return &mds, true
120255  }
120256  
120257  // UnmarshalJSON is the custom unmarshaler for MariaDBSource struct.
120258  func (mds *MariaDBSource) UnmarshalJSON(body []byte) error {
120259  	var m map[string]*json.RawMessage
120260  	err := json.Unmarshal(body, &m)
120261  	if err != nil {
120262  		return err
120263  	}
120264  	for k, v := range m {
120265  		switch k {
120266  		case "query":
120267  			if v != nil {
120268  				var query interface{}
120269  				err = json.Unmarshal(*v, &query)
120270  				if err != nil {
120271  					return err
120272  				}
120273  				mds.Query = query
120274  			}
120275  		case "queryTimeout":
120276  			if v != nil {
120277  				var queryTimeout interface{}
120278  				err = json.Unmarshal(*v, &queryTimeout)
120279  				if err != nil {
120280  					return err
120281  				}
120282  				mds.QueryTimeout = queryTimeout
120283  			}
120284  		default:
120285  			if v != nil {
120286  				var additionalProperties interface{}
120287  				err = json.Unmarshal(*v, &additionalProperties)
120288  				if err != nil {
120289  					return err
120290  				}
120291  				if mds.AdditionalProperties == nil {
120292  					mds.AdditionalProperties = make(map[string]interface{})
120293  				}
120294  				mds.AdditionalProperties[k] = additionalProperties
120295  			}
120296  		case "sourceRetryCount":
120297  			if v != nil {
120298  				var sourceRetryCount interface{}
120299  				err = json.Unmarshal(*v, &sourceRetryCount)
120300  				if err != nil {
120301  					return err
120302  				}
120303  				mds.SourceRetryCount = sourceRetryCount
120304  			}
120305  		case "sourceRetryWait":
120306  			if v != nil {
120307  				var sourceRetryWait interface{}
120308  				err = json.Unmarshal(*v, &sourceRetryWait)
120309  				if err != nil {
120310  					return err
120311  				}
120312  				mds.SourceRetryWait = sourceRetryWait
120313  			}
120314  		case "maxConcurrentConnections":
120315  			if v != nil {
120316  				var maxConcurrentConnections interface{}
120317  				err = json.Unmarshal(*v, &maxConcurrentConnections)
120318  				if err != nil {
120319  					return err
120320  				}
120321  				mds.MaxConcurrentConnections = maxConcurrentConnections
120322  			}
120323  		case "type":
120324  			if v != nil {
120325  				var typeVar TypeBasicCopySource
120326  				err = json.Unmarshal(*v, &typeVar)
120327  				if err != nil {
120328  					return err
120329  				}
120330  				mds.Type = typeVar
120331  			}
120332  		}
120333  	}
120334  
120335  	return nil
120336  }
120337  
120338  // MariaDBTableDataset mariaDB server dataset.
120339  type MariaDBTableDataset struct {
120340  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
120341  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
120342  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
120343  	AdditionalProperties map[string]interface{} `json:""`
120344  	// Description - Dataset description.
120345  	Description *string `json:"description,omitempty"`
120346  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
120347  	Structure interface{} `json:"structure,omitempty"`
120348  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
120349  	Schema interface{} `json:"schema,omitempty"`
120350  	// LinkedServiceName - Linked service reference.
120351  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
120352  	// Parameters - Parameters for dataset.
120353  	Parameters map[string]*ParameterSpecification `json:"parameters"`
120354  	// Annotations - List of tags that can be used for describing the Dataset.
120355  	Annotations *[]interface{} `json:"annotations,omitempty"`
120356  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
120357  	Folder *DatasetFolder `json:"folder,omitempty"`
120358  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
120359  	Type TypeBasicDataset `json:"type,omitempty"`
120360  }
120361  
120362  // MarshalJSON is the custom marshaler for MariaDBTableDataset.
120363  func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) {
120364  	mdtd.Type = TypeMariaDBTable
120365  	objectMap := make(map[string]interface{})
120366  	if mdtd.GenericDatasetTypeProperties != nil {
120367  		objectMap["typeProperties"] = mdtd.GenericDatasetTypeProperties
120368  	}
120369  	if mdtd.Description != nil {
120370  		objectMap["description"] = mdtd.Description
120371  	}
120372  	if mdtd.Structure != nil {
120373  		objectMap["structure"] = mdtd.Structure
120374  	}
120375  	if mdtd.Schema != nil {
120376  		objectMap["schema"] = mdtd.Schema
120377  	}
120378  	if mdtd.LinkedServiceName != nil {
120379  		objectMap["linkedServiceName"] = mdtd.LinkedServiceName
120380  	}
120381  	if mdtd.Parameters != nil {
120382  		objectMap["parameters"] = mdtd.Parameters
120383  	}
120384  	if mdtd.Annotations != nil {
120385  		objectMap["annotations"] = mdtd.Annotations
120386  	}
120387  	if mdtd.Folder != nil {
120388  		objectMap["folder"] = mdtd.Folder
120389  	}
120390  	if mdtd.Type != "" {
120391  		objectMap["type"] = mdtd.Type
120392  	}
120393  	for k, v := range mdtd.AdditionalProperties {
120394  		objectMap[k] = v
120395  	}
120396  	return json.Marshal(objectMap)
120397  }
120398  
120399  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120400  func (mdtd MariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
120401  	return nil, false
120402  }
120403  
120404  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120405  func (mdtd MariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
120406  	return nil, false
120407  }
120408  
120409  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120410  func (mdtd MariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
120411  	return nil, false
120412  }
120413  
120414  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120415  func (mdtd MariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
120416  	return nil, false
120417  }
120418  
120419  // AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120420  func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
120421  	return nil, false
120422  }
120423  
120424  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120425  func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
120426  	return nil, false
120427  }
120428  
120429  // AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120430  func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
120431  	return nil, false
120432  }
120433  
120434  // AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120435  func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
120436  	return nil, false
120437  }
120438  
120439  // AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120440  func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
120441  	return nil, false
120442  }
120443  
120444  // AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120445  func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
120446  	return nil, false
120447  }
120448  
120449  // AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120450  func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
120451  	return nil, false
120452  }
120453  
120454  // AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120455  func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
120456  	return nil, false
120457  }
120458  
120459  // AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120460  func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
120461  	return nil, false
120462  }
120463  
120464  // AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120465  func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
120466  	return nil, false
120467  }
120468  
120469  // AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120470  func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
120471  	return nil, false
120472  }
120473  
120474  // AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120475  func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
120476  	return nil, false
120477  }
120478  
120479  // AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120480  func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
120481  	return nil, false
120482  }
120483  
120484  // AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120485  func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
120486  	return nil, false
120487  }
120488  
120489  // AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120490  func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
120491  	return nil, false
120492  }
120493  
120494  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120495  func (mdtd MariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
120496  	return nil, false
120497  }
120498  
120499  // AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120500  func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
120501  	return &mdtd, true
120502  }
120503  
120504  // AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120505  func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
120506  	return nil, false
120507  }
120508  
120509  // AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120510  func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
120511  	return nil, false
120512  }
120513  
120514  // AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120515  func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
120516  	return nil, false
120517  }
120518  
120519  // AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120520  func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
120521  	return nil, false
120522  }
120523  
120524  // AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120525  func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
120526  	return nil, false
120527  }
120528  
120529  // AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120530  func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
120531  	return nil, false
120532  }
120533  
120534  // AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120535  func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
120536  	return nil, false
120537  }
120538  
120539  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120540  func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
120541  	return nil, false
120542  }
120543  
120544  // AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120545  func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
120546  	return nil, false
120547  }
120548  
120549  // AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120550  func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
120551  	return nil, false
120552  }
120553  
120554  // AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120555  func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
120556  	return nil, false
120557  }
120558  
120559  // AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120560  func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
120561  	return nil, false
120562  }
120563  
120564  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120565  func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
120566  	return nil, false
120567  }
120568  
120569  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120570  func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
120571  	return nil, false
120572  }
120573  
120574  // AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset.
120575  func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
120576  	return nil, false
120577  }
120578  
120579  // AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120580  func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
120581  	return nil, false
120582  }
120583  
120584  // AsSapTableResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120585  func (mdtd MariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
120586  	return nil, false
120587  }
120588  
120589  // AsRestResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120590  func (mdtd MariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
120591  	return nil, false
120592  }
120593  
120594  // AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120595  func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
120596  	return nil, false
120597  }
120598  
120599  // AsSapOpenHubTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120600  func (mdtd MariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
120601  	return nil, false
120602  }
120603  
120604  // AsSapHanaTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120605  func (mdtd MariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
120606  	return nil, false
120607  }
120608  
120609  // AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120610  func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
120611  	return nil, false
120612  }
120613  
120614  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120615  func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
120616  	return nil, false
120617  }
120618  
120619  // AsSapBwCubeDataset is the BasicDataset implementation for MariaDBTableDataset.
120620  func (mdtd MariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
120621  	return nil, false
120622  }
120623  
120624  // AsSybaseTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120625  func (mdtd MariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
120626  	return nil, false
120627  }
120628  
120629  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120630  func (mdtd MariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
120631  	return nil, false
120632  }
120633  
120634  // AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset.
120635  func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
120636  	return nil, false
120637  }
120638  
120639  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120640  func (mdtd MariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
120641  	return nil, false
120642  }
120643  
120644  // AsPostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120645  func (mdtd MariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
120646  	return nil, false
120647  }
120648  
120649  // AsMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120650  func (mdtd MariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
120651  	return nil, false
120652  }
120653  
120654  // AsOdbcTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120655  func (mdtd MariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
120656  	return nil, false
120657  }
120658  
120659  // AsInformixTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120660  func (mdtd MariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
120661  	return nil, false
120662  }
120663  
120664  // AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120665  func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
120666  	return nil, false
120667  }
120668  
120669  // AsDb2TableDataset is the BasicDataset implementation for MariaDBTableDataset.
120670  func (mdtd MariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
120671  	return nil, false
120672  }
120673  
120674  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120675  func (mdtd MariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
120676  	return nil, false
120677  }
120678  
120679  // AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120680  func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
120681  	return nil, false
120682  }
120683  
120684  // AsTeradataTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120685  func (mdtd MariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
120686  	return nil, false
120687  }
120688  
120689  // AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120690  func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
120691  	return nil, false
120692  }
120693  
120694  // AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset.
120695  func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
120696  	return nil, false
120697  }
120698  
120699  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
120700  func (mdtd MariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
120701  	return nil, false
120702  }
120703  
120704  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
120705  func (mdtd MariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
120706  	return nil, false
120707  }
120708  
120709  // AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
120710  func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
120711  	return nil, false
120712  }
120713  
120714  // AsOffice365Dataset is the BasicDataset implementation for MariaDBTableDataset.
120715  func (mdtd MariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
120716  	return nil, false
120717  }
120718  
120719  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
120720  func (mdtd MariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
120721  	return nil, false
120722  }
120723  
120724  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
120725  func (mdtd MariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
120726  	return nil, false
120727  }
120728  
120729  // AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset.
120730  func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
120731  	return nil, false
120732  }
120733  
120734  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
120735  func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
120736  	return nil, false
120737  }
120738  
120739  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset.
120740  func (mdtd MariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
120741  	return nil, false
120742  }
120743  
120744  // AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset.
120745  func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) {
120746  	return nil, false
120747  }
120748  
120749  // AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120750  func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
120751  	return nil, false
120752  }
120753  
120754  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120755  func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
120756  	return nil, false
120757  }
120758  
120759  // AsAzureSQLMITableDataset is the BasicDataset implementation for MariaDBTableDataset.
120760  func (mdtd MariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
120761  	return nil, false
120762  }
120763  
120764  // AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120765  func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
120766  	return nil, false
120767  }
120768  
120769  // AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset.
120770  func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
120771  	return nil, false
120772  }
120773  
120774  // AsBinaryDataset is the BasicDataset implementation for MariaDBTableDataset.
120775  func (mdtd MariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
120776  	return nil, false
120777  }
120778  
120779  // AsOrcDataset is the BasicDataset implementation for MariaDBTableDataset.
120780  func (mdtd MariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) {
120781  	return nil, false
120782  }
120783  
120784  // AsJSONDataset is the BasicDataset implementation for MariaDBTableDataset.
120785  func (mdtd MariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) {
120786  	return nil, false
120787  }
120788  
120789  // AsDelimitedTextDataset is the BasicDataset implementation for MariaDBTableDataset.
120790  func (mdtd MariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
120791  	return nil, false
120792  }
120793  
120794  // AsParquetDataset is the BasicDataset implementation for MariaDBTableDataset.
120795  func (mdtd MariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
120796  	return nil, false
120797  }
120798  
120799  // AsAvroDataset is the BasicDataset implementation for MariaDBTableDataset.
120800  func (mdtd MariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) {
120801  	return nil, false
120802  }
120803  
120804  // AsDataset is the BasicDataset implementation for MariaDBTableDataset.
120805  func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) {
120806  	return nil, false
120807  }
120808  
120809  // AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset.
120810  func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) {
120811  	return &mdtd, true
120812  }
120813  
120814  // UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct.
120815  func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error {
120816  	var m map[string]*json.RawMessage
120817  	err := json.Unmarshal(body, &m)
120818  	if err != nil {
120819  		return err
120820  	}
120821  	for k, v := range m {
120822  		switch k {
120823  		case "typeProperties":
120824  			if v != nil {
120825  				var genericDatasetTypeProperties GenericDatasetTypeProperties
120826  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
120827  				if err != nil {
120828  					return err
120829  				}
120830  				mdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties
120831  			}
120832  		default:
120833  			if v != nil {
120834  				var additionalProperties interface{}
120835  				err = json.Unmarshal(*v, &additionalProperties)
120836  				if err != nil {
120837  					return err
120838  				}
120839  				if mdtd.AdditionalProperties == nil {
120840  					mdtd.AdditionalProperties = make(map[string]interface{})
120841  				}
120842  				mdtd.AdditionalProperties[k] = additionalProperties
120843  			}
120844  		case "description":
120845  			if v != nil {
120846  				var description string
120847  				err = json.Unmarshal(*v, &description)
120848  				if err != nil {
120849  					return err
120850  				}
120851  				mdtd.Description = &description
120852  			}
120853  		case "structure":
120854  			if v != nil {
120855  				var structure interface{}
120856  				err = json.Unmarshal(*v, &structure)
120857  				if err != nil {
120858  					return err
120859  				}
120860  				mdtd.Structure = structure
120861  			}
120862  		case "schema":
120863  			if v != nil {
120864  				var schema interface{}
120865  				err = json.Unmarshal(*v, &schema)
120866  				if err != nil {
120867  					return err
120868  				}
120869  				mdtd.Schema = schema
120870  			}
120871  		case "linkedServiceName":
120872  			if v != nil {
120873  				var linkedServiceName LinkedServiceReference
120874  				err = json.Unmarshal(*v, &linkedServiceName)
120875  				if err != nil {
120876  					return err
120877  				}
120878  				mdtd.LinkedServiceName = &linkedServiceName
120879  			}
120880  		case "parameters":
120881  			if v != nil {
120882  				var parameters map[string]*ParameterSpecification
120883  				err = json.Unmarshal(*v, &parameters)
120884  				if err != nil {
120885  					return err
120886  				}
120887  				mdtd.Parameters = parameters
120888  			}
120889  		case "annotations":
120890  			if v != nil {
120891  				var annotations []interface{}
120892  				err = json.Unmarshal(*v, &annotations)
120893  				if err != nil {
120894  					return err
120895  				}
120896  				mdtd.Annotations = &annotations
120897  			}
120898  		case "folder":
120899  			if v != nil {
120900  				var folder DatasetFolder
120901  				err = json.Unmarshal(*v, &folder)
120902  				if err != nil {
120903  					return err
120904  				}
120905  				mdtd.Folder = &folder
120906  			}
120907  		case "type":
120908  			if v != nil {
120909  				var typeVar TypeBasicDataset
120910  				err = json.Unmarshal(*v, &typeVar)
120911  				if err != nil {
120912  					return err
120913  				}
120914  				mdtd.Type = typeVar
120915  			}
120916  		}
120917  	}
120918  
120919  	return nil
120920  }
120921  
120922  // MarketoLinkedService marketo server linked service.
120923  type MarketoLinkedService struct {
120924  	// MarketoLinkedServiceTypeProperties - Marketo server linked service properties.
120925  	*MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
120926  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
120927  	AdditionalProperties map[string]interface{} `json:""`
120928  	// ConnectVia - The integration runtime reference.
120929  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
120930  	// Description - Linked service description.
120931  	Description *string `json:"description,omitempty"`
120932  	// Parameters - Parameters for linked service.
120933  	Parameters map[string]*ParameterSpecification `json:"parameters"`
120934  	// Annotations - List of tags that can be used for describing the linked service.
120935  	Annotations *[]interface{} `json:"annotations,omitempty"`
120936  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
120937  	Type TypeBasicLinkedService `json:"type,omitempty"`
120938  }
120939  
120940  // MarshalJSON is the custom marshaler for MarketoLinkedService.
120941  func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) {
120942  	mls.Type = TypeMarketo
120943  	objectMap := make(map[string]interface{})
120944  	if mls.MarketoLinkedServiceTypeProperties != nil {
120945  		objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties
120946  	}
120947  	if mls.ConnectVia != nil {
120948  		objectMap["connectVia"] = mls.ConnectVia
120949  	}
120950  	if mls.Description != nil {
120951  		objectMap["description"] = mls.Description
120952  	}
120953  	if mls.Parameters != nil {
120954  		objectMap["parameters"] = mls.Parameters
120955  	}
120956  	if mls.Annotations != nil {
120957  		objectMap["annotations"] = mls.Annotations
120958  	}
120959  	if mls.Type != "" {
120960  		objectMap["type"] = mls.Type
120961  	}
120962  	for k, v := range mls.AdditionalProperties {
120963  		objectMap[k] = v
120964  	}
120965  	return json.Marshal(objectMap)
120966  }
120967  
120968  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120969  func (mls MarketoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
120970  	return nil, false
120971  }
120972  
120973  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120974  func (mls MarketoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
120975  	return nil, false
120976  }
120977  
120978  // AsSapTableLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120979  func (mls MarketoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
120980  	return nil, false
120981  }
120982  
120983  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120984  func (mls MarketoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
120985  	return nil, false
120986  }
120987  
120988  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120989  func (mls MarketoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
120990  	return nil, false
120991  }
120992  
120993  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120994  func (mls MarketoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
120995  	return nil, false
120996  }
120997  
120998  // AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
120999  func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
121000  	return nil, false
121001  }
121002  
121003  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121004  func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
121005  	return nil, false
121006  }
121007  
121008  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121009  func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
121010  	return nil, false
121011  }
121012  
121013  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121014  func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
121015  	return nil, false
121016  }
121017  
121018  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121019  func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
121020  	return nil, false
121021  }
121022  
121023  // AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121024  func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
121025  	return nil, false
121026  }
121027  
121028  // AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121029  func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
121030  	return nil, false
121031  }
121032  
121033  // AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121034  func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
121035  	return nil, false
121036  }
121037  
121038  // AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121039  func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
121040  	return nil, false
121041  }
121042  
121043  // AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121044  func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
121045  	return nil, false
121046  }
121047  
121048  // AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121049  func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
121050  	return nil, false
121051  }
121052  
121053  // AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121054  func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
121055  	return nil, false
121056  }
121057  
121058  // AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121059  func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
121060  	return nil, false
121061  }
121062  
121063  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121064  func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
121065  	return nil, false
121066  }
121067  
121068  // AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121069  func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
121070  	return nil, false
121071  }
121072  
121073  // AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121074  func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
121075  	return nil, false
121076  }
121077  
121078  // AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121079  func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
121080  	return nil, false
121081  }
121082  
121083  // AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121084  func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
121085  	return &mls, true
121086  }
121087  
121088  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121089  func (mls MarketoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
121090  	return nil, false
121091  }
121092  
121093  // AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121094  func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
121095  	return nil, false
121096  }
121097  
121098  // AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121099  func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
121100  	return nil, false
121101  }
121102  
121103  // AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121104  func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
121105  	return nil, false
121106  }
121107  
121108  // AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121109  func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
121110  	return nil, false
121111  }
121112  
121113  // AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121114  func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
121115  	return nil, false
121116  }
121117  
121118  // AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121119  func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
121120  	return nil, false
121121  }
121122  
121123  // AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121124  func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
121125  	return nil, false
121126  }
121127  
121128  // AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121129  func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
121130  	return nil, false
121131  }
121132  
121133  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121134  func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
121135  	return nil, false
121136  }
121137  
121138  // AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121139  func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
121140  	return nil, false
121141  }
121142  
121143  // AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121144  func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
121145  	return nil, false
121146  }
121147  
121148  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121149  func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
121150  	return nil, false
121151  }
121152  
121153  // AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121154  func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
121155  	return nil, false
121156  }
121157  
121158  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121159  func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
121160  	return nil, false
121161  }
121162  
121163  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121164  func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
121165  	return nil, false
121166  }
121167  
121168  // AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121169  func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
121170  	return nil, false
121171  }
121172  
121173  // AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121174  func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
121175  	return nil, false
121176  }
121177  
121178  // AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121179  func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
121180  	return nil, false
121181  }
121182  
121183  // AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121184  func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
121185  	return nil, false
121186  }
121187  
121188  // AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121189  func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
121190  	return nil, false
121191  }
121192  
121193  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121194  func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
121195  	return nil, false
121196  }
121197  
121198  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121199  func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
121200  	return nil, false
121201  }
121202  
121203  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121204  func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
121205  	return nil, false
121206  }
121207  
121208  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121209  func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
121210  	return nil, false
121211  }
121212  
121213  // AsRestServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121214  func (mls MarketoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
121215  	return nil, false
121216  }
121217  
121218  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121219  func (mls MarketoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
121220  	return nil, false
121221  }
121222  
121223  // AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121224  func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
121225  	return nil, false
121226  }
121227  
121228  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121229  func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
121230  	return nil, false
121231  }
121232  
121233  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121234  func (mls MarketoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
121235  	return nil, false
121236  }
121237  
121238  // AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121239  func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
121240  	return nil, false
121241  }
121242  
121243  // AsOffice365LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121244  func (mls MarketoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
121245  	return nil, false
121246  }
121247  
121248  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121249  func (mls MarketoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
121250  	return nil, false
121251  }
121252  
121253  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121254  func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
121255  	return nil, false
121256  }
121257  
121258  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121259  func (mls MarketoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
121260  	return nil, false
121261  }
121262  
121263  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121264  func (mls MarketoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
121265  	return nil, false
121266  }
121267  
121268  // AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121269  func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
121270  	return nil, false
121271  }
121272  
121273  // AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121274  func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
121275  	return nil, false
121276  }
121277  
121278  // AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121279  func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
121280  	return nil, false
121281  }
121282  
121283  // AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121284  func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
121285  	return nil, false
121286  }
121287  
121288  // AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121289  func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
121290  	return nil, false
121291  }
121292  
121293  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121294  func (mls MarketoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
121295  	return nil, false
121296  }
121297  
121298  // AsInformixLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121299  func (mls MarketoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
121300  	return nil, false
121301  }
121302  
121303  // AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121304  func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
121305  	return nil, false
121306  }
121307  
121308  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121309  func (mls MarketoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
121310  	return nil, false
121311  }
121312  
121313  // AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121314  func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
121315  	return nil, false
121316  }
121317  
121318  // AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121319  func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
121320  	return nil, false
121321  }
121322  
121323  // AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121324  func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
121325  	return nil, false
121326  }
121327  
121328  // AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121329  func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
121330  	return nil, false
121331  }
121332  
121333  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121334  func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
121335  	return nil, false
121336  }
121337  
121338  // AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121339  func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
121340  	return nil, false
121341  }
121342  
121343  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121344  func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
121345  	return nil, false
121346  }
121347  
121348  // AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121349  func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
121350  	return nil, false
121351  }
121352  
121353  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121354  func (mls MarketoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
121355  	return nil, false
121356  }
121357  
121358  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121359  func (mls MarketoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
121360  	return nil, false
121361  }
121362  
121363  // AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121364  func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
121365  	return nil, false
121366  }
121367  
121368  // AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121369  func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
121370  	return nil, false
121371  }
121372  
121373  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121374  func (mls MarketoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
121375  	return nil, false
121376  }
121377  
121378  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121379  func (mls MarketoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
121380  	return nil, false
121381  }
121382  
121383  // AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121384  func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
121385  	return nil, false
121386  }
121387  
121388  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121389  func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
121390  	return nil, false
121391  }
121392  
121393  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121394  func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
121395  	return nil, false
121396  }
121397  
121398  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121399  func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
121400  	return nil, false
121401  }
121402  
121403  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121404  func (mls MarketoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
121405  	return nil, false
121406  }
121407  
121408  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121409  func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
121410  	return nil, false
121411  }
121412  
121413  // AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121414  func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
121415  	return nil, false
121416  }
121417  
121418  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121419  func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
121420  	return nil, false
121421  }
121422  
121423  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121424  func (mls MarketoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
121425  	return nil, false
121426  }
121427  
121428  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121429  func (mls MarketoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
121430  	return nil, false
121431  }
121432  
121433  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121434  func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
121435  	return nil, false
121436  }
121437  
121438  // AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121439  func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) {
121440  	return nil, false
121441  }
121442  
121443  // AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService.
121444  func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
121445  	return &mls, true
121446  }
121447  
121448  // UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct.
121449  func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error {
121450  	var m map[string]*json.RawMessage
121451  	err := json.Unmarshal(body, &m)
121452  	if err != nil {
121453  		return err
121454  	}
121455  	for k, v := range m {
121456  		switch k {
121457  		case "typeProperties":
121458  			if v != nil {
121459  				var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties
121460  				err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties)
121461  				if err != nil {
121462  					return err
121463  				}
121464  				mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties
121465  			}
121466  		default:
121467  			if v != nil {
121468  				var additionalProperties interface{}
121469  				err = json.Unmarshal(*v, &additionalProperties)
121470  				if err != nil {
121471  					return err
121472  				}
121473  				if mls.AdditionalProperties == nil {
121474  					mls.AdditionalProperties = make(map[string]interface{})
121475  				}
121476  				mls.AdditionalProperties[k] = additionalProperties
121477  			}
121478  		case "connectVia":
121479  			if v != nil {
121480  				var connectVia IntegrationRuntimeReference
121481  				err = json.Unmarshal(*v, &connectVia)
121482  				if err != nil {
121483  					return err
121484  				}
121485  				mls.ConnectVia = &connectVia
121486  			}
121487  		case "description":
121488  			if v != nil {
121489  				var description string
121490  				err = json.Unmarshal(*v, &description)
121491  				if err != nil {
121492  					return err
121493  				}
121494  				mls.Description = &description
121495  			}
121496  		case "parameters":
121497  			if v != nil {
121498  				var parameters map[string]*ParameterSpecification
121499  				err = json.Unmarshal(*v, &parameters)
121500  				if err != nil {
121501  					return err
121502  				}
121503  				mls.Parameters = parameters
121504  			}
121505  		case "annotations":
121506  			if v != nil {
121507  				var annotations []interface{}
121508  				err = json.Unmarshal(*v, &annotations)
121509  				if err != nil {
121510  					return err
121511  				}
121512  				mls.Annotations = &annotations
121513  			}
121514  		case "type":
121515  			if v != nil {
121516  				var typeVar TypeBasicLinkedService
121517  				err = json.Unmarshal(*v, &typeVar)
121518  				if err != nil {
121519  					return err
121520  				}
121521  				mls.Type = typeVar
121522  			}
121523  		}
121524  	}
121525  
121526  	return nil
121527  }
121528  
121529  // MarketoLinkedServiceTypeProperties marketo server linked service properties.
121530  type MarketoLinkedServiceTypeProperties struct {
121531  	// Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com)
121532  	Endpoint interface{} `json:"endpoint,omitempty"`
121533  	// ClientID - The client Id of your Marketo service.
121534  	ClientID interface{} `json:"clientId,omitempty"`
121535  	// ClientSecret - The client secret of your Marketo service.
121536  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
121537  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
121538  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
121539  	// 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.
121540  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
121541  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
121542  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
121543  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
121544  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
121545  }
121546  
121547  // UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct.
121548  func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
121549  	var m map[string]*json.RawMessage
121550  	err := json.Unmarshal(body, &m)
121551  	if err != nil {
121552  		return err
121553  	}
121554  	for k, v := range m {
121555  		switch k {
121556  		case "endpoint":
121557  			if v != nil {
121558  				var endpoint interface{}
121559  				err = json.Unmarshal(*v, &endpoint)
121560  				if err != nil {
121561  					return err
121562  				}
121563  				mlstp.Endpoint = endpoint
121564  			}
121565  		case "clientId":
121566  			if v != nil {
121567  				var clientID interface{}
121568  				err = json.Unmarshal(*v, &clientID)
121569  				if err != nil {
121570  					return err
121571  				}
121572  				mlstp.ClientID = clientID
121573  			}
121574  		case "clientSecret":
121575  			if v != nil {
121576  				clientSecret, err := unmarshalBasicSecretBase(*v)
121577  				if err != nil {
121578  					return err
121579  				}
121580  				mlstp.ClientSecret = clientSecret
121581  			}
121582  		case "useEncryptedEndpoints":
121583  			if v != nil {
121584  				var useEncryptedEndpoints interface{}
121585  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
121586  				if err != nil {
121587  					return err
121588  				}
121589  				mlstp.UseEncryptedEndpoints = useEncryptedEndpoints
121590  			}
121591  		case "useHostVerification":
121592  			if v != nil {
121593  				var useHostVerification interface{}
121594  				err = json.Unmarshal(*v, &useHostVerification)
121595  				if err != nil {
121596  					return err
121597  				}
121598  				mlstp.UseHostVerification = useHostVerification
121599  			}
121600  		case "usePeerVerification":
121601  			if v != nil {
121602  				var usePeerVerification interface{}
121603  				err = json.Unmarshal(*v, &usePeerVerification)
121604  				if err != nil {
121605  					return err
121606  				}
121607  				mlstp.UsePeerVerification = usePeerVerification
121608  			}
121609  		case "encryptedCredential":
121610  			if v != nil {
121611  				var encryptedCredential interface{}
121612  				err = json.Unmarshal(*v, &encryptedCredential)
121613  				if err != nil {
121614  					return err
121615  				}
121616  				mlstp.EncryptedCredential = encryptedCredential
121617  			}
121618  		}
121619  	}
121620  
121621  	return nil
121622  }
121623  
121624  // MarketoObjectDataset marketo server dataset.
121625  type MarketoObjectDataset struct {
121626  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
121627  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
121628  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
121629  	AdditionalProperties map[string]interface{} `json:""`
121630  	// Description - Dataset description.
121631  	Description *string `json:"description,omitempty"`
121632  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
121633  	Structure interface{} `json:"structure,omitempty"`
121634  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
121635  	Schema interface{} `json:"schema,omitempty"`
121636  	// LinkedServiceName - Linked service reference.
121637  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
121638  	// Parameters - Parameters for dataset.
121639  	Parameters map[string]*ParameterSpecification `json:"parameters"`
121640  	// Annotations - List of tags that can be used for describing the Dataset.
121641  	Annotations *[]interface{} `json:"annotations,omitempty"`
121642  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
121643  	Folder *DatasetFolder `json:"folder,omitempty"`
121644  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
121645  	Type TypeBasicDataset `json:"type,omitempty"`
121646  }
121647  
121648  // MarshalJSON is the custom marshaler for MarketoObjectDataset.
121649  func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) {
121650  	mod.Type = TypeMarketoObject
121651  	objectMap := make(map[string]interface{})
121652  	if mod.GenericDatasetTypeProperties != nil {
121653  		objectMap["typeProperties"] = mod.GenericDatasetTypeProperties
121654  	}
121655  	if mod.Description != nil {
121656  		objectMap["description"] = mod.Description
121657  	}
121658  	if mod.Structure != nil {
121659  		objectMap["structure"] = mod.Structure
121660  	}
121661  	if mod.Schema != nil {
121662  		objectMap["schema"] = mod.Schema
121663  	}
121664  	if mod.LinkedServiceName != nil {
121665  		objectMap["linkedServiceName"] = mod.LinkedServiceName
121666  	}
121667  	if mod.Parameters != nil {
121668  		objectMap["parameters"] = mod.Parameters
121669  	}
121670  	if mod.Annotations != nil {
121671  		objectMap["annotations"] = mod.Annotations
121672  	}
121673  	if mod.Folder != nil {
121674  		objectMap["folder"] = mod.Folder
121675  	}
121676  	if mod.Type != "" {
121677  		objectMap["type"] = mod.Type
121678  	}
121679  	for k, v := range mod.AdditionalProperties {
121680  		objectMap[k] = v
121681  	}
121682  	return json.Marshal(objectMap)
121683  }
121684  
121685  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121686  func (mod MarketoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
121687  	return nil, false
121688  }
121689  
121690  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121691  func (mod MarketoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
121692  	return nil, false
121693  }
121694  
121695  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121696  func (mod MarketoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
121697  	return nil, false
121698  }
121699  
121700  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121701  func (mod MarketoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
121702  	return nil, false
121703  }
121704  
121705  // AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121706  func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
121707  	return nil, false
121708  }
121709  
121710  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121711  func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
121712  	return nil, false
121713  }
121714  
121715  // AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121716  func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
121717  	return nil, false
121718  }
121719  
121720  // AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121721  func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
121722  	return nil, false
121723  }
121724  
121725  // AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121726  func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
121727  	return nil, false
121728  }
121729  
121730  // AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121731  func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
121732  	return nil, false
121733  }
121734  
121735  // AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121736  func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
121737  	return nil, false
121738  }
121739  
121740  // AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121741  func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
121742  	return nil, false
121743  }
121744  
121745  // AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121746  func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
121747  	return nil, false
121748  }
121749  
121750  // AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121751  func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
121752  	return nil, false
121753  }
121754  
121755  // AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121756  func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
121757  	return nil, false
121758  }
121759  
121760  // AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121761  func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
121762  	return nil, false
121763  }
121764  
121765  // AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121766  func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
121767  	return nil, false
121768  }
121769  
121770  // AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121771  func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
121772  	return nil, false
121773  }
121774  
121775  // AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121776  func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
121777  	return &mod, true
121778  }
121779  
121780  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121781  func (mod MarketoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
121782  	return nil, false
121783  }
121784  
121785  // AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121786  func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
121787  	return nil, false
121788  }
121789  
121790  // AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121791  func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
121792  	return nil, false
121793  }
121794  
121795  // AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121796  func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
121797  	return nil, false
121798  }
121799  
121800  // AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121801  func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
121802  	return nil, false
121803  }
121804  
121805  // AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121806  func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
121807  	return nil, false
121808  }
121809  
121810  // AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121811  func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
121812  	return nil, false
121813  }
121814  
121815  // AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121816  func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
121817  	return nil, false
121818  }
121819  
121820  // AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121821  func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
121822  	return nil, false
121823  }
121824  
121825  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121826  func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
121827  	return nil, false
121828  }
121829  
121830  // AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121831  func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
121832  	return nil, false
121833  }
121834  
121835  // AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121836  func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
121837  	return nil, false
121838  }
121839  
121840  // AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121841  func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
121842  	return nil, false
121843  }
121844  
121845  // AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121846  func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
121847  	return nil, false
121848  }
121849  
121850  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121851  func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
121852  	return nil, false
121853  }
121854  
121855  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121856  func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
121857  	return nil, false
121858  }
121859  
121860  // AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset.
121861  func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
121862  	return nil, false
121863  }
121864  
121865  // AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121866  func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
121867  	return nil, false
121868  }
121869  
121870  // AsSapTableResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121871  func (mod MarketoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
121872  	return nil, false
121873  }
121874  
121875  // AsRestResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121876  func (mod MarketoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
121877  	return nil, false
121878  }
121879  
121880  // AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121881  func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
121882  	return nil, false
121883  }
121884  
121885  // AsSapOpenHubTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121886  func (mod MarketoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
121887  	return nil, false
121888  }
121889  
121890  // AsSapHanaTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121891  func (mod MarketoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
121892  	return nil, false
121893  }
121894  
121895  // AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121896  func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
121897  	return nil, false
121898  }
121899  
121900  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121901  func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
121902  	return nil, false
121903  }
121904  
121905  // AsSapBwCubeDataset is the BasicDataset implementation for MarketoObjectDataset.
121906  func (mod MarketoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
121907  	return nil, false
121908  }
121909  
121910  // AsSybaseTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121911  func (mod MarketoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
121912  	return nil, false
121913  }
121914  
121915  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121916  func (mod MarketoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
121917  	return nil, false
121918  }
121919  
121920  // AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset.
121921  func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
121922  	return nil, false
121923  }
121924  
121925  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121926  func (mod MarketoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
121927  	return nil, false
121928  }
121929  
121930  // AsPostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121931  func (mod MarketoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
121932  	return nil, false
121933  }
121934  
121935  // AsMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121936  func (mod MarketoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
121937  	return nil, false
121938  }
121939  
121940  // AsOdbcTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121941  func (mod MarketoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
121942  	return nil, false
121943  }
121944  
121945  // AsInformixTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121946  func (mod MarketoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
121947  	return nil, false
121948  }
121949  
121950  // AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121951  func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
121952  	return nil, false
121953  }
121954  
121955  // AsDb2TableDataset is the BasicDataset implementation for MarketoObjectDataset.
121956  func (mod MarketoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
121957  	return nil, false
121958  }
121959  
121960  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121961  func (mod MarketoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
121962  	return nil, false
121963  }
121964  
121965  // AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121966  func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
121967  	return nil, false
121968  }
121969  
121970  // AsTeradataTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121971  func (mod MarketoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
121972  	return nil, false
121973  }
121974  
121975  // AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset.
121976  func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
121977  	return nil, false
121978  }
121979  
121980  // AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset.
121981  func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
121982  	return nil, false
121983  }
121984  
121985  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
121986  func (mod MarketoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
121987  	return nil, false
121988  }
121989  
121990  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
121991  func (mod MarketoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
121992  	return nil, false
121993  }
121994  
121995  // AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
121996  func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
121997  	return nil, false
121998  }
121999  
122000  // AsOffice365Dataset is the BasicDataset implementation for MarketoObjectDataset.
122001  func (mod MarketoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
122002  	return nil, false
122003  }
122004  
122005  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
122006  func (mod MarketoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
122007  	return nil, false
122008  }
122009  
122010  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
122011  func (mod MarketoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
122012  	return nil, false
122013  }
122014  
122015  // AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset.
122016  func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
122017  	return nil, false
122018  }
122019  
122020  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
122021  func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
122022  	return nil, false
122023  }
122024  
122025  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset.
122026  func (mod MarketoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
122027  	return nil, false
122028  }
122029  
122030  // AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset.
122031  func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
122032  	return nil, false
122033  }
122034  
122035  // AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset.
122036  func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
122037  	return nil, false
122038  }
122039  
122040  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset.
122041  func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
122042  	return nil, false
122043  }
122044  
122045  // AsAzureSQLMITableDataset is the BasicDataset implementation for MarketoObjectDataset.
122046  func (mod MarketoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
122047  	return nil, false
122048  }
122049  
122050  // AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset.
122051  func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
122052  	return nil, false
122053  }
122054  
122055  // AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset.
122056  func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
122057  	return nil, false
122058  }
122059  
122060  // AsBinaryDataset is the BasicDataset implementation for MarketoObjectDataset.
122061  func (mod MarketoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
122062  	return nil, false
122063  }
122064  
122065  // AsOrcDataset is the BasicDataset implementation for MarketoObjectDataset.
122066  func (mod MarketoObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
122067  	return nil, false
122068  }
122069  
122070  // AsJSONDataset is the BasicDataset implementation for MarketoObjectDataset.
122071  func (mod MarketoObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
122072  	return nil, false
122073  }
122074  
122075  // AsDelimitedTextDataset is the BasicDataset implementation for MarketoObjectDataset.
122076  func (mod MarketoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
122077  	return nil, false
122078  }
122079  
122080  // AsParquetDataset is the BasicDataset implementation for MarketoObjectDataset.
122081  func (mod MarketoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
122082  	return nil, false
122083  }
122084  
122085  // AsAvroDataset is the BasicDataset implementation for MarketoObjectDataset.
122086  func (mod MarketoObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
122087  	return nil, false
122088  }
122089  
122090  // AsDataset is the BasicDataset implementation for MarketoObjectDataset.
122091  func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) {
122092  	return nil, false
122093  }
122094  
122095  // AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset.
122096  func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
122097  	return &mod, true
122098  }
122099  
122100  // UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct.
122101  func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error {
122102  	var m map[string]*json.RawMessage
122103  	err := json.Unmarshal(body, &m)
122104  	if err != nil {
122105  		return err
122106  	}
122107  	for k, v := range m {
122108  		switch k {
122109  		case "typeProperties":
122110  			if v != nil {
122111  				var genericDatasetTypeProperties GenericDatasetTypeProperties
122112  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
122113  				if err != nil {
122114  					return err
122115  				}
122116  				mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
122117  			}
122118  		default:
122119  			if v != nil {
122120  				var additionalProperties interface{}
122121  				err = json.Unmarshal(*v, &additionalProperties)
122122  				if err != nil {
122123  					return err
122124  				}
122125  				if mod.AdditionalProperties == nil {
122126  					mod.AdditionalProperties = make(map[string]interface{})
122127  				}
122128  				mod.AdditionalProperties[k] = additionalProperties
122129  			}
122130  		case "description":
122131  			if v != nil {
122132  				var description string
122133  				err = json.Unmarshal(*v, &description)
122134  				if err != nil {
122135  					return err
122136  				}
122137  				mod.Description = &description
122138  			}
122139  		case "structure":
122140  			if v != nil {
122141  				var structure interface{}
122142  				err = json.Unmarshal(*v, &structure)
122143  				if err != nil {
122144  					return err
122145  				}
122146  				mod.Structure = structure
122147  			}
122148  		case "schema":
122149  			if v != nil {
122150  				var schema interface{}
122151  				err = json.Unmarshal(*v, &schema)
122152  				if err != nil {
122153  					return err
122154  				}
122155  				mod.Schema = schema
122156  			}
122157  		case "linkedServiceName":
122158  			if v != nil {
122159  				var linkedServiceName LinkedServiceReference
122160  				err = json.Unmarshal(*v, &linkedServiceName)
122161  				if err != nil {
122162  					return err
122163  				}
122164  				mod.LinkedServiceName = &linkedServiceName
122165  			}
122166  		case "parameters":
122167  			if v != nil {
122168  				var parameters map[string]*ParameterSpecification
122169  				err = json.Unmarshal(*v, &parameters)
122170  				if err != nil {
122171  					return err
122172  				}
122173  				mod.Parameters = parameters
122174  			}
122175  		case "annotations":
122176  			if v != nil {
122177  				var annotations []interface{}
122178  				err = json.Unmarshal(*v, &annotations)
122179  				if err != nil {
122180  					return err
122181  				}
122182  				mod.Annotations = &annotations
122183  			}
122184  		case "folder":
122185  			if v != nil {
122186  				var folder DatasetFolder
122187  				err = json.Unmarshal(*v, &folder)
122188  				if err != nil {
122189  					return err
122190  				}
122191  				mod.Folder = &folder
122192  			}
122193  		case "type":
122194  			if v != nil {
122195  				var typeVar TypeBasicDataset
122196  				err = json.Unmarshal(*v, &typeVar)
122197  				if err != nil {
122198  					return err
122199  				}
122200  				mod.Type = typeVar
122201  			}
122202  		}
122203  	}
122204  
122205  	return nil
122206  }
122207  
122208  // MarketoSource a copy activity Marketo server source.
122209  type MarketoSource struct {
122210  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
122211  	Query interface{} `json:"query,omitempty"`
122212  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
122213  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
122214  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
122215  	AdditionalProperties map[string]interface{} `json:""`
122216  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
122217  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
122218  	// 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])).
122219  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
122220  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
122221  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
122222  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
122223  	Type TypeBasicCopySource `json:"type,omitempty"`
122224  }
122225  
122226  // MarshalJSON is the custom marshaler for MarketoSource.
122227  func (ms MarketoSource) MarshalJSON() ([]byte, error) {
122228  	ms.Type = TypeMarketoSource
122229  	objectMap := make(map[string]interface{})
122230  	if ms.Query != nil {
122231  		objectMap["query"] = ms.Query
122232  	}
122233  	if ms.QueryTimeout != nil {
122234  		objectMap["queryTimeout"] = ms.QueryTimeout
122235  	}
122236  	if ms.SourceRetryCount != nil {
122237  		objectMap["sourceRetryCount"] = ms.SourceRetryCount
122238  	}
122239  	if ms.SourceRetryWait != nil {
122240  		objectMap["sourceRetryWait"] = ms.SourceRetryWait
122241  	}
122242  	if ms.MaxConcurrentConnections != nil {
122243  		objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections
122244  	}
122245  	if ms.Type != "" {
122246  		objectMap["type"] = ms.Type
122247  	}
122248  	for k, v := range ms.AdditionalProperties {
122249  		objectMap[k] = v
122250  	}
122251  	return json.Marshal(objectMap)
122252  }
122253  
122254  // AsHTTPSource is the BasicCopySource implementation for MarketoSource.
122255  func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) {
122256  	return nil, false
122257  }
122258  
122259  // AsAzureBlobFSSource is the BasicCopySource implementation for MarketoSource.
122260  func (ms MarketoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
122261  	return nil, false
122262  }
122263  
122264  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource.
122265  func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
122266  	return nil, false
122267  }
122268  
122269  // AsOffice365Source is the BasicCopySource implementation for MarketoSource.
122270  func (ms MarketoSource) AsOffice365Source() (*Office365Source, bool) {
122271  	return nil, false
122272  }
122273  
122274  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MarketoSource.
122275  func (ms MarketoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
122276  	return nil, false
122277  }
122278  
122279  // AsMongoDbV2Source is the BasicCopySource implementation for MarketoSource.
122280  func (ms MarketoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
122281  	return nil, false
122282  }
122283  
122284  // AsMongoDbSource is the BasicCopySource implementation for MarketoSource.
122285  func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) {
122286  	return nil, false
122287  }
122288  
122289  // AsWebSource is the BasicCopySource implementation for MarketoSource.
122290  func (ms MarketoSource) AsWebSource() (*WebSource, bool) {
122291  	return nil, false
122292  }
122293  
122294  // AsOracleSource is the BasicCopySource implementation for MarketoSource.
122295  func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) {
122296  	return nil, false
122297  }
122298  
122299  // AsAzureDataExplorerSource is the BasicCopySource implementation for MarketoSource.
122300  func (ms MarketoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
122301  	return nil, false
122302  }
122303  
122304  // AsHdfsSource is the BasicCopySource implementation for MarketoSource.
122305  func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) {
122306  	return nil, false
122307  }
122308  
122309  // AsFileSystemSource is the BasicCopySource implementation for MarketoSource.
122310  func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) {
122311  	return nil, false
122312  }
122313  
122314  // AsRestSource is the BasicCopySource implementation for MarketoSource.
122315  func (ms MarketoSource) AsRestSource() (*RestSource, bool) {
122316  	return nil, false
122317  }
122318  
122319  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MarketoSource.
122320  func (ms MarketoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
122321  	return nil, false
122322  }
122323  
122324  // AsODataSource is the BasicCopySource implementation for MarketoSource.
122325  func (ms MarketoSource) AsODataSource() (*ODataSource, bool) {
122326  	return nil, false
122327  }
122328  
122329  // AsMicrosoftAccessSource is the BasicCopySource implementation for MarketoSource.
122330  func (ms MarketoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
122331  	return nil, false
122332  }
122333  
122334  // AsRelationalSource is the BasicCopySource implementation for MarketoSource.
122335  func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) {
122336  	return nil, false
122337  }
122338  
122339  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MarketoSource.
122340  func (ms MarketoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
122341  	return nil, false
122342  }
122343  
122344  // AsDynamicsCrmSource is the BasicCopySource implementation for MarketoSource.
122345  func (ms MarketoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
122346  	return nil, false
122347  }
122348  
122349  // AsDynamicsSource is the BasicCopySource implementation for MarketoSource.
122350  func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) {
122351  	return nil, false
122352  }
122353  
122354  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MarketoSource.
122355  func (ms MarketoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
122356  	return nil, false
122357  }
122358  
122359  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource.
122360  func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
122361  	return nil, false
122362  }
122363  
122364  // AsBlobSource is the BasicCopySource implementation for MarketoSource.
122365  func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) {
122366  	return nil, false
122367  }
122368  
122369  // AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource.
122370  func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
122371  	return nil, false
122372  }
122373  
122374  // AsGoogleAdWordsSource is the BasicCopySource implementation for MarketoSource.
122375  func (ms MarketoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
122376  	return nil, false
122377  }
122378  
122379  // AsOracleServiceCloudSource is the BasicCopySource implementation for MarketoSource.
122380  func (ms MarketoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
122381  	return nil, false
122382  }
122383  
122384  // AsDynamicsAXSource is the BasicCopySource implementation for MarketoSource.
122385  func (ms MarketoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
122386  	return nil, false
122387  }
122388  
122389  // AsResponsysSource is the BasicCopySource implementation for MarketoSource.
122390  func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) {
122391  	return nil, false
122392  }
122393  
122394  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource.
122395  func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
122396  	return nil, false
122397  }
122398  
122399  // AsVerticaSource is the BasicCopySource implementation for MarketoSource.
122400  func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) {
122401  	return nil, false
122402  }
122403  
122404  // AsNetezzaSource is the BasicCopySource implementation for MarketoSource.
122405  func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) {
122406  	return nil, false
122407  }
122408  
122409  // AsZohoSource is the BasicCopySource implementation for MarketoSource.
122410  func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) {
122411  	return nil, false
122412  }
122413  
122414  // AsXeroSource is the BasicCopySource implementation for MarketoSource.
122415  func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) {
122416  	return nil, false
122417  }
122418  
122419  // AsSquareSource is the BasicCopySource implementation for MarketoSource.
122420  func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) {
122421  	return nil, false
122422  }
122423  
122424  // AsSparkSource is the BasicCopySource implementation for MarketoSource.
122425  func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) {
122426  	return nil, false
122427  }
122428  
122429  // AsShopifySource is the BasicCopySource implementation for MarketoSource.
122430  func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) {
122431  	return nil, false
122432  }
122433  
122434  // AsServiceNowSource is the BasicCopySource implementation for MarketoSource.
122435  func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
122436  	return nil, false
122437  }
122438  
122439  // AsQuickBooksSource is the BasicCopySource implementation for MarketoSource.
122440  func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
122441  	return nil, false
122442  }
122443  
122444  // AsPrestoSource is the BasicCopySource implementation for MarketoSource.
122445  func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) {
122446  	return nil, false
122447  }
122448  
122449  // AsPhoenixSource is the BasicCopySource implementation for MarketoSource.
122450  func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) {
122451  	return nil, false
122452  }
122453  
122454  // AsPaypalSource is the BasicCopySource implementation for MarketoSource.
122455  func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) {
122456  	return nil, false
122457  }
122458  
122459  // AsMarketoSource is the BasicCopySource implementation for MarketoSource.
122460  func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) {
122461  	return &ms, true
122462  }
122463  
122464  // AsAzureMariaDBSource is the BasicCopySource implementation for MarketoSource.
122465  func (ms MarketoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
122466  	return nil, false
122467  }
122468  
122469  // AsMariaDBSource is the BasicCopySource implementation for MarketoSource.
122470  func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) {
122471  	return nil, false
122472  }
122473  
122474  // AsMagentoSource is the BasicCopySource implementation for MarketoSource.
122475  func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) {
122476  	return nil, false
122477  }
122478  
122479  // AsJiraSource is the BasicCopySource implementation for MarketoSource.
122480  func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) {
122481  	return nil, false
122482  }
122483  
122484  // AsImpalaSource is the BasicCopySource implementation for MarketoSource.
122485  func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) {
122486  	return nil, false
122487  }
122488  
122489  // AsHubspotSource is the BasicCopySource implementation for MarketoSource.
122490  func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) {
122491  	return nil, false
122492  }
122493  
122494  // AsHiveSource is the BasicCopySource implementation for MarketoSource.
122495  func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) {
122496  	return nil, false
122497  }
122498  
122499  // AsHBaseSource is the BasicCopySource implementation for MarketoSource.
122500  func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) {
122501  	return nil, false
122502  }
122503  
122504  // AsGreenplumSource is the BasicCopySource implementation for MarketoSource.
122505  func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) {
122506  	return nil, false
122507  }
122508  
122509  // AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource.
122510  func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
122511  	return nil, false
122512  }
122513  
122514  // AsEloquaSource is the BasicCopySource implementation for MarketoSource.
122515  func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) {
122516  	return nil, false
122517  }
122518  
122519  // AsDrillSource is the BasicCopySource implementation for MarketoSource.
122520  func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) {
122521  	return nil, false
122522  }
122523  
122524  // AsCouchbaseSource is the BasicCopySource implementation for MarketoSource.
122525  func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
122526  	return nil, false
122527  }
122528  
122529  // AsConcurSource is the BasicCopySource implementation for MarketoSource.
122530  func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) {
122531  	return nil, false
122532  }
122533  
122534  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource.
122535  func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
122536  	return nil, false
122537  }
122538  
122539  // AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource.
122540  func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
122541  	return nil, false
122542  }
122543  
122544  // AsCassandraSource is the BasicCopySource implementation for MarketoSource.
122545  func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) {
122546  	return nil, false
122547  }
122548  
122549  // AsTeradataSource is the BasicCopySource implementation for MarketoSource.
122550  func (ms MarketoSource) AsTeradataSource() (*TeradataSource, bool) {
122551  	return nil, false
122552  }
122553  
122554  // AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource.
122555  func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
122556  	return nil, false
122557  }
122558  
122559  // AsSQLDWSource is the BasicCopySource implementation for MarketoSource.
122560  func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) {
122561  	return nil, false
122562  }
122563  
122564  // AsSQLMISource is the BasicCopySource implementation for MarketoSource.
122565  func (ms MarketoSource) AsSQLMISource() (*SQLMISource, bool) {
122566  	return nil, false
122567  }
122568  
122569  // AsAzureSQLSource is the BasicCopySource implementation for MarketoSource.
122570  func (ms MarketoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
122571  	return nil, false
122572  }
122573  
122574  // AsSQLServerSource is the BasicCopySource implementation for MarketoSource.
122575  func (ms MarketoSource) AsSQLServerSource() (*SQLServerSource, bool) {
122576  	return nil, false
122577  }
122578  
122579  // AsSQLSource is the BasicCopySource implementation for MarketoSource.
122580  func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) {
122581  	return nil, false
122582  }
122583  
122584  // AsSapTableSource is the BasicCopySource implementation for MarketoSource.
122585  func (ms MarketoSource) AsSapTableSource() (*SapTableSource, bool) {
122586  	return nil, false
122587  }
122588  
122589  // AsSapOpenHubSource is the BasicCopySource implementation for MarketoSource.
122590  func (ms MarketoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
122591  	return nil, false
122592  }
122593  
122594  // AsSapHanaSource is the BasicCopySource implementation for MarketoSource.
122595  func (ms MarketoSource) AsSapHanaSource() (*SapHanaSource, bool) {
122596  	return nil, false
122597  }
122598  
122599  // AsSapEccSource is the BasicCopySource implementation for MarketoSource.
122600  func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) {
122601  	return nil, false
122602  }
122603  
122604  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource.
122605  func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
122606  	return nil, false
122607  }
122608  
122609  // AsSalesforceSource is the BasicCopySource implementation for MarketoSource.
122610  func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) {
122611  	return nil, false
122612  }
122613  
122614  // AsSapBwSource is the BasicCopySource implementation for MarketoSource.
122615  func (ms MarketoSource) AsSapBwSource() (*SapBwSource, bool) {
122616  	return nil, false
122617  }
122618  
122619  // AsSybaseSource is the BasicCopySource implementation for MarketoSource.
122620  func (ms MarketoSource) AsSybaseSource() (*SybaseSource, bool) {
122621  	return nil, false
122622  }
122623  
122624  // AsPostgreSQLSource is the BasicCopySource implementation for MarketoSource.
122625  func (ms MarketoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
122626  	return nil, false
122627  }
122628  
122629  // AsMySQLSource is the BasicCopySource implementation for MarketoSource.
122630  func (ms MarketoSource) AsMySQLSource() (*MySQLSource, bool) {
122631  	return nil, false
122632  }
122633  
122634  // AsOdbcSource is the BasicCopySource implementation for MarketoSource.
122635  func (ms MarketoSource) AsOdbcSource() (*OdbcSource, bool) {
122636  	return nil, false
122637  }
122638  
122639  // AsDb2Source is the BasicCopySource implementation for MarketoSource.
122640  func (ms MarketoSource) AsDb2Source() (*Db2Source, bool) {
122641  	return nil, false
122642  }
122643  
122644  // AsInformixSource is the BasicCopySource implementation for MarketoSource.
122645  func (ms MarketoSource) AsInformixSource() (*InformixSource, bool) {
122646  	return nil, false
122647  }
122648  
122649  // AsAzureTableSource is the BasicCopySource implementation for MarketoSource.
122650  func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) {
122651  	return nil, false
122652  }
122653  
122654  // AsTabularSource is the BasicCopySource implementation for MarketoSource.
122655  func (ms MarketoSource) AsTabularSource() (*TabularSource, bool) {
122656  	return nil, false
122657  }
122658  
122659  // AsBasicTabularSource is the BasicCopySource implementation for MarketoSource.
122660  func (ms MarketoSource) AsBasicTabularSource() (BasicTabularSource, bool) {
122661  	return &ms, true
122662  }
122663  
122664  // AsBinarySource is the BasicCopySource implementation for MarketoSource.
122665  func (ms MarketoSource) AsBinarySource() (*BinarySource, bool) {
122666  	return nil, false
122667  }
122668  
122669  // AsOrcSource is the BasicCopySource implementation for MarketoSource.
122670  func (ms MarketoSource) AsOrcSource() (*OrcSource, bool) {
122671  	return nil, false
122672  }
122673  
122674  // AsJSONSource is the BasicCopySource implementation for MarketoSource.
122675  func (ms MarketoSource) AsJSONSource() (*JSONSource, bool) {
122676  	return nil, false
122677  }
122678  
122679  // AsDelimitedTextSource is the BasicCopySource implementation for MarketoSource.
122680  func (ms MarketoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
122681  	return nil, false
122682  }
122683  
122684  // AsParquetSource is the BasicCopySource implementation for MarketoSource.
122685  func (ms MarketoSource) AsParquetSource() (*ParquetSource, bool) {
122686  	return nil, false
122687  }
122688  
122689  // AsAvroSource is the BasicCopySource implementation for MarketoSource.
122690  func (ms MarketoSource) AsAvroSource() (*AvroSource, bool) {
122691  	return nil, false
122692  }
122693  
122694  // AsCopySource is the BasicCopySource implementation for MarketoSource.
122695  func (ms MarketoSource) AsCopySource() (*CopySource, bool) {
122696  	return nil, false
122697  }
122698  
122699  // AsBasicCopySource is the BasicCopySource implementation for MarketoSource.
122700  func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) {
122701  	return &ms, true
122702  }
122703  
122704  // UnmarshalJSON is the custom unmarshaler for MarketoSource struct.
122705  func (ms *MarketoSource) UnmarshalJSON(body []byte) error {
122706  	var m map[string]*json.RawMessage
122707  	err := json.Unmarshal(body, &m)
122708  	if err != nil {
122709  		return err
122710  	}
122711  	for k, v := range m {
122712  		switch k {
122713  		case "query":
122714  			if v != nil {
122715  				var query interface{}
122716  				err = json.Unmarshal(*v, &query)
122717  				if err != nil {
122718  					return err
122719  				}
122720  				ms.Query = query
122721  			}
122722  		case "queryTimeout":
122723  			if v != nil {
122724  				var queryTimeout interface{}
122725  				err = json.Unmarshal(*v, &queryTimeout)
122726  				if err != nil {
122727  					return err
122728  				}
122729  				ms.QueryTimeout = queryTimeout
122730  			}
122731  		default:
122732  			if v != nil {
122733  				var additionalProperties interface{}
122734  				err = json.Unmarshal(*v, &additionalProperties)
122735  				if err != nil {
122736  					return err
122737  				}
122738  				if ms.AdditionalProperties == nil {
122739  					ms.AdditionalProperties = make(map[string]interface{})
122740  				}
122741  				ms.AdditionalProperties[k] = additionalProperties
122742  			}
122743  		case "sourceRetryCount":
122744  			if v != nil {
122745  				var sourceRetryCount interface{}
122746  				err = json.Unmarshal(*v, &sourceRetryCount)
122747  				if err != nil {
122748  					return err
122749  				}
122750  				ms.SourceRetryCount = sourceRetryCount
122751  			}
122752  		case "sourceRetryWait":
122753  			if v != nil {
122754  				var sourceRetryWait interface{}
122755  				err = json.Unmarshal(*v, &sourceRetryWait)
122756  				if err != nil {
122757  					return err
122758  				}
122759  				ms.SourceRetryWait = sourceRetryWait
122760  			}
122761  		case "maxConcurrentConnections":
122762  			if v != nil {
122763  				var maxConcurrentConnections interface{}
122764  				err = json.Unmarshal(*v, &maxConcurrentConnections)
122765  				if err != nil {
122766  					return err
122767  				}
122768  				ms.MaxConcurrentConnections = maxConcurrentConnections
122769  			}
122770  		case "type":
122771  			if v != nil {
122772  				var typeVar TypeBasicCopySource
122773  				err = json.Unmarshal(*v, &typeVar)
122774  				if err != nil {
122775  					return err
122776  				}
122777  				ms.Type = typeVar
122778  			}
122779  		}
122780  	}
122781  
122782  	return nil
122783  }
122784  
122785  // MicrosoftAccessLinkedService microsoft Access linked service.
122786  type MicrosoftAccessLinkedService struct {
122787  	// MicrosoftAccessLinkedServiceTypeProperties - Microsoft Access linked service properties.
122788  	*MicrosoftAccessLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
122789  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
122790  	AdditionalProperties map[string]interface{} `json:""`
122791  	// ConnectVia - The integration runtime reference.
122792  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
122793  	// Description - Linked service description.
122794  	Description *string `json:"description,omitempty"`
122795  	// Parameters - Parameters for linked service.
122796  	Parameters map[string]*ParameterSpecification `json:"parameters"`
122797  	// Annotations - List of tags that can be used for describing the linked service.
122798  	Annotations *[]interface{} `json:"annotations,omitempty"`
122799  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
122800  	Type TypeBasicLinkedService `json:"type,omitempty"`
122801  }
122802  
122803  // MarshalJSON is the custom marshaler for MicrosoftAccessLinkedService.
122804  func (mals MicrosoftAccessLinkedService) MarshalJSON() ([]byte, error) {
122805  	mals.Type = TypeMicrosoftAccess
122806  	objectMap := make(map[string]interface{})
122807  	if mals.MicrosoftAccessLinkedServiceTypeProperties != nil {
122808  		objectMap["typeProperties"] = mals.MicrosoftAccessLinkedServiceTypeProperties
122809  	}
122810  	if mals.ConnectVia != nil {
122811  		objectMap["connectVia"] = mals.ConnectVia
122812  	}
122813  	if mals.Description != nil {
122814  		objectMap["description"] = mals.Description
122815  	}
122816  	if mals.Parameters != nil {
122817  		objectMap["parameters"] = mals.Parameters
122818  	}
122819  	if mals.Annotations != nil {
122820  		objectMap["annotations"] = mals.Annotations
122821  	}
122822  	if mals.Type != "" {
122823  		objectMap["type"] = mals.Type
122824  	}
122825  	for k, v := range mals.AdditionalProperties {
122826  		objectMap[k] = v
122827  	}
122828  	return json.Marshal(objectMap)
122829  }
122830  
122831  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122832  func (mals MicrosoftAccessLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
122833  	return nil, false
122834  }
122835  
122836  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122837  func (mals MicrosoftAccessLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
122838  	return nil, false
122839  }
122840  
122841  // AsSapTableLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122842  func (mals MicrosoftAccessLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
122843  	return nil, false
122844  }
122845  
122846  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122847  func (mals MicrosoftAccessLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
122848  	return nil, false
122849  }
122850  
122851  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122852  func (mals MicrosoftAccessLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
122853  	return nil, false
122854  }
122855  
122856  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122857  func (mals MicrosoftAccessLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
122858  	return nil, false
122859  }
122860  
122861  // AsResponsysLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122862  func (mals MicrosoftAccessLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
122863  	return nil, false
122864  }
122865  
122866  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122867  func (mals MicrosoftAccessLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
122868  	return nil, false
122869  }
122870  
122871  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122872  func (mals MicrosoftAccessLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
122873  	return nil, false
122874  }
122875  
122876  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122877  func (mals MicrosoftAccessLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
122878  	return nil, false
122879  }
122880  
122881  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122882  func (mals MicrosoftAccessLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
122883  	return nil, false
122884  }
122885  
122886  // AsNetezzaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122887  func (mals MicrosoftAccessLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
122888  	return nil, false
122889  }
122890  
122891  // AsVerticaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122892  func (mals MicrosoftAccessLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
122893  	return nil, false
122894  }
122895  
122896  // AsZohoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122897  func (mals MicrosoftAccessLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
122898  	return nil, false
122899  }
122900  
122901  // AsXeroLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122902  func (mals MicrosoftAccessLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
122903  	return nil, false
122904  }
122905  
122906  // AsSquareLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122907  func (mals MicrosoftAccessLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
122908  	return nil, false
122909  }
122910  
122911  // AsSparkLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122912  func (mals MicrosoftAccessLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
122913  	return nil, false
122914  }
122915  
122916  // AsShopifyLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122917  func (mals MicrosoftAccessLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
122918  	return nil, false
122919  }
122920  
122921  // AsServiceNowLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122922  func (mals MicrosoftAccessLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
122923  	return nil, false
122924  }
122925  
122926  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122927  func (mals MicrosoftAccessLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
122928  	return nil, false
122929  }
122930  
122931  // AsPrestoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122932  func (mals MicrosoftAccessLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
122933  	return nil, false
122934  }
122935  
122936  // AsPhoenixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122937  func (mals MicrosoftAccessLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
122938  	return nil, false
122939  }
122940  
122941  // AsPaypalLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122942  func (mals MicrosoftAccessLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
122943  	return nil, false
122944  }
122945  
122946  // AsMarketoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122947  func (mals MicrosoftAccessLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
122948  	return nil, false
122949  }
122950  
122951  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122952  func (mals MicrosoftAccessLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
122953  	return nil, false
122954  }
122955  
122956  // AsMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122957  func (mals MicrosoftAccessLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
122958  	return nil, false
122959  }
122960  
122961  // AsMagentoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122962  func (mals MicrosoftAccessLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
122963  	return nil, false
122964  }
122965  
122966  // AsJiraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122967  func (mals MicrosoftAccessLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
122968  	return nil, false
122969  }
122970  
122971  // AsImpalaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122972  func (mals MicrosoftAccessLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
122973  	return nil, false
122974  }
122975  
122976  // AsHubspotLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122977  func (mals MicrosoftAccessLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
122978  	return nil, false
122979  }
122980  
122981  // AsHiveLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122982  func (mals MicrosoftAccessLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
122983  	return nil, false
122984  }
122985  
122986  // AsHBaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122987  func (mals MicrosoftAccessLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
122988  	return nil, false
122989  }
122990  
122991  // AsGreenplumLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122992  func (mals MicrosoftAccessLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
122993  	return nil, false
122994  }
122995  
122996  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
122997  func (mals MicrosoftAccessLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
122998  	return nil, false
122999  }
123000  
123001  // AsEloquaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123002  func (mals MicrosoftAccessLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
123003  	return nil, false
123004  }
123005  
123006  // AsDrillLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123007  func (mals MicrosoftAccessLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
123008  	return nil, false
123009  }
123010  
123011  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123012  func (mals MicrosoftAccessLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
123013  	return nil, false
123014  }
123015  
123016  // AsConcurLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123017  func (mals MicrosoftAccessLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
123018  	return nil, false
123019  }
123020  
123021  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123022  func (mals MicrosoftAccessLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
123023  	return nil, false
123024  }
123025  
123026  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123027  func (mals MicrosoftAccessLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
123028  	return nil, false
123029  }
123030  
123031  // AsSapHanaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123032  func (mals MicrosoftAccessLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
123033  	return nil, false
123034  }
123035  
123036  // AsSapBWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123037  func (mals MicrosoftAccessLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
123038  	return nil, false
123039  }
123040  
123041  // AsSftpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123042  func (mals MicrosoftAccessLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
123043  	return nil, false
123044  }
123045  
123046  // AsFtpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123047  func (mals MicrosoftAccessLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
123048  	return nil, false
123049  }
123050  
123051  // AsHTTPLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123052  func (mals MicrosoftAccessLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
123053  	return nil, false
123054  }
123055  
123056  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123057  func (mals MicrosoftAccessLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
123058  	return nil, false
123059  }
123060  
123061  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123062  func (mals MicrosoftAccessLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
123063  	return nil, false
123064  }
123065  
123066  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123067  func (mals MicrosoftAccessLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
123068  	return nil, false
123069  }
123070  
123071  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123072  func (mals MicrosoftAccessLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
123073  	return nil, false
123074  }
123075  
123076  // AsRestServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123077  func (mals MicrosoftAccessLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
123078  	return nil, false
123079  }
123080  
123081  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123082  func (mals MicrosoftAccessLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
123083  	return nil, false
123084  }
123085  
123086  // AsSapEccLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123087  func (mals MicrosoftAccessLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
123088  	return nil, false
123089  }
123090  
123091  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123092  func (mals MicrosoftAccessLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
123093  	return nil, false
123094  }
123095  
123096  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123097  func (mals MicrosoftAccessLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
123098  	return nil, false
123099  }
123100  
123101  // AsSalesforceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123102  func (mals MicrosoftAccessLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
123103  	return nil, false
123104  }
123105  
123106  // AsOffice365LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123107  func (mals MicrosoftAccessLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
123108  	return nil, false
123109  }
123110  
123111  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123112  func (mals MicrosoftAccessLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
123113  	return nil, false
123114  }
123115  
123116  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123117  func (mals MicrosoftAccessLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
123118  	return nil, false
123119  }
123120  
123121  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123122  func (mals MicrosoftAccessLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
123123  	return nil, false
123124  }
123125  
123126  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123127  func (mals MicrosoftAccessLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
123128  	return nil, false
123129  }
123130  
123131  // AsMongoDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123132  func (mals MicrosoftAccessLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
123133  	return nil, false
123134  }
123135  
123136  // AsCassandraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123137  func (mals MicrosoftAccessLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
123138  	return nil, false
123139  }
123140  
123141  // AsWebLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123142  func (mals MicrosoftAccessLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
123143  	return nil, false
123144  }
123145  
123146  // AsODataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123147  func (mals MicrosoftAccessLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
123148  	return nil, false
123149  }
123150  
123151  // AsHdfsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123152  func (mals MicrosoftAccessLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
123153  	return nil, false
123154  }
123155  
123156  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123157  func (mals MicrosoftAccessLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
123158  	return &mals, true
123159  }
123160  
123161  // AsInformixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123162  func (mals MicrosoftAccessLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
123163  	return nil, false
123164  }
123165  
123166  // AsOdbcLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123167  func (mals MicrosoftAccessLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
123168  	return nil, false
123169  }
123170  
123171  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123172  func (mals MicrosoftAccessLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
123173  	return nil, false
123174  }
123175  
123176  // AsAzureMLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123177  func (mals MicrosoftAccessLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
123178  	return nil, false
123179  }
123180  
123181  // AsTeradataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123182  func (mals MicrosoftAccessLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
123183  	return nil, false
123184  }
123185  
123186  // AsDb2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123187  func (mals MicrosoftAccessLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
123188  	return nil, false
123189  }
123190  
123191  // AsSybaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123192  func (mals MicrosoftAccessLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
123193  	return nil, false
123194  }
123195  
123196  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123197  func (mals MicrosoftAccessLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
123198  	return nil, false
123199  }
123200  
123201  // AsMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123202  func (mals MicrosoftAccessLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
123203  	return nil, false
123204  }
123205  
123206  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123207  func (mals MicrosoftAccessLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
123208  	return nil, false
123209  }
123210  
123211  // AsOracleLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123212  func (mals MicrosoftAccessLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
123213  	return nil, false
123214  }
123215  
123216  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123217  func (mals MicrosoftAccessLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
123218  	return nil, false
123219  }
123220  
123221  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123222  func (mals MicrosoftAccessLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
123223  	return nil, false
123224  }
123225  
123226  // AsFileServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123227  func (mals MicrosoftAccessLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
123228  	return nil, false
123229  }
123230  
123231  // AsHDInsightLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123232  func (mals MicrosoftAccessLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
123233  	return nil, false
123234  }
123235  
123236  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123237  func (mals MicrosoftAccessLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
123238  	return nil, false
123239  }
123240  
123241  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123242  func (mals MicrosoftAccessLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
123243  	return nil, false
123244  }
123245  
123246  // AsDynamicsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123247  func (mals MicrosoftAccessLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
123248  	return nil, false
123249  }
123250  
123251  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123252  func (mals MicrosoftAccessLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
123253  	return nil, false
123254  }
123255  
123256  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123257  func (mals MicrosoftAccessLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
123258  	return nil, false
123259  }
123260  
123261  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123262  func (mals MicrosoftAccessLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
123263  	return nil, false
123264  }
123265  
123266  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123267  func (mals MicrosoftAccessLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
123268  	return nil, false
123269  }
123270  
123271  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123272  func (mals MicrosoftAccessLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
123273  	return nil, false
123274  }
123275  
123276  // AsSQLServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123277  func (mals MicrosoftAccessLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
123278  	return nil, false
123279  }
123280  
123281  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123282  func (mals MicrosoftAccessLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
123283  	return nil, false
123284  }
123285  
123286  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123287  func (mals MicrosoftAccessLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
123288  	return nil, false
123289  }
123290  
123291  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123292  func (mals MicrosoftAccessLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
123293  	return nil, false
123294  }
123295  
123296  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123297  func (mals MicrosoftAccessLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
123298  	return nil, false
123299  }
123300  
123301  // AsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123302  func (mals MicrosoftAccessLinkedService) AsLinkedService() (*LinkedService, bool) {
123303  	return nil, false
123304  }
123305  
123306  // AsBasicLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService.
123307  func (mals MicrosoftAccessLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
123308  	return &mals, true
123309  }
123310  
123311  // UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedService struct.
123312  func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error {
123313  	var m map[string]*json.RawMessage
123314  	err := json.Unmarshal(body, &m)
123315  	if err != nil {
123316  		return err
123317  	}
123318  	for k, v := range m {
123319  		switch k {
123320  		case "typeProperties":
123321  			if v != nil {
123322  				var microsoftAccessLinkedServiceTypeProperties MicrosoftAccessLinkedServiceTypeProperties
123323  				err = json.Unmarshal(*v, &microsoftAccessLinkedServiceTypeProperties)
123324  				if err != nil {
123325  					return err
123326  				}
123327  				mals.MicrosoftAccessLinkedServiceTypeProperties = &microsoftAccessLinkedServiceTypeProperties
123328  			}
123329  		default:
123330  			if v != nil {
123331  				var additionalProperties interface{}
123332  				err = json.Unmarshal(*v, &additionalProperties)
123333  				if err != nil {
123334  					return err
123335  				}
123336  				if mals.AdditionalProperties == nil {
123337  					mals.AdditionalProperties = make(map[string]interface{})
123338  				}
123339  				mals.AdditionalProperties[k] = additionalProperties
123340  			}
123341  		case "connectVia":
123342  			if v != nil {
123343  				var connectVia IntegrationRuntimeReference
123344  				err = json.Unmarshal(*v, &connectVia)
123345  				if err != nil {
123346  					return err
123347  				}
123348  				mals.ConnectVia = &connectVia
123349  			}
123350  		case "description":
123351  			if v != nil {
123352  				var description string
123353  				err = json.Unmarshal(*v, &description)
123354  				if err != nil {
123355  					return err
123356  				}
123357  				mals.Description = &description
123358  			}
123359  		case "parameters":
123360  			if v != nil {
123361  				var parameters map[string]*ParameterSpecification
123362  				err = json.Unmarshal(*v, &parameters)
123363  				if err != nil {
123364  					return err
123365  				}
123366  				mals.Parameters = parameters
123367  			}
123368  		case "annotations":
123369  			if v != nil {
123370  				var annotations []interface{}
123371  				err = json.Unmarshal(*v, &annotations)
123372  				if err != nil {
123373  					return err
123374  				}
123375  				mals.Annotations = &annotations
123376  			}
123377  		case "type":
123378  			if v != nil {
123379  				var typeVar TypeBasicLinkedService
123380  				err = json.Unmarshal(*v, &typeVar)
123381  				if err != nil {
123382  					return err
123383  				}
123384  				mals.Type = typeVar
123385  			}
123386  		}
123387  	}
123388  
123389  	return nil
123390  }
123391  
123392  // MicrosoftAccessLinkedServiceTypeProperties microsoft Access linked service properties.
123393  type MicrosoftAccessLinkedServiceTypeProperties struct {
123394  	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
123395  	ConnectionString interface{} `json:"connectionString,omitempty"`
123396  	// 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).
123397  	AuthenticationType interface{} `json:"authenticationType,omitempty"`
123398  	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
123399  	Credential BasicSecretBase `json:"credential,omitempty"`
123400  	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
123401  	UserName interface{} `json:"userName,omitempty"`
123402  	// Password - Password for Basic authentication.
123403  	Password BasicSecretBase `json:"password,omitempty"`
123404  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
123405  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
123406  }
123407  
123408  // UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedServiceTypeProperties struct.
123409  func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
123410  	var m map[string]*json.RawMessage
123411  	err := json.Unmarshal(body, &m)
123412  	if err != nil {
123413  		return err
123414  	}
123415  	for k, v := range m {
123416  		switch k {
123417  		case "connectionString":
123418  			if v != nil {
123419  				var connectionString interface{}
123420  				err = json.Unmarshal(*v, &connectionString)
123421  				if err != nil {
123422  					return err
123423  				}
123424  				malstp.ConnectionString = connectionString
123425  			}
123426  		case "authenticationType":
123427  			if v != nil {
123428  				var authenticationType interface{}
123429  				err = json.Unmarshal(*v, &authenticationType)
123430  				if err != nil {
123431  					return err
123432  				}
123433  				malstp.AuthenticationType = authenticationType
123434  			}
123435  		case "credential":
123436  			if v != nil {
123437  				credential, err := unmarshalBasicSecretBase(*v)
123438  				if err != nil {
123439  					return err
123440  				}
123441  				malstp.Credential = credential
123442  			}
123443  		case "userName":
123444  			if v != nil {
123445  				var userName interface{}
123446  				err = json.Unmarshal(*v, &userName)
123447  				if err != nil {
123448  					return err
123449  				}
123450  				malstp.UserName = userName
123451  			}
123452  		case "password":
123453  			if v != nil {
123454  				password, err := unmarshalBasicSecretBase(*v)
123455  				if err != nil {
123456  					return err
123457  				}
123458  				malstp.Password = password
123459  			}
123460  		case "encryptedCredential":
123461  			if v != nil {
123462  				var encryptedCredential interface{}
123463  				err = json.Unmarshal(*v, &encryptedCredential)
123464  				if err != nil {
123465  					return err
123466  				}
123467  				malstp.EncryptedCredential = encryptedCredential
123468  			}
123469  		}
123470  	}
123471  
123472  	return nil
123473  }
123474  
123475  // MicrosoftAccessSink a copy activity Microsoft Access sink.
123476  type MicrosoftAccessSink struct {
123477  	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
123478  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
123479  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
123480  	AdditionalProperties map[string]interface{} `json:""`
123481  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
123482  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
123483  	// 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])).
123484  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
123485  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
123486  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
123487  	// 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])).
123488  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
123489  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
123490  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
123491  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
123492  	Type TypeBasicCopySink `json:"type,omitempty"`
123493  }
123494  
123495  // MarshalJSON is the custom marshaler for MicrosoftAccessSink.
123496  func (mas MicrosoftAccessSink) MarshalJSON() ([]byte, error) {
123497  	mas.Type = TypeMicrosoftAccessSink
123498  	objectMap := make(map[string]interface{})
123499  	if mas.PreCopyScript != nil {
123500  		objectMap["preCopyScript"] = mas.PreCopyScript
123501  	}
123502  	if mas.WriteBatchSize != nil {
123503  		objectMap["writeBatchSize"] = mas.WriteBatchSize
123504  	}
123505  	if mas.WriteBatchTimeout != nil {
123506  		objectMap["writeBatchTimeout"] = mas.WriteBatchTimeout
123507  	}
123508  	if mas.SinkRetryCount != nil {
123509  		objectMap["sinkRetryCount"] = mas.SinkRetryCount
123510  	}
123511  	if mas.SinkRetryWait != nil {
123512  		objectMap["sinkRetryWait"] = mas.SinkRetryWait
123513  	}
123514  	if mas.MaxConcurrentConnections != nil {
123515  		objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections
123516  	}
123517  	if mas.Type != "" {
123518  		objectMap["type"] = mas.Type
123519  	}
123520  	for k, v := range mas.AdditionalProperties {
123521  		objectMap[k] = v
123522  	}
123523  	return json.Marshal(objectMap)
123524  }
123525  
123526  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for MicrosoftAccessSink.
123527  func (mas MicrosoftAccessSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
123528  	return nil, false
123529  }
123530  
123531  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for MicrosoftAccessSink.
123532  func (mas MicrosoftAccessSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
123533  	return nil, false
123534  }
123535  
123536  // AsSalesforceSink is the BasicCopySink implementation for MicrosoftAccessSink.
123537  func (mas MicrosoftAccessSink) AsSalesforceSink() (*SalesforceSink, bool) {
123538  	return nil, false
123539  }
123540  
123541  // AsAzureDataExplorerSink is the BasicCopySink implementation for MicrosoftAccessSink.
123542  func (mas MicrosoftAccessSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
123543  	return nil, false
123544  }
123545  
123546  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for MicrosoftAccessSink.
123547  func (mas MicrosoftAccessSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
123548  	return nil, false
123549  }
123550  
123551  // AsDynamicsCrmSink is the BasicCopySink implementation for MicrosoftAccessSink.
123552  func (mas MicrosoftAccessSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
123553  	return nil, false
123554  }
123555  
123556  // AsDynamicsSink is the BasicCopySink implementation for MicrosoftAccessSink.
123557  func (mas MicrosoftAccessSink) AsDynamicsSink() (*DynamicsSink, bool) {
123558  	return nil, false
123559  }
123560  
123561  // AsMicrosoftAccessSink is the BasicCopySink implementation for MicrosoftAccessSink.
123562  func (mas MicrosoftAccessSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
123563  	return &mas, true
123564  }
123565  
123566  // AsInformixSink is the BasicCopySink implementation for MicrosoftAccessSink.
123567  func (mas MicrosoftAccessSink) AsInformixSink() (*InformixSink, bool) {
123568  	return nil, false
123569  }
123570  
123571  // AsOdbcSink is the BasicCopySink implementation for MicrosoftAccessSink.
123572  func (mas MicrosoftAccessSink) AsOdbcSink() (*OdbcSink, bool) {
123573  	return nil, false
123574  }
123575  
123576  // AsAzureSearchIndexSink is the BasicCopySink implementation for MicrosoftAccessSink.
123577  func (mas MicrosoftAccessSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
123578  	return nil, false
123579  }
123580  
123581  // AsAzureBlobFSSink is the BasicCopySink implementation for MicrosoftAccessSink.
123582  func (mas MicrosoftAccessSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
123583  	return nil, false
123584  }
123585  
123586  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for MicrosoftAccessSink.
123587  func (mas MicrosoftAccessSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
123588  	return nil, false
123589  }
123590  
123591  // AsOracleSink is the BasicCopySink implementation for MicrosoftAccessSink.
123592  func (mas MicrosoftAccessSink) AsOracleSink() (*OracleSink, bool) {
123593  	return nil, false
123594  }
123595  
123596  // AsSQLDWSink is the BasicCopySink implementation for MicrosoftAccessSink.
123597  func (mas MicrosoftAccessSink) AsSQLDWSink() (*SQLDWSink, bool) {
123598  	return nil, false
123599  }
123600  
123601  // AsSQLMISink is the BasicCopySink implementation for MicrosoftAccessSink.
123602  func (mas MicrosoftAccessSink) AsSQLMISink() (*SQLMISink, bool) {
123603  	return nil, false
123604  }
123605  
123606  // AsAzureSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
123607  func (mas MicrosoftAccessSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
123608  	return nil, false
123609  }
123610  
123611  // AsSQLServerSink is the BasicCopySink implementation for MicrosoftAccessSink.
123612  func (mas MicrosoftAccessSink) AsSQLServerSink() (*SQLServerSink, bool) {
123613  	return nil, false
123614  }
123615  
123616  // AsSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
123617  func (mas MicrosoftAccessSink) AsSQLSink() (*SQLSink, bool) {
123618  	return nil, false
123619  }
123620  
123621  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for MicrosoftAccessSink.
123622  func (mas MicrosoftAccessSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
123623  	return nil, false
123624  }
123625  
123626  // AsDocumentDbCollectionSink is the BasicCopySink implementation for MicrosoftAccessSink.
123627  func (mas MicrosoftAccessSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
123628  	return nil, false
123629  }
123630  
123631  // AsFileSystemSink is the BasicCopySink implementation for MicrosoftAccessSink.
123632  func (mas MicrosoftAccessSink) AsFileSystemSink() (*FileSystemSink, bool) {
123633  	return nil, false
123634  }
123635  
123636  // AsBlobSink is the BasicCopySink implementation for MicrosoftAccessSink.
123637  func (mas MicrosoftAccessSink) AsBlobSink() (*BlobSink, bool) {
123638  	return nil, false
123639  }
123640  
123641  // AsBinarySink is the BasicCopySink implementation for MicrosoftAccessSink.
123642  func (mas MicrosoftAccessSink) AsBinarySink() (*BinarySink, bool) {
123643  	return nil, false
123644  }
123645  
123646  // AsParquetSink is the BasicCopySink implementation for MicrosoftAccessSink.
123647  func (mas MicrosoftAccessSink) AsParquetSink() (*ParquetSink, bool) {
123648  	return nil, false
123649  }
123650  
123651  // AsAvroSink is the BasicCopySink implementation for MicrosoftAccessSink.
123652  func (mas MicrosoftAccessSink) AsAvroSink() (*AvroSink, bool) {
123653  	return nil, false
123654  }
123655  
123656  // AsAzureTableSink is the BasicCopySink implementation for MicrosoftAccessSink.
123657  func (mas MicrosoftAccessSink) AsAzureTableSink() (*AzureTableSink, bool) {
123658  	return nil, false
123659  }
123660  
123661  // AsAzureQueueSink is the BasicCopySink implementation for MicrosoftAccessSink.
123662  func (mas MicrosoftAccessSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
123663  	return nil, false
123664  }
123665  
123666  // AsSapCloudForCustomerSink is the BasicCopySink implementation for MicrosoftAccessSink.
123667  func (mas MicrosoftAccessSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
123668  	return nil, false
123669  }
123670  
123671  // AsAzureMySQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
123672  func (mas MicrosoftAccessSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
123673  	return nil, false
123674  }
123675  
123676  // AsAzurePostgreSQLSink is the BasicCopySink implementation for MicrosoftAccessSink.
123677  func (mas MicrosoftAccessSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
123678  	return nil, false
123679  }
123680  
123681  // AsOrcSink is the BasicCopySink implementation for MicrosoftAccessSink.
123682  func (mas MicrosoftAccessSink) AsOrcSink() (*OrcSink, bool) {
123683  	return nil, false
123684  }
123685  
123686  // AsJSONSink is the BasicCopySink implementation for MicrosoftAccessSink.
123687  func (mas MicrosoftAccessSink) AsJSONSink() (*JSONSink, bool) {
123688  	return nil, false
123689  }
123690  
123691  // AsDelimitedTextSink is the BasicCopySink implementation for MicrosoftAccessSink.
123692  func (mas MicrosoftAccessSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
123693  	return nil, false
123694  }
123695  
123696  // AsCopySink is the BasicCopySink implementation for MicrosoftAccessSink.
123697  func (mas MicrosoftAccessSink) AsCopySink() (*CopySink, bool) {
123698  	return nil, false
123699  }
123700  
123701  // AsBasicCopySink is the BasicCopySink implementation for MicrosoftAccessSink.
123702  func (mas MicrosoftAccessSink) AsBasicCopySink() (BasicCopySink, bool) {
123703  	return &mas, true
123704  }
123705  
123706  // UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSink struct.
123707  func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error {
123708  	var m map[string]*json.RawMessage
123709  	err := json.Unmarshal(body, &m)
123710  	if err != nil {
123711  		return err
123712  	}
123713  	for k, v := range m {
123714  		switch k {
123715  		case "preCopyScript":
123716  			if v != nil {
123717  				var preCopyScript interface{}
123718  				err = json.Unmarshal(*v, &preCopyScript)
123719  				if err != nil {
123720  					return err
123721  				}
123722  				mas.PreCopyScript = preCopyScript
123723  			}
123724  		default:
123725  			if v != nil {
123726  				var additionalProperties interface{}
123727  				err = json.Unmarshal(*v, &additionalProperties)
123728  				if err != nil {
123729  					return err
123730  				}
123731  				if mas.AdditionalProperties == nil {
123732  					mas.AdditionalProperties = make(map[string]interface{})
123733  				}
123734  				mas.AdditionalProperties[k] = additionalProperties
123735  			}
123736  		case "writeBatchSize":
123737  			if v != nil {
123738  				var writeBatchSize interface{}
123739  				err = json.Unmarshal(*v, &writeBatchSize)
123740  				if err != nil {
123741  					return err
123742  				}
123743  				mas.WriteBatchSize = writeBatchSize
123744  			}
123745  		case "writeBatchTimeout":
123746  			if v != nil {
123747  				var writeBatchTimeout interface{}
123748  				err = json.Unmarshal(*v, &writeBatchTimeout)
123749  				if err != nil {
123750  					return err
123751  				}
123752  				mas.WriteBatchTimeout = writeBatchTimeout
123753  			}
123754  		case "sinkRetryCount":
123755  			if v != nil {
123756  				var sinkRetryCount interface{}
123757  				err = json.Unmarshal(*v, &sinkRetryCount)
123758  				if err != nil {
123759  					return err
123760  				}
123761  				mas.SinkRetryCount = sinkRetryCount
123762  			}
123763  		case "sinkRetryWait":
123764  			if v != nil {
123765  				var sinkRetryWait interface{}
123766  				err = json.Unmarshal(*v, &sinkRetryWait)
123767  				if err != nil {
123768  					return err
123769  				}
123770  				mas.SinkRetryWait = sinkRetryWait
123771  			}
123772  		case "maxConcurrentConnections":
123773  			if v != nil {
123774  				var maxConcurrentConnections interface{}
123775  				err = json.Unmarshal(*v, &maxConcurrentConnections)
123776  				if err != nil {
123777  					return err
123778  				}
123779  				mas.MaxConcurrentConnections = maxConcurrentConnections
123780  			}
123781  		case "type":
123782  			if v != nil {
123783  				var typeVar TypeBasicCopySink
123784  				err = json.Unmarshal(*v, &typeVar)
123785  				if err != nil {
123786  					return err
123787  				}
123788  				mas.Type = typeVar
123789  			}
123790  		}
123791  	}
123792  
123793  	return nil
123794  }
123795  
123796  // MicrosoftAccessSource a copy activity source for Microsoft Access.
123797  type MicrosoftAccessSource struct {
123798  	// Query - Database query. Type: string (or Expression with resultType string).
123799  	Query interface{} `json:"query,omitempty"`
123800  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
123801  	AdditionalProperties map[string]interface{} `json:""`
123802  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
123803  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
123804  	// 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])).
123805  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
123806  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
123807  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
123808  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
123809  	Type TypeBasicCopySource `json:"type,omitempty"`
123810  }
123811  
123812  // MarshalJSON is the custom marshaler for MicrosoftAccessSource.
123813  func (mas MicrosoftAccessSource) MarshalJSON() ([]byte, error) {
123814  	mas.Type = TypeMicrosoftAccessSource
123815  	objectMap := make(map[string]interface{})
123816  	if mas.Query != nil {
123817  		objectMap["query"] = mas.Query
123818  	}
123819  	if mas.SourceRetryCount != nil {
123820  		objectMap["sourceRetryCount"] = mas.SourceRetryCount
123821  	}
123822  	if mas.SourceRetryWait != nil {
123823  		objectMap["sourceRetryWait"] = mas.SourceRetryWait
123824  	}
123825  	if mas.MaxConcurrentConnections != nil {
123826  		objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections
123827  	}
123828  	if mas.Type != "" {
123829  		objectMap["type"] = mas.Type
123830  	}
123831  	for k, v := range mas.AdditionalProperties {
123832  		objectMap[k] = v
123833  	}
123834  	return json.Marshal(objectMap)
123835  }
123836  
123837  // AsHTTPSource is the BasicCopySource implementation for MicrosoftAccessSource.
123838  func (mas MicrosoftAccessSource) AsHTTPSource() (*HTTPSource, bool) {
123839  	return nil, false
123840  }
123841  
123842  // AsAzureBlobFSSource is the BasicCopySource implementation for MicrosoftAccessSource.
123843  func (mas MicrosoftAccessSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
123844  	return nil, false
123845  }
123846  
123847  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MicrosoftAccessSource.
123848  func (mas MicrosoftAccessSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
123849  	return nil, false
123850  }
123851  
123852  // AsOffice365Source is the BasicCopySource implementation for MicrosoftAccessSource.
123853  func (mas MicrosoftAccessSource) AsOffice365Source() (*Office365Source, bool) {
123854  	return nil, false
123855  }
123856  
123857  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MicrosoftAccessSource.
123858  func (mas MicrosoftAccessSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
123859  	return nil, false
123860  }
123861  
123862  // AsMongoDbV2Source is the BasicCopySource implementation for MicrosoftAccessSource.
123863  func (mas MicrosoftAccessSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
123864  	return nil, false
123865  }
123866  
123867  // AsMongoDbSource is the BasicCopySource implementation for MicrosoftAccessSource.
123868  func (mas MicrosoftAccessSource) AsMongoDbSource() (*MongoDbSource, bool) {
123869  	return nil, false
123870  }
123871  
123872  // AsWebSource is the BasicCopySource implementation for MicrosoftAccessSource.
123873  func (mas MicrosoftAccessSource) AsWebSource() (*WebSource, bool) {
123874  	return nil, false
123875  }
123876  
123877  // AsOracleSource is the BasicCopySource implementation for MicrosoftAccessSource.
123878  func (mas MicrosoftAccessSource) AsOracleSource() (*OracleSource, bool) {
123879  	return nil, false
123880  }
123881  
123882  // AsAzureDataExplorerSource is the BasicCopySource implementation for MicrosoftAccessSource.
123883  func (mas MicrosoftAccessSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
123884  	return nil, false
123885  }
123886  
123887  // AsHdfsSource is the BasicCopySource implementation for MicrosoftAccessSource.
123888  func (mas MicrosoftAccessSource) AsHdfsSource() (*HdfsSource, bool) {
123889  	return nil, false
123890  }
123891  
123892  // AsFileSystemSource is the BasicCopySource implementation for MicrosoftAccessSource.
123893  func (mas MicrosoftAccessSource) AsFileSystemSource() (*FileSystemSource, bool) {
123894  	return nil, false
123895  }
123896  
123897  // AsRestSource is the BasicCopySource implementation for MicrosoftAccessSource.
123898  func (mas MicrosoftAccessSource) AsRestSource() (*RestSource, bool) {
123899  	return nil, false
123900  }
123901  
123902  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
123903  func (mas MicrosoftAccessSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
123904  	return nil, false
123905  }
123906  
123907  // AsODataSource is the BasicCopySource implementation for MicrosoftAccessSource.
123908  func (mas MicrosoftAccessSource) AsODataSource() (*ODataSource, bool) {
123909  	return nil, false
123910  }
123911  
123912  // AsMicrosoftAccessSource is the BasicCopySource implementation for MicrosoftAccessSource.
123913  func (mas MicrosoftAccessSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
123914  	return &mas, true
123915  }
123916  
123917  // AsRelationalSource is the BasicCopySource implementation for MicrosoftAccessSource.
123918  func (mas MicrosoftAccessSource) AsRelationalSource() (*RelationalSource, bool) {
123919  	return nil, false
123920  }
123921  
123922  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MicrosoftAccessSource.
123923  func (mas MicrosoftAccessSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
123924  	return nil, false
123925  }
123926  
123927  // AsDynamicsCrmSource is the BasicCopySource implementation for MicrosoftAccessSource.
123928  func (mas MicrosoftAccessSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
123929  	return nil, false
123930  }
123931  
123932  // AsDynamicsSource is the BasicCopySource implementation for MicrosoftAccessSource.
123933  func (mas MicrosoftAccessSource) AsDynamicsSource() (*DynamicsSource, bool) {
123934  	return nil, false
123935  }
123936  
123937  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MicrosoftAccessSource.
123938  func (mas MicrosoftAccessSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
123939  	return nil, false
123940  }
123941  
123942  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MicrosoftAccessSource.
123943  func (mas MicrosoftAccessSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
123944  	return nil, false
123945  }
123946  
123947  // AsBlobSource is the BasicCopySource implementation for MicrosoftAccessSource.
123948  func (mas MicrosoftAccessSource) AsBlobSource() (*BlobSource, bool) {
123949  	return nil, false
123950  }
123951  
123952  // AsAmazonRedshiftSource is the BasicCopySource implementation for MicrosoftAccessSource.
123953  func (mas MicrosoftAccessSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
123954  	return nil, false
123955  }
123956  
123957  // AsGoogleAdWordsSource is the BasicCopySource implementation for MicrosoftAccessSource.
123958  func (mas MicrosoftAccessSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
123959  	return nil, false
123960  }
123961  
123962  // AsOracleServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
123963  func (mas MicrosoftAccessSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
123964  	return nil, false
123965  }
123966  
123967  // AsDynamicsAXSource is the BasicCopySource implementation for MicrosoftAccessSource.
123968  func (mas MicrosoftAccessSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
123969  	return nil, false
123970  }
123971  
123972  // AsResponsysSource is the BasicCopySource implementation for MicrosoftAccessSource.
123973  func (mas MicrosoftAccessSource) AsResponsysSource() (*ResponsysSource, bool) {
123974  	return nil, false
123975  }
123976  
123977  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MicrosoftAccessSource.
123978  func (mas MicrosoftAccessSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
123979  	return nil, false
123980  }
123981  
123982  // AsVerticaSource is the BasicCopySource implementation for MicrosoftAccessSource.
123983  func (mas MicrosoftAccessSource) AsVerticaSource() (*VerticaSource, bool) {
123984  	return nil, false
123985  }
123986  
123987  // AsNetezzaSource is the BasicCopySource implementation for MicrosoftAccessSource.
123988  func (mas MicrosoftAccessSource) AsNetezzaSource() (*NetezzaSource, bool) {
123989  	return nil, false
123990  }
123991  
123992  // AsZohoSource is the BasicCopySource implementation for MicrosoftAccessSource.
123993  func (mas MicrosoftAccessSource) AsZohoSource() (*ZohoSource, bool) {
123994  	return nil, false
123995  }
123996  
123997  // AsXeroSource is the BasicCopySource implementation for MicrosoftAccessSource.
123998  func (mas MicrosoftAccessSource) AsXeroSource() (*XeroSource, bool) {
123999  	return nil, false
124000  }
124001  
124002  // AsSquareSource is the BasicCopySource implementation for MicrosoftAccessSource.
124003  func (mas MicrosoftAccessSource) AsSquareSource() (*SquareSource, bool) {
124004  	return nil, false
124005  }
124006  
124007  // AsSparkSource is the BasicCopySource implementation for MicrosoftAccessSource.
124008  func (mas MicrosoftAccessSource) AsSparkSource() (*SparkSource, bool) {
124009  	return nil, false
124010  }
124011  
124012  // AsShopifySource is the BasicCopySource implementation for MicrosoftAccessSource.
124013  func (mas MicrosoftAccessSource) AsShopifySource() (*ShopifySource, bool) {
124014  	return nil, false
124015  }
124016  
124017  // AsServiceNowSource is the BasicCopySource implementation for MicrosoftAccessSource.
124018  func (mas MicrosoftAccessSource) AsServiceNowSource() (*ServiceNowSource, bool) {
124019  	return nil, false
124020  }
124021  
124022  // AsQuickBooksSource is the BasicCopySource implementation for MicrosoftAccessSource.
124023  func (mas MicrosoftAccessSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
124024  	return nil, false
124025  }
124026  
124027  // AsPrestoSource is the BasicCopySource implementation for MicrosoftAccessSource.
124028  func (mas MicrosoftAccessSource) AsPrestoSource() (*PrestoSource, bool) {
124029  	return nil, false
124030  }
124031  
124032  // AsPhoenixSource is the BasicCopySource implementation for MicrosoftAccessSource.
124033  func (mas MicrosoftAccessSource) AsPhoenixSource() (*PhoenixSource, bool) {
124034  	return nil, false
124035  }
124036  
124037  // AsPaypalSource is the BasicCopySource implementation for MicrosoftAccessSource.
124038  func (mas MicrosoftAccessSource) AsPaypalSource() (*PaypalSource, bool) {
124039  	return nil, false
124040  }
124041  
124042  // AsMarketoSource is the BasicCopySource implementation for MicrosoftAccessSource.
124043  func (mas MicrosoftAccessSource) AsMarketoSource() (*MarketoSource, bool) {
124044  	return nil, false
124045  }
124046  
124047  // AsAzureMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource.
124048  func (mas MicrosoftAccessSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
124049  	return nil, false
124050  }
124051  
124052  // AsMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource.
124053  func (mas MicrosoftAccessSource) AsMariaDBSource() (*MariaDBSource, bool) {
124054  	return nil, false
124055  }
124056  
124057  // AsMagentoSource is the BasicCopySource implementation for MicrosoftAccessSource.
124058  func (mas MicrosoftAccessSource) AsMagentoSource() (*MagentoSource, bool) {
124059  	return nil, false
124060  }
124061  
124062  // AsJiraSource is the BasicCopySource implementation for MicrosoftAccessSource.
124063  func (mas MicrosoftAccessSource) AsJiraSource() (*JiraSource, bool) {
124064  	return nil, false
124065  }
124066  
124067  // AsImpalaSource is the BasicCopySource implementation for MicrosoftAccessSource.
124068  func (mas MicrosoftAccessSource) AsImpalaSource() (*ImpalaSource, bool) {
124069  	return nil, false
124070  }
124071  
124072  // AsHubspotSource is the BasicCopySource implementation for MicrosoftAccessSource.
124073  func (mas MicrosoftAccessSource) AsHubspotSource() (*HubspotSource, bool) {
124074  	return nil, false
124075  }
124076  
124077  // AsHiveSource is the BasicCopySource implementation for MicrosoftAccessSource.
124078  func (mas MicrosoftAccessSource) AsHiveSource() (*HiveSource, bool) {
124079  	return nil, false
124080  }
124081  
124082  // AsHBaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
124083  func (mas MicrosoftAccessSource) AsHBaseSource() (*HBaseSource, bool) {
124084  	return nil, false
124085  }
124086  
124087  // AsGreenplumSource is the BasicCopySource implementation for MicrosoftAccessSource.
124088  func (mas MicrosoftAccessSource) AsGreenplumSource() (*GreenplumSource, bool) {
124089  	return nil, false
124090  }
124091  
124092  // AsGoogleBigQuerySource is the BasicCopySource implementation for MicrosoftAccessSource.
124093  func (mas MicrosoftAccessSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
124094  	return nil, false
124095  }
124096  
124097  // AsEloquaSource is the BasicCopySource implementation for MicrosoftAccessSource.
124098  func (mas MicrosoftAccessSource) AsEloquaSource() (*EloquaSource, bool) {
124099  	return nil, false
124100  }
124101  
124102  // AsDrillSource is the BasicCopySource implementation for MicrosoftAccessSource.
124103  func (mas MicrosoftAccessSource) AsDrillSource() (*DrillSource, bool) {
124104  	return nil, false
124105  }
124106  
124107  // AsCouchbaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
124108  func (mas MicrosoftAccessSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
124109  	return nil, false
124110  }
124111  
124112  // AsConcurSource is the BasicCopySource implementation for MicrosoftAccessSource.
124113  func (mas MicrosoftAccessSource) AsConcurSource() (*ConcurSource, bool) {
124114  	return nil, false
124115  }
124116  
124117  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124118  func (mas MicrosoftAccessSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
124119  	return nil, false
124120  }
124121  
124122  // AsAmazonMWSSource is the BasicCopySource implementation for MicrosoftAccessSource.
124123  func (mas MicrosoftAccessSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
124124  	return nil, false
124125  }
124126  
124127  // AsCassandraSource is the BasicCopySource implementation for MicrosoftAccessSource.
124128  func (mas MicrosoftAccessSource) AsCassandraSource() (*CassandraSource, bool) {
124129  	return nil, false
124130  }
124131  
124132  // AsTeradataSource is the BasicCopySource implementation for MicrosoftAccessSource.
124133  func (mas MicrosoftAccessSource) AsTeradataSource() (*TeradataSource, bool) {
124134  	return nil, false
124135  }
124136  
124137  // AsAzureMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124138  func (mas MicrosoftAccessSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
124139  	return nil, false
124140  }
124141  
124142  // AsSQLDWSource is the BasicCopySource implementation for MicrosoftAccessSource.
124143  func (mas MicrosoftAccessSource) AsSQLDWSource() (*SQLDWSource, bool) {
124144  	return nil, false
124145  }
124146  
124147  // AsSQLMISource is the BasicCopySource implementation for MicrosoftAccessSource.
124148  func (mas MicrosoftAccessSource) AsSQLMISource() (*SQLMISource, bool) {
124149  	return nil, false
124150  }
124151  
124152  // AsAzureSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124153  func (mas MicrosoftAccessSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
124154  	return nil, false
124155  }
124156  
124157  // AsSQLServerSource is the BasicCopySource implementation for MicrosoftAccessSource.
124158  func (mas MicrosoftAccessSource) AsSQLServerSource() (*SQLServerSource, bool) {
124159  	return nil, false
124160  }
124161  
124162  // AsSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124163  func (mas MicrosoftAccessSource) AsSQLSource() (*SQLSource, bool) {
124164  	return nil, false
124165  }
124166  
124167  // AsSapTableSource is the BasicCopySource implementation for MicrosoftAccessSource.
124168  func (mas MicrosoftAccessSource) AsSapTableSource() (*SapTableSource, bool) {
124169  	return nil, false
124170  }
124171  
124172  // AsSapOpenHubSource is the BasicCopySource implementation for MicrosoftAccessSource.
124173  func (mas MicrosoftAccessSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
124174  	return nil, false
124175  }
124176  
124177  // AsSapHanaSource is the BasicCopySource implementation for MicrosoftAccessSource.
124178  func (mas MicrosoftAccessSource) AsSapHanaSource() (*SapHanaSource, bool) {
124179  	return nil, false
124180  }
124181  
124182  // AsSapEccSource is the BasicCopySource implementation for MicrosoftAccessSource.
124183  func (mas MicrosoftAccessSource) AsSapEccSource() (*SapEccSource, bool) {
124184  	return nil, false
124185  }
124186  
124187  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MicrosoftAccessSource.
124188  func (mas MicrosoftAccessSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
124189  	return nil, false
124190  }
124191  
124192  // AsSalesforceSource is the BasicCopySource implementation for MicrosoftAccessSource.
124193  func (mas MicrosoftAccessSource) AsSalesforceSource() (*SalesforceSource, bool) {
124194  	return nil, false
124195  }
124196  
124197  // AsSapBwSource is the BasicCopySource implementation for MicrosoftAccessSource.
124198  func (mas MicrosoftAccessSource) AsSapBwSource() (*SapBwSource, bool) {
124199  	return nil, false
124200  }
124201  
124202  // AsSybaseSource is the BasicCopySource implementation for MicrosoftAccessSource.
124203  func (mas MicrosoftAccessSource) AsSybaseSource() (*SybaseSource, bool) {
124204  	return nil, false
124205  }
124206  
124207  // AsPostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124208  func (mas MicrosoftAccessSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
124209  	return nil, false
124210  }
124211  
124212  // AsMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource.
124213  func (mas MicrosoftAccessSource) AsMySQLSource() (*MySQLSource, bool) {
124214  	return nil, false
124215  }
124216  
124217  // AsOdbcSource is the BasicCopySource implementation for MicrosoftAccessSource.
124218  func (mas MicrosoftAccessSource) AsOdbcSource() (*OdbcSource, bool) {
124219  	return nil, false
124220  }
124221  
124222  // AsDb2Source is the BasicCopySource implementation for MicrosoftAccessSource.
124223  func (mas MicrosoftAccessSource) AsDb2Source() (*Db2Source, bool) {
124224  	return nil, false
124225  }
124226  
124227  // AsInformixSource is the BasicCopySource implementation for MicrosoftAccessSource.
124228  func (mas MicrosoftAccessSource) AsInformixSource() (*InformixSource, bool) {
124229  	return nil, false
124230  }
124231  
124232  // AsAzureTableSource is the BasicCopySource implementation for MicrosoftAccessSource.
124233  func (mas MicrosoftAccessSource) AsAzureTableSource() (*AzureTableSource, bool) {
124234  	return nil, false
124235  }
124236  
124237  // AsTabularSource is the BasicCopySource implementation for MicrosoftAccessSource.
124238  func (mas MicrosoftAccessSource) AsTabularSource() (*TabularSource, bool) {
124239  	return nil, false
124240  }
124241  
124242  // AsBasicTabularSource is the BasicCopySource implementation for MicrosoftAccessSource.
124243  func (mas MicrosoftAccessSource) AsBasicTabularSource() (BasicTabularSource, bool) {
124244  	return nil, false
124245  }
124246  
124247  // AsBinarySource is the BasicCopySource implementation for MicrosoftAccessSource.
124248  func (mas MicrosoftAccessSource) AsBinarySource() (*BinarySource, bool) {
124249  	return nil, false
124250  }
124251  
124252  // AsOrcSource is the BasicCopySource implementation for MicrosoftAccessSource.
124253  func (mas MicrosoftAccessSource) AsOrcSource() (*OrcSource, bool) {
124254  	return nil, false
124255  }
124256  
124257  // AsJSONSource is the BasicCopySource implementation for MicrosoftAccessSource.
124258  func (mas MicrosoftAccessSource) AsJSONSource() (*JSONSource, bool) {
124259  	return nil, false
124260  }
124261  
124262  // AsDelimitedTextSource is the BasicCopySource implementation for MicrosoftAccessSource.
124263  func (mas MicrosoftAccessSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
124264  	return nil, false
124265  }
124266  
124267  // AsParquetSource is the BasicCopySource implementation for MicrosoftAccessSource.
124268  func (mas MicrosoftAccessSource) AsParquetSource() (*ParquetSource, bool) {
124269  	return nil, false
124270  }
124271  
124272  // AsAvroSource is the BasicCopySource implementation for MicrosoftAccessSource.
124273  func (mas MicrosoftAccessSource) AsAvroSource() (*AvroSource, bool) {
124274  	return nil, false
124275  }
124276  
124277  // AsCopySource is the BasicCopySource implementation for MicrosoftAccessSource.
124278  func (mas MicrosoftAccessSource) AsCopySource() (*CopySource, bool) {
124279  	return nil, false
124280  }
124281  
124282  // AsBasicCopySource is the BasicCopySource implementation for MicrosoftAccessSource.
124283  func (mas MicrosoftAccessSource) AsBasicCopySource() (BasicCopySource, bool) {
124284  	return &mas, true
124285  }
124286  
124287  // UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSource struct.
124288  func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error {
124289  	var m map[string]*json.RawMessage
124290  	err := json.Unmarshal(body, &m)
124291  	if err != nil {
124292  		return err
124293  	}
124294  	for k, v := range m {
124295  		switch k {
124296  		case "query":
124297  			if v != nil {
124298  				var query interface{}
124299  				err = json.Unmarshal(*v, &query)
124300  				if err != nil {
124301  					return err
124302  				}
124303  				mas.Query = query
124304  			}
124305  		default:
124306  			if v != nil {
124307  				var additionalProperties interface{}
124308  				err = json.Unmarshal(*v, &additionalProperties)
124309  				if err != nil {
124310  					return err
124311  				}
124312  				if mas.AdditionalProperties == nil {
124313  					mas.AdditionalProperties = make(map[string]interface{})
124314  				}
124315  				mas.AdditionalProperties[k] = additionalProperties
124316  			}
124317  		case "sourceRetryCount":
124318  			if v != nil {
124319  				var sourceRetryCount interface{}
124320  				err = json.Unmarshal(*v, &sourceRetryCount)
124321  				if err != nil {
124322  					return err
124323  				}
124324  				mas.SourceRetryCount = sourceRetryCount
124325  			}
124326  		case "sourceRetryWait":
124327  			if v != nil {
124328  				var sourceRetryWait interface{}
124329  				err = json.Unmarshal(*v, &sourceRetryWait)
124330  				if err != nil {
124331  					return err
124332  				}
124333  				mas.SourceRetryWait = sourceRetryWait
124334  			}
124335  		case "maxConcurrentConnections":
124336  			if v != nil {
124337  				var maxConcurrentConnections interface{}
124338  				err = json.Unmarshal(*v, &maxConcurrentConnections)
124339  				if err != nil {
124340  					return err
124341  				}
124342  				mas.MaxConcurrentConnections = maxConcurrentConnections
124343  			}
124344  		case "type":
124345  			if v != nil {
124346  				var typeVar TypeBasicCopySource
124347  				err = json.Unmarshal(*v, &typeVar)
124348  				if err != nil {
124349  					return err
124350  				}
124351  				mas.Type = typeVar
124352  			}
124353  		}
124354  	}
124355  
124356  	return nil
124357  }
124358  
124359  // MicrosoftAccessTableDataset the Microsoft Access table dataset.
124360  type MicrosoftAccessTableDataset struct {
124361  	// MicrosoftAccessTableDatasetTypeProperties - Microsoft Access table dataset properties.
124362  	*MicrosoftAccessTableDatasetTypeProperties `json:"typeProperties,omitempty"`
124363  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
124364  	AdditionalProperties map[string]interface{} `json:""`
124365  	// Description - Dataset description.
124366  	Description *string `json:"description,omitempty"`
124367  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
124368  	Structure interface{} `json:"structure,omitempty"`
124369  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
124370  	Schema interface{} `json:"schema,omitempty"`
124371  	// LinkedServiceName - Linked service reference.
124372  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
124373  	// Parameters - Parameters for dataset.
124374  	Parameters map[string]*ParameterSpecification `json:"parameters"`
124375  	// Annotations - List of tags that can be used for describing the Dataset.
124376  	Annotations *[]interface{} `json:"annotations,omitempty"`
124377  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
124378  	Folder *DatasetFolder `json:"folder,omitempty"`
124379  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
124380  	Type TypeBasicDataset `json:"type,omitempty"`
124381  }
124382  
124383  // MarshalJSON is the custom marshaler for MicrosoftAccessTableDataset.
124384  func (matd MicrosoftAccessTableDataset) MarshalJSON() ([]byte, error) {
124385  	matd.Type = TypeMicrosoftAccessTable
124386  	objectMap := make(map[string]interface{})
124387  	if matd.MicrosoftAccessTableDatasetTypeProperties != nil {
124388  		objectMap["typeProperties"] = matd.MicrosoftAccessTableDatasetTypeProperties
124389  	}
124390  	if matd.Description != nil {
124391  		objectMap["description"] = matd.Description
124392  	}
124393  	if matd.Structure != nil {
124394  		objectMap["structure"] = matd.Structure
124395  	}
124396  	if matd.Schema != nil {
124397  		objectMap["schema"] = matd.Schema
124398  	}
124399  	if matd.LinkedServiceName != nil {
124400  		objectMap["linkedServiceName"] = matd.LinkedServiceName
124401  	}
124402  	if matd.Parameters != nil {
124403  		objectMap["parameters"] = matd.Parameters
124404  	}
124405  	if matd.Annotations != nil {
124406  		objectMap["annotations"] = matd.Annotations
124407  	}
124408  	if matd.Folder != nil {
124409  		objectMap["folder"] = matd.Folder
124410  	}
124411  	if matd.Type != "" {
124412  		objectMap["type"] = matd.Type
124413  	}
124414  	for k, v := range matd.AdditionalProperties {
124415  		objectMap[k] = v
124416  	}
124417  	return json.Marshal(objectMap)
124418  }
124419  
124420  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124421  func (matd MicrosoftAccessTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
124422  	return nil, false
124423  }
124424  
124425  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124426  func (matd MicrosoftAccessTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
124427  	return nil, false
124428  }
124429  
124430  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124431  func (matd MicrosoftAccessTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
124432  	return nil, false
124433  }
124434  
124435  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124436  func (matd MicrosoftAccessTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
124437  	return nil, false
124438  }
124439  
124440  // AsResponsysObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124441  func (matd MicrosoftAccessTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
124442  	return nil, false
124443  }
124444  
124445  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124446  func (matd MicrosoftAccessTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
124447  	return nil, false
124448  }
124449  
124450  // AsVerticaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124451  func (matd MicrosoftAccessTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
124452  	return nil, false
124453  }
124454  
124455  // AsNetezzaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124456  func (matd MicrosoftAccessTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
124457  	return nil, false
124458  }
124459  
124460  // AsZohoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124461  func (matd MicrosoftAccessTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
124462  	return nil, false
124463  }
124464  
124465  // AsXeroObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124466  func (matd MicrosoftAccessTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
124467  	return nil, false
124468  }
124469  
124470  // AsSquareObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124471  func (matd MicrosoftAccessTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
124472  	return nil, false
124473  }
124474  
124475  // AsSparkObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124476  func (matd MicrosoftAccessTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
124477  	return nil, false
124478  }
124479  
124480  // AsShopifyObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124481  func (matd MicrosoftAccessTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
124482  	return nil, false
124483  }
124484  
124485  // AsServiceNowObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124486  func (matd MicrosoftAccessTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
124487  	return nil, false
124488  }
124489  
124490  // AsQuickBooksObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124491  func (matd MicrosoftAccessTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
124492  	return nil, false
124493  }
124494  
124495  // AsPrestoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124496  func (matd MicrosoftAccessTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
124497  	return nil, false
124498  }
124499  
124500  // AsPhoenixObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124501  func (matd MicrosoftAccessTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
124502  	return nil, false
124503  }
124504  
124505  // AsPaypalObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124506  func (matd MicrosoftAccessTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
124507  	return nil, false
124508  }
124509  
124510  // AsMarketoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124511  func (matd MicrosoftAccessTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
124512  	return nil, false
124513  }
124514  
124515  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124516  func (matd MicrosoftAccessTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
124517  	return nil, false
124518  }
124519  
124520  // AsMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124521  func (matd MicrosoftAccessTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
124522  	return nil, false
124523  }
124524  
124525  // AsMagentoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124526  func (matd MicrosoftAccessTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
124527  	return nil, false
124528  }
124529  
124530  // AsJiraObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124531  func (matd MicrosoftAccessTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
124532  	return nil, false
124533  }
124534  
124535  // AsImpalaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124536  func (matd MicrosoftAccessTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
124537  	return nil, false
124538  }
124539  
124540  // AsHubspotObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124541  func (matd MicrosoftAccessTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
124542  	return nil, false
124543  }
124544  
124545  // AsHiveObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124546  func (matd MicrosoftAccessTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
124547  	return nil, false
124548  }
124549  
124550  // AsHBaseObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124551  func (matd MicrosoftAccessTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
124552  	return nil, false
124553  }
124554  
124555  // AsGreenplumTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124556  func (matd MicrosoftAccessTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
124557  	return nil, false
124558  }
124559  
124560  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124561  func (matd MicrosoftAccessTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
124562  	return nil, false
124563  }
124564  
124565  // AsEloquaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124566  func (matd MicrosoftAccessTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
124567  	return nil, false
124568  }
124569  
124570  // AsDrillTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124571  func (matd MicrosoftAccessTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
124572  	return nil, false
124573  }
124574  
124575  // AsCouchbaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124576  func (matd MicrosoftAccessTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
124577  	return nil, false
124578  }
124579  
124580  // AsConcurObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124581  func (matd MicrosoftAccessTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
124582  	return nil, false
124583  }
124584  
124585  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124586  func (matd MicrosoftAccessTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
124587  	return nil, false
124588  }
124589  
124590  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124591  func (matd MicrosoftAccessTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
124592  	return nil, false
124593  }
124594  
124595  // AsAzureSearchIndexDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124596  func (matd MicrosoftAccessTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
124597  	return nil, false
124598  }
124599  
124600  // AsWebTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124601  func (matd MicrosoftAccessTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
124602  	return nil, false
124603  }
124604  
124605  // AsSapTableResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124606  func (matd MicrosoftAccessTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
124607  	return nil, false
124608  }
124609  
124610  // AsRestResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124611  func (matd MicrosoftAccessTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
124612  	return nil, false
124613  }
124614  
124615  // AsSQLServerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124616  func (matd MicrosoftAccessTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
124617  	return nil, false
124618  }
124619  
124620  // AsSapOpenHubTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124621  func (matd MicrosoftAccessTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
124622  	return nil, false
124623  }
124624  
124625  // AsSapHanaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124626  func (matd MicrosoftAccessTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
124627  	return nil, false
124628  }
124629  
124630  // AsSapEccResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124631  func (matd MicrosoftAccessTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
124632  	return nil, false
124633  }
124634  
124635  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124636  func (matd MicrosoftAccessTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
124637  	return nil, false
124638  }
124639  
124640  // AsSapBwCubeDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124641  func (matd MicrosoftAccessTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
124642  	return nil, false
124643  }
124644  
124645  // AsSybaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124646  func (matd MicrosoftAccessTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
124647  	return nil, false
124648  }
124649  
124650  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124651  func (matd MicrosoftAccessTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
124652  	return nil, false
124653  }
124654  
124655  // AsSalesforceObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124656  func (matd MicrosoftAccessTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
124657  	return nil, false
124658  }
124659  
124660  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124661  func (matd MicrosoftAccessTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
124662  	return &matd, true
124663  }
124664  
124665  // AsPostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124666  func (matd MicrosoftAccessTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
124667  	return nil, false
124668  }
124669  
124670  // AsMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124671  func (matd MicrosoftAccessTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
124672  	return nil, false
124673  }
124674  
124675  // AsOdbcTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124676  func (matd MicrosoftAccessTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
124677  	return nil, false
124678  }
124679  
124680  // AsInformixTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124681  func (matd MicrosoftAccessTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
124682  	return nil, false
124683  }
124684  
124685  // AsRelationalTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124686  func (matd MicrosoftAccessTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
124687  	return nil, false
124688  }
124689  
124690  // AsDb2TableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124691  func (matd MicrosoftAccessTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
124692  	return nil, false
124693  }
124694  
124695  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124696  func (matd MicrosoftAccessTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
124697  	return nil, false
124698  }
124699  
124700  // AsAzureMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124701  func (matd MicrosoftAccessTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
124702  	return nil, false
124703  }
124704  
124705  // AsTeradataTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124706  func (matd MicrosoftAccessTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
124707  	return nil, false
124708  }
124709  
124710  // AsOracleTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124711  func (matd MicrosoftAccessTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
124712  	return nil, false
124713  }
124714  
124715  // AsODataResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124716  func (matd MicrosoftAccessTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
124717  	return nil, false
124718  }
124719  
124720  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124721  func (matd MicrosoftAccessTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
124722  	return nil, false
124723  }
124724  
124725  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124726  func (matd MicrosoftAccessTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
124727  	return nil, false
124728  }
124729  
124730  // AsMongoDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124731  func (matd MicrosoftAccessTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
124732  	return nil, false
124733  }
124734  
124735  // AsOffice365Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124736  func (matd MicrosoftAccessTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
124737  	return nil, false
124738  }
124739  
124740  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124741  func (matd MicrosoftAccessTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
124742  	return nil, false
124743  }
124744  
124745  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124746  func (matd MicrosoftAccessTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
124747  	return nil, false
124748  }
124749  
124750  // AsDynamicsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124751  func (matd MicrosoftAccessTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
124752  	return nil, false
124753  }
124754  
124755  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124756  func (matd MicrosoftAccessTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
124757  	return nil, false
124758  }
124759  
124760  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124761  func (matd MicrosoftAccessTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
124762  	return nil, false
124763  }
124764  
124765  // AsCustomDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124766  func (matd MicrosoftAccessTableDataset) AsCustomDataset() (*CustomDataset, bool) {
124767  	return nil, false
124768  }
124769  
124770  // AsCassandraTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124771  func (matd MicrosoftAccessTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
124772  	return nil, false
124773  }
124774  
124775  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124776  func (matd MicrosoftAccessTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
124777  	return nil, false
124778  }
124779  
124780  // AsAzureSQLMITableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124781  func (matd MicrosoftAccessTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
124782  	return nil, false
124783  }
124784  
124785  // AsAzureSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124786  func (matd MicrosoftAccessTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
124787  	return nil, false
124788  }
124789  
124790  // AsAzureTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124791  func (matd MicrosoftAccessTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
124792  	return nil, false
124793  }
124794  
124795  // AsBinaryDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124796  func (matd MicrosoftAccessTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
124797  	return nil, false
124798  }
124799  
124800  // AsOrcDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124801  func (matd MicrosoftAccessTableDataset) AsOrcDataset() (*OrcDataset, bool) {
124802  	return nil, false
124803  }
124804  
124805  // AsJSONDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124806  func (matd MicrosoftAccessTableDataset) AsJSONDataset() (*JSONDataset, bool) {
124807  	return nil, false
124808  }
124809  
124810  // AsDelimitedTextDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124811  func (matd MicrosoftAccessTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
124812  	return nil, false
124813  }
124814  
124815  // AsParquetDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124816  func (matd MicrosoftAccessTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
124817  	return nil, false
124818  }
124819  
124820  // AsAvroDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124821  func (matd MicrosoftAccessTableDataset) AsAvroDataset() (*AvroDataset, bool) {
124822  	return nil, false
124823  }
124824  
124825  // AsDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124826  func (matd MicrosoftAccessTableDataset) AsDataset() (*Dataset, bool) {
124827  	return nil, false
124828  }
124829  
124830  // AsBasicDataset is the BasicDataset implementation for MicrosoftAccessTableDataset.
124831  func (matd MicrosoftAccessTableDataset) AsBasicDataset() (BasicDataset, bool) {
124832  	return &matd, true
124833  }
124834  
124835  // UnmarshalJSON is the custom unmarshaler for MicrosoftAccessTableDataset struct.
124836  func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error {
124837  	var m map[string]*json.RawMessage
124838  	err := json.Unmarshal(body, &m)
124839  	if err != nil {
124840  		return err
124841  	}
124842  	for k, v := range m {
124843  		switch k {
124844  		case "typeProperties":
124845  			if v != nil {
124846  				var microsoftAccessTableDatasetTypeProperties MicrosoftAccessTableDatasetTypeProperties
124847  				err = json.Unmarshal(*v, &microsoftAccessTableDatasetTypeProperties)
124848  				if err != nil {
124849  					return err
124850  				}
124851  				matd.MicrosoftAccessTableDatasetTypeProperties = &microsoftAccessTableDatasetTypeProperties
124852  			}
124853  		default:
124854  			if v != nil {
124855  				var additionalProperties interface{}
124856  				err = json.Unmarshal(*v, &additionalProperties)
124857  				if err != nil {
124858  					return err
124859  				}
124860  				if matd.AdditionalProperties == nil {
124861  					matd.AdditionalProperties = make(map[string]interface{})
124862  				}
124863  				matd.AdditionalProperties[k] = additionalProperties
124864  			}
124865  		case "description":
124866  			if v != nil {
124867  				var description string
124868  				err = json.Unmarshal(*v, &description)
124869  				if err != nil {
124870  					return err
124871  				}
124872  				matd.Description = &description
124873  			}
124874  		case "structure":
124875  			if v != nil {
124876  				var structure interface{}
124877  				err = json.Unmarshal(*v, &structure)
124878  				if err != nil {
124879  					return err
124880  				}
124881  				matd.Structure = structure
124882  			}
124883  		case "schema":
124884  			if v != nil {
124885  				var schema interface{}
124886  				err = json.Unmarshal(*v, &schema)
124887  				if err != nil {
124888  					return err
124889  				}
124890  				matd.Schema = schema
124891  			}
124892  		case "linkedServiceName":
124893  			if v != nil {
124894  				var linkedServiceName LinkedServiceReference
124895  				err = json.Unmarshal(*v, &linkedServiceName)
124896  				if err != nil {
124897  					return err
124898  				}
124899  				matd.LinkedServiceName = &linkedServiceName
124900  			}
124901  		case "parameters":
124902  			if v != nil {
124903  				var parameters map[string]*ParameterSpecification
124904  				err = json.Unmarshal(*v, &parameters)
124905  				if err != nil {
124906  					return err
124907  				}
124908  				matd.Parameters = parameters
124909  			}
124910  		case "annotations":
124911  			if v != nil {
124912  				var annotations []interface{}
124913  				err = json.Unmarshal(*v, &annotations)
124914  				if err != nil {
124915  					return err
124916  				}
124917  				matd.Annotations = &annotations
124918  			}
124919  		case "folder":
124920  			if v != nil {
124921  				var folder DatasetFolder
124922  				err = json.Unmarshal(*v, &folder)
124923  				if err != nil {
124924  					return err
124925  				}
124926  				matd.Folder = &folder
124927  			}
124928  		case "type":
124929  			if v != nil {
124930  				var typeVar TypeBasicDataset
124931  				err = json.Unmarshal(*v, &typeVar)
124932  				if err != nil {
124933  					return err
124934  				}
124935  				matd.Type = typeVar
124936  			}
124937  		}
124938  	}
124939  
124940  	return nil
124941  }
124942  
124943  // MicrosoftAccessTableDatasetTypeProperties microsoft Access table dataset properties.
124944  type MicrosoftAccessTableDatasetTypeProperties struct {
124945  	// TableName - The Microsoft Access table name. Type: string (or Expression with resultType string).
124946  	TableName interface{} `json:"tableName,omitempty"`
124947  }
124948  
124949  // MongoDbCollectionDataset the MongoDB database dataset.
124950  type MongoDbCollectionDataset struct {
124951  	// MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties.
124952  	*MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
124953  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
124954  	AdditionalProperties map[string]interface{} `json:""`
124955  	// Description - Dataset description.
124956  	Description *string `json:"description,omitempty"`
124957  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
124958  	Structure interface{} `json:"structure,omitempty"`
124959  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
124960  	Schema interface{} `json:"schema,omitempty"`
124961  	// LinkedServiceName - Linked service reference.
124962  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
124963  	// Parameters - Parameters for dataset.
124964  	Parameters map[string]*ParameterSpecification `json:"parameters"`
124965  	// Annotations - List of tags that can be used for describing the Dataset.
124966  	Annotations *[]interface{} `json:"annotations,omitempty"`
124967  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
124968  	Folder *DatasetFolder `json:"folder,omitempty"`
124969  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
124970  	Type TypeBasicDataset `json:"type,omitempty"`
124971  }
124972  
124973  // MarshalJSON is the custom marshaler for MongoDbCollectionDataset.
124974  func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) {
124975  	mdcd.Type = TypeMongoDbCollection
124976  	objectMap := make(map[string]interface{})
124977  	if mdcd.MongoDbCollectionDatasetTypeProperties != nil {
124978  		objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties
124979  	}
124980  	if mdcd.Description != nil {
124981  		objectMap["description"] = mdcd.Description
124982  	}
124983  	if mdcd.Structure != nil {
124984  		objectMap["structure"] = mdcd.Structure
124985  	}
124986  	if mdcd.Schema != nil {
124987  		objectMap["schema"] = mdcd.Schema
124988  	}
124989  	if mdcd.LinkedServiceName != nil {
124990  		objectMap["linkedServiceName"] = mdcd.LinkedServiceName
124991  	}
124992  	if mdcd.Parameters != nil {
124993  		objectMap["parameters"] = mdcd.Parameters
124994  	}
124995  	if mdcd.Annotations != nil {
124996  		objectMap["annotations"] = mdcd.Annotations
124997  	}
124998  	if mdcd.Folder != nil {
124999  		objectMap["folder"] = mdcd.Folder
125000  	}
125001  	if mdcd.Type != "" {
125002  		objectMap["type"] = mdcd.Type
125003  	}
125004  	for k, v := range mdcd.AdditionalProperties {
125005  		objectMap[k] = v
125006  	}
125007  	return json.Marshal(objectMap)
125008  }
125009  
125010  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125011  func (mdcd MongoDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
125012  	return nil, false
125013  }
125014  
125015  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125016  func (mdcd MongoDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
125017  	return nil, false
125018  }
125019  
125020  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125021  func (mdcd MongoDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
125022  	return nil, false
125023  }
125024  
125025  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125026  func (mdcd MongoDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
125027  	return nil, false
125028  }
125029  
125030  // AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125031  func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
125032  	return nil, false
125033  }
125034  
125035  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125036  func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
125037  	return nil, false
125038  }
125039  
125040  // AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125041  func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
125042  	return nil, false
125043  }
125044  
125045  // AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125046  func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
125047  	return nil, false
125048  }
125049  
125050  // AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125051  func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
125052  	return nil, false
125053  }
125054  
125055  // AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125056  func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
125057  	return nil, false
125058  }
125059  
125060  // AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125061  func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
125062  	return nil, false
125063  }
125064  
125065  // AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125066  func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
125067  	return nil, false
125068  }
125069  
125070  // AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125071  func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
125072  	return nil, false
125073  }
125074  
125075  // AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125076  func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
125077  	return nil, false
125078  }
125079  
125080  // AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125081  func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
125082  	return nil, false
125083  }
125084  
125085  // AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125086  func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
125087  	return nil, false
125088  }
125089  
125090  // AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125091  func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
125092  	return nil, false
125093  }
125094  
125095  // AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125096  func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
125097  	return nil, false
125098  }
125099  
125100  // AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125101  func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
125102  	return nil, false
125103  }
125104  
125105  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125106  func (mdcd MongoDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
125107  	return nil, false
125108  }
125109  
125110  // AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125111  func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
125112  	return nil, false
125113  }
125114  
125115  // AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125116  func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
125117  	return nil, false
125118  }
125119  
125120  // AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125121  func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
125122  	return nil, false
125123  }
125124  
125125  // AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125126  func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
125127  	return nil, false
125128  }
125129  
125130  // AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125131  func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
125132  	return nil, false
125133  }
125134  
125135  // AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125136  func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
125137  	return nil, false
125138  }
125139  
125140  // AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125141  func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
125142  	return nil, false
125143  }
125144  
125145  // AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125146  func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
125147  	return nil, false
125148  }
125149  
125150  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125151  func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
125152  	return nil, false
125153  }
125154  
125155  // AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125156  func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
125157  	return nil, false
125158  }
125159  
125160  // AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125161  func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
125162  	return nil, false
125163  }
125164  
125165  // AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125166  func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
125167  	return nil, false
125168  }
125169  
125170  // AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125171  func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
125172  	return nil, false
125173  }
125174  
125175  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125176  func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
125177  	return nil, false
125178  }
125179  
125180  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125181  func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
125182  	return nil, false
125183  }
125184  
125185  // AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125186  func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
125187  	return nil, false
125188  }
125189  
125190  // AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125191  func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
125192  	return nil, false
125193  }
125194  
125195  // AsSapTableResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125196  func (mdcd MongoDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
125197  	return nil, false
125198  }
125199  
125200  // AsRestResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125201  func (mdcd MongoDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
125202  	return nil, false
125203  }
125204  
125205  // AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125206  func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
125207  	return nil, false
125208  }
125209  
125210  // AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125211  func (mdcd MongoDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
125212  	return nil, false
125213  }
125214  
125215  // AsSapHanaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125216  func (mdcd MongoDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
125217  	return nil, false
125218  }
125219  
125220  // AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125221  func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
125222  	return nil, false
125223  }
125224  
125225  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125226  func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
125227  	return nil, false
125228  }
125229  
125230  // AsSapBwCubeDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125231  func (mdcd MongoDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
125232  	return nil, false
125233  }
125234  
125235  // AsSybaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125236  func (mdcd MongoDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
125237  	return nil, false
125238  }
125239  
125240  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125241  func (mdcd MongoDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
125242  	return nil, false
125243  }
125244  
125245  // AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125246  func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
125247  	return nil, false
125248  }
125249  
125250  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125251  func (mdcd MongoDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
125252  	return nil, false
125253  }
125254  
125255  // AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125256  func (mdcd MongoDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
125257  	return nil, false
125258  }
125259  
125260  // AsMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125261  func (mdcd MongoDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
125262  	return nil, false
125263  }
125264  
125265  // AsOdbcTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125266  func (mdcd MongoDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
125267  	return nil, false
125268  }
125269  
125270  // AsInformixTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125271  func (mdcd MongoDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
125272  	return nil, false
125273  }
125274  
125275  // AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125276  func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
125277  	return nil, false
125278  }
125279  
125280  // AsDb2TableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125281  func (mdcd MongoDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
125282  	return nil, false
125283  }
125284  
125285  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125286  func (mdcd MongoDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
125287  	return nil, false
125288  }
125289  
125290  // AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125291  func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
125292  	return nil, false
125293  }
125294  
125295  // AsTeradataTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125296  func (mdcd MongoDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
125297  	return nil, false
125298  }
125299  
125300  // AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125301  func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
125302  	return nil, false
125303  }
125304  
125305  // AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125306  func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
125307  	return nil, false
125308  }
125309  
125310  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125311  func (mdcd MongoDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
125312  	return nil, false
125313  }
125314  
125315  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125316  func (mdcd MongoDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
125317  	return nil, false
125318  }
125319  
125320  // AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125321  func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
125322  	return &mdcd, true
125323  }
125324  
125325  // AsOffice365Dataset is the BasicDataset implementation for MongoDbCollectionDataset.
125326  func (mdcd MongoDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
125327  	return nil, false
125328  }
125329  
125330  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125331  func (mdcd MongoDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
125332  	return nil, false
125333  }
125334  
125335  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125336  func (mdcd MongoDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
125337  	return nil, false
125338  }
125339  
125340  // AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125341  func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
125342  	return nil, false
125343  }
125344  
125345  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125346  func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
125347  	return nil, false
125348  }
125349  
125350  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125351  func (mdcd MongoDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
125352  	return nil, false
125353  }
125354  
125355  // AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125356  func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
125357  	return nil, false
125358  }
125359  
125360  // AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125361  func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
125362  	return nil, false
125363  }
125364  
125365  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125366  func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
125367  	return nil, false
125368  }
125369  
125370  // AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125371  func (mdcd MongoDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
125372  	return nil, false
125373  }
125374  
125375  // AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125376  func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
125377  	return nil, false
125378  }
125379  
125380  // AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125381  func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
125382  	return nil, false
125383  }
125384  
125385  // AsBinaryDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125386  func (mdcd MongoDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
125387  	return nil, false
125388  }
125389  
125390  // AsOrcDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125391  func (mdcd MongoDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) {
125392  	return nil, false
125393  }
125394  
125395  // AsJSONDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125396  func (mdcd MongoDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) {
125397  	return nil, false
125398  }
125399  
125400  // AsDelimitedTextDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125401  func (mdcd MongoDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
125402  	return nil, false
125403  }
125404  
125405  // AsParquetDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125406  func (mdcd MongoDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
125407  	return nil, false
125408  }
125409  
125410  // AsAvroDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125411  func (mdcd MongoDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) {
125412  	return nil, false
125413  }
125414  
125415  // AsDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125416  func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) {
125417  	return nil, false
125418  }
125419  
125420  // AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset.
125421  func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) {
125422  	return &mdcd, true
125423  }
125424  
125425  // UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct.
125426  func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error {
125427  	var m map[string]*json.RawMessage
125428  	err := json.Unmarshal(body, &m)
125429  	if err != nil {
125430  		return err
125431  	}
125432  	for k, v := range m {
125433  		switch k {
125434  		case "typeProperties":
125435  			if v != nil {
125436  				var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties
125437  				err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties)
125438  				if err != nil {
125439  					return err
125440  				}
125441  				mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties
125442  			}
125443  		default:
125444  			if v != nil {
125445  				var additionalProperties interface{}
125446  				err = json.Unmarshal(*v, &additionalProperties)
125447  				if err != nil {
125448  					return err
125449  				}
125450  				if mdcd.AdditionalProperties == nil {
125451  					mdcd.AdditionalProperties = make(map[string]interface{})
125452  				}
125453  				mdcd.AdditionalProperties[k] = additionalProperties
125454  			}
125455  		case "description":
125456  			if v != nil {
125457  				var description string
125458  				err = json.Unmarshal(*v, &description)
125459  				if err != nil {
125460  					return err
125461  				}
125462  				mdcd.Description = &description
125463  			}
125464  		case "structure":
125465  			if v != nil {
125466  				var structure interface{}
125467  				err = json.Unmarshal(*v, &structure)
125468  				if err != nil {
125469  					return err
125470  				}
125471  				mdcd.Structure = structure
125472  			}
125473  		case "schema":
125474  			if v != nil {
125475  				var schema interface{}
125476  				err = json.Unmarshal(*v, &schema)
125477  				if err != nil {
125478  					return err
125479  				}
125480  				mdcd.Schema = schema
125481  			}
125482  		case "linkedServiceName":
125483  			if v != nil {
125484  				var linkedServiceName LinkedServiceReference
125485  				err = json.Unmarshal(*v, &linkedServiceName)
125486  				if err != nil {
125487  					return err
125488  				}
125489  				mdcd.LinkedServiceName = &linkedServiceName
125490  			}
125491  		case "parameters":
125492  			if v != nil {
125493  				var parameters map[string]*ParameterSpecification
125494  				err = json.Unmarshal(*v, &parameters)
125495  				if err != nil {
125496  					return err
125497  				}
125498  				mdcd.Parameters = parameters
125499  			}
125500  		case "annotations":
125501  			if v != nil {
125502  				var annotations []interface{}
125503  				err = json.Unmarshal(*v, &annotations)
125504  				if err != nil {
125505  					return err
125506  				}
125507  				mdcd.Annotations = &annotations
125508  			}
125509  		case "folder":
125510  			if v != nil {
125511  				var folder DatasetFolder
125512  				err = json.Unmarshal(*v, &folder)
125513  				if err != nil {
125514  					return err
125515  				}
125516  				mdcd.Folder = &folder
125517  			}
125518  		case "type":
125519  			if v != nil {
125520  				var typeVar TypeBasicDataset
125521  				err = json.Unmarshal(*v, &typeVar)
125522  				if err != nil {
125523  					return err
125524  				}
125525  				mdcd.Type = typeVar
125526  			}
125527  		}
125528  	}
125529  
125530  	return nil
125531  }
125532  
125533  // MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties.
125534  type MongoDbCollectionDatasetTypeProperties struct {
125535  	// CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string).
125536  	CollectionName interface{} `json:"collectionName,omitempty"`
125537  }
125538  
125539  // MongoDbCursorMethodsProperties cursor methods for Mongodb query
125540  type MongoDbCursorMethodsProperties struct {
125541  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
125542  	AdditionalProperties map[string]interface{} `json:""`
125543  	// 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).
125544  	Project interface{} `json:"project,omitempty"`
125545  	// 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).
125546  	Sort interface{} `json:"sort,omitempty"`
125547  	// 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).
125548  	Skip interface{} `json:"skip,omitempty"`
125549  	// 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).
125550  	Limit interface{} `json:"limit,omitempty"`
125551  }
125552  
125553  // MarshalJSON is the custom marshaler for MongoDbCursorMethodsProperties.
125554  func (mdcmp MongoDbCursorMethodsProperties) MarshalJSON() ([]byte, error) {
125555  	objectMap := make(map[string]interface{})
125556  	if mdcmp.Project != nil {
125557  		objectMap["project"] = mdcmp.Project
125558  	}
125559  	if mdcmp.Sort != nil {
125560  		objectMap["sort"] = mdcmp.Sort
125561  	}
125562  	if mdcmp.Skip != nil {
125563  		objectMap["skip"] = mdcmp.Skip
125564  	}
125565  	if mdcmp.Limit != nil {
125566  		objectMap["limit"] = mdcmp.Limit
125567  	}
125568  	for k, v := range mdcmp.AdditionalProperties {
125569  		objectMap[k] = v
125570  	}
125571  	return json.Marshal(objectMap)
125572  }
125573  
125574  // UnmarshalJSON is the custom unmarshaler for MongoDbCursorMethodsProperties struct.
125575  func (mdcmp *MongoDbCursorMethodsProperties) UnmarshalJSON(body []byte) error {
125576  	var m map[string]*json.RawMessage
125577  	err := json.Unmarshal(body, &m)
125578  	if err != nil {
125579  		return err
125580  	}
125581  	for k, v := range m {
125582  		switch k {
125583  		default:
125584  			if v != nil {
125585  				var additionalProperties interface{}
125586  				err = json.Unmarshal(*v, &additionalProperties)
125587  				if err != nil {
125588  					return err
125589  				}
125590  				if mdcmp.AdditionalProperties == nil {
125591  					mdcmp.AdditionalProperties = make(map[string]interface{})
125592  				}
125593  				mdcmp.AdditionalProperties[k] = additionalProperties
125594  			}
125595  		case "project":
125596  			if v != nil {
125597  				var project interface{}
125598  				err = json.Unmarshal(*v, &project)
125599  				if err != nil {
125600  					return err
125601  				}
125602  				mdcmp.Project = project
125603  			}
125604  		case "sort":
125605  			if v != nil {
125606  				var sortVar interface{}
125607  				err = json.Unmarshal(*v, &sortVar)
125608  				if err != nil {
125609  					return err
125610  				}
125611  				mdcmp.Sort = sortVar
125612  			}
125613  		case "skip":
125614  			if v != nil {
125615  				var skip interface{}
125616  				err = json.Unmarshal(*v, &skip)
125617  				if err != nil {
125618  					return err
125619  				}
125620  				mdcmp.Skip = skip
125621  			}
125622  		case "limit":
125623  			if v != nil {
125624  				var limit interface{}
125625  				err = json.Unmarshal(*v, &limit)
125626  				if err != nil {
125627  					return err
125628  				}
125629  				mdcmp.Limit = limit
125630  			}
125631  		}
125632  	}
125633  
125634  	return nil
125635  }
125636  
125637  // MongoDbLinkedService linked service for MongoDb data source.
125638  type MongoDbLinkedService struct {
125639  	// MongoDbLinkedServiceTypeProperties - MongoDB linked service properties.
125640  	*MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
125641  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
125642  	AdditionalProperties map[string]interface{} `json:""`
125643  	// ConnectVia - The integration runtime reference.
125644  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
125645  	// Description - Linked service description.
125646  	Description *string `json:"description,omitempty"`
125647  	// Parameters - Parameters for linked service.
125648  	Parameters map[string]*ParameterSpecification `json:"parameters"`
125649  	// Annotations - List of tags that can be used for describing the linked service.
125650  	Annotations *[]interface{} `json:"annotations,omitempty"`
125651  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
125652  	Type TypeBasicLinkedService `json:"type,omitempty"`
125653  }
125654  
125655  // MarshalJSON is the custom marshaler for MongoDbLinkedService.
125656  func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) {
125657  	mdls.Type = TypeMongoDb
125658  	objectMap := make(map[string]interface{})
125659  	if mdls.MongoDbLinkedServiceTypeProperties != nil {
125660  		objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties
125661  	}
125662  	if mdls.ConnectVia != nil {
125663  		objectMap["connectVia"] = mdls.ConnectVia
125664  	}
125665  	if mdls.Description != nil {
125666  		objectMap["description"] = mdls.Description
125667  	}
125668  	if mdls.Parameters != nil {
125669  		objectMap["parameters"] = mdls.Parameters
125670  	}
125671  	if mdls.Annotations != nil {
125672  		objectMap["annotations"] = mdls.Annotations
125673  	}
125674  	if mdls.Type != "" {
125675  		objectMap["type"] = mdls.Type
125676  	}
125677  	for k, v := range mdls.AdditionalProperties {
125678  		objectMap[k] = v
125679  	}
125680  	return json.Marshal(objectMap)
125681  }
125682  
125683  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125684  func (mdls MongoDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
125685  	return nil, false
125686  }
125687  
125688  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125689  func (mdls MongoDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
125690  	return nil, false
125691  }
125692  
125693  // AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125694  func (mdls MongoDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
125695  	return nil, false
125696  }
125697  
125698  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125699  func (mdls MongoDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
125700  	return nil, false
125701  }
125702  
125703  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125704  func (mdls MongoDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
125705  	return nil, false
125706  }
125707  
125708  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125709  func (mdls MongoDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
125710  	return nil, false
125711  }
125712  
125713  // AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125714  func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
125715  	return nil, false
125716  }
125717  
125718  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125719  func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
125720  	return nil, false
125721  }
125722  
125723  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125724  func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
125725  	return nil, false
125726  }
125727  
125728  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125729  func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
125730  	return nil, false
125731  }
125732  
125733  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125734  func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
125735  	return nil, false
125736  }
125737  
125738  // AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125739  func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
125740  	return nil, false
125741  }
125742  
125743  // AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125744  func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
125745  	return nil, false
125746  }
125747  
125748  // AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125749  func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
125750  	return nil, false
125751  }
125752  
125753  // AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125754  func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
125755  	return nil, false
125756  }
125757  
125758  // AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125759  func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
125760  	return nil, false
125761  }
125762  
125763  // AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125764  func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
125765  	return nil, false
125766  }
125767  
125768  // AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125769  func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
125770  	return nil, false
125771  }
125772  
125773  // AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125774  func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
125775  	return nil, false
125776  }
125777  
125778  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125779  func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
125780  	return nil, false
125781  }
125782  
125783  // AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125784  func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
125785  	return nil, false
125786  }
125787  
125788  // AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125789  func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
125790  	return nil, false
125791  }
125792  
125793  // AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125794  func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
125795  	return nil, false
125796  }
125797  
125798  // AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125799  func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
125800  	return nil, false
125801  }
125802  
125803  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125804  func (mdls MongoDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
125805  	return nil, false
125806  }
125807  
125808  // AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125809  func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
125810  	return nil, false
125811  }
125812  
125813  // AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125814  func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
125815  	return nil, false
125816  }
125817  
125818  // AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125819  func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
125820  	return nil, false
125821  }
125822  
125823  // AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125824  func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
125825  	return nil, false
125826  }
125827  
125828  // AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125829  func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
125830  	return nil, false
125831  }
125832  
125833  // AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125834  func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
125835  	return nil, false
125836  }
125837  
125838  // AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125839  func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
125840  	return nil, false
125841  }
125842  
125843  // AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125844  func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
125845  	return nil, false
125846  }
125847  
125848  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125849  func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
125850  	return nil, false
125851  }
125852  
125853  // AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125854  func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
125855  	return nil, false
125856  }
125857  
125858  // AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125859  func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
125860  	return nil, false
125861  }
125862  
125863  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125864  func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
125865  	return nil, false
125866  }
125867  
125868  // AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125869  func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
125870  	return nil, false
125871  }
125872  
125873  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125874  func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
125875  	return nil, false
125876  }
125877  
125878  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125879  func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
125880  	return nil, false
125881  }
125882  
125883  // AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125884  func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
125885  	return nil, false
125886  }
125887  
125888  // AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125889  func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
125890  	return nil, false
125891  }
125892  
125893  // AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125894  func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
125895  	return nil, false
125896  }
125897  
125898  // AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125899  func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
125900  	return nil, false
125901  }
125902  
125903  // AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125904  func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
125905  	return nil, false
125906  }
125907  
125908  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125909  func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
125910  	return nil, false
125911  }
125912  
125913  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125914  func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
125915  	return nil, false
125916  }
125917  
125918  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125919  func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
125920  	return nil, false
125921  }
125922  
125923  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125924  func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
125925  	return nil, false
125926  }
125927  
125928  // AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125929  func (mdls MongoDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
125930  	return nil, false
125931  }
125932  
125933  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125934  func (mdls MongoDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
125935  	return nil, false
125936  }
125937  
125938  // AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125939  func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
125940  	return nil, false
125941  }
125942  
125943  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125944  func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
125945  	return nil, false
125946  }
125947  
125948  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125949  func (mdls MongoDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
125950  	return nil, false
125951  }
125952  
125953  // AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125954  func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
125955  	return nil, false
125956  }
125957  
125958  // AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125959  func (mdls MongoDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
125960  	return nil, false
125961  }
125962  
125963  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125964  func (mdls MongoDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
125965  	return nil, false
125966  }
125967  
125968  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125969  func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
125970  	return nil, false
125971  }
125972  
125973  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125974  func (mdls MongoDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
125975  	return nil, false
125976  }
125977  
125978  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125979  func (mdls MongoDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
125980  	return nil, false
125981  }
125982  
125983  // AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125984  func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
125985  	return &mdls, true
125986  }
125987  
125988  // AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125989  func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
125990  	return nil, false
125991  }
125992  
125993  // AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125994  func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
125995  	return nil, false
125996  }
125997  
125998  // AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
125999  func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
126000  	return nil, false
126001  }
126002  
126003  // AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126004  func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
126005  	return nil, false
126006  }
126007  
126008  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126009  func (mdls MongoDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
126010  	return nil, false
126011  }
126012  
126013  // AsInformixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126014  func (mdls MongoDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
126015  	return nil, false
126016  }
126017  
126018  // AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126019  func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
126020  	return nil, false
126021  }
126022  
126023  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126024  func (mdls MongoDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
126025  	return nil, false
126026  }
126027  
126028  // AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126029  func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
126030  	return nil, false
126031  }
126032  
126033  // AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126034  func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
126035  	return nil, false
126036  }
126037  
126038  // AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126039  func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
126040  	return nil, false
126041  }
126042  
126043  // AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126044  func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
126045  	return nil, false
126046  }
126047  
126048  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126049  func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
126050  	return nil, false
126051  }
126052  
126053  // AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126054  func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
126055  	return nil, false
126056  }
126057  
126058  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126059  func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
126060  	return nil, false
126061  }
126062  
126063  // AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126064  func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
126065  	return nil, false
126066  }
126067  
126068  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126069  func (mdls MongoDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
126070  	return nil, false
126071  }
126072  
126073  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126074  func (mdls MongoDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
126075  	return nil, false
126076  }
126077  
126078  // AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126079  func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
126080  	return nil, false
126081  }
126082  
126083  // AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126084  func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
126085  	return nil, false
126086  }
126087  
126088  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126089  func (mdls MongoDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
126090  	return nil, false
126091  }
126092  
126093  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126094  func (mdls MongoDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
126095  	return nil, false
126096  }
126097  
126098  // AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126099  func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
126100  	return nil, false
126101  }
126102  
126103  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126104  func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
126105  	return nil, false
126106  }
126107  
126108  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126109  func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
126110  	return nil, false
126111  }
126112  
126113  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126114  func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
126115  	return nil, false
126116  }
126117  
126118  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126119  func (mdls MongoDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
126120  	return nil, false
126121  }
126122  
126123  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126124  func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
126125  	return nil, false
126126  }
126127  
126128  // AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126129  func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
126130  	return nil, false
126131  }
126132  
126133  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126134  func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
126135  	return nil, false
126136  }
126137  
126138  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126139  func (mdls MongoDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
126140  	return nil, false
126141  }
126142  
126143  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126144  func (mdls MongoDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
126145  	return nil, false
126146  }
126147  
126148  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126149  func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
126150  	return nil, false
126151  }
126152  
126153  // AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126154  func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) {
126155  	return nil, false
126156  }
126157  
126158  // AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService.
126159  func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
126160  	return &mdls, true
126161  }
126162  
126163  // UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct.
126164  func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error {
126165  	var m map[string]*json.RawMessage
126166  	err := json.Unmarshal(body, &m)
126167  	if err != nil {
126168  		return err
126169  	}
126170  	for k, v := range m {
126171  		switch k {
126172  		case "typeProperties":
126173  			if v != nil {
126174  				var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties
126175  				err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties)
126176  				if err != nil {
126177  					return err
126178  				}
126179  				mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties
126180  			}
126181  		default:
126182  			if v != nil {
126183  				var additionalProperties interface{}
126184  				err = json.Unmarshal(*v, &additionalProperties)
126185  				if err != nil {
126186  					return err
126187  				}
126188  				if mdls.AdditionalProperties == nil {
126189  					mdls.AdditionalProperties = make(map[string]interface{})
126190  				}
126191  				mdls.AdditionalProperties[k] = additionalProperties
126192  			}
126193  		case "connectVia":
126194  			if v != nil {
126195  				var connectVia IntegrationRuntimeReference
126196  				err = json.Unmarshal(*v, &connectVia)
126197  				if err != nil {
126198  					return err
126199  				}
126200  				mdls.ConnectVia = &connectVia
126201  			}
126202  		case "description":
126203  			if v != nil {
126204  				var description string
126205  				err = json.Unmarshal(*v, &description)
126206  				if err != nil {
126207  					return err
126208  				}
126209  				mdls.Description = &description
126210  			}
126211  		case "parameters":
126212  			if v != nil {
126213  				var parameters map[string]*ParameterSpecification
126214  				err = json.Unmarshal(*v, &parameters)
126215  				if err != nil {
126216  					return err
126217  				}
126218  				mdls.Parameters = parameters
126219  			}
126220  		case "annotations":
126221  			if v != nil {
126222  				var annotations []interface{}
126223  				err = json.Unmarshal(*v, &annotations)
126224  				if err != nil {
126225  					return err
126226  				}
126227  				mdls.Annotations = &annotations
126228  			}
126229  		case "type":
126230  			if v != nil {
126231  				var typeVar TypeBasicLinkedService
126232  				err = json.Unmarshal(*v, &typeVar)
126233  				if err != nil {
126234  					return err
126235  				}
126236  				mdls.Type = typeVar
126237  			}
126238  		}
126239  	}
126240  
126241  	return nil
126242  }
126243  
126244  // MongoDbLinkedServiceTypeProperties mongoDB linked service properties.
126245  type MongoDbLinkedServiceTypeProperties struct {
126246  	// Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string).
126247  	Server interface{} `json:"server,omitempty"`
126248  	// AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous'
126249  	AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"`
126250  	// DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
126251  	DatabaseName interface{} `json:"databaseName,omitempty"`
126252  	// Username - Username for authentication. Type: string (or Expression with resultType string).
126253  	Username interface{} `json:"username,omitempty"`
126254  	// Password - Password for authentication.
126255  	Password BasicSecretBase `json:"password,omitempty"`
126256  	// AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string).
126257  	AuthSource interface{} `json:"authSource,omitempty"`
126258  	// 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.
126259  	Port interface{} `json:"port,omitempty"`
126260  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean).
126261  	EnableSsl interface{} `json:"enableSsl,omitempty"`
126262  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean).
126263  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
126264  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
126265  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
126266  }
126267  
126268  // UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct.
126269  func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
126270  	var m map[string]*json.RawMessage
126271  	err := json.Unmarshal(body, &m)
126272  	if err != nil {
126273  		return err
126274  	}
126275  	for k, v := range m {
126276  		switch k {
126277  		case "server":
126278  			if v != nil {
126279  				var server interface{}
126280  				err = json.Unmarshal(*v, &server)
126281  				if err != nil {
126282  					return err
126283  				}
126284  				mdlstp.Server = server
126285  			}
126286  		case "authenticationType":
126287  			if v != nil {
126288  				var authenticationType MongoDbAuthenticationType
126289  				err = json.Unmarshal(*v, &authenticationType)
126290  				if err != nil {
126291  					return err
126292  				}
126293  				mdlstp.AuthenticationType = authenticationType
126294  			}
126295  		case "databaseName":
126296  			if v != nil {
126297  				var databaseName interface{}
126298  				err = json.Unmarshal(*v, &databaseName)
126299  				if err != nil {
126300  					return err
126301  				}
126302  				mdlstp.DatabaseName = databaseName
126303  			}
126304  		case "username":
126305  			if v != nil {
126306  				var username interface{}
126307  				err = json.Unmarshal(*v, &username)
126308  				if err != nil {
126309  					return err
126310  				}
126311  				mdlstp.Username = username
126312  			}
126313  		case "password":
126314  			if v != nil {
126315  				password, err := unmarshalBasicSecretBase(*v)
126316  				if err != nil {
126317  					return err
126318  				}
126319  				mdlstp.Password = password
126320  			}
126321  		case "authSource":
126322  			if v != nil {
126323  				var authSource interface{}
126324  				err = json.Unmarshal(*v, &authSource)
126325  				if err != nil {
126326  					return err
126327  				}
126328  				mdlstp.AuthSource = authSource
126329  			}
126330  		case "port":
126331  			if v != nil {
126332  				var port interface{}
126333  				err = json.Unmarshal(*v, &port)
126334  				if err != nil {
126335  					return err
126336  				}
126337  				mdlstp.Port = port
126338  			}
126339  		case "enableSsl":
126340  			if v != nil {
126341  				var enableSsl interface{}
126342  				err = json.Unmarshal(*v, &enableSsl)
126343  				if err != nil {
126344  					return err
126345  				}
126346  				mdlstp.EnableSsl = enableSsl
126347  			}
126348  		case "allowSelfSignedServerCert":
126349  			if v != nil {
126350  				var allowSelfSignedServerCert interface{}
126351  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
126352  				if err != nil {
126353  					return err
126354  				}
126355  				mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
126356  			}
126357  		case "encryptedCredential":
126358  			if v != nil {
126359  				var encryptedCredential interface{}
126360  				err = json.Unmarshal(*v, &encryptedCredential)
126361  				if err != nil {
126362  					return err
126363  				}
126364  				mdlstp.EncryptedCredential = encryptedCredential
126365  			}
126366  		}
126367  	}
126368  
126369  	return nil
126370  }
126371  
126372  // MongoDbSource a copy activity source for a MongoDB database.
126373  type MongoDbSource struct {
126374  	// Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string).
126375  	Query interface{} `json:"query,omitempty"`
126376  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
126377  	AdditionalProperties map[string]interface{} `json:""`
126378  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
126379  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
126380  	// 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])).
126381  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
126382  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
126383  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
126384  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
126385  	Type TypeBasicCopySource `json:"type,omitempty"`
126386  }
126387  
126388  // MarshalJSON is the custom marshaler for MongoDbSource.
126389  func (mds MongoDbSource) MarshalJSON() ([]byte, error) {
126390  	mds.Type = TypeMongoDbSource
126391  	objectMap := make(map[string]interface{})
126392  	if mds.Query != nil {
126393  		objectMap["query"] = mds.Query
126394  	}
126395  	if mds.SourceRetryCount != nil {
126396  		objectMap["sourceRetryCount"] = mds.SourceRetryCount
126397  	}
126398  	if mds.SourceRetryWait != nil {
126399  		objectMap["sourceRetryWait"] = mds.SourceRetryWait
126400  	}
126401  	if mds.MaxConcurrentConnections != nil {
126402  		objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections
126403  	}
126404  	if mds.Type != "" {
126405  		objectMap["type"] = mds.Type
126406  	}
126407  	for k, v := range mds.AdditionalProperties {
126408  		objectMap[k] = v
126409  	}
126410  	return json.Marshal(objectMap)
126411  }
126412  
126413  // AsHTTPSource is the BasicCopySource implementation for MongoDbSource.
126414  func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) {
126415  	return nil, false
126416  }
126417  
126418  // AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbSource.
126419  func (mds MongoDbSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
126420  	return nil, false
126421  }
126422  
126423  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource.
126424  func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
126425  	return nil, false
126426  }
126427  
126428  // AsOffice365Source is the BasicCopySource implementation for MongoDbSource.
126429  func (mds MongoDbSource) AsOffice365Source() (*Office365Source, bool) {
126430  	return nil, false
126431  }
126432  
126433  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbSource.
126434  func (mds MongoDbSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
126435  	return nil, false
126436  }
126437  
126438  // AsMongoDbV2Source is the BasicCopySource implementation for MongoDbSource.
126439  func (mds MongoDbSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
126440  	return nil, false
126441  }
126442  
126443  // AsMongoDbSource is the BasicCopySource implementation for MongoDbSource.
126444  func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) {
126445  	return &mds, true
126446  }
126447  
126448  // AsWebSource is the BasicCopySource implementation for MongoDbSource.
126449  func (mds MongoDbSource) AsWebSource() (*WebSource, bool) {
126450  	return nil, false
126451  }
126452  
126453  // AsOracleSource is the BasicCopySource implementation for MongoDbSource.
126454  func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) {
126455  	return nil, false
126456  }
126457  
126458  // AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbSource.
126459  func (mds MongoDbSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
126460  	return nil, false
126461  }
126462  
126463  // AsHdfsSource is the BasicCopySource implementation for MongoDbSource.
126464  func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) {
126465  	return nil, false
126466  }
126467  
126468  // AsFileSystemSource is the BasicCopySource implementation for MongoDbSource.
126469  func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) {
126470  	return nil, false
126471  }
126472  
126473  // AsRestSource is the BasicCopySource implementation for MongoDbSource.
126474  func (mds MongoDbSource) AsRestSource() (*RestSource, bool) {
126475  	return nil, false
126476  }
126477  
126478  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbSource.
126479  func (mds MongoDbSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
126480  	return nil, false
126481  }
126482  
126483  // AsODataSource is the BasicCopySource implementation for MongoDbSource.
126484  func (mds MongoDbSource) AsODataSource() (*ODataSource, bool) {
126485  	return nil, false
126486  }
126487  
126488  // AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbSource.
126489  func (mds MongoDbSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
126490  	return nil, false
126491  }
126492  
126493  // AsRelationalSource is the BasicCopySource implementation for MongoDbSource.
126494  func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) {
126495  	return nil, false
126496  }
126497  
126498  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbSource.
126499  func (mds MongoDbSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
126500  	return nil, false
126501  }
126502  
126503  // AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbSource.
126504  func (mds MongoDbSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
126505  	return nil, false
126506  }
126507  
126508  // AsDynamicsSource is the BasicCopySource implementation for MongoDbSource.
126509  func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) {
126510  	return nil, false
126511  }
126512  
126513  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbSource.
126514  func (mds MongoDbSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
126515  	return nil, false
126516  }
126517  
126518  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource.
126519  func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
126520  	return nil, false
126521  }
126522  
126523  // AsBlobSource is the BasicCopySource implementation for MongoDbSource.
126524  func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) {
126525  	return nil, false
126526  }
126527  
126528  // AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource.
126529  func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
126530  	return nil, false
126531  }
126532  
126533  // AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbSource.
126534  func (mds MongoDbSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
126535  	return nil, false
126536  }
126537  
126538  // AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbSource.
126539  func (mds MongoDbSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
126540  	return nil, false
126541  }
126542  
126543  // AsDynamicsAXSource is the BasicCopySource implementation for MongoDbSource.
126544  func (mds MongoDbSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
126545  	return nil, false
126546  }
126547  
126548  // AsResponsysSource is the BasicCopySource implementation for MongoDbSource.
126549  func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) {
126550  	return nil, false
126551  }
126552  
126553  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource.
126554  func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
126555  	return nil, false
126556  }
126557  
126558  // AsVerticaSource is the BasicCopySource implementation for MongoDbSource.
126559  func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) {
126560  	return nil, false
126561  }
126562  
126563  // AsNetezzaSource is the BasicCopySource implementation for MongoDbSource.
126564  func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) {
126565  	return nil, false
126566  }
126567  
126568  // AsZohoSource is the BasicCopySource implementation for MongoDbSource.
126569  func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) {
126570  	return nil, false
126571  }
126572  
126573  // AsXeroSource is the BasicCopySource implementation for MongoDbSource.
126574  func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) {
126575  	return nil, false
126576  }
126577  
126578  // AsSquareSource is the BasicCopySource implementation for MongoDbSource.
126579  func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) {
126580  	return nil, false
126581  }
126582  
126583  // AsSparkSource is the BasicCopySource implementation for MongoDbSource.
126584  func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) {
126585  	return nil, false
126586  }
126587  
126588  // AsShopifySource is the BasicCopySource implementation for MongoDbSource.
126589  func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) {
126590  	return nil, false
126591  }
126592  
126593  // AsServiceNowSource is the BasicCopySource implementation for MongoDbSource.
126594  func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) {
126595  	return nil, false
126596  }
126597  
126598  // AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource.
126599  func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
126600  	return nil, false
126601  }
126602  
126603  // AsPrestoSource is the BasicCopySource implementation for MongoDbSource.
126604  func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) {
126605  	return nil, false
126606  }
126607  
126608  // AsPhoenixSource is the BasicCopySource implementation for MongoDbSource.
126609  func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) {
126610  	return nil, false
126611  }
126612  
126613  // AsPaypalSource is the BasicCopySource implementation for MongoDbSource.
126614  func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) {
126615  	return nil, false
126616  }
126617  
126618  // AsMarketoSource is the BasicCopySource implementation for MongoDbSource.
126619  func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) {
126620  	return nil, false
126621  }
126622  
126623  // AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbSource.
126624  func (mds MongoDbSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
126625  	return nil, false
126626  }
126627  
126628  // AsMariaDBSource is the BasicCopySource implementation for MongoDbSource.
126629  func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) {
126630  	return nil, false
126631  }
126632  
126633  // AsMagentoSource is the BasicCopySource implementation for MongoDbSource.
126634  func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) {
126635  	return nil, false
126636  }
126637  
126638  // AsJiraSource is the BasicCopySource implementation for MongoDbSource.
126639  func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) {
126640  	return nil, false
126641  }
126642  
126643  // AsImpalaSource is the BasicCopySource implementation for MongoDbSource.
126644  func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) {
126645  	return nil, false
126646  }
126647  
126648  // AsHubspotSource is the BasicCopySource implementation for MongoDbSource.
126649  func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) {
126650  	return nil, false
126651  }
126652  
126653  // AsHiveSource is the BasicCopySource implementation for MongoDbSource.
126654  func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) {
126655  	return nil, false
126656  }
126657  
126658  // AsHBaseSource is the BasicCopySource implementation for MongoDbSource.
126659  func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) {
126660  	return nil, false
126661  }
126662  
126663  // AsGreenplumSource is the BasicCopySource implementation for MongoDbSource.
126664  func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) {
126665  	return nil, false
126666  }
126667  
126668  // AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource.
126669  func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
126670  	return nil, false
126671  }
126672  
126673  // AsEloquaSource is the BasicCopySource implementation for MongoDbSource.
126674  func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) {
126675  	return nil, false
126676  }
126677  
126678  // AsDrillSource is the BasicCopySource implementation for MongoDbSource.
126679  func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) {
126680  	return nil, false
126681  }
126682  
126683  // AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource.
126684  func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
126685  	return nil, false
126686  }
126687  
126688  // AsConcurSource is the BasicCopySource implementation for MongoDbSource.
126689  func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) {
126690  	return nil, false
126691  }
126692  
126693  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
126694  func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
126695  	return nil, false
126696  }
126697  
126698  // AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource.
126699  func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
126700  	return nil, false
126701  }
126702  
126703  // AsCassandraSource is the BasicCopySource implementation for MongoDbSource.
126704  func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) {
126705  	return nil, false
126706  }
126707  
126708  // AsTeradataSource is the BasicCopySource implementation for MongoDbSource.
126709  func (mds MongoDbSource) AsTeradataSource() (*TeradataSource, bool) {
126710  	return nil, false
126711  }
126712  
126713  // AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource.
126714  func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
126715  	return nil, false
126716  }
126717  
126718  // AsSQLDWSource is the BasicCopySource implementation for MongoDbSource.
126719  func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) {
126720  	return nil, false
126721  }
126722  
126723  // AsSQLMISource is the BasicCopySource implementation for MongoDbSource.
126724  func (mds MongoDbSource) AsSQLMISource() (*SQLMISource, bool) {
126725  	return nil, false
126726  }
126727  
126728  // AsAzureSQLSource is the BasicCopySource implementation for MongoDbSource.
126729  func (mds MongoDbSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
126730  	return nil, false
126731  }
126732  
126733  // AsSQLServerSource is the BasicCopySource implementation for MongoDbSource.
126734  func (mds MongoDbSource) AsSQLServerSource() (*SQLServerSource, bool) {
126735  	return nil, false
126736  }
126737  
126738  // AsSQLSource is the BasicCopySource implementation for MongoDbSource.
126739  func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) {
126740  	return nil, false
126741  }
126742  
126743  // AsSapTableSource is the BasicCopySource implementation for MongoDbSource.
126744  func (mds MongoDbSource) AsSapTableSource() (*SapTableSource, bool) {
126745  	return nil, false
126746  }
126747  
126748  // AsSapOpenHubSource is the BasicCopySource implementation for MongoDbSource.
126749  func (mds MongoDbSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
126750  	return nil, false
126751  }
126752  
126753  // AsSapHanaSource is the BasicCopySource implementation for MongoDbSource.
126754  func (mds MongoDbSource) AsSapHanaSource() (*SapHanaSource, bool) {
126755  	return nil, false
126756  }
126757  
126758  // AsSapEccSource is the BasicCopySource implementation for MongoDbSource.
126759  func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) {
126760  	return nil, false
126761  }
126762  
126763  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource.
126764  func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
126765  	return nil, false
126766  }
126767  
126768  // AsSalesforceSource is the BasicCopySource implementation for MongoDbSource.
126769  func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) {
126770  	return nil, false
126771  }
126772  
126773  // AsSapBwSource is the BasicCopySource implementation for MongoDbSource.
126774  func (mds MongoDbSource) AsSapBwSource() (*SapBwSource, bool) {
126775  	return nil, false
126776  }
126777  
126778  // AsSybaseSource is the BasicCopySource implementation for MongoDbSource.
126779  func (mds MongoDbSource) AsSybaseSource() (*SybaseSource, bool) {
126780  	return nil, false
126781  }
126782  
126783  // AsPostgreSQLSource is the BasicCopySource implementation for MongoDbSource.
126784  func (mds MongoDbSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
126785  	return nil, false
126786  }
126787  
126788  // AsMySQLSource is the BasicCopySource implementation for MongoDbSource.
126789  func (mds MongoDbSource) AsMySQLSource() (*MySQLSource, bool) {
126790  	return nil, false
126791  }
126792  
126793  // AsOdbcSource is the BasicCopySource implementation for MongoDbSource.
126794  func (mds MongoDbSource) AsOdbcSource() (*OdbcSource, bool) {
126795  	return nil, false
126796  }
126797  
126798  // AsDb2Source is the BasicCopySource implementation for MongoDbSource.
126799  func (mds MongoDbSource) AsDb2Source() (*Db2Source, bool) {
126800  	return nil, false
126801  }
126802  
126803  // AsInformixSource is the BasicCopySource implementation for MongoDbSource.
126804  func (mds MongoDbSource) AsInformixSource() (*InformixSource, bool) {
126805  	return nil, false
126806  }
126807  
126808  // AsAzureTableSource is the BasicCopySource implementation for MongoDbSource.
126809  func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) {
126810  	return nil, false
126811  }
126812  
126813  // AsTabularSource is the BasicCopySource implementation for MongoDbSource.
126814  func (mds MongoDbSource) AsTabularSource() (*TabularSource, bool) {
126815  	return nil, false
126816  }
126817  
126818  // AsBasicTabularSource is the BasicCopySource implementation for MongoDbSource.
126819  func (mds MongoDbSource) AsBasicTabularSource() (BasicTabularSource, bool) {
126820  	return nil, false
126821  }
126822  
126823  // AsBinarySource is the BasicCopySource implementation for MongoDbSource.
126824  func (mds MongoDbSource) AsBinarySource() (*BinarySource, bool) {
126825  	return nil, false
126826  }
126827  
126828  // AsOrcSource is the BasicCopySource implementation for MongoDbSource.
126829  func (mds MongoDbSource) AsOrcSource() (*OrcSource, bool) {
126830  	return nil, false
126831  }
126832  
126833  // AsJSONSource is the BasicCopySource implementation for MongoDbSource.
126834  func (mds MongoDbSource) AsJSONSource() (*JSONSource, bool) {
126835  	return nil, false
126836  }
126837  
126838  // AsDelimitedTextSource is the BasicCopySource implementation for MongoDbSource.
126839  func (mds MongoDbSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
126840  	return nil, false
126841  }
126842  
126843  // AsParquetSource is the BasicCopySource implementation for MongoDbSource.
126844  func (mds MongoDbSource) AsParquetSource() (*ParquetSource, bool) {
126845  	return nil, false
126846  }
126847  
126848  // AsAvroSource is the BasicCopySource implementation for MongoDbSource.
126849  func (mds MongoDbSource) AsAvroSource() (*AvroSource, bool) {
126850  	return nil, false
126851  }
126852  
126853  // AsCopySource is the BasicCopySource implementation for MongoDbSource.
126854  func (mds MongoDbSource) AsCopySource() (*CopySource, bool) {
126855  	return nil, false
126856  }
126857  
126858  // AsBasicCopySource is the BasicCopySource implementation for MongoDbSource.
126859  func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) {
126860  	return &mds, true
126861  }
126862  
126863  // UnmarshalJSON is the custom unmarshaler for MongoDbSource struct.
126864  func (mds *MongoDbSource) UnmarshalJSON(body []byte) error {
126865  	var m map[string]*json.RawMessage
126866  	err := json.Unmarshal(body, &m)
126867  	if err != nil {
126868  		return err
126869  	}
126870  	for k, v := range m {
126871  		switch k {
126872  		case "query":
126873  			if v != nil {
126874  				var query interface{}
126875  				err = json.Unmarshal(*v, &query)
126876  				if err != nil {
126877  					return err
126878  				}
126879  				mds.Query = query
126880  			}
126881  		default:
126882  			if v != nil {
126883  				var additionalProperties interface{}
126884  				err = json.Unmarshal(*v, &additionalProperties)
126885  				if err != nil {
126886  					return err
126887  				}
126888  				if mds.AdditionalProperties == nil {
126889  					mds.AdditionalProperties = make(map[string]interface{})
126890  				}
126891  				mds.AdditionalProperties[k] = additionalProperties
126892  			}
126893  		case "sourceRetryCount":
126894  			if v != nil {
126895  				var sourceRetryCount interface{}
126896  				err = json.Unmarshal(*v, &sourceRetryCount)
126897  				if err != nil {
126898  					return err
126899  				}
126900  				mds.SourceRetryCount = sourceRetryCount
126901  			}
126902  		case "sourceRetryWait":
126903  			if v != nil {
126904  				var sourceRetryWait interface{}
126905  				err = json.Unmarshal(*v, &sourceRetryWait)
126906  				if err != nil {
126907  					return err
126908  				}
126909  				mds.SourceRetryWait = sourceRetryWait
126910  			}
126911  		case "maxConcurrentConnections":
126912  			if v != nil {
126913  				var maxConcurrentConnections interface{}
126914  				err = json.Unmarshal(*v, &maxConcurrentConnections)
126915  				if err != nil {
126916  					return err
126917  				}
126918  				mds.MaxConcurrentConnections = maxConcurrentConnections
126919  			}
126920  		case "type":
126921  			if v != nil {
126922  				var typeVar TypeBasicCopySource
126923  				err = json.Unmarshal(*v, &typeVar)
126924  				if err != nil {
126925  					return err
126926  				}
126927  				mds.Type = typeVar
126928  			}
126929  		}
126930  	}
126931  
126932  	return nil
126933  }
126934  
126935  // MongoDbV2CollectionDataset the MongoDB database dataset.
126936  type MongoDbV2CollectionDataset struct {
126937  	// MongoDbV2CollectionDatasetTypeProperties - MongoDB database dataset properties.
126938  	*MongoDbV2CollectionDatasetTypeProperties `json:"typeProperties,omitempty"`
126939  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
126940  	AdditionalProperties map[string]interface{} `json:""`
126941  	// Description - Dataset description.
126942  	Description *string `json:"description,omitempty"`
126943  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
126944  	Structure interface{} `json:"structure,omitempty"`
126945  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
126946  	Schema interface{} `json:"schema,omitempty"`
126947  	// LinkedServiceName - Linked service reference.
126948  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
126949  	// Parameters - Parameters for dataset.
126950  	Parameters map[string]*ParameterSpecification `json:"parameters"`
126951  	// Annotations - List of tags that can be used for describing the Dataset.
126952  	Annotations *[]interface{} `json:"annotations,omitempty"`
126953  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
126954  	Folder *DatasetFolder `json:"folder,omitempty"`
126955  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
126956  	Type TypeBasicDataset `json:"type,omitempty"`
126957  }
126958  
126959  // MarshalJSON is the custom marshaler for MongoDbV2CollectionDataset.
126960  func (mdvcd MongoDbV2CollectionDataset) MarshalJSON() ([]byte, error) {
126961  	mdvcd.Type = TypeMongoDbV2Collection
126962  	objectMap := make(map[string]interface{})
126963  	if mdvcd.MongoDbV2CollectionDatasetTypeProperties != nil {
126964  		objectMap["typeProperties"] = mdvcd.MongoDbV2CollectionDatasetTypeProperties
126965  	}
126966  	if mdvcd.Description != nil {
126967  		objectMap["description"] = mdvcd.Description
126968  	}
126969  	if mdvcd.Structure != nil {
126970  		objectMap["structure"] = mdvcd.Structure
126971  	}
126972  	if mdvcd.Schema != nil {
126973  		objectMap["schema"] = mdvcd.Schema
126974  	}
126975  	if mdvcd.LinkedServiceName != nil {
126976  		objectMap["linkedServiceName"] = mdvcd.LinkedServiceName
126977  	}
126978  	if mdvcd.Parameters != nil {
126979  		objectMap["parameters"] = mdvcd.Parameters
126980  	}
126981  	if mdvcd.Annotations != nil {
126982  		objectMap["annotations"] = mdvcd.Annotations
126983  	}
126984  	if mdvcd.Folder != nil {
126985  		objectMap["folder"] = mdvcd.Folder
126986  	}
126987  	if mdvcd.Type != "" {
126988  		objectMap["type"] = mdvcd.Type
126989  	}
126990  	for k, v := range mdvcd.AdditionalProperties {
126991  		objectMap[k] = v
126992  	}
126993  	return json.Marshal(objectMap)
126994  }
126995  
126996  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
126997  func (mdvcd MongoDbV2CollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
126998  	return nil, false
126999  }
127000  
127001  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127002  func (mdvcd MongoDbV2CollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
127003  	return nil, false
127004  }
127005  
127006  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127007  func (mdvcd MongoDbV2CollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
127008  	return nil, false
127009  }
127010  
127011  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127012  func (mdvcd MongoDbV2CollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
127013  	return nil, false
127014  }
127015  
127016  // AsResponsysObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127017  func (mdvcd MongoDbV2CollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
127018  	return nil, false
127019  }
127020  
127021  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127022  func (mdvcd MongoDbV2CollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
127023  	return nil, false
127024  }
127025  
127026  // AsVerticaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127027  func (mdvcd MongoDbV2CollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
127028  	return nil, false
127029  }
127030  
127031  // AsNetezzaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127032  func (mdvcd MongoDbV2CollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
127033  	return nil, false
127034  }
127035  
127036  // AsZohoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127037  func (mdvcd MongoDbV2CollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
127038  	return nil, false
127039  }
127040  
127041  // AsXeroObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127042  func (mdvcd MongoDbV2CollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
127043  	return nil, false
127044  }
127045  
127046  // AsSquareObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127047  func (mdvcd MongoDbV2CollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
127048  	return nil, false
127049  }
127050  
127051  // AsSparkObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127052  func (mdvcd MongoDbV2CollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
127053  	return nil, false
127054  }
127055  
127056  // AsShopifyObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127057  func (mdvcd MongoDbV2CollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
127058  	return nil, false
127059  }
127060  
127061  // AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127062  func (mdvcd MongoDbV2CollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
127063  	return nil, false
127064  }
127065  
127066  // AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127067  func (mdvcd MongoDbV2CollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
127068  	return nil, false
127069  }
127070  
127071  // AsPrestoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127072  func (mdvcd MongoDbV2CollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
127073  	return nil, false
127074  }
127075  
127076  // AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127077  func (mdvcd MongoDbV2CollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
127078  	return nil, false
127079  }
127080  
127081  // AsPaypalObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127082  func (mdvcd MongoDbV2CollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
127083  	return nil, false
127084  }
127085  
127086  // AsMarketoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127087  func (mdvcd MongoDbV2CollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
127088  	return nil, false
127089  }
127090  
127091  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127092  func (mdvcd MongoDbV2CollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
127093  	return nil, false
127094  }
127095  
127096  // AsMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127097  func (mdvcd MongoDbV2CollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
127098  	return nil, false
127099  }
127100  
127101  // AsMagentoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127102  func (mdvcd MongoDbV2CollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
127103  	return nil, false
127104  }
127105  
127106  // AsJiraObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127107  func (mdvcd MongoDbV2CollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
127108  	return nil, false
127109  }
127110  
127111  // AsImpalaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127112  func (mdvcd MongoDbV2CollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
127113  	return nil, false
127114  }
127115  
127116  // AsHubspotObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127117  func (mdvcd MongoDbV2CollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
127118  	return nil, false
127119  }
127120  
127121  // AsHiveObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127122  func (mdvcd MongoDbV2CollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
127123  	return nil, false
127124  }
127125  
127126  // AsHBaseObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127127  func (mdvcd MongoDbV2CollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
127128  	return nil, false
127129  }
127130  
127131  // AsGreenplumTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127132  func (mdvcd MongoDbV2CollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
127133  	return nil, false
127134  }
127135  
127136  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127137  func (mdvcd MongoDbV2CollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
127138  	return nil, false
127139  }
127140  
127141  // AsEloquaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127142  func (mdvcd MongoDbV2CollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
127143  	return nil, false
127144  }
127145  
127146  // AsDrillTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127147  func (mdvcd MongoDbV2CollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
127148  	return nil, false
127149  }
127150  
127151  // AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127152  func (mdvcd MongoDbV2CollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
127153  	return nil, false
127154  }
127155  
127156  // AsConcurObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127157  func (mdvcd MongoDbV2CollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
127158  	return nil, false
127159  }
127160  
127161  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127162  func (mdvcd MongoDbV2CollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
127163  	return nil, false
127164  }
127165  
127166  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127167  func (mdvcd MongoDbV2CollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
127168  	return nil, false
127169  }
127170  
127171  // AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127172  func (mdvcd MongoDbV2CollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
127173  	return nil, false
127174  }
127175  
127176  // AsWebTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127177  func (mdvcd MongoDbV2CollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) {
127178  	return nil, false
127179  }
127180  
127181  // AsSapTableResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127182  func (mdvcd MongoDbV2CollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
127183  	return nil, false
127184  }
127185  
127186  // AsRestResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127187  func (mdvcd MongoDbV2CollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
127188  	return nil, false
127189  }
127190  
127191  // AsSQLServerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127192  func (mdvcd MongoDbV2CollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
127193  	return nil, false
127194  }
127195  
127196  // AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127197  func (mdvcd MongoDbV2CollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
127198  	return nil, false
127199  }
127200  
127201  // AsSapHanaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127202  func (mdvcd MongoDbV2CollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
127203  	return nil, false
127204  }
127205  
127206  // AsSapEccResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127207  func (mdvcd MongoDbV2CollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
127208  	return nil, false
127209  }
127210  
127211  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127212  func (mdvcd MongoDbV2CollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
127213  	return nil, false
127214  }
127215  
127216  // AsSapBwCubeDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127217  func (mdvcd MongoDbV2CollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
127218  	return nil, false
127219  }
127220  
127221  // AsSybaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127222  func (mdvcd MongoDbV2CollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
127223  	return nil, false
127224  }
127225  
127226  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127227  func (mdvcd MongoDbV2CollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
127228  	return nil, false
127229  }
127230  
127231  // AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127232  func (mdvcd MongoDbV2CollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
127233  	return nil, false
127234  }
127235  
127236  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127237  func (mdvcd MongoDbV2CollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
127238  	return nil, false
127239  }
127240  
127241  // AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127242  func (mdvcd MongoDbV2CollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
127243  	return nil, false
127244  }
127245  
127246  // AsMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127247  func (mdvcd MongoDbV2CollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
127248  	return nil, false
127249  }
127250  
127251  // AsOdbcTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127252  func (mdvcd MongoDbV2CollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
127253  	return nil, false
127254  }
127255  
127256  // AsInformixTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127257  func (mdvcd MongoDbV2CollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
127258  	return nil, false
127259  }
127260  
127261  // AsRelationalTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127262  func (mdvcd MongoDbV2CollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
127263  	return nil, false
127264  }
127265  
127266  // AsDb2TableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127267  func (mdvcd MongoDbV2CollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
127268  	return nil, false
127269  }
127270  
127271  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127272  func (mdvcd MongoDbV2CollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
127273  	return nil, false
127274  }
127275  
127276  // AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127277  func (mdvcd MongoDbV2CollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
127278  	return nil, false
127279  }
127280  
127281  // AsTeradataTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127282  func (mdvcd MongoDbV2CollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
127283  	return nil, false
127284  }
127285  
127286  // AsOracleTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127287  func (mdvcd MongoDbV2CollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
127288  	return nil, false
127289  }
127290  
127291  // AsODataResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127292  func (mdvcd MongoDbV2CollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
127293  	return nil, false
127294  }
127295  
127296  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127297  func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
127298  	return nil, false
127299  }
127300  
127301  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127302  func (mdvcd MongoDbV2CollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
127303  	return &mdvcd, true
127304  }
127305  
127306  // AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127307  func (mdvcd MongoDbV2CollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
127308  	return nil, false
127309  }
127310  
127311  // AsOffice365Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127312  func (mdvcd MongoDbV2CollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
127313  	return nil, false
127314  }
127315  
127316  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127317  func (mdvcd MongoDbV2CollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
127318  	return nil, false
127319  }
127320  
127321  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127322  func (mdvcd MongoDbV2CollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
127323  	return nil, false
127324  }
127325  
127326  // AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127327  func (mdvcd MongoDbV2CollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
127328  	return nil, false
127329  }
127330  
127331  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127332  func (mdvcd MongoDbV2CollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
127333  	return nil, false
127334  }
127335  
127336  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127337  func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
127338  	return nil, false
127339  }
127340  
127341  // AsCustomDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127342  func (mdvcd MongoDbV2CollectionDataset) AsCustomDataset() (*CustomDataset, bool) {
127343  	return nil, false
127344  }
127345  
127346  // AsCassandraTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127347  func (mdvcd MongoDbV2CollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
127348  	return nil, false
127349  }
127350  
127351  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127352  func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
127353  	return nil, false
127354  }
127355  
127356  // AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127357  func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
127358  	return nil, false
127359  }
127360  
127361  // AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127362  func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
127363  	return nil, false
127364  }
127365  
127366  // AsAzureTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127367  func (mdvcd MongoDbV2CollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
127368  	return nil, false
127369  }
127370  
127371  // AsBinaryDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127372  func (mdvcd MongoDbV2CollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) {
127373  	return nil, false
127374  }
127375  
127376  // AsOrcDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127377  func (mdvcd MongoDbV2CollectionDataset) AsOrcDataset() (*OrcDataset, bool) {
127378  	return nil, false
127379  }
127380  
127381  // AsJSONDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127382  func (mdvcd MongoDbV2CollectionDataset) AsJSONDataset() (*JSONDataset, bool) {
127383  	return nil, false
127384  }
127385  
127386  // AsDelimitedTextDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127387  func (mdvcd MongoDbV2CollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
127388  	return nil, false
127389  }
127390  
127391  // AsParquetDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127392  func (mdvcd MongoDbV2CollectionDataset) AsParquetDataset() (*ParquetDataset, bool) {
127393  	return nil, false
127394  }
127395  
127396  // AsAvroDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127397  func (mdvcd MongoDbV2CollectionDataset) AsAvroDataset() (*AvroDataset, bool) {
127398  	return nil, false
127399  }
127400  
127401  // AsDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127402  func (mdvcd MongoDbV2CollectionDataset) AsDataset() (*Dataset, bool) {
127403  	return nil, false
127404  }
127405  
127406  // AsBasicDataset is the BasicDataset implementation for MongoDbV2CollectionDataset.
127407  func (mdvcd MongoDbV2CollectionDataset) AsBasicDataset() (BasicDataset, bool) {
127408  	return &mdvcd, true
127409  }
127410  
127411  // UnmarshalJSON is the custom unmarshaler for MongoDbV2CollectionDataset struct.
127412  func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error {
127413  	var m map[string]*json.RawMessage
127414  	err := json.Unmarshal(body, &m)
127415  	if err != nil {
127416  		return err
127417  	}
127418  	for k, v := range m {
127419  		switch k {
127420  		case "typeProperties":
127421  			if v != nil {
127422  				var mongoDbV2CollectionDatasetTypeProperties MongoDbV2CollectionDatasetTypeProperties
127423  				err = json.Unmarshal(*v, &mongoDbV2CollectionDatasetTypeProperties)
127424  				if err != nil {
127425  					return err
127426  				}
127427  				mdvcd.MongoDbV2CollectionDatasetTypeProperties = &mongoDbV2CollectionDatasetTypeProperties
127428  			}
127429  		default:
127430  			if v != nil {
127431  				var additionalProperties interface{}
127432  				err = json.Unmarshal(*v, &additionalProperties)
127433  				if err != nil {
127434  					return err
127435  				}
127436  				if mdvcd.AdditionalProperties == nil {
127437  					mdvcd.AdditionalProperties = make(map[string]interface{})
127438  				}
127439  				mdvcd.AdditionalProperties[k] = additionalProperties
127440  			}
127441  		case "description":
127442  			if v != nil {
127443  				var description string
127444  				err = json.Unmarshal(*v, &description)
127445  				if err != nil {
127446  					return err
127447  				}
127448  				mdvcd.Description = &description
127449  			}
127450  		case "structure":
127451  			if v != nil {
127452  				var structure interface{}
127453  				err = json.Unmarshal(*v, &structure)
127454  				if err != nil {
127455  					return err
127456  				}
127457  				mdvcd.Structure = structure
127458  			}
127459  		case "schema":
127460  			if v != nil {
127461  				var schema interface{}
127462  				err = json.Unmarshal(*v, &schema)
127463  				if err != nil {
127464  					return err
127465  				}
127466  				mdvcd.Schema = schema
127467  			}
127468  		case "linkedServiceName":
127469  			if v != nil {
127470  				var linkedServiceName LinkedServiceReference
127471  				err = json.Unmarshal(*v, &linkedServiceName)
127472  				if err != nil {
127473  					return err
127474  				}
127475  				mdvcd.LinkedServiceName = &linkedServiceName
127476  			}
127477  		case "parameters":
127478  			if v != nil {
127479  				var parameters map[string]*ParameterSpecification
127480  				err = json.Unmarshal(*v, &parameters)
127481  				if err != nil {
127482  					return err
127483  				}
127484  				mdvcd.Parameters = parameters
127485  			}
127486  		case "annotations":
127487  			if v != nil {
127488  				var annotations []interface{}
127489  				err = json.Unmarshal(*v, &annotations)
127490  				if err != nil {
127491  					return err
127492  				}
127493  				mdvcd.Annotations = &annotations
127494  			}
127495  		case "folder":
127496  			if v != nil {
127497  				var folder DatasetFolder
127498  				err = json.Unmarshal(*v, &folder)
127499  				if err != nil {
127500  					return err
127501  				}
127502  				mdvcd.Folder = &folder
127503  			}
127504  		case "type":
127505  			if v != nil {
127506  				var typeVar TypeBasicDataset
127507  				err = json.Unmarshal(*v, &typeVar)
127508  				if err != nil {
127509  					return err
127510  				}
127511  				mdvcd.Type = typeVar
127512  			}
127513  		}
127514  	}
127515  
127516  	return nil
127517  }
127518  
127519  // MongoDbV2CollectionDatasetTypeProperties mongoDB database dataset properties.
127520  type MongoDbV2CollectionDatasetTypeProperties struct {
127521  	// Collection - The collection name of the MongoDB database. Type: string (or Expression with resultType string).
127522  	Collection interface{} `json:"collection,omitempty"`
127523  }
127524  
127525  // MongoDbV2LinkedService linked service for MongoDB data source.
127526  type MongoDbV2LinkedService struct {
127527  	// MongoDbV2LinkedServiceTypeProperties - MongoDB linked service properties.
127528  	*MongoDbV2LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
127529  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
127530  	AdditionalProperties map[string]interface{} `json:""`
127531  	// ConnectVia - The integration runtime reference.
127532  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
127533  	// Description - Linked service description.
127534  	Description *string `json:"description,omitempty"`
127535  	// Parameters - Parameters for linked service.
127536  	Parameters map[string]*ParameterSpecification `json:"parameters"`
127537  	// Annotations - List of tags that can be used for describing the linked service.
127538  	Annotations *[]interface{} `json:"annotations,omitempty"`
127539  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
127540  	Type TypeBasicLinkedService `json:"type,omitempty"`
127541  }
127542  
127543  // MarshalJSON is the custom marshaler for MongoDbV2LinkedService.
127544  func (mdvls MongoDbV2LinkedService) MarshalJSON() ([]byte, error) {
127545  	mdvls.Type = TypeMongoDbV2
127546  	objectMap := make(map[string]interface{})
127547  	if mdvls.MongoDbV2LinkedServiceTypeProperties != nil {
127548  		objectMap["typeProperties"] = mdvls.MongoDbV2LinkedServiceTypeProperties
127549  	}
127550  	if mdvls.ConnectVia != nil {
127551  		objectMap["connectVia"] = mdvls.ConnectVia
127552  	}
127553  	if mdvls.Description != nil {
127554  		objectMap["description"] = mdvls.Description
127555  	}
127556  	if mdvls.Parameters != nil {
127557  		objectMap["parameters"] = mdvls.Parameters
127558  	}
127559  	if mdvls.Annotations != nil {
127560  		objectMap["annotations"] = mdvls.Annotations
127561  	}
127562  	if mdvls.Type != "" {
127563  		objectMap["type"] = mdvls.Type
127564  	}
127565  	for k, v := range mdvls.AdditionalProperties {
127566  		objectMap[k] = v
127567  	}
127568  	return json.Marshal(objectMap)
127569  }
127570  
127571  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127572  func (mdvls MongoDbV2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
127573  	return nil, false
127574  }
127575  
127576  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127577  func (mdvls MongoDbV2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
127578  	return nil, false
127579  }
127580  
127581  // AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127582  func (mdvls MongoDbV2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
127583  	return nil, false
127584  }
127585  
127586  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127587  func (mdvls MongoDbV2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
127588  	return nil, false
127589  }
127590  
127591  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127592  func (mdvls MongoDbV2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
127593  	return nil, false
127594  }
127595  
127596  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127597  func (mdvls MongoDbV2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
127598  	return nil, false
127599  }
127600  
127601  // AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127602  func (mdvls MongoDbV2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
127603  	return nil, false
127604  }
127605  
127606  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127607  func (mdvls MongoDbV2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
127608  	return nil, false
127609  }
127610  
127611  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127612  func (mdvls MongoDbV2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
127613  	return nil, false
127614  }
127615  
127616  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127617  func (mdvls MongoDbV2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
127618  	return nil, false
127619  }
127620  
127621  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127622  func (mdvls MongoDbV2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
127623  	return nil, false
127624  }
127625  
127626  // AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127627  func (mdvls MongoDbV2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
127628  	return nil, false
127629  }
127630  
127631  // AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127632  func (mdvls MongoDbV2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
127633  	return nil, false
127634  }
127635  
127636  // AsZohoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127637  func (mdvls MongoDbV2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
127638  	return nil, false
127639  }
127640  
127641  // AsXeroLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127642  func (mdvls MongoDbV2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
127643  	return nil, false
127644  }
127645  
127646  // AsSquareLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127647  func (mdvls MongoDbV2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
127648  	return nil, false
127649  }
127650  
127651  // AsSparkLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127652  func (mdvls MongoDbV2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
127653  	return nil, false
127654  }
127655  
127656  // AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127657  func (mdvls MongoDbV2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
127658  	return nil, false
127659  }
127660  
127661  // AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127662  func (mdvls MongoDbV2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
127663  	return nil, false
127664  }
127665  
127666  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127667  func (mdvls MongoDbV2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
127668  	return nil, false
127669  }
127670  
127671  // AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127672  func (mdvls MongoDbV2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
127673  	return nil, false
127674  }
127675  
127676  // AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127677  func (mdvls MongoDbV2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
127678  	return nil, false
127679  }
127680  
127681  // AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127682  func (mdvls MongoDbV2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
127683  	return nil, false
127684  }
127685  
127686  // AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127687  func (mdvls MongoDbV2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
127688  	return nil, false
127689  }
127690  
127691  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127692  func (mdvls MongoDbV2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
127693  	return nil, false
127694  }
127695  
127696  // AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127697  func (mdvls MongoDbV2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
127698  	return nil, false
127699  }
127700  
127701  // AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127702  func (mdvls MongoDbV2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
127703  	return nil, false
127704  }
127705  
127706  // AsJiraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127707  func (mdvls MongoDbV2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
127708  	return nil, false
127709  }
127710  
127711  // AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127712  func (mdvls MongoDbV2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
127713  	return nil, false
127714  }
127715  
127716  // AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127717  func (mdvls MongoDbV2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
127718  	return nil, false
127719  }
127720  
127721  // AsHiveLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127722  func (mdvls MongoDbV2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
127723  	return nil, false
127724  }
127725  
127726  // AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127727  func (mdvls MongoDbV2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
127728  	return nil, false
127729  }
127730  
127731  // AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127732  func (mdvls MongoDbV2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
127733  	return nil, false
127734  }
127735  
127736  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127737  func (mdvls MongoDbV2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
127738  	return nil, false
127739  }
127740  
127741  // AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127742  func (mdvls MongoDbV2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
127743  	return nil, false
127744  }
127745  
127746  // AsDrillLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127747  func (mdvls MongoDbV2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
127748  	return nil, false
127749  }
127750  
127751  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127752  func (mdvls MongoDbV2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
127753  	return nil, false
127754  }
127755  
127756  // AsConcurLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127757  func (mdvls MongoDbV2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
127758  	return nil, false
127759  }
127760  
127761  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127762  func (mdvls MongoDbV2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
127763  	return nil, false
127764  }
127765  
127766  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127767  func (mdvls MongoDbV2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
127768  	return nil, false
127769  }
127770  
127771  // AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127772  func (mdvls MongoDbV2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
127773  	return nil, false
127774  }
127775  
127776  // AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127777  func (mdvls MongoDbV2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
127778  	return nil, false
127779  }
127780  
127781  // AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127782  func (mdvls MongoDbV2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
127783  	return nil, false
127784  }
127785  
127786  // AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127787  func (mdvls MongoDbV2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
127788  	return nil, false
127789  }
127790  
127791  // AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127792  func (mdvls MongoDbV2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
127793  	return nil, false
127794  }
127795  
127796  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127797  func (mdvls MongoDbV2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
127798  	return nil, false
127799  }
127800  
127801  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127802  func (mdvls MongoDbV2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
127803  	return nil, false
127804  }
127805  
127806  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127807  func (mdvls MongoDbV2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
127808  	return nil, false
127809  }
127810  
127811  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127812  func (mdvls MongoDbV2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
127813  	return nil, false
127814  }
127815  
127816  // AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127817  func (mdvls MongoDbV2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
127818  	return nil, false
127819  }
127820  
127821  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127822  func (mdvls MongoDbV2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
127823  	return nil, false
127824  }
127825  
127826  // AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127827  func (mdvls MongoDbV2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
127828  	return nil, false
127829  }
127830  
127831  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127832  func (mdvls MongoDbV2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
127833  	return nil, false
127834  }
127835  
127836  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127837  func (mdvls MongoDbV2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
127838  	return nil, false
127839  }
127840  
127841  // AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127842  func (mdvls MongoDbV2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
127843  	return nil, false
127844  }
127845  
127846  // AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127847  func (mdvls MongoDbV2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
127848  	return nil, false
127849  }
127850  
127851  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127852  func (mdvls MongoDbV2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
127853  	return nil, false
127854  }
127855  
127856  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127857  func (mdvls MongoDbV2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
127858  	return nil, false
127859  }
127860  
127861  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127862  func (mdvls MongoDbV2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
127863  	return nil, false
127864  }
127865  
127866  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127867  func (mdvls MongoDbV2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
127868  	return &mdvls, true
127869  }
127870  
127871  // AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127872  func (mdvls MongoDbV2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
127873  	return nil, false
127874  }
127875  
127876  // AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127877  func (mdvls MongoDbV2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
127878  	return nil, false
127879  }
127880  
127881  // AsWebLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127882  func (mdvls MongoDbV2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
127883  	return nil, false
127884  }
127885  
127886  // AsODataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127887  func (mdvls MongoDbV2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
127888  	return nil, false
127889  }
127890  
127891  // AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127892  func (mdvls MongoDbV2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
127893  	return nil, false
127894  }
127895  
127896  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127897  func (mdvls MongoDbV2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
127898  	return nil, false
127899  }
127900  
127901  // AsInformixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127902  func (mdvls MongoDbV2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
127903  	return nil, false
127904  }
127905  
127906  // AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127907  func (mdvls MongoDbV2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
127908  	return nil, false
127909  }
127910  
127911  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127912  func (mdvls MongoDbV2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
127913  	return nil, false
127914  }
127915  
127916  // AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127917  func (mdvls MongoDbV2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
127918  	return nil, false
127919  }
127920  
127921  // AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127922  func (mdvls MongoDbV2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
127923  	return nil, false
127924  }
127925  
127926  // AsDb2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127927  func (mdvls MongoDbV2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
127928  	return nil, false
127929  }
127930  
127931  // AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127932  func (mdvls MongoDbV2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
127933  	return nil, false
127934  }
127935  
127936  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127937  func (mdvls MongoDbV2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
127938  	return nil, false
127939  }
127940  
127941  // AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127942  func (mdvls MongoDbV2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
127943  	return nil, false
127944  }
127945  
127946  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127947  func (mdvls MongoDbV2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
127948  	return nil, false
127949  }
127950  
127951  // AsOracleLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127952  func (mdvls MongoDbV2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
127953  	return nil, false
127954  }
127955  
127956  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127957  func (mdvls MongoDbV2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
127958  	return nil, false
127959  }
127960  
127961  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127962  func (mdvls MongoDbV2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
127963  	return nil, false
127964  }
127965  
127966  // AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127967  func (mdvls MongoDbV2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
127968  	return nil, false
127969  }
127970  
127971  // AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127972  func (mdvls MongoDbV2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
127973  	return nil, false
127974  }
127975  
127976  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127977  func (mdvls MongoDbV2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
127978  	return nil, false
127979  }
127980  
127981  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127982  func (mdvls MongoDbV2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
127983  	return nil, false
127984  }
127985  
127986  // AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127987  func (mdvls MongoDbV2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
127988  	return nil, false
127989  }
127990  
127991  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127992  func (mdvls MongoDbV2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
127993  	return nil, false
127994  }
127995  
127996  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
127997  func (mdvls MongoDbV2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
127998  	return nil, false
127999  }
128000  
128001  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128002  func (mdvls MongoDbV2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
128003  	return nil, false
128004  }
128005  
128006  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128007  func (mdvls MongoDbV2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
128008  	return nil, false
128009  }
128010  
128011  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128012  func (mdvls MongoDbV2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
128013  	return nil, false
128014  }
128015  
128016  // AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128017  func (mdvls MongoDbV2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
128018  	return nil, false
128019  }
128020  
128021  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128022  func (mdvls MongoDbV2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
128023  	return nil, false
128024  }
128025  
128026  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128027  func (mdvls MongoDbV2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
128028  	return nil, false
128029  }
128030  
128031  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128032  func (mdvls MongoDbV2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
128033  	return nil, false
128034  }
128035  
128036  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128037  func (mdvls MongoDbV2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
128038  	return nil, false
128039  }
128040  
128041  // AsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128042  func (mdvls MongoDbV2LinkedService) AsLinkedService() (*LinkedService, bool) {
128043  	return nil, false
128044  }
128045  
128046  // AsBasicLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService.
128047  func (mdvls MongoDbV2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
128048  	return &mdvls, true
128049  }
128050  
128051  // UnmarshalJSON is the custom unmarshaler for MongoDbV2LinkedService struct.
128052  func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error {
128053  	var m map[string]*json.RawMessage
128054  	err := json.Unmarshal(body, &m)
128055  	if err != nil {
128056  		return err
128057  	}
128058  	for k, v := range m {
128059  		switch k {
128060  		case "typeProperties":
128061  			if v != nil {
128062  				var mongoDbV2LinkedServiceTypeProperties MongoDbV2LinkedServiceTypeProperties
128063  				err = json.Unmarshal(*v, &mongoDbV2LinkedServiceTypeProperties)
128064  				if err != nil {
128065  					return err
128066  				}
128067  				mdvls.MongoDbV2LinkedServiceTypeProperties = &mongoDbV2LinkedServiceTypeProperties
128068  			}
128069  		default:
128070  			if v != nil {
128071  				var additionalProperties interface{}
128072  				err = json.Unmarshal(*v, &additionalProperties)
128073  				if err != nil {
128074  					return err
128075  				}
128076  				if mdvls.AdditionalProperties == nil {
128077  					mdvls.AdditionalProperties = make(map[string]interface{})
128078  				}
128079  				mdvls.AdditionalProperties[k] = additionalProperties
128080  			}
128081  		case "connectVia":
128082  			if v != nil {
128083  				var connectVia IntegrationRuntimeReference
128084  				err = json.Unmarshal(*v, &connectVia)
128085  				if err != nil {
128086  					return err
128087  				}
128088  				mdvls.ConnectVia = &connectVia
128089  			}
128090  		case "description":
128091  			if v != nil {
128092  				var description string
128093  				err = json.Unmarshal(*v, &description)
128094  				if err != nil {
128095  					return err
128096  				}
128097  				mdvls.Description = &description
128098  			}
128099  		case "parameters":
128100  			if v != nil {
128101  				var parameters map[string]*ParameterSpecification
128102  				err = json.Unmarshal(*v, &parameters)
128103  				if err != nil {
128104  					return err
128105  				}
128106  				mdvls.Parameters = parameters
128107  			}
128108  		case "annotations":
128109  			if v != nil {
128110  				var annotations []interface{}
128111  				err = json.Unmarshal(*v, &annotations)
128112  				if err != nil {
128113  					return err
128114  				}
128115  				mdvls.Annotations = &annotations
128116  			}
128117  		case "type":
128118  			if v != nil {
128119  				var typeVar TypeBasicLinkedService
128120  				err = json.Unmarshal(*v, &typeVar)
128121  				if err != nil {
128122  					return err
128123  				}
128124  				mdvls.Type = typeVar
128125  			}
128126  		}
128127  	}
128128  
128129  	return nil
128130  }
128131  
128132  // MongoDbV2LinkedServiceTypeProperties mongoDB linked service properties.
128133  type MongoDbV2LinkedServiceTypeProperties struct {
128134  	// ConnectionString - The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
128135  	ConnectionString interface{} `json:"connectionString,omitempty"`
128136  	// Database - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string).
128137  	Database interface{} `json:"database,omitempty"`
128138  }
128139  
128140  // MongoDbV2Source a copy activity source for a MongoDB database.
128141  type MongoDbV2Source struct {
128142  	// 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).
128143  	Filter interface{} `json:"filter,omitempty"`
128144  	// CursorMethods - Cursor methods for Mongodb query
128145  	CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"`
128146  	// 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).
128147  	BatchSize interface{} `json:"batchSize,omitempty"`
128148  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
128149  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
128150  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128151  	AdditionalProperties map[string]interface{} `json:""`
128152  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
128153  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
128154  	// 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])).
128155  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
128156  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
128157  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
128158  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
128159  	Type TypeBasicCopySource `json:"type,omitempty"`
128160  }
128161  
128162  // MarshalJSON is the custom marshaler for MongoDbV2Source.
128163  func (mdvs MongoDbV2Source) MarshalJSON() ([]byte, error) {
128164  	mdvs.Type = TypeMongoDbV2Source
128165  	objectMap := make(map[string]interface{})
128166  	if mdvs.Filter != nil {
128167  		objectMap["filter"] = mdvs.Filter
128168  	}
128169  	if mdvs.CursorMethods != nil {
128170  		objectMap["cursorMethods"] = mdvs.CursorMethods
128171  	}
128172  	if mdvs.BatchSize != nil {
128173  		objectMap["batchSize"] = mdvs.BatchSize
128174  	}
128175  	if mdvs.QueryTimeout != nil {
128176  		objectMap["queryTimeout"] = mdvs.QueryTimeout
128177  	}
128178  	if mdvs.SourceRetryCount != nil {
128179  		objectMap["sourceRetryCount"] = mdvs.SourceRetryCount
128180  	}
128181  	if mdvs.SourceRetryWait != nil {
128182  		objectMap["sourceRetryWait"] = mdvs.SourceRetryWait
128183  	}
128184  	if mdvs.MaxConcurrentConnections != nil {
128185  		objectMap["maxConcurrentConnections"] = mdvs.MaxConcurrentConnections
128186  	}
128187  	if mdvs.Type != "" {
128188  		objectMap["type"] = mdvs.Type
128189  	}
128190  	for k, v := range mdvs.AdditionalProperties {
128191  		objectMap[k] = v
128192  	}
128193  	return json.Marshal(objectMap)
128194  }
128195  
128196  // AsHTTPSource is the BasicCopySource implementation for MongoDbV2Source.
128197  func (mdvs MongoDbV2Source) AsHTTPSource() (*HTTPSource, bool) {
128198  	return nil, false
128199  }
128200  
128201  // AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbV2Source.
128202  func (mdvs MongoDbV2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
128203  	return nil, false
128204  }
128205  
128206  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbV2Source.
128207  func (mdvs MongoDbV2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
128208  	return nil, false
128209  }
128210  
128211  // AsOffice365Source is the BasicCopySource implementation for MongoDbV2Source.
128212  func (mdvs MongoDbV2Source) AsOffice365Source() (*Office365Source, bool) {
128213  	return nil, false
128214  }
128215  
128216  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbV2Source.
128217  func (mdvs MongoDbV2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
128218  	return nil, false
128219  }
128220  
128221  // AsMongoDbV2Source is the BasicCopySource implementation for MongoDbV2Source.
128222  func (mdvs MongoDbV2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
128223  	return &mdvs, true
128224  }
128225  
128226  // AsMongoDbSource is the BasicCopySource implementation for MongoDbV2Source.
128227  func (mdvs MongoDbV2Source) AsMongoDbSource() (*MongoDbSource, bool) {
128228  	return nil, false
128229  }
128230  
128231  // AsWebSource is the BasicCopySource implementation for MongoDbV2Source.
128232  func (mdvs MongoDbV2Source) AsWebSource() (*WebSource, bool) {
128233  	return nil, false
128234  }
128235  
128236  // AsOracleSource is the BasicCopySource implementation for MongoDbV2Source.
128237  func (mdvs MongoDbV2Source) AsOracleSource() (*OracleSource, bool) {
128238  	return nil, false
128239  }
128240  
128241  // AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbV2Source.
128242  func (mdvs MongoDbV2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
128243  	return nil, false
128244  }
128245  
128246  // AsHdfsSource is the BasicCopySource implementation for MongoDbV2Source.
128247  func (mdvs MongoDbV2Source) AsHdfsSource() (*HdfsSource, bool) {
128248  	return nil, false
128249  }
128250  
128251  // AsFileSystemSource is the BasicCopySource implementation for MongoDbV2Source.
128252  func (mdvs MongoDbV2Source) AsFileSystemSource() (*FileSystemSource, bool) {
128253  	return nil, false
128254  }
128255  
128256  // AsRestSource is the BasicCopySource implementation for MongoDbV2Source.
128257  func (mdvs MongoDbV2Source) AsRestSource() (*RestSource, bool) {
128258  	return nil, false
128259  }
128260  
128261  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source.
128262  func (mdvs MongoDbV2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
128263  	return nil, false
128264  }
128265  
128266  // AsODataSource is the BasicCopySource implementation for MongoDbV2Source.
128267  func (mdvs MongoDbV2Source) AsODataSource() (*ODataSource, bool) {
128268  	return nil, false
128269  }
128270  
128271  // AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbV2Source.
128272  func (mdvs MongoDbV2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
128273  	return nil, false
128274  }
128275  
128276  // AsRelationalSource is the BasicCopySource implementation for MongoDbV2Source.
128277  func (mdvs MongoDbV2Source) AsRelationalSource() (*RelationalSource, bool) {
128278  	return nil, false
128279  }
128280  
128281  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbV2Source.
128282  func (mdvs MongoDbV2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
128283  	return nil, false
128284  }
128285  
128286  // AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbV2Source.
128287  func (mdvs MongoDbV2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
128288  	return nil, false
128289  }
128290  
128291  // AsDynamicsSource is the BasicCopySource implementation for MongoDbV2Source.
128292  func (mdvs MongoDbV2Source) AsDynamicsSource() (*DynamicsSource, bool) {
128293  	return nil, false
128294  }
128295  
128296  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbV2Source.
128297  func (mdvs MongoDbV2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
128298  	return nil, false
128299  }
128300  
128301  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbV2Source.
128302  func (mdvs MongoDbV2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
128303  	return nil, false
128304  }
128305  
128306  // AsBlobSource is the BasicCopySource implementation for MongoDbV2Source.
128307  func (mdvs MongoDbV2Source) AsBlobSource() (*BlobSource, bool) {
128308  	return nil, false
128309  }
128310  
128311  // AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbV2Source.
128312  func (mdvs MongoDbV2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
128313  	return nil, false
128314  }
128315  
128316  // AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbV2Source.
128317  func (mdvs MongoDbV2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
128318  	return nil, false
128319  }
128320  
128321  // AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source.
128322  func (mdvs MongoDbV2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
128323  	return nil, false
128324  }
128325  
128326  // AsDynamicsAXSource is the BasicCopySource implementation for MongoDbV2Source.
128327  func (mdvs MongoDbV2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
128328  	return nil, false
128329  }
128330  
128331  // AsResponsysSource is the BasicCopySource implementation for MongoDbV2Source.
128332  func (mdvs MongoDbV2Source) AsResponsysSource() (*ResponsysSource, bool) {
128333  	return nil, false
128334  }
128335  
128336  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbV2Source.
128337  func (mdvs MongoDbV2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
128338  	return nil, false
128339  }
128340  
128341  // AsVerticaSource is the BasicCopySource implementation for MongoDbV2Source.
128342  func (mdvs MongoDbV2Source) AsVerticaSource() (*VerticaSource, bool) {
128343  	return nil, false
128344  }
128345  
128346  // AsNetezzaSource is the BasicCopySource implementation for MongoDbV2Source.
128347  func (mdvs MongoDbV2Source) AsNetezzaSource() (*NetezzaSource, bool) {
128348  	return nil, false
128349  }
128350  
128351  // AsZohoSource is the BasicCopySource implementation for MongoDbV2Source.
128352  func (mdvs MongoDbV2Source) AsZohoSource() (*ZohoSource, bool) {
128353  	return nil, false
128354  }
128355  
128356  // AsXeroSource is the BasicCopySource implementation for MongoDbV2Source.
128357  func (mdvs MongoDbV2Source) AsXeroSource() (*XeroSource, bool) {
128358  	return nil, false
128359  }
128360  
128361  // AsSquareSource is the BasicCopySource implementation for MongoDbV2Source.
128362  func (mdvs MongoDbV2Source) AsSquareSource() (*SquareSource, bool) {
128363  	return nil, false
128364  }
128365  
128366  // AsSparkSource is the BasicCopySource implementation for MongoDbV2Source.
128367  func (mdvs MongoDbV2Source) AsSparkSource() (*SparkSource, bool) {
128368  	return nil, false
128369  }
128370  
128371  // AsShopifySource is the BasicCopySource implementation for MongoDbV2Source.
128372  func (mdvs MongoDbV2Source) AsShopifySource() (*ShopifySource, bool) {
128373  	return nil, false
128374  }
128375  
128376  // AsServiceNowSource is the BasicCopySource implementation for MongoDbV2Source.
128377  func (mdvs MongoDbV2Source) AsServiceNowSource() (*ServiceNowSource, bool) {
128378  	return nil, false
128379  }
128380  
128381  // AsQuickBooksSource is the BasicCopySource implementation for MongoDbV2Source.
128382  func (mdvs MongoDbV2Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
128383  	return nil, false
128384  }
128385  
128386  // AsPrestoSource is the BasicCopySource implementation for MongoDbV2Source.
128387  func (mdvs MongoDbV2Source) AsPrestoSource() (*PrestoSource, bool) {
128388  	return nil, false
128389  }
128390  
128391  // AsPhoenixSource is the BasicCopySource implementation for MongoDbV2Source.
128392  func (mdvs MongoDbV2Source) AsPhoenixSource() (*PhoenixSource, bool) {
128393  	return nil, false
128394  }
128395  
128396  // AsPaypalSource is the BasicCopySource implementation for MongoDbV2Source.
128397  func (mdvs MongoDbV2Source) AsPaypalSource() (*PaypalSource, bool) {
128398  	return nil, false
128399  }
128400  
128401  // AsMarketoSource is the BasicCopySource implementation for MongoDbV2Source.
128402  func (mdvs MongoDbV2Source) AsMarketoSource() (*MarketoSource, bool) {
128403  	return nil, false
128404  }
128405  
128406  // AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbV2Source.
128407  func (mdvs MongoDbV2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
128408  	return nil, false
128409  }
128410  
128411  // AsMariaDBSource is the BasicCopySource implementation for MongoDbV2Source.
128412  func (mdvs MongoDbV2Source) AsMariaDBSource() (*MariaDBSource, bool) {
128413  	return nil, false
128414  }
128415  
128416  // AsMagentoSource is the BasicCopySource implementation for MongoDbV2Source.
128417  func (mdvs MongoDbV2Source) AsMagentoSource() (*MagentoSource, bool) {
128418  	return nil, false
128419  }
128420  
128421  // AsJiraSource is the BasicCopySource implementation for MongoDbV2Source.
128422  func (mdvs MongoDbV2Source) AsJiraSource() (*JiraSource, bool) {
128423  	return nil, false
128424  }
128425  
128426  // AsImpalaSource is the BasicCopySource implementation for MongoDbV2Source.
128427  func (mdvs MongoDbV2Source) AsImpalaSource() (*ImpalaSource, bool) {
128428  	return nil, false
128429  }
128430  
128431  // AsHubspotSource is the BasicCopySource implementation for MongoDbV2Source.
128432  func (mdvs MongoDbV2Source) AsHubspotSource() (*HubspotSource, bool) {
128433  	return nil, false
128434  }
128435  
128436  // AsHiveSource is the BasicCopySource implementation for MongoDbV2Source.
128437  func (mdvs MongoDbV2Source) AsHiveSource() (*HiveSource, bool) {
128438  	return nil, false
128439  }
128440  
128441  // AsHBaseSource is the BasicCopySource implementation for MongoDbV2Source.
128442  func (mdvs MongoDbV2Source) AsHBaseSource() (*HBaseSource, bool) {
128443  	return nil, false
128444  }
128445  
128446  // AsGreenplumSource is the BasicCopySource implementation for MongoDbV2Source.
128447  func (mdvs MongoDbV2Source) AsGreenplumSource() (*GreenplumSource, bool) {
128448  	return nil, false
128449  }
128450  
128451  // AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbV2Source.
128452  func (mdvs MongoDbV2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
128453  	return nil, false
128454  }
128455  
128456  // AsEloquaSource is the BasicCopySource implementation for MongoDbV2Source.
128457  func (mdvs MongoDbV2Source) AsEloquaSource() (*EloquaSource, bool) {
128458  	return nil, false
128459  }
128460  
128461  // AsDrillSource is the BasicCopySource implementation for MongoDbV2Source.
128462  func (mdvs MongoDbV2Source) AsDrillSource() (*DrillSource, bool) {
128463  	return nil, false
128464  }
128465  
128466  // AsCouchbaseSource is the BasicCopySource implementation for MongoDbV2Source.
128467  func (mdvs MongoDbV2Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
128468  	return nil, false
128469  }
128470  
128471  // AsConcurSource is the BasicCopySource implementation for MongoDbV2Source.
128472  func (mdvs MongoDbV2Source) AsConcurSource() (*ConcurSource, bool) {
128473  	return nil, false
128474  }
128475  
128476  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source.
128477  func (mdvs MongoDbV2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
128478  	return nil, false
128479  }
128480  
128481  // AsAmazonMWSSource is the BasicCopySource implementation for MongoDbV2Source.
128482  func (mdvs MongoDbV2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
128483  	return nil, false
128484  }
128485  
128486  // AsCassandraSource is the BasicCopySource implementation for MongoDbV2Source.
128487  func (mdvs MongoDbV2Source) AsCassandraSource() (*CassandraSource, bool) {
128488  	return nil, false
128489  }
128490  
128491  // AsTeradataSource is the BasicCopySource implementation for MongoDbV2Source.
128492  func (mdvs MongoDbV2Source) AsTeradataSource() (*TeradataSource, bool) {
128493  	return nil, false
128494  }
128495  
128496  // AsAzureMySQLSource is the BasicCopySource implementation for MongoDbV2Source.
128497  func (mdvs MongoDbV2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
128498  	return nil, false
128499  }
128500  
128501  // AsSQLDWSource is the BasicCopySource implementation for MongoDbV2Source.
128502  func (mdvs MongoDbV2Source) AsSQLDWSource() (*SQLDWSource, bool) {
128503  	return nil, false
128504  }
128505  
128506  // AsSQLMISource is the BasicCopySource implementation for MongoDbV2Source.
128507  func (mdvs MongoDbV2Source) AsSQLMISource() (*SQLMISource, bool) {
128508  	return nil, false
128509  }
128510  
128511  // AsAzureSQLSource is the BasicCopySource implementation for MongoDbV2Source.
128512  func (mdvs MongoDbV2Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
128513  	return nil, false
128514  }
128515  
128516  // AsSQLServerSource is the BasicCopySource implementation for MongoDbV2Source.
128517  func (mdvs MongoDbV2Source) AsSQLServerSource() (*SQLServerSource, bool) {
128518  	return nil, false
128519  }
128520  
128521  // AsSQLSource is the BasicCopySource implementation for MongoDbV2Source.
128522  func (mdvs MongoDbV2Source) AsSQLSource() (*SQLSource, bool) {
128523  	return nil, false
128524  }
128525  
128526  // AsSapTableSource is the BasicCopySource implementation for MongoDbV2Source.
128527  func (mdvs MongoDbV2Source) AsSapTableSource() (*SapTableSource, bool) {
128528  	return nil, false
128529  }
128530  
128531  // AsSapOpenHubSource is the BasicCopySource implementation for MongoDbV2Source.
128532  func (mdvs MongoDbV2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
128533  	return nil, false
128534  }
128535  
128536  // AsSapHanaSource is the BasicCopySource implementation for MongoDbV2Source.
128537  func (mdvs MongoDbV2Source) AsSapHanaSource() (*SapHanaSource, bool) {
128538  	return nil, false
128539  }
128540  
128541  // AsSapEccSource is the BasicCopySource implementation for MongoDbV2Source.
128542  func (mdvs MongoDbV2Source) AsSapEccSource() (*SapEccSource, bool) {
128543  	return nil, false
128544  }
128545  
128546  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbV2Source.
128547  func (mdvs MongoDbV2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
128548  	return nil, false
128549  }
128550  
128551  // AsSalesforceSource is the BasicCopySource implementation for MongoDbV2Source.
128552  func (mdvs MongoDbV2Source) AsSalesforceSource() (*SalesforceSource, bool) {
128553  	return nil, false
128554  }
128555  
128556  // AsSapBwSource is the BasicCopySource implementation for MongoDbV2Source.
128557  func (mdvs MongoDbV2Source) AsSapBwSource() (*SapBwSource, bool) {
128558  	return nil, false
128559  }
128560  
128561  // AsSybaseSource is the BasicCopySource implementation for MongoDbV2Source.
128562  func (mdvs MongoDbV2Source) AsSybaseSource() (*SybaseSource, bool) {
128563  	return nil, false
128564  }
128565  
128566  // AsPostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source.
128567  func (mdvs MongoDbV2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
128568  	return nil, false
128569  }
128570  
128571  // AsMySQLSource is the BasicCopySource implementation for MongoDbV2Source.
128572  func (mdvs MongoDbV2Source) AsMySQLSource() (*MySQLSource, bool) {
128573  	return nil, false
128574  }
128575  
128576  // AsOdbcSource is the BasicCopySource implementation for MongoDbV2Source.
128577  func (mdvs MongoDbV2Source) AsOdbcSource() (*OdbcSource, bool) {
128578  	return nil, false
128579  }
128580  
128581  // AsDb2Source is the BasicCopySource implementation for MongoDbV2Source.
128582  func (mdvs MongoDbV2Source) AsDb2Source() (*Db2Source, bool) {
128583  	return nil, false
128584  }
128585  
128586  // AsInformixSource is the BasicCopySource implementation for MongoDbV2Source.
128587  func (mdvs MongoDbV2Source) AsInformixSource() (*InformixSource, bool) {
128588  	return nil, false
128589  }
128590  
128591  // AsAzureTableSource is the BasicCopySource implementation for MongoDbV2Source.
128592  func (mdvs MongoDbV2Source) AsAzureTableSource() (*AzureTableSource, bool) {
128593  	return nil, false
128594  }
128595  
128596  // AsTabularSource is the BasicCopySource implementation for MongoDbV2Source.
128597  func (mdvs MongoDbV2Source) AsTabularSource() (*TabularSource, bool) {
128598  	return nil, false
128599  }
128600  
128601  // AsBasicTabularSource is the BasicCopySource implementation for MongoDbV2Source.
128602  func (mdvs MongoDbV2Source) AsBasicTabularSource() (BasicTabularSource, bool) {
128603  	return nil, false
128604  }
128605  
128606  // AsBinarySource is the BasicCopySource implementation for MongoDbV2Source.
128607  func (mdvs MongoDbV2Source) AsBinarySource() (*BinarySource, bool) {
128608  	return nil, false
128609  }
128610  
128611  // AsOrcSource is the BasicCopySource implementation for MongoDbV2Source.
128612  func (mdvs MongoDbV2Source) AsOrcSource() (*OrcSource, bool) {
128613  	return nil, false
128614  }
128615  
128616  // AsJSONSource is the BasicCopySource implementation for MongoDbV2Source.
128617  func (mdvs MongoDbV2Source) AsJSONSource() (*JSONSource, bool) {
128618  	return nil, false
128619  }
128620  
128621  // AsDelimitedTextSource is the BasicCopySource implementation for MongoDbV2Source.
128622  func (mdvs MongoDbV2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
128623  	return nil, false
128624  }
128625  
128626  // AsParquetSource is the BasicCopySource implementation for MongoDbV2Source.
128627  func (mdvs MongoDbV2Source) AsParquetSource() (*ParquetSource, bool) {
128628  	return nil, false
128629  }
128630  
128631  // AsAvroSource is the BasicCopySource implementation for MongoDbV2Source.
128632  func (mdvs MongoDbV2Source) AsAvroSource() (*AvroSource, bool) {
128633  	return nil, false
128634  }
128635  
128636  // AsCopySource is the BasicCopySource implementation for MongoDbV2Source.
128637  func (mdvs MongoDbV2Source) AsCopySource() (*CopySource, bool) {
128638  	return nil, false
128639  }
128640  
128641  // AsBasicCopySource is the BasicCopySource implementation for MongoDbV2Source.
128642  func (mdvs MongoDbV2Source) AsBasicCopySource() (BasicCopySource, bool) {
128643  	return &mdvs, true
128644  }
128645  
128646  // UnmarshalJSON is the custom unmarshaler for MongoDbV2Source struct.
128647  func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error {
128648  	var m map[string]*json.RawMessage
128649  	err := json.Unmarshal(body, &m)
128650  	if err != nil {
128651  		return err
128652  	}
128653  	for k, v := range m {
128654  		switch k {
128655  		case "filter":
128656  			if v != nil {
128657  				var filter interface{}
128658  				err = json.Unmarshal(*v, &filter)
128659  				if err != nil {
128660  					return err
128661  				}
128662  				mdvs.Filter = filter
128663  			}
128664  		case "cursorMethods":
128665  			if v != nil {
128666  				var cursorMethods MongoDbCursorMethodsProperties
128667  				err = json.Unmarshal(*v, &cursorMethods)
128668  				if err != nil {
128669  					return err
128670  				}
128671  				mdvs.CursorMethods = &cursorMethods
128672  			}
128673  		case "batchSize":
128674  			if v != nil {
128675  				var batchSize interface{}
128676  				err = json.Unmarshal(*v, &batchSize)
128677  				if err != nil {
128678  					return err
128679  				}
128680  				mdvs.BatchSize = batchSize
128681  			}
128682  		case "queryTimeout":
128683  			if v != nil {
128684  				var queryTimeout interface{}
128685  				err = json.Unmarshal(*v, &queryTimeout)
128686  				if err != nil {
128687  					return err
128688  				}
128689  				mdvs.QueryTimeout = queryTimeout
128690  			}
128691  		default:
128692  			if v != nil {
128693  				var additionalProperties interface{}
128694  				err = json.Unmarshal(*v, &additionalProperties)
128695  				if err != nil {
128696  					return err
128697  				}
128698  				if mdvs.AdditionalProperties == nil {
128699  					mdvs.AdditionalProperties = make(map[string]interface{})
128700  				}
128701  				mdvs.AdditionalProperties[k] = additionalProperties
128702  			}
128703  		case "sourceRetryCount":
128704  			if v != nil {
128705  				var sourceRetryCount interface{}
128706  				err = json.Unmarshal(*v, &sourceRetryCount)
128707  				if err != nil {
128708  					return err
128709  				}
128710  				mdvs.SourceRetryCount = sourceRetryCount
128711  			}
128712  		case "sourceRetryWait":
128713  			if v != nil {
128714  				var sourceRetryWait interface{}
128715  				err = json.Unmarshal(*v, &sourceRetryWait)
128716  				if err != nil {
128717  					return err
128718  				}
128719  				mdvs.SourceRetryWait = sourceRetryWait
128720  			}
128721  		case "maxConcurrentConnections":
128722  			if v != nil {
128723  				var maxConcurrentConnections interface{}
128724  				err = json.Unmarshal(*v, &maxConcurrentConnections)
128725  				if err != nil {
128726  					return err
128727  				}
128728  				mdvs.MaxConcurrentConnections = maxConcurrentConnections
128729  			}
128730  		case "type":
128731  			if v != nil {
128732  				var typeVar TypeBasicCopySource
128733  				err = json.Unmarshal(*v, &typeVar)
128734  				if err != nil {
128735  					return err
128736  				}
128737  				mdvs.Type = typeVar
128738  			}
128739  		}
128740  	}
128741  
128742  	return nil
128743  }
128744  
128745  // BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
128746  type BasicMultiplePipelineTrigger interface {
128747  	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
128748  	AsBlobTrigger() (*BlobTrigger, bool)
128749  	AsScheduleTrigger() (*ScheduleTrigger, bool)
128750  	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
128751  }
128752  
128753  // MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline.
128754  type MultiplePipelineTrigger struct {
128755  	// Pipelines - Pipelines that need to be started.
128756  	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
128757  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128758  	AdditionalProperties map[string]interface{} `json:""`
128759  	// Description - Trigger description.
128760  	Description *string `json:"description,omitempty"`
128761  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
128762  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
128763  	// Annotations - List of tags that can be used for describing the trigger.
128764  	Annotations *[]interface{} `json:"annotations,omitempty"`
128765  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
128766  	Type TypeBasicTrigger `json:"type,omitempty"`
128767  }
128768  
128769  func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) {
128770  	var m map[string]interface{}
128771  	err := json.Unmarshal(body, &m)
128772  	if err != nil {
128773  		return nil, err
128774  	}
128775  
128776  	switch m["type"] {
128777  	case string(TypeBlobEventsTrigger):
128778  		var bet BlobEventsTrigger
128779  		err := json.Unmarshal(body, &bet)
128780  		return bet, err
128781  	case string(TypeBlobTrigger):
128782  		var bt BlobTrigger
128783  		err := json.Unmarshal(body, &bt)
128784  		return bt, err
128785  	case string(TypeScheduleTrigger):
128786  		var st ScheduleTrigger
128787  		err := json.Unmarshal(body, &st)
128788  		return st, err
128789  	default:
128790  		var mpt MultiplePipelineTrigger
128791  		err := json.Unmarshal(body, &mpt)
128792  		return mpt, err
128793  	}
128794  }
128795  func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) {
128796  	var rawMessages []*json.RawMessage
128797  	err := json.Unmarshal(body, &rawMessages)
128798  	if err != nil {
128799  		return nil, err
128800  	}
128801  
128802  	mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages))
128803  
128804  	for index, rawMessage := range rawMessages {
128805  		mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage)
128806  		if err != nil {
128807  			return nil, err
128808  		}
128809  		mptArray[index] = mpt
128810  	}
128811  	return mptArray, nil
128812  }
128813  
128814  // MarshalJSON is the custom marshaler for MultiplePipelineTrigger.
128815  func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) {
128816  	mpt.Type = TypeMultiplePipelineTrigger
128817  	objectMap := make(map[string]interface{})
128818  	if mpt.Pipelines != nil {
128819  		objectMap["pipelines"] = mpt.Pipelines
128820  	}
128821  	if mpt.Description != nil {
128822  		objectMap["description"] = mpt.Description
128823  	}
128824  	if mpt.Annotations != nil {
128825  		objectMap["annotations"] = mpt.Annotations
128826  	}
128827  	if mpt.Type != "" {
128828  		objectMap["type"] = mpt.Type
128829  	}
128830  	for k, v := range mpt.AdditionalProperties {
128831  		objectMap[k] = v
128832  	}
128833  	return json.Marshal(objectMap)
128834  }
128835  
128836  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128837  func (mpt MultiplePipelineTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
128838  	return nil, false
128839  }
128840  
128841  // AsChainingTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128842  func (mpt MultiplePipelineTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
128843  	return nil, false
128844  }
128845  
128846  // AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128847  func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
128848  	return nil, false
128849  }
128850  
128851  // AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128852  func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
128853  	return nil, false
128854  }
128855  
128856  // AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128857  func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
128858  	return nil, false
128859  }
128860  
128861  // AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128862  func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
128863  	return nil, false
128864  }
128865  
128866  // AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128867  func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
128868  	return &mpt, true
128869  }
128870  
128871  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128872  func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
128873  	return &mpt, true
128874  }
128875  
128876  // AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128877  func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) {
128878  	return nil, false
128879  }
128880  
128881  // AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger.
128882  func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) {
128883  	return &mpt, true
128884  }
128885  
128886  // UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct.
128887  func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error {
128888  	var m map[string]*json.RawMessage
128889  	err := json.Unmarshal(body, &m)
128890  	if err != nil {
128891  		return err
128892  	}
128893  	for k, v := range m {
128894  		switch k {
128895  		case "pipelines":
128896  			if v != nil {
128897  				var pipelines []TriggerPipelineReference
128898  				err = json.Unmarshal(*v, &pipelines)
128899  				if err != nil {
128900  					return err
128901  				}
128902  				mpt.Pipelines = &pipelines
128903  			}
128904  		default:
128905  			if v != nil {
128906  				var additionalProperties interface{}
128907  				err = json.Unmarshal(*v, &additionalProperties)
128908  				if err != nil {
128909  					return err
128910  				}
128911  				if mpt.AdditionalProperties == nil {
128912  					mpt.AdditionalProperties = make(map[string]interface{})
128913  				}
128914  				mpt.AdditionalProperties[k] = additionalProperties
128915  			}
128916  		case "description":
128917  			if v != nil {
128918  				var description string
128919  				err = json.Unmarshal(*v, &description)
128920  				if err != nil {
128921  					return err
128922  				}
128923  				mpt.Description = &description
128924  			}
128925  		case "runtimeState":
128926  			if v != nil {
128927  				var runtimeState TriggerRuntimeState
128928  				err = json.Unmarshal(*v, &runtimeState)
128929  				if err != nil {
128930  					return err
128931  				}
128932  				mpt.RuntimeState = runtimeState
128933  			}
128934  		case "annotations":
128935  			if v != nil {
128936  				var annotations []interface{}
128937  				err = json.Unmarshal(*v, &annotations)
128938  				if err != nil {
128939  					return err
128940  				}
128941  				mpt.Annotations = &annotations
128942  			}
128943  		case "type":
128944  			if v != nil {
128945  				var typeVar TypeBasicTrigger
128946  				err = json.Unmarshal(*v, &typeVar)
128947  				if err != nil {
128948  					return err
128949  				}
128950  				mpt.Type = typeVar
128951  			}
128952  		}
128953  	}
128954  
128955  	return nil
128956  }
128957  
128958  // MySQLLinkedService linked service for MySQL data source.
128959  type MySQLLinkedService struct {
128960  	// MySQLLinkedServiceTypeProperties - MySQL linked service properties.
128961  	*MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
128962  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
128963  	AdditionalProperties map[string]interface{} `json:""`
128964  	// ConnectVia - The integration runtime reference.
128965  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
128966  	// Description - Linked service description.
128967  	Description *string `json:"description,omitempty"`
128968  	// Parameters - Parameters for linked service.
128969  	Parameters map[string]*ParameterSpecification `json:"parameters"`
128970  	// Annotations - List of tags that can be used for describing the linked service.
128971  	Annotations *[]interface{} `json:"annotations,omitempty"`
128972  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
128973  	Type TypeBasicLinkedService `json:"type,omitempty"`
128974  }
128975  
128976  // MarshalJSON is the custom marshaler for MySQLLinkedService.
128977  func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) {
128978  	msls.Type = TypeMySQL
128979  	objectMap := make(map[string]interface{})
128980  	if msls.MySQLLinkedServiceTypeProperties != nil {
128981  		objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties
128982  	}
128983  	if msls.ConnectVia != nil {
128984  		objectMap["connectVia"] = msls.ConnectVia
128985  	}
128986  	if msls.Description != nil {
128987  		objectMap["description"] = msls.Description
128988  	}
128989  	if msls.Parameters != nil {
128990  		objectMap["parameters"] = msls.Parameters
128991  	}
128992  	if msls.Annotations != nil {
128993  		objectMap["annotations"] = msls.Annotations
128994  	}
128995  	if msls.Type != "" {
128996  		objectMap["type"] = msls.Type
128997  	}
128998  	for k, v := range msls.AdditionalProperties {
128999  		objectMap[k] = v
129000  	}
129001  	return json.Marshal(objectMap)
129002  }
129003  
129004  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129005  func (msls MySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
129006  	return nil, false
129007  }
129008  
129009  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129010  func (msls MySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
129011  	return nil, false
129012  }
129013  
129014  // AsSapTableLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129015  func (msls MySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
129016  	return nil, false
129017  }
129018  
129019  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129020  func (msls MySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
129021  	return nil, false
129022  }
129023  
129024  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129025  func (msls MySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
129026  	return nil, false
129027  }
129028  
129029  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129030  func (msls MySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
129031  	return nil, false
129032  }
129033  
129034  // AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129035  func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
129036  	return nil, false
129037  }
129038  
129039  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129040  func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
129041  	return nil, false
129042  }
129043  
129044  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129045  func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
129046  	return nil, false
129047  }
129048  
129049  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129050  func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
129051  	return nil, false
129052  }
129053  
129054  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129055  func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
129056  	return nil, false
129057  }
129058  
129059  // AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129060  func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
129061  	return nil, false
129062  }
129063  
129064  // AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129065  func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
129066  	return nil, false
129067  }
129068  
129069  // AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129070  func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
129071  	return nil, false
129072  }
129073  
129074  // AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129075  func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
129076  	return nil, false
129077  }
129078  
129079  // AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129080  func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
129081  	return nil, false
129082  }
129083  
129084  // AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129085  func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
129086  	return nil, false
129087  }
129088  
129089  // AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129090  func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
129091  	return nil, false
129092  }
129093  
129094  // AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129095  func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
129096  	return nil, false
129097  }
129098  
129099  // AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129100  func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
129101  	return nil, false
129102  }
129103  
129104  // AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129105  func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
129106  	return nil, false
129107  }
129108  
129109  // AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129110  func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
129111  	return nil, false
129112  }
129113  
129114  // AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129115  func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
129116  	return nil, false
129117  }
129118  
129119  // AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129120  func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
129121  	return nil, false
129122  }
129123  
129124  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129125  func (msls MySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
129126  	return nil, false
129127  }
129128  
129129  // AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129130  func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
129131  	return nil, false
129132  }
129133  
129134  // AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129135  func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
129136  	return nil, false
129137  }
129138  
129139  // AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129140  func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
129141  	return nil, false
129142  }
129143  
129144  // AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129145  func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
129146  	return nil, false
129147  }
129148  
129149  // AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129150  func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
129151  	return nil, false
129152  }
129153  
129154  // AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129155  func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
129156  	return nil, false
129157  }
129158  
129159  // AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129160  func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
129161  	return nil, false
129162  }
129163  
129164  // AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129165  func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
129166  	return nil, false
129167  }
129168  
129169  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129170  func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
129171  	return nil, false
129172  }
129173  
129174  // AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129175  func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
129176  	return nil, false
129177  }
129178  
129179  // AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129180  func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
129181  	return nil, false
129182  }
129183  
129184  // AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129185  func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
129186  	return nil, false
129187  }
129188  
129189  // AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129190  func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
129191  	return nil, false
129192  }
129193  
129194  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129195  func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
129196  	return nil, false
129197  }
129198  
129199  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129200  func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
129201  	return nil, false
129202  }
129203  
129204  // AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129205  func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
129206  	return nil, false
129207  }
129208  
129209  // AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129210  func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
129211  	return nil, false
129212  }
129213  
129214  // AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129215  func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
129216  	return nil, false
129217  }
129218  
129219  // AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129220  func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
129221  	return nil, false
129222  }
129223  
129224  // AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129225  func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
129226  	return nil, false
129227  }
129228  
129229  // AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129230  func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
129231  	return nil, false
129232  }
129233  
129234  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129235  func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
129236  	return nil, false
129237  }
129238  
129239  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129240  func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
129241  	return nil, false
129242  }
129243  
129244  // AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129245  func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
129246  	return nil, false
129247  }
129248  
129249  // AsRestServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129250  func (msls MySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
129251  	return nil, false
129252  }
129253  
129254  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129255  func (msls MySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
129256  	return nil, false
129257  }
129258  
129259  // AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129260  func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
129261  	return nil, false
129262  }
129263  
129264  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129265  func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
129266  	return nil, false
129267  }
129268  
129269  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129270  func (msls MySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
129271  	return nil, false
129272  }
129273  
129274  // AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129275  func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
129276  	return nil, false
129277  }
129278  
129279  // AsOffice365LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129280  func (msls MySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
129281  	return nil, false
129282  }
129283  
129284  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129285  func (msls MySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
129286  	return nil, false
129287  }
129288  
129289  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129290  func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
129291  	return nil, false
129292  }
129293  
129294  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129295  func (msls MySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
129296  	return nil, false
129297  }
129298  
129299  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129300  func (msls MySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
129301  	return nil, false
129302  }
129303  
129304  // AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129305  func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
129306  	return nil, false
129307  }
129308  
129309  // AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129310  func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
129311  	return nil, false
129312  }
129313  
129314  // AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129315  func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
129316  	return nil, false
129317  }
129318  
129319  // AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129320  func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
129321  	return nil, false
129322  }
129323  
129324  // AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129325  func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
129326  	return nil, false
129327  }
129328  
129329  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129330  func (msls MySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
129331  	return nil, false
129332  }
129333  
129334  // AsInformixLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129335  func (msls MySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
129336  	return nil, false
129337  }
129338  
129339  // AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129340  func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
129341  	return nil, false
129342  }
129343  
129344  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129345  func (msls MySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
129346  	return nil, false
129347  }
129348  
129349  // AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129350  func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
129351  	return nil, false
129352  }
129353  
129354  // AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129355  func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
129356  	return nil, false
129357  }
129358  
129359  // AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129360  func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
129361  	return nil, false
129362  }
129363  
129364  // AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129365  func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
129366  	return nil, false
129367  }
129368  
129369  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129370  func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
129371  	return nil, false
129372  }
129373  
129374  // AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129375  func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
129376  	return &msls, true
129377  }
129378  
129379  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129380  func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
129381  	return nil, false
129382  }
129383  
129384  // AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129385  func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
129386  	return nil, false
129387  }
129388  
129389  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129390  func (msls MySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
129391  	return nil, false
129392  }
129393  
129394  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129395  func (msls MySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
129396  	return nil, false
129397  }
129398  
129399  // AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129400  func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
129401  	return nil, false
129402  }
129403  
129404  // AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129405  func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
129406  	return nil, false
129407  }
129408  
129409  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129410  func (msls MySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
129411  	return nil, false
129412  }
129413  
129414  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129415  func (msls MySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
129416  	return nil, false
129417  }
129418  
129419  // AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129420  func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
129421  	return nil, false
129422  }
129423  
129424  // AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129425  func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
129426  	return nil, false
129427  }
129428  
129429  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129430  func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
129431  	return nil, false
129432  }
129433  
129434  // AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129435  func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
129436  	return nil, false
129437  }
129438  
129439  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129440  func (msls MySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
129441  	return nil, false
129442  }
129443  
129444  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129445  func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
129446  	return nil, false
129447  }
129448  
129449  // AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129450  func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
129451  	return nil, false
129452  }
129453  
129454  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129455  func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
129456  	return nil, false
129457  }
129458  
129459  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129460  func (msls MySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
129461  	return nil, false
129462  }
129463  
129464  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129465  func (msls MySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
129466  	return nil, false
129467  }
129468  
129469  // AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129470  func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
129471  	return nil, false
129472  }
129473  
129474  // AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129475  func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) {
129476  	return nil, false
129477  }
129478  
129479  // AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService.
129480  func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
129481  	return &msls, true
129482  }
129483  
129484  // UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct.
129485  func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error {
129486  	var m map[string]*json.RawMessage
129487  	err := json.Unmarshal(body, &m)
129488  	if err != nil {
129489  		return err
129490  	}
129491  	for k, v := range m {
129492  		switch k {
129493  		case "typeProperties":
129494  			if v != nil {
129495  				var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties
129496  				err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties)
129497  				if err != nil {
129498  					return err
129499  				}
129500  				msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties
129501  			}
129502  		default:
129503  			if v != nil {
129504  				var additionalProperties interface{}
129505  				err = json.Unmarshal(*v, &additionalProperties)
129506  				if err != nil {
129507  					return err
129508  				}
129509  				if msls.AdditionalProperties == nil {
129510  					msls.AdditionalProperties = make(map[string]interface{})
129511  				}
129512  				msls.AdditionalProperties[k] = additionalProperties
129513  			}
129514  		case "connectVia":
129515  			if v != nil {
129516  				var connectVia IntegrationRuntimeReference
129517  				err = json.Unmarshal(*v, &connectVia)
129518  				if err != nil {
129519  					return err
129520  				}
129521  				msls.ConnectVia = &connectVia
129522  			}
129523  		case "description":
129524  			if v != nil {
129525  				var description string
129526  				err = json.Unmarshal(*v, &description)
129527  				if err != nil {
129528  					return err
129529  				}
129530  				msls.Description = &description
129531  			}
129532  		case "parameters":
129533  			if v != nil {
129534  				var parameters map[string]*ParameterSpecification
129535  				err = json.Unmarshal(*v, &parameters)
129536  				if err != nil {
129537  					return err
129538  				}
129539  				msls.Parameters = parameters
129540  			}
129541  		case "annotations":
129542  			if v != nil {
129543  				var annotations []interface{}
129544  				err = json.Unmarshal(*v, &annotations)
129545  				if err != nil {
129546  					return err
129547  				}
129548  				msls.Annotations = &annotations
129549  			}
129550  		case "type":
129551  			if v != nil {
129552  				var typeVar TypeBasicLinkedService
129553  				err = json.Unmarshal(*v, &typeVar)
129554  				if err != nil {
129555  					return err
129556  				}
129557  				msls.Type = typeVar
129558  			}
129559  		}
129560  	}
129561  
129562  	return nil
129563  }
129564  
129565  // MySQLLinkedServiceTypeProperties mySQL linked service properties.
129566  type MySQLLinkedServiceTypeProperties struct {
129567  	// ConnectionString - The connection string.
129568  	ConnectionString interface{} `json:"connectionString,omitempty"`
129569  	// Password - The Azure key vault secret reference of password in connection string.
129570  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
129571  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
129572  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
129573  }
129574  
129575  // MySQLSource a copy activity source for MySQL databases.
129576  type MySQLSource struct {
129577  	// Query - Database query. Type: string (or Expression with resultType string).
129578  	Query interface{} `json:"query,omitempty"`
129579  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
129580  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
129581  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
129582  	AdditionalProperties map[string]interface{} `json:""`
129583  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
129584  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
129585  	// 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])).
129586  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
129587  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
129588  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
129589  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
129590  	Type TypeBasicCopySource `json:"type,omitempty"`
129591  }
129592  
129593  // MarshalJSON is the custom marshaler for MySQLSource.
129594  func (mss MySQLSource) MarshalJSON() ([]byte, error) {
129595  	mss.Type = TypeMySQLSource
129596  	objectMap := make(map[string]interface{})
129597  	if mss.Query != nil {
129598  		objectMap["query"] = mss.Query
129599  	}
129600  	if mss.QueryTimeout != nil {
129601  		objectMap["queryTimeout"] = mss.QueryTimeout
129602  	}
129603  	if mss.SourceRetryCount != nil {
129604  		objectMap["sourceRetryCount"] = mss.SourceRetryCount
129605  	}
129606  	if mss.SourceRetryWait != nil {
129607  		objectMap["sourceRetryWait"] = mss.SourceRetryWait
129608  	}
129609  	if mss.MaxConcurrentConnections != nil {
129610  		objectMap["maxConcurrentConnections"] = mss.MaxConcurrentConnections
129611  	}
129612  	if mss.Type != "" {
129613  		objectMap["type"] = mss.Type
129614  	}
129615  	for k, v := range mss.AdditionalProperties {
129616  		objectMap[k] = v
129617  	}
129618  	return json.Marshal(objectMap)
129619  }
129620  
129621  // AsHTTPSource is the BasicCopySource implementation for MySQLSource.
129622  func (mss MySQLSource) AsHTTPSource() (*HTTPSource, bool) {
129623  	return nil, false
129624  }
129625  
129626  // AsAzureBlobFSSource is the BasicCopySource implementation for MySQLSource.
129627  func (mss MySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
129628  	return nil, false
129629  }
129630  
129631  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for MySQLSource.
129632  func (mss MySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
129633  	return nil, false
129634  }
129635  
129636  // AsOffice365Source is the BasicCopySource implementation for MySQLSource.
129637  func (mss MySQLSource) AsOffice365Source() (*Office365Source, bool) {
129638  	return nil, false
129639  }
129640  
129641  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MySQLSource.
129642  func (mss MySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
129643  	return nil, false
129644  }
129645  
129646  // AsMongoDbV2Source is the BasicCopySource implementation for MySQLSource.
129647  func (mss MySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
129648  	return nil, false
129649  }
129650  
129651  // AsMongoDbSource is the BasicCopySource implementation for MySQLSource.
129652  func (mss MySQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
129653  	return nil, false
129654  }
129655  
129656  // AsWebSource is the BasicCopySource implementation for MySQLSource.
129657  func (mss MySQLSource) AsWebSource() (*WebSource, bool) {
129658  	return nil, false
129659  }
129660  
129661  // AsOracleSource is the BasicCopySource implementation for MySQLSource.
129662  func (mss MySQLSource) AsOracleSource() (*OracleSource, bool) {
129663  	return nil, false
129664  }
129665  
129666  // AsAzureDataExplorerSource is the BasicCopySource implementation for MySQLSource.
129667  func (mss MySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
129668  	return nil, false
129669  }
129670  
129671  // AsHdfsSource is the BasicCopySource implementation for MySQLSource.
129672  func (mss MySQLSource) AsHdfsSource() (*HdfsSource, bool) {
129673  	return nil, false
129674  }
129675  
129676  // AsFileSystemSource is the BasicCopySource implementation for MySQLSource.
129677  func (mss MySQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
129678  	return nil, false
129679  }
129680  
129681  // AsRestSource is the BasicCopySource implementation for MySQLSource.
129682  func (mss MySQLSource) AsRestSource() (*RestSource, bool) {
129683  	return nil, false
129684  }
129685  
129686  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for MySQLSource.
129687  func (mss MySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
129688  	return nil, false
129689  }
129690  
129691  // AsODataSource is the BasicCopySource implementation for MySQLSource.
129692  func (mss MySQLSource) AsODataSource() (*ODataSource, bool) {
129693  	return nil, false
129694  }
129695  
129696  // AsMicrosoftAccessSource is the BasicCopySource implementation for MySQLSource.
129697  func (mss MySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
129698  	return nil, false
129699  }
129700  
129701  // AsRelationalSource is the BasicCopySource implementation for MySQLSource.
129702  func (mss MySQLSource) AsRelationalSource() (*RelationalSource, bool) {
129703  	return nil, false
129704  }
129705  
129706  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MySQLSource.
129707  func (mss MySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
129708  	return nil, false
129709  }
129710  
129711  // AsDynamicsCrmSource is the BasicCopySource implementation for MySQLSource.
129712  func (mss MySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
129713  	return nil, false
129714  }
129715  
129716  // AsDynamicsSource is the BasicCopySource implementation for MySQLSource.
129717  func (mss MySQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
129718  	return nil, false
129719  }
129720  
129721  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for MySQLSource.
129722  func (mss MySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
129723  	return nil, false
129724  }
129725  
129726  // AsDocumentDbCollectionSource is the BasicCopySource implementation for MySQLSource.
129727  func (mss MySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
129728  	return nil, false
129729  }
129730  
129731  // AsBlobSource is the BasicCopySource implementation for MySQLSource.
129732  func (mss MySQLSource) AsBlobSource() (*BlobSource, bool) {
129733  	return nil, false
129734  }
129735  
129736  // AsAmazonRedshiftSource is the BasicCopySource implementation for MySQLSource.
129737  func (mss MySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
129738  	return nil, false
129739  }
129740  
129741  // AsGoogleAdWordsSource is the BasicCopySource implementation for MySQLSource.
129742  func (mss MySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
129743  	return nil, false
129744  }
129745  
129746  // AsOracleServiceCloudSource is the BasicCopySource implementation for MySQLSource.
129747  func (mss MySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
129748  	return nil, false
129749  }
129750  
129751  // AsDynamicsAXSource is the BasicCopySource implementation for MySQLSource.
129752  func (mss MySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
129753  	return nil, false
129754  }
129755  
129756  // AsResponsysSource is the BasicCopySource implementation for MySQLSource.
129757  func (mss MySQLSource) AsResponsysSource() (*ResponsysSource, bool) {
129758  	return nil, false
129759  }
129760  
129761  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MySQLSource.
129762  func (mss MySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
129763  	return nil, false
129764  }
129765  
129766  // AsVerticaSource is the BasicCopySource implementation for MySQLSource.
129767  func (mss MySQLSource) AsVerticaSource() (*VerticaSource, bool) {
129768  	return nil, false
129769  }
129770  
129771  // AsNetezzaSource is the BasicCopySource implementation for MySQLSource.
129772  func (mss MySQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
129773  	return nil, false
129774  }
129775  
129776  // AsZohoSource is the BasicCopySource implementation for MySQLSource.
129777  func (mss MySQLSource) AsZohoSource() (*ZohoSource, bool) {
129778  	return nil, false
129779  }
129780  
129781  // AsXeroSource is the BasicCopySource implementation for MySQLSource.
129782  func (mss MySQLSource) AsXeroSource() (*XeroSource, bool) {
129783  	return nil, false
129784  }
129785  
129786  // AsSquareSource is the BasicCopySource implementation for MySQLSource.
129787  func (mss MySQLSource) AsSquareSource() (*SquareSource, bool) {
129788  	return nil, false
129789  }
129790  
129791  // AsSparkSource is the BasicCopySource implementation for MySQLSource.
129792  func (mss MySQLSource) AsSparkSource() (*SparkSource, bool) {
129793  	return nil, false
129794  }
129795  
129796  // AsShopifySource is the BasicCopySource implementation for MySQLSource.
129797  func (mss MySQLSource) AsShopifySource() (*ShopifySource, bool) {
129798  	return nil, false
129799  }
129800  
129801  // AsServiceNowSource is the BasicCopySource implementation for MySQLSource.
129802  func (mss MySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
129803  	return nil, false
129804  }
129805  
129806  // AsQuickBooksSource is the BasicCopySource implementation for MySQLSource.
129807  func (mss MySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
129808  	return nil, false
129809  }
129810  
129811  // AsPrestoSource is the BasicCopySource implementation for MySQLSource.
129812  func (mss MySQLSource) AsPrestoSource() (*PrestoSource, bool) {
129813  	return nil, false
129814  }
129815  
129816  // AsPhoenixSource is the BasicCopySource implementation for MySQLSource.
129817  func (mss MySQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
129818  	return nil, false
129819  }
129820  
129821  // AsPaypalSource is the BasicCopySource implementation for MySQLSource.
129822  func (mss MySQLSource) AsPaypalSource() (*PaypalSource, bool) {
129823  	return nil, false
129824  }
129825  
129826  // AsMarketoSource is the BasicCopySource implementation for MySQLSource.
129827  func (mss MySQLSource) AsMarketoSource() (*MarketoSource, bool) {
129828  	return nil, false
129829  }
129830  
129831  // AsAzureMariaDBSource is the BasicCopySource implementation for MySQLSource.
129832  func (mss MySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
129833  	return nil, false
129834  }
129835  
129836  // AsMariaDBSource is the BasicCopySource implementation for MySQLSource.
129837  func (mss MySQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
129838  	return nil, false
129839  }
129840  
129841  // AsMagentoSource is the BasicCopySource implementation for MySQLSource.
129842  func (mss MySQLSource) AsMagentoSource() (*MagentoSource, bool) {
129843  	return nil, false
129844  }
129845  
129846  // AsJiraSource is the BasicCopySource implementation for MySQLSource.
129847  func (mss MySQLSource) AsJiraSource() (*JiraSource, bool) {
129848  	return nil, false
129849  }
129850  
129851  // AsImpalaSource is the BasicCopySource implementation for MySQLSource.
129852  func (mss MySQLSource) AsImpalaSource() (*ImpalaSource, bool) {
129853  	return nil, false
129854  }
129855  
129856  // AsHubspotSource is the BasicCopySource implementation for MySQLSource.
129857  func (mss MySQLSource) AsHubspotSource() (*HubspotSource, bool) {
129858  	return nil, false
129859  }
129860  
129861  // AsHiveSource is the BasicCopySource implementation for MySQLSource.
129862  func (mss MySQLSource) AsHiveSource() (*HiveSource, bool) {
129863  	return nil, false
129864  }
129865  
129866  // AsHBaseSource is the BasicCopySource implementation for MySQLSource.
129867  func (mss MySQLSource) AsHBaseSource() (*HBaseSource, bool) {
129868  	return nil, false
129869  }
129870  
129871  // AsGreenplumSource is the BasicCopySource implementation for MySQLSource.
129872  func (mss MySQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
129873  	return nil, false
129874  }
129875  
129876  // AsGoogleBigQuerySource is the BasicCopySource implementation for MySQLSource.
129877  func (mss MySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
129878  	return nil, false
129879  }
129880  
129881  // AsEloquaSource is the BasicCopySource implementation for MySQLSource.
129882  func (mss MySQLSource) AsEloquaSource() (*EloquaSource, bool) {
129883  	return nil, false
129884  }
129885  
129886  // AsDrillSource is the BasicCopySource implementation for MySQLSource.
129887  func (mss MySQLSource) AsDrillSource() (*DrillSource, bool) {
129888  	return nil, false
129889  }
129890  
129891  // AsCouchbaseSource is the BasicCopySource implementation for MySQLSource.
129892  func (mss MySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
129893  	return nil, false
129894  }
129895  
129896  // AsConcurSource is the BasicCopySource implementation for MySQLSource.
129897  func (mss MySQLSource) AsConcurSource() (*ConcurSource, bool) {
129898  	return nil, false
129899  }
129900  
129901  // AsAzurePostgreSQLSource is the BasicCopySource implementation for MySQLSource.
129902  func (mss MySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
129903  	return nil, false
129904  }
129905  
129906  // AsAmazonMWSSource is the BasicCopySource implementation for MySQLSource.
129907  func (mss MySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
129908  	return nil, false
129909  }
129910  
129911  // AsCassandraSource is the BasicCopySource implementation for MySQLSource.
129912  func (mss MySQLSource) AsCassandraSource() (*CassandraSource, bool) {
129913  	return nil, false
129914  }
129915  
129916  // AsTeradataSource is the BasicCopySource implementation for MySQLSource.
129917  func (mss MySQLSource) AsTeradataSource() (*TeradataSource, bool) {
129918  	return nil, false
129919  }
129920  
129921  // AsAzureMySQLSource is the BasicCopySource implementation for MySQLSource.
129922  func (mss MySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
129923  	return nil, false
129924  }
129925  
129926  // AsSQLDWSource is the BasicCopySource implementation for MySQLSource.
129927  func (mss MySQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
129928  	return nil, false
129929  }
129930  
129931  // AsSQLMISource is the BasicCopySource implementation for MySQLSource.
129932  func (mss MySQLSource) AsSQLMISource() (*SQLMISource, bool) {
129933  	return nil, false
129934  }
129935  
129936  // AsAzureSQLSource is the BasicCopySource implementation for MySQLSource.
129937  func (mss MySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
129938  	return nil, false
129939  }
129940  
129941  // AsSQLServerSource is the BasicCopySource implementation for MySQLSource.
129942  func (mss MySQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
129943  	return nil, false
129944  }
129945  
129946  // AsSQLSource is the BasicCopySource implementation for MySQLSource.
129947  func (mss MySQLSource) AsSQLSource() (*SQLSource, bool) {
129948  	return nil, false
129949  }
129950  
129951  // AsSapTableSource is the BasicCopySource implementation for MySQLSource.
129952  func (mss MySQLSource) AsSapTableSource() (*SapTableSource, bool) {
129953  	return nil, false
129954  }
129955  
129956  // AsSapOpenHubSource is the BasicCopySource implementation for MySQLSource.
129957  func (mss MySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
129958  	return nil, false
129959  }
129960  
129961  // AsSapHanaSource is the BasicCopySource implementation for MySQLSource.
129962  func (mss MySQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
129963  	return nil, false
129964  }
129965  
129966  // AsSapEccSource is the BasicCopySource implementation for MySQLSource.
129967  func (mss MySQLSource) AsSapEccSource() (*SapEccSource, bool) {
129968  	return nil, false
129969  }
129970  
129971  // AsSapCloudForCustomerSource is the BasicCopySource implementation for MySQLSource.
129972  func (mss MySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
129973  	return nil, false
129974  }
129975  
129976  // AsSalesforceSource is the BasicCopySource implementation for MySQLSource.
129977  func (mss MySQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
129978  	return nil, false
129979  }
129980  
129981  // AsSapBwSource is the BasicCopySource implementation for MySQLSource.
129982  func (mss MySQLSource) AsSapBwSource() (*SapBwSource, bool) {
129983  	return nil, false
129984  }
129985  
129986  // AsSybaseSource is the BasicCopySource implementation for MySQLSource.
129987  func (mss MySQLSource) AsSybaseSource() (*SybaseSource, bool) {
129988  	return nil, false
129989  }
129990  
129991  // AsPostgreSQLSource is the BasicCopySource implementation for MySQLSource.
129992  func (mss MySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
129993  	return nil, false
129994  }
129995  
129996  // AsMySQLSource is the BasicCopySource implementation for MySQLSource.
129997  func (mss MySQLSource) AsMySQLSource() (*MySQLSource, bool) {
129998  	return &mss, true
129999  }
130000  
130001  // AsOdbcSource is the BasicCopySource implementation for MySQLSource.
130002  func (mss MySQLSource) AsOdbcSource() (*OdbcSource, bool) {
130003  	return nil, false
130004  }
130005  
130006  // AsDb2Source is the BasicCopySource implementation for MySQLSource.
130007  func (mss MySQLSource) AsDb2Source() (*Db2Source, bool) {
130008  	return nil, false
130009  }
130010  
130011  // AsInformixSource is the BasicCopySource implementation for MySQLSource.
130012  func (mss MySQLSource) AsInformixSource() (*InformixSource, bool) {
130013  	return nil, false
130014  }
130015  
130016  // AsAzureTableSource is the BasicCopySource implementation for MySQLSource.
130017  func (mss MySQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
130018  	return nil, false
130019  }
130020  
130021  // AsTabularSource is the BasicCopySource implementation for MySQLSource.
130022  func (mss MySQLSource) AsTabularSource() (*TabularSource, bool) {
130023  	return nil, false
130024  }
130025  
130026  // AsBasicTabularSource is the BasicCopySource implementation for MySQLSource.
130027  func (mss MySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
130028  	return &mss, true
130029  }
130030  
130031  // AsBinarySource is the BasicCopySource implementation for MySQLSource.
130032  func (mss MySQLSource) AsBinarySource() (*BinarySource, bool) {
130033  	return nil, false
130034  }
130035  
130036  // AsOrcSource is the BasicCopySource implementation for MySQLSource.
130037  func (mss MySQLSource) AsOrcSource() (*OrcSource, bool) {
130038  	return nil, false
130039  }
130040  
130041  // AsJSONSource is the BasicCopySource implementation for MySQLSource.
130042  func (mss MySQLSource) AsJSONSource() (*JSONSource, bool) {
130043  	return nil, false
130044  }
130045  
130046  // AsDelimitedTextSource is the BasicCopySource implementation for MySQLSource.
130047  func (mss MySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
130048  	return nil, false
130049  }
130050  
130051  // AsParquetSource is the BasicCopySource implementation for MySQLSource.
130052  func (mss MySQLSource) AsParquetSource() (*ParquetSource, bool) {
130053  	return nil, false
130054  }
130055  
130056  // AsAvroSource is the BasicCopySource implementation for MySQLSource.
130057  func (mss MySQLSource) AsAvroSource() (*AvroSource, bool) {
130058  	return nil, false
130059  }
130060  
130061  // AsCopySource is the BasicCopySource implementation for MySQLSource.
130062  func (mss MySQLSource) AsCopySource() (*CopySource, bool) {
130063  	return nil, false
130064  }
130065  
130066  // AsBasicCopySource is the BasicCopySource implementation for MySQLSource.
130067  func (mss MySQLSource) AsBasicCopySource() (BasicCopySource, bool) {
130068  	return &mss, true
130069  }
130070  
130071  // UnmarshalJSON is the custom unmarshaler for MySQLSource struct.
130072  func (mss *MySQLSource) UnmarshalJSON(body []byte) error {
130073  	var m map[string]*json.RawMessage
130074  	err := json.Unmarshal(body, &m)
130075  	if err != nil {
130076  		return err
130077  	}
130078  	for k, v := range m {
130079  		switch k {
130080  		case "query":
130081  			if v != nil {
130082  				var query interface{}
130083  				err = json.Unmarshal(*v, &query)
130084  				if err != nil {
130085  					return err
130086  				}
130087  				mss.Query = query
130088  			}
130089  		case "queryTimeout":
130090  			if v != nil {
130091  				var queryTimeout interface{}
130092  				err = json.Unmarshal(*v, &queryTimeout)
130093  				if err != nil {
130094  					return err
130095  				}
130096  				mss.QueryTimeout = queryTimeout
130097  			}
130098  		default:
130099  			if v != nil {
130100  				var additionalProperties interface{}
130101  				err = json.Unmarshal(*v, &additionalProperties)
130102  				if err != nil {
130103  					return err
130104  				}
130105  				if mss.AdditionalProperties == nil {
130106  					mss.AdditionalProperties = make(map[string]interface{})
130107  				}
130108  				mss.AdditionalProperties[k] = additionalProperties
130109  			}
130110  		case "sourceRetryCount":
130111  			if v != nil {
130112  				var sourceRetryCount interface{}
130113  				err = json.Unmarshal(*v, &sourceRetryCount)
130114  				if err != nil {
130115  					return err
130116  				}
130117  				mss.SourceRetryCount = sourceRetryCount
130118  			}
130119  		case "sourceRetryWait":
130120  			if v != nil {
130121  				var sourceRetryWait interface{}
130122  				err = json.Unmarshal(*v, &sourceRetryWait)
130123  				if err != nil {
130124  					return err
130125  				}
130126  				mss.SourceRetryWait = sourceRetryWait
130127  			}
130128  		case "maxConcurrentConnections":
130129  			if v != nil {
130130  				var maxConcurrentConnections interface{}
130131  				err = json.Unmarshal(*v, &maxConcurrentConnections)
130132  				if err != nil {
130133  					return err
130134  				}
130135  				mss.MaxConcurrentConnections = maxConcurrentConnections
130136  			}
130137  		case "type":
130138  			if v != nil {
130139  				var typeVar TypeBasicCopySource
130140  				err = json.Unmarshal(*v, &typeVar)
130141  				if err != nil {
130142  					return err
130143  				}
130144  				mss.Type = typeVar
130145  			}
130146  		}
130147  	}
130148  
130149  	return nil
130150  }
130151  
130152  // MySQLTableDataset the MySQL table dataset.
130153  type MySQLTableDataset struct {
130154  	// MySQLTableDatasetTypeProperties - MySQL table dataset properties.
130155  	*MySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
130156  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
130157  	AdditionalProperties map[string]interface{} `json:""`
130158  	// Description - Dataset description.
130159  	Description *string `json:"description,omitempty"`
130160  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
130161  	Structure interface{} `json:"structure,omitempty"`
130162  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
130163  	Schema interface{} `json:"schema,omitempty"`
130164  	// LinkedServiceName - Linked service reference.
130165  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
130166  	// Parameters - Parameters for dataset.
130167  	Parameters map[string]*ParameterSpecification `json:"parameters"`
130168  	// Annotations - List of tags that can be used for describing the Dataset.
130169  	Annotations *[]interface{} `json:"annotations,omitempty"`
130170  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
130171  	Folder *DatasetFolder `json:"folder,omitempty"`
130172  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
130173  	Type TypeBasicDataset `json:"type,omitempty"`
130174  }
130175  
130176  // MarshalJSON is the custom marshaler for MySQLTableDataset.
130177  func (mstd MySQLTableDataset) MarshalJSON() ([]byte, error) {
130178  	mstd.Type = TypeMySQLTable
130179  	objectMap := make(map[string]interface{})
130180  	if mstd.MySQLTableDatasetTypeProperties != nil {
130181  		objectMap["typeProperties"] = mstd.MySQLTableDatasetTypeProperties
130182  	}
130183  	if mstd.Description != nil {
130184  		objectMap["description"] = mstd.Description
130185  	}
130186  	if mstd.Structure != nil {
130187  		objectMap["structure"] = mstd.Structure
130188  	}
130189  	if mstd.Schema != nil {
130190  		objectMap["schema"] = mstd.Schema
130191  	}
130192  	if mstd.LinkedServiceName != nil {
130193  		objectMap["linkedServiceName"] = mstd.LinkedServiceName
130194  	}
130195  	if mstd.Parameters != nil {
130196  		objectMap["parameters"] = mstd.Parameters
130197  	}
130198  	if mstd.Annotations != nil {
130199  		objectMap["annotations"] = mstd.Annotations
130200  	}
130201  	if mstd.Folder != nil {
130202  		objectMap["folder"] = mstd.Folder
130203  	}
130204  	if mstd.Type != "" {
130205  		objectMap["type"] = mstd.Type
130206  	}
130207  	for k, v := range mstd.AdditionalProperties {
130208  		objectMap[k] = v
130209  	}
130210  	return json.Marshal(objectMap)
130211  }
130212  
130213  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130214  func (mstd MySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
130215  	return nil, false
130216  }
130217  
130218  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for MySQLTableDataset.
130219  func (mstd MySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
130220  	return nil, false
130221  }
130222  
130223  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130224  func (mstd MySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
130225  	return nil, false
130226  }
130227  
130228  // AsDynamicsAXResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130229  func (mstd MySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
130230  	return nil, false
130231  }
130232  
130233  // AsResponsysObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130234  func (mstd MySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
130235  	return nil, false
130236  }
130237  
130238  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130239  func (mstd MySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
130240  	return nil, false
130241  }
130242  
130243  // AsVerticaTableDataset is the BasicDataset implementation for MySQLTableDataset.
130244  func (mstd MySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
130245  	return nil, false
130246  }
130247  
130248  // AsNetezzaTableDataset is the BasicDataset implementation for MySQLTableDataset.
130249  func (mstd MySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
130250  	return nil, false
130251  }
130252  
130253  // AsZohoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130254  func (mstd MySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
130255  	return nil, false
130256  }
130257  
130258  // AsXeroObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130259  func (mstd MySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
130260  	return nil, false
130261  }
130262  
130263  // AsSquareObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130264  func (mstd MySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
130265  	return nil, false
130266  }
130267  
130268  // AsSparkObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130269  func (mstd MySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
130270  	return nil, false
130271  }
130272  
130273  // AsShopifyObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130274  func (mstd MySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
130275  	return nil, false
130276  }
130277  
130278  // AsServiceNowObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130279  func (mstd MySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
130280  	return nil, false
130281  }
130282  
130283  // AsQuickBooksObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130284  func (mstd MySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
130285  	return nil, false
130286  }
130287  
130288  // AsPrestoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130289  func (mstd MySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
130290  	return nil, false
130291  }
130292  
130293  // AsPhoenixObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130294  func (mstd MySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
130295  	return nil, false
130296  }
130297  
130298  // AsPaypalObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130299  func (mstd MySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
130300  	return nil, false
130301  }
130302  
130303  // AsMarketoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130304  func (mstd MySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
130305  	return nil, false
130306  }
130307  
130308  // AsAzureMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset.
130309  func (mstd MySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
130310  	return nil, false
130311  }
130312  
130313  // AsMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset.
130314  func (mstd MySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
130315  	return nil, false
130316  }
130317  
130318  // AsMagentoObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130319  func (mstd MySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
130320  	return nil, false
130321  }
130322  
130323  // AsJiraObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130324  func (mstd MySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
130325  	return nil, false
130326  }
130327  
130328  // AsImpalaObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130329  func (mstd MySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
130330  	return nil, false
130331  }
130332  
130333  // AsHubspotObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130334  func (mstd MySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
130335  	return nil, false
130336  }
130337  
130338  // AsHiveObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130339  func (mstd MySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
130340  	return nil, false
130341  }
130342  
130343  // AsHBaseObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130344  func (mstd MySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
130345  	return nil, false
130346  }
130347  
130348  // AsGreenplumTableDataset is the BasicDataset implementation for MySQLTableDataset.
130349  func (mstd MySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
130350  	return nil, false
130351  }
130352  
130353  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130354  func (mstd MySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
130355  	return nil, false
130356  }
130357  
130358  // AsEloquaObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130359  func (mstd MySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
130360  	return nil, false
130361  }
130362  
130363  // AsDrillTableDataset is the BasicDataset implementation for MySQLTableDataset.
130364  func (mstd MySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
130365  	return nil, false
130366  }
130367  
130368  // AsCouchbaseTableDataset is the BasicDataset implementation for MySQLTableDataset.
130369  func (mstd MySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
130370  	return nil, false
130371  }
130372  
130373  // AsConcurObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130374  func (mstd MySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
130375  	return nil, false
130376  }
130377  
130378  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
130379  func (mstd MySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
130380  	return nil, false
130381  }
130382  
130383  // AsAmazonMWSObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130384  func (mstd MySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
130385  	return nil, false
130386  }
130387  
130388  // AsAzureSearchIndexDataset is the BasicDataset implementation for MySQLTableDataset.
130389  func (mstd MySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
130390  	return nil, false
130391  }
130392  
130393  // AsWebTableDataset is the BasicDataset implementation for MySQLTableDataset.
130394  func (mstd MySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
130395  	return nil, false
130396  }
130397  
130398  // AsSapTableResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130399  func (mstd MySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
130400  	return nil, false
130401  }
130402  
130403  // AsRestResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130404  func (mstd MySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
130405  	return nil, false
130406  }
130407  
130408  // AsSQLServerTableDataset is the BasicDataset implementation for MySQLTableDataset.
130409  func (mstd MySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
130410  	return nil, false
130411  }
130412  
130413  // AsSapOpenHubTableDataset is the BasicDataset implementation for MySQLTableDataset.
130414  func (mstd MySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
130415  	return nil, false
130416  }
130417  
130418  // AsSapHanaTableDataset is the BasicDataset implementation for MySQLTableDataset.
130419  func (mstd MySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
130420  	return nil, false
130421  }
130422  
130423  // AsSapEccResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130424  func (mstd MySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
130425  	return nil, false
130426  }
130427  
130428  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130429  func (mstd MySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
130430  	return nil, false
130431  }
130432  
130433  // AsSapBwCubeDataset is the BasicDataset implementation for MySQLTableDataset.
130434  func (mstd MySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
130435  	return nil, false
130436  }
130437  
130438  // AsSybaseTableDataset is the BasicDataset implementation for MySQLTableDataset.
130439  func (mstd MySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
130440  	return nil, false
130441  }
130442  
130443  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130444  func (mstd MySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
130445  	return nil, false
130446  }
130447  
130448  // AsSalesforceObjectDataset is the BasicDataset implementation for MySQLTableDataset.
130449  func (mstd MySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
130450  	return nil, false
130451  }
130452  
130453  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for MySQLTableDataset.
130454  func (mstd MySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
130455  	return nil, false
130456  }
130457  
130458  // AsPostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
130459  func (mstd MySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
130460  	return nil, false
130461  }
130462  
130463  // AsMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
130464  func (mstd MySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
130465  	return &mstd, true
130466  }
130467  
130468  // AsOdbcTableDataset is the BasicDataset implementation for MySQLTableDataset.
130469  func (mstd MySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
130470  	return nil, false
130471  }
130472  
130473  // AsInformixTableDataset is the BasicDataset implementation for MySQLTableDataset.
130474  func (mstd MySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
130475  	return nil, false
130476  }
130477  
130478  // AsRelationalTableDataset is the BasicDataset implementation for MySQLTableDataset.
130479  func (mstd MySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
130480  	return nil, false
130481  }
130482  
130483  // AsDb2TableDataset is the BasicDataset implementation for MySQLTableDataset.
130484  func (mstd MySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
130485  	return nil, false
130486  }
130487  
130488  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for MySQLTableDataset.
130489  func (mstd MySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
130490  	return nil, false
130491  }
130492  
130493  // AsAzureMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
130494  func (mstd MySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
130495  	return nil, false
130496  }
130497  
130498  // AsTeradataTableDataset is the BasicDataset implementation for MySQLTableDataset.
130499  func (mstd MySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
130500  	return nil, false
130501  }
130502  
130503  // AsOracleTableDataset is the BasicDataset implementation for MySQLTableDataset.
130504  func (mstd MySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
130505  	return nil, false
130506  }
130507  
130508  // AsODataResourceDataset is the BasicDataset implementation for MySQLTableDataset.
130509  func (mstd MySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
130510  	return nil, false
130511  }
130512  
130513  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset.
130514  func (mstd MySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
130515  	return nil, false
130516  }
130517  
130518  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for MySQLTableDataset.
130519  func (mstd MySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
130520  	return nil, false
130521  }
130522  
130523  // AsMongoDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset.
130524  func (mstd MySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
130525  	return nil, false
130526  }
130527  
130528  // AsOffice365Dataset is the BasicDataset implementation for MySQLTableDataset.
130529  func (mstd MySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
130530  	return nil, false
130531  }
130532  
130533  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MySQLTableDataset.
130534  func (mstd MySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
130535  	return nil, false
130536  }
130537  
130538  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for MySQLTableDataset.
130539  func (mstd MySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
130540  	return nil, false
130541  }
130542  
130543  // AsDynamicsEntityDataset is the BasicDataset implementation for MySQLTableDataset.
130544  func (mstd MySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
130545  	return nil, false
130546  }
130547  
130548  // AsDocumentDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset.
130549  func (mstd MySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
130550  	return nil, false
130551  }
130552  
130553  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset.
130554  func (mstd MySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
130555  	return nil, false
130556  }
130557  
130558  // AsCustomDataset is the BasicDataset implementation for MySQLTableDataset.
130559  func (mstd MySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
130560  	return nil, false
130561  }
130562  
130563  // AsCassandraTableDataset is the BasicDataset implementation for MySQLTableDataset.
130564  func (mstd MySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
130565  	return nil, false
130566  }
130567  
130568  // AsAzureSQLDWTableDataset is the BasicDataset implementation for MySQLTableDataset.
130569  func (mstd MySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
130570  	return nil, false
130571  }
130572  
130573  // AsAzureSQLMITableDataset is the BasicDataset implementation for MySQLTableDataset.
130574  func (mstd MySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
130575  	return nil, false
130576  }
130577  
130578  // AsAzureSQLTableDataset is the BasicDataset implementation for MySQLTableDataset.
130579  func (mstd MySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
130580  	return nil, false
130581  }
130582  
130583  // AsAzureTableDataset is the BasicDataset implementation for MySQLTableDataset.
130584  func (mstd MySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
130585  	return nil, false
130586  }
130587  
130588  // AsBinaryDataset is the BasicDataset implementation for MySQLTableDataset.
130589  func (mstd MySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
130590  	return nil, false
130591  }
130592  
130593  // AsOrcDataset is the BasicDataset implementation for MySQLTableDataset.
130594  func (mstd MySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) {
130595  	return nil, false
130596  }
130597  
130598  // AsJSONDataset is the BasicDataset implementation for MySQLTableDataset.
130599  func (mstd MySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) {
130600  	return nil, false
130601  }
130602  
130603  // AsDelimitedTextDataset is the BasicDataset implementation for MySQLTableDataset.
130604  func (mstd MySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
130605  	return nil, false
130606  }
130607  
130608  // AsParquetDataset is the BasicDataset implementation for MySQLTableDataset.
130609  func (mstd MySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
130610  	return nil, false
130611  }
130612  
130613  // AsAvroDataset is the BasicDataset implementation for MySQLTableDataset.
130614  func (mstd MySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) {
130615  	return nil, false
130616  }
130617  
130618  // AsDataset is the BasicDataset implementation for MySQLTableDataset.
130619  func (mstd MySQLTableDataset) AsDataset() (*Dataset, bool) {
130620  	return nil, false
130621  }
130622  
130623  // AsBasicDataset is the BasicDataset implementation for MySQLTableDataset.
130624  func (mstd MySQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
130625  	return &mstd, true
130626  }
130627  
130628  // UnmarshalJSON is the custom unmarshaler for MySQLTableDataset struct.
130629  func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error {
130630  	var m map[string]*json.RawMessage
130631  	err := json.Unmarshal(body, &m)
130632  	if err != nil {
130633  		return err
130634  	}
130635  	for k, v := range m {
130636  		switch k {
130637  		case "typeProperties":
130638  			if v != nil {
130639  				var mySQLTableDatasetTypeProperties MySQLTableDatasetTypeProperties
130640  				err = json.Unmarshal(*v, &mySQLTableDatasetTypeProperties)
130641  				if err != nil {
130642  					return err
130643  				}
130644  				mstd.MySQLTableDatasetTypeProperties = &mySQLTableDatasetTypeProperties
130645  			}
130646  		default:
130647  			if v != nil {
130648  				var additionalProperties interface{}
130649  				err = json.Unmarshal(*v, &additionalProperties)
130650  				if err != nil {
130651  					return err
130652  				}
130653  				if mstd.AdditionalProperties == nil {
130654  					mstd.AdditionalProperties = make(map[string]interface{})
130655  				}
130656  				mstd.AdditionalProperties[k] = additionalProperties
130657  			}
130658  		case "description":
130659  			if v != nil {
130660  				var description string
130661  				err = json.Unmarshal(*v, &description)
130662  				if err != nil {
130663  					return err
130664  				}
130665  				mstd.Description = &description
130666  			}
130667  		case "structure":
130668  			if v != nil {
130669  				var structure interface{}
130670  				err = json.Unmarshal(*v, &structure)
130671  				if err != nil {
130672  					return err
130673  				}
130674  				mstd.Structure = structure
130675  			}
130676  		case "schema":
130677  			if v != nil {
130678  				var schema interface{}
130679  				err = json.Unmarshal(*v, &schema)
130680  				if err != nil {
130681  					return err
130682  				}
130683  				mstd.Schema = schema
130684  			}
130685  		case "linkedServiceName":
130686  			if v != nil {
130687  				var linkedServiceName LinkedServiceReference
130688  				err = json.Unmarshal(*v, &linkedServiceName)
130689  				if err != nil {
130690  					return err
130691  				}
130692  				mstd.LinkedServiceName = &linkedServiceName
130693  			}
130694  		case "parameters":
130695  			if v != nil {
130696  				var parameters map[string]*ParameterSpecification
130697  				err = json.Unmarshal(*v, &parameters)
130698  				if err != nil {
130699  					return err
130700  				}
130701  				mstd.Parameters = parameters
130702  			}
130703  		case "annotations":
130704  			if v != nil {
130705  				var annotations []interface{}
130706  				err = json.Unmarshal(*v, &annotations)
130707  				if err != nil {
130708  					return err
130709  				}
130710  				mstd.Annotations = &annotations
130711  			}
130712  		case "folder":
130713  			if v != nil {
130714  				var folder DatasetFolder
130715  				err = json.Unmarshal(*v, &folder)
130716  				if err != nil {
130717  					return err
130718  				}
130719  				mstd.Folder = &folder
130720  			}
130721  		case "type":
130722  			if v != nil {
130723  				var typeVar TypeBasicDataset
130724  				err = json.Unmarshal(*v, &typeVar)
130725  				if err != nil {
130726  					return err
130727  				}
130728  				mstd.Type = typeVar
130729  			}
130730  		}
130731  	}
130732  
130733  	return nil
130734  }
130735  
130736  // MySQLTableDatasetTypeProperties mySql table dataset properties.
130737  type MySQLTableDatasetTypeProperties struct {
130738  	// TableName - The MySQL table name. Type: string (or Expression with resultType string).
130739  	TableName interface{} `json:"tableName,omitempty"`
130740  }
130741  
130742  // NetezzaLinkedService netezza linked service.
130743  type NetezzaLinkedService struct {
130744  	// NetezzaLinkedServiceTypeProperties - Netezza linked service properties.
130745  	*NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
130746  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
130747  	AdditionalProperties map[string]interface{} `json:""`
130748  	// ConnectVia - The integration runtime reference.
130749  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
130750  	// Description - Linked service description.
130751  	Description *string `json:"description,omitempty"`
130752  	// Parameters - Parameters for linked service.
130753  	Parameters map[string]*ParameterSpecification `json:"parameters"`
130754  	// Annotations - List of tags that can be used for describing the linked service.
130755  	Annotations *[]interface{} `json:"annotations,omitempty"`
130756  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
130757  	Type TypeBasicLinkedService `json:"type,omitempty"`
130758  }
130759  
130760  // MarshalJSON is the custom marshaler for NetezzaLinkedService.
130761  func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) {
130762  	nls.Type = TypeNetezza
130763  	objectMap := make(map[string]interface{})
130764  	if nls.NetezzaLinkedServiceTypeProperties != nil {
130765  		objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties
130766  	}
130767  	if nls.ConnectVia != nil {
130768  		objectMap["connectVia"] = nls.ConnectVia
130769  	}
130770  	if nls.Description != nil {
130771  		objectMap["description"] = nls.Description
130772  	}
130773  	if nls.Parameters != nil {
130774  		objectMap["parameters"] = nls.Parameters
130775  	}
130776  	if nls.Annotations != nil {
130777  		objectMap["annotations"] = nls.Annotations
130778  	}
130779  	if nls.Type != "" {
130780  		objectMap["type"] = nls.Type
130781  	}
130782  	for k, v := range nls.AdditionalProperties {
130783  		objectMap[k] = v
130784  	}
130785  	return json.Marshal(objectMap)
130786  }
130787  
130788  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130789  func (nls NetezzaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
130790  	return nil, false
130791  }
130792  
130793  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130794  func (nls NetezzaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
130795  	return nil, false
130796  }
130797  
130798  // AsSapTableLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130799  func (nls NetezzaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
130800  	return nil, false
130801  }
130802  
130803  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130804  func (nls NetezzaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
130805  	return nil, false
130806  }
130807  
130808  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130809  func (nls NetezzaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
130810  	return nil, false
130811  }
130812  
130813  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130814  func (nls NetezzaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
130815  	return nil, false
130816  }
130817  
130818  // AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130819  func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
130820  	return nil, false
130821  }
130822  
130823  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130824  func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
130825  	return nil, false
130826  }
130827  
130828  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130829  func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
130830  	return nil, false
130831  }
130832  
130833  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130834  func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
130835  	return nil, false
130836  }
130837  
130838  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130839  func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
130840  	return nil, false
130841  }
130842  
130843  // AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130844  func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
130845  	return &nls, true
130846  }
130847  
130848  // AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130849  func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
130850  	return nil, false
130851  }
130852  
130853  // AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130854  func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
130855  	return nil, false
130856  }
130857  
130858  // AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130859  func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
130860  	return nil, false
130861  }
130862  
130863  // AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130864  func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
130865  	return nil, false
130866  }
130867  
130868  // AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130869  func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
130870  	return nil, false
130871  }
130872  
130873  // AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130874  func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
130875  	return nil, false
130876  }
130877  
130878  // AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130879  func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
130880  	return nil, false
130881  }
130882  
130883  // AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130884  func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
130885  	return nil, false
130886  }
130887  
130888  // AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130889  func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
130890  	return nil, false
130891  }
130892  
130893  // AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130894  func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
130895  	return nil, false
130896  }
130897  
130898  // AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130899  func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
130900  	return nil, false
130901  }
130902  
130903  // AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130904  func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
130905  	return nil, false
130906  }
130907  
130908  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130909  func (nls NetezzaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
130910  	return nil, false
130911  }
130912  
130913  // AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130914  func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
130915  	return nil, false
130916  }
130917  
130918  // AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130919  func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
130920  	return nil, false
130921  }
130922  
130923  // AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130924  func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
130925  	return nil, false
130926  }
130927  
130928  // AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130929  func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
130930  	return nil, false
130931  }
130932  
130933  // AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130934  func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
130935  	return nil, false
130936  }
130937  
130938  // AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130939  func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
130940  	return nil, false
130941  }
130942  
130943  // AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130944  func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
130945  	return nil, false
130946  }
130947  
130948  // AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130949  func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
130950  	return nil, false
130951  }
130952  
130953  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130954  func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
130955  	return nil, false
130956  }
130957  
130958  // AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130959  func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
130960  	return nil, false
130961  }
130962  
130963  // AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130964  func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
130965  	return nil, false
130966  }
130967  
130968  // AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130969  func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
130970  	return nil, false
130971  }
130972  
130973  // AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130974  func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
130975  	return nil, false
130976  }
130977  
130978  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130979  func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
130980  	return nil, false
130981  }
130982  
130983  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130984  func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
130985  	return nil, false
130986  }
130987  
130988  // AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130989  func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
130990  	return nil, false
130991  }
130992  
130993  // AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130994  func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
130995  	return nil, false
130996  }
130997  
130998  // AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
130999  func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
131000  	return nil, false
131001  }
131002  
131003  // AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131004  func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
131005  	return nil, false
131006  }
131007  
131008  // AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131009  func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
131010  	return nil, false
131011  }
131012  
131013  // AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131014  func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
131015  	return nil, false
131016  }
131017  
131018  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131019  func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
131020  	return nil, false
131021  }
131022  
131023  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131024  func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
131025  	return nil, false
131026  }
131027  
131028  // AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131029  func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
131030  	return nil, false
131031  }
131032  
131033  // AsRestServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131034  func (nls NetezzaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
131035  	return nil, false
131036  }
131037  
131038  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131039  func (nls NetezzaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
131040  	return nil, false
131041  }
131042  
131043  // AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131044  func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
131045  	return nil, false
131046  }
131047  
131048  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131049  func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
131050  	return nil, false
131051  }
131052  
131053  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131054  func (nls NetezzaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
131055  	return nil, false
131056  }
131057  
131058  // AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131059  func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
131060  	return nil, false
131061  }
131062  
131063  // AsOffice365LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131064  func (nls NetezzaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
131065  	return nil, false
131066  }
131067  
131068  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131069  func (nls NetezzaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
131070  	return nil, false
131071  }
131072  
131073  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131074  func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
131075  	return nil, false
131076  }
131077  
131078  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131079  func (nls NetezzaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
131080  	return nil, false
131081  }
131082  
131083  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131084  func (nls NetezzaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
131085  	return nil, false
131086  }
131087  
131088  // AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131089  func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
131090  	return nil, false
131091  }
131092  
131093  // AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131094  func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
131095  	return nil, false
131096  }
131097  
131098  // AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131099  func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
131100  	return nil, false
131101  }
131102  
131103  // AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131104  func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
131105  	return nil, false
131106  }
131107  
131108  // AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131109  func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
131110  	return nil, false
131111  }
131112  
131113  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131114  func (nls NetezzaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
131115  	return nil, false
131116  }
131117  
131118  // AsInformixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131119  func (nls NetezzaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
131120  	return nil, false
131121  }
131122  
131123  // AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131124  func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
131125  	return nil, false
131126  }
131127  
131128  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131129  func (nls NetezzaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
131130  	return nil, false
131131  }
131132  
131133  // AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131134  func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
131135  	return nil, false
131136  }
131137  
131138  // AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131139  func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
131140  	return nil, false
131141  }
131142  
131143  // AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131144  func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
131145  	return nil, false
131146  }
131147  
131148  // AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131149  func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
131150  	return nil, false
131151  }
131152  
131153  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131154  func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
131155  	return nil, false
131156  }
131157  
131158  // AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131159  func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
131160  	return nil, false
131161  }
131162  
131163  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131164  func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
131165  	return nil, false
131166  }
131167  
131168  // AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131169  func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
131170  	return nil, false
131171  }
131172  
131173  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131174  func (nls NetezzaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
131175  	return nil, false
131176  }
131177  
131178  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131179  func (nls NetezzaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
131180  	return nil, false
131181  }
131182  
131183  // AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131184  func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
131185  	return nil, false
131186  }
131187  
131188  // AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131189  func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
131190  	return nil, false
131191  }
131192  
131193  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131194  func (nls NetezzaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
131195  	return nil, false
131196  }
131197  
131198  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131199  func (nls NetezzaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
131200  	return nil, false
131201  }
131202  
131203  // AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131204  func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
131205  	return nil, false
131206  }
131207  
131208  // AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131209  func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
131210  	return nil, false
131211  }
131212  
131213  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131214  func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
131215  	return nil, false
131216  }
131217  
131218  // AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131219  func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
131220  	return nil, false
131221  }
131222  
131223  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131224  func (nls NetezzaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
131225  	return nil, false
131226  }
131227  
131228  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131229  func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
131230  	return nil, false
131231  }
131232  
131233  // AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131234  func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
131235  	return nil, false
131236  }
131237  
131238  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131239  func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
131240  	return nil, false
131241  }
131242  
131243  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131244  func (nls NetezzaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
131245  	return nil, false
131246  }
131247  
131248  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131249  func (nls NetezzaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
131250  	return nil, false
131251  }
131252  
131253  // AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131254  func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
131255  	return nil, false
131256  }
131257  
131258  // AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131259  func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) {
131260  	return nil, false
131261  }
131262  
131263  // AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService.
131264  func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
131265  	return &nls, true
131266  }
131267  
131268  // UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct.
131269  func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error {
131270  	var m map[string]*json.RawMessage
131271  	err := json.Unmarshal(body, &m)
131272  	if err != nil {
131273  		return err
131274  	}
131275  	for k, v := range m {
131276  		switch k {
131277  		case "typeProperties":
131278  			if v != nil {
131279  				var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties
131280  				err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties)
131281  				if err != nil {
131282  					return err
131283  				}
131284  				nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties
131285  			}
131286  		default:
131287  			if v != nil {
131288  				var additionalProperties interface{}
131289  				err = json.Unmarshal(*v, &additionalProperties)
131290  				if err != nil {
131291  					return err
131292  				}
131293  				if nls.AdditionalProperties == nil {
131294  					nls.AdditionalProperties = make(map[string]interface{})
131295  				}
131296  				nls.AdditionalProperties[k] = additionalProperties
131297  			}
131298  		case "connectVia":
131299  			if v != nil {
131300  				var connectVia IntegrationRuntimeReference
131301  				err = json.Unmarshal(*v, &connectVia)
131302  				if err != nil {
131303  					return err
131304  				}
131305  				nls.ConnectVia = &connectVia
131306  			}
131307  		case "description":
131308  			if v != nil {
131309  				var description string
131310  				err = json.Unmarshal(*v, &description)
131311  				if err != nil {
131312  					return err
131313  				}
131314  				nls.Description = &description
131315  			}
131316  		case "parameters":
131317  			if v != nil {
131318  				var parameters map[string]*ParameterSpecification
131319  				err = json.Unmarshal(*v, &parameters)
131320  				if err != nil {
131321  					return err
131322  				}
131323  				nls.Parameters = parameters
131324  			}
131325  		case "annotations":
131326  			if v != nil {
131327  				var annotations []interface{}
131328  				err = json.Unmarshal(*v, &annotations)
131329  				if err != nil {
131330  					return err
131331  				}
131332  				nls.Annotations = &annotations
131333  			}
131334  		case "type":
131335  			if v != nil {
131336  				var typeVar TypeBasicLinkedService
131337  				err = json.Unmarshal(*v, &typeVar)
131338  				if err != nil {
131339  					return err
131340  				}
131341  				nls.Type = typeVar
131342  			}
131343  		}
131344  	}
131345  
131346  	return nil
131347  }
131348  
131349  // NetezzaLinkedServiceTypeProperties netezza linked service properties.
131350  type NetezzaLinkedServiceTypeProperties struct {
131351  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
131352  	ConnectionString interface{} `json:"connectionString,omitempty"`
131353  	// Pwd - The Azure key vault secret reference of password in connection string.
131354  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
131355  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
131356  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
131357  }
131358  
131359  // NetezzaPartitionSettings the settings that will be leveraged for Netezza source partitioning.
131360  type NetezzaPartitionSettings struct {
131361  	// PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
131362  	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
131363  	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
131364  	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
131365  	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
131366  	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
131367  }
131368  
131369  // NetezzaSource a copy activity Netezza source.
131370  type NetezzaSource struct {
131371  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
131372  	Query interface{} `json:"query,omitempty"`
131373  	// PartitionOption - The partition mechanism that will be used for Netezza read in parallel. Possible values include: 'NetezzaPartitionOptionNone', 'NetezzaPartitionOptionDataSlice', 'NetezzaPartitionOptionDynamicRange'
131374  	PartitionOption NetezzaPartitionOption `json:"partitionOption,omitempty"`
131375  	// PartitionSettings - The settings that will be leveraged for Netezza source partitioning.
131376  	PartitionSettings *NetezzaPartitionSettings `json:"partitionSettings,omitempty"`
131377  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
131378  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
131379  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
131380  	AdditionalProperties map[string]interface{} `json:""`
131381  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
131382  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
131383  	// 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])).
131384  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
131385  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
131386  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
131387  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
131388  	Type TypeBasicCopySource `json:"type,omitempty"`
131389  }
131390  
131391  // MarshalJSON is the custom marshaler for NetezzaSource.
131392  func (ns NetezzaSource) MarshalJSON() ([]byte, error) {
131393  	ns.Type = TypeNetezzaSource
131394  	objectMap := make(map[string]interface{})
131395  	if ns.Query != nil {
131396  		objectMap["query"] = ns.Query
131397  	}
131398  	if ns.PartitionOption != "" {
131399  		objectMap["partitionOption"] = ns.PartitionOption
131400  	}
131401  	if ns.PartitionSettings != nil {
131402  		objectMap["partitionSettings"] = ns.PartitionSettings
131403  	}
131404  	if ns.QueryTimeout != nil {
131405  		objectMap["queryTimeout"] = ns.QueryTimeout
131406  	}
131407  	if ns.SourceRetryCount != nil {
131408  		objectMap["sourceRetryCount"] = ns.SourceRetryCount
131409  	}
131410  	if ns.SourceRetryWait != nil {
131411  		objectMap["sourceRetryWait"] = ns.SourceRetryWait
131412  	}
131413  	if ns.MaxConcurrentConnections != nil {
131414  		objectMap["maxConcurrentConnections"] = ns.MaxConcurrentConnections
131415  	}
131416  	if ns.Type != "" {
131417  		objectMap["type"] = ns.Type
131418  	}
131419  	for k, v := range ns.AdditionalProperties {
131420  		objectMap[k] = v
131421  	}
131422  	return json.Marshal(objectMap)
131423  }
131424  
131425  // AsHTTPSource is the BasicCopySource implementation for NetezzaSource.
131426  func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) {
131427  	return nil, false
131428  }
131429  
131430  // AsAzureBlobFSSource is the BasicCopySource implementation for NetezzaSource.
131431  func (ns NetezzaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
131432  	return nil, false
131433  }
131434  
131435  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource.
131436  func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
131437  	return nil, false
131438  }
131439  
131440  // AsOffice365Source is the BasicCopySource implementation for NetezzaSource.
131441  func (ns NetezzaSource) AsOffice365Source() (*Office365Source, bool) {
131442  	return nil, false
131443  }
131444  
131445  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for NetezzaSource.
131446  func (ns NetezzaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
131447  	return nil, false
131448  }
131449  
131450  // AsMongoDbV2Source is the BasicCopySource implementation for NetezzaSource.
131451  func (ns NetezzaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
131452  	return nil, false
131453  }
131454  
131455  // AsMongoDbSource is the BasicCopySource implementation for NetezzaSource.
131456  func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) {
131457  	return nil, false
131458  }
131459  
131460  // AsWebSource is the BasicCopySource implementation for NetezzaSource.
131461  func (ns NetezzaSource) AsWebSource() (*WebSource, bool) {
131462  	return nil, false
131463  }
131464  
131465  // AsOracleSource is the BasicCopySource implementation for NetezzaSource.
131466  func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) {
131467  	return nil, false
131468  }
131469  
131470  // AsAzureDataExplorerSource is the BasicCopySource implementation for NetezzaSource.
131471  func (ns NetezzaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
131472  	return nil, false
131473  }
131474  
131475  // AsHdfsSource is the BasicCopySource implementation for NetezzaSource.
131476  func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) {
131477  	return nil, false
131478  }
131479  
131480  // AsFileSystemSource is the BasicCopySource implementation for NetezzaSource.
131481  func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) {
131482  	return nil, false
131483  }
131484  
131485  // AsRestSource is the BasicCopySource implementation for NetezzaSource.
131486  func (ns NetezzaSource) AsRestSource() (*RestSource, bool) {
131487  	return nil, false
131488  }
131489  
131490  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for NetezzaSource.
131491  func (ns NetezzaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
131492  	return nil, false
131493  }
131494  
131495  // AsODataSource is the BasicCopySource implementation for NetezzaSource.
131496  func (ns NetezzaSource) AsODataSource() (*ODataSource, bool) {
131497  	return nil, false
131498  }
131499  
131500  // AsMicrosoftAccessSource is the BasicCopySource implementation for NetezzaSource.
131501  func (ns NetezzaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
131502  	return nil, false
131503  }
131504  
131505  // AsRelationalSource is the BasicCopySource implementation for NetezzaSource.
131506  func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) {
131507  	return nil, false
131508  }
131509  
131510  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for NetezzaSource.
131511  func (ns NetezzaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
131512  	return nil, false
131513  }
131514  
131515  // AsDynamicsCrmSource is the BasicCopySource implementation for NetezzaSource.
131516  func (ns NetezzaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
131517  	return nil, false
131518  }
131519  
131520  // AsDynamicsSource is the BasicCopySource implementation for NetezzaSource.
131521  func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) {
131522  	return nil, false
131523  }
131524  
131525  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for NetezzaSource.
131526  func (ns NetezzaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
131527  	return nil, false
131528  }
131529  
131530  // AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource.
131531  func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
131532  	return nil, false
131533  }
131534  
131535  // AsBlobSource is the BasicCopySource implementation for NetezzaSource.
131536  func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) {
131537  	return nil, false
131538  }
131539  
131540  // AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource.
131541  func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
131542  	return nil, false
131543  }
131544  
131545  // AsGoogleAdWordsSource is the BasicCopySource implementation for NetezzaSource.
131546  func (ns NetezzaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
131547  	return nil, false
131548  }
131549  
131550  // AsOracleServiceCloudSource is the BasicCopySource implementation for NetezzaSource.
131551  func (ns NetezzaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
131552  	return nil, false
131553  }
131554  
131555  // AsDynamicsAXSource is the BasicCopySource implementation for NetezzaSource.
131556  func (ns NetezzaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
131557  	return nil, false
131558  }
131559  
131560  // AsResponsysSource is the BasicCopySource implementation for NetezzaSource.
131561  func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) {
131562  	return nil, false
131563  }
131564  
131565  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource.
131566  func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
131567  	return nil, false
131568  }
131569  
131570  // AsVerticaSource is the BasicCopySource implementation for NetezzaSource.
131571  func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) {
131572  	return nil, false
131573  }
131574  
131575  // AsNetezzaSource is the BasicCopySource implementation for NetezzaSource.
131576  func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) {
131577  	return &ns, true
131578  }
131579  
131580  // AsZohoSource is the BasicCopySource implementation for NetezzaSource.
131581  func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) {
131582  	return nil, false
131583  }
131584  
131585  // AsXeroSource is the BasicCopySource implementation for NetezzaSource.
131586  func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) {
131587  	return nil, false
131588  }
131589  
131590  // AsSquareSource is the BasicCopySource implementation for NetezzaSource.
131591  func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) {
131592  	return nil, false
131593  }
131594  
131595  // AsSparkSource is the BasicCopySource implementation for NetezzaSource.
131596  func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) {
131597  	return nil, false
131598  }
131599  
131600  // AsShopifySource is the BasicCopySource implementation for NetezzaSource.
131601  func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) {
131602  	return nil, false
131603  }
131604  
131605  // AsServiceNowSource is the BasicCopySource implementation for NetezzaSource.
131606  func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
131607  	return nil, false
131608  }
131609  
131610  // AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource.
131611  func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
131612  	return nil, false
131613  }
131614  
131615  // AsPrestoSource is the BasicCopySource implementation for NetezzaSource.
131616  func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) {
131617  	return nil, false
131618  }
131619  
131620  // AsPhoenixSource is the BasicCopySource implementation for NetezzaSource.
131621  func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) {
131622  	return nil, false
131623  }
131624  
131625  // AsPaypalSource is the BasicCopySource implementation for NetezzaSource.
131626  func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) {
131627  	return nil, false
131628  }
131629  
131630  // AsMarketoSource is the BasicCopySource implementation for NetezzaSource.
131631  func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) {
131632  	return nil, false
131633  }
131634  
131635  // AsAzureMariaDBSource is the BasicCopySource implementation for NetezzaSource.
131636  func (ns NetezzaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
131637  	return nil, false
131638  }
131639  
131640  // AsMariaDBSource is the BasicCopySource implementation for NetezzaSource.
131641  func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) {
131642  	return nil, false
131643  }
131644  
131645  // AsMagentoSource is the BasicCopySource implementation for NetezzaSource.
131646  func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) {
131647  	return nil, false
131648  }
131649  
131650  // AsJiraSource is the BasicCopySource implementation for NetezzaSource.
131651  func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) {
131652  	return nil, false
131653  }
131654  
131655  // AsImpalaSource is the BasicCopySource implementation for NetezzaSource.
131656  func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) {
131657  	return nil, false
131658  }
131659  
131660  // AsHubspotSource is the BasicCopySource implementation for NetezzaSource.
131661  func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) {
131662  	return nil, false
131663  }
131664  
131665  // AsHiveSource is the BasicCopySource implementation for NetezzaSource.
131666  func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) {
131667  	return nil, false
131668  }
131669  
131670  // AsHBaseSource is the BasicCopySource implementation for NetezzaSource.
131671  func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) {
131672  	return nil, false
131673  }
131674  
131675  // AsGreenplumSource is the BasicCopySource implementation for NetezzaSource.
131676  func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) {
131677  	return nil, false
131678  }
131679  
131680  // AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource.
131681  func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
131682  	return nil, false
131683  }
131684  
131685  // AsEloquaSource is the BasicCopySource implementation for NetezzaSource.
131686  func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) {
131687  	return nil, false
131688  }
131689  
131690  // AsDrillSource is the BasicCopySource implementation for NetezzaSource.
131691  func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) {
131692  	return nil, false
131693  }
131694  
131695  // AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource.
131696  func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
131697  	return nil, false
131698  }
131699  
131700  // AsConcurSource is the BasicCopySource implementation for NetezzaSource.
131701  func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) {
131702  	return nil, false
131703  }
131704  
131705  // AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
131706  func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
131707  	return nil, false
131708  }
131709  
131710  // AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource.
131711  func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
131712  	return nil, false
131713  }
131714  
131715  // AsCassandraSource is the BasicCopySource implementation for NetezzaSource.
131716  func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) {
131717  	return nil, false
131718  }
131719  
131720  // AsTeradataSource is the BasicCopySource implementation for NetezzaSource.
131721  func (ns NetezzaSource) AsTeradataSource() (*TeradataSource, bool) {
131722  	return nil, false
131723  }
131724  
131725  // AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource.
131726  func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
131727  	return nil, false
131728  }
131729  
131730  // AsSQLDWSource is the BasicCopySource implementation for NetezzaSource.
131731  func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) {
131732  	return nil, false
131733  }
131734  
131735  // AsSQLMISource is the BasicCopySource implementation for NetezzaSource.
131736  func (ns NetezzaSource) AsSQLMISource() (*SQLMISource, bool) {
131737  	return nil, false
131738  }
131739  
131740  // AsAzureSQLSource is the BasicCopySource implementation for NetezzaSource.
131741  func (ns NetezzaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
131742  	return nil, false
131743  }
131744  
131745  // AsSQLServerSource is the BasicCopySource implementation for NetezzaSource.
131746  func (ns NetezzaSource) AsSQLServerSource() (*SQLServerSource, bool) {
131747  	return nil, false
131748  }
131749  
131750  // AsSQLSource is the BasicCopySource implementation for NetezzaSource.
131751  func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) {
131752  	return nil, false
131753  }
131754  
131755  // AsSapTableSource is the BasicCopySource implementation for NetezzaSource.
131756  func (ns NetezzaSource) AsSapTableSource() (*SapTableSource, bool) {
131757  	return nil, false
131758  }
131759  
131760  // AsSapOpenHubSource is the BasicCopySource implementation for NetezzaSource.
131761  func (ns NetezzaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
131762  	return nil, false
131763  }
131764  
131765  // AsSapHanaSource is the BasicCopySource implementation for NetezzaSource.
131766  func (ns NetezzaSource) AsSapHanaSource() (*SapHanaSource, bool) {
131767  	return nil, false
131768  }
131769  
131770  // AsSapEccSource is the BasicCopySource implementation for NetezzaSource.
131771  func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) {
131772  	return nil, false
131773  }
131774  
131775  // AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource.
131776  func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
131777  	return nil, false
131778  }
131779  
131780  // AsSalesforceSource is the BasicCopySource implementation for NetezzaSource.
131781  func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) {
131782  	return nil, false
131783  }
131784  
131785  // AsSapBwSource is the BasicCopySource implementation for NetezzaSource.
131786  func (ns NetezzaSource) AsSapBwSource() (*SapBwSource, bool) {
131787  	return nil, false
131788  }
131789  
131790  // AsSybaseSource is the BasicCopySource implementation for NetezzaSource.
131791  func (ns NetezzaSource) AsSybaseSource() (*SybaseSource, bool) {
131792  	return nil, false
131793  }
131794  
131795  // AsPostgreSQLSource is the BasicCopySource implementation for NetezzaSource.
131796  func (ns NetezzaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
131797  	return nil, false
131798  }
131799  
131800  // AsMySQLSource is the BasicCopySource implementation for NetezzaSource.
131801  func (ns NetezzaSource) AsMySQLSource() (*MySQLSource, bool) {
131802  	return nil, false
131803  }
131804  
131805  // AsOdbcSource is the BasicCopySource implementation for NetezzaSource.
131806  func (ns NetezzaSource) AsOdbcSource() (*OdbcSource, bool) {
131807  	return nil, false
131808  }
131809  
131810  // AsDb2Source is the BasicCopySource implementation for NetezzaSource.
131811  func (ns NetezzaSource) AsDb2Source() (*Db2Source, bool) {
131812  	return nil, false
131813  }
131814  
131815  // AsInformixSource is the BasicCopySource implementation for NetezzaSource.
131816  func (ns NetezzaSource) AsInformixSource() (*InformixSource, bool) {
131817  	return nil, false
131818  }
131819  
131820  // AsAzureTableSource is the BasicCopySource implementation for NetezzaSource.
131821  func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) {
131822  	return nil, false
131823  }
131824  
131825  // AsTabularSource is the BasicCopySource implementation for NetezzaSource.
131826  func (ns NetezzaSource) AsTabularSource() (*TabularSource, bool) {
131827  	return nil, false
131828  }
131829  
131830  // AsBasicTabularSource is the BasicCopySource implementation for NetezzaSource.
131831  func (ns NetezzaSource) AsBasicTabularSource() (BasicTabularSource, bool) {
131832  	return &ns, true
131833  }
131834  
131835  // AsBinarySource is the BasicCopySource implementation for NetezzaSource.
131836  func (ns NetezzaSource) AsBinarySource() (*BinarySource, bool) {
131837  	return nil, false
131838  }
131839  
131840  // AsOrcSource is the BasicCopySource implementation for NetezzaSource.
131841  func (ns NetezzaSource) AsOrcSource() (*OrcSource, bool) {
131842  	return nil, false
131843  }
131844  
131845  // AsJSONSource is the BasicCopySource implementation for NetezzaSource.
131846  func (ns NetezzaSource) AsJSONSource() (*JSONSource, bool) {
131847  	return nil, false
131848  }
131849  
131850  // AsDelimitedTextSource is the BasicCopySource implementation for NetezzaSource.
131851  func (ns NetezzaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
131852  	return nil, false
131853  }
131854  
131855  // AsParquetSource is the BasicCopySource implementation for NetezzaSource.
131856  func (ns NetezzaSource) AsParquetSource() (*ParquetSource, bool) {
131857  	return nil, false
131858  }
131859  
131860  // AsAvroSource is the BasicCopySource implementation for NetezzaSource.
131861  func (ns NetezzaSource) AsAvroSource() (*AvroSource, bool) {
131862  	return nil, false
131863  }
131864  
131865  // AsCopySource is the BasicCopySource implementation for NetezzaSource.
131866  func (ns NetezzaSource) AsCopySource() (*CopySource, bool) {
131867  	return nil, false
131868  }
131869  
131870  // AsBasicCopySource is the BasicCopySource implementation for NetezzaSource.
131871  func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) {
131872  	return &ns, true
131873  }
131874  
131875  // UnmarshalJSON is the custom unmarshaler for NetezzaSource struct.
131876  func (ns *NetezzaSource) UnmarshalJSON(body []byte) error {
131877  	var m map[string]*json.RawMessage
131878  	err := json.Unmarshal(body, &m)
131879  	if err != nil {
131880  		return err
131881  	}
131882  	for k, v := range m {
131883  		switch k {
131884  		case "query":
131885  			if v != nil {
131886  				var query interface{}
131887  				err = json.Unmarshal(*v, &query)
131888  				if err != nil {
131889  					return err
131890  				}
131891  				ns.Query = query
131892  			}
131893  		case "partitionOption":
131894  			if v != nil {
131895  				var partitionOption NetezzaPartitionOption
131896  				err = json.Unmarshal(*v, &partitionOption)
131897  				if err != nil {
131898  					return err
131899  				}
131900  				ns.PartitionOption = partitionOption
131901  			}
131902  		case "partitionSettings":
131903  			if v != nil {
131904  				var partitionSettings NetezzaPartitionSettings
131905  				err = json.Unmarshal(*v, &partitionSettings)
131906  				if err != nil {
131907  					return err
131908  				}
131909  				ns.PartitionSettings = &partitionSettings
131910  			}
131911  		case "queryTimeout":
131912  			if v != nil {
131913  				var queryTimeout interface{}
131914  				err = json.Unmarshal(*v, &queryTimeout)
131915  				if err != nil {
131916  					return err
131917  				}
131918  				ns.QueryTimeout = queryTimeout
131919  			}
131920  		default:
131921  			if v != nil {
131922  				var additionalProperties interface{}
131923  				err = json.Unmarshal(*v, &additionalProperties)
131924  				if err != nil {
131925  					return err
131926  				}
131927  				if ns.AdditionalProperties == nil {
131928  					ns.AdditionalProperties = make(map[string]interface{})
131929  				}
131930  				ns.AdditionalProperties[k] = additionalProperties
131931  			}
131932  		case "sourceRetryCount":
131933  			if v != nil {
131934  				var sourceRetryCount interface{}
131935  				err = json.Unmarshal(*v, &sourceRetryCount)
131936  				if err != nil {
131937  					return err
131938  				}
131939  				ns.SourceRetryCount = sourceRetryCount
131940  			}
131941  		case "sourceRetryWait":
131942  			if v != nil {
131943  				var sourceRetryWait interface{}
131944  				err = json.Unmarshal(*v, &sourceRetryWait)
131945  				if err != nil {
131946  					return err
131947  				}
131948  				ns.SourceRetryWait = sourceRetryWait
131949  			}
131950  		case "maxConcurrentConnections":
131951  			if v != nil {
131952  				var maxConcurrentConnections interface{}
131953  				err = json.Unmarshal(*v, &maxConcurrentConnections)
131954  				if err != nil {
131955  					return err
131956  				}
131957  				ns.MaxConcurrentConnections = maxConcurrentConnections
131958  			}
131959  		case "type":
131960  			if v != nil {
131961  				var typeVar TypeBasicCopySource
131962  				err = json.Unmarshal(*v, &typeVar)
131963  				if err != nil {
131964  					return err
131965  				}
131966  				ns.Type = typeVar
131967  			}
131968  		}
131969  	}
131970  
131971  	return nil
131972  }
131973  
131974  // NetezzaTableDataset netezza dataset.
131975  type NetezzaTableDataset struct {
131976  	// NetezzaTableDatasetTypeProperties - Properties specific to this dataset type.
131977  	*NetezzaTableDatasetTypeProperties `json:"typeProperties,omitempty"`
131978  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
131979  	AdditionalProperties map[string]interface{} `json:""`
131980  	// Description - Dataset description.
131981  	Description *string `json:"description,omitempty"`
131982  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
131983  	Structure interface{} `json:"structure,omitempty"`
131984  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
131985  	Schema interface{} `json:"schema,omitempty"`
131986  	// LinkedServiceName - Linked service reference.
131987  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
131988  	// Parameters - Parameters for dataset.
131989  	Parameters map[string]*ParameterSpecification `json:"parameters"`
131990  	// Annotations - List of tags that can be used for describing the Dataset.
131991  	Annotations *[]interface{} `json:"annotations,omitempty"`
131992  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
131993  	Folder *DatasetFolder `json:"folder,omitempty"`
131994  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
131995  	Type TypeBasicDataset `json:"type,omitempty"`
131996  }
131997  
131998  // MarshalJSON is the custom marshaler for NetezzaTableDataset.
131999  func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) {
132000  	ntd.Type = TypeNetezzaTable
132001  	objectMap := make(map[string]interface{})
132002  	if ntd.NetezzaTableDatasetTypeProperties != nil {
132003  		objectMap["typeProperties"] = ntd.NetezzaTableDatasetTypeProperties
132004  	}
132005  	if ntd.Description != nil {
132006  		objectMap["description"] = ntd.Description
132007  	}
132008  	if ntd.Structure != nil {
132009  		objectMap["structure"] = ntd.Structure
132010  	}
132011  	if ntd.Schema != nil {
132012  		objectMap["schema"] = ntd.Schema
132013  	}
132014  	if ntd.LinkedServiceName != nil {
132015  		objectMap["linkedServiceName"] = ntd.LinkedServiceName
132016  	}
132017  	if ntd.Parameters != nil {
132018  		objectMap["parameters"] = ntd.Parameters
132019  	}
132020  	if ntd.Annotations != nil {
132021  		objectMap["annotations"] = ntd.Annotations
132022  	}
132023  	if ntd.Folder != nil {
132024  		objectMap["folder"] = ntd.Folder
132025  	}
132026  	if ntd.Type != "" {
132027  		objectMap["type"] = ntd.Type
132028  	}
132029  	for k, v := range ntd.AdditionalProperties {
132030  		objectMap[k] = v
132031  	}
132032  	return json.Marshal(objectMap)
132033  }
132034  
132035  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132036  func (ntd NetezzaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
132037  	return nil, false
132038  }
132039  
132040  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132041  func (ntd NetezzaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
132042  	return nil, false
132043  }
132044  
132045  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132046  func (ntd NetezzaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
132047  	return nil, false
132048  }
132049  
132050  // AsDynamicsAXResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132051  func (ntd NetezzaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
132052  	return nil, false
132053  }
132054  
132055  // AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132056  func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
132057  	return nil, false
132058  }
132059  
132060  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132061  func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
132062  	return nil, false
132063  }
132064  
132065  // AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132066  func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
132067  	return nil, false
132068  }
132069  
132070  // AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132071  func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
132072  	return &ntd, true
132073  }
132074  
132075  // AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132076  func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
132077  	return nil, false
132078  }
132079  
132080  // AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132081  func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
132082  	return nil, false
132083  }
132084  
132085  // AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132086  func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
132087  	return nil, false
132088  }
132089  
132090  // AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132091  func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
132092  	return nil, false
132093  }
132094  
132095  // AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132096  func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
132097  	return nil, false
132098  }
132099  
132100  // AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132101  func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
132102  	return nil, false
132103  }
132104  
132105  // AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132106  func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
132107  	return nil, false
132108  }
132109  
132110  // AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132111  func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
132112  	return nil, false
132113  }
132114  
132115  // AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132116  func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
132117  	return nil, false
132118  }
132119  
132120  // AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132121  func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
132122  	return nil, false
132123  }
132124  
132125  // AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132126  func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
132127  	return nil, false
132128  }
132129  
132130  // AsAzureMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132131  func (ntd NetezzaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
132132  	return nil, false
132133  }
132134  
132135  // AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132136  func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
132137  	return nil, false
132138  }
132139  
132140  // AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132141  func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
132142  	return nil, false
132143  }
132144  
132145  // AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132146  func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
132147  	return nil, false
132148  }
132149  
132150  // AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132151  func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
132152  	return nil, false
132153  }
132154  
132155  // AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132156  func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
132157  	return nil, false
132158  }
132159  
132160  // AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132161  func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
132162  	return nil, false
132163  }
132164  
132165  // AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132166  func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
132167  	return nil, false
132168  }
132169  
132170  // AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132171  func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
132172  	return nil, false
132173  }
132174  
132175  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132176  func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
132177  	return nil, false
132178  }
132179  
132180  // AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132181  func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
132182  	return nil, false
132183  }
132184  
132185  // AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132186  func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
132187  	return nil, false
132188  }
132189  
132190  // AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132191  func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
132192  	return nil, false
132193  }
132194  
132195  // AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132196  func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
132197  	return nil, false
132198  }
132199  
132200  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132201  func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
132202  	return nil, false
132203  }
132204  
132205  // AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132206  func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
132207  	return nil, false
132208  }
132209  
132210  // AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset.
132211  func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
132212  	return nil, false
132213  }
132214  
132215  // AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132216  func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
132217  	return nil, false
132218  }
132219  
132220  // AsSapTableResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132221  func (ntd NetezzaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
132222  	return nil, false
132223  }
132224  
132225  // AsRestResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132226  func (ntd NetezzaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
132227  	return nil, false
132228  }
132229  
132230  // AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132231  func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
132232  	return nil, false
132233  }
132234  
132235  // AsSapOpenHubTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132236  func (ntd NetezzaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
132237  	return nil, false
132238  }
132239  
132240  // AsSapHanaTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132241  func (ntd NetezzaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
132242  	return nil, false
132243  }
132244  
132245  // AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132246  func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
132247  	return nil, false
132248  }
132249  
132250  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132251  func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
132252  	return nil, false
132253  }
132254  
132255  // AsSapBwCubeDataset is the BasicDataset implementation for NetezzaTableDataset.
132256  func (ntd NetezzaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
132257  	return nil, false
132258  }
132259  
132260  // AsSybaseTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132261  func (ntd NetezzaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
132262  	return nil, false
132263  }
132264  
132265  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132266  func (ntd NetezzaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
132267  	return nil, false
132268  }
132269  
132270  // AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset.
132271  func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
132272  	return nil, false
132273  }
132274  
132275  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132276  func (ntd NetezzaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
132277  	return nil, false
132278  }
132279  
132280  // AsPostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132281  func (ntd NetezzaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
132282  	return nil, false
132283  }
132284  
132285  // AsMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132286  func (ntd NetezzaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
132287  	return nil, false
132288  }
132289  
132290  // AsOdbcTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132291  func (ntd NetezzaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
132292  	return nil, false
132293  }
132294  
132295  // AsInformixTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132296  func (ntd NetezzaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
132297  	return nil, false
132298  }
132299  
132300  // AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132301  func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
132302  	return nil, false
132303  }
132304  
132305  // AsDb2TableDataset is the BasicDataset implementation for NetezzaTableDataset.
132306  func (ntd NetezzaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
132307  	return nil, false
132308  }
132309  
132310  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132311  func (ntd NetezzaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
132312  	return nil, false
132313  }
132314  
132315  // AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132316  func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
132317  	return nil, false
132318  }
132319  
132320  // AsTeradataTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132321  func (ntd NetezzaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
132322  	return nil, false
132323  }
132324  
132325  // AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132326  func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
132327  	return nil, false
132328  }
132329  
132330  // AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset.
132331  func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
132332  	return nil, false
132333  }
132334  
132335  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
132336  func (ntd NetezzaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
132337  	return nil, false
132338  }
132339  
132340  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
132341  func (ntd NetezzaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
132342  	return nil, false
132343  }
132344  
132345  // AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
132346  func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
132347  	return nil, false
132348  }
132349  
132350  // AsOffice365Dataset is the BasicDataset implementation for NetezzaTableDataset.
132351  func (ntd NetezzaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
132352  	return nil, false
132353  }
132354  
132355  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
132356  func (ntd NetezzaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
132357  	return nil, false
132358  }
132359  
132360  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
132361  func (ntd NetezzaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
132362  	return nil, false
132363  }
132364  
132365  // AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset.
132366  func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
132367  	return nil, false
132368  }
132369  
132370  // AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
132371  func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
132372  	return nil, false
132373  }
132374  
132375  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset.
132376  func (ntd NetezzaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
132377  	return nil, false
132378  }
132379  
132380  // AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset.
132381  func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
132382  	return nil, false
132383  }
132384  
132385  // AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132386  func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
132387  	return nil, false
132388  }
132389  
132390  // AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132391  func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
132392  	return nil, false
132393  }
132394  
132395  // AsAzureSQLMITableDataset is the BasicDataset implementation for NetezzaTableDataset.
132396  func (ntd NetezzaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
132397  	return nil, false
132398  }
132399  
132400  // AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132401  func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
132402  	return nil, false
132403  }
132404  
132405  // AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset.
132406  func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
132407  	return nil, false
132408  }
132409  
132410  // AsBinaryDataset is the BasicDataset implementation for NetezzaTableDataset.
132411  func (ntd NetezzaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
132412  	return nil, false
132413  }
132414  
132415  // AsOrcDataset is the BasicDataset implementation for NetezzaTableDataset.
132416  func (ntd NetezzaTableDataset) AsOrcDataset() (*OrcDataset, bool) {
132417  	return nil, false
132418  }
132419  
132420  // AsJSONDataset is the BasicDataset implementation for NetezzaTableDataset.
132421  func (ntd NetezzaTableDataset) AsJSONDataset() (*JSONDataset, bool) {
132422  	return nil, false
132423  }
132424  
132425  // AsDelimitedTextDataset is the BasicDataset implementation for NetezzaTableDataset.
132426  func (ntd NetezzaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
132427  	return nil, false
132428  }
132429  
132430  // AsParquetDataset is the BasicDataset implementation for NetezzaTableDataset.
132431  func (ntd NetezzaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
132432  	return nil, false
132433  }
132434  
132435  // AsAvroDataset is the BasicDataset implementation for NetezzaTableDataset.
132436  func (ntd NetezzaTableDataset) AsAvroDataset() (*AvroDataset, bool) {
132437  	return nil, false
132438  }
132439  
132440  // AsDataset is the BasicDataset implementation for NetezzaTableDataset.
132441  func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) {
132442  	return nil, false
132443  }
132444  
132445  // AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset.
132446  func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) {
132447  	return &ntd, true
132448  }
132449  
132450  // UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct.
132451  func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error {
132452  	var m map[string]*json.RawMessage
132453  	err := json.Unmarshal(body, &m)
132454  	if err != nil {
132455  		return err
132456  	}
132457  	for k, v := range m {
132458  		switch k {
132459  		case "typeProperties":
132460  			if v != nil {
132461  				var netezzaTableDatasetTypeProperties NetezzaTableDatasetTypeProperties
132462  				err = json.Unmarshal(*v, &netezzaTableDatasetTypeProperties)
132463  				if err != nil {
132464  					return err
132465  				}
132466  				ntd.NetezzaTableDatasetTypeProperties = &netezzaTableDatasetTypeProperties
132467  			}
132468  		default:
132469  			if v != nil {
132470  				var additionalProperties interface{}
132471  				err = json.Unmarshal(*v, &additionalProperties)
132472  				if err != nil {
132473  					return err
132474  				}
132475  				if ntd.AdditionalProperties == nil {
132476  					ntd.AdditionalProperties = make(map[string]interface{})
132477  				}
132478  				ntd.AdditionalProperties[k] = additionalProperties
132479  			}
132480  		case "description":
132481  			if v != nil {
132482  				var description string
132483  				err = json.Unmarshal(*v, &description)
132484  				if err != nil {
132485  					return err
132486  				}
132487  				ntd.Description = &description
132488  			}
132489  		case "structure":
132490  			if v != nil {
132491  				var structure interface{}
132492  				err = json.Unmarshal(*v, &structure)
132493  				if err != nil {
132494  					return err
132495  				}
132496  				ntd.Structure = structure
132497  			}
132498  		case "schema":
132499  			if v != nil {
132500  				var schema interface{}
132501  				err = json.Unmarshal(*v, &schema)
132502  				if err != nil {
132503  					return err
132504  				}
132505  				ntd.Schema = schema
132506  			}
132507  		case "linkedServiceName":
132508  			if v != nil {
132509  				var linkedServiceName LinkedServiceReference
132510  				err = json.Unmarshal(*v, &linkedServiceName)
132511  				if err != nil {
132512  					return err
132513  				}
132514  				ntd.LinkedServiceName = &linkedServiceName
132515  			}
132516  		case "parameters":
132517  			if v != nil {
132518  				var parameters map[string]*ParameterSpecification
132519  				err = json.Unmarshal(*v, &parameters)
132520  				if err != nil {
132521  					return err
132522  				}
132523  				ntd.Parameters = parameters
132524  			}
132525  		case "annotations":
132526  			if v != nil {
132527  				var annotations []interface{}
132528  				err = json.Unmarshal(*v, &annotations)
132529  				if err != nil {
132530  					return err
132531  				}
132532  				ntd.Annotations = &annotations
132533  			}
132534  		case "folder":
132535  			if v != nil {
132536  				var folder DatasetFolder
132537  				err = json.Unmarshal(*v, &folder)
132538  				if err != nil {
132539  					return err
132540  				}
132541  				ntd.Folder = &folder
132542  			}
132543  		case "type":
132544  			if v != nil {
132545  				var typeVar TypeBasicDataset
132546  				err = json.Unmarshal(*v, &typeVar)
132547  				if err != nil {
132548  					return err
132549  				}
132550  				ntd.Type = typeVar
132551  			}
132552  		}
132553  	}
132554  
132555  	return nil
132556  }
132557  
132558  // NetezzaTableDatasetTypeProperties netezza dataset properties.
132559  type NetezzaTableDatasetTypeProperties struct {
132560  	// TableName - This property will be retired. Please consider using schema + table properties instead.
132561  	TableName interface{} `json:"tableName,omitempty"`
132562  	// Table - The table name of the Netezza. Type: string (or Expression with resultType string).
132563  	Table interface{} `json:"table,omitempty"`
132564  	// Schema - The schema name of the Netezza. Type: string (or Expression with resultType string).
132565  	Schema interface{} `json:"schema,omitempty"`
132566  }
132567  
132568  // Notebook notebook.
132569  type Notebook struct {
132570  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132571  	AdditionalProperties map[string]interface{} `json:""`
132572  	// Description - The description of the notebook.
132573  	Description *string `json:"description,omitempty"`
132574  	// BigDataPool - Big data pool reference.
132575  	BigDataPool *BigDataPoolReference `json:"bigDataPool,omitempty"`
132576  	// SessionProperties - Session properties.
132577  	SessionProperties *NotebookSessionProperties `json:"sessionProperties,omitempty"`
132578  	// Metadata - Notebook root-level metadata.
132579  	Metadata *NotebookMetadata `json:"metadata,omitempty"`
132580  	// Nbformat - Notebook format (major number). Incremented between backwards incompatible changes to the notebook format.
132581  	Nbformat *int32 `json:"nbformat,omitempty"`
132582  	// NbformatMinor - Notebook format (minor number). Incremented for backward compatible changes to the notebook format.
132583  	NbformatMinor *int32 `json:"nbformat_minor,omitempty"`
132584  	// Cells - Array of cells of the current notebook.
132585  	Cells *[]NotebookCell `json:"cells,omitempty"`
132586  }
132587  
132588  // MarshalJSON is the custom marshaler for Notebook.
132589  func (n Notebook) MarshalJSON() ([]byte, error) {
132590  	objectMap := make(map[string]interface{})
132591  	if n.Description != nil {
132592  		objectMap["description"] = n.Description
132593  	}
132594  	if n.BigDataPool != nil {
132595  		objectMap["bigDataPool"] = n.BigDataPool
132596  	}
132597  	if n.SessionProperties != nil {
132598  		objectMap["sessionProperties"] = n.SessionProperties
132599  	}
132600  	if n.Metadata != nil {
132601  		objectMap["metadata"] = n.Metadata
132602  	}
132603  	if n.Nbformat != nil {
132604  		objectMap["nbformat"] = n.Nbformat
132605  	}
132606  	if n.NbformatMinor != nil {
132607  		objectMap["nbformat_minor"] = n.NbformatMinor
132608  	}
132609  	if n.Cells != nil {
132610  		objectMap["cells"] = n.Cells
132611  	}
132612  	for k, v := range n.AdditionalProperties {
132613  		objectMap[k] = v
132614  	}
132615  	return json.Marshal(objectMap)
132616  }
132617  
132618  // UnmarshalJSON is the custom unmarshaler for Notebook struct.
132619  func (n *Notebook) UnmarshalJSON(body []byte) error {
132620  	var m map[string]*json.RawMessage
132621  	err := json.Unmarshal(body, &m)
132622  	if err != nil {
132623  		return err
132624  	}
132625  	for k, v := range m {
132626  		switch k {
132627  		default:
132628  			if v != nil {
132629  				var additionalProperties interface{}
132630  				err = json.Unmarshal(*v, &additionalProperties)
132631  				if err != nil {
132632  					return err
132633  				}
132634  				if n.AdditionalProperties == nil {
132635  					n.AdditionalProperties = make(map[string]interface{})
132636  				}
132637  				n.AdditionalProperties[k] = additionalProperties
132638  			}
132639  		case "description":
132640  			if v != nil {
132641  				var description string
132642  				err = json.Unmarshal(*v, &description)
132643  				if err != nil {
132644  					return err
132645  				}
132646  				n.Description = &description
132647  			}
132648  		case "bigDataPool":
132649  			if v != nil {
132650  				var bigDataPool BigDataPoolReference
132651  				err = json.Unmarshal(*v, &bigDataPool)
132652  				if err != nil {
132653  					return err
132654  				}
132655  				n.BigDataPool = &bigDataPool
132656  			}
132657  		case "sessionProperties":
132658  			if v != nil {
132659  				var sessionProperties NotebookSessionProperties
132660  				err = json.Unmarshal(*v, &sessionProperties)
132661  				if err != nil {
132662  					return err
132663  				}
132664  				n.SessionProperties = &sessionProperties
132665  			}
132666  		case "metadata":
132667  			if v != nil {
132668  				var metadata NotebookMetadata
132669  				err = json.Unmarshal(*v, &metadata)
132670  				if err != nil {
132671  					return err
132672  				}
132673  				n.Metadata = &metadata
132674  			}
132675  		case "nbformat":
132676  			if v != nil {
132677  				var nbformat int32
132678  				err = json.Unmarshal(*v, &nbformat)
132679  				if err != nil {
132680  					return err
132681  				}
132682  				n.Nbformat = &nbformat
132683  			}
132684  		case "nbformat_minor":
132685  			if v != nil {
132686  				var nbformatMinor int32
132687  				err = json.Unmarshal(*v, &nbformatMinor)
132688  				if err != nil {
132689  					return err
132690  				}
132691  				n.NbformatMinor = &nbformatMinor
132692  			}
132693  		case "cells":
132694  			if v != nil {
132695  				var cells []NotebookCell
132696  				err = json.Unmarshal(*v, &cells)
132697  				if err != nil {
132698  					return err
132699  				}
132700  				n.Cells = &cells
132701  			}
132702  		}
132703  	}
132704  
132705  	return nil
132706  }
132707  
132708  // NotebookCell notebook cell.
132709  type NotebookCell struct {
132710  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132711  	AdditionalProperties map[string]interface{} `json:""`
132712  	// CellType - String identifying the type of cell.
132713  	CellType *string `json:"cell_type,omitempty"`
132714  	// Metadata - Cell-level metadata.
132715  	Metadata interface{} `json:"metadata,omitempty"`
132716  	// Source - Contents of the cell, represented as an array of lines.
132717  	Source *[]string `json:"source,omitempty"`
132718  	// Attachments - Attachments associated with the cell.
132719  	Attachments interface{} `json:"attachments,omitempty"`
132720  	// Outputs - Cell-level output items.
132721  	Outputs *[]NotebookCellOutputItem `json:"outputs,omitempty"`
132722  }
132723  
132724  // MarshalJSON is the custom marshaler for NotebookCell.
132725  func (nc NotebookCell) MarshalJSON() ([]byte, error) {
132726  	objectMap := make(map[string]interface{})
132727  	if nc.CellType != nil {
132728  		objectMap["cell_type"] = nc.CellType
132729  	}
132730  	if nc.Metadata != nil {
132731  		objectMap["metadata"] = nc.Metadata
132732  	}
132733  	if nc.Source != nil {
132734  		objectMap["source"] = nc.Source
132735  	}
132736  	if nc.Attachments != nil {
132737  		objectMap["attachments"] = nc.Attachments
132738  	}
132739  	if nc.Outputs != nil {
132740  		objectMap["outputs"] = nc.Outputs
132741  	}
132742  	for k, v := range nc.AdditionalProperties {
132743  		objectMap[k] = v
132744  	}
132745  	return json.Marshal(objectMap)
132746  }
132747  
132748  // UnmarshalJSON is the custom unmarshaler for NotebookCell struct.
132749  func (nc *NotebookCell) UnmarshalJSON(body []byte) error {
132750  	var m map[string]*json.RawMessage
132751  	err := json.Unmarshal(body, &m)
132752  	if err != nil {
132753  		return err
132754  	}
132755  	for k, v := range m {
132756  		switch k {
132757  		default:
132758  			if v != nil {
132759  				var additionalProperties interface{}
132760  				err = json.Unmarshal(*v, &additionalProperties)
132761  				if err != nil {
132762  					return err
132763  				}
132764  				if nc.AdditionalProperties == nil {
132765  					nc.AdditionalProperties = make(map[string]interface{})
132766  				}
132767  				nc.AdditionalProperties[k] = additionalProperties
132768  			}
132769  		case "cell_type":
132770  			if v != nil {
132771  				var cellType string
132772  				err = json.Unmarshal(*v, &cellType)
132773  				if err != nil {
132774  					return err
132775  				}
132776  				nc.CellType = &cellType
132777  			}
132778  		case "metadata":
132779  			if v != nil {
132780  				var metadata interface{}
132781  				err = json.Unmarshal(*v, &metadata)
132782  				if err != nil {
132783  					return err
132784  				}
132785  				nc.Metadata = metadata
132786  			}
132787  		case "source":
132788  			if v != nil {
132789  				var source []string
132790  				err = json.Unmarshal(*v, &source)
132791  				if err != nil {
132792  					return err
132793  				}
132794  				nc.Source = &source
132795  			}
132796  		case "attachments":
132797  			if v != nil {
132798  				var attachments interface{}
132799  				err = json.Unmarshal(*v, &attachments)
132800  				if err != nil {
132801  					return err
132802  				}
132803  				nc.Attachments = attachments
132804  			}
132805  		case "outputs":
132806  			if v != nil {
132807  				var outputs []NotebookCellOutputItem
132808  				err = json.Unmarshal(*v, &outputs)
132809  				if err != nil {
132810  					return err
132811  				}
132812  				nc.Outputs = &outputs
132813  			}
132814  		}
132815  	}
132816  
132817  	return nil
132818  }
132819  
132820  // NotebookCellOutputItem an item of the notebook cell execution output.
132821  type NotebookCellOutputItem struct {
132822  	// Name - For output_type=stream, determines the name of stream (stdout / stderr).
132823  	Name *string `json:"name,omitempty"`
132824  	// ExecutionCount - Execution sequence number.
132825  	ExecutionCount *int32 `json:"execution_count,omitempty"`
132826  	// OutputType - Execution, display, or stream outputs. Possible values include: 'ExecuteResult', 'DisplayData', 'Stream', 'Error'
132827  	OutputType CellOutputType `json:"output_type,omitempty"`
132828  	// Text - For output_type=stream, the stream's text output, represented as a string or an array of strings.
132829  	Text interface{} `json:"text,omitempty"`
132830  	// Data - Output data. Use MIME type as key, and content as value.
132831  	Data interface{} `json:"data,omitempty"`
132832  	// Metadata - Metadata for the output item.
132833  	Metadata interface{} `json:"metadata,omitempty"`
132834  }
132835  
132836  // NotebookCreateOrUpdateNotebookFuture an abstraction for monitoring and retrieving the results of a
132837  // long-running operation.
132838  type NotebookCreateOrUpdateNotebookFuture struct {
132839  	azure.FutureAPI
132840  	// Result returns the result of the asynchronous operation.
132841  	// If the operation has not completed it will return an error.
132842  	Result func(NotebookClient) (NotebookResource, error)
132843  }
132844  
132845  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
132846  func (future *NotebookCreateOrUpdateNotebookFuture) UnmarshalJSON(body []byte) error {
132847  	var azFuture azure.Future
132848  	if err := json.Unmarshal(body, &azFuture); err != nil {
132849  		return err
132850  	}
132851  	future.FutureAPI = &azFuture
132852  	future.Result = future.result
132853  	return nil
132854  }
132855  
132856  // result is the default implementation for NotebookCreateOrUpdateNotebookFuture.Result.
132857  func (future *NotebookCreateOrUpdateNotebookFuture) result(client NotebookClient) (nr NotebookResource, err error) {
132858  	var done bool
132859  	done, err = future.DoneWithContext(context.Background(), client)
132860  	if err != nil {
132861  		err = autorest.NewErrorWithError(err, "artifacts.NotebookCreateOrUpdateNotebookFuture", "Result", future.Response(), "Polling failure")
132862  		return
132863  	}
132864  	if !done {
132865  		nr.Response.Response = future.Response()
132866  		err = azure.NewAsyncOpIncompleteError("artifacts.NotebookCreateOrUpdateNotebookFuture")
132867  		return
132868  	}
132869  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
132870  	if nr.Response.Response, err = future.GetResult(sender); err == nil && nr.Response.Response.StatusCode != http.StatusNoContent {
132871  		nr, err = client.CreateOrUpdateNotebookResponder(nr.Response.Response)
132872  		if err != nil {
132873  			err = autorest.NewErrorWithError(err, "artifacts.NotebookCreateOrUpdateNotebookFuture", "Result", nr.Response.Response, "Failure responding to request")
132874  		}
132875  	}
132876  	return
132877  }
132878  
132879  // NotebookDeleteNotebookFuture an abstraction for monitoring and retrieving the results of a long-running
132880  // operation.
132881  type NotebookDeleteNotebookFuture struct {
132882  	azure.FutureAPI
132883  	// Result returns the result of the asynchronous operation.
132884  	// If the operation has not completed it will return an error.
132885  	Result func(NotebookClient) (autorest.Response, error)
132886  }
132887  
132888  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
132889  func (future *NotebookDeleteNotebookFuture) UnmarshalJSON(body []byte) error {
132890  	var azFuture azure.Future
132891  	if err := json.Unmarshal(body, &azFuture); err != nil {
132892  		return err
132893  	}
132894  	future.FutureAPI = &azFuture
132895  	future.Result = future.result
132896  	return nil
132897  }
132898  
132899  // result is the default implementation for NotebookDeleteNotebookFuture.Result.
132900  func (future *NotebookDeleteNotebookFuture) result(client NotebookClient) (ar autorest.Response, err error) {
132901  	var done bool
132902  	done, err = future.DoneWithContext(context.Background(), client)
132903  	if err != nil {
132904  		err = autorest.NewErrorWithError(err, "artifacts.NotebookDeleteNotebookFuture", "Result", future.Response(), "Polling failure")
132905  		return
132906  	}
132907  	if !done {
132908  		ar.Response = future.Response()
132909  		err = azure.NewAsyncOpIncompleteError("artifacts.NotebookDeleteNotebookFuture")
132910  		return
132911  	}
132912  	ar.Response = future.Response()
132913  	return
132914  }
132915  
132916  // NotebookKernelSpec kernel information.
132917  type NotebookKernelSpec struct {
132918  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132919  	AdditionalProperties map[string]interface{} `json:""`
132920  	// Name - Name of the kernel specification.
132921  	Name *string `json:"name,omitempty"`
132922  	// DisplayName - Name to display in UI.
132923  	DisplayName *string `json:"display_name,omitempty"`
132924  }
132925  
132926  // MarshalJSON is the custom marshaler for NotebookKernelSpec.
132927  func (nks NotebookKernelSpec) MarshalJSON() ([]byte, error) {
132928  	objectMap := make(map[string]interface{})
132929  	if nks.Name != nil {
132930  		objectMap["name"] = nks.Name
132931  	}
132932  	if nks.DisplayName != nil {
132933  		objectMap["display_name"] = nks.DisplayName
132934  	}
132935  	for k, v := range nks.AdditionalProperties {
132936  		objectMap[k] = v
132937  	}
132938  	return json.Marshal(objectMap)
132939  }
132940  
132941  // UnmarshalJSON is the custom unmarshaler for NotebookKernelSpec struct.
132942  func (nks *NotebookKernelSpec) UnmarshalJSON(body []byte) error {
132943  	var m map[string]*json.RawMessage
132944  	err := json.Unmarshal(body, &m)
132945  	if err != nil {
132946  		return err
132947  	}
132948  	for k, v := range m {
132949  		switch k {
132950  		default:
132951  			if v != nil {
132952  				var additionalProperties interface{}
132953  				err = json.Unmarshal(*v, &additionalProperties)
132954  				if err != nil {
132955  					return err
132956  				}
132957  				if nks.AdditionalProperties == nil {
132958  					nks.AdditionalProperties = make(map[string]interface{})
132959  				}
132960  				nks.AdditionalProperties[k] = additionalProperties
132961  			}
132962  		case "name":
132963  			if v != nil {
132964  				var name string
132965  				err = json.Unmarshal(*v, &name)
132966  				if err != nil {
132967  					return err
132968  				}
132969  				nks.Name = &name
132970  			}
132971  		case "display_name":
132972  			if v != nil {
132973  				var displayName string
132974  				err = json.Unmarshal(*v, &displayName)
132975  				if err != nil {
132976  					return err
132977  				}
132978  				nks.DisplayName = &displayName
132979  			}
132980  		}
132981  	}
132982  
132983  	return nil
132984  }
132985  
132986  // NotebookLanguageInfo language info.
132987  type NotebookLanguageInfo struct {
132988  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
132989  	AdditionalProperties map[string]interface{} `json:""`
132990  	// Name - The programming language which this kernel runs.
132991  	Name *string `json:"name,omitempty"`
132992  	// CodemirrorMode - The codemirror mode to use for code in this language.
132993  	CodemirrorMode *string `json:"codemirror_mode,omitempty"`
132994  }
132995  
132996  // MarshalJSON is the custom marshaler for NotebookLanguageInfo.
132997  func (nli NotebookLanguageInfo) MarshalJSON() ([]byte, error) {
132998  	objectMap := make(map[string]interface{})
132999  	if nli.Name != nil {
133000  		objectMap["name"] = nli.Name
133001  	}
133002  	if nli.CodemirrorMode != nil {
133003  		objectMap["codemirror_mode"] = nli.CodemirrorMode
133004  	}
133005  	for k, v := range nli.AdditionalProperties {
133006  		objectMap[k] = v
133007  	}
133008  	return json.Marshal(objectMap)
133009  }
133010  
133011  // UnmarshalJSON is the custom unmarshaler for NotebookLanguageInfo struct.
133012  func (nli *NotebookLanguageInfo) UnmarshalJSON(body []byte) error {
133013  	var m map[string]*json.RawMessage
133014  	err := json.Unmarshal(body, &m)
133015  	if err != nil {
133016  		return err
133017  	}
133018  	for k, v := range m {
133019  		switch k {
133020  		default:
133021  			if v != nil {
133022  				var additionalProperties interface{}
133023  				err = json.Unmarshal(*v, &additionalProperties)
133024  				if err != nil {
133025  					return err
133026  				}
133027  				if nli.AdditionalProperties == nil {
133028  					nli.AdditionalProperties = make(map[string]interface{})
133029  				}
133030  				nli.AdditionalProperties[k] = additionalProperties
133031  			}
133032  		case "name":
133033  			if v != nil {
133034  				var name string
133035  				err = json.Unmarshal(*v, &name)
133036  				if err != nil {
133037  					return err
133038  				}
133039  				nli.Name = &name
133040  			}
133041  		case "codemirror_mode":
133042  			if v != nil {
133043  				var codemirrorMode string
133044  				err = json.Unmarshal(*v, &codemirrorMode)
133045  				if err != nil {
133046  					return err
133047  				}
133048  				nli.CodemirrorMode = &codemirrorMode
133049  			}
133050  		}
133051  	}
133052  
133053  	return nil
133054  }
133055  
133056  // NotebookListResponse a list of Notebook resources.
133057  type NotebookListResponse struct {
133058  	autorest.Response `json:"-"`
133059  	// Value - List of Notebooks.
133060  	Value *[]NotebookResource `json:"value,omitempty"`
133061  	// NextLink - The link to the next page of results, if any remaining results exist.
133062  	NextLink *string `json:"nextLink,omitempty"`
133063  }
133064  
133065  // NotebookListResponseIterator provides access to a complete listing of NotebookResource values.
133066  type NotebookListResponseIterator struct {
133067  	i    int
133068  	page NotebookListResponsePage
133069  }
133070  
133071  // NextWithContext advances to the next value.  If there was an error making
133072  // the request the iterator does not advance and the error is returned.
133073  func (iter *NotebookListResponseIterator) NextWithContext(ctx context.Context) (err error) {
133074  	if tracing.IsEnabled() {
133075  		ctx = tracing.StartSpan(ctx, fqdn+"/NotebookListResponseIterator.NextWithContext")
133076  		defer func() {
133077  			sc := -1
133078  			if iter.Response().Response.Response != nil {
133079  				sc = iter.Response().Response.Response.StatusCode
133080  			}
133081  			tracing.EndSpan(ctx, sc, err)
133082  		}()
133083  	}
133084  	iter.i++
133085  	if iter.i < len(iter.page.Values()) {
133086  		return nil
133087  	}
133088  	err = iter.page.NextWithContext(ctx)
133089  	if err != nil {
133090  		iter.i--
133091  		return err
133092  	}
133093  	iter.i = 0
133094  	return nil
133095  }
133096  
133097  // Next advances to the next value.  If there was an error making
133098  // the request the iterator does not advance and the error is returned.
133099  // Deprecated: Use NextWithContext() instead.
133100  func (iter *NotebookListResponseIterator) Next() error {
133101  	return iter.NextWithContext(context.Background())
133102  }
133103  
133104  // NotDone returns true if the enumeration should be started or is not yet complete.
133105  func (iter NotebookListResponseIterator) NotDone() bool {
133106  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
133107  }
133108  
133109  // Response returns the raw server response from the last page request.
133110  func (iter NotebookListResponseIterator) Response() NotebookListResponse {
133111  	return iter.page.Response()
133112  }
133113  
133114  // Value returns the current value or a zero-initialized value if the
133115  // iterator has advanced beyond the end of the collection.
133116  func (iter NotebookListResponseIterator) Value() NotebookResource {
133117  	if !iter.page.NotDone() {
133118  		return NotebookResource{}
133119  	}
133120  	return iter.page.Values()[iter.i]
133121  }
133122  
133123  // Creates a new instance of the NotebookListResponseIterator type.
133124  func NewNotebookListResponseIterator(page NotebookListResponsePage) NotebookListResponseIterator {
133125  	return NotebookListResponseIterator{page: page}
133126  }
133127  
133128  // IsEmpty returns true if the ListResult contains no values.
133129  func (nlr NotebookListResponse) IsEmpty() bool {
133130  	return nlr.Value == nil || len(*nlr.Value) == 0
133131  }
133132  
133133  // hasNextLink returns true if the NextLink is not empty.
133134  func (nlr NotebookListResponse) hasNextLink() bool {
133135  	return nlr.NextLink != nil && len(*nlr.NextLink) != 0
133136  }
133137  
133138  // notebookListResponsePreparer prepares a request to retrieve the next set of results.
133139  // It returns nil if no more results exist.
133140  func (nlr NotebookListResponse) notebookListResponsePreparer(ctx context.Context) (*http.Request, error) {
133141  	if !nlr.hasNextLink() {
133142  		return nil, nil
133143  	}
133144  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
133145  		autorest.AsJSON(),
133146  		autorest.AsGet(),
133147  		autorest.WithBaseURL(to.String(nlr.NextLink)))
133148  }
133149  
133150  // NotebookListResponsePage contains a page of NotebookResource values.
133151  type NotebookListResponsePage struct {
133152  	fn  func(context.Context, NotebookListResponse) (NotebookListResponse, error)
133153  	nlr NotebookListResponse
133154  }
133155  
133156  // NextWithContext advances to the next page of values.  If there was an error making
133157  // the request the page does not advance and the error is returned.
133158  func (page *NotebookListResponsePage) NextWithContext(ctx context.Context) (err error) {
133159  	if tracing.IsEnabled() {
133160  		ctx = tracing.StartSpan(ctx, fqdn+"/NotebookListResponsePage.NextWithContext")
133161  		defer func() {
133162  			sc := -1
133163  			if page.Response().Response.Response != nil {
133164  				sc = page.Response().Response.Response.StatusCode
133165  			}
133166  			tracing.EndSpan(ctx, sc, err)
133167  		}()
133168  	}
133169  	for {
133170  		next, err := page.fn(ctx, page.nlr)
133171  		if err != nil {
133172  			return err
133173  		}
133174  		page.nlr = next
133175  		if !next.hasNextLink() || !next.IsEmpty() {
133176  			break
133177  		}
133178  	}
133179  	return nil
133180  }
133181  
133182  // Next advances to the next page of values.  If there was an error making
133183  // the request the page does not advance and the error is returned.
133184  // Deprecated: Use NextWithContext() instead.
133185  func (page *NotebookListResponsePage) Next() error {
133186  	return page.NextWithContext(context.Background())
133187  }
133188  
133189  // NotDone returns true if the page enumeration should be started or is not yet complete.
133190  func (page NotebookListResponsePage) NotDone() bool {
133191  	return !page.nlr.IsEmpty()
133192  }
133193  
133194  // Response returns the raw server response from the last page request.
133195  func (page NotebookListResponsePage) Response() NotebookListResponse {
133196  	return page.nlr
133197  }
133198  
133199  // Values returns the slice of values for the current page or nil if there are no values.
133200  func (page NotebookListResponsePage) Values() []NotebookResource {
133201  	if page.nlr.IsEmpty() {
133202  		return nil
133203  	}
133204  	return *page.nlr.Value
133205  }
133206  
133207  // Creates a new instance of the NotebookListResponsePage type.
133208  func NewNotebookListResponsePage(cur NotebookListResponse, getNextPage func(context.Context, NotebookListResponse) (NotebookListResponse, error)) NotebookListResponsePage {
133209  	return NotebookListResponsePage{
133210  		fn:  getNextPage,
133211  		nlr: cur,
133212  	}
133213  }
133214  
133215  // NotebookMetadata notebook root-level metadata.
133216  type NotebookMetadata struct {
133217  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133218  	AdditionalProperties map[string]interface{} `json:""`
133219  	// Kernelspec - Kernel information.
133220  	Kernelspec *NotebookKernelSpec `json:"kernelspec,omitempty"`
133221  	// LanguageInfo - Language info.
133222  	LanguageInfo *NotebookLanguageInfo `json:"language_info,omitempty"`
133223  }
133224  
133225  // MarshalJSON is the custom marshaler for NotebookMetadata.
133226  func (nm NotebookMetadata) MarshalJSON() ([]byte, error) {
133227  	objectMap := make(map[string]interface{})
133228  	if nm.Kernelspec != nil {
133229  		objectMap["kernelspec"] = nm.Kernelspec
133230  	}
133231  	if nm.LanguageInfo != nil {
133232  		objectMap["language_info"] = nm.LanguageInfo
133233  	}
133234  	for k, v := range nm.AdditionalProperties {
133235  		objectMap[k] = v
133236  	}
133237  	return json.Marshal(objectMap)
133238  }
133239  
133240  // UnmarshalJSON is the custom unmarshaler for NotebookMetadata struct.
133241  func (nm *NotebookMetadata) UnmarshalJSON(body []byte) error {
133242  	var m map[string]*json.RawMessage
133243  	err := json.Unmarshal(body, &m)
133244  	if err != nil {
133245  		return err
133246  	}
133247  	for k, v := range m {
133248  		switch k {
133249  		default:
133250  			if v != nil {
133251  				var additionalProperties interface{}
133252  				err = json.Unmarshal(*v, &additionalProperties)
133253  				if err != nil {
133254  					return err
133255  				}
133256  				if nm.AdditionalProperties == nil {
133257  					nm.AdditionalProperties = make(map[string]interface{})
133258  				}
133259  				nm.AdditionalProperties[k] = additionalProperties
133260  			}
133261  		case "kernelspec":
133262  			if v != nil {
133263  				var kernelspec NotebookKernelSpec
133264  				err = json.Unmarshal(*v, &kernelspec)
133265  				if err != nil {
133266  					return err
133267  				}
133268  				nm.Kernelspec = &kernelspec
133269  			}
133270  		case "language_info":
133271  			if v != nil {
133272  				var languageInfo NotebookLanguageInfo
133273  				err = json.Unmarshal(*v, &languageInfo)
133274  				if err != nil {
133275  					return err
133276  				}
133277  				nm.LanguageInfo = &languageInfo
133278  			}
133279  		}
133280  	}
133281  
133282  	return nil
133283  }
133284  
133285  // NotebookRenameNotebookFuture an abstraction for monitoring and retrieving the results of a long-running
133286  // operation.
133287  type NotebookRenameNotebookFuture struct {
133288  	azure.FutureAPI
133289  	// Result returns the result of the asynchronous operation.
133290  	// If the operation has not completed it will return an error.
133291  	Result func(NotebookClient) (autorest.Response, error)
133292  }
133293  
133294  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
133295  func (future *NotebookRenameNotebookFuture) UnmarshalJSON(body []byte) error {
133296  	var azFuture azure.Future
133297  	if err := json.Unmarshal(body, &azFuture); err != nil {
133298  		return err
133299  	}
133300  	future.FutureAPI = &azFuture
133301  	future.Result = future.result
133302  	return nil
133303  }
133304  
133305  // result is the default implementation for NotebookRenameNotebookFuture.Result.
133306  func (future *NotebookRenameNotebookFuture) result(client NotebookClient) (ar autorest.Response, err error) {
133307  	var done bool
133308  	done, err = future.DoneWithContext(context.Background(), client)
133309  	if err != nil {
133310  		err = autorest.NewErrorWithError(err, "artifacts.NotebookRenameNotebookFuture", "Result", future.Response(), "Polling failure")
133311  		return
133312  	}
133313  	if !done {
133314  		ar.Response = future.Response()
133315  		err = azure.NewAsyncOpIncompleteError("artifacts.NotebookRenameNotebookFuture")
133316  		return
133317  	}
133318  	ar.Response = future.Response()
133319  	return
133320  }
133321  
133322  // NotebookResource notebook resource type.
133323  type NotebookResource struct {
133324  	autorest.Response `json:"-"`
133325  	// ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
133326  	ID *string `json:"id,omitempty"`
133327  	// Name - The name of the resource
133328  	Name *string `json:"name,omitempty"`
133329  	// Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
133330  	Type *string `json:"type,omitempty"`
133331  	// Etag - READ-ONLY; Resource Etag.
133332  	Etag *string `json:"etag,omitempty"`
133333  	// Properties - Properties of Notebook.
133334  	Properties *Notebook `json:"properties,omitempty"`
133335  }
133336  
133337  // MarshalJSON is the custom marshaler for NotebookResource.
133338  func (nr NotebookResource) MarshalJSON() ([]byte, error) {
133339  	objectMap := make(map[string]interface{})
133340  	if nr.Name != nil {
133341  		objectMap["name"] = nr.Name
133342  	}
133343  	if nr.Properties != nil {
133344  		objectMap["properties"] = nr.Properties
133345  	}
133346  	return json.Marshal(objectMap)
133347  }
133348  
133349  // NotebookSessionProperties session properties.
133350  type NotebookSessionProperties struct {
133351  	// DriverMemory - Amount of memory to use for the driver process.
133352  	DriverMemory *string `json:"driverMemory,omitempty"`
133353  	// DriverCores - Number of cores to use for the driver.
133354  	DriverCores *int32 `json:"driverCores,omitempty"`
133355  	// ExecutorMemory - Amount of memory to use per executor process.
133356  	ExecutorMemory *string `json:"executorMemory,omitempty"`
133357  	// ExecutorCores - Number of cores to use for each executor.
133358  	ExecutorCores *int32 `json:"executorCores,omitempty"`
133359  	// NumExecutors - Number of executors to launch for this session.
133360  	NumExecutors *int32 `json:"numExecutors,omitempty"`
133361  }
133362  
133363  // ODataLinkedService open Data Protocol (OData) linked service.
133364  type ODataLinkedService struct {
133365  	// ODataLinkedServiceTypeProperties - OData linked service properties.
133366  	*ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
133367  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
133368  	AdditionalProperties map[string]interface{} `json:""`
133369  	// ConnectVia - The integration runtime reference.
133370  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
133371  	// Description - Linked service description.
133372  	Description *string `json:"description,omitempty"`
133373  	// Parameters - Parameters for linked service.
133374  	Parameters map[string]*ParameterSpecification `json:"parameters"`
133375  	// Annotations - List of tags that can be used for describing the linked service.
133376  	Annotations *[]interface{} `json:"annotations,omitempty"`
133377  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
133378  	Type TypeBasicLinkedService `json:"type,omitempty"`
133379  }
133380  
133381  // MarshalJSON is the custom marshaler for ODataLinkedService.
133382  func (odls ODataLinkedService) MarshalJSON() ([]byte, error) {
133383  	odls.Type = TypeOData
133384  	objectMap := make(map[string]interface{})
133385  	if odls.ODataLinkedServiceTypeProperties != nil {
133386  		objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties
133387  	}
133388  	if odls.ConnectVia != nil {
133389  		objectMap["connectVia"] = odls.ConnectVia
133390  	}
133391  	if odls.Description != nil {
133392  		objectMap["description"] = odls.Description
133393  	}
133394  	if odls.Parameters != nil {
133395  		objectMap["parameters"] = odls.Parameters
133396  	}
133397  	if odls.Annotations != nil {
133398  		objectMap["annotations"] = odls.Annotations
133399  	}
133400  	if odls.Type != "" {
133401  		objectMap["type"] = odls.Type
133402  	}
133403  	for k, v := range odls.AdditionalProperties {
133404  		objectMap[k] = v
133405  	}
133406  	return json.Marshal(objectMap)
133407  }
133408  
133409  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133410  func (odls ODataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
133411  	return nil, false
133412  }
133413  
133414  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133415  func (odls ODataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
133416  	return nil, false
133417  }
133418  
133419  // AsSapTableLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133420  func (odls ODataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
133421  	return nil, false
133422  }
133423  
133424  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133425  func (odls ODataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
133426  	return nil, false
133427  }
133428  
133429  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133430  func (odls ODataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
133431  	return nil, false
133432  }
133433  
133434  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133435  func (odls ODataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
133436  	return nil, false
133437  }
133438  
133439  // AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133440  func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
133441  	return nil, false
133442  }
133443  
133444  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133445  func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
133446  	return nil, false
133447  }
133448  
133449  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133450  func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
133451  	return nil, false
133452  }
133453  
133454  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133455  func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
133456  	return nil, false
133457  }
133458  
133459  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133460  func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
133461  	return nil, false
133462  }
133463  
133464  // AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133465  func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
133466  	return nil, false
133467  }
133468  
133469  // AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133470  func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
133471  	return nil, false
133472  }
133473  
133474  // AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133475  func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
133476  	return nil, false
133477  }
133478  
133479  // AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133480  func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
133481  	return nil, false
133482  }
133483  
133484  // AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133485  func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
133486  	return nil, false
133487  }
133488  
133489  // AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133490  func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
133491  	return nil, false
133492  }
133493  
133494  // AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133495  func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
133496  	return nil, false
133497  }
133498  
133499  // AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133500  func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
133501  	return nil, false
133502  }
133503  
133504  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133505  func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
133506  	return nil, false
133507  }
133508  
133509  // AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133510  func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
133511  	return nil, false
133512  }
133513  
133514  // AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133515  func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
133516  	return nil, false
133517  }
133518  
133519  // AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133520  func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
133521  	return nil, false
133522  }
133523  
133524  // AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133525  func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
133526  	return nil, false
133527  }
133528  
133529  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133530  func (odls ODataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
133531  	return nil, false
133532  }
133533  
133534  // AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133535  func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
133536  	return nil, false
133537  }
133538  
133539  // AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133540  func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
133541  	return nil, false
133542  }
133543  
133544  // AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133545  func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
133546  	return nil, false
133547  }
133548  
133549  // AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133550  func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
133551  	return nil, false
133552  }
133553  
133554  // AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133555  func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
133556  	return nil, false
133557  }
133558  
133559  // AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133560  func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
133561  	return nil, false
133562  }
133563  
133564  // AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133565  func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
133566  	return nil, false
133567  }
133568  
133569  // AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133570  func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
133571  	return nil, false
133572  }
133573  
133574  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133575  func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
133576  	return nil, false
133577  }
133578  
133579  // AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133580  func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
133581  	return nil, false
133582  }
133583  
133584  // AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133585  func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
133586  	return nil, false
133587  }
133588  
133589  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133590  func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
133591  	return nil, false
133592  }
133593  
133594  // AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133595  func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
133596  	return nil, false
133597  }
133598  
133599  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133600  func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
133601  	return nil, false
133602  }
133603  
133604  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133605  func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
133606  	return nil, false
133607  }
133608  
133609  // AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133610  func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
133611  	return nil, false
133612  }
133613  
133614  // AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133615  func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
133616  	return nil, false
133617  }
133618  
133619  // AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133620  func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
133621  	return nil, false
133622  }
133623  
133624  // AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133625  func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
133626  	return nil, false
133627  }
133628  
133629  // AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133630  func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
133631  	return nil, false
133632  }
133633  
133634  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133635  func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
133636  	return nil, false
133637  }
133638  
133639  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133640  func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
133641  	return nil, false
133642  }
133643  
133644  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133645  func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
133646  	return nil, false
133647  }
133648  
133649  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService.
133650  func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
133651  	return nil, false
133652  }
133653  
133654  // AsRestServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133655  func (odls ODataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
133656  	return nil, false
133657  }
133658  
133659  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133660  func (odls ODataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
133661  	return nil, false
133662  }
133663  
133664  // AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133665  func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
133666  	return nil, false
133667  }
133668  
133669  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133670  func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
133671  	return nil, false
133672  }
133673  
133674  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133675  func (odls ODataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
133676  	return nil, false
133677  }
133678  
133679  // AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133680  func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
133681  	return nil, false
133682  }
133683  
133684  // AsOffice365LinkedService is the BasicLinkedService implementation for ODataLinkedService.
133685  func (odls ODataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
133686  	return nil, false
133687  }
133688  
133689  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133690  func (odls ODataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
133691  	return nil, false
133692  }
133693  
133694  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133695  func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
133696  	return nil, false
133697  }
133698  
133699  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ODataLinkedService.
133700  func (odls ODataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
133701  	return nil, false
133702  }
133703  
133704  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
133705  func (odls ODataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
133706  	return nil, false
133707  }
133708  
133709  // AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133710  func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
133711  	return nil, false
133712  }
133713  
133714  // AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133715  func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
133716  	return nil, false
133717  }
133718  
133719  // AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133720  func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
133721  	return nil, false
133722  }
133723  
133724  // AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133725  func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
133726  	return &odls, true
133727  }
133728  
133729  // AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133730  func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
133731  	return nil, false
133732  }
133733  
133734  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133735  func (odls ODataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
133736  	return nil, false
133737  }
133738  
133739  // AsInformixLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133740  func (odls ODataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
133741  	return nil, false
133742  }
133743  
133744  // AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133745  func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
133746  	return nil, false
133747  }
133748  
133749  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133750  func (odls ODataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
133751  	return nil, false
133752  }
133753  
133754  // AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133755  func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
133756  	return nil, false
133757  }
133758  
133759  // AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133760  func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
133761  	return nil, false
133762  }
133763  
133764  // AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService.
133765  func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
133766  	return nil, false
133767  }
133768  
133769  // AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133770  func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
133771  	return nil, false
133772  }
133773  
133774  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133775  func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
133776  	return nil, false
133777  }
133778  
133779  // AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133780  func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
133781  	return nil, false
133782  }
133783  
133784  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133785  func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
133786  	return nil, false
133787  }
133788  
133789  // AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133790  func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
133791  	return nil, false
133792  }
133793  
133794  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133795  func (odls ODataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
133796  	return nil, false
133797  }
133798  
133799  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133800  func (odls ODataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
133801  	return nil, false
133802  }
133803  
133804  // AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133805  func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
133806  	return nil, false
133807  }
133808  
133809  // AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133810  func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
133811  	return nil, false
133812  }
133813  
133814  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133815  func (odls ODataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
133816  	return nil, false
133817  }
133818  
133819  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133820  func (odls ODataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
133821  	return nil, false
133822  }
133823  
133824  // AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133825  func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
133826  	return nil, false
133827  }
133828  
133829  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133830  func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
133831  	return nil, false
133832  }
133833  
133834  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133835  func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
133836  	return nil, false
133837  }
133838  
133839  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133840  func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
133841  	return nil, false
133842  }
133843  
133844  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ODataLinkedService.
133845  func (odls ODataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
133846  	return nil, false
133847  }
133848  
133849  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133850  func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
133851  	return nil, false
133852  }
133853  
133854  // AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133855  func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
133856  	return nil, false
133857  }
133858  
133859  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133860  func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
133861  	return nil, false
133862  }
133863  
133864  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133865  func (odls ODataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
133866  	return nil, false
133867  }
133868  
133869  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133870  func (odls ODataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
133871  	return nil, false
133872  }
133873  
133874  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133875  func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
133876  	return nil, false
133877  }
133878  
133879  // AsLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133880  func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) {
133881  	return nil, false
133882  }
133883  
133884  // AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService.
133885  func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
133886  	return &odls, true
133887  }
133888  
133889  // UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct.
133890  func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error {
133891  	var m map[string]*json.RawMessage
133892  	err := json.Unmarshal(body, &m)
133893  	if err != nil {
133894  		return err
133895  	}
133896  	for k, v := range m {
133897  		switch k {
133898  		case "typeProperties":
133899  			if v != nil {
133900  				var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties
133901  				err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties)
133902  				if err != nil {
133903  					return err
133904  				}
133905  				odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties
133906  			}
133907  		default:
133908  			if v != nil {
133909  				var additionalProperties interface{}
133910  				err = json.Unmarshal(*v, &additionalProperties)
133911  				if err != nil {
133912  					return err
133913  				}
133914  				if odls.AdditionalProperties == nil {
133915  					odls.AdditionalProperties = make(map[string]interface{})
133916  				}
133917  				odls.AdditionalProperties[k] = additionalProperties
133918  			}
133919  		case "connectVia":
133920  			if v != nil {
133921  				var connectVia IntegrationRuntimeReference
133922  				err = json.Unmarshal(*v, &connectVia)
133923  				if err != nil {
133924  					return err
133925  				}
133926  				odls.ConnectVia = &connectVia
133927  			}
133928  		case "description":
133929  			if v != nil {
133930  				var description string
133931  				err = json.Unmarshal(*v, &description)
133932  				if err != nil {
133933  					return err
133934  				}
133935  				odls.Description = &description
133936  			}
133937  		case "parameters":
133938  			if v != nil {
133939  				var parameters map[string]*ParameterSpecification
133940  				err = json.Unmarshal(*v, &parameters)
133941  				if err != nil {
133942  					return err
133943  				}
133944  				odls.Parameters = parameters
133945  			}
133946  		case "annotations":
133947  			if v != nil {
133948  				var annotations []interface{}
133949  				err = json.Unmarshal(*v, &annotations)
133950  				if err != nil {
133951  					return err
133952  				}
133953  				odls.Annotations = &annotations
133954  			}
133955  		case "type":
133956  			if v != nil {
133957  				var typeVar TypeBasicLinkedService
133958  				err = json.Unmarshal(*v, &typeVar)
133959  				if err != nil {
133960  					return err
133961  				}
133962  				odls.Type = typeVar
133963  			}
133964  		}
133965  	}
133966  
133967  	return nil
133968  }
133969  
133970  // ODataLinkedServiceTypeProperties oData linked service properties.
133971  type ODataLinkedServiceTypeProperties struct {
133972  	// URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string).
133973  	URL interface{} `json:"url,omitempty"`
133974  	// AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous', 'ODataAuthenticationTypeWindows', 'ODataAuthenticationTypeAadServicePrincipal', 'ODataAuthenticationTypeManagedServiceIdentity'
133975  	AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"`
133976  	// UserName - User name of the OData service. Type: string (or Expression with resultType string).
133977  	UserName interface{} `json:"userName,omitempty"`
133978  	// Password - Password of the OData service.
133979  	Password BasicSecretBase `json:"password,omitempty"`
133980  	// Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string).
133981  	Tenant interface{} `json:"tenant,omitempty"`
133982  	// ServicePrincipalID - Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
133983  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
133984  	// AadResourceID - Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string).
133985  	AadResourceID interface{} `json:"aadResourceId,omitempty"`
133986  	// AadServicePrincipalCredentialType - Specify the credential type (key or cert) is used for service principal. Possible values include: 'ODataAadServicePrincipalCredentialTypeServicePrincipalKey', 'ODataAadServicePrincipalCredentialTypeServicePrincipalCert'
133987  	AadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType `json:"aadServicePrincipalCredentialType,omitempty"`
133988  	// ServicePrincipalKey - Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
133989  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
133990  	// ServicePrincipalEmbeddedCert - Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).
133991  	ServicePrincipalEmbeddedCert BasicSecretBase `json:"servicePrincipalEmbeddedCert,omitempty"`
133992  	// 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).
133993  	ServicePrincipalEmbeddedCertPassword BasicSecretBase `json:"servicePrincipalEmbeddedCertPassword,omitempty"`
133994  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
133995  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
133996  }
133997  
133998  // UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct.
133999  func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
134000  	var m map[string]*json.RawMessage
134001  	err := json.Unmarshal(body, &m)
134002  	if err != nil {
134003  		return err
134004  	}
134005  	for k, v := range m {
134006  		switch k {
134007  		case "url":
134008  			if v != nil {
134009  				var URL interface{}
134010  				err = json.Unmarshal(*v, &URL)
134011  				if err != nil {
134012  					return err
134013  				}
134014  				odlstp.URL = URL
134015  			}
134016  		case "authenticationType":
134017  			if v != nil {
134018  				var authenticationType ODataAuthenticationType
134019  				err = json.Unmarshal(*v, &authenticationType)
134020  				if err != nil {
134021  					return err
134022  				}
134023  				odlstp.AuthenticationType = authenticationType
134024  			}
134025  		case "userName":
134026  			if v != nil {
134027  				var userName interface{}
134028  				err = json.Unmarshal(*v, &userName)
134029  				if err != nil {
134030  					return err
134031  				}
134032  				odlstp.UserName = userName
134033  			}
134034  		case "password":
134035  			if v != nil {
134036  				password, err := unmarshalBasicSecretBase(*v)
134037  				if err != nil {
134038  					return err
134039  				}
134040  				odlstp.Password = password
134041  			}
134042  		case "tenant":
134043  			if v != nil {
134044  				var tenant interface{}
134045  				err = json.Unmarshal(*v, &tenant)
134046  				if err != nil {
134047  					return err
134048  				}
134049  				odlstp.Tenant = tenant
134050  			}
134051  		case "servicePrincipalId":
134052  			if v != nil {
134053  				var servicePrincipalID interface{}
134054  				err = json.Unmarshal(*v, &servicePrincipalID)
134055  				if err != nil {
134056  					return err
134057  				}
134058  				odlstp.ServicePrincipalID = servicePrincipalID
134059  			}
134060  		case "aadResourceId":
134061  			if v != nil {
134062  				var aadResourceID interface{}
134063  				err = json.Unmarshal(*v, &aadResourceID)
134064  				if err != nil {
134065  					return err
134066  				}
134067  				odlstp.AadResourceID = aadResourceID
134068  			}
134069  		case "aadServicePrincipalCredentialType":
134070  			if v != nil {
134071  				var aadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType
134072  				err = json.Unmarshal(*v, &aadServicePrincipalCredentialType)
134073  				if err != nil {
134074  					return err
134075  				}
134076  				odlstp.AadServicePrincipalCredentialType = aadServicePrincipalCredentialType
134077  			}
134078  		case "servicePrincipalKey":
134079  			if v != nil {
134080  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
134081  				if err != nil {
134082  					return err
134083  				}
134084  				odlstp.ServicePrincipalKey = servicePrincipalKey
134085  			}
134086  		case "servicePrincipalEmbeddedCert":
134087  			if v != nil {
134088  				servicePrincipalEmbeddedCert, err := unmarshalBasicSecretBase(*v)
134089  				if err != nil {
134090  					return err
134091  				}
134092  				odlstp.ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert
134093  			}
134094  		case "servicePrincipalEmbeddedCertPassword":
134095  			if v != nil {
134096  				servicePrincipalEmbeddedCertPassword, err := unmarshalBasicSecretBase(*v)
134097  				if err != nil {
134098  					return err
134099  				}
134100  				odlstp.ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword
134101  			}
134102  		case "encryptedCredential":
134103  			if v != nil {
134104  				var encryptedCredential interface{}
134105  				err = json.Unmarshal(*v, &encryptedCredential)
134106  				if err != nil {
134107  					return err
134108  				}
134109  				odlstp.EncryptedCredential = encryptedCredential
134110  			}
134111  		}
134112  	}
134113  
134114  	return nil
134115  }
134116  
134117  // ODataResourceDataset the Open Data Protocol (OData) resource dataset.
134118  type ODataResourceDataset struct {
134119  	// ODataResourceDatasetTypeProperties - OData dataset properties.
134120  	*ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
134121  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
134122  	AdditionalProperties map[string]interface{} `json:""`
134123  	// Description - Dataset description.
134124  	Description *string `json:"description,omitempty"`
134125  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
134126  	Structure interface{} `json:"structure,omitempty"`
134127  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
134128  	Schema interface{} `json:"schema,omitempty"`
134129  	// LinkedServiceName - Linked service reference.
134130  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
134131  	// Parameters - Parameters for dataset.
134132  	Parameters map[string]*ParameterSpecification `json:"parameters"`
134133  	// Annotations - List of tags that can be used for describing the Dataset.
134134  	Annotations *[]interface{} `json:"annotations,omitempty"`
134135  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
134136  	Folder *DatasetFolder `json:"folder,omitempty"`
134137  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
134138  	Type TypeBasicDataset `json:"type,omitempty"`
134139  }
134140  
134141  // MarshalJSON is the custom marshaler for ODataResourceDataset.
134142  func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) {
134143  	odrd.Type = TypeODataResource
134144  	objectMap := make(map[string]interface{})
134145  	if odrd.ODataResourceDatasetTypeProperties != nil {
134146  		objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties
134147  	}
134148  	if odrd.Description != nil {
134149  		objectMap["description"] = odrd.Description
134150  	}
134151  	if odrd.Structure != nil {
134152  		objectMap["structure"] = odrd.Structure
134153  	}
134154  	if odrd.Schema != nil {
134155  		objectMap["schema"] = odrd.Schema
134156  	}
134157  	if odrd.LinkedServiceName != nil {
134158  		objectMap["linkedServiceName"] = odrd.LinkedServiceName
134159  	}
134160  	if odrd.Parameters != nil {
134161  		objectMap["parameters"] = odrd.Parameters
134162  	}
134163  	if odrd.Annotations != nil {
134164  		objectMap["annotations"] = odrd.Annotations
134165  	}
134166  	if odrd.Folder != nil {
134167  		objectMap["folder"] = odrd.Folder
134168  	}
134169  	if odrd.Type != "" {
134170  		objectMap["type"] = odrd.Type
134171  	}
134172  	for k, v := range odrd.AdditionalProperties {
134173  		objectMap[k] = v
134174  	}
134175  	return json.Marshal(objectMap)
134176  }
134177  
134178  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134179  func (odrd ODataResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
134180  	return nil, false
134181  }
134182  
134183  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ODataResourceDataset.
134184  func (odrd ODataResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
134185  	return nil, false
134186  }
134187  
134188  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134189  func (odrd ODataResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
134190  	return nil, false
134191  }
134192  
134193  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134194  func (odrd ODataResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
134195  	return nil, false
134196  }
134197  
134198  // AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134199  func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
134200  	return nil, false
134201  }
134202  
134203  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134204  func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
134205  	return nil, false
134206  }
134207  
134208  // AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset.
134209  func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
134210  	return nil, false
134211  }
134212  
134213  // AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset.
134214  func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
134215  	return nil, false
134216  }
134217  
134218  // AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134219  func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
134220  	return nil, false
134221  }
134222  
134223  // AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134224  func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
134225  	return nil, false
134226  }
134227  
134228  // AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134229  func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
134230  	return nil, false
134231  }
134232  
134233  // AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134234  func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
134235  	return nil, false
134236  }
134237  
134238  // AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134239  func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
134240  	return nil, false
134241  }
134242  
134243  // AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134244  func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
134245  	return nil, false
134246  }
134247  
134248  // AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134249  func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
134250  	return nil, false
134251  }
134252  
134253  // AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134254  func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
134255  	return nil, false
134256  }
134257  
134258  // AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134259  func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
134260  	return nil, false
134261  }
134262  
134263  // AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134264  func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
134265  	return nil, false
134266  }
134267  
134268  // AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134269  func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
134270  	return nil, false
134271  }
134272  
134273  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset.
134274  func (odrd ODataResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
134275  	return nil, false
134276  }
134277  
134278  // AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset.
134279  func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
134280  	return nil, false
134281  }
134282  
134283  // AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134284  func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
134285  	return nil, false
134286  }
134287  
134288  // AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134289  func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
134290  	return nil, false
134291  }
134292  
134293  // AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134294  func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
134295  	return nil, false
134296  }
134297  
134298  // AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134299  func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
134300  	return nil, false
134301  }
134302  
134303  // AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134304  func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
134305  	return nil, false
134306  }
134307  
134308  // AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134309  func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
134310  	return nil, false
134311  }
134312  
134313  // AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset.
134314  func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
134315  	return nil, false
134316  }
134317  
134318  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134319  func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
134320  	return nil, false
134321  }
134322  
134323  // AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134324  func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
134325  	return nil, false
134326  }
134327  
134328  // AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset.
134329  func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
134330  	return nil, false
134331  }
134332  
134333  // AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset.
134334  func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
134335  	return nil, false
134336  }
134337  
134338  // AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134339  func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
134340  	return nil, false
134341  }
134342  
134343  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
134344  func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
134345  	return nil, false
134346  }
134347  
134348  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134349  func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
134350  	return nil, false
134351  }
134352  
134353  // AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset.
134354  func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
134355  	return nil, false
134356  }
134357  
134358  // AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset.
134359  func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
134360  	return nil, false
134361  }
134362  
134363  // AsSapTableResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134364  func (odrd ODataResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
134365  	return nil, false
134366  }
134367  
134368  // AsRestResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134369  func (odrd ODataResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
134370  	return nil, false
134371  }
134372  
134373  // AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset.
134374  func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
134375  	return nil, false
134376  }
134377  
134378  // AsSapOpenHubTableDataset is the BasicDataset implementation for ODataResourceDataset.
134379  func (odrd ODataResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
134380  	return nil, false
134381  }
134382  
134383  // AsSapHanaTableDataset is the BasicDataset implementation for ODataResourceDataset.
134384  func (odrd ODataResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
134385  	return nil, false
134386  }
134387  
134388  // AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134389  func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
134390  	return nil, false
134391  }
134392  
134393  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134394  func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
134395  	return nil, false
134396  }
134397  
134398  // AsSapBwCubeDataset is the BasicDataset implementation for ODataResourceDataset.
134399  func (odrd ODataResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
134400  	return nil, false
134401  }
134402  
134403  // AsSybaseTableDataset is the BasicDataset implementation for ODataResourceDataset.
134404  func (odrd ODataResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
134405  	return nil, false
134406  }
134407  
134408  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134409  func (odrd ODataResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
134410  	return nil, false
134411  }
134412  
134413  // AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset.
134414  func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
134415  	return nil, false
134416  }
134417  
134418  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ODataResourceDataset.
134419  func (odrd ODataResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
134420  	return nil, false
134421  }
134422  
134423  // AsPostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
134424  func (odrd ODataResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
134425  	return nil, false
134426  }
134427  
134428  // AsMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
134429  func (odrd ODataResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
134430  	return nil, false
134431  }
134432  
134433  // AsOdbcTableDataset is the BasicDataset implementation for ODataResourceDataset.
134434  func (odrd ODataResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
134435  	return nil, false
134436  }
134437  
134438  // AsInformixTableDataset is the BasicDataset implementation for ODataResourceDataset.
134439  func (odrd ODataResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
134440  	return nil, false
134441  }
134442  
134443  // AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset.
134444  func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
134445  	return nil, false
134446  }
134447  
134448  // AsDb2TableDataset is the BasicDataset implementation for ODataResourceDataset.
134449  func (odrd ODataResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
134450  	return nil, false
134451  }
134452  
134453  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ODataResourceDataset.
134454  func (odrd ODataResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
134455  	return nil, false
134456  }
134457  
134458  // AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
134459  func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
134460  	return nil, false
134461  }
134462  
134463  // AsTeradataTableDataset is the BasicDataset implementation for ODataResourceDataset.
134464  func (odrd ODataResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
134465  	return nil, false
134466  }
134467  
134468  // AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset.
134469  func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
134470  	return nil, false
134471  }
134472  
134473  // AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset.
134474  func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
134475  	return &odrd, true
134476  }
134477  
134478  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset.
134479  func (odrd ODataResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
134480  	return nil, false
134481  }
134482  
134483  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ODataResourceDataset.
134484  func (odrd ODataResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
134485  	return nil, false
134486  }
134487  
134488  // AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
134489  func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
134490  	return nil, false
134491  }
134492  
134493  // AsOffice365Dataset is the BasicDataset implementation for ODataResourceDataset.
134494  func (odrd ODataResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
134495  	return nil, false
134496  }
134497  
134498  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
134499  func (odrd ODataResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
134500  	return nil, false
134501  }
134502  
134503  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ODataResourceDataset.
134504  func (odrd ODataResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
134505  	return nil, false
134506  }
134507  
134508  // AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset.
134509  func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
134510  	return nil, false
134511  }
134512  
134513  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset.
134514  func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
134515  	return nil, false
134516  }
134517  
134518  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset.
134519  func (odrd ODataResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
134520  	return nil, false
134521  }
134522  
134523  // AsCustomDataset is the BasicDataset implementation for ODataResourceDataset.
134524  func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
134525  	return nil, false
134526  }
134527  
134528  // AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset.
134529  func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
134530  	return nil, false
134531  }
134532  
134533  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset.
134534  func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
134535  	return nil, false
134536  }
134537  
134538  // AsAzureSQLMITableDataset is the BasicDataset implementation for ODataResourceDataset.
134539  func (odrd ODataResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
134540  	return nil, false
134541  }
134542  
134543  // AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset.
134544  func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
134545  	return nil, false
134546  }
134547  
134548  // AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset.
134549  func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
134550  	return nil, false
134551  }
134552  
134553  // AsBinaryDataset is the BasicDataset implementation for ODataResourceDataset.
134554  func (odrd ODataResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
134555  	return nil, false
134556  }
134557  
134558  // AsOrcDataset is the BasicDataset implementation for ODataResourceDataset.
134559  func (odrd ODataResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
134560  	return nil, false
134561  }
134562  
134563  // AsJSONDataset is the BasicDataset implementation for ODataResourceDataset.
134564  func (odrd ODataResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
134565  	return nil, false
134566  }
134567  
134568  // AsDelimitedTextDataset is the BasicDataset implementation for ODataResourceDataset.
134569  func (odrd ODataResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
134570  	return nil, false
134571  }
134572  
134573  // AsParquetDataset is the BasicDataset implementation for ODataResourceDataset.
134574  func (odrd ODataResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
134575  	return nil, false
134576  }
134577  
134578  // AsAvroDataset is the BasicDataset implementation for ODataResourceDataset.
134579  func (odrd ODataResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
134580  	return nil, false
134581  }
134582  
134583  // AsDataset is the BasicDataset implementation for ODataResourceDataset.
134584  func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) {
134585  	return nil, false
134586  }
134587  
134588  // AsBasicDataset is the BasicDataset implementation for ODataResourceDataset.
134589  func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) {
134590  	return &odrd, true
134591  }
134592  
134593  // UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct.
134594  func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error {
134595  	var m map[string]*json.RawMessage
134596  	err := json.Unmarshal(body, &m)
134597  	if err != nil {
134598  		return err
134599  	}
134600  	for k, v := range m {
134601  		switch k {
134602  		case "typeProperties":
134603  			if v != nil {
134604  				var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties
134605  				err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties)
134606  				if err != nil {
134607  					return err
134608  				}
134609  				odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties
134610  			}
134611  		default:
134612  			if v != nil {
134613  				var additionalProperties interface{}
134614  				err = json.Unmarshal(*v, &additionalProperties)
134615  				if err != nil {
134616  					return err
134617  				}
134618  				if odrd.AdditionalProperties == nil {
134619  					odrd.AdditionalProperties = make(map[string]interface{})
134620  				}
134621  				odrd.AdditionalProperties[k] = additionalProperties
134622  			}
134623  		case "description":
134624  			if v != nil {
134625  				var description string
134626  				err = json.Unmarshal(*v, &description)
134627  				if err != nil {
134628  					return err
134629  				}
134630  				odrd.Description = &description
134631  			}
134632  		case "structure":
134633  			if v != nil {
134634  				var structure interface{}
134635  				err = json.Unmarshal(*v, &structure)
134636  				if err != nil {
134637  					return err
134638  				}
134639  				odrd.Structure = structure
134640  			}
134641  		case "schema":
134642  			if v != nil {
134643  				var schema interface{}
134644  				err = json.Unmarshal(*v, &schema)
134645  				if err != nil {
134646  					return err
134647  				}
134648  				odrd.Schema = schema
134649  			}
134650  		case "linkedServiceName":
134651  			if v != nil {
134652  				var linkedServiceName LinkedServiceReference
134653  				err = json.Unmarshal(*v, &linkedServiceName)
134654  				if err != nil {
134655  					return err
134656  				}
134657  				odrd.LinkedServiceName = &linkedServiceName
134658  			}
134659  		case "parameters":
134660  			if v != nil {
134661  				var parameters map[string]*ParameterSpecification
134662  				err = json.Unmarshal(*v, &parameters)
134663  				if err != nil {
134664  					return err
134665  				}
134666  				odrd.Parameters = parameters
134667  			}
134668  		case "annotations":
134669  			if v != nil {
134670  				var annotations []interface{}
134671  				err = json.Unmarshal(*v, &annotations)
134672  				if err != nil {
134673  					return err
134674  				}
134675  				odrd.Annotations = &annotations
134676  			}
134677  		case "folder":
134678  			if v != nil {
134679  				var folder DatasetFolder
134680  				err = json.Unmarshal(*v, &folder)
134681  				if err != nil {
134682  					return err
134683  				}
134684  				odrd.Folder = &folder
134685  			}
134686  		case "type":
134687  			if v != nil {
134688  				var typeVar TypeBasicDataset
134689  				err = json.Unmarshal(*v, &typeVar)
134690  				if err != nil {
134691  					return err
134692  				}
134693  				odrd.Type = typeVar
134694  			}
134695  		}
134696  	}
134697  
134698  	return nil
134699  }
134700  
134701  // ODataResourceDatasetTypeProperties oData dataset properties.
134702  type ODataResourceDatasetTypeProperties struct {
134703  	// Path - The OData resource path. Type: string (or Expression with resultType string).
134704  	Path interface{} `json:"path,omitempty"`
134705  }
134706  
134707  // ODataSource a copy activity source for OData source.
134708  type ODataSource struct {
134709  	// Query - OData query. For example, "$top=1". Type: string (or Expression with resultType string).
134710  	Query interface{} `json:"query,omitempty"`
134711  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
134712  	AdditionalProperties map[string]interface{} `json:""`
134713  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
134714  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
134715  	// 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])).
134716  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
134717  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
134718  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
134719  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
134720  	Type TypeBasicCopySource `json:"type,omitempty"`
134721  }
134722  
134723  // MarshalJSON is the custom marshaler for ODataSource.
134724  func (ods ODataSource) MarshalJSON() ([]byte, error) {
134725  	ods.Type = TypeODataSource
134726  	objectMap := make(map[string]interface{})
134727  	if ods.Query != nil {
134728  		objectMap["query"] = ods.Query
134729  	}
134730  	if ods.SourceRetryCount != nil {
134731  		objectMap["sourceRetryCount"] = ods.SourceRetryCount
134732  	}
134733  	if ods.SourceRetryWait != nil {
134734  		objectMap["sourceRetryWait"] = ods.SourceRetryWait
134735  	}
134736  	if ods.MaxConcurrentConnections != nil {
134737  		objectMap["maxConcurrentConnections"] = ods.MaxConcurrentConnections
134738  	}
134739  	if ods.Type != "" {
134740  		objectMap["type"] = ods.Type
134741  	}
134742  	for k, v := range ods.AdditionalProperties {
134743  		objectMap[k] = v
134744  	}
134745  	return json.Marshal(objectMap)
134746  }
134747  
134748  // AsHTTPSource is the BasicCopySource implementation for ODataSource.
134749  func (ods ODataSource) AsHTTPSource() (*HTTPSource, bool) {
134750  	return nil, false
134751  }
134752  
134753  // AsAzureBlobFSSource is the BasicCopySource implementation for ODataSource.
134754  func (ods ODataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
134755  	return nil, false
134756  }
134757  
134758  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ODataSource.
134759  func (ods ODataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
134760  	return nil, false
134761  }
134762  
134763  // AsOffice365Source is the BasicCopySource implementation for ODataSource.
134764  func (ods ODataSource) AsOffice365Source() (*Office365Source, bool) {
134765  	return nil, false
134766  }
134767  
134768  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ODataSource.
134769  func (ods ODataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
134770  	return nil, false
134771  }
134772  
134773  // AsMongoDbV2Source is the BasicCopySource implementation for ODataSource.
134774  func (ods ODataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
134775  	return nil, false
134776  }
134777  
134778  // AsMongoDbSource is the BasicCopySource implementation for ODataSource.
134779  func (ods ODataSource) AsMongoDbSource() (*MongoDbSource, bool) {
134780  	return nil, false
134781  }
134782  
134783  // AsWebSource is the BasicCopySource implementation for ODataSource.
134784  func (ods ODataSource) AsWebSource() (*WebSource, bool) {
134785  	return nil, false
134786  }
134787  
134788  // AsOracleSource is the BasicCopySource implementation for ODataSource.
134789  func (ods ODataSource) AsOracleSource() (*OracleSource, bool) {
134790  	return nil, false
134791  }
134792  
134793  // AsAzureDataExplorerSource is the BasicCopySource implementation for ODataSource.
134794  func (ods ODataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
134795  	return nil, false
134796  }
134797  
134798  // AsHdfsSource is the BasicCopySource implementation for ODataSource.
134799  func (ods ODataSource) AsHdfsSource() (*HdfsSource, bool) {
134800  	return nil, false
134801  }
134802  
134803  // AsFileSystemSource is the BasicCopySource implementation for ODataSource.
134804  func (ods ODataSource) AsFileSystemSource() (*FileSystemSource, bool) {
134805  	return nil, false
134806  }
134807  
134808  // AsRestSource is the BasicCopySource implementation for ODataSource.
134809  func (ods ODataSource) AsRestSource() (*RestSource, bool) {
134810  	return nil, false
134811  }
134812  
134813  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ODataSource.
134814  func (ods ODataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
134815  	return nil, false
134816  }
134817  
134818  // AsODataSource is the BasicCopySource implementation for ODataSource.
134819  func (ods ODataSource) AsODataSource() (*ODataSource, bool) {
134820  	return &ods, true
134821  }
134822  
134823  // AsMicrosoftAccessSource is the BasicCopySource implementation for ODataSource.
134824  func (ods ODataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
134825  	return nil, false
134826  }
134827  
134828  // AsRelationalSource is the BasicCopySource implementation for ODataSource.
134829  func (ods ODataSource) AsRelationalSource() (*RelationalSource, bool) {
134830  	return nil, false
134831  }
134832  
134833  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ODataSource.
134834  func (ods ODataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
134835  	return nil, false
134836  }
134837  
134838  // AsDynamicsCrmSource is the BasicCopySource implementation for ODataSource.
134839  func (ods ODataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
134840  	return nil, false
134841  }
134842  
134843  // AsDynamicsSource is the BasicCopySource implementation for ODataSource.
134844  func (ods ODataSource) AsDynamicsSource() (*DynamicsSource, bool) {
134845  	return nil, false
134846  }
134847  
134848  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ODataSource.
134849  func (ods ODataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
134850  	return nil, false
134851  }
134852  
134853  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ODataSource.
134854  func (ods ODataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
134855  	return nil, false
134856  }
134857  
134858  // AsBlobSource is the BasicCopySource implementation for ODataSource.
134859  func (ods ODataSource) AsBlobSource() (*BlobSource, bool) {
134860  	return nil, false
134861  }
134862  
134863  // AsAmazonRedshiftSource is the BasicCopySource implementation for ODataSource.
134864  func (ods ODataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
134865  	return nil, false
134866  }
134867  
134868  // AsGoogleAdWordsSource is the BasicCopySource implementation for ODataSource.
134869  func (ods ODataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
134870  	return nil, false
134871  }
134872  
134873  // AsOracleServiceCloudSource is the BasicCopySource implementation for ODataSource.
134874  func (ods ODataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
134875  	return nil, false
134876  }
134877  
134878  // AsDynamicsAXSource is the BasicCopySource implementation for ODataSource.
134879  func (ods ODataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
134880  	return nil, false
134881  }
134882  
134883  // AsResponsysSource is the BasicCopySource implementation for ODataSource.
134884  func (ods ODataSource) AsResponsysSource() (*ResponsysSource, bool) {
134885  	return nil, false
134886  }
134887  
134888  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ODataSource.
134889  func (ods ODataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
134890  	return nil, false
134891  }
134892  
134893  // AsVerticaSource is the BasicCopySource implementation for ODataSource.
134894  func (ods ODataSource) AsVerticaSource() (*VerticaSource, bool) {
134895  	return nil, false
134896  }
134897  
134898  // AsNetezzaSource is the BasicCopySource implementation for ODataSource.
134899  func (ods ODataSource) AsNetezzaSource() (*NetezzaSource, bool) {
134900  	return nil, false
134901  }
134902  
134903  // AsZohoSource is the BasicCopySource implementation for ODataSource.
134904  func (ods ODataSource) AsZohoSource() (*ZohoSource, bool) {
134905  	return nil, false
134906  }
134907  
134908  // AsXeroSource is the BasicCopySource implementation for ODataSource.
134909  func (ods ODataSource) AsXeroSource() (*XeroSource, bool) {
134910  	return nil, false
134911  }
134912  
134913  // AsSquareSource is the BasicCopySource implementation for ODataSource.
134914  func (ods ODataSource) AsSquareSource() (*SquareSource, bool) {
134915  	return nil, false
134916  }
134917  
134918  // AsSparkSource is the BasicCopySource implementation for ODataSource.
134919  func (ods ODataSource) AsSparkSource() (*SparkSource, bool) {
134920  	return nil, false
134921  }
134922  
134923  // AsShopifySource is the BasicCopySource implementation for ODataSource.
134924  func (ods ODataSource) AsShopifySource() (*ShopifySource, bool) {
134925  	return nil, false
134926  }
134927  
134928  // AsServiceNowSource is the BasicCopySource implementation for ODataSource.
134929  func (ods ODataSource) AsServiceNowSource() (*ServiceNowSource, bool) {
134930  	return nil, false
134931  }
134932  
134933  // AsQuickBooksSource is the BasicCopySource implementation for ODataSource.
134934  func (ods ODataSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
134935  	return nil, false
134936  }
134937  
134938  // AsPrestoSource is the BasicCopySource implementation for ODataSource.
134939  func (ods ODataSource) AsPrestoSource() (*PrestoSource, bool) {
134940  	return nil, false
134941  }
134942  
134943  // AsPhoenixSource is the BasicCopySource implementation for ODataSource.
134944  func (ods ODataSource) AsPhoenixSource() (*PhoenixSource, bool) {
134945  	return nil, false
134946  }
134947  
134948  // AsPaypalSource is the BasicCopySource implementation for ODataSource.
134949  func (ods ODataSource) AsPaypalSource() (*PaypalSource, bool) {
134950  	return nil, false
134951  }
134952  
134953  // AsMarketoSource is the BasicCopySource implementation for ODataSource.
134954  func (ods ODataSource) AsMarketoSource() (*MarketoSource, bool) {
134955  	return nil, false
134956  }
134957  
134958  // AsAzureMariaDBSource is the BasicCopySource implementation for ODataSource.
134959  func (ods ODataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
134960  	return nil, false
134961  }
134962  
134963  // AsMariaDBSource is the BasicCopySource implementation for ODataSource.
134964  func (ods ODataSource) AsMariaDBSource() (*MariaDBSource, bool) {
134965  	return nil, false
134966  }
134967  
134968  // AsMagentoSource is the BasicCopySource implementation for ODataSource.
134969  func (ods ODataSource) AsMagentoSource() (*MagentoSource, bool) {
134970  	return nil, false
134971  }
134972  
134973  // AsJiraSource is the BasicCopySource implementation for ODataSource.
134974  func (ods ODataSource) AsJiraSource() (*JiraSource, bool) {
134975  	return nil, false
134976  }
134977  
134978  // AsImpalaSource is the BasicCopySource implementation for ODataSource.
134979  func (ods ODataSource) AsImpalaSource() (*ImpalaSource, bool) {
134980  	return nil, false
134981  }
134982  
134983  // AsHubspotSource is the BasicCopySource implementation for ODataSource.
134984  func (ods ODataSource) AsHubspotSource() (*HubspotSource, bool) {
134985  	return nil, false
134986  }
134987  
134988  // AsHiveSource is the BasicCopySource implementation for ODataSource.
134989  func (ods ODataSource) AsHiveSource() (*HiveSource, bool) {
134990  	return nil, false
134991  }
134992  
134993  // AsHBaseSource is the BasicCopySource implementation for ODataSource.
134994  func (ods ODataSource) AsHBaseSource() (*HBaseSource, bool) {
134995  	return nil, false
134996  }
134997  
134998  // AsGreenplumSource is the BasicCopySource implementation for ODataSource.
134999  func (ods ODataSource) AsGreenplumSource() (*GreenplumSource, bool) {
135000  	return nil, false
135001  }
135002  
135003  // AsGoogleBigQuerySource is the BasicCopySource implementation for ODataSource.
135004  func (ods ODataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
135005  	return nil, false
135006  }
135007  
135008  // AsEloquaSource is the BasicCopySource implementation for ODataSource.
135009  func (ods ODataSource) AsEloquaSource() (*EloquaSource, bool) {
135010  	return nil, false
135011  }
135012  
135013  // AsDrillSource is the BasicCopySource implementation for ODataSource.
135014  func (ods ODataSource) AsDrillSource() (*DrillSource, bool) {
135015  	return nil, false
135016  }
135017  
135018  // AsCouchbaseSource is the BasicCopySource implementation for ODataSource.
135019  func (ods ODataSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
135020  	return nil, false
135021  }
135022  
135023  // AsConcurSource is the BasicCopySource implementation for ODataSource.
135024  func (ods ODataSource) AsConcurSource() (*ConcurSource, bool) {
135025  	return nil, false
135026  }
135027  
135028  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ODataSource.
135029  func (ods ODataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
135030  	return nil, false
135031  }
135032  
135033  // AsAmazonMWSSource is the BasicCopySource implementation for ODataSource.
135034  func (ods ODataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
135035  	return nil, false
135036  }
135037  
135038  // AsCassandraSource is the BasicCopySource implementation for ODataSource.
135039  func (ods ODataSource) AsCassandraSource() (*CassandraSource, bool) {
135040  	return nil, false
135041  }
135042  
135043  // AsTeradataSource is the BasicCopySource implementation for ODataSource.
135044  func (ods ODataSource) AsTeradataSource() (*TeradataSource, bool) {
135045  	return nil, false
135046  }
135047  
135048  // AsAzureMySQLSource is the BasicCopySource implementation for ODataSource.
135049  func (ods ODataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
135050  	return nil, false
135051  }
135052  
135053  // AsSQLDWSource is the BasicCopySource implementation for ODataSource.
135054  func (ods ODataSource) AsSQLDWSource() (*SQLDWSource, bool) {
135055  	return nil, false
135056  }
135057  
135058  // AsSQLMISource is the BasicCopySource implementation for ODataSource.
135059  func (ods ODataSource) AsSQLMISource() (*SQLMISource, bool) {
135060  	return nil, false
135061  }
135062  
135063  // AsAzureSQLSource is the BasicCopySource implementation for ODataSource.
135064  func (ods ODataSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
135065  	return nil, false
135066  }
135067  
135068  // AsSQLServerSource is the BasicCopySource implementation for ODataSource.
135069  func (ods ODataSource) AsSQLServerSource() (*SQLServerSource, bool) {
135070  	return nil, false
135071  }
135072  
135073  // AsSQLSource is the BasicCopySource implementation for ODataSource.
135074  func (ods ODataSource) AsSQLSource() (*SQLSource, bool) {
135075  	return nil, false
135076  }
135077  
135078  // AsSapTableSource is the BasicCopySource implementation for ODataSource.
135079  func (ods ODataSource) AsSapTableSource() (*SapTableSource, bool) {
135080  	return nil, false
135081  }
135082  
135083  // AsSapOpenHubSource is the BasicCopySource implementation for ODataSource.
135084  func (ods ODataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
135085  	return nil, false
135086  }
135087  
135088  // AsSapHanaSource is the BasicCopySource implementation for ODataSource.
135089  func (ods ODataSource) AsSapHanaSource() (*SapHanaSource, bool) {
135090  	return nil, false
135091  }
135092  
135093  // AsSapEccSource is the BasicCopySource implementation for ODataSource.
135094  func (ods ODataSource) AsSapEccSource() (*SapEccSource, bool) {
135095  	return nil, false
135096  }
135097  
135098  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ODataSource.
135099  func (ods ODataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
135100  	return nil, false
135101  }
135102  
135103  // AsSalesforceSource is the BasicCopySource implementation for ODataSource.
135104  func (ods ODataSource) AsSalesforceSource() (*SalesforceSource, bool) {
135105  	return nil, false
135106  }
135107  
135108  // AsSapBwSource is the BasicCopySource implementation for ODataSource.
135109  func (ods ODataSource) AsSapBwSource() (*SapBwSource, bool) {
135110  	return nil, false
135111  }
135112  
135113  // AsSybaseSource is the BasicCopySource implementation for ODataSource.
135114  func (ods ODataSource) AsSybaseSource() (*SybaseSource, bool) {
135115  	return nil, false
135116  }
135117  
135118  // AsPostgreSQLSource is the BasicCopySource implementation for ODataSource.
135119  func (ods ODataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
135120  	return nil, false
135121  }
135122  
135123  // AsMySQLSource is the BasicCopySource implementation for ODataSource.
135124  func (ods ODataSource) AsMySQLSource() (*MySQLSource, bool) {
135125  	return nil, false
135126  }
135127  
135128  // AsOdbcSource is the BasicCopySource implementation for ODataSource.
135129  func (ods ODataSource) AsOdbcSource() (*OdbcSource, bool) {
135130  	return nil, false
135131  }
135132  
135133  // AsDb2Source is the BasicCopySource implementation for ODataSource.
135134  func (ods ODataSource) AsDb2Source() (*Db2Source, bool) {
135135  	return nil, false
135136  }
135137  
135138  // AsInformixSource is the BasicCopySource implementation for ODataSource.
135139  func (ods ODataSource) AsInformixSource() (*InformixSource, bool) {
135140  	return nil, false
135141  }
135142  
135143  // AsAzureTableSource is the BasicCopySource implementation for ODataSource.
135144  func (ods ODataSource) AsAzureTableSource() (*AzureTableSource, bool) {
135145  	return nil, false
135146  }
135147  
135148  // AsTabularSource is the BasicCopySource implementation for ODataSource.
135149  func (ods ODataSource) AsTabularSource() (*TabularSource, bool) {
135150  	return nil, false
135151  }
135152  
135153  // AsBasicTabularSource is the BasicCopySource implementation for ODataSource.
135154  func (ods ODataSource) AsBasicTabularSource() (BasicTabularSource, bool) {
135155  	return nil, false
135156  }
135157  
135158  // AsBinarySource is the BasicCopySource implementation for ODataSource.
135159  func (ods ODataSource) AsBinarySource() (*BinarySource, bool) {
135160  	return nil, false
135161  }
135162  
135163  // AsOrcSource is the BasicCopySource implementation for ODataSource.
135164  func (ods ODataSource) AsOrcSource() (*OrcSource, bool) {
135165  	return nil, false
135166  }
135167  
135168  // AsJSONSource is the BasicCopySource implementation for ODataSource.
135169  func (ods ODataSource) AsJSONSource() (*JSONSource, bool) {
135170  	return nil, false
135171  }
135172  
135173  // AsDelimitedTextSource is the BasicCopySource implementation for ODataSource.
135174  func (ods ODataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
135175  	return nil, false
135176  }
135177  
135178  // AsParquetSource is the BasicCopySource implementation for ODataSource.
135179  func (ods ODataSource) AsParquetSource() (*ParquetSource, bool) {
135180  	return nil, false
135181  }
135182  
135183  // AsAvroSource is the BasicCopySource implementation for ODataSource.
135184  func (ods ODataSource) AsAvroSource() (*AvroSource, bool) {
135185  	return nil, false
135186  }
135187  
135188  // AsCopySource is the BasicCopySource implementation for ODataSource.
135189  func (ods ODataSource) AsCopySource() (*CopySource, bool) {
135190  	return nil, false
135191  }
135192  
135193  // AsBasicCopySource is the BasicCopySource implementation for ODataSource.
135194  func (ods ODataSource) AsBasicCopySource() (BasicCopySource, bool) {
135195  	return &ods, true
135196  }
135197  
135198  // UnmarshalJSON is the custom unmarshaler for ODataSource struct.
135199  func (ods *ODataSource) UnmarshalJSON(body []byte) error {
135200  	var m map[string]*json.RawMessage
135201  	err := json.Unmarshal(body, &m)
135202  	if err != nil {
135203  		return err
135204  	}
135205  	for k, v := range m {
135206  		switch k {
135207  		case "query":
135208  			if v != nil {
135209  				var query interface{}
135210  				err = json.Unmarshal(*v, &query)
135211  				if err != nil {
135212  					return err
135213  				}
135214  				ods.Query = query
135215  			}
135216  		default:
135217  			if v != nil {
135218  				var additionalProperties interface{}
135219  				err = json.Unmarshal(*v, &additionalProperties)
135220  				if err != nil {
135221  					return err
135222  				}
135223  				if ods.AdditionalProperties == nil {
135224  					ods.AdditionalProperties = make(map[string]interface{})
135225  				}
135226  				ods.AdditionalProperties[k] = additionalProperties
135227  			}
135228  		case "sourceRetryCount":
135229  			if v != nil {
135230  				var sourceRetryCount interface{}
135231  				err = json.Unmarshal(*v, &sourceRetryCount)
135232  				if err != nil {
135233  					return err
135234  				}
135235  				ods.SourceRetryCount = sourceRetryCount
135236  			}
135237  		case "sourceRetryWait":
135238  			if v != nil {
135239  				var sourceRetryWait interface{}
135240  				err = json.Unmarshal(*v, &sourceRetryWait)
135241  				if err != nil {
135242  					return err
135243  				}
135244  				ods.SourceRetryWait = sourceRetryWait
135245  			}
135246  		case "maxConcurrentConnections":
135247  			if v != nil {
135248  				var maxConcurrentConnections interface{}
135249  				err = json.Unmarshal(*v, &maxConcurrentConnections)
135250  				if err != nil {
135251  					return err
135252  				}
135253  				ods.MaxConcurrentConnections = maxConcurrentConnections
135254  			}
135255  		case "type":
135256  			if v != nil {
135257  				var typeVar TypeBasicCopySource
135258  				err = json.Unmarshal(*v, &typeVar)
135259  				if err != nil {
135260  					return err
135261  				}
135262  				ods.Type = typeVar
135263  			}
135264  		}
135265  	}
135266  
135267  	return nil
135268  }
135269  
135270  // OdbcLinkedService open Database Connectivity (ODBC) linked service.
135271  type OdbcLinkedService struct {
135272  	// OdbcLinkedServiceTypeProperties - ODBC linked service properties.
135273  	*OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
135274  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
135275  	AdditionalProperties map[string]interface{} `json:""`
135276  	// ConnectVia - The integration runtime reference.
135277  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
135278  	// Description - Linked service description.
135279  	Description *string `json:"description,omitempty"`
135280  	// Parameters - Parameters for linked service.
135281  	Parameters map[string]*ParameterSpecification `json:"parameters"`
135282  	// Annotations - List of tags that can be used for describing the linked service.
135283  	Annotations *[]interface{} `json:"annotations,omitempty"`
135284  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
135285  	Type TypeBasicLinkedService `json:"type,omitempty"`
135286  }
135287  
135288  // MarshalJSON is the custom marshaler for OdbcLinkedService.
135289  func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) {
135290  	ols.Type = TypeOdbc
135291  	objectMap := make(map[string]interface{})
135292  	if ols.OdbcLinkedServiceTypeProperties != nil {
135293  		objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties
135294  	}
135295  	if ols.ConnectVia != nil {
135296  		objectMap["connectVia"] = ols.ConnectVia
135297  	}
135298  	if ols.Description != nil {
135299  		objectMap["description"] = ols.Description
135300  	}
135301  	if ols.Parameters != nil {
135302  		objectMap["parameters"] = ols.Parameters
135303  	}
135304  	if ols.Annotations != nil {
135305  		objectMap["annotations"] = ols.Annotations
135306  	}
135307  	if ols.Type != "" {
135308  		objectMap["type"] = ols.Type
135309  	}
135310  	for k, v := range ols.AdditionalProperties {
135311  		objectMap[k] = v
135312  	}
135313  	return json.Marshal(objectMap)
135314  }
135315  
135316  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135317  func (ols OdbcLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
135318  	return nil, false
135319  }
135320  
135321  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135322  func (ols OdbcLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
135323  	return nil, false
135324  }
135325  
135326  // AsSapTableLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135327  func (ols OdbcLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
135328  	return nil, false
135329  }
135330  
135331  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135332  func (ols OdbcLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
135333  	return nil, false
135334  }
135335  
135336  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135337  func (ols OdbcLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
135338  	return nil, false
135339  }
135340  
135341  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135342  func (ols OdbcLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
135343  	return nil, false
135344  }
135345  
135346  // AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135347  func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
135348  	return nil, false
135349  }
135350  
135351  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135352  func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
135353  	return nil, false
135354  }
135355  
135356  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135357  func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
135358  	return nil, false
135359  }
135360  
135361  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135362  func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
135363  	return nil, false
135364  }
135365  
135366  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135367  func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
135368  	return nil, false
135369  }
135370  
135371  // AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135372  func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
135373  	return nil, false
135374  }
135375  
135376  // AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135377  func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
135378  	return nil, false
135379  }
135380  
135381  // AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135382  func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
135383  	return nil, false
135384  }
135385  
135386  // AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135387  func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
135388  	return nil, false
135389  }
135390  
135391  // AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135392  func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
135393  	return nil, false
135394  }
135395  
135396  // AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135397  func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
135398  	return nil, false
135399  }
135400  
135401  // AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135402  func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
135403  	return nil, false
135404  }
135405  
135406  // AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135407  func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
135408  	return nil, false
135409  }
135410  
135411  // AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135412  func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
135413  	return nil, false
135414  }
135415  
135416  // AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135417  func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
135418  	return nil, false
135419  }
135420  
135421  // AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135422  func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
135423  	return nil, false
135424  }
135425  
135426  // AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135427  func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
135428  	return nil, false
135429  }
135430  
135431  // AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135432  func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
135433  	return nil, false
135434  }
135435  
135436  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135437  func (ols OdbcLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
135438  	return nil, false
135439  }
135440  
135441  // AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135442  func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
135443  	return nil, false
135444  }
135445  
135446  // AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135447  func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
135448  	return nil, false
135449  }
135450  
135451  // AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135452  func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
135453  	return nil, false
135454  }
135455  
135456  // AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135457  func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
135458  	return nil, false
135459  }
135460  
135461  // AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135462  func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
135463  	return nil, false
135464  }
135465  
135466  // AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135467  func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
135468  	return nil, false
135469  }
135470  
135471  // AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135472  func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
135473  	return nil, false
135474  }
135475  
135476  // AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135477  func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
135478  	return nil, false
135479  }
135480  
135481  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135482  func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
135483  	return nil, false
135484  }
135485  
135486  // AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135487  func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
135488  	return nil, false
135489  }
135490  
135491  // AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135492  func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
135493  	return nil, false
135494  }
135495  
135496  // AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135497  func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
135498  	return nil, false
135499  }
135500  
135501  // AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135502  func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
135503  	return nil, false
135504  }
135505  
135506  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135507  func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
135508  	return nil, false
135509  }
135510  
135511  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135512  func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
135513  	return nil, false
135514  }
135515  
135516  // AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135517  func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
135518  	return nil, false
135519  }
135520  
135521  // AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135522  func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
135523  	return nil, false
135524  }
135525  
135526  // AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135527  func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
135528  	return nil, false
135529  }
135530  
135531  // AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135532  func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
135533  	return nil, false
135534  }
135535  
135536  // AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135537  func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
135538  	return nil, false
135539  }
135540  
135541  // AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135542  func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
135543  	return nil, false
135544  }
135545  
135546  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135547  func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
135548  	return nil, false
135549  }
135550  
135551  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135552  func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
135553  	return nil, false
135554  }
135555  
135556  // AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135557  func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
135558  	return nil, false
135559  }
135560  
135561  // AsRestServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135562  func (ols OdbcLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
135563  	return nil, false
135564  }
135565  
135566  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135567  func (ols OdbcLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
135568  	return nil, false
135569  }
135570  
135571  // AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135572  func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
135573  	return nil, false
135574  }
135575  
135576  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135577  func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
135578  	return nil, false
135579  }
135580  
135581  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135582  func (ols OdbcLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
135583  	return nil, false
135584  }
135585  
135586  // AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135587  func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
135588  	return nil, false
135589  }
135590  
135591  // AsOffice365LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135592  func (ols OdbcLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
135593  	return nil, false
135594  }
135595  
135596  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135597  func (ols OdbcLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
135598  	return nil, false
135599  }
135600  
135601  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135602  func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
135603  	return nil, false
135604  }
135605  
135606  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135607  func (ols OdbcLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
135608  	return nil, false
135609  }
135610  
135611  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135612  func (ols OdbcLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
135613  	return nil, false
135614  }
135615  
135616  // AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135617  func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
135618  	return nil, false
135619  }
135620  
135621  // AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135622  func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
135623  	return nil, false
135624  }
135625  
135626  // AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135627  func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
135628  	return nil, false
135629  }
135630  
135631  // AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135632  func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
135633  	return nil, false
135634  }
135635  
135636  // AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135637  func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
135638  	return nil, false
135639  }
135640  
135641  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135642  func (ols OdbcLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
135643  	return nil, false
135644  }
135645  
135646  // AsInformixLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135647  func (ols OdbcLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
135648  	return nil, false
135649  }
135650  
135651  // AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135652  func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
135653  	return &ols, true
135654  }
135655  
135656  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135657  func (ols OdbcLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
135658  	return nil, false
135659  }
135660  
135661  // AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135662  func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
135663  	return nil, false
135664  }
135665  
135666  // AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135667  func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
135668  	return nil, false
135669  }
135670  
135671  // AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135672  func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
135673  	return nil, false
135674  }
135675  
135676  // AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135677  func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
135678  	return nil, false
135679  }
135680  
135681  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135682  func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
135683  	return nil, false
135684  }
135685  
135686  // AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135687  func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
135688  	return nil, false
135689  }
135690  
135691  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135692  func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
135693  	return nil, false
135694  }
135695  
135696  // AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135697  func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
135698  	return nil, false
135699  }
135700  
135701  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135702  func (ols OdbcLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
135703  	return nil, false
135704  }
135705  
135706  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135707  func (ols OdbcLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
135708  	return nil, false
135709  }
135710  
135711  // AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135712  func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
135713  	return nil, false
135714  }
135715  
135716  // AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135717  func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
135718  	return nil, false
135719  }
135720  
135721  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135722  func (ols OdbcLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
135723  	return nil, false
135724  }
135725  
135726  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135727  func (ols OdbcLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
135728  	return nil, false
135729  }
135730  
135731  // AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135732  func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
135733  	return nil, false
135734  }
135735  
135736  // AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135737  func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
135738  	return nil, false
135739  }
135740  
135741  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135742  func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
135743  	return nil, false
135744  }
135745  
135746  // AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135747  func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
135748  	return nil, false
135749  }
135750  
135751  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135752  func (ols OdbcLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
135753  	return nil, false
135754  }
135755  
135756  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135757  func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
135758  	return nil, false
135759  }
135760  
135761  // AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135762  func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
135763  	return nil, false
135764  }
135765  
135766  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135767  func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
135768  	return nil, false
135769  }
135770  
135771  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135772  func (ols OdbcLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
135773  	return nil, false
135774  }
135775  
135776  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135777  func (ols OdbcLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
135778  	return nil, false
135779  }
135780  
135781  // AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135782  func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
135783  	return nil, false
135784  }
135785  
135786  // AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135787  func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) {
135788  	return nil, false
135789  }
135790  
135791  // AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService.
135792  func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
135793  	return &ols, true
135794  }
135795  
135796  // UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct.
135797  func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error {
135798  	var m map[string]*json.RawMessage
135799  	err := json.Unmarshal(body, &m)
135800  	if err != nil {
135801  		return err
135802  	}
135803  	for k, v := range m {
135804  		switch k {
135805  		case "typeProperties":
135806  			if v != nil {
135807  				var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties
135808  				err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties)
135809  				if err != nil {
135810  					return err
135811  				}
135812  				ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties
135813  			}
135814  		default:
135815  			if v != nil {
135816  				var additionalProperties interface{}
135817  				err = json.Unmarshal(*v, &additionalProperties)
135818  				if err != nil {
135819  					return err
135820  				}
135821  				if ols.AdditionalProperties == nil {
135822  					ols.AdditionalProperties = make(map[string]interface{})
135823  				}
135824  				ols.AdditionalProperties[k] = additionalProperties
135825  			}
135826  		case "connectVia":
135827  			if v != nil {
135828  				var connectVia IntegrationRuntimeReference
135829  				err = json.Unmarshal(*v, &connectVia)
135830  				if err != nil {
135831  					return err
135832  				}
135833  				ols.ConnectVia = &connectVia
135834  			}
135835  		case "description":
135836  			if v != nil {
135837  				var description string
135838  				err = json.Unmarshal(*v, &description)
135839  				if err != nil {
135840  					return err
135841  				}
135842  				ols.Description = &description
135843  			}
135844  		case "parameters":
135845  			if v != nil {
135846  				var parameters map[string]*ParameterSpecification
135847  				err = json.Unmarshal(*v, &parameters)
135848  				if err != nil {
135849  					return err
135850  				}
135851  				ols.Parameters = parameters
135852  			}
135853  		case "annotations":
135854  			if v != nil {
135855  				var annotations []interface{}
135856  				err = json.Unmarshal(*v, &annotations)
135857  				if err != nil {
135858  					return err
135859  				}
135860  				ols.Annotations = &annotations
135861  			}
135862  		case "type":
135863  			if v != nil {
135864  				var typeVar TypeBasicLinkedService
135865  				err = json.Unmarshal(*v, &typeVar)
135866  				if err != nil {
135867  					return err
135868  				}
135869  				ols.Type = typeVar
135870  			}
135871  		}
135872  	}
135873  
135874  	return nil
135875  }
135876  
135877  // OdbcLinkedServiceTypeProperties ODBC linked service properties.
135878  type OdbcLinkedServiceTypeProperties struct {
135879  	// ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference.
135880  	ConnectionString interface{} `json:"connectionString,omitempty"`
135881  	// 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).
135882  	AuthenticationType interface{} `json:"authenticationType,omitempty"`
135883  	// Credential - The access credential portion of the connection string specified in driver-specific property-value format.
135884  	Credential BasicSecretBase `json:"credential,omitempty"`
135885  	// UserName - User name for Basic authentication. Type: string (or Expression with resultType string).
135886  	UserName interface{} `json:"userName,omitempty"`
135887  	// Password - Password for Basic authentication.
135888  	Password BasicSecretBase `json:"password,omitempty"`
135889  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
135890  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
135891  }
135892  
135893  // UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct.
135894  func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
135895  	var m map[string]*json.RawMessage
135896  	err := json.Unmarshal(body, &m)
135897  	if err != nil {
135898  		return err
135899  	}
135900  	for k, v := range m {
135901  		switch k {
135902  		case "connectionString":
135903  			if v != nil {
135904  				var connectionString interface{}
135905  				err = json.Unmarshal(*v, &connectionString)
135906  				if err != nil {
135907  					return err
135908  				}
135909  				olstp.ConnectionString = connectionString
135910  			}
135911  		case "authenticationType":
135912  			if v != nil {
135913  				var authenticationType interface{}
135914  				err = json.Unmarshal(*v, &authenticationType)
135915  				if err != nil {
135916  					return err
135917  				}
135918  				olstp.AuthenticationType = authenticationType
135919  			}
135920  		case "credential":
135921  			if v != nil {
135922  				credential, err := unmarshalBasicSecretBase(*v)
135923  				if err != nil {
135924  					return err
135925  				}
135926  				olstp.Credential = credential
135927  			}
135928  		case "userName":
135929  			if v != nil {
135930  				var userName interface{}
135931  				err = json.Unmarshal(*v, &userName)
135932  				if err != nil {
135933  					return err
135934  				}
135935  				olstp.UserName = userName
135936  			}
135937  		case "password":
135938  			if v != nil {
135939  				password, err := unmarshalBasicSecretBase(*v)
135940  				if err != nil {
135941  					return err
135942  				}
135943  				olstp.Password = password
135944  			}
135945  		case "encryptedCredential":
135946  			if v != nil {
135947  				var encryptedCredential interface{}
135948  				err = json.Unmarshal(*v, &encryptedCredential)
135949  				if err != nil {
135950  					return err
135951  				}
135952  				olstp.EncryptedCredential = encryptedCredential
135953  			}
135954  		}
135955  	}
135956  
135957  	return nil
135958  }
135959  
135960  // OdbcSink a copy activity ODBC sink.
135961  type OdbcSink struct {
135962  	// PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string).
135963  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
135964  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
135965  	AdditionalProperties map[string]interface{} `json:""`
135966  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
135967  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
135968  	// 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])).
135969  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
135970  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
135971  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
135972  	// 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])).
135973  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
135974  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
135975  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
135976  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
135977  	Type TypeBasicCopySink `json:"type,omitempty"`
135978  }
135979  
135980  // MarshalJSON is the custom marshaler for OdbcSink.
135981  func (osVar OdbcSink) MarshalJSON() ([]byte, error) {
135982  	osVar.Type = TypeOdbcSink
135983  	objectMap := make(map[string]interface{})
135984  	if osVar.PreCopyScript != nil {
135985  		objectMap["preCopyScript"] = osVar.PreCopyScript
135986  	}
135987  	if osVar.WriteBatchSize != nil {
135988  		objectMap["writeBatchSize"] = osVar.WriteBatchSize
135989  	}
135990  	if osVar.WriteBatchTimeout != nil {
135991  		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
135992  	}
135993  	if osVar.SinkRetryCount != nil {
135994  		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
135995  	}
135996  	if osVar.SinkRetryWait != nil {
135997  		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
135998  	}
135999  	if osVar.MaxConcurrentConnections != nil {
136000  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
136001  	}
136002  	if osVar.Type != "" {
136003  		objectMap["type"] = osVar.Type
136004  	}
136005  	for k, v := range osVar.AdditionalProperties {
136006  		objectMap[k] = v
136007  	}
136008  	return json.Marshal(objectMap)
136009  }
136010  
136011  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OdbcSink.
136012  func (osVar OdbcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
136013  	return nil, false
136014  }
136015  
136016  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for OdbcSink.
136017  func (osVar OdbcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
136018  	return nil, false
136019  }
136020  
136021  // AsSalesforceSink is the BasicCopySink implementation for OdbcSink.
136022  func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) {
136023  	return nil, false
136024  }
136025  
136026  // AsAzureDataExplorerSink is the BasicCopySink implementation for OdbcSink.
136027  func (osVar OdbcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
136028  	return nil, false
136029  }
136030  
136031  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OdbcSink.
136032  func (osVar OdbcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
136033  	return nil, false
136034  }
136035  
136036  // AsDynamicsCrmSink is the BasicCopySink implementation for OdbcSink.
136037  func (osVar OdbcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
136038  	return nil, false
136039  }
136040  
136041  // AsDynamicsSink is the BasicCopySink implementation for OdbcSink.
136042  func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) {
136043  	return nil, false
136044  }
136045  
136046  // AsMicrosoftAccessSink is the BasicCopySink implementation for OdbcSink.
136047  func (osVar OdbcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
136048  	return nil, false
136049  }
136050  
136051  // AsInformixSink is the BasicCopySink implementation for OdbcSink.
136052  func (osVar OdbcSink) AsInformixSink() (*InformixSink, bool) {
136053  	return nil, false
136054  }
136055  
136056  // AsOdbcSink is the BasicCopySink implementation for OdbcSink.
136057  func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) {
136058  	return &osVar, true
136059  }
136060  
136061  // AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink.
136062  func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
136063  	return nil, false
136064  }
136065  
136066  // AsAzureBlobFSSink is the BasicCopySink implementation for OdbcSink.
136067  func (osVar OdbcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
136068  	return nil, false
136069  }
136070  
136071  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink.
136072  func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
136073  	return nil, false
136074  }
136075  
136076  // AsOracleSink is the BasicCopySink implementation for OdbcSink.
136077  func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) {
136078  	return nil, false
136079  }
136080  
136081  // AsSQLDWSink is the BasicCopySink implementation for OdbcSink.
136082  func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) {
136083  	return nil, false
136084  }
136085  
136086  // AsSQLMISink is the BasicCopySink implementation for OdbcSink.
136087  func (osVar OdbcSink) AsSQLMISink() (*SQLMISink, bool) {
136088  	return nil, false
136089  }
136090  
136091  // AsAzureSQLSink is the BasicCopySink implementation for OdbcSink.
136092  func (osVar OdbcSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
136093  	return nil, false
136094  }
136095  
136096  // AsSQLServerSink is the BasicCopySink implementation for OdbcSink.
136097  func (osVar OdbcSink) AsSQLServerSink() (*SQLServerSink, bool) {
136098  	return nil, false
136099  }
136100  
136101  // AsSQLSink is the BasicCopySink implementation for OdbcSink.
136102  func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) {
136103  	return nil, false
136104  }
136105  
136106  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for OdbcSink.
136107  func (osVar OdbcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
136108  	return nil, false
136109  }
136110  
136111  // AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink.
136112  func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
136113  	return nil, false
136114  }
136115  
136116  // AsFileSystemSink is the BasicCopySink implementation for OdbcSink.
136117  func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) {
136118  	return nil, false
136119  }
136120  
136121  // AsBlobSink is the BasicCopySink implementation for OdbcSink.
136122  func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) {
136123  	return nil, false
136124  }
136125  
136126  // AsBinarySink is the BasicCopySink implementation for OdbcSink.
136127  func (osVar OdbcSink) AsBinarySink() (*BinarySink, bool) {
136128  	return nil, false
136129  }
136130  
136131  // AsParquetSink is the BasicCopySink implementation for OdbcSink.
136132  func (osVar OdbcSink) AsParquetSink() (*ParquetSink, bool) {
136133  	return nil, false
136134  }
136135  
136136  // AsAvroSink is the BasicCopySink implementation for OdbcSink.
136137  func (osVar OdbcSink) AsAvroSink() (*AvroSink, bool) {
136138  	return nil, false
136139  }
136140  
136141  // AsAzureTableSink is the BasicCopySink implementation for OdbcSink.
136142  func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) {
136143  	return nil, false
136144  }
136145  
136146  // AsAzureQueueSink is the BasicCopySink implementation for OdbcSink.
136147  func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
136148  	return nil, false
136149  }
136150  
136151  // AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink.
136152  func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
136153  	return nil, false
136154  }
136155  
136156  // AsAzureMySQLSink is the BasicCopySink implementation for OdbcSink.
136157  func (osVar OdbcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
136158  	return nil, false
136159  }
136160  
136161  // AsAzurePostgreSQLSink is the BasicCopySink implementation for OdbcSink.
136162  func (osVar OdbcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
136163  	return nil, false
136164  }
136165  
136166  // AsOrcSink is the BasicCopySink implementation for OdbcSink.
136167  func (osVar OdbcSink) AsOrcSink() (*OrcSink, bool) {
136168  	return nil, false
136169  }
136170  
136171  // AsJSONSink is the BasicCopySink implementation for OdbcSink.
136172  func (osVar OdbcSink) AsJSONSink() (*JSONSink, bool) {
136173  	return nil, false
136174  }
136175  
136176  // AsDelimitedTextSink is the BasicCopySink implementation for OdbcSink.
136177  func (osVar OdbcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
136178  	return nil, false
136179  }
136180  
136181  // AsCopySink is the BasicCopySink implementation for OdbcSink.
136182  func (osVar OdbcSink) AsCopySink() (*CopySink, bool) {
136183  	return nil, false
136184  }
136185  
136186  // AsBasicCopySink is the BasicCopySink implementation for OdbcSink.
136187  func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) {
136188  	return &osVar, true
136189  }
136190  
136191  // UnmarshalJSON is the custom unmarshaler for OdbcSink struct.
136192  func (osVar *OdbcSink) UnmarshalJSON(body []byte) error {
136193  	var m map[string]*json.RawMessage
136194  	err := json.Unmarshal(body, &m)
136195  	if err != nil {
136196  		return err
136197  	}
136198  	for k, v := range m {
136199  		switch k {
136200  		case "preCopyScript":
136201  			if v != nil {
136202  				var preCopyScript interface{}
136203  				err = json.Unmarshal(*v, &preCopyScript)
136204  				if err != nil {
136205  					return err
136206  				}
136207  				osVar.PreCopyScript = preCopyScript
136208  			}
136209  		default:
136210  			if v != nil {
136211  				var additionalProperties interface{}
136212  				err = json.Unmarshal(*v, &additionalProperties)
136213  				if err != nil {
136214  					return err
136215  				}
136216  				if osVar.AdditionalProperties == nil {
136217  					osVar.AdditionalProperties = make(map[string]interface{})
136218  				}
136219  				osVar.AdditionalProperties[k] = additionalProperties
136220  			}
136221  		case "writeBatchSize":
136222  			if v != nil {
136223  				var writeBatchSize interface{}
136224  				err = json.Unmarshal(*v, &writeBatchSize)
136225  				if err != nil {
136226  					return err
136227  				}
136228  				osVar.WriteBatchSize = writeBatchSize
136229  			}
136230  		case "writeBatchTimeout":
136231  			if v != nil {
136232  				var writeBatchTimeout interface{}
136233  				err = json.Unmarshal(*v, &writeBatchTimeout)
136234  				if err != nil {
136235  					return err
136236  				}
136237  				osVar.WriteBatchTimeout = writeBatchTimeout
136238  			}
136239  		case "sinkRetryCount":
136240  			if v != nil {
136241  				var sinkRetryCount interface{}
136242  				err = json.Unmarshal(*v, &sinkRetryCount)
136243  				if err != nil {
136244  					return err
136245  				}
136246  				osVar.SinkRetryCount = sinkRetryCount
136247  			}
136248  		case "sinkRetryWait":
136249  			if v != nil {
136250  				var sinkRetryWait interface{}
136251  				err = json.Unmarshal(*v, &sinkRetryWait)
136252  				if err != nil {
136253  					return err
136254  				}
136255  				osVar.SinkRetryWait = sinkRetryWait
136256  			}
136257  		case "maxConcurrentConnections":
136258  			if v != nil {
136259  				var maxConcurrentConnections interface{}
136260  				err = json.Unmarshal(*v, &maxConcurrentConnections)
136261  				if err != nil {
136262  					return err
136263  				}
136264  				osVar.MaxConcurrentConnections = maxConcurrentConnections
136265  			}
136266  		case "type":
136267  			if v != nil {
136268  				var typeVar TypeBasicCopySink
136269  				err = json.Unmarshal(*v, &typeVar)
136270  				if err != nil {
136271  					return err
136272  				}
136273  				osVar.Type = typeVar
136274  			}
136275  		}
136276  	}
136277  
136278  	return nil
136279  }
136280  
136281  // OdbcSource a copy activity source for ODBC databases.
136282  type OdbcSource struct {
136283  	// Query - Database query. Type: string (or Expression with resultType string).
136284  	Query interface{} `json:"query,omitempty"`
136285  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
136286  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
136287  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
136288  	AdditionalProperties map[string]interface{} `json:""`
136289  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
136290  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
136291  	// 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])).
136292  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
136293  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
136294  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
136295  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
136296  	Type TypeBasicCopySource `json:"type,omitempty"`
136297  }
136298  
136299  // MarshalJSON is the custom marshaler for OdbcSource.
136300  func (osVar OdbcSource) MarshalJSON() ([]byte, error) {
136301  	osVar.Type = TypeOdbcSource
136302  	objectMap := make(map[string]interface{})
136303  	if osVar.Query != nil {
136304  		objectMap["query"] = osVar.Query
136305  	}
136306  	if osVar.QueryTimeout != nil {
136307  		objectMap["queryTimeout"] = osVar.QueryTimeout
136308  	}
136309  	if osVar.SourceRetryCount != nil {
136310  		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
136311  	}
136312  	if osVar.SourceRetryWait != nil {
136313  		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
136314  	}
136315  	if osVar.MaxConcurrentConnections != nil {
136316  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
136317  	}
136318  	if osVar.Type != "" {
136319  		objectMap["type"] = osVar.Type
136320  	}
136321  	for k, v := range osVar.AdditionalProperties {
136322  		objectMap[k] = v
136323  	}
136324  	return json.Marshal(objectMap)
136325  }
136326  
136327  // AsHTTPSource is the BasicCopySource implementation for OdbcSource.
136328  func (osVar OdbcSource) AsHTTPSource() (*HTTPSource, bool) {
136329  	return nil, false
136330  }
136331  
136332  // AsAzureBlobFSSource is the BasicCopySource implementation for OdbcSource.
136333  func (osVar OdbcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
136334  	return nil, false
136335  }
136336  
136337  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for OdbcSource.
136338  func (osVar OdbcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
136339  	return nil, false
136340  }
136341  
136342  // AsOffice365Source is the BasicCopySource implementation for OdbcSource.
136343  func (osVar OdbcSource) AsOffice365Source() (*Office365Source, bool) {
136344  	return nil, false
136345  }
136346  
136347  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OdbcSource.
136348  func (osVar OdbcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
136349  	return nil, false
136350  }
136351  
136352  // AsMongoDbV2Source is the BasicCopySource implementation for OdbcSource.
136353  func (osVar OdbcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
136354  	return nil, false
136355  }
136356  
136357  // AsMongoDbSource is the BasicCopySource implementation for OdbcSource.
136358  func (osVar OdbcSource) AsMongoDbSource() (*MongoDbSource, bool) {
136359  	return nil, false
136360  }
136361  
136362  // AsWebSource is the BasicCopySource implementation for OdbcSource.
136363  func (osVar OdbcSource) AsWebSource() (*WebSource, bool) {
136364  	return nil, false
136365  }
136366  
136367  // AsOracleSource is the BasicCopySource implementation for OdbcSource.
136368  func (osVar OdbcSource) AsOracleSource() (*OracleSource, bool) {
136369  	return nil, false
136370  }
136371  
136372  // AsAzureDataExplorerSource is the BasicCopySource implementation for OdbcSource.
136373  func (osVar OdbcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
136374  	return nil, false
136375  }
136376  
136377  // AsHdfsSource is the BasicCopySource implementation for OdbcSource.
136378  func (osVar OdbcSource) AsHdfsSource() (*HdfsSource, bool) {
136379  	return nil, false
136380  }
136381  
136382  // AsFileSystemSource is the BasicCopySource implementation for OdbcSource.
136383  func (osVar OdbcSource) AsFileSystemSource() (*FileSystemSource, bool) {
136384  	return nil, false
136385  }
136386  
136387  // AsRestSource is the BasicCopySource implementation for OdbcSource.
136388  func (osVar OdbcSource) AsRestSource() (*RestSource, bool) {
136389  	return nil, false
136390  }
136391  
136392  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for OdbcSource.
136393  func (osVar OdbcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
136394  	return nil, false
136395  }
136396  
136397  // AsODataSource is the BasicCopySource implementation for OdbcSource.
136398  func (osVar OdbcSource) AsODataSource() (*ODataSource, bool) {
136399  	return nil, false
136400  }
136401  
136402  // AsMicrosoftAccessSource is the BasicCopySource implementation for OdbcSource.
136403  func (osVar OdbcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
136404  	return nil, false
136405  }
136406  
136407  // AsRelationalSource is the BasicCopySource implementation for OdbcSource.
136408  func (osVar OdbcSource) AsRelationalSource() (*RelationalSource, bool) {
136409  	return nil, false
136410  }
136411  
136412  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OdbcSource.
136413  func (osVar OdbcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
136414  	return nil, false
136415  }
136416  
136417  // AsDynamicsCrmSource is the BasicCopySource implementation for OdbcSource.
136418  func (osVar OdbcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
136419  	return nil, false
136420  }
136421  
136422  // AsDynamicsSource is the BasicCopySource implementation for OdbcSource.
136423  func (osVar OdbcSource) AsDynamicsSource() (*DynamicsSource, bool) {
136424  	return nil, false
136425  }
136426  
136427  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for OdbcSource.
136428  func (osVar OdbcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
136429  	return nil, false
136430  }
136431  
136432  // AsDocumentDbCollectionSource is the BasicCopySource implementation for OdbcSource.
136433  func (osVar OdbcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
136434  	return nil, false
136435  }
136436  
136437  // AsBlobSource is the BasicCopySource implementation for OdbcSource.
136438  func (osVar OdbcSource) AsBlobSource() (*BlobSource, bool) {
136439  	return nil, false
136440  }
136441  
136442  // AsAmazonRedshiftSource is the BasicCopySource implementation for OdbcSource.
136443  func (osVar OdbcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
136444  	return nil, false
136445  }
136446  
136447  // AsGoogleAdWordsSource is the BasicCopySource implementation for OdbcSource.
136448  func (osVar OdbcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
136449  	return nil, false
136450  }
136451  
136452  // AsOracleServiceCloudSource is the BasicCopySource implementation for OdbcSource.
136453  func (osVar OdbcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
136454  	return nil, false
136455  }
136456  
136457  // AsDynamicsAXSource is the BasicCopySource implementation for OdbcSource.
136458  func (osVar OdbcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
136459  	return nil, false
136460  }
136461  
136462  // AsResponsysSource is the BasicCopySource implementation for OdbcSource.
136463  func (osVar OdbcSource) AsResponsysSource() (*ResponsysSource, bool) {
136464  	return nil, false
136465  }
136466  
136467  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OdbcSource.
136468  func (osVar OdbcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
136469  	return nil, false
136470  }
136471  
136472  // AsVerticaSource is the BasicCopySource implementation for OdbcSource.
136473  func (osVar OdbcSource) AsVerticaSource() (*VerticaSource, bool) {
136474  	return nil, false
136475  }
136476  
136477  // AsNetezzaSource is the BasicCopySource implementation for OdbcSource.
136478  func (osVar OdbcSource) AsNetezzaSource() (*NetezzaSource, bool) {
136479  	return nil, false
136480  }
136481  
136482  // AsZohoSource is the BasicCopySource implementation for OdbcSource.
136483  func (osVar OdbcSource) AsZohoSource() (*ZohoSource, bool) {
136484  	return nil, false
136485  }
136486  
136487  // AsXeroSource is the BasicCopySource implementation for OdbcSource.
136488  func (osVar OdbcSource) AsXeroSource() (*XeroSource, bool) {
136489  	return nil, false
136490  }
136491  
136492  // AsSquareSource is the BasicCopySource implementation for OdbcSource.
136493  func (osVar OdbcSource) AsSquareSource() (*SquareSource, bool) {
136494  	return nil, false
136495  }
136496  
136497  // AsSparkSource is the BasicCopySource implementation for OdbcSource.
136498  func (osVar OdbcSource) AsSparkSource() (*SparkSource, bool) {
136499  	return nil, false
136500  }
136501  
136502  // AsShopifySource is the BasicCopySource implementation for OdbcSource.
136503  func (osVar OdbcSource) AsShopifySource() (*ShopifySource, bool) {
136504  	return nil, false
136505  }
136506  
136507  // AsServiceNowSource is the BasicCopySource implementation for OdbcSource.
136508  func (osVar OdbcSource) AsServiceNowSource() (*ServiceNowSource, bool) {
136509  	return nil, false
136510  }
136511  
136512  // AsQuickBooksSource is the BasicCopySource implementation for OdbcSource.
136513  func (osVar OdbcSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
136514  	return nil, false
136515  }
136516  
136517  // AsPrestoSource is the BasicCopySource implementation for OdbcSource.
136518  func (osVar OdbcSource) AsPrestoSource() (*PrestoSource, bool) {
136519  	return nil, false
136520  }
136521  
136522  // AsPhoenixSource is the BasicCopySource implementation for OdbcSource.
136523  func (osVar OdbcSource) AsPhoenixSource() (*PhoenixSource, bool) {
136524  	return nil, false
136525  }
136526  
136527  // AsPaypalSource is the BasicCopySource implementation for OdbcSource.
136528  func (osVar OdbcSource) AsPaypalSource() (*PaypalSource, bool) {
136529  	return nil, false
136530  }
136531  
136532  // AsMarketoSource is the BasicCopySource implementation for OdbcSource.
136533  func (osVar OdbcSource) AsMarketoSource() (*MarketoSource, bool) {
136534  	return nil, false
136535  }
136536  
136537  // AsAzureMariaDBSource is the BasicCopySource implementation for OdbcSource.
136538  func (osVar OdbcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
136539  	return nil, false
136540  }
136541  
136542  // AsMariaDBSource is the BasicCopySource implementation for OdbcSource.
136543  func (osVar OdbcSource) AsMariaDBSource() (*MariaDBSource, bool) {
136544  	return nil, false
136545  }
136546  
136547  // AsMagentoSource is the BasicCopySource implementation for OdbcSource.
136548  func (osVar OdbcSource) AsMagentoSource() (*MagentoSource, bool) {
136549  	return nil, false
136550  }
136551  
136552  // AsJiraSource is the BasicCopySource implementation for OdbcSource.
136553  func (osVar OdbcSource) AsJiraSource() (*JiraSource, bool) {
136554  	return nil, false
136555  }
136556  
136557  // AsImpalaSource is the BasicCopySource implementation for OdbcSource.
136558  func (osVar OdbcSource) AsImpalaSource() (*ImpalaSource, bool) {
136559  	return nil, false
136560  }
136561  
136562  // AsHubspotSource is the BasicCopySource implementation for OdbcSource.
136563  func (osVar OdbcSource) AsHubspotSource() (*HubspotSource, bool) {
136564  	return nil, false
136565  }
136566  
136567  // AsHiveSource is the BasicCopySource implementation for OdbcSource.
136568  func (osVar OdbcSource) AsHiveSource() (*HiveSource, bool) {
136569  	return nil, false
136570  }
136571  
136572  // AsHBaseSource is the BasicCopySource implementation for OdbcSource.
136573  func (osVar OdbcSource) AsHBaseSource() (*HBaseSource, bool) {
136574  	return nil, false
136575  }
136576  
136577  // AsGreenplumSource is the BasicCopySource implementation for OdbcSource.
136578  func (osVar OdbcSource) AsGreenplumSource() (*GreenplumSource, bool) {
136579  	return nil, false
136580  }
136581  
136582  // AsGoogleBigQuerySource is the BasicCopySource implementation for OdbcSource.
136583  func (osVar OdbcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
136584  	return nil, false
136585  }
136586  
136587  // AsEloquaSource is the BasicCopySource implementation for OdbcSource.
136588  func (osVar OdbcSource) AsEloquaSource() (*EloquaSource, bool) {
136589  	return nil, false
136590  }
136591  
136592  // AsDrillSource is the BasicCopySource implementation for OdbcSource.
136593  func (osVar OdbcSource) AsDrillSource() (*DrillSource, bool) {
136594  	return nil, false
136595  }
136596  
136597  // AsCouchbaseSource is the BasicCopySource implementation for OdbcSource.
136598  func (osVar OdbcSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
136599  	return nil, false
136600  }
136601  
136602  // AsConcurSource is the BasicCopySource implementation for OdbcSource.
136603  func (osVar OdbcSource) AsConcurSource() (*ConcurSource, bool) {
136604  	return nil, false
136605  }
136606  
136607  // AsAzurePostgreSQLSource is the BasicCopySource implementation for OdbcSource.
136608  func (osVar OdbcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
136609  	return nil, false
136610  }
136611  
136612  // AsAmazonMWSSource is the BasicCopySource implementation for OdbcSource.
136613  func (osVar OdbcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
136614  	return nil, false
136615  }
136616  
136617  // AsCassandraSource is the BasicCopySource implementation for OdbcSource.
136618  func (osVar OdbcSource) AsCassandraSource() (*CassandraSource, bool) {
136619  	return nil, false
136620  }
136621  
136622  // AsTeradataSource is the BasicCopySource implementation for OdbcSource.
136623  func (osVar OdbcSource) AsTeradataSource() (*TeradataSource, bool) {
136624  	return nil, false
136625  }
136626  
136627  // AsAzureMySQLSource is the BasicCopySource implementation for OdbcSource.
136628  func (osVar OdbcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
136629  	return nil, false
136630  }
136631  
136632  // AsSQLDWSource is the BasicCopySource implementation for OdbcSource.
136633  func (osVar OdbcSource) AsSQLDWSource() (*SQLDWSource, bool) {
136634  	return nil, false
136635  }
136636  
136637  // AsSQLMISource is the BasicCopySource implementation for OdbcSource.
136638  func (osVar OdbcSource) AsSQLMISource() (*SQLMISource, bool) {
136639  	return nil, false
136640  }
136641  
136642  // AsAzureSQLSource is the BasicCopySource implementation for OdbcSource.
136643  func (osVar OdbcSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
136644  	return nil, false
136645  }
136646  
136647  // AsSQLServerSource is the BasicCopySource implementation for OdbcSource.
136648  func (osVar OdbcSource) AsSQLServerSource() (*SQLServerSource, bool) {
136649  	return nil, false
136650  }
136651  
136652  // AsSQLSource is the BasicCopySource implementation for OdbcSource.
136653  func (osVar OdbcSource) AsSQLSource() (*SQLSource, bool) {
136654  	return nil, false
136655  }
136656  
136657  // AsSapTableSource is the BasicCopySource implementation for OdbcSource.
136658  func (osVar OdbcSource) AsSapTableSource() (*SapTableSource, bool) {
136659  	return nil, false
136660  }
136661  
136662  // AsSapOpenHubSource is the BasicCopySource implementation for OdbcSource.
136663  func (osVar OdbcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
136664  	return nil, false
136665  }
136666  
136667  // AsSapHanaSource is the BasicCopySource implementation for OdbcSource.
136668  func (osVar OdbcSource) AsSapHanaSource() (*SapHanaSource, bool) {
136669  	return nil, false
136670  }
136671  
136672  // AsSapEccSource is the BasicCopySource implementation for OdbcSource.
136673  func (osVar OdbcSource) AsSapEccSource() (*SapEccSource, bool) {
136674  	return nil, false
136675  }
136676  
136677  // AsSapCloudForCustomerSource is the BasicCopySource implementation for OdbcSource.
136678  func (osVar OdbcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
136679  	return nil, false
136680  }
136681  
136682  // AsSalesforceSource is the BasicCopySource implementation for OdbcSource.
136683  func (osVar OdbcSource) AsSalesforceSource() (*SalesforceSource, bool) {
136684  	return nil, false
136685  }
136686  
136687  // AsSapBwSource is the BasicCopySource implementation for OdbcSource.
136688  func (osVar OdbcSource) AsSapBwSource() (*SapBwSource, bool) {
136689  	return nil, false
136690  }
136691  
136692  // AsSybaseSource is the BasicCopySource implementation for OdbcSource.
136693  func (osVar OdbcSource) AsSybaseSource() (*SybaseSource, bool) {
136694  	return nil, false
136695  }
136696  
136697  // AsPostgreSQLSource is the BasicCopySource implementation for OdbcSource.
136698  func (osVar OdbcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
136699  	return nil, false
136700  }
136701  
136702  // AsMySQLSource is the BasicCopySource implementation for OdbcSource.
136703  func (osVar OdbcSource) AsMySQLSource() (*MySQLSource, bool) {
136704  	return nil, false
136705  }
136706  
136707  // AsOdbcSource is the BasicCopySource implementation for OdbcSource.
136708  func (osVar OdbcSource) AsOdbcSource() (*OdbcSource, bool) {
136709  	return &osVar, true
136710  }
136711  
136712  // AsDb2Source is the BasicCopySource implementation for OdbcSource.
136713  func (osVar OdbcSource) AsDb2Source() (*Db2Source, bool) {
136714  	return nil, false
136715  }
136716  
136717  // AsInformixSource is the BasicCopySource implementation for OdbcSource.
136718  func (osVar OdbcSource) AsInformixSource() (*InformixSource, bool) {
136719  	return nil, false
136720  }
136721  
136722  // AsAzureTableSource is the BasicCopySource implementation for OdbcSource.
136723  func (osVar OdbcSource) AsAzureTableSource() (*AzureTableSource, bool) {
136724  	return nil, false
136725  }
136726  
136727  // AsTabularSource is the BasicCopySource implementation for OdbcSource.
136728  func (osVar OdbcSource) AsTabularSource() (*TabularSource, bool) {
136729  	return nil, false
136730  }
136731  
136732  // AsBasicTabularSource is the BasicCopySource implementation for OdbcSource.
136733  func (osVar OdbcSource) AsBasicTabularSource() (BasicTabularSource, bool) {
136734  	return &osVar, true
136735  }
136736  
136737  // AsBinarySource is the BasicCopySource implementation for OdbcSource.
136738  func (osVar OdbcSource) AsBinarySource() (*BinarySource, bool) {
136739  	return nil, false
136740  }
136741  
136742  // AsOrcSource is the BasicCopySource implementation for OdbcSource.
136743  func (osVar OdbcSource) AsOrcSource() (*OrcSource, bool) {
136744  	return nil, false
136745  }
136746  
136747  // AsJSONSource is the BasicCopySource implementation for OdbcSource.
136748  func (osVar OdbcSource) AsJSONSource() (*JSONSource, bool) {
136749  	return nil, false
136750  }
136751  
136752  // AsDelimitedTextSource is the BasicCopySource implementation for OdbcSource.
136753  func (osVar OdbcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
136754  	return nil, false
136755  }
136756  
136757  // AsParquetSource is the BasicCopySource implementation for OdbcSource.
136758  func (osVar OdbcSource) AsParquetSource() (*ParquetSource, bool) {
136759  	return nil, false
136760  }
136761  
136762  // AsAvroSource is the BasicCopySource implementation for OdbcSource.
136763  func (osVar OdbcSource) AsAvroSource() (*AvroSource, bool) {
136764  	return nil, false
136765  }
136766  
136767  // AsCopySource is the BasicCopySource implementation for OdbcSource.
136768  func (osVar OdbcSource) AsCopySource() (*CopySource, bool) {
136769  	return nil, false
136770  }
136771  
136772  // AsBasicCopySource is the BasicCopySource implementation for OdbcSource.
136773  func (osVar OdbcSource) AsBasicCopySource() (BasicCopySource, bool) {
136774  	return &osVar, true
136775  }
136776  
136777  // UnmarshalJSON is the custom unmarshaler for OdbcSource struct.
136778  func (osVar *OdbcSource) UnmarshalJSON(body []byte) error {
136779  	var m map[string]*json.RawMessage
136780  	err := json.Unmarshal(body, &m)
136781  	if err != nil {
136782  		return err
136783  	}
136784  	for k, v := range m {
136785  		switch k {
136786  		case "query":
136787  			if v != nil {
136788  				var query interface{}
136789  				err = json.Unmarshal(*v, &query)
136790  				if err != nil {
136791  					return err
136792  				}
136793  				osVar.Query = query
136794  			}
136795  		case "queryTimeout":
136796  			if v != nil {
136797  				var queryTimeout interface{}
136798  				err = json.Unmarshal(*v, &queryTimeout)
136799  				if err != nil {
136800  					return err
136801  				}
136802  				osVar.QueryTimeout = queryTimeout
136803  			}
136804  		default:
136805  			if v != nil {
136806  				var additionalProperties interface{}
136807  				err = json.Unmarshal(*v, &additionalProperties)
136808  				if err != nil {
136809  					return err
136810  				}
136811  				if osVar.AdditionalProperties == nil {
136812  					osVar.AdditionalProperties = make(map[string]interface{})
136813  				}
136814  				osVar.AdditionalProperties[k] = additionalProperties
136815  			}
136816  		case "sourceRetryCount":
136817  			if v != nil {
136818  				var sourceRetryCount interface{}
136819  				err = json.Unmarshal(*v, &sourceRetryCount)
136820  				if err != nil {
136821  					return err
136822  				}
136823  				osVar.SourceRetryCount = sourceRetryCount
136824  			}
136825  		case "sourceRetryWait":
136826  			if v != nil {
136827  				var sourceRetryWait interface{}
136828  				err = json.Unmarshal(*v, &sourceRetryWait)
136829  				if err != nil {
136830  					return err
136831  				}
136832  				osVar.SourceRetryWait = sourceRetryWait
136833  			}
136834  		case "maxConcurrentConnections":
136835  			if v != nil {
136836  				var maxConcurrentConnections interface{}
136837  				err = json.Unmarshal(*v, &maxConcurrentConnections)
136838  				if err != nil {
136839  					return err
136840  				}
136841  				osVar.MaxConcurrentConnections = maxConcurrentConnections
136842  			}
136843  		case "type":
136844  			if v != nil {
136845  				var typeVar TypeBasicCopySource
136846  				err = json.Unmarshal(*v, &typeVar)
136847  				if err != nil {
136848  					return err
136849  				}
136850  				osVar.Type = typeVar
136851  			}
136852  		}
136853  	}
136854  
136855  	return nil
136856  }
136857  
136858  // OdbcTableDataset the ODBC table dataset.
136859  type OdbcTableDataset struct {
136860  	// OdbcTableDatasetTypeProperties - ODBC table dataset properties.
136861  	*OdbcTableDatasetTypeProperties `json:"typeProperties,omitempty"`
136862  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
136863  	AdditionalProperties map[string]interface{} `json:""`
136864  	// Description - Dataset description.
136865  	Description *string `json:"description,omitempty"`
136866  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
136867  	Structure interface{} `json:"structure,omitempty"`
136868  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
136869  	Schema interface{} `json:"schema,omitempty"`
136870  	// LinkedServiceName - Linked service reference.
136871  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
136872  	// Parameters - Parameters for dataset.
136873  	Parameters map[string]*ParameterSpecification `json:"parameters"`
136874  	// Annotations - List of tags that can be used for describing the Dataset.
136875  	Annotations *[]interface{} `json:"annotations,omitempty"`
136876  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
136877  	Folder *DatasetFolder `json:"folder,omitempty"`
136878  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
136879  	Type TypeBasicDataset `json:"type,omitempty"`
136880  }
136881  
136882  // MarshalJSON is the custom marshaler for OdbcTableDataset.
136883  func (otd OdbcTableDataset) MarshalJSON() ([]byte, error) {
136884  	otd.Type = TypeOdbcTable
136885  	objectMap := make(map[string]interface{})
136886  	if otd.OdbcTableDatasetTypeProperties != nil {
136887  		objectMap["typeProperties"] = otd.OdbcTableDatasetTypeProperties
136888  	}
136889  	if otd.Description != nil {
136890  		objectMap["description"] = otd.Description
136891  	}
136892  	if otd.Structure != nil {
136893  		objectMap["structure"] = otd.Structure
136894  	}
136895  	if otd.Schema != nil {
136896  		objectMap["schema"] = otd.Schema
136897  	}
136898  	if otd.LinkedServiceName != nil {
136899  		objectMap["linkedServiceName"] = otd.LinkedServiceName
136900  	}
136901  	if otd.Parameters != nil {
136902  		objectMap["parameters"] = otd.Parameters
136903  	}
136904  	if otd.Annotations != nil {
136905  		objectMap["annotations"] = otd.Annotations
136906  	}
136907  	if otd.Folder != nil {
136908  		objectMap["folder"] = otd.Folder
136909  	}
136910  	if otd.Type != "" {
136911  		objectMap["type"] = otd.Type
136912  	}
136913  	for k, v := range otd.AdditionalProperties {
136914  		objectMap[k] = v
136915  	}
136916  	return json.Marshal(objectMap)
136917  }
136918  
136919  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136920  func (otd OdbcTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
136921  	return nil, false
136922  }
136923  
136924  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for OdbcTableDataset.
136925  func (otd OdbcTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
136926  	return nil, false
136927  }
136928  
136929  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136930  func (otd OdbcTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
136931  	return nil, false
136932  }
136933  
136934  // AsDynamicsAXResourceDataset is the BasicDataset implementation for OdbcTableDataset.
136935  func (otd OdbcTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
136936  	return nil, false
136937  }
136938  
136939  // AsResponsysObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136940  func (otd OdbcTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
136941  	return nil, false
136942  }
136943  
136944  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136945  func (otd OdbcTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
136946  	return nil, false
136947  }
136948  
136949  // AsVerticaTableDataset is the BasicDataset implementation for OdbcTableDataset.
136950  func (otd OdbcTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
136951  	return nil, false
136952  }
136953  
136954  // AsNetezzaTableDataset is the BasicDataset implementation for OdbcTableDataset.
136955  func (otd OdbcTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
136956  	return nil, false
136957  }
136958  
136959  // AsZohoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136960  func (otd OdbcTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
136961  	return nil, false
136962  }
136963  
136964  // AsXeroObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136965  func (otd OdbcTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
136966  	return nil, false
136967  }
136968  
136969  // AsSquareObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136970  func (otd OdbcTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
136971  	return nil, false
136972  }
136973  
136974  // AsSparkObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136975  func (otd OdbcTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
136976  	return nil, false
136977  }
136978  
136979  // AsShopifyObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136980  func (otd OdbcTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
136981  	return nil, false
136982  }
136983  
136984  // AsServiceNowObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136985  func (otd OdbcTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
136986  	return nil, false
136987  }
136988  
136989  // AsQuickBooksObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136990  func (otd OdbcTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
136991  	return nil, false
136992  }
136993  
136994  // AsPrestoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
136995  func (otd OdbcTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
136996  	return nil, false
136997  }
136998  
136999  // AsPhoenixObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137000  func (otd OdbcTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
137001  	return nil, false
137002  }
137003  
137004  // AsPaypalObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137005  func (otd OdbcTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
137006  	return nil, false
137007  }
137008  
137009  // AsMarketoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137010  func (otd OdbcTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
137011  	return nil, false
137012  }
137013  
137014  // AsAzureMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset.
137015  func (otd OdbcTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
137016  	return nil, false
137017  }
137018  
137019  // AsMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset.
137020  func (otd OdbcTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
137021  	return nil, false
137022  }
137023  
137024  // AsMagentoObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137025  func (otd OdbcTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
137026  	return nil, false
137027  }
137028  
137029  // AsJiraObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137030  func (otd OdbcTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
137031  	return nil, false
137032  }
137033  
137034  // AsImpalaObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137035  func (otd OdbcTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
137036  	return nil, false
137037  }
137038  
137039  // AsHubspotObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137040  func (otd OdbcTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
137041  	return nil, false
137042  }
137043  
137044  // AsHiveObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137045  func (otd OdbcTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
137046  	return nil, false
137047  }
137048  
137049  // AsHBaseObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137050  func (otd OdbcTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
137051  	return nil, false
137052  }
137053  
137054  // AsGreenplumTableDataset is the BasicDataset implementation for OdbcTableDataset.
137055  func (otd OdbcTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
137056  	return nil, false
137057  }
137058  
137059  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137060  func (otd OdbcTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
137061  	return nil, false
137062  }
137063  
137064  // AsEloquaObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137065  func (otd OdbcTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
137066  	return nil, false
137067  }
137068  
137069  // AsDrillTableDataset is the BasicDataset implementation for OdbcTableDataset.
137070  func (otd OdbcTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
137071  	return nil, false
137072  }
137073  
137074  // AsCouchbaseTableDataset is the BasicDataset implementation for OdbcTableDataset.
137075  func (otd OdbcTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
137076  	return nil, false
137077  }
137078  
137079  // AsConcurObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137080  func (otd OdbcTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
137081  	return nil, false
137082  }
137083  
137084  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
137085  func (otd OdbcTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
137086  	return nil, false
137087  }
137088  
137089  // AsAmazonMWSObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137090  func (otd OdbcTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
137091  	return nil, false
137092  }
137093  
137094  // AsAzureSearchIndexDataset is the BasicDataset implementation for OdbcTableDataset.
137095  func (otd OdbcTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
137096  	return nil, false
137097  }
137098  
137099  // AsWebTableDataset is the BasicDataset implementation for OdbcTableDataset.
137100  func (otd OdbcTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
137101  	return nil, false
137102  }
137103  
137104  // AsSapTableResourceDataset is the BasicDataset implementation for OdbcTableDataset.
137105  func (otd OdbcTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
137106  	return nil, false
137107  }
137108  
137109  // AsRestResourceDataset is the BasicDataset implementation for OdbcTableDataset.
137110  func (otd OdbcTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
137111  	return nil, false
137112  }
137113  
137114  // AsSQLServerTableDataset is the BasicDataset implementation for OdbcTableDataset.
137115  func (otd OdbcTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
137116  	return nil, false
137117  }
137118  
137119  // AsSapOpenHubTableDataset is the BasicDataset implementation for OdbcTableDataset.
137120  func (otd OdbcTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
137121  	return nil, false
137122  }
137123  
137124  // AsSapHanaTableDataset is the BasicDataset implementation for OdbcTableDataset.
137125  func (otd OdbcTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
137126  	return nil, false
137127  }
137128  
137129  // AsSapEccResourceDataset is the BasicDataset implementation for OdbcTableDataset.
137130  func (otd OdbcTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
137131  	return nil, false
137132  }
137133  
137134  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OdbcTableDataset.
137135  func (otd OdbcTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
137136  	return nil, false
137137  }
137138  
137139  // AsSapBwCubeDataset is the BasicDataset implementation for OdbcTableDataset.
137140  func (otd OdbcTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
137141  	return nil, false
137142  }
137143  
137144  // AsSybaseTableDataset is the BasicDataset implementation for OdbcTableDataset.
137145  func (otd OdbcTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
137146  	return nil, false
137147  }
137148  
137149  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137150  func (otd OdbcTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
137151  	return nil, false
137152  }
137153  
137154  // AsSalesforceObjectDataset is the BasicDataset implementation for OdbcTableDataset.
137155  func (otd OdbcTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
137156  	return nil, false
137157  }
137158  
137159  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for OdbcTableDataset.
137160  func (otd OdbcTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
137161  	return nil, false
137162  }
137163  
137164  // AsPostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
137165  func (otd OdbcTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
137166  	return nil, false
137167  }
137168  
137169  // AsMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
137170  func (otd OdbcTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
137171  	return nil, false
137172  }
137173  
137174  // AsOdbcTableDataset is the BasicDataset implementation for OdbcTableDataset.
137175  func (otd OdbcTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
137176  	return &otd, true
137177  }
137178  
137179  // AsInformixTableDataset is the BasicDataset implementation for OdbcTableDataset.
137180  func (otd OdbcTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
137181  	return nil, false
137182  }
137183  
137184  // AsRelationalTableDataset is the BasicDataset implementation for OdbcTableDataset.
137185  func (otd OdbcTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
137186  	return nil, false
137187  }
137188  
137189  // AsDb2TableDataset is the BasicDataset implementation for OdbcTableDataset.
137190  func (otd OdbcTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
137191  	return nil, false
137192  }
137193  
137194  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for OdbcTableDataset.
137195  func (otd OdbcTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
137196  	return nil, false
137197  }
137198  
137199  // AsAzureMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
137200  func (otd OdbcTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
137201  	return nil, false
137202  }
137203  
137204  // AsTeradataTableDataset is the BasicDataset implementation for OdbcTableDataset.
137205  func (otd OdbcTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
137206  	return nil, false
137207  }
137208  
137209  // AsOracleTableDataset is the BasicDataset implementation for OdbcTableDataset.
137210  func (otd OdbcTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
137211  	return nil, false
137212  }
137213  
137214  // AsODataResourceDataset is the BasicDataset implementation for OdbcTableDataset.
137215  func (otd OdbcTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
137216  	return nil, false
137217  }
137218  
137219  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset.
137220  func (otd OdbcTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
137221  	return nil, false
137222  }
137223  
137224  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for OdbcTableDataset.
137225  func (otd OdbcTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
137226  	return nil, false
137227  }
137228  
137229  // AsMongoDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset.
137230  func (otd OdbcTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
137231  	return nil, false
137232  }
137233  
137234  // AsOffice365Dataset is the BasicDataset implementation for OdbcTableDataset.
137235  func (otd OdbcTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
137236  	return nil, false
137237  }
137238  
137239  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OdbcTableDataset.
137240  func (otd OdbcTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
137241  	return nil, false
137242  }
137243  
137244  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for OdbcTableDataset.
137245  func (otd OdbcTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
137246  	return nil, false
137247  }
137248  
137249  // AsDynamicsEntityDataset is the BasicDataset implementation for OdbcTableDataset.
137250  func (otd OdbcTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
137251  	return nil, false
137252  }
137253  
137254  // AsDocumentDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset.
137255  func (otd OdbcTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
137256  	return nil, false
137257  }
137258  
137259  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset.
137260  func (otd OdbcTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
137261  	return nil, false
137262  }
137263  
137264  // AsCustomDataset is the BasicDataset implementation for OdbcTableDataset.
137265  func (otd OdbcTableDataset) AsCustomDataset() (*CustomDataset, bool) {
137266  	return nil, false
137267  }
137268  
137269  // AsCassandraTableDataset is the BasicDataset implementation for OdbcTableDataset.
137270  func (otd OdbcTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
137271  	return nil, false
137272  }
137273  
137274  // AsAzureSQLDWTableDataset is the BasicDataset implementation for OdbcTableDataset.
137275  func (otd OdbcTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
137276  	return nil, false
137277  }
137278  
137279  // AsAzureSQLMITableDataset is the BasicDataset implementation for OdbcTableDataset.
137280  func (otd OdbcTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
137281  	return nil, false
137282  }
137283  
137284  // AsAzureSQLTableDataset is the BasicDataset implementation for OdbcTableDataset.
137285  func (otd OdbcTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
137286  	return nil, false
137287  }
137288  
137289  // AsAzureTableDataset is the BasicDataset implementation for OdbcTableDataset.
137290  func (otd OdbcTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
137291  	return nil, false
137292  }
137293  
137294  // AsBinaryDataset is the BasicDataset implementation for OdbcTableDataset.
137295  func (otd OdbcTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
137296  	return nil, false
137297  }
137298  
137299  // AsOrcDataset is the BasicDataset implementation for OdbcTableDataset.
137300  func (otd OdbcTableDataset) AsOrcDataset() (*OrcDataset, bool) {
137301  	return nil, false
137302  }
137303  
137304  // AsJSONDataset is the BasicDataset implementation for OdbcTableDataset.
137305  func (otd OdbcTableDataset) AsJSONDataset() (*JSONDataset, bool) {
137306  	return nil, false
137307  }
137308  
137309  // AsDelimitedTextDataset is the BasicDataset implementation for OdbcTableDataset.
137310  func (otd OdbcTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
137311  	return nil, false
137312  }
137313  
137314  // AsParquetDataset is the BasicDataset implementation for OdbcTableDataset.
137315  func (otd OdbcTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
137316  	return nil, false
137317  }
137318  
137319  // AsAvroDataset is the BasicDataset implementation for OdbcTableDataset.
137320  func (otd OdbcTableDataset) AsAvroDataset() (*AvroDataset, bool) {
137321  	return nil, false
137322  }
137323  
137324  // AsDataset is the BasicDataset implementation for OdbcTableDataset.
137325  func (otd OdbcTableDataset) AsDataset() (*Dataset, bool) {
137326  	return nil, false
137327  }
137328  
137329  // AsBasicDataset is the BasicDataset implementation for OdbcTableDataset.
137330  func (otd OdbcTableDataset) AsBasicDataset() (BasicDataset, bool) {
137331  	return &otd, true
137332  }
137333  
137334  // UnmarshalJSON is the custom unmarshaler for OdbcTableDataset struct.
137335  func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error {
137336  	var m map[string]*json.RawMessage
137337  	err := json.Unmarshal(body, &m)
137338  	if err != nil {
137339  		return err
137340  	}
137341  	for k, v := range m {
137342  		switch k {
137343  		case "typeProperties":
137344  			if v != nil {
137345  				var odbcTableDatasetTypeProperties OdbcTableDatasetTypeProperties
137346  				err = json.Unmarshal(*v, &odbcTableDatasetTypeProperties)
137347  				if err != nil {
137348  					return err
137349  				}
137350  				otd.OdbcTableDatasetTypeProperties = &odbcTableDatasetTypeProperties
137351  			}
137352  		default:
137353  			if v != nil {
137354  				var additionalProperties interface{}
137355  				err = json.Unmarshal(*v, &additionalProperties)
137356  				if err != nil {
137357  					return err
137358  				}
137359  				if otd.AdditionalProperties == nil {
137360  					otd.AdditionalProperties = make(map[string]interface{})
137361  				}
137362  				otd.AdditionalProperties[k] = additionalProperties
137363  			}
137364  		case "description":
137365  			if v != nil {
137366  				var description string
137367  				err = json.Unmarshal(*v, &description)
137368  				if err != nil {
137369  					return err
137370  				}
137371  				otd.Description = &description
137372  			}
137373  		case "structure":
137374  			if v != nil {
137375  				var structure interface{}
137376  				err = json.Unmarshal(*v, &structure)
137377  				if err != nil {
137378  					return err
137379  				}
137380  				otd.Structure = structure
137381  			}
137382  		case "schema":
137383  			if v != nil {
137384  				var schema interface{}
137385  				err = json.Unmarshal(*v, &schema)
137386  				if err != nil {
137387  					return err
137388  				}
137389  				otd.Schema = schema
137390  			}
137391  		case "linkedServiceName":
137392  			if v != nil {
137393  				var linkedServiceName LinkedServiceReference
137394  				err = json.Unmarshal(*v, &linkedServiceName)
137395  				if err != nil {
137396  					return err
137397  				}
137398  				otd.LinkedServiceName = &linkedServiceName
137399  			}
137400  		case "parameters":
137401  			if v != nil {
137402  				var parameters map[string]*ParameterSpecification
137403  				err = json.Unmarshal(*v, &parameters)
137404  				if err != nil {
137405  					return err
137406  				}
137407  				otd.Parameters = parameters
137408  			}
137409  		case "annotations":
137410  			if v != nil {
137411  				var annotations []interface{}
137412  				err = json.Unmarshal(*v, &annotations)
137413  				if err != nil {
137414  					return err
137415  				}
137416  				otd.Annotations = &annotations
137417  			}
137418  		case "folder":
137419  			if v != nil {
137420  				var folder DatasetFolder
137421  				err = json.Unmarshal(*v, &folder)
137422  				if err != nil {
137423  					return err
137424  				}
137425  				otd.Folder = &folder
137426  			}
137427  		case "type":
137428  			if v != nil {
137429  				var typeVar TypeBasicDataset
137430  				err = json.Unmarshal(*v, &typeVar)
137431  				if err != nil {
137432  					return err
137433  				}
137434  				otd.Type = typeVar
137435  			}
137436  		}
137437  	}
137438  
137439  	return nil
137440  }
137441  
137442  // OdbcTableDatasetTypeProperties ODBC table dataset properties.
137443  type OdbcTableDatasetTypeProperties struct {
137444  	// TableName - The ODBC table name. Type: string (or Expression with resultType string).
137445  	TableName interface{} `json:"tableName,omitempty"`
137446  }
137447  
137448  // Office365Dataset the Office365 account.
137449  type Office365Dataset struct {
137450  	// Office365DatasetTypeProperties - Office365 dataset properties.
137451  	*Office365DatasetTypeProperties `json:"typeProperties,omitempty"`
137452  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
137453  	AdditionalProperties map[string]interface{} `json:""`
137454  	// Description - Dataset description.
137455  	Description *string `json:"description,omitempty"`
137456  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
137457  	Structure interface{} `json:"structure,omitempty"`
137458  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
137459  	Schema interface{} `json:"schema,omitempty"`
137460  	// LinkedServiceName - Linked service reference.
137461  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
137462  	// Parameters - Parameters for dataset.
137463  	Parameters map[string]*ParameterSpecification `json:"parameters"`
137464  	// Annotations - List of tags that can be used for describing the Dataset.
137465  	Annotations *[]interface{} `json:"annotations,omitempty"`
137466  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
137467  	Folder *DatasetFolder `json:"folder,omitempty"`
137468  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
137469  	Type TypeBasicDataset `json:"type,omitempty"`
137470  }
137471  
137472  // MarshalJSON is the custom marshaler for Office365Dataset.
137473  func (o3d Office365Dataset) MarshalJSON() ([]byte, error) {
137474  	o3d.Type = TypeOffice365Table
137475  	objectMap := make(map[string]interface{})
137476  	if o3d.Office365DatasetTypeProperties != nil {
137477  		objectMap["typeProperties"] = o3d.Office365DatasetTypeProperties
137478  	}
137479  	if o3d.Description != nil {
137480  		objectMap["description"] = o3d.Description
137481  	}
137482  	if o3d.Structure != nil {
137483  		objectMap["structure"] = o3d.Structure
137484  	}
137485  	if o3d.Schema != nil {
137486  		objectMap["schema"] = o3d.Schema
137487  	}
137488  	if o3d.LinkedServiceName != nil {
137489  		objectMap["linkedServiceName"] = o3d.LinkedServiceName
137490  	}
137491  	if o3d.Parameters != nil {
137492  		objectMap["parameters"] = o3d.Parameters
137493  	}
137494  	if o3d.Annotations != nil {
137495  		objectMap["annotations"] = o3d.Annotations
137496  	}
137497  	if o3d.Folder != nil {
137498  		objectMap["folder"] = o3d.Folder
137499  	}
137500  	if o3d.Type != "" {
137501  		objectMap["type"] = o3d.Type
137502  	}
137503  	for k, v := range o3d.AdditionalProperties {
137504  		objectMap[k] = v
137505  	}
137506  	return json.Marshal(objectMap)
137507  }
137508  
137509  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Office365Dataset.
137510  func (o3d Office365Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
137511  	return nil, false
137512  }
137513  
137514  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for Office365Dataset.
137515  func (o3d Office365Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
137516  	return nil, false
137517  }
137518  
137519  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
137520  func (o3d Office365Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
137521  	return nil, false
137522  }
137523  
137524  // AsDynamicsAXResourceDataset is the BasicDataset implementation for Office365Dataset.
137525  func (o3d Office365Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
137526  	return nil, false
137527  }
137528  
137529  // AsResponsysObjectDataset is the BasicDataset implementation for Office365Dataset.
137530  func (o3d Office365Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
137531  	return nil, false
137532  }
137533  
137534  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
137535  func (o3d Office365Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
137536  	return nil, false
137537  }
137538  
137539  // AsVerticaTableDataset is the BasicDataset implementation for Office365Dataset.
137540  func (o3d Office365Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
137541  	return nil, false
137542  }
137543  
137544  // AsNetezzaTableDataset is the BasicDataset implementation for Office365Dataset.
137545  func (o3d Office365Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
137546  	return nil, false
137547  }
137548  
137549  // AsZohoObjectDataset is the BasicDataset implementation for Office365Dataset.
137550  func (o3d Office365Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
137551  	return nil, false
137552  }
137553  
137554  // AsXeroObjectDataset is the BasicDataset implementation for Office365Dataset.
137555  func (o3d Office365Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
137556  	return nil, false
137557  }
137558  
137559  // AsSquareObjectDataset is the BasicDataset implementation for Office365Dataset.
137560  func (o3d Office365Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
137561  	return nil, false
137562  }
137563  
137564  // AsSparkObjectDataset is the BasicDataset implementation for Office365Dataset.
137565  func (o3d Office365Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
137566  	return nil, false
137567  }
137568  
137569  // AsShopifyObjectDataset is the BasicDataset implementation for Office365Dataset.
137570  func (o3d Office365Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
137571  	return nil, false
137572  }
137573  
137574  // AsServiceNowObjectDataset is the BasicDataset implementation for Office365Dataset.
137575  func (o3d Office365Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
137576  	return nil, false
137577  }
137578  
137579  // AsQuickBooksObjectDataset is the BasicDataset implementation for Office365Dataset.
137580  func (o3d Office365Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
137581  	return nil, false
137582  }
137583  
137584  // AsPrestoObjectDataset is the BasicDataset implementation for Office365Dataset.
137585  func (o3d Office365Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
137586  	return nil, false
137587  }
137588  
137589  // AsPhoenixObjectDataset is the BasicDataset implementation for Office365Dataset.
137590  func (o3d Office365Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
137591  	return nil, false
137592  }
137593  
137594  // AsPaypalObjectDataset is the BasicDataset implementation for Office365Dataset.
137595  func (o3d Office365Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
137596  	return nil, false
137597  }
137598  
137599  // AsMarketoObjectDataset is the BasicDataset implementation for Office365Dataset.
137600  func (o3d Office365Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
137601  	return nil, false
137602  }
137603  
137604  // AsAzureMariaDBTableDataset is the BasicDataset implementation for Office365Dataset.
137605  func (o3d Office365Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
137606  	return nil, false
137607  }
137608  
137609  // AsMariaDBTableDataset is the BasicDataset implementation for Office365Dataset.
137610  func (o3d Office365Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
137611  	return nil, false
137612  }
137613  
137614  // AsMagentoObjectDataset is the BasicDataset implementation for Office365Dataset.
137615  func (o3d Office365Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
137616  	return nil, false
137617  }
137618  
137619  // AsJiraObjectDataset is the BasicDataset implementation for Office365Dataset.
137620  func (o3d Office365Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
137621  	return nil, false
137622  }
137623  
137624  // AsImpalaObjectDataset is the BasicDataset implementation for Office365Dataset.
137625  func (o3d Office365Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
137626  	return nil, false
137627  }
137628  
137629  // AsHubspotObjectDataset is the BasicDataset implementation for Office365Dataset.
137630  func (o3d Office365Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
137631  	return nil, false
137632  }
137633  
137634  // AsHiveObjectDataset is the BasicDataset implementation for Office365Dataset.
137635  func (o3d Office365Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
137636  	return nil, false
137637  }
137638  
137639  // AsHBaseObjectDataset is the BasicDataset implementation for Office365Dataset.
137640  func (o3d Office365Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
137641  	return nil, false
137642  }
137643  
137644  // AsGreenplumTableDataset is the BasicDataset implementation for Office365Dataset.
137645  func (o3d Office365Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
137646  	return nil, false
137647  }
137648  
137649  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Office365Dataset.
137650  func (o3d Office365Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
137651  	return nil, false
137652  }
137653  
137654  // AsEloquaObjectDataset is the BasicDataset implementation for Office365Dataset.
137655  func (o3d Office365Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
137656  	return nil, false
137657  }
137658  
137659  // AsDrillTableDataset is the BasicDataset implementation for Office365Dataset.
137660  func (o3d Office365Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
137661  	return nil, false
137662  }
137663  
137664  // AsCouchbaseTableDataset is the BasicDataset implementation for Office365Dataset.
137665  func (o3d Office365Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
137666  	return nil, false
137667  }
137668  
137669  // AsConcurObjectDataset is the BasicDataset implementation for Office365Dataset.
137670  func (o3d Office365Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
137671  	return nil, false
137672  }
137673  
137674  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset.
137675  func (o3d Office365Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
137676  	return nil, false
137677  }
137678  
137679  // AsAmazonMWSObjectDataset is the BasicDataset implementation for Office365Dataset.
137680  func (o3d Office365Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
137681  	return nil, false
137682  }
137683  
137684  // AsAzureSearchIndexDataset is the BasicDataset implementation for Office365Dataset.
137685  func (o3d Office365Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
137686  	return nil, false
137687  }
137688  
137689  // AsWebTableDataset is the BasicDataset implementation for Office365Dataset.
137690  func (o3d Office365Dataset) AsWebTableDataset() (*WebTableDataset, bool) {
137691  	return nil, false
137692  }
137693  
137694  // AsSapTableResourceDataset is the BasicDataset implementation for Office365Dataset.
137695  func (o3d Office365Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
137696  	return nil, false
137697  }
137698  
137699  // AsRestResourceDataset is the BasicDataset implementation for Office365Dataset.
137700  func (o3d Office365Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
137701  	return nil, false
137702  }
137703  
137704  // AsSQLServerTableDataset is the BasicDataset implementation for Office365Dataset.
137705  func (o3d Office365Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
137706  	return nil, false
137707  }
137708  
137709  // AsSapOpenHubTableDataset is the BasicDataset implementation for Office365Dataset.
137710  func (o3d Office365Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
137711  	return nil, false
137712  }
137713  
137714  // AsSapHanaTableDataset is the BasicDataset implementation for Office365Dataset.
137715  func (o3d Office365Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
137716  	return nil, false
137717  }
137718  
137719  // AsSapEccResourceDataset is the BasicDataset implementation for Office365Dataset.
137720  func (o3d Office365Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
137721  	return nil, false
137722  }
137723  
137724  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Office365Dataset.
137725  func (o3d Office365Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
137726  	return nil, false
137727  }
137728  
137729  // AsSapBwCubeDataset is the BasicDataset implementation for Office365Dataset.
137730  func (o3d Office365Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
137731  	return nil, false
137732  }
137733  
137734  // AsSybaseTableDataset is the BasicDataset implementation for Office365Dataset.
137735  func (o3d Office365Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
137736  	return nil, false
137737  }
137738  
137739  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset.
137740  func (o3d Office365Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
137741  	return nil, false
137742  }
137743  
137744  // AsSalesforceObjectDataset is the BasicDataset implementation for Office365Dataset.
137745  func (o3d Office365Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
137746  	return nil, false
137747  }
137748  
137749  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for Office365Dataset.
137750  func (o3d Office365Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
137751  	return nil, false
137752  }
137753  
137754  // AsPostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset.
137755  func (o3d Office365Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
137756  	return nil, false
137757  }
137758  
137759  // AsMySQLTableDataset is the BasicDataset implementation for Office365Dataset.
137760  func (o3d Office365Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
137761  	return nil, false
137762  }
137763  
137764  // AsOdbcTableDataset is the BasicDataset implementation for Office365Dataset.
137765  func (o3d Office365Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
137766  	return nil, false
137767  }
137768  
137769  // AsInformixTableDataset is the BasicDataset implementation for Office365Dataset.
137770  func (o3d Office365Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
137771  	return nil, false
137772  }
137773  
137774  // AsRelationalTableDataset is the BasicDataset implementation for Office365Dataset.
137775  func (o3d Office365Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
137776  	return nil, false
137777  }
137778  
137779  // AsDb2TableDataset is the BasicDataset implementation for Office365Dataset.
137780  func (o3d Office365Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
137781  	return nil, false
137782  }
137783  
137784  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for Office365Dataset.
137785  func (o3d Office365Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
137786  	return nil, false
137787  }
137788  
137789  // AsAzureMySQLTableDataset is the BasicDataset implementation for Office365Dataset.
137790  func (o3d Office365Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
137791  	return nil, false
137792  }
137793  
137794  // AsTeradataTableDataset is the BasicDataset implementation for Office365Dataset.
137795  func (o3d Office365Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
137796  	return nil, false
137797  }
137798  
137799  // AsOracleTableDataset is the BasicDataset implementation for Office365Dataset.
137800  func (o3d Office365Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
137801  	return nil, false
137802  }
137803  
137804  // AsODataResourceDataset is the BasicDataset implementation for Office365Dataset.
137805  func (o3d Office365Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
137806  	return nil, false
137807  }
137808  
137809  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Office365Dataset.
137810  func (o3d Office365Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
137811  	return nil, false
137812  }
137813  
137814  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for Office365Dataset.
137815  func (o3d Office365Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
137816  	return nil, false
137817  }
137818  
137819  // AsMongoDbCollectionDataset is the BasicDataset implementation for Office365Dataset.
137820  func (o3d Office365Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
137821  	return nil, false
137822  }
137823  
137824  // AsOffice365Dataset is the BasicDataset implementation for Office365Dataset.
137825  func (o3d Office365Dataset) AsOffice365Dataset() (*Office365Dataset, bool) {
137826  	return &o3d, true
137827  }
137828  
137829  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Office365Dataset.
137830  func (o3d Office365Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
137831  	return nil, false
137832  }
137833  
137834  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for Office365Dataset.
137835  func (o3d Office365Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
137836  	return nil, false
137837  }
137838  
137839  // AsDynamicsEntityDataset is the BasicDataset implementation for Office365Dataset.
137840  func (o3d Office365Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
137841  	return nil, false
137842  }
137843  
137844  // AsDocumentDbCollectionDataset is the BasicDataset implementation for Office365Dataset.
137845  func (o3d Office365Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
137846  	return nil, false
137847  }
137848  
137849  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Office365Dataset.
137850  func (o3d Office365Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
137851  	return nil, false
137852  }
137853  
137854  // AsCustomDataset is the BasicDataset implementation for Office365Dataset.
137855  func (o3d Office365Dataset) AsCustomDataset() (*CustomDataset, bool) {
137856  	return nil, false
137857  }
137858  
137859  // AsCassandraTableDataset is the BasicDataset implementation for Office365Dataset.
137860  func (o3d Office365Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
137861  	return nil, false
137862  }
137863  
137864  // AsAzureSQLDWTableDataset is the BasicDataset implementation for Office365Dataset.
137865  func (o3d Office365Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
137866  	return nil, false
137867  }
137868  
137869  // AsAzureSQLMITableDataset is the BasicDataset implementation for Office365Dataset.
137870  func (o3d Office365Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
137871  	return nil, false
137872  }
137873  
137874  // AsAzureSQLTableDataset is the BasicDataset implementation for Office365Dataset.
137875  func (o3d Office365Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
137876  	return nil, false
137877  }
137878  
137879  // AsAzureTableDataset is the BasicDataset implementation for Office365Dataset.
137880  func (o3d Office365Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
137881  	return nil, false
137882  }
137883  
137884  // AsBinaryDataset is the BasicDataset implementation for Office365Dataset.
137885  func (o3d Office365Dataset) AsBinaryDataset() (*BinaryDataset, bool) {
137886  	return nil, false
137887  }
137888  
137889  // AsOrcDataset is the BasicDataset implementation for Office365Dataset.
137890  func (o3d Office365Dataset) AsOrcDataset() (*OrcDataset, bool) {
137891  	return nil, false
137892  }
137893  
137894  // AsJSONDataset is the BasicDataset implementation for Office365Dataset.
137895  func (o3d Office365Dataset) AsJSONDataset() (*JSONDataset, bool) {
137896  	return nil, false
137897  }
137898  
137899  // AsDelimitedTextDataset is the BasicDataset implementation for Office365Dataset.
137900  func (o3d Office365Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
137901  	return nil, false
137902  }
137903  
137904  // AsParquetDataset is the BasicDataset implementation for Office365Dataset.
137905  func (o3d Office365Dataset) AsParquetDataset() (*ParquetDataset, bool) {
137906  	return nil, false
137907  }
137908  
137909  // AsAvroDataset is the BasicDataset implementation for Office365Dataset.
137910  func (o3d Office365Dataset) AsAvroDataset() (*AvroDataset, bool) {
137911  	return nil, false
137912  }
137913  
137914  // AsDataset is the BasicDataset implementation for Office365Dataset.
137915  func (o3d Office365Dataset) AsDataset() (*Dataset, bool) {
137916  	return nil, false
137917  }
137918  
137919  // AsBasicDataset is the BasicDataset implementation for Office365Dataset.
137920  func (o3d Office365Dataset) AsBasicDataset() (BasicDataset, bool) {
137921  	return &o3d, true
137922  }
137923  
137924  // UnmarshalJSON is the custom unmarshaler for Office365Dataset struct.
137925  func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error {
137926  	var m map[string]*json.RawMessage
137927  	err := json.Unmarshal(body, &m)
137928  	if err != nil {
137929  		return err
137930  	}
137931  	for k, v := range m {
137932  		switch k {
137933  		case "typeProperties":
137934  			if v != nil {
137935  				var office365DatasetTypeProperties Office365DatasetTypeProperties
137936  				err = json.Unmarshal(*v, &office365DatasetTypeProperties)
137937  				if err != nil {
137938  					return err
137939  				}
137940  				o3d.Office365DatasetTypeProperties = &office365DatasetTypeProperties
137941  			}
137942  		default:
137943  			if v != nil {
137944  				var additionalProperties interface{}
137945  				err = json.Unmarshal(*v, &additionalProperties)
137946  				if err != nil {
137947  					return err
137948  				}
137949  				if o3d.AdditionalProperties == nil {
137950  					o3d.AdditionalProperties = make(map[string]interface{})
137951  				}
137952  				o3d.AdditionalProperties[k] = additionalProperties
137953  			}
137954  		case "description":
137955  			if v != nil {
137956  				var description string
137957  				err = json.Unmarshal(*v, &description)
137958  				if err != nil {
137959  					return err
137960  				}
137961  				o3d.Description = &description
137962  			}
137963  		case "structure":
137964  			if v != nil {
137965  				var structure interface{}
137966  				err = json.Unmarshal(*v, &structure)
137967  				if err != nil {
137968  					return err
137969  				}
137970  				o3d.Structure = structure
137971  			}
137972  		case "schema":
137973  			if v != nil {
137974  				var schema interface{}
137975  				err = json.Unmarshal(*v, &schema)
137976  				if err != nil {
137977  					return err
137978  				}
137979  				o3d.Schema = schema
137980  			}
137981  		case "linkedServiceName":
137982  			if v != nil {
137983  				var linkedServiceName LinkedServiceReference
137984  				err = json.Unmarshal(*v, &linkedServiceName)
137985  				if err != nil {
137986  					return err
137987  				}
137988  				o3d.LinkedServiceName = &linkedServiceName
137989  			}
137990  		case "parameters":
137991  			if v != nil {
137992  				var parameters map[string]*ParameterSpecification
137993  				err = json.Unmarshal(*v, &parameters)
137994  				if err != nil {
137995  					return err
137996  				}
137997  				o3d.Parameters = parameters
137998  			}
137999  		case "annotations":
138000  			if v != nil {
138001  				var annotations []interface{}
138002  				err = json.Unmarshal(*v, &annotations)
138003  				if err != nil {
138004  					return err
138005  				}
138006  				o3d.Annotations = &annotations
138007  			}
138008  		case "folder":
138009  			if v != nil {
138010  				var folder DatasetFolder
138011  				err = json.Unmarshal(*v, &folder)
138012  				if err != nil {
138013  					return err
138014  				}
138015  				o3d.Folder = &folder
138016  			}
138017  		case "type":
138018  			if v != nil {
138019  				var typeVar TypeBasicDataset
138020  				err = json.Unmarshal(*v, &typeVar)
138021  				if err != nil {
138022  					return err
138023  				}
138024  				o3d.Type = typeVar
138025  			}
138026  		}
138027  	}
138028  
138029  	return nil
138030  }
138031  
138032  // Office365DatasetTypeProperties office365 dataset properties.
138033  type Office365DatasetTypeProperties struct {
138034  	// TableName - Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string).
138035  	TableName interface{} `json:"tableName,omitempty"`
138036  	// 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).
138037  	Predicate interface{} `json:"predicate,omitempty"`
138038  }
138039  
138040  // Office365LinkedService office365 linked service.
138041  type Office365LinkedService struct {
138042  	// Office365LinkedServiceTypeProperties - Office365 linked service properties.
138043  	*Office365LinkedServiceTypeProperties `json:"typeProperties,omitempty"`
138044  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
138045  	AdditionalProperties map[string]interface{} `json:""`
138046  	// ConnectVia - The integration runtime reference.
138047  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
138048  	// Description - Linked service description.
138049  	Description *string `json:"description,omitempty"`
138050  	// Parameters - Parameters for linked service.
138051  	Parameters map[string]*ParameterSpecification `json:"parameters"`
138052  	// Annotations - List of tags that can be used for describing the linked service.
138053  	Annotations *[]interface{} `json:"annotations,omitempty"`
138054  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
138055  	Type TypeBasicLinkedService `json:"type,omitempty"`
138056  }
138057  
138058  // MarshalJSON is the custom marshaler for Office365LinkedService.
138059  func (o3ls Office365LinkedService) MarshalJSON() ([]byte, error) {
138060  	o3ls.Type = TypeOffice365
138061  	objectMap := make(map[string]interface{})
138062  	if o3ls.Office365LinkedServiceTypeProperties != nil {
138063  		objectMap["typeProperties"] = o3ls.Office365LinkedServiceTypeProperties
138064  	}
138065  	if o3ls.ConnectVia != nil {
138066  		objectMap["connectVia"] = o3ls.ConnectVia
138067  	}
138068  	if o3ls.Description != nil {
138069  		objectMap["description"] = o3ls.Description
138070  	}
138071  	if o3ls.Parameters != nil {
138072  		objectMap["parameters"] = o3ls.Parameters
138073  	}
138074  	if o3ls.Annotations != nil {
138075  		objectMap["annotations"] = o3ls.Annotations
138076  	}
138077  	if o3ls.Type != "" {
138078  		objectMap["type"] = o3ls.Type
138079  	}
138080  	for k, v := range o3ls.AdditionalProperties {
138081  		objectMap[k] = v
138082  	}
138083  	return json.Marshal(objectMap)
138084  }
138085  
138086  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138087  func (o3ls Office365LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
138088  	return nil, false
138089  }
138090  
138091  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138092  func (o3ls Office365LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
138093  	return nil, false
138094  }
138095  
138096  // AsSapTableLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138097  func (o3ls Office365LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
138098  	return nil, false
138099  }
138100  
138101  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138102  func (o3ls Office365LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
138103  	return nil, false
138104  }
138105  
138106  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138107  func (o3ls Office365LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
138108  	return nil, false
138109  }
138110  
138111  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138112  func (o3ls Office365LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
138113  	return nil, false
138114  }
138115  
138116  // AsResponsysLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138117  func (o3ls Office365LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
138118  	return nil, false
138119  }
138120  
138121  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138122  func (o3ls Office365LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
138123  	return nil, false
138124  }
138125  
138126  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138127  func (o3ls Office365LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
138128  	return nil, false
138129  }
138130  
138131  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138132  func (o3ls Office365LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
138133  	return nil, false
138134  }
138135  
138136  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138137  func (o3ls Office365LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
138138  	return nil, false
138139  }
138140  
138141  // AsNetezzaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138142  func (o3ls Office365LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
138143  	return nil, false
138144  }
138145  
138146  // AsVerticaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138147  func (o3ls Office365LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
138148  	return nil, false
138149  }
138150  
138151  // AsZohoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138152  func (o3ls Office365LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
138153  	return nil, false
138154  }
138155  
138156  // AsXeroLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138157  func (o3ls Office365LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
138158  	return nil, false
138159  }
138160  
138161  // AsSquareLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138162  func (o3ls Office365LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
138163  	return nil, false
138164  }
138165  
138166  // AsSparkLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138167  func (o3ls Office365LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
138168  	return nil, false
138169  }
138170  
138171  // AsShopifyLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138172  func (o3ls Office365LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
138173  	return nil, false
138174  }
138175  
138176  // AsServiceNowLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138177  func (o3ls Office365LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
138178  	return nil, false
138179  }
138180  
138181  // AsQuickBooksLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138182  func (o3ls Office365LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
138183  	return nil, false
138184  }
138185  
138186  // AsPrestoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138187  func (o3ls Office365LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
138188  	return nil, false
138189  }
138190  
138191  // AsPhoenixLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138192  func (o3ls Office365LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
138193  	return nil, false
138194  }
138195  
138196  // AsPaypalLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138197  func (o3ls Office365LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
138198  	return nil, false
138199  }
138200  
138201  // AsMarketoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138202  func (o3ls Office365LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
138203  	return nil, false
138204  }
138205  
138206  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138207  func (o3ls Office365LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
138208  	return nil, false
138209  }
138210  
138211  // AsMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138212  func (o3ls Office365LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
138213  	return nil, false
138214  }
138215  
138216  // AsMagentoLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138217  func (o3ls Office365LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
138218  	return nil, false
138219  }
138220  
138221  // AsJiraLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138222  func (o3ls Office365LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
138223  	return nil, false
138224  }
138225  
138226  // AsImpalaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138227  func (o3ls Office365LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
138228  	return nil, false
138229  }
138230  
138231  // AsHubspotLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138232  func (o3ls Office365LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
138233  	return nil, false
138234  }
138235  
138236  // AsHiveLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138237  func (o3ls Office365LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
138238  	return nil, false
138239  }
138240  
138241  // AsHBaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138242  func (o3ls Office365LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
138243  	return nil, false
138244  }
138245  
138246  // AsGreenplumLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138247  func (o3ls Office365LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
138248  	return nil, false
138249  }
138250  
138251  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138252  func (o3ls Office365LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
138253  	return nil, false
138254  }
138255  
138256  // AsEloquaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138257  func (o3ls Office365LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
138258  	return nil, false
138259  }
138260  
138261  // AsDrillLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138262  func (o3ls Office365LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
138263  	return nil, false
138264  }
138265  
138266  // AsCouchbaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138267  func (o3ls Office365LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
138268  	return nil, false
138269  }
138270  
138271  // AsConcurLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138272  func (o3ls Office365LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
138273  	return nil, false
138274  }
138275  
138276  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138277  func (o3ls Office365LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
138278  	return nil, false
138279  }
138280  
138281  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138282  func (o3ls Office365LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
138283  	return nil, false
138284  }
138285  
138286  // AsSapHanaLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138287  func (o3ls Office365LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
138288  	return nil, false
138289  }
138290  
138291  // AsSapBWLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138292  func (o3ls Office365LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
138293  	return nil, false
138294  }
138295  
138296  // AsSftpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138297  func (o3ls Office365LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
138298  	return nil, false
138299  }
138300  
138301  // AsFtpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138302  func (o3ls Office365LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
138303  	return nil, false
138304  }
138305  
138306  // AsHTTPLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138307  func (o3ls Office365LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
138308  	return nil, false
138309  }
138310  
138311  // AsAzureSearchLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138312  func (o3ls Office365LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
138313  	return nil, false
138314  }
138315  
138316  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138317  func (o3ls Office365LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
138318  	return nil, false
138319  }
138320  
138321  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138322  func (o3ls Office365LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
138323  	return nil, false
138324  }
138325  
138326  // AsAmazonS3LinkedService is the BasicLinkedService implementation for Office365LinkedService.
138327  func (o3ls Office365LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
138328  	return nil, false
138329  }
138330  
138331  // AsRestServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138332  func (o3ls Office365LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
138333  	return nil, false
138334  }
138335  
138336  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138337  func (o3ls Office365LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
138338  	return nil, false
138339  }
138340  
138341  // AsSapEccLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138342  func (o3ls Office365LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
138343  	return nil, false
138344  }
138345  
138346  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138347  func (o3ls Office365LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
138348  	return nil, false
138349  }
138350  
138351  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138352  func (o3ls Office365LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
138353  	return nil, false
138354  }
138355  
138356  // AsSalesforceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138357  func (o3ls Office365LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
138358  	return nil, false
138359  }
138360  
138361  // AsOffice365LinkedService is the BasicLinkedService implementation for Office365LinkedService.
138362  func (o3ls Office365LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
138363  	return &o3ls, true
138364  }
138365  
138366  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138367  func (o3ls Office365LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
138368  	return nil, false
138369  }
138370  
138371  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138372  func (o3ls Office365LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
138373  	return nil, false
138374  }
138375  
138376  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Office365LinkedService.
138377  func (o3ls Office365LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
138378  	return nil, false
138379  }
138380  
138381  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for Office365LinkedService.
138382  func (o3ls Office365LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
138383  	return nil, false
138384  }
138385  
138386  // AsMongoDbLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138387  func (o3ls Office365LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
138388  	return nil, false
138389  }
138390  
138391  // AsCassandraLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138392  func (o3ls Office365LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
138393  	return nil, false
138394  }
138395  
138396  // AsWebLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138397  func (o3ls Office365LinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
138398  	return nil, false
138399  }
138400  
138401  // AsODataLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138402  func (o3ls Office365LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
138403  	return nil, false
138404  }
138405  
138406  // AsHdfsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138407  func (o3ls Office365LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
138408  	return nil, false
138409  }
138410  
138411  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138412  func (o3ls Office365LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
138413  	return nil, false
138414  }
138415  
138416  // AsInformixLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138417  func (o3ls Office365LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
138418  	return nil, false
138419  }
138420  
138421  // AsOdbcLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138422  func (o3ls Office365LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
138423  	return nil, false
138424  }
138425  
138426  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138427  func (o3ls Office365LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
138428  	return nil, false
138429  }
138430  
138431  // AsAzureMLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138432  func (o3ls Office365LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
138433  	return nil, false
138434  }
138435  
138436  // AsTeradataLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138437  func (o3ls Office365LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
138438  	return nil, false
138439  }
138440  
138441  // AsDb2LinkedService is the BasicLinkedService implementation for Office365LinkedService.
138442  func (o3ls Office365LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
138443  	return nil, false
138444  }
138445  
138446  // AsSybaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138447  func (o3ls Office365LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
138448  	return nil, false
138449  }
138450  
138451  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138452  func (o3ls Office365LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
138453  	return nil, false
138454  }
138455  
138456  // AsMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138457  func (o3ls Office365LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
138458  	return nil, false
138459  }
138460  
138461  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138462  func (o3ls Office365LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
138463  	return nil, false
138464  }
138465  
138466  // AsOracleLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138467  func (o3ls Office365LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
138468  	return nil, false
138469  }
138470  
138471  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138472  func (o3ls Office365LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
138473  	return nil, false
138474  }
138475  
138476  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138477  func (o3ls Office365LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
138478  	return nil, false
138479  }
138480  
138481  // AsFileServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138482  func (o3ls Office365LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
138483  	return nil, false
138484  }
138485  
138486  // AsHDInsightLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138487  func (o3ls Office365LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
138488  	return nil, false
138489  }
138490  
138491  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138492  func (o3ls Office365LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
138493  	return nil, false
138494  }
138495  
138496  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138497  func (o3ls Office365LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
138498  	return nil, false
138499  }
138500  
138501  // AsDynamicsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138502  func (o3ls Office365LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
138503  	return nil, false
138504  }
138505  
138506  // AsCosmosDbLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138507  func (o3ls Office365LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
138508  	return nil, false
138509  }
138510  
138511  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138512  func (o3ls Office365LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
138513  	return nil, false
138514  }
138515  
138516  // AsAzureBatchLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138517  func (o3ls Office365LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
138518  	return nil, false
138519  }
138520  
138521  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for Office365LinkedService.
138522  func (o3ls Office365LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
138523  	return nil, false
138524  }
138525  
138526  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138527  func (o3ls Office365LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
138528  	return nil, false
138529  }
138530  
138531  // AsSQLServerLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138532  func (o3ls Office365LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
138533  	return nil, false
138534  }
138535  
138536  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138537  func (o3ls Office365LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
138538  	return nil, false
138539  }
138540  
138541  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138542  func (o3ls Office365LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
138543  	return nil, false
138544  }
138545  
138546  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138547  func (o3ls Office365LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
138548  	return nil, false
138549  }
138550  
138551  // AsAzureStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138552  func (o3ls Office365LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
138553  	return nil, false
138554  }
138555  
138556  // AsLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138557  func (o3ls Office365LinkedService) AsLinkedService() (*LinkedService, bool) {
138558  	return nil, false
138559  }
138560  
138561  // AsBasicLinkedService is the BasicLinkedService implementation for Office365LinkedService.
138562  func (o3ls Office365LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
138563  	return &o3ls, true
138564  }
138565  
138566  // UnmarshalJSON is the custom unmarshaler for Office365LinkedService struct.
138567  func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error {
138568  	var m map[string]*json.RawMessage
138569  	err := json.Unmarshal(body, &m)
138570  	if err != nil {
138571  		return err
138572  	}
138573  	for k, v := range m {
138574  		switch k {
138575  		case "typeProperties":
138576  			if v != nil {
138577  				var office365LinkedServiceTypeProperties Office365LinkedServiceTypeProperties
138578  				err = json.Unmarshal(*v, &office365LinkedServiceTypeProperties)
138579  				if err != nil {
138580  					return err
138581  				}
138582  				o3ls.Office365LinkedServiceTypeProperties = &office365LinkedServiceTypeProperties
138583  			}
138584  		default:
138585  			if v != nil {
138586  				var additionalProperties interface{}
138587  				err = json.Unmarshal(*v, &additionalProperties)
138588  				if err != nil {
138589  					return err
138590  				}
138591  				if o3ls.AdditionalProperties == nil {
138592  					o3ls.AdditionalProperties = make(map[string]interface{})
138593  				}
138594  				o3ls.AdditionalProperties[k] = additionalProperties
138595  			}
138596  		case "connectVia":
138597  			if v != nil {
138598  				var connectVia IntegrationRuntimeReference
138599  				err = json.Unmarshal(*v, &connectVia)
138600  				if err != nil {
138601  					return err
138602  				}
138603  				o3ls.ConnectVia = &connectVia
138604  			}
138605  		case "description":
138606  			if v != nil {
138607  				var description string
138608  				err = json.Unmarshal(*v, &description)
138609  				if err != nil {
138610  					return err
138611  				}
138612  				o3ls.Description = &description
138613  			}
138614  		case "parameters":
138615  			if v != nil {
138616  				var parameters map[string]*ParameterSpecification
138617  				err = json.Unmarshal(*v, &parameters)
138618  				if err != nil {
138619  					return err
138620  				}
138621  				o3ls.Parameters = parameters
138622  			}
138623  		case "annotations":
138624  			if v != nil {
138625  				var annotations []interface{}
138626  				err = json.Unmarshal(*v, &annotations)
138627  				if err != nil {
138628  					return err
138629  				}
138630  				o3ls.Annotations = &annotations
138631  			}
138632  		case "type":
138633  			if v != nil {
138634  				var typeVar TypeBasicLinkedService
138635  				err = json.Unmarshal(*v, &typeVar)
138636  				if err != nil {
138637  					return err
138638  				}
138639  				o3ls.Type = typeVar
138640  			}
138641  		}
138642  	}
138643  
138644  	return nil
138645  }
138646  
138647  // Office365LinkedServiceTypeProperties office365 linked service properties.
138648  type Office365LinkedServiceTypeProperties struct {
138649  	// Office365TenantID - Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string).
138650  	Office365TenantID interface{} `json:"office365TenantId,omitempty"`
138651  	// ServicePrincipalTenantID - Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string).
138652  	ServicePrincipalTenantID interface{} `json:"servicePrincipalTenantId,omitempty"`
138653  	// ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string).
138654  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
138655  	// ServicePrincipalKey - Specify the application's key.
138656  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
138657  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
138658  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
138659  }
138660  
138661  // UnmarshalJSON is the custom unmarshaler for Office365LinkedServiceTypeProperties struct.
138662  func (o3lstp *Office365LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
138663  	var m map[string]*json.RawMessage
138664  	err := json.Unmarshal(body, &m)
138665  	if err != nil {
138666  		return err
138667  	}
138668  	for k, v := range m {
138669  		switch k {
138670  		case "office365TenantId":
138671  			if v != nil {
138672  				var office365TenantID interface{}
138673  				err = json.Unmarshal(*v, &office365TenantID)
138674  				if err != nil {
138675  					return err
138676  				}
138677  				o3lstp.Office365TenantID = office365TenantID
138678  			}
138679  		case "servicePrincipalTenantId":
138680  			if v != nil {
138681  				var servicePrincipalTenantID interface{}
138682  				err = json.Unmarshal(*v, &servicePrincipalTenantID)
138683  				if err != nil {
138684  					return err
138685  				}
138686  				o3lstp.ServicePrincipalTenantID = servicePrincipalTenantID
138687  			}
138688  		case "servicePrincipalId":
138689  			if v != nil {
138690  				var servicePrincipalID interface{}
138691  				err = json.Unmarshal(*v, &servicePrincipalID)
138692  				if err != nil {
138693  					return err
138694  				}
138695  				o3lstp.ServicePrincipalID = servicePrincipalID
138696  			}
138697  		case "servicePrincipalKey":
138698  			if v != nil {
138699  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
138700  				if err != nil {
138701  					return err
138702  				}
138703  				o3lstp.ServicePrincipalKey = servicePrincipalKey
138704  			}
138705  		case "encryptedCredential":
138706  			if v != nil {
138707  				var encryptedCredential interface{}
138708  				err = json.Unmarshal(*v, &encryptedCredential)
138709  				if err != nil {
138710  					return err
138711  				}
138712  				o3lstp.EncryptedCredential = encryptedCredential
138713  			}
138714  		}
138715  	}
138716  
138717  	return nil
138718  }
138719  
138720  // Office365Source a copy activity source for an Office 365 service.
138721  type Office365Source struct {
138722  	// AllowedGroups - The groups containing all the users. Type: array of strings (or Expression with resultType array of strings).
138723  	AllowedGroups interface{} `json:"allowedGroups,omitempty"`
138724  	// UserScopeFilterURI - The user scope uri. Type: string (or Expression with resultType string).
138725  	UserScopeFilterURI interface{} `json:"userScopeFilterUri,omitempty"`
138726  	// DateFilterColumn - The Column to apply the <paramref name="StartTime"/> and <paramref name="EndTime"/>. Type: string (or Expression with resultType string).
138727  	DateFilterColumn interface{} `json:"dateFilterColumn,omitempty"`
138728  	// StartTime - Start time of the requested range for this dataset. Type: string (or Expression with resultType string).
138729  	StartTime interface{} `json:"startTime,omitempty"`
138730  	// EndTime - End time of the requested range for this dataset. Type: string (or Expression with resultType string).
138731  	EndTime interface{} `json:"endTime,omitempty"`
138732  	// OutputColumns - The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ]
138733  	OutputColumns interface{} `json:"outputColumns,omitempty"`
138734  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
138735  	AdditionalProperties map[string]interface{} `json:""`
138736  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
138737  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
138738  	// 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])).
138739  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
138740  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
138741  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
138742  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
138743  	Type TypeBasicCopySource `json:"type,omitempty"`
138744  }
138745  
138746  // MarshalJSON is the custom marshaler for Office365Source.
138747  func (o3s Office365Source) MarshalJSON() ([]byte, error) {
138748  	o3s.Type = TypeOffice365Source
138749  	objectMap := make(map[string]interface{})
138750  	if o3s.AllowedGroups != nil {
138751  		objectMap["allowedGroups"] = o3s.AllowedGroups
138752  	}
138753  	if o3s.UserScopeFilterURI != nil {
138754  		objectMap["userScopeFilterUri"] = o3s.UserScopeFilterURI
138755  	}
138756  	if o3s.DateFilterColumn != nil {
138757  		objectMap["dateFilterColumn"] = o3s.DateFilterColumn
138758  	}
138759  	if o3s.StartTime != nil {
138760  		objectMap["startTime"] = o3s.StartTime
138761  	}
138762  	if o3s.EndTime != nil {
138763  		objectMap["endTime"] = o3s.EndTime
138764  	}
138765  	if o3s.OutputColumns != nil {
138766  		objectMap["outputColumns"] = o3s.OutputColumns
138767  	}
138768  	if o3s.SourceRetryCount != nil {
138769  		objectMap["sourceRetryCount"] = o3s.SourceRetryCount
138770  	}
138771  	if o3s.SourceRetryWait != nil {
138772  		objectMap["sourceRetryWait"] = o3s.SourceRetryWait
138773  	}
138774  	if o3s.MaxConcurrentConnections != nil {
138775  		objectMap["maxConcurrentConnections"] = o3s.MaxConcurrentConnections
138776  	}
138777  	if o3s.Type != "" {
138778  		objectMap["type"] = o3s.Type
138779  	}
138780  	for k, v := range o3s.AdditionalProperties {
138781  		objectMap[k] = v
138782  	}
138783  	return json.Marshal(objectMap)
138784  }
138785  
138786  // AsHTTPSource is the BasicCopySource implementation for Office365Source.
138787  func (o3s Office365Source) AsHTTPSource() (*HTTPSource, bool) {
138788  	return nil, false
138789  }
138790  
138791  // AsAzureBlobFSSource is the BasicCopySource implementation for Office365Source.
138792  func (o3s Office365Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
138793  	return nil, false
138794  }
138795  
138796  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for Office365Source.
138797  func (o3s Office365Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
138798  	return nil, false
138799  }
138800  
138801  // AsOffice365Source is the BasicCopySource implementation for Office365Source.
138802  func (o3s Office365Source) AsOffice365Source() (*Office365Source, bool) {
138803  	return &o3s, true
138804  }
138805  
138806  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Office365Source.
138807  func (o3s Office365Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
138808  	return nil, false
138809  }
138810  
138811  // AsMongoDbV2Source is the BasicCopySource implementation for Office365Source.
138812  func (o3s Office365Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
138813  	return nil, false
138814  }
138815  
138816  // AsMongoDbSource is the BasicCopySource implementation for Office365Source.
138817  func (o3s Office365Source) AsMongoDbSource() (*MongoDbSource, bool) {
138818  	return nil, false
138819  }
138820  
138821  // AsWebSource is the BasicCopySource implementation for Office365Source.
138822  func (o3s Office365Source) AsWebSource() (*WebSource, bool) {
138823  	return nil, false
138824  }
138825  
138826  // AsOracleSource is the BasicCopySource implementation for Office365Source.
138827  func (o3s Office365Source) AsOracleSource() (*OracleSource, bool) {
138828  	return nil, false
138829  }
138830  
138831  // AsAzureDataExplorerSource is the BasicCopySource implementation for Office365Source.
138832  func (o3s Office365Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
138833  	return nil, false
138834  }
138835  
138836  // AsHdfsSource is the BasicCopySource implementation for Office365Source.
138837  func (o3s Office365Source) AsHdfsSource() (*HdfsSource, bool) {
138838  	return nil, false
138839  }
138840  
138841  // AsFileSystemSource is the BasicCopySource implementation for Office365Source.
138842  func (o3s Office365Source) AsFileSystemSource() (*FileSystemSource, bool) {
138843  	return nil, false
138844  }
138845  
138846  // AsRestSource is the BasicCopySource implementation for Office365Source.
138847  func (o3s Office365Source) AsRestSource() (*RestSource, bool) {
138848  	return nil, false
138849  }
138850  
138851  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for Office365Source.
138852  func (o3s Office365Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
138853  	return nil, false
138854  }
138855  
138856  // AsODataSource is the BasicCopySource implementation for Office365Source.
138857  func (o3s Office365Source) AsODataSource() (*ODataSource, bool) {
138858  	return nil, false
138859  }
138860  
138861  // AsMicrosoftAccessSource is the BasicCopySource implementation for Office365Source.
138862  func (o3s Office365Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
138863  	return nil, false
138864  }
138865  
138866  // AsRelationalSource is the BasicCopySource implementation for Office365Source.
138867  func (o3s Office365Source) AsRelationalSource() (*RelationalSource, bool) {
138868  	return nil, false
138869  }
138870  
138871  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Office365Source.
138872  func (o3s Office365Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
138873  	return nil, false
138874  }
138875  
138876  // AsDynamicsCrmSource is the BasicCopySource implementation for Office365Source.
138877  func (o3s Office365Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
138878  	return nil, false
138879  }
138880  
138881  // AsDynamicsSource is the BasicCopySource implementation for Office365Source.
138882  func (o3s Office365Source) AsDynamicsSource() (*DynamicsSource, bool) {
138883  	return nil, false
138884  }
138885  
138886  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for Office365Source.
138887  func (o3s Office365Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
138888  	return nil, false
138889  }
138890  
138891  // AsDocumentDbCollectionSource is the BasicCopySource implementation for Office365Source.
138892  func (o3s Office365Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
138893  	return nil, false
138894  }
138895  
138896  // AsBlobSource is the BasicCopySource implementation for Office365Source.
138897  func (o3s Office365Source) AsBlobSource() (*BlobSource, bool) {
138898  	return nil, false
138899  }
138900  
138901  // AsAmazonRedshiftSource is the BasicCopySource implementation for Office365Source.
138902  func (o3s Office365Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
138903  	return nil, false
138904  }
138905  
138906  // AsGoogleAdWordsSource is the BasicCopySource implementation for Office365Source.
138907  func (o3s Office365Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
138908  	return nil, false
138909  }
138910  
138911  // AsOracleServiceCloudSource is the BasicCopySource implementation for Office365Source.
138912  func (o3s Office365Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
138913  	return nil, false
138914  }
138915  
138916  // AsDynamicsAXSource is the BasicCopySource implementation for Office365Source.
138917  func (o3s Office365Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
138918  	return nil, false
138919  }
138920  
138921  // AsResponsysSource is the BasicCopySource implementation for Office365Source.
138922  func (o3s Office365Source) AsResponsysSource() (*ResponsysSource, bool) {
138923  	return nil, false
138924  }
138925  
138926  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Office365Source.
138927  func (o3s Office365Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
138928  	return nil, false
138929  }
138930  
138931  // AsVerticaSource is the BasicCopySource implementation for Office365Source.
138932  func (o3s Office365Source) AsVerticaSource() (*VerticaSource, bool) {
138933  	return nil, false
138934  }
138935  
138936  // AsNetezzaSource is the BasicCopySource implementation for Office365Source.
138937  func (o3s Office365Source) AsNetezzaSource() (*NetezzaSource, bool) {
138938  	return nil, false
138939  }
138940  
138941  // AsZohoSource is the BasicCopySource implementation for Office365Source.
138942  func (o3s Office365Source) AsZohoSource() (*ZohoSource, bool) {
138943  	return nil, false
138944  }
138945  
138946  // AsXeroSource is the BasicCopySource implementation for Office365Source.
138947  func (o3s Office365Source) AsXeroSource() (*XeroSource, bool) {
138948  	return nil, false
138949  }
138950  
138951  // AsSquareSource is the BasicCopySource implementation for Office365Source.
138952  func (o3s Office365Source) AsSquareSource() (*SquareSource, bool) {
138953  	return nil, false
138954  }
138955  
138956  // AsSparkSource is the BasicCopySource implementation for Office365Source.
138957  func (o3s Office365Source) AsSparkSource() (*SparkSource, bool) {
138958  	return nil, false
138959  }
138960  
138961  // AsShopifySource is the BasicCopySource implementation for Office365Source.
138962  func (o3s Office365Source) AsShopifySource() (*ShopifySource, bool) {
138963  	return nil, false
138964  }
138965  
138966  // AsServiceNowSource is the BasicCopySource implementation for Office365Source.
138967  func (o3s Office365Source) AsServiceNowSource() (*ServiceNowSource, bool) {
138968  	return nil, false
138969  }
138970  
138971  // AsQuickBooksSource is the BasicCopySource implementation for Office365Source.
138972  func (o3s Office365Source) AsQuickBooksSource() (*QuickBooksSource, bool) {
138973  	return nil, false
138974  }
138975  
138976  // AsPrestoSource is the BasicCopySource implementation for Office365Source.
138977  func (o3s Office365Source) AsPrestoSource() (*PrestoSource, bool) {
138978  	return nil, false
138979  }
138980  
138981  // AsPhoenixSource is the BasicCopySource implementation for Office365Source.
138982  func (o3s Office365Source) AsPhoenixSource() (*PhoenixSource, bool) {
138983  	return nil, false
138984  }
138985  
138986  // AsPaypalSource is the BasicCopySource implementation for Office365Source.
138987  func (o3s Office365Source) AsPaypalSource() (*PaypalSource, bool) {
138988  	return nil, false
138989  }
138990  
138991  // AsMarketoSource is the BasicCopySource implementation for Office365Source.
138992  func (o3s Office365Source) AsMarketoSource() (*MarketoSource, bool) {
138993  	return nil, false
138994  }
138995  
138996  // AsAzureMariaDBSource is the BasicCopySource implementation for Office365Source.
138997  func (o3s Office365Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
138998  	return nil, false
138999  }
139000  
139001  // AsMariaDBSource is the BasicCopySource implementation for Office365Source.
139002  func (o3s Office365Source) AsMariaDBSource() (*MariaDBSource, bool) {
139003  	return nil, false
139004  }
139005  
139006  // AsMagentoSource is the BasicCopySource implementation for Office365Source.
139007  func (o3s Office365Source) AsMagentoSource() (*MagentoSource, bool) {
139008  	return nil, false
139009  }
139010  
139011  // AsJiraSource is the BasicCopySource implementation for Office365Source.
139012  func (o3s Office365Source) AsJiraSource() (*JiraSource, bool) {
139013  	return nil, false
139014  }
139015  
139016  // AsImpalaSource is the BasicCopySource implementation for Office365Source.
139017  func (o3s Office365Source) AsImpalaSource() (*ImpalaSource, bool) {
139018  	return nil, false
139019  }
139020  
139021  // AsHubspotSource is the BasicCopySource implementation for Office365Source.
139022  func (o3s Office365Source) AsHubspotSource() (*HubspotSource, bool) {
139023  	return nil, false
139024  }
139025  
139026  // AsHiveSource is the BasicCopySource implementation for Office365Source.
139027  func (o3s Office365Source) AsHiveSource() (*HiveSource, bool) {
139028  	return nil, false
139029  }
139030  
139031  // AsHBaseSource is the BasicCopySource implementation for Office365Source.
139032  func (o3s Office365Source) AsHBaseSource() (*HBaseSource, bool) {
139033  	return nil, false
139034  }
139035  
139036  // AsGreenplumSource is the BasicCopySource implementation for Office365Source.
139037  func (o3s Office365Source) AsGreenplumSource() (*GreenplumSource, bool) {
139038  	return nil, false
139039  }
139040  
139041  // AsGoogleBigQuerySource is the BasicCopySource implementation for Office365Source.
139042  func (o3s Office365Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
139043  	return nil, false
139044  }
139045  
139046  // AsEloquaSource is the BasicCopySource implementation for Office365Source.
139047  func (o3s Office365Source) AsEloquaSource() (*EloquaSource, bool) {
139048  	return nil, false
139049  }
139050  
139051  // AsDrillSource is the BasicCopySource implementation for Office365Source.
139052  func (o3s Office365Source) AsDrillSource() (*DrillSource, bool) {
139053  	return nil, false
139054  }
139055  
139056  // AsCouchbaseSource is the BasicCopySource implementation for Office365Source.
139057  func (o3s Office365Source) AsCouchbaseSource() (*CouchbaseSource, bool) {
139058  	return nil, false
139059  }
139060  
139061  // AsConcurSource is the BasicCopySource implementation for Office365Source.
139062  func (o3s Office365Source) AsConcurSource() (*ConcurSource, bool) {
139063  	return nil, false
139064  }
139065  
139066  // AsAzurePostgreSQLSource is the BasicCopySource implementation for Office365Source.
139067  func (o3s Office365Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
139068  	return nil, false
139069  }
139070  
139071  // AsAmazonMWSSource is the BasicCopySource implementation for Office365Source.
139072  func (o3s Office365Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
139073  	return nil, false
139074  }
139075  
139076  // AsCassandraSource is the BasicCopySource implementation for Office365Source.
139077  func (o3s Office365Source) AsCassandraSource() (*CassandraSource, bool) {
139078  	return nil, false
139079  }
139080  
139081  // AsTeradataSource is the BasicCopySource implementation for Office365Source.
139082  func (o3s Office365Source) AsTeradataSource() (*TeradataSource, bool) {
139083  	return nil, false
139084  }
139085  
139086  // AsAzureMySQLSource is the BasicCopySource implementation for Office365Source.
139087  func (o3s Office365Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
139088  	return nil, false
139089  }
139090  
139091  // AsSQLDWSource is the BasicCopySource implementation for Office365Source.
139092  func (o3s Office365Source) AsSQLDWSource() (*SQLDWSource, bool) {
139093  	return nil, false
139094  }
139095  
139096  // AsSQLMISource is the BasicCopySource implementation for Office365Source.
139097  func (o3s Office365Source) AsSQLMISource() (*SQLMISource, bool) {
139098  	return nil, false
139099  }
139100  
139101  // AsAzureSQLSource is the BasicCopySource implementation for Office365Source.
139102  func (o3s Office365Source) AsAzureSQLSource() (*AzureSQLSource, bool) {
139103  	return nil, false
139104  }
139105  
139106  // AsSQLServerSource is the BasicCopySource implementation for Office365Source.
139107  func (o3s Office365Source) AsSQLServerSource() (*SQLServerSource, bool) {
139108  	return nil, false
139109  }
139110  
139111  // AsSQLSource is the BasicCopySource implementation for Office365Source.
139112  func (o3s Office365Source) AsSQLSource() (*SQLSource, bool) {
139113  	return nil, false
139114  }
139115  
139116  // AsSapTableSource is the BasicCopySource implementation for Office365Source.
139117  func (o3s Office365Source) AsSapTableSource() (*SapTableSource, bool) {
139118  	return nil, false
139119  }
139120  
139121  // AsSapOpenHubSource is the BasicCopySource implementation for Office365Source.
139122  func (o3s Office365Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
139123  	return nil, false
139124  }
139125  
139126  // AsSapHanaSource is the BasicCopySource implementation for Office365Source.
139127  func (o3s Office365Source) AsSapHanaSource() (*SapHanaSource, bool) {
139128  	return nil, false
139129  }
139130  
139131  // AsSapEccSource is the BasicCopySource implementation for Office365Source.
139132  func (o3s Office365Source) AsSapEccSource() (*SapEccSource, bool) {
139133  	return nil, false
139134  }
139135  
139136  // AsSapCloudForCustomerSource is the BasicCopySource implementation for Office365Source.
139137  func (o3s Office365Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
139138  	return nil, false
139139  }
139140  
139141  // AsSalesforceSource is the BasicCopySource implementation for Office365Source.
139142  func (o3s Office365Source) AsSalesforceSource() (*SalesforceSource, bool) {
139143  	return nil, false
139144  }
139145  
139146  // AsSapBwSource is the BasicCopySource implementation for Office365Source.
139147  func (o3s Office365Source) AsSapBwSource() (*SapBwSource, bool) {
139148  	return nil, false
139149  }
139150  
139151  // AsSybaseSource is the BasicCopySource implementation for Office365Source.
139152  func (o3s Office365Source) AsSybaseSource() (*SybaseSource, bool) {
139153  	return nil, false
139154  }
139155  
139156  // AsPostgreSQLSource is the BasicCopySource implementation for Office365Source.
139157  func (o3s Office365Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
139158  	return nil, false
139159  }
139160  
139161  // AsMySQLSource is the BasicCopySource implementation for Office365Source.
139162  func (o3s Office365Source) AsMySQLSource() (*MySQLSource, bool) {
139163  	return nil, false
139164  }
139165  
139166  // AsOdbcSource is the BasicCopySource implementation for Office365Source.
139167  func (o3s Office365Source) AsOdbcSource() (*OdbcSource, bool) {
139168  	return nil, false
139169  }
139170  
139171  // AsDb2Source is the BasicCopySource implementation for Office365Source.
139172  func (o3s Office365Source) AsDb2Source() (*Db2Source, bool) {
139173  	return nil, false
139174  }
139175  
139176  // AsInformixSource is the BasicCopySource implementation for Office365Source.
139177  func (o3s Office365Source) AsInformixSource() (*InformixSource, bool) {
139178  	return nil, false
139179  }
139180  
139181  // AsAzureTableSource is the BasicCopySource implementation for Office365Source.
139182  func (o3s Office365Source) AsAzureTableSource() (*AzureTableSource, bool) {
139183  	return nil, false
139184  }
139185  
139186  // AsTabularSource is the BasicCopySource implementation for Office365Source.
139187  func (o3s Office365Source) AsTabularSource() (*TabularSource, bool) {
139188  	return nil, false
139189  }
139190  
139191  // AsBasicTabularSource is the BasicCopySource implementation for Office365Source.
139192  func (o3s Office365Source) AsBasicTabularSource() (BasicTabularSource, bool) {
139193  	return nil, false
139194  }
139195  
139196  // AsBinarySource is the BasicCopySource implementation for Office365Source.
139197  func (o3s Office365Source) AsBinarySource() (*BinarySource, bool) {
139198  	return nil, false
139199  }
139200  
139201  // AsOrcSource is the BasicCopySource implementation for Office365Source.
139202  func (o3s Office365Source) AsOrcSource() (*OrcSource, bool) {
139203  	return nil, false
139204  }
139205  
139206  // AsJSONSource is the BasicCopySource implementation for Office365Source.
139207  func (o3s Office365Source) AsJSONSource() (*JSONSource, bool) {
139208  	return nil, false
139209  }
139210  
139211  // AsDelimitedTextSource is the BasicCopySource implementation for Office365Source.
139212  func (o3s Office365Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
139213  	return nil, false
139214  }
139215  
139216  // AsParquetSource is the BasicCopySource implementation for Office365Source.
139217  func (o3s Office365Source) AsParquetSource() (*ParquetSource, bool) {
139218  	return nil, false
139219  }
139220  
139221  // AsAvroSource is the BasicCopySource implementation for Office365Source.
139222  func (o3s Office365Source) AsAvroSource() (*AvroSource, bool) {
139223  	return nil, false
139224  }
139225  
139226  // AsCopySource is the BasicCopySource implementation for Office365Source.
139227  func (o3s Office365Source) AsCopySource() (*CopySource, bool) {
139228  	return nil, false
139229  }
139230  
139231  // AsBasicCopySource is the BasicCopySource implementation for Office365Source.
139232  func (o3s Office365Source) AsBasicCopySource() (BasicCopySource, bool) {
139233  	return &o3s, true
139234  }
139235  
139236  // UnmarshalJSON is the custom unmarshaler for Office365Source struct.
139237  func (o3s *Office365Source) UnmarshalJSON(body []byte) error {
139238  	var m map[string]*json.RawMessage
139239  	err := json.Unmarshal(body, &m)
139240  	if err != nil {
139241  		return err
139242  	}
139243  	for k, v := range m {
139244  		switch k {
139245  		case "allowedGroups":
139246  			if v != nil {
139247  				var allowedGroups interface{}
139248  				err = json.Unmarshal(*v, &allowedGroups)
139249  				if err != nil {
139250  					return err
139251  				}
139252  				o3s.AllowedGroups = allowedGroups
139253  			}
139254  		case "userScopeFilterUri":
139255  			if v != nil {
139256  				var userScopeFilterURI interface{}
139257  				err = json.Unmarshal(*v, &userScopeFilterURI)
139258  				if err != nil {
139259  					return err
139260  				}
139261  				o3s.UserScopeFilterURI = userScopeFilterURI
139262  			}
139263  		case "dateFilterColumn":
139264  			if v != nil {
139265  				var dateFilterColumn interface{}
139266  				err = json.Unmarshal(*v, &dateFilterColumn)
139267  				if err != nil {
139268  					return err
139269  				}
139270  				o3s.DateFilterColumn = dateFilterColumn
139271  			}
139272  		case "startTime":
139273  			if v != nil {
139274  				var startTime interface{}
139275  				err = json.Unmarshal(*v, &startTime)
139276  				if err != nil {
139277  					return err
139278  				}
139279  				o3s.StartTime = startTime
139280  			}
139281  		case "endTime":
139282  			if v != nil {
139283  				var endTime interface{}
139284  				err = json.Unmarshal(*v, &endTime)
139285  				if err != nil {
139286  					return err
139287  				}
139288  				o3s.EndTime = endTime
139289  			}
139290  		case "outputColumns":
139291  			if v != nil {
139292  				var outputColumns interface{}
139293  				err = json.Unmarshal(*v, &outputColumns)
139294  				if err != nil {
139295  					return err
139296  				}
139297  				o3s.OutputColumns = outputColumns
139298  			}
139299  		default:
139300  			if v != nil {
139301  				var additionalProperties interface{}
139302  				err = json.Unmarshal(*v, &additionalProperties)
139303  				if err != nil {
139304  					return err
139305  				}
139306  				if o3s.AdditionalProperties == nil {
139307  					o3s.AdditionalProperties = make(map[string]interface{})
139308  				}
139309  				o3s.AdditionalProperties[k] = additionalProperties
139310  			}
139311  		case "sourceRetryCount":
139312  			if v != nil {
139313  				var sourceRetryCount interface{}
139314  				err = json.Unmarshal(*v, &sourceRetryCount)
139315  				if err != nil {
139316  					return err
139317  				}
139318  				o3s.SourceRetryCount = sourceRetryCount
139319  			}
139320  		case "sourceRetryWait":
139321  			if v != nil {
139322  				var sourceRetryWait interface{}
139323  				err = json.Unmarshal(*v, &sourceRetryWait)
139324  				if err != nil {
139325  					return err
139326  				}
139327  				o3s.SourceRetryWait = sourceRetryWait
139328  			}
139329  		case "maxConcurrentConnections":
139330  			if v != nil {
139331  				var maxConcurrentConnections interface{}
139332  				err = json.Unmarshal(*v, &maxConcurrentConnections)
139333  				if err != nil {
139334  					return err
139335  				}
139336  				o3s.MaxConcurrentConnections = maxConcurrentConnections
139337  			}
139338  		case "type":
139339  			if v != nil {
139340  				var typeVar TypeBasicCopySource
139341  				err = json.Unmarshal(*v, &typeVar)
139342  				if err != nil {
139343  					return err
139344  				}
139345  				o3s.Type = typeVar
139346  			}
139347  		}
139348  	}
139349  
139350  	return nil
139351  }
139352  
139353  // OracleLinkedService oracle database.
139354  type OracleLinkedService struct {
139355  	// OracleLinkedServiceTypeProperties - Oracle database linked service properties.
139356  	*OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
139357  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139358  	AdditionalProperties map[string]interface{} `json:""`
139359  	// ConnectVia - The integration runtime reference.
139360  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
139361  	// Description - Linked service description.
139362  	Description *string `json:"description,omitempty"`
139363  	// Parameters - Parameters for linked service.
139364  	Parameters map[string]*ParameterSpecification `json:"parameters"`
139365  	// Annotations - List of tags that can be used for describing the linked service.
139366  	Annotations *[]interface{} `json:"annotations,omitempty"`
139367  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
139368  	Type TypeBasicLinkedService `json:"type,omitempty"`
139369  }
139370  
139371  // MarshalJSON is the custom marshaler for OracleLinkedService.
139372  func (ols OracleLinkedService) MarshalJSON() ([]byte, error) {
139373  	ols.Type = TypeOracle
139374  	objectMap := make(map[string]interface{})
139375  	if ols.OracleLinkedServiceTypeProperties != nil {
139376  		objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties
139377  	}
139378  	if ols.ConnectVia != nil {
139379  		objectMap["connectVia"] = ols.ConnectVia
139380  	}
139381  	if ols.Description != nil {
139382  		objectMap["description"] = ols.Description
139383  	}
139384  	if ols.Parameters != nil {
139385  		objectMap["parameters"] = ols.Parameters
139386  	}
139387  	if ols.Annotations != nil {
139388  		objectMap["annotations"] = ols.Annotations
139389  	}
139390  	if ols.Type != "" {
139391  		objectMap["type"] = ols.Type
139392  	}
139393  	for k, v := range ols.AdditionalProperties {
139394  		objectMap[k] = v
139395  	}
139396  	return json.Marshal(objectMap)
139397  }
139398  
139399  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139400  func (ols OracleLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
139401  	return nil, false
139402  }
139403  
139404  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139405  func (ols OracleLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
139406  	return nil, false
139407  }
139408  
139409  // AsSapTableLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139410  func (ols OracleLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
139411  	return nil, false
139412  }
139413  
139414  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139415  func (ols OracleLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
139416  	return nil, false
139417  }
139418  
139419  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139420  func (ols OracleLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
139421  	return nil, false
139422  }
139423  
139424  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139425  func (ols OracleLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
139426  	return nil, false
139427  }
139428  
139429  // AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139430  func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
139431  	return nil, false
139432  }
139433  
139434  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139435  func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
139436  	return nil, false
139437  }
139438  
139439  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139440  func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
139441  	return nil, false
139442  }
139443  
139444  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139445  func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
139446  	return nil, false
139447  }
139448  
139449  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139450  func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
139451  	return nil, false
139452  }
139453  
139454  // AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139455  func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
139456  	return nil, false
139457  }
139458  
139459  // AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139460  func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
139461  	return nil, false
139462  }
139463  
139464  // AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139465  func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
139466  	return nil, false
139467  }
139468  
139469  // AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139470  func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
139471  	return nil, false
139472  }
139473  
139474  // AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139475  func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
139476  	return nil, false
139477  }
139478  
139479  // AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139480  func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
139481  	return nil, false
139482  }
139483  
139484  // AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139485  func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
139486  	return nil, false
139487  }
139488  
139489  // AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139490  func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
139491  	return nil, false
139492  }
139493  
139494  // AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139495  func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
139496  	return nil, false
139497  }
139498  
139499  // AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139500  func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
139501  	return nil, false
139502  }
139503  
139504  // AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139505  func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
139506  	return nil, false
139507  }
139508  
139509  // AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139510  func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
139511  	return nil, false
139512  }
139513  
139514  // AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139515  func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
139516  	return nil, false
139517  }
139518  
139519  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139520  func (ols OracleLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
139521  	return nil, false
139522  }
139523  
139524  // AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139525  func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
139526  	return nil, false
139527  }
139528  
139529  // AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139530  func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
139531  	return nil, false
139532  }
139533  
139534  // AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139535  func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
139536  	return nil, false
139537  }
139538  
139539  // AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139540  func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
139541  	return nil, false
139542  }
139543  
139544  // AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139545  func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
139546  	return nil, false
139547  }
139548  
139549  // AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139550  func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
139551  	return nil, false
139552  }
139553  
139554  // AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139555  func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
139556  	return nil, false
139557  }
139558  
139559  // AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139560  func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
139561  	return nil, false
139562  }
139563  
139564  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139565  func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
139566  	return nil, false
139567  }
139568  
139569  // AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139570  func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
139571  	return nil, false
139572  }
139573  
139574  // AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139575  func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
139576  	return nil, false
139577  }
139578  
139579  // AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139580  func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
139581  	return nil, false
139582  }
139583  
139584  // AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139585  func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
139586  	return nil, false
139587  }
139588  
139589  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139590  func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
139591  	return nil, false
139592  }
139593  
139594  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139595  func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
139596  	return nil, false
139597  }
139598  
139599  // AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139600  func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
139601  	return nil, false
139602  }
139603  
139604  // AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139605  func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
139606  	return nil, false
139607  }
139608  
139609  // AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139610  func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
139611  	return nil, false
139612  }
139613  
139614  // AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139615  func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
139616  	return nil, false
139617  }
139618  
139619  // AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139620  func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
139621  	return nil, false
139622  }
139623  
139624  // AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139625  func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
139626  	return nil, false
139627  }
139628  
139629  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139630  func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
139631  	return nil, false
139632  }
139633  
139634  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139635  func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
139636  	return nil, false
139637  }
139638  
139639  // AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService.
139640  func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
139641  	return nil, false
139642  }
139643  
139644  // AsRestServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139645  func (ols OracleLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
139646  	return nil, false
139647  }
139648  
139649  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139650  func (ols OracleLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
139651  	return nil, false
139652  }
139653  
139654  // AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139655  func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
139656  	return nil, false
139657  }
139658  
139659  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139660  func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
139661  	return nil, false
139662  }
139663  
139664  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139665  func (ols OracleLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
139666  	return nil, false
139667  }
139668  
139669  // AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139670  func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
139671  	return nil, false
139672  }
139673  
139674  // AsOffice365LinkedService is the BasicLinkedService implementation for OracleLinkedService.
139675  func (ols OracleLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
139676  	return nil, false
139677  }
139678  
139679  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139680  func (ols OracleLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
139681  	return nil, false
139682  }
139683  
139684  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139685  func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
139686  	return nil, false
139687  }
139688  
139689  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleLinkedService.
139690  func (ols OracleLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
139691  	return nil, false
139692  }
139693  
139694  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
139695  func (ols OracleLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
139696  	return nil, false
139697  }
139698  
139699  // AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139700  func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
139701  	return nil, false
139702  }
139703  
139704  // AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139705  func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
139706  	return nil, false
139707  }
139708  
139709  // AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139710  func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
139711  	return nil, false
139712  }
139713  
139714  // AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139715  func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
139716  	return nil, false
139717  }
139718  
139719  // AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139720  func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
139721  	return nil, false
139722  }
139723  
139724  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139725  func (ols OracleLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
139726  	return nil, false
139727  }
139728  
139729  // AsInformixLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139730  func (ols OracleLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
139731  	return nil, false
139732  }
139733  
139734  // AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139735  func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
139736  	return nil, false
139737  }
139738  
139739  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139740  func (ols OracleLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
139741  	return nil, false
139742  }
139743  
139744  // AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139745  func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
139746  	return nil, false
139747  }
139748  
139749  // AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139750  func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
139751  	return nil, false
139752  }
139753  
139754  // AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService.
139755  func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
139756  	return nil, false
139757  }
139758  
139759  // AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139760  func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
139761  	return nil, false
139762  }
139763  
139764  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139765  func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
139766  	return nil, false
139767  }
139768  
139769  // AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139770  func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
139771  	return nil, false
139772  }
139773  
139774  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139775  func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
139776  	return nil, false
139777  }
139778  
139779  // AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139780  func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
139781  	return &ols, true
139782  }
139783  
139784  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139785  func (ols OracleLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
139786  	return nil, false
139787  }
139788  
139789  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139790  func (ols OracleLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
139791  	return nil, false
139792  }
139793  
139794  // AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139795  func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
139796  	return nil, false
139797  }
139798  
139799  // AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139800  func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
139801  	return nil, false
139802  }
139803  
139804  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139805  func (ols OracleLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
139806  	return nil, false
139807  }
139808  
139809  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139810  func (ols OracleLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
139811  	return nil, false
139812  }
139813  
139814  // AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139815  func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
139816  	return nil, false
139817  }
139818  
139819  // AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139820  func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
139821  	return nil, false
139822  }
139823  
139824  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139825  func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
139826  	return nil, false
139827  }
139828  
139829  // AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139830  func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
139831  	return nil, false
139832  }
139833  
139834  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleLinkedService.
139835  func (ols OracleLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
139836  	return nil, false
139837  }
139838  
139839  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139840  func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
139841  	return nil, false
139842  }
139843  
139844  // AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139845  func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
139846  	return nil, false
139847  }
139848  
139849  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139850  func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
139851  	return nil, false
139852  }
139853  
139854  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139855  func (ols OracleLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
139856  	return nil, false
139857  }
139858  
139859  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139860  func (ols OracleLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
139861  	return nil, false
139862  }
139863  
139864  // AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139865  func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
139866  	return nil, false
139867  }
139868  
139869  // AsLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139870  func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) {
139871  	return nil, false
139872  }
139873  
139874  // AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService.
139875  func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
139876  	return &ols, true
139877  }
139878  
139879  // UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct.
139880  func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error {
139881  	var m map[string]*json.RawMessage
139882  	err := json.Unmarshal(body, &m)
139883  	if err != nil {
139884  		return err
139885  	}
139886  	for k, v := range m {
139887  		switch k {
139888  		case "typeProperties":
139889  			if v != nil {
139890  				var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties
139891  				err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties)
139892  				if err != nil {
139893  					return err
139894  				}
139895  				ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties
139896  			}
139897  		default:
139898  			if v != nil {
139899  				var additionalProperties interface{}
139900  				err = json.Unmarshal(*v, &additionalProperties)
139901  				if err != nil {
139902  					return err
139903  				}
139904  				if ols.AdditionalProperties == nil {
139905  					ols.AdditionalProperties = make(map[string]interface{})
139906  				}
139907  				ols.AdditionalProperties[k] = additionalProperties
139908  			}
139909  		case "connectVia":
139910  			if v != nil {
139911  				var connectVia IntegrationRuntimeReference
139912  				err = json.Unmarshal(*v, &connectVia)
139913  				if err != nil {
139914  					return err
139915  				}
139916  				ols.ConnectVia = &connectVia
139917  			}
139918  		case "description":
139919  			if v != nil {
139920  				var description string
139921  				err = json.Unmarshal(*v, &description)
139922  				if err != nil {
139923  					return err
139924  				}
139925  				ols.Description = &description
139926  			}
139927  		case "parameters":
139928  			if v != nil {
139929  				var parameters map[string]*ParameterSpecification
139930  				err = json.Unmarshal(*v, &parameters)
139931  				if err != nil {
139932  					return err
139933  				}
139934  				ols.Parameters = parameters
139935  			}
139936  		case "annotations":
139937  			if v != nil {
139938  				var annotations []interface{}
139939  				err = json.Unmarshal(*v, &annotations)
139940  				if err != nil {
139941  					return err
139942  				}
139943  				ols.Annotations = &annotations
139944  			}
139945  		case "type":
139946  			if v != nil {
139947  				var typeVar TypeBasicLinkedService
139948  				err = json.Unmarshal(*v, &typeVar)
139949  				if err != nil {
139950  					return err
139951  				}
139952  				ols.Type = typeVar
139953  			}
139954  		}
139955  	}
139956  
139957  	return nil
139958  }
139959  
139960  // OracleLinkedServiceTypeProperties oracle database linked service properties.
139961  type OracleLinkedServiceTypeProperties struct {
139962  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
139963  	ConnectionString interface{} `json:"connectionString,omitempty"`
139964  	// Password - The Azure key vault secret reference of password in connection string.
139965  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
139966  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
139967  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
139968  }
139969  
139970  // OraclePartitionSettings the settings that will be leveraged for Oracle source partitioning.
139971  type OraclePartitionSettings struct {
139972  	// PartitionNames - Names of the physical partitions of Oracle table.
139973  	PartitionNames interface{} `json:"partitionNames,omitempty"`
139974  	// PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
139975  	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
139976  	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
139977  	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
139978  	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
139979  	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
139980  }
139981  
139982  // OracleServiceCloudLinkedService oracle Service Cloud linked service.
139983  type OracleServiceCloudLinkedService struct {
139984  	// OracleServiceCloudLinkedServiceTypeProperties - Oracle Service Cloud linked service properties.
139985  	*OracleServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
139986  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
139987  	AdditionalProperties map[string]interface{} `json:""`
139988  	// ConnectVia - The integration runtime reference.
139989  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
139990  	// Description - Linked service description.
139991  	Description *string `json:"description,omitempty"`
139992  	// Parameters - Parameters for linked service.
139993  	Parameters map[string]*ParameterSpecification `json:"parameters"`
139994  	// Annotations - List of tags that can be used for describing the linked service.
139995  	Annotations *[]interface{} `json:"annotations,omitempty"`
139996  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
139997  	Type TypeBasicLinkedService `json:"type,omitempty"`
139998  }
139999  
140000  // MarshalJSON is the custom marshaler for OracleServiceCloudLinkedService.
140001  func (oscls OracleServiceCloudLinkedService) MarshalJSON() ([]byte, error) {
140002  	oscls.Type = TypeOracleServiceCloud
140003  	objectMap := make(map[string]interface{})
140004  	if oscls.OracleServiceCloudLinkedServiceTypeProperties != nil {
140005  		objectMap["typeProperties"] = oscls.OracleServiceCloudLinkedServiceTypeProperties
140006  	}
140007  	if oscls.ConnectVia != nil {
140008  		objectMap["connectVia"] = oscls.ConnectVia
140009  	}
140010  	if oscls.Description != nil {
140011  		objectMap["description"] = oscls.Description
140012  	}
140013  	if oscls.Parameters != nil {
140014  		objectMap["parameters"] = oscls.Parameters
140015  	}
140016  	if oscls.Annotations != nil {
140017  		objectMap["annotations"] = oscls.Annotations
140018  	}
140019  	if oscls.Type != "" {
140020  		objectMap["type"] = oscls.Type
140021  	}
140022  	for k, v := range oscls.AdditionalProperties {
140023  		objectMap[k] = v
140024  	}
140025  	return json.Marshal(objectMap)
140026  }
140027  
140028  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140029  func (oscls OracleServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
140030  	return nil, false
140031  }
140032  
140033  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140034  func (oscls OracleServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
140035  	return nil, false
140036  }
140037  
140038  // AsSapTableLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140039  func (oscls OracleServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
140040  	return nil, false
140041  }
140042  
140043  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140044  func (oscls OracleServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
140045  	return nil, false
140046  }
140047  
140048  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140049  func (oscls OracleServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
140050  	return &oscls, true
140051  }
140052  
140053  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140054  func (oscls OracleServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
140055  	return nil, false
140056  }
140057  
140058  // AsResponsysLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140059  func (oscls OracleServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
140060  	return nil, false
140061  }
140062  
140063  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140064  func (oscls OracleServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
140065  	return nil, false
140066  }
140067  
140068  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140069  func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
140070  	return nil, false
140071  }
140072  
140073  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140074  func (oscls OracleServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
140075  	return nil, false
140076  }
140077  
140078  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140079  func (oscls OracleServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
140080  	return nil, false
140081  }
140082  
140083  // AsNetezzaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140084  func (oscls OracleServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
140085  	return nil, false
140086  }
140087  
140088  // AsVerticaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140089  func (oscls OracleServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
140090  	return nil, false
140091  }
140092  
140093  // AsZohoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140094  func (oscls OracleServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
140095  	return nil, false
140096  }
140097  
140098  // AsXeroLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140099  func (oscls OracleServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
140100  	return nil, false
140101  }
140102  
140103  // AsSquareLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140104  func (oscls OracleServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
140105  	return nil, false
140106  }
140107  
140108  // AsSparkLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140109  func (oscls OracleServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
140110  	return nil, false
140111  }
140112  
140113  // AsShopifyLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140114  func (oscls OracleServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
140115  	return nil, false
140116  }
140117  
140118  // AsServiceNowLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140119  func (oscls OracleServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
140120  	return nil, false
140121  }
140122  
140123  // AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140124  func (oscls OracleServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
140125  	return nil, false
140126  }
140127  
140128  // AsPrestoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140129  func (oscls OracleServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
140130  	return nil, false
140131  }
140132  
140133  // AsPhoenixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140134  func (oscls OracleServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
140135  	return nil, false
140136  }
140137  
140138  // AsPaypalLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140139  func (oscls OracleServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
140140  	return nil, false
140141  }
140142  
140143  // AsMarketoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140144  func (oscls OracleServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
140145  	return nil, false
140146  }
140147  
140148  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140149  func (oscls OracleServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
140150  	return nil, false
140151  }
140152  
140153  // AsMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140154  func (oscls OracleServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
140155  	return nil, false
140156  }
140157  
140158  // AsMagentoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140159  func (oscls OracleServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
140160  	return nil, false
140161  }
140162  
140163  // AsJiraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140164  func (oscls OracleServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
140165  	return nil, false
140166  }
140167  
140168  // AsImpalaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140169  func (oscls OracleServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
140170  	return nil, false
140171  }
140172  
140173  // AsHubspotLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140174  func (oscls OracleServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
140175  	return nil, false
140176  }
140177  
140178  // AsHiveLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140179  func (oscls OracleServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
140180  	return nil, false
140181  }
140182  
140183  // AsHBaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140184  func (oscls OracleServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
140185  	return nil, false
140186  }
140187  
140188  // AsGreenplumLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140189  func (oscls OracleServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
140190  	return nil, false
140191  }
140192  
140193  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140194  func (oscls OracleServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
140195  	return nil, false
140196  }
140197  
140198  // AsEloquaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140199  func (oscls OracleServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
140200  	return nil, false
140201  }
140202  
140203  // AsDrillLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140204  func (oscls OracleServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
140205  	return nil, false
140206  }
140207  
140208  // AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140209  func (oscls OracleServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
140210  	return nil, false
140211  }
140212  
140213  // AsConcurLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140214  func (oscls OracleServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
140215  	return nil, false
140216  }
140217  
140218  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140219  func (oscls OracleServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
140220  	return nil, false
140221  }
140222  
140223  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140224  func (oscls OracleServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
140225  	return nil, false
140226  }
140227  
140228  // AsSapHanaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140229  func (oscls OracleServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
140230  	return nil, false
140231  }
140232  
140233  // AsSapBWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140234  func (oscls OracleServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
140235  	return nil, false
140236  }
140237  
140238  // AsSftpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140239  func (oscls OracleServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
140240  	return nil, false
140241  }
140242  
140243  // AsFtpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140244  func (oscls OracleServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
140245  	return nil, false
140246  }
140247  
140248  // AsHTTPLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140249  func (oscls OracleServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
140250  	return nil, false
140251  }
140252  
140253  // AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140254  func (oscls OracleServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
140255  	return nil, false
140256  }
140257  
140258  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140259  func (oscls OracleServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
140260  	return nil, false
140261  }
140262  
140263  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140264  func (oscls OracleServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
140265  	return nil, false
140266  }
140267  
140268  // AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140269  func (oscls OracleServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
140270  	return nil, false
140271  }
140272  
140273  // AsRestServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140274  func (oscls OracleServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
140275  	return nil, false
140276  }
140277  
140278  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140279  func (oscls OracleServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
140280  	return nil, false
140281  }
140282  
140283  // AsSapEccLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140284  func (oscls OracleServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
140285  	return nil, false
140286  }
140287  
140288  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140289  func (oscls OracleServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
140290  	return nil, false
140291  }
140292  
140293  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140294  func (oscls OracleServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
140295  	return nil, false
140296  }
140297  
140298  // AsSalesforceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140299  func (oscls OracleServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
140300  	return nil, false
140301  }
140302  
140303  // AsOffice365LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140304  func (oscls OracleServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
140305  	return nil, false
140306  }
140307  
140308  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140309  func (oscls OracleServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
140310  	return nil, false
140311  }
140312  
140313  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140314  func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
140315  	return nil, false
140316  }
140317  
140318  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140319  func (oscls OracleServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
140320  	return nil, false
140321  }
140322  
140323  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140324  func (oscls OracleServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
140325  	return nil, false
140326  }
140327  
140328  // AsMongoDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140329  func (oscls OracleServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
140330  	return nil, false
140331  }
140332  
140333  // AsCassandraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140334  func (oscls OracleServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
140335  	return nil, false
140336  }
140337  
140338  // AsWebLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140339  func (oscls OracleServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
140340  	return nil, false
140341  }
140342  
140343  // AsODataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140344  func (oscls OracleServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
140345  	return nil, false
140346  }
140347  
140348  // AsHdfsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140349  func (oscls OracleServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
140350  	return nil, false
140351  }
140352  
140353  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140354  func (oscls OracleServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
140355  	return nil, false
140356  }
140357  
140358  // AsInformixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140359  func (oscls OracleServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
140360  	return nil, false
140361  }
140362  
140363  // AsOdbcLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140364  func (oscls OracleServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
140365  	return nil, false
140366  }
140367  
140368  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140369  func (oscls OracleServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
140370  	return nil, false
140371  }
140372  
140373  // AsAzureMLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140374  func (oscls OracleServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
140375  	return nil, false
140376  }
140377  
140378  // AsTeradataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140379  func (oscls OracleServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
140380  	return nil, false
140381  }
140382  
140383  // AsDb2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140384  func (oscls OracleServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
140385  	return nil, false
140386  }
140387  
140388  // AsSybaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140389  func (oscls OracleServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
140390  	return nil, false
140391  }
140392  
140393  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140394  func (oscls OracleServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
140395  	return nil, false
140396  }
140397  
140398  // AsMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140399  func (oscls OracleServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
140400  	return nil, false
140401  }
140402  
140403  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140404  func (oscls OracleServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
140405  	return nil, false
140406  }
140407  
140408  // AsOracleLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140409  func (oscls OracleServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
140410  	return nil, false
140411  }
140412  
140413  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140414  func (oscls OracleServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
140415  	return nil, false
140416  }
140417  
140418  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140419  func (oscls OracleServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
140420  	return nil, false
140421  }
140422  
140423  // AsFileServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140424  func (oscls OracleServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
140425  	return nil, false
140426  }
140427  
140428  // AsHDInsightLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140429  func (oscls OracleServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
140430  	return nil, false
140431  }
140432  
140433  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140434  func (oscls OracleServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
140435  	return nil, false
140436  }
140437  
140438  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140439  func (oscls OracleServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
140440  	return nil, false
140441  }
140442  
140443  // AsDynamicsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140444  func (oscls OracleServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
140445  	return nil, false
140446  }
140447  
140448  // AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140449  func (oscls OracleServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
140450  	return nil, false
140451  }
140452  
140453  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140454  func (oscls OracleServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
140455  	return nil, false
140456  }
140457  
140458  // AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140459  func (oscls OracleServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
140460  	return nil, false
140461  }
140462  
140463  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140464  func (oscls OracleServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
140465  	return nil, false
140466  }
140467  
140468  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140469  func (oscls OracleServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
140470  	return nil, false
140471  }
140472  
140473  // AsSQLServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140474  func (oscls OracleServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
140475  	return nil, false
140476  }
140477  
140478  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140479  func (oscls OracleServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
140480  	return nil, false
140481  }
140482  
140483  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140484  func (oscls OracleServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
140485  	return nil, false
140486  }
140487  
140488  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140489  func (oscls OracleServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
140490  	return nil, false
140491  }
140492  
140493  // AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140494  func (oscls OracleServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
140495  	return nil, false
140496  }
140497  
140498  // AsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140499  func (oscls OracleServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
140500  	return nil, false
140501  }
140502  
140503  // AsBasicLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService.
140504  func (oscls OracleServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
140505  	return &oscls, true
140506  }
140507  
140508  // UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedService struct.
140509  func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error {
140510  	var m map[string]*json.RawMessage
140511  	err := json.Unmarshal(body, &m)
140512  	if err != nil {
140513  		return err
140514  	}
140515  	for k, v := range m {
140516  		switch k {
140517  		case "typeProperties":
140518  			if v != nil {
140519  				var oracleServiceCloudLinkedServiceTypeProperties OracleServiceCloudLinkedServiceTypeProperties
140520  				err = json.Unmarshal(*v, &oracleServiceCloudLinkedServiceTypeProperties)
140521  				if err != nil {
140522  					return err
140523  				}
140524  				oscls.OracleServiceCloudLinkedServiceTypeProperties = &oracleServiceCloudLinkedServiceTypeProperties
140525  			}
140526  		default:
140527  			if v != nil {
140528  				var additionalProperties interface{}
140529  				err = json.Unmarshal(*v, &additionalProperties)
140530  				if err != nil {
140531  					return err
140532  				}
140533  				if oscls.AdditionalProperties == nil {
140534  					oscls.AdditionalProperties = make(map[string]interface{})
140535  				}
140536  				oscls.AdditionalProperties[k] = additionalProperties
140537  			}
140538  		case "connectVia":
140539  			if v != nil {
140540  				var connectVia IntegrationRuntimeReference
140541  				err = json.Unmarshal(*v, &connectVia)
140542  				if err != nil {
140543  					return err
140544  				}
140545  				oscls.ConnectVia = &connectVia
140546  			}
140547  		case "description":
140548  			if v != nil {
140549  				var description string
140550  				err = json.Unmarshal(*v, &description)
140551  				if err != nil {
140552  					return err
140553  				}
140554  				oscls.Description = &description
140555  			}
140556  		case "parameters":
140557  			if v != nil {
140558  				var parameters map[string]*ParameterSpecification
140559  				err = json.Unmarshal(*v, &parameters)
140560  				if err != nil {
140561  					return err
140562  				}
140563  				oscls.Parameters = parameters
140564  			}
140565  		case "annotations":
140566  			if v != nil {
140567  				var annotations []interface{}
140568  				err = json.Unmarshal(*v, &annotations)
140569  				if err != nil {
140570  					return err
140571  				}
140572  				oscls.Annotations = &annotations
140573  			}
140574  		case "type":
140575  			if v != nil {
140576  				var typeVar TypeBasicLinkedService
140577  				err = json.Unmarshal(*v, &typeVar)
140578  				if err != nil {
140579  					return err
140580  				}
140581  				oscls.Type = typeVar
140582  			}
140583  		}
140584  	}
140585  
140586  	return nil
140587  }
140588  
140589  // OracleServiceCloudLinkedServiceTypeProperties oracle Service Cloud linked service properties.
140590  type OracleServiceCloudLinkedServiceTypeProperties struct {
140591  	// Host - The URL of the Oracle Service Cloud instance.
140592  	Host interface{} `json:"host,omitempty"`
140593  	// Username - The user name that you use to access Oracle Service Cloud server.
140594  	Username interface{} `json:"username,omitempty"`
140595  	// Password - The password corresponding to the user name that you provided in the username key.
140596  	Password BasicSecretBase `json:"password,omitempty"`
140597  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
140598  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
140599  	// 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).
140600  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
140601  	// 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).
140602  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
140603  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
140604  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
140605  }
140606  
140607  // UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedServiceTypeProperties struct.
140608  func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
140609  	var m map[string]*json.RawMessage
140610  	err := json.Unmarshal(body, &m)
140611  	if err != nil {
140612  		return err
140613  	}
140614  	for k, v := range m {
140615  		switch k {
140616  		case "host":
140617  			if v != nil {
140618  				var host interface{}
140619  				err = json.Unmarshal(*v, &host)
140620  				if err != nil {
140621  					return err
140622  				}
140623  				osclstp.Host = host
140624  			}
140625  		case "username":
140626  			if v != nil {
140627  				var username interface{}
140628  				err = json.Unmarshal(*v, &username)
140629  				if err != nil {
140630  					return err
140631  				}
140632  				osclstp.Username = username
140633  			}
140634  		case "password":
140635  			if v != nil {
140636  				password, err := unmarshalBasicSecretBase(*v)
140637  				if err != nil {
140638  					return err
140639  				}
140640  				osclstp.Password = password
140641  			}
140642  		case "useEncryptedEndpoints":
140643  			if v != nil {
140644  				var useEncryptedEndpoints interface{}
140645  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
140646  				if err != nil {
140647  					return err
140648  				}
140649  				osclstp.UseEncryptedEndpoints = useEncryptedEndpoints
140650  			}
140651  		case "useHostVerification":
140652  			if v != nil {
140653  				var useHostVerification interface{}
140654  				err = json.Unmarshal(*v, &useHostVerification)
140655  				if err != nil {
140656  					return err
140657  				}
140658  				osclstp.UseHostVerification = useHostVerification
140659  			}
140660  		case "usePeerVerification":
140661  			if v != nil {
140662  				var usePeerVerification interface{}
140663  				err = json.Unmarshal(*v, &usePeerVerification)
140664  				if err != nil {
140665  					return err
140666  				}
140667  				osclstp.UsePeerVerification = usePeerVerification
140668  			}
140669  		case "encryptedCredential":
140670  			if v != nil {
140671  				var encryptedCredential interface{}
140672  				err = json.Unmarshal(*v, &encryptedCredential)
140673  				if err != nil {
140674  					return err
140675  				}
140676  				osclstp.EncryptedCredential = encryptedCredential
140677  			}
140678  		}
140679  	}
140680  
140681  	return nil
140682  }
140683  
140684  // OracleServiceCloudObjectDataset oracle Service Cloud dataset.
140685  type OracleServiceCloudObjectDataset struct {
140686  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
140687  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
140688  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
140689  	AdditionalProperties map[string]interface{} `json:""`
140690  	// Description - Dataset description.
140691  	Description *string `json:"description,omitempty"`
140692  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
140693  	Structure interface{} `json:"structure,omitempty"`
140694  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
140695  	Schema interface{} `json:"schema,omitempty"`
140696  	// LinkedServiceName - Linked service reference.
140697  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
140698  	// Parameters - Parameters for dataset.
140699  	Parameters map[string]*ParameterSpecification `json:"parameters"`
140700  	// Annotations - List of tags that can be used for describing the Dataset.
140701  	Annotations *[]interface{} `json:"annotations,omitempty"`
140702  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
140703  	Folder *DatasetFolder `json:"folder,omitempty"`
140704  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
140705  	Type TypeBasicDataset `json:"type,omitempty"`
140706  }
140707  
140708  // MarshalJSON is the custom marshaler for OracleServiceCloudObjectDataset.
140709  func (oscod OracleServiceCloudObjectDataset) MarshalJSON() ([]byte, error) {
140710  	oscod.Type = TypeOracleServiceCloudObject
140711  	objectMap := make(map[string]interface{})
140712  	if oscod.GenericDatasetTypeProperties != nil {
140713  		objectMap["typeProperties"] = oscod.GenericDatasetTypeProperties
140714  	}
140715  	if oscod.Description != nil {
140716  		objectMap["description"] = oscod.Description
140717  	}
140718  	if oscod.Structure != nil {
140719  		objectMap["structure"] = oscod.Structure
140720  	}
140721  	if oscod.Schema != nil {
140722  		objectMap["schema"] = oscod.Schema
140723  	}
140724  	if oscod.LinkedServiceName != nil {
140725  		objectMap["linkedServiceName"] = oscod.LinkedServiceName
140726  	}
140727  	if oscod.Parameters != nil {
140728  		objectMap["parameters"] = oscod.Parameters
140729  	}
140730  	if oscod.Annotations != nil {
140731  		objectMap["annotations"] = oscod.Annotations
140732  	}
140733  	if oscod.Folder != nil {
140734  		objectMap["folder"] = oscod.Folder
140735  	}
140736  	if oscod.Type != "" {
140737  		objectMap["type"] = oscod.Type
140738  	}
140739  	for k, v := range oscod.AdditionalProperties {
140740  		objectMap[k] = v
140741  	}
140742  	return json.Marshal(objectMap)
140743  }
140744  
140745  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140746  func (oscod OracleServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
140747  	return nil, false
140748  }
140749  
140750  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140751  func (oscod OracleServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
140752  	return nil, false
140753  }
140754  
140755  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140756  func (oscod OracleServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
140757  	return &oscod, true
140758  }
140759  
140760  // AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140761  func (oscod OracleServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
140762  	return nil, false
140763  }
140764  
140765  // AsResponsysObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140766  func (oscod OracleServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
140767  	return nil, false
140768  }
140769  
140770  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140771  func (oscod OracleServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
140772  	return nil, false
140773  }
140774  
140775  // AsVerticaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140776  func (oscod OracleServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
140777  	return nil, false
140778  }
140779  
140780  // AsNetezzaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140781  func (oscod OracleServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
140782  	return nil, false
140783  }
140784  
140785  // AsZohoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140786  func (oscod OracleServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
140787  	return nil, false
140788  }
140789  
140790  // AsXeroObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140791  func (oscod OracleServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
140792  	return nil, false
140793  }
140794  
140795  // AsSquareObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140796  func (oscod OracleServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
140797  	return nil, false
140798  }
140799  
140800  // AsSparkObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140801  func (oscod OracleServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
140802  	return nil, false
140803  }
140804  
140805  // AsShopifyObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140806  func (oscod OracleServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
140807  	return nil, false
140808  }
140809  
140810  // AsServiceNowObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140811  func (oscod OracleServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
140812  	return nil, false
140813  }
140814  
140815  // AsQuickBooksObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140816  func (oscod OracleServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
140817  	return nil, false
140818  }
140819  
140820  // AsPrestoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140821  func (oscod OracleServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
140822  	return nil, false
140823  }
140824  
140825  // AsPhoenixObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140826  func (oscod OracleServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
140827  	return nil, false
140828  }
140829  
140830  // AsPaypalObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140831  func (oscod OracleServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
140832  	return nil, false
140833  }
140834  
140835  // AsMarketoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140836  func (oscod OracleServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
140837  	return nil, false
140838  }
140839  
140840  // AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140841  func (oscod OracleServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
140842  	return nil, false
140843  }
140844  
140845  // AsMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140846  func (oscod OracleServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
140847  	return nil, false
140848  }
140849  
140850  // AsMagentoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140851  func (oscod OracleServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
140852  	return nil, false
140853  }
140854  
140855  // AsJiraObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140856  func (oscod OracleServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
140857  	return nil, false
140858  }
140859  
140860  // AsImpalaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140861  func (oscod OracleServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
140862  	return nil, false
140863  }
140864  
140865  // AsHubspotObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140866  func (oscod OracleServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
140867  	return nil, false
140868  }
140869  
140870  // AsHiveObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140871  func (oscod OracleServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
140872  	return nil, false
140873  }
140874  
140875  // AsHBaseObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140876  func (oscod OracleServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
140877  	return nil, false
140878  }
140879  
140880  // AsGreenplumTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140881  func (oscod OracleServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
140882  	return nil, false
140883  }
140884  
140885  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140886  func (oscod OracleServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
140887  	return nil, false
140888  }
140889  
140890  // AsEloquaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140891  func (oscod OracleServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
140892  	return nil, false
140893  }
140894  
140895  // AsDrillTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140896  func (oscod OracleServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
140897  	return nil, false
140898  }
140899  
140900  // AsCouchbaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140901  func (oscod OracleServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
140902  	return nil, false
140903  }
140904  
140905  // AsConcurObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140906  func (oscod OracleServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
140907  	return nil, false
140908  }
140909  
140910  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140911  func (oscod OracleServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
140912  	return nil, false
140913  }
140914  
140915  // AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140916  func (oscod OracleServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
140917  	return nil, false
140918  }
140919  
140920  // AsAzureSearchIndexDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140921  func (oscod OracleServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
140922  	return nil, false
140923  }
140924  
140925  // AsWebTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140926  func (oscod OracleServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
140927  	return nil, false
140928  }
140929  
140930  // AsSapTableResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140931  func (oscod OracleServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
140932  	return nil, false
140933  }
140934  
140935  // AsRestResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140936  func (oscod OracleServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
140937  	return nil, false
140938  }
140939  
140940  // AsSQLServerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140941  func (oscod OracleServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
140942  	return nil, false
140943  }
140944  
140945  // AsSapOpenHubTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140946  func (oscod OracleServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
140947  	return nil, false
140948  }
140949  
140950  // AsSapHanaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140951  func (oscod OracleServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
140952  	return nil, false
140953  }
140954  
140955  // AsSapEccResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140956  func (oscod OracleServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
140957  	return nil, false
140958  }
140959  
140960  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140961  func (oscod OracleServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
140962  	return nil, false
140963  }
140964  
140965  // AsSapBwCubeDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140966  func (oscod OracleServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
140967  	return nil, false
140968  }
140969  
140970  // AsSybaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140971  func (oscod OracleServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
140972  	return nil, false
140973  }
140974  
140975  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140976  func (oscod OracleServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
140977  	return nil, false
140978  }
140979  
140980  // AsSalesforceObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140981  func (oscod OracleServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
140982  	return nil, false
140983  }
140984  
140985  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140986  func (oscod OracleServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
140987  	return nil, false
140988  }
140989  
140990  // AsPostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140991  func (oscod OracleServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
140992  	return nil, false
140993  }
140994  
140995  // AsMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
140996  func (oscod OracleServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
140997  	return nil, false
140998  }
140999  
141000  // AsOdbcTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141001  func (oscod OracleServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
141002  	return nil, false
141003  }
141004  
141005  // AsInformixTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141006  func (oscod OracleServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
141007  	return nil, false
141008  }
141009  
141010  // AsRelationalTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141011  func (oscod OracleServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
141012  	return nil, false
141013  }
141014  
141015  // AsDb2TableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141016  func (oscod OracleServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
141017  	return nil, false
141018  }
141019  
141020  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141021  func (oscod OracleServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
141022  	return nil, false
141023  }
141024  
141025  // AsAzureMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141026  func (oscod OracleServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
141027  	return nil, false
141028  }
141029  
141030  // AsTeradataTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141031  func (oscod OracleServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
141032  	return nil, false
141033  }
141034  
141035  // AsOracleTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141036  func (oscod OracleServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
141037  	return nil, false
141038  }
141039  
141040  // AsODataResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141041  func (oscod OracleServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
141042  	return nil, false
141043  }
141044  
141045  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141046  func (oscod OracleServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
141047  	return nil, false
141048  }
141049  
141050  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141051  func (oscod OracleServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
141052  	return nil, false
141053  }
141054  
141055  // AsMongoDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141056  func (oscod OracleServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
141057  	return nil, false
141058  }
141059  
141060  // AsOffice365Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141061  func (oscod OracleServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
141062  	return nil, false
141063  }
141064  
141065  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141066  func (oscod OracleServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
141067  	return nil, false
141068  }
141069  
141070  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141071  func (oscod OracleServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
141072  	return nil, false
141073  }
141074  
141075  // AsDynamicsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141076  func (oscod OracleServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
141077  	return nil, false
141078  }
141079  
141080  // AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141081  func (oscod OracleServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
141082  	return nil, false
141083  }
141084  
141085  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141086  func (oscod OracleServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
141087  	return nil, false
141088  }
141089  
141090  // AsCustomDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141091  func (oscod OracleServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
141092  	return nil, false
141093  }
141094  
141095  // AsCassandraTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141096  func (oscod OracleServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
141097  	return nil, false
141098  }
141099  
141100  // AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141101  func (oscod OracleServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
141102  	return nil, false
141103  }
141104  
141105  // AsAzureSQLMITableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141106  func (oscod OracleServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
141107  	return nil, false
141108  }
141109  
141110  // AsAzureSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141111  func (oscod OracleServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
141112  	return nil, false
141113  }
141114  
141115  // AsAzureTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141116  func (oscod OracleServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
141117  	return nil, false
141118  }
141119  
141120  // AsBinaryDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141121  func (oscod OracleServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
141122  	return nil, false
141123  }
141124  
141125  // AsOrcDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141126  func (oscod OracleServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
141127  	return nil, false
141128  }
141129  
141130  // AsJSONDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141131  func (oscod OracleServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
141132  	return nil, false
141133  }
141134  
141135  // AsDelimitedTextDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141136  func (oscod OracleServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
141137  	return nil, false
141138  }
141139  
141140  // AsParquetDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141141  func (oscod OracleServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
141142  	return nil, false
141143  }
141144  
141145  // AsAvroDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141146  func (oscod OracleServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
141147  	return nil, false
141148  }
141149  
141150  // AsDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141151  func (oscod OracleServiceCloudObjectDataset) AsDataset() (*Dataset, bool) {
141152  	return nil, false
141153  }
141154  
141155  // AsBasicDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset.
141156  func (oscod OracleServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
141157  	return &oscod, true
141158  }
141159  
141160  // UnmarshalJSON is the custom unmarshaler for OracleServiceCloudObjectDataset struct.
141161  func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error {
141162  	var m map[string]*json.RawMessage
141163  	err := json.Unmarshal(body, &m)
141164  	if err != nil {
141165  		return err
141166  	}
141167  	for k, v := range m {
141168  		switch k {
141169  		case "typeProperties":
141170  			if v != nil {
141171  				var genericDatasetTypeProperties GenericDatasetTypeProperties
141172  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
141173  				if err != nil {
141174  					return err
141175  				}
141176  				oscod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
141177  			}
141178  		default:
141179  			if v != nil {
141180  				var additionalProperties interface{}
141181  				err = json.Unmarshal(*v, &additionalProperties)
141182  				if err != nil {
141183  					return err
141184  				}
141185  				if oscod.AdditionalProperties == nil {
141186  					oscod.AdditionalProperties = make(map[string]interface{})
141187  				}
141188  				oscod.AdditionalProperties[k] = additionalProperties
141189  			}
141190  		case "description":
141191  			if v != nil {
141192  				var description string
141193  				err = json.Unmarshal(*v, &description)
141194  				if err != nil {
141195  					return err
141196  				}
141197  				oscod.Description = &description
141198  			}
141199  		case "structure":
141200  			if v != nil {
141201  				var structure interface{}
141202  				err = json.Unmarshal(*v, &structure)
141203  				if err != nil {
141204  					return err
141205  				}
141206  				oscod.Structure = structure
141207  			}
141208  		case "schema":
141209  			if v != nil {
141210  				var schema interface{}
141211  				err = json.Unmarshal(*v, &schema)
141212  				if err != nil {
141213  					return err
141214  				}
141215  				oscod.Schema = schema
141216  			}
141217  		case "linkedServiceName":
141218  			if v != nil {
141219  				var linkedServiceName LinkedServiceReference
141220  				err = json.Unmarshal(*v, &linkedServiceName)
141221  				if err != nil {
141222  					return err
141223  				}
141224  				oscod.LinkedServiceName = &linkedServiceName
141225  			}
141226  		case "parameters":
141227  			if v != nil {
141228  				var parameters map[string]*ParameterSpecification
141229  				err = json.Unmarshal(*v, &parameters)
141230  				if err != nil {
141231  					return err
141232  				}
141233  				oscod.Parameters = parameters
141234  			}
141235  		case "annotations":
141236  			if v != nil {
141237  				var annotations []interface{}
141238  				err = json.Unmarshal(*v, &annotations)
141239  				if err != nil {
141240  					return err
141241  				}
141242  				oscod.Annotations = &annotations
141243  			}
141244  		case "folder":
141245  			if v != nil {
141246  				var folder DatasetFolder
141247  				err = json.Unmarshal(*v, &folder)
141248  				if err != nil {
141249  					return err
141250  				}
141251  				oscod.Folder = &folder
141252  			}
141253  		case "type":
141254  			if v != nil {
141255  				var typeVar TypeBasicDataset
141256  				err = json.Unmarshal(*v, &typeVar)
141257  				if err != nil {
141258  					return err
141259  				}
141260  				oscod.Type = typeVar
141261  			}
141262  		}
141263  	}
141264  
141265  	return nil
141266  }
141267  
141268  // OracleServiceCloudSource a copy activity Oracle Service Cloud source.
141269  type OracleServiceCloudSource struct {
141270  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
141271  	Query interface{} `json:"query,omitempty"`
141272  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
141273  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
141274  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
141275  	AdditionalProperties map[string]interface{} `json:""`
141276  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
141277  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
141278  	// 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])).
141279  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
141280  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
141281  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
141282  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
141283  	Type TypeBasicCopySource `json:"type,omitempty"`
141284  }
141285  
141286  // MarshalJSON is the custom marshaler for OracleServiceCloudSource.
141287  func (oscs OracleServiceCloudSource) MarshalJSON() ([]byte, error) {
141288  	oscs.Type = TypeOracleServiceCloudSource
141289  	objectMap := make(map[string]interface{})
141290  	if oscs.Query != nil {
141291  		objectMap["query"] = oscs.Query
141292  	}
141293  	if oscs.QueryTimeout != nil {
141294  		objectMap["queryTimeout"] = oscs.QueryTimeout
141295  	}
141296  	if oscs.SourceRetryCount != nil {
141297  		objectMap["sourceRetryCount"] = oscs.SourceRetryCount
141298  	}
141299  	if oscs.SourceRetryWait != nil {
141300  		objectMap["sourceRetryWait"] = oscs.SourceRetryWait
141301  	}
141302  	if oscs.MaxConcurrentConnections != nil {
141303  		objectMap["maxConcurrentConnections"] = oscs.MaxConcurrentConnections
141304  	}
141305  	if oscs.Type != "" {
141306  		objectMap["type"] = oscs.Type
141307  	}
141308  	for k, v := range oscs.AdditionalProperties {
141309  		objectMap[k] = v
141310  	}
141311  	return json.Marshal(objectMap)
141312  }
141313  
141314  // AsHTTPSource is the BasicCopySource implementation for OracleServiceCloudSource.
141315  func (oscs OracleServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) {
141316  	return nil, false
141317  }
141318  
141319  // AsAzureBlobFSSource is the BasicCopySource implementation for OracleServiceCloudSource.
141320  func (oscs OracleServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
141321  	return nil, false
141322  }
141323  
141324  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleServiceCloudSource.
141325  func (oscs OracleServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
141326  	return nil, false
141327  }
141328  
141329  // AsOffice365Source is the BasicCopySource implementation for OracleServiceCloudSource.
141330  func (oscs OracleServiceCloudSource) AsOffice365Source() (*Office365Source, bool) {
141331  	return nil, false
141332  }
141333  
141334  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleServiceCloudSource.
141335  func (oscs OracleServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
141336  	return nil, false
141337  }
141338  
141339  // AsMongoDbV2Source is the BasicCopySource implementation for OracleServiceCloudSource.
141340  func (oscs OracleServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
141341  	return nil, false
141342  }
141343  
141344  // AsMongoDbSource is the BasicCopySource implementation for OracleServiceCloudSource.
141345  func (oscs OracleServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
141346  	return nil, false
141347  }
141348  
141349  // AsWebSource is the BasicCopySource implementation for OracleServiceCloudSource.
141350  func (oscs OracleServiceCloudSource) AsWebSource() (*WebSource, bool) {
141351  	return nil, false
141352  }
141353  
141354  // AsOracleSource is the BasicCopySource implementation for OracleServiceCloudSource.
141355  func (oscs OracleServiceCloudSource) AsOracleSource() (*OracleSource, bool) {
141356  	return nil, false
141357  }
141358  
141359  // AsAzureDataExplorerSource is the BasicCopySource implementation for OracleServiceCloudSource.
141360  func (oscs OracleServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
141361  	return nil, false
141362  }
141363  
141364  // AsHdfsSource is the BasicCopySource implementation for OracleServiceCloudSource.
141365  func (oscs OracleServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) {
141366  	return nil, false
141367  }
141368  
141369  // AsFileSystemSource is the BasicCopySource implementation for OracleServiceCloudSource.
141370  func (oscs OracleServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
141371  	return nil, false
141372  }
141373  
141374  // AsRestSource is the BasicCopySource implementation for OracleServiceCloudSource.
141375  func (oscs OracleServiceCloudSource) AsRestSource() (*RestSource, bool) {
141376  	return nil, false
141377  }
141378  
141379  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
141380  func (oscs OracleServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
141381  	return nil, false
141382  }
141383  
141384  // AsODataSource is the BasicCopySource implementation for OracleServiceCloudSource.
141385  func (oscs OracleServiceCloudSource) AsODataSource() (*ODataSource, bool) {
141386  	return nil, false
141387  }
141388  
141389  // AsMicrosoftAccessSource is the BasicCopySource implementation for OracleServiceCloudSource.
141390  func (oscs OracleServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
141391  	return nil, false
141392  }
141393  
141394  // AsRelationalSource is the BasicCopySource implementation for OracleServiceCloudSource.
141395  func (oscs OracleServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) {
141396  	return nil, false
141397  }
141398  
141399  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleServiceCloudSource.
141400  func (oscs OracleServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
141401  	return nil, false
141402  }
141403  
141404  // AsDynamicsCrmSource is the BasicCopySource implementation for OracleServiceCloudSource.
141405  func (oscs OracleServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
141406  	return nil, false
141407  }
141408  
141409  // AsDynamicsSource is the BasicCopySource implementation for OracleServiceCloudSource.
141410  func (oscs OracleServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
141411  	return nil, false
141412  }
141413  
141414  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleServiceCloudSource.
141415  func (oscs OracleServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
141416  	return nil, false
141417  }
141418  
141419  // AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleServiceCloudSource.
141420  func (oscs OracleServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
141421  	return nil, false
141422  }
141423  
141424  // AsBlobSource is the BasicCopySource implementation for OracleServiceCloudSource.
141425  func (oscs OracleServiceCloudSource) AsBlobSource() (*BlobSource, bool) {
141426  	return nil, false
141427  }
141428  
141429  // AsAmazonRedshiftSource is the BasicCopySource implementation for OracleServiceCloudSource.
141430  func (oscs OracleServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
141431  	return nil, false
141432  }
141433  
141434  // AsGoogleAdWordsSource is the BasicCopySource implementation for OracleServiceCloudSource.
141435  func (oscs OracleServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
141436  	return nil, false
141437  }
141438  
141439  // AsOracleServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
141440  func (oscs OracleServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
141441  	return &oscs, true
141442  }
141443  
141444  // AsDynamicsAXSource is the BasicCopySource implementation for OracleServiceCloudSource.
141445  func (oscs OracleServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
141446  	return nil, false
141447  }
141448  
141449  // AsResponsysSource is the BasicCopySource implementation for OracleServiceCloudSource.
141450  func (oscs OracleServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
141451  	return nil, false
141452  }
141453  
141454  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleServiceCloudSource.
141455  func (oscs OracleServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
141456  	return nil, false
141457  }
141458  
141459  // AsVerticaSource is the BasicCopySource implementation for OracleServiceCloudSource.
141460  func (oscs OracleServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) {
141461  	return nil, false
141462  }
141463  
141464  // AsNetezzaSource is the BasicCopySource implementation for OracleServiceCloudSource.
141465  func (oscs OracleServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
141466  	return nil, false
141467  }
141468  
141469  // AsZohoSource is the BasicCopySource implementation for OracleServiceCloudSource.
141470  func (oscs OracleServiceCloudSource) AsZohoSource() (*ZohoSource, bool) {
141471  	return nil, false
141472  }
141473  
141474  // AsXeroSource is the BasicCopySource implementation for OracleServiceCloudSource.
141475  func (oscs OracleServiceCloudSource) AsXeroSource() (*XeroSource, bool) {
141476  	return nil, false
141477  }
141478  
141479  // AsSquareSource is the BasicCopySource implementation for OracleServiceCloudSource.
141480  func (oscs OracleServiceCloudSource) AsSquareSource() (*SquareSource, bool) {
141481  	return nil, false
141482  }
141483  
141484  // AsSparkSource is the BasicCopySource implementation for OracleServiceCloudSource.
141485  func (oscs OracleServiceCloudSource) AsSparkSource() (*SparkSource, bool) {
141486  	return nil, false
141487  }
141488  
141489  // AsShopifySource is the BasicCopySource implementation for OracleServiceCloudSource.
141490  func (oscs OracleServiceCloudSource) AsShopifySource() (*ShopifySource, bool) {
141491  	return nil, false
141492  }
141493  
141494  // AsServiceNowSource is the BasicCopySource implementation for OracleServiceCloudSource.
141495  func (oscs OracleServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
141496  	return nil, false
141497  }
141498  
141499  // AsQuickBooksSource is the BasicCopySource implementation for OracleServiceCloudSource.
141500  func (oscs OracleServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
141501  	return nil, false
141502  }
141503  
141504  // AsPrestoSource is the BasicCopySource implementation for OracleServiceCloudSource.
141505  func (oscs OracleServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) {
141506  	return nil, false
141507  }
141508  
141509  // AsPhoenixSource is the BasicCopySource implementation for OracleServiceCloudSource.
141510  func (oscs OracleServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
141511  	return nil, false
141512  }
141513  
141514  // AsPaypalSource is the BasicCopySource implementation for OracleServiceCloudSource.
141515  func (oscs OracleServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) {
141516  	return nil, false
141517  }
141518  
141519  // AsMarketoSource is the BasicCopySource implementation for OracleServiceCloudSource.
141520  func (oscs OracleServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) {
141521  	return nil, false
141522  }
141523  
141524  // AsAzureMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource.
141525  func (oscs OracleServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
141526  	return nil, false
141527  }
141528  
141529  // AsMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource.
141530  func (oscs OracleServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
141531  	return nil, false
141532  }
141533  
141534  // AsMagentoSource is the BasicCopySource implementation for OracleServiceCloudSource.
141535  func (oscs OracleServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) {
141536  	return nil, false
141537  }
141538  
141539  // AsJiraSource is the BasicCopySource implementation for OracleServiceCloudSource.
141540  func (oscs OracleServiceCloudSource) AsJiraSource() (*JiraSource, bool) {
141541  	return nil, false
141542  }
141543  
141544  // AsImpalaSource is the BasicCopySource implementation for OracleServiceCloudSource.
141545  func (oscs OracleServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
141546  	return nil, false
141547  }
141548  
141549  // AsHubspotSource is the BasicCopySource implementation for OracleServiceCloudSource.
141550  func (oscs OracleServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) {
141551  	return nil, false
141552  }
141553  
141554  // AsHiveSource is the BasicCopySource implementation for OracleServiceCloudSource.
141555  func (oscs OracleServiceCloudSource) AsHiveSource() (*HiveSource, bool) {
141556  	return nil, false
141557  }
141558  
141559  // AsHBaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
141560  func (oscs OracleServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) {
141561  	return nil, false
141562  }
141563  
141564  // AsGreenplumSource is the BasicCopySource implementation for OracleServiceCloudSource.
141565  func (oscs OracleServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
141566  	return nil, false
141567  }
141568  
141569  // AsGoogleBigQuerySource is the BasicCopySource implementation for OracleServiceCloudSource.
141570  func (oscs OracleServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
141571  	return nil, false
141572  }
141573  
141574  // AsEloquaSource is the BasicCopySource implementation for OracleServiceCloudSource.
141575  func (oscs OracleServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) {
141576  	return nil, false
141577  }
141578  
141579  // AsDrillSource is the BasicCopySource implementation for OracleServiceCloudSource.
141580  func (oscs OracleServiceCloudSource) AsDrillSource() (*DrillSource, bool) {
141581  	return nil, false
141582  }
141583  
141584  // AsCouchbaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
141585  func (oscs OracleServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
141586  	return nil, false
141587  }
141588  
141589  // AsConcurSource is the BasicCopySource implementation for OracleServiceCloudSource.
141590  func (oscs OracleServiceCloudSource) AsConcurSource() (*ConcurSource, bool) {
141591  	return nil, false
141592  }
141593  
141594  // AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141595  func (oscs OracleServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
141596  	return nil, false
141597  }
141598  
141599  // AsAmazonMWSSource is the BasicCopySource implementation for OracleServiceCloudSource.
141600  func (oscs OracleServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
141601  	return nil, false
141602  }
141603  
141604  // AsCassandraSource is the BasicCopySource implementation for OracleServiceCloudSource.
141605  func (oscs OracleServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) {
141606  	return nil, false
141607  }
141608  
141609  // AsTeradataSource is the BasicCopySource implementation for OracleServiceCloudSource.
141610  func (oscs OracleServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) {
141611  	return nil, false
141612  }
141613  
141614  // AsAzureMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141615  func (oscs OracleServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
141616  	return nil, false
141617  }
141618  
141619  // AsSQLDWSource is the BasicCopySource implementation for OracleServiceCloudSource.
141620  func (oscs OracleServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
141621  	return nil, false
141622  }
141623  
141624  // AsSQLMISource is the BasicCopySource implementation for OracleServiceCloudSource.
141625  func (oscs OracleServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) {
141626  	return nil, false
141627  }
141628  
141629  // AsAzureSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141630  func (oscs OracleServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
141631  	return nil, false
141632  }
141633  
141634  // AsSQLServerSource is the BasicCopySource implementation for OracleServiceCloudSource.
141635  func (oscs OracleServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
141636  	return nil, false
141637  }
141638  
141639  // AsSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141640  func (oscs OracleServiceCloudSource) AsSQLSource() (*SQLSource, bool) {
141641  	return nil, false
141642  }
141643  
141644  // AsSapTableSource is the BasicCopySource implementation for OracleServiceCloudSource.
141645  func (oscs OracleServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) {
141646  	return nil, false
141647  }
141648  
141649  // AsSapOpenHubSource is the BasicCopySource implementation for OracleServiceCloudSource.
141650  func (oscs OracleServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
141651  	return nil, false
141652  }
141653  
141654  // AsSapHanaSource is the BasicCopySource implementation for OracleServiceCloudSource.
141655  func (oscs OracleServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
141656  	return nil, false
141657  }
141658  
141659  // AsSapEccSource is the BasicCopySource implementation for OracleServiceCloudSource.
141660  func (oscs OracleServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) {
141661  	return nil, false
141662  }
141663  
141664  // AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleServiceCloudSource.
141665  func (oscs OracleServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
141666  	return nil, false
141667  }
141668  
141669  // AsSalesforceSource is the BasicCopySource implementation for OracleServiceCloudSource.
141670  func (oscs OracleServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
141671  	return nil, false
141672  }
141673  
141674  // AsSapBwSource is the BasicCopySource implementation for OracleServiceCloudSource.
141675  func (oscs OracleServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) {
141676  	return nil, false
141677  }
141678  
141679  // AsSybaseSource is the BasicCopySource implementation for OracleServiceCloudSource.
141680  func (oscs OracleServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) {
141681  	return nil, false
141682  }
141683  
141684  // AsPostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141685  func (oscs OracleServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
141686  	return nil, false
141687  }
141688  
141689  // AsMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource.
141690  func (oscs OracleServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) {
141691  	return nil, false
141692  }
141693  
141694  // AsOdbcSource is the BasicCopySource implementation for OracleServiceCloudSource.
141695  func (oscs OracleServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) {
141696  	return nil, false
141697  }
141698  
141699  // AsDb2Source is the BasicCopySource implementation for OracleServiceCloudSource.
141700  func (oscs OracleServiceCloudSource) AsDb2Source() (*Db2Source, bool) {
141701  	return nil, false
141702  }
141703  
141704  // AsInformixSource is the BasicCopySource implementation for OracleServiceCloudSource.
141705  func (oscs OracleServiceCloudSource) AsInformixSource() (*InformixSource, bool) {
141706  	return nil, false
141707  }
141708  
141709  // AsAzureTableSource is the BasicCopySource implementation for OracleServiceCloudSource.
141710  func (oscs OracleServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
141711  	return nil, false
141712  }
141713  
141714  // AsTabularSource is the BasicCopySource implementation for OracleServiceCloudSource.
141715  func (oscs OracleServiceCloudSource) AsTabularSource() (*TabularSource, bool) {
141716  	return nil, false
141717  }
141718  
141719  // AsBasicTabularSource is the BasicCopySource implementation for OracleServiceCloudSource.
141720  func (oscs OracleServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) {
141721  	return &oscs, true
141722  }
141723  
141724  // AsBinarySource is the BasicCopySource implementation for OracleServiceCloudSource.
141725  func (oscs OracleServiceCloudSource) AsBinarySource() (*BinarySource, bool) {
141726  	return nil, false
141727  }
141728  
141729  // AsOrcSource is the BasicCopySource implementation for OracleServiceCloudSource.
141730  func (oscs OracleServiceCloudSource) AsOrcSource() (*OrcSource, bool) {
141731  	return nil, false
141732  }
141733  
141734  // AsJSONSource is the BasicCopySource implementation for OracleServiceCloudSource.
141735  func (oscs OracleServiceCloudSource) AsJSONSource() (*JSONSource, bool) {
141736  	return nil, false
141737  }
141738  
141739  // AsDelimitedTextSource is the BasicCopySource implementation for OracleServiceCloudSource.
141740  func (oscs OracleServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
141741  	return nil, false
141742  }
141743  
141744  // AsParquetSource is the BasicCopySource implementation for OracleServiceCloudSource.
141745  func (oscs OracleServiceCloudSource) AsParquetSource() (*ParquetSource, bool) {
141746  	return nil, false
141747  }
141748  
141749  // AsAvroSource is the BasicCopySource implementation for OracleServiceCloudSource.
141750  func (oscs OracleServiceCloudSource) AsAvroSource() (*AvroSource, bool) {
141751  	return nil, false
141752  }
141753  
141754  // AsCopySource is the BasicCopySource implementation for OracleServiceCloudSource.
141755  func (oscs OracleServiceCloudSource) AsCopySource() (*CopySource, bool) {
141756  	return nil, false
141757  }
141758  
141759  // AsBasicCopySource is the BasicCopySource implementation for OracleServiceCloudSource.
141760  func (oscs OracleServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
141761  	return &oscs, true
141762  }
141763  
141764  // UnmarshalJSON is the custom unmarshaler for OracleServiceCloudSource struct.
141765  func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error {
141766  	var m map[string]*json.RawMessage
141767  	err := json.Unmarshal(body, &m)
141768  	if err != nil {
141769  		return err
141770  	}
141771  	for k, v := range m {
141772  		switch k {
141773  		case "query":
141774  			if v != nil {
141775  				var query interface{}
141776  				err = json.Unmarshal(*v, &query)
141777  				if err != nil {
141778  					return err
141779  				}
141780  				oscs.Query = query
141781  			}
141782  		case "queryTimeout":
141783  			if v != nil {
141784  				var queryTimeout interface{}
141785  				err = json.Unmarshal(*v, &queryTimeout)
141786  				if err != nil {
141787  					return err
141788  				}
141789  				oscs.QueryTimeout = queryTimeout
141790  			}
141791  		default:
141792  			if v != nil {
141793  				var additionalProperties interface{}
141794  				err = json.Unmarshal(*v, &additionalProperties)
141795  				if err != nil {
141796  					return err
141797  				}
141798  				if oscs.AdditionalProperties == nil {
141799  					oscs.AdditionalProperties = make(map[string]interface{})
141800  				}
141801  				oscs.AdditionalProperties[k] = additionalProperties
141802  			}
141803  		case "sourceRetryCount":
141804  			if v != nil {
141805  				var sourceRetryCount interface{}
141806  				err = json.Unmarshal(*v, &sourceRetryCount)
141807  				if err != nil {
141808  					return err
141809  				}
141810  				oscs.SourceRetryCount = sourceRetryCount
141811  			}
141812  		case "sourceRetryWait":
141813  			if v != nil {
141814  				var sourceRetryWait interface{}
141815  				err = json.Unmarshal(*v, &sourceRetryWait)
141816  				if err != nil {
141817  					return err
141818  				}
141819  				oscs.SourceRetryWait = sourceRetryWait
141820  			}
141821  		case "maxConcurrentConnections":
141822  			if v != nil {
141823  				var maxConcurrentConnections interface{}
141824  				err = json.Unmarshal(*v, &maxConcurrentConnections)
141825  				if err != nil {
141826  					return err
141827  				}
141828  				oscs.MaxConcurrentConnections = maxConcurrentConnections
141829  			}
141830  		case "type":
141831  			if v != nil {
141832  				var typeVar TypeBasicCopySource
141833  				err = json.Unmarshal(*v, &typeVar)
141834  				if err != nil {
141835  					return err
141836  				}
141837  				oscs.Type = typeVar
141838  			}
141839  		}
141840  	}
141841  
141842  	return nil
141843  }
141844  
141845  // OracleSink a copy activity Oracle sink.
141846  type OracleSink struct {
141847  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
141848  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
141849  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
141850  	AdditionalProperties map[string]interface{} `json:""`
141851  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
141852  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
141853  	// 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])).
141854  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
141855  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
141856  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
141857  	// 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])).
141858  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
141859  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
141860  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
141861  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
141862  	Type TypeBasicCopySink `json:"type,omitempty"`
141863  }
141864  
141865  // MarshalJSON is the custom marshaler for OracleSink.
141866  func (osVar OracleSink) MarshalJSON() ([]byte, error) {
141867  	osVar.Type = TypeOracleSink
141868  	objectMap := make(map[string]interface{})
141869  	if osVar.PreCopyScript != nil {
141870  		objectMap["preCopyScript"] = osVar.PreCopyScript
141871  	}
141872  	if osVar.WriteBatchSize != nil {
141873  		objectMap["writeBatchSize"] = osVar.WriteBatchSize
141874  	}
141875  	if osVar.WriteBatchTimeout != nil {
141876  		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
141877  	}
141878  	if osVar.SinkRetryCount != nil {
141879  		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
141880  	}
141881  	if osVar.SinkRetryWait != nil {
141882  		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
141883  	}
141884  	if osVar.MaxConcurrentConnections != nil {
141885  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
141886  	}
141887  	if osVar.Type != "" {
141888  		objectMap["type"] = osVar.Type
141889  	}
141890  	for k, v := range osVar.AdditionalProperties {
141891  		objectMap[k] = v
141892  	}
141893  	return json.Marshal(objectMap)
141894  }
141895  
141896  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OracleSink.
141897  func (osVar OracleSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
141898  	return nil, false
141899  }
141900  
141901  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for OracleSink.
141902  func (osVar OracleSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
141903  	return nil, false
141904  }
141905  
141906  // AsSalesforceSink is the BasicCopySink implementation for OracleSink.
141907  func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) {
141908  	return nil, false
141909  }
141910  
141911  // AsAzureDataExplorerSink is the BasicCopySink implementation for OracleSink.
141912  func (osVar OracleSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
141913  	return nil, false
141914  }
141915  
141916  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OracleSink.
141917  func (osVar OracleSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
141918  	return nil, false
141919  }
141920  
141921  // AsDynamicsCrmSink is the BasicCopySink implementation for OracleSink.
141922  func (osVar OracleSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
141923  	return nil, false
141924  }
141925  
141926  // AsDynamicsSink is the BasicCopySink implementation for OracleSink.
141927  func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) {
141928  	return nil, false
141929  }
141930  
141931  // AsMicrosoftAccessSink is the BasicCopySink implementation for OracleSink.
141932  func (osVar OracleSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
141933  	return nil, false
141934  }
141935  
141936  // AsInformixSink is the BasicCopySink implementation for OracleSink.
141937  func (osVar OracleSink) AsInformixSink() (*InformixSink, bool) {
141938  	return nil, false
141939  }
141940  
141941  // AsOdbcSink is the BasicCopySink implementation for OracleSink.
141942  func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) {
141943  	return nil, false
141944  }
141945  
141946  // AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink.
141947  func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
141948  	return nil, false
141949  }
141950  
141951  // AsAzureBlobFSSink is the BasicCopySink implementation for OracleSink.
141952  func (osVar OracleSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
141953  	return nil, false
141954  }
141955  
141956  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink.
141957  func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
141958  	return nil, false
141959  }
141960  
141961  // AsOracleSink is the BasicCopySink implementation for OracleSink.
141962  func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) {
141963  	return &osVar, true
141964  }
141965  
141966  // AsSQLDWSink is the BasicCopySink implementation for OracleSink.
141967  func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) {
141968  	return nil, false
141969  }
141970  
141971  // AsSQLMISink is the BasicCopySink implementation for OracleSink.
141972  func (osVar OracleSink) AsSQLMISink() (*SQLMISink, bool) {
141973  	return nil, false
141974  }
141975  
141976  // AsAzureSQLSink is the BasicCopySink implementation for OracleSink.
141977  func (osVar OracleSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
141978  	return nil, false
141979  }
141980  
141981  // AsSQLServerSink is the BasicCopySink implementation for OracleSink.
141982  func (osVar OracleSink) AsSQLServerSink() (*SQLServerSink, bool) {
141983  	return nil, false
141984  }
141985  
141986  // AsSQLSink is the BasicCopySink implementation for OracleSink.
141987  func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) {
141988  	return nil, false
141989  }
141990  
141991  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for OracleSink.
141992  func (osVar OracleSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
141993  	return nil, false
141994  }
141995  
141996  // AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink.
141997  func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
141998  	return nil, false
141999  }
142000  
142001  // AsFileSystemSink is the BasicCopySink implementation for OracleSink.
142002  func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) {
142003  	return nil, false
142004  }
142005  
142006  // AsBlobSink is the BasicCopySink implementation for OracleSink.
142007  func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) {
142008  	return nil, false
142009  }
142010  
142011  // AsBinarySink is the BasicCopySink implementation for OracleSink.
142012  func (osVar OracleSink) AsBinarySink() (*BinarySink, bool) {
142013  	return nil, false
142014  }
142015  
142016  // AsParquetSink is the BasicCopySink implementation for OracleSink.
142017  func (osVar OracleSink) AsParquetSink() (*ParquetSink, bool) {
142018  	return nil, false
142019  }
142020  
142021  // AsAvroSink is the BasicCopySink implementation for OracleSink.
142022  func (osVar OracleSink) AsAvroSink() (*AvroSink, bool) {
142023  	return nil, false
142024  }
142025  
142026  // AsAzureTableSink is the BasicCopySink implementation for OracleSink.
142027  func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) {
142028  	return nil, false
142029  }
142030  
142031  // AsAzureQueueSink is the BasicCopySink implementation for OracleSink.
142032  func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
142033  	return nil, false
142034  }
142035  
142036  // AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink.
142037  func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
142038  	return nil, false
142039  }
142040  
142041  // AsAzureMySQLSink is the BasicCopySink implementation for OracleSink.
142042  func (osVar OracleSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
142043  	return nil, false
142044  }
142045  
142046  // AsAzurePostgreSQLSink is the BasicCopySink implementation for OracleSink.
142047  func (osVar OracleSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
142048  	return nil, false
142049  }
142050  
142051  // AsOrcSink is the BasicCopySink implementation for OracleSink.
142052  func (osVar OracleSink) AsOrcSink() (*OrcSink, bool) {
142053  	return nil, false
142054  }
142055  
142056  // AsJSONSink is the BasicCopySink implementation for OracleSink.
142057  func (osVar OracleSink) AsJSONSink() (*JSONSink, bool) {
142058  	return nil, false
142059  }
142060  
142061  // AsDelimitedTextSink is the BasicCopySink implementation for OracleSink.
142062  func (osVar OracleSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
142063  	return nil, false
142064  }
142065  
142066  // AsCopySink is the BasicCopySink implementation for OracleSink.
142067  func (osVar OracleSink) AsCopySink() (*CopySink, bool) {
142068  	return nil, false
142069  }
142070  
142071  // AsBasicCopySink is the BasicCopySink implementation for OracleSink.
142072  func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) {
142073  	return &osVar, true
142074  }
142075  
142076  // UnmarshalJSON is the custom unmarshaler for OracleSink struct.
142077  func (osVar *OracleSink) UnmarshalJSON(body []byte) error {
142078  	var m map[string]*json.RawMessage
142079  	err := json.Unmarshal(body, &m)
142080  	if err != nil {
142081  		return err
142082  	}
142083  	for k, v := range m {
142084  		switch k {
142085  		case "preCopyScript":
142086  			if v != nil {
142087  				var preCopyScript interface{}
142088  				err = json.Unmarshal(*v, &preCopyScript)
142089  				if err != nil {
142090  					return err
142091  				}
142092  				osVar.PreCopyScript = preCopyScript
142093  			}
142094  		default:
142095  			if v != nil {
142096  				var additionalProperties interface{}
142097  				err = json.Unmarshal(*v, &additionalProperties)
142098  				if err != nil {
142099  					return err
142100  				}
142101  				if osVar.AdditionalProperties == nil {
142102  					osVar.AdditionalProperties = make(map[string]interface{})
142103  				}
142104  				osVar.AdditionalProperties[k] = additionalProperties
142105  			}
142106  		case "writeBatchSize":
142107  			if v != nil {
142108  				var writeBatchSize interface{}
142109  				err = json.Unmarshal(*v, &writeBatchSize)
142110  				if err != nil {
142111  					return err
142112  				}
142113  				osVar.WriteBatchSize = writeBatchSize
142114  			}
142115  		case "writeBatchTimeout":
142116  			if v != nil {
142117  				var writeBatchTimeout interface{}
142118  				err = json.Unmarshal(*v, &writeBatchTimeout)
142119  				if err != nil {
142120  					return err
142121  				}
142122  				osVar.WriteBatchTimeout = writeBatchTimeout
142123  			}
142124  		case "sinkRetryCount":
142125  			if v != nil {
142126  				var sinkRetryCount interface{}
142127  				err = json.Unmarshal(*v, &sinkRetryCount)
142128  				if err != nil {
142129  					return err
142130  				}
142131  				osVar.SinkRetryCount = sinkRetryCount
142132  			}
142133  		case "sinkRetryWait":
142134  			if v != nil {
142135  				var sinkRetryWait interface{}
142136  				err = json.Unmarshal(*v, &sinkRetryWait)
142137  				if err != nil {
142138  					return err
142139  				}
142140  				osVar.SinkRetryWait = sinkRetryWait
142141  			}
142142  		case "maxConcurrentConnections":
142143  			if v != nil {
142144  				var maxConcurrentConnections interface{}
142145  				err = json.Unmarshal(*v, &maxConcurrentConnections)
142146  				if err != nil {
142147  					return err
142148  				}
142149  				osVar.MaxConcurrentConnections = maxConcurrentConnections
142150  			}
142151  		case "type":
142152  			if v != nil {
142153  				var typeVar TypeBasicCopySink
142154  				err = json.Unmarshal(*v, &typeVar)
142155  				if err != nil {
142156  					return err
142157  				}
142158  				osVar.Type = typeVar
142159  			}
142160  		}
142161  	}
142162  
142163  	return nil
142164  }
142165  
142166  // OracleSource a copy activity Oracle source.
142167  type OracleSource struct {
142168  	// OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string).
142169  	OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"`
142170  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
142171  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
142172  	// PartitionOption - The partition mechanism that will be used for Oracle read in parallel. Possible values include: 'OraclePartitionOptionNone', 'OraclePartitionOptionPhysicalPartitionsOfTable', 'OraclePartitionOptionDynamicRange'
142173  	PartitionOption OraclePartitionOption `json:"partitionOption,omitempty"`
142174  	// PartitionSettings - The settings that will be leveraged for Oracle source partitioning.
142175  	PartitionSettings *OraclePartitionSettings `json:"partitionSettings,omitempty"`
142176  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
142177  	AdditionalProperties map[string]interface{} `json:""`
142178  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
142179  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
142180  	// 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])).
142181  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
142182  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
142183  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
142184  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
142185  	Type TypeBasicCopySource `json:"type,omitempty"`
142186  }
142187  
142188  // MarshalJSON is the custom marshaler for OracleSource.
142189  func (osVar OracleSource) MarshalJSON() ([]byte, error) {
142190  	osVar.Type = TypeOracleSource
142191  	objectMap := make(map[string]interface{})
142192  	if osVar.OracleReaderQuery != nil {
142193  		objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery
142194  	}
142195  	if osVar.QueryTimeout != nil {
142196  		objectMap["queryTimeout"] = osVar.QueryTimeout
142197  	}
142198  	if osVar.PartitionOption != "" {
142199  		objectMap["partitionOption"] = osVar.PartitionOption
142200  	}
142201  	if osVar.PartitionSettings != nil {
142202  		objectMap["partitionSettings"] = osVar.PartitionSettings
142203  	}
142204  	if osVar.SourceRetryCount != nil {
142205  		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
142206  	}
142207  	if osVar.SourceRetryWait != nil {
142208  		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
142209  	}
142210  	if osVar.MaxConcurrentConnections != nil {
142211  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
142212  	}
142213  	if osVar.Type != "" {
142214  		objectMap["type"] = osVar.Type
142215  	}
142216  	for k, v := range osVar.AdditionalProperties {
142217  		objectMap[k] = v
142218  	}
142219  	return json.Marshal(objectMap)
142220  }
142221  
142222  // AsHTTPSource is the BasicCopySource implementation for OracleSource.
142223  func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) {
142224  	return nil, false
142225  }
142226  
142227  // AsAzureBlobFSSource is the BasicCopySource implementation for OracleSource.
142228  func (osVar OracleSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
142229  	return nil, false
142230  }
142231  
142232  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource.
142233  func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
142234  	return nil, false
142235  }
142236  
142237  // AsOffice365Source is the BasicCopySource implementation for OracleSource.
142238  func (osVar OracleSource) AsOffice365Source() (*Office365Source, bool) {
142239  	return nil, false
142240  }
142241  
142242  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleSource.
142243  func (osVar OracleSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
142244  	return nil, false
142245  }
142246  
142247  // AsMongoDbV2Source is the BasicCopySource implementation for OracleSource.
142248  func (osVar OracleSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
142249  	return nil, false
142250  }
142251  
142252  // AsMongoDbSource is the BasicCopySource implementation for OracleSource.
142253  func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) {
142254  	return nil, false
142255  }
142256  
142257  // AsWebSource is the BasicCopySource implementation for OracleSource.
142258  func (osVar OracleSource) AsWebSource() (*WebSource, bool) {
142259  	return nil, false
142260  }
142261  
142262  // AsOracleSource is the BasicCopySource implementation for OracleSource.
142263  func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) {
142264  	return &osVar, true
142265  }
142266  
142267  // AsAzureDataExplorerSource is the BasicCopySource implementation for OracleSource.
142268  func (osVar OracleSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
142269  	return nil, false
142270  }
142271  
142272  // AsHdfsSource is the BasicCopySource implementation for OracleSource.
142273  func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) {
142274  	return nil, false
142275  }
142276  
142277  // AsFileSystemSource is the BasicCopySource implementation for OracleSource.
142278  func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) {
142279  	return nil, false
142280  }
142281  
142282  // AsRestSource is the BasicCopySource implementation for OracleSource.
142283  func (osVar OracleSource) AsRestSource() (*RestSource, bool) {
142284  	return nil, false
142285  }
142286  
142287  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleSource.
142288  func (osVar OracleSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
142289  	return nil, false
142290  }
142291  
142292  // AsODataSource is the BasicCopySource implementation for OracleSource.
142293  func (osVar OracleSource) AsODataSource() (*ODataSource, bool) {
142294  	return nil, false
142295  }
142296  
142297  // AsMicrosoftAccessSource is the BasicCopySource implementation for OracleSource.
142298  func (osVar OracleSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
142299  	return nil, false
142300  }
142301  
142302  // AsRelationalSource is the BasicCopySource implementation for OracleSource.
142303  func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) {
142304  	return nil, false
142305  }
142306  
142307  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleSource.
142308  func (osVar OracleSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
142309  	return nil, false
142310  }
142311  
142312  // AsDynamicsCrmSource is the BasicCopySource implementation for OracleSource.
142313  func (osVar OracleSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
142314  	return nil, false
142315  }
142316  
142317  // AsDynamicsSource is the BasicCopySource implementation for OracleSource.
142318  func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) {
142319  	return nil, false
142320  }
142321  
142322  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleSource.
142323  func (osVar OracleSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
142324  	return nil, false
142325  }
142326  
142327  // AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource.
142328  func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
142329  	return nil, false
142330  }
142331  
142332  // AsBlobSource is the BasicCopySource implementation for OracleSource.
142333  func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) {
142334  	return nil, false
142335  }
142336  
142337  // AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource.
142338  func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
142339  	return nil, false
142340  }
142341  
142342  // AsGoogleAdWordsSource is the BasicCopySource implementation for OracleSource.
142343  func (osVar OracleSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
142344  	return nil, false
142345  }
142346  
142347  // AsOracleServiceCloudSource is the BasicCopySource implementation for OracleSource.
142348  func (osVar OracleSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
142349  	return nil, false
142350  }
142351  
142352  // AsDynamicsAXSource is the BasicCopySource implementation for OracleSource.
142353  func (osVar OracleSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
142354  	return nil, false
142355  }
142356  
142357  // AsResponsysSource is the BasicCopySource implementation for OracleSource.
142358  func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) {
142359  	return nil, false
142360  }
142361  
142362  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource.
142363  func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
142364  	return nil, false
142365  }
142366  
142367  // AsVerticaSource is the BasicCopySource implementation for OracleSource.
142368  func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) {
142369  	return nil, false
142370  }
142371  
142372  // AsNetezzaSource is the BasicCopySource implementation for OracleSource.
142373  func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) {
142374  	return nil, false
142375  }
142376  
142377  // AsZohoSource is the BasicCopySource implementation for OracleSource.
142378  func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) {
142379  	return nil, false
142380  }
142381  
142382  // AsXeroSource is the BasicCopySource implementation for OracleSource.
142383  func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) {
142384  	return nil, false
142385  }
142386  
142387  // AsSquareSource is the BasicCopySource implementation for OracleSource.
142388  func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) {
142389  	return nil, false
142390  }
142391  
142392  // AsSparkSource is the BasicCopySource implementation for OracleSource.
142393  func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) {
142394  	return nil, false
142395  }
142396  
142397  // AsShopifySource is the BasicCopySource implementation for OracleSource.
142398  func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) {
142399  	return nil, false
142400  }
142401  
142402  // AsServiceNowSource is the BasicCopySource implementation for OracleSource.
142403  func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) {
142404  	return nil, false
142405  }
142406  
142407  // AsQuickBooksSource is the BasicCopySource implementation for OracleSource.
142408  func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
142409  	return nil, false
142410  }
142411  
142412  // AsPrestoSource is the BasicCopySource implementation for OracleSource.
142413  func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) {
142414  	return nil, false
142415  }
142416  
142417  // AsPhoenixSource is the BasicCopySource implementation for OracleSource.
142418  func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) {
142419  	return nil, false
142420  }
142421  
142422  // AsPaypalSource is the BasicCopySource implementation for OracleSource.
142423  func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) {
142424  	return nil, false
142425  }
142426  
142427  // AsMarketoSource is the BasicCopySource implementation for OracleSource.
142428  func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) {
142429  	return nil, false
142430  }
142431  
142432  // AsAzureMariaDBSource is the BasicCopySource implementation for OracleSource.
142433  func (osVar OracleSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
142434  	return nil, false
142435  }
142436  
142437  // AsMariaDBSource is the BasicCopySource implementation for OracleSource.
142438  func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) {
142439  	return nil, false
142440  }
142441  
142442  // AsMagentoSource is the BasicCopySource implementation for OracleSource.
142443  func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) {
142444  	return nil, false
142445  }
142446  
142447  // AsJiraSource is the BasicCopySource implementation for OracleSource.
142448  func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) {
142449  	return nil, false
142450  }
142451  
142452  // AsImpalaSource is the BasicCopySource implementation for OracleSource.
142453  func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) {
142454  	return nil, false
142455  }
142456  
142457  // AsHubspotSource is the BasicCopySource implementation for OracleSource.
142458  func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) {
142459  	return nil, false
142460  }
142461  
142462  // AsHiveSource is the BasicCopySource implementation for OracleSource.
142463  func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) {
142464  	return nil, false
142465  }
142466  
142467  // AsHBaseSource is the BasicCopySource implementation for OracleSource.
142468  func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) {
142469  	return nil, false
142470  }
142471  
142472  // AsGreenplumSource is the BasicCopySource implementation for OracleSource.
142473  func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) {
142474  	return nil, false
142475  }
142476  
142477  // AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource.
142478  func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
142479  	return nil, false
142480  }
142481  
142482  // AsEloquaSource is the BasicCopySource implementation for OracleSource.
142483  func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) {
142484  	return nil, false
142485  }
142486  
142487  // AsDrillSource is the BasicCopySource implementation for OracleSource.
142488  func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) {
142489  	return nil, false
142490  }
142491  
142492  // AsCouchbaseSource is the BasicCopySource implementation for OracleSource.
142493  func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
142494  	return nil, false
142495  }
142496  
142497  // AsConcurSource is the BasicCopySource implementation for OracleSource.
142498  func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) {
142499  	return nil, false
142500  }
142501  
142502  // AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource.
142503  func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
142504  	return nil, false
142505  }
142506  
142507  // AsAmazonMWSSource is the BasicCopySource implementation for OracleSource.
142508  func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
142509  	return nil, false
142510  }
142511  
142512  // AsCassandraSource is the BasicCopySource implementation for OracleSource.
142513  func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) {
142514  	return nil, false
142515  }
142516  
142517  // AsTeradataSource is the BasicCopySource implementation for OracleSource.
142518  func (osVar OracleSource) AsTeradataSource() (*TeradataSource, bool) {
142519  	return nil, false
142520  }
142521  
142522  // AsAzureMySQLSource is the BasicCopySource implementation for OracleSource.
142523  func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
142524  	return nil, false
142525  }
142526  
142527  // AsSQLDWSource is the BasicCopySource implementation for OracleSource.
142528  func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) {
142529  	return nil, false
142530  }
142531  
142532  // AsSQLMISource is the BasicCopySource implementation for OracleSource.
142533  func (osVar OracleSource) AsSQLMISource() (*SQLMISource, bool) {
142534  	return nil, false
142535  }
142536  
142537  // AsAzureSQLSource is the BasicCopySource implementation for OracleSource.
142538  func (osVar OracleSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
142539  	return nil, false
142540  }
142541  
142542  // AsSQLServerSource is the BasicCopySource implementation for OracleSource.
142543  func (osVar OracleSource) AsSQLServerSource() (*SQLServerSource, bool) {
142544  	return nil, false
142545  }
142546  
142547  // AsSQLSource is the BasicCopySource implementation for OracleSource.
142548  func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) {
142549  	return nil, false
142550  }
142551  
142552  // AsSapTableSource is the BasicCopySource implementation for OracleSource.
142553  func (osVar OracleSource) AsSapTableSource() (*SapTableSource, bool) {
142554  	return nil, false
142555  }
142556  
142557  // AsSapOpenHubSource is the BasicCopySource implementation for OracleSource.
142558  func (osVar OracleSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
142559  	return nil, false
142560  }
142561  
142562  // AsSapHanaSource is the BasicCopySource implementation for OracleSource.
142563  func (osVar OracleSource) AsSapHanaSource() (*SapHanaSource, bool) {
142564  	return nil, false
142565  }
142566  
142567  // AsSapEccSource is the BasicCopySource implementation for OracleSource.
142568  func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) {
142569  	return nil, false
142570  }
142571  
142572  // AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource.
142573  func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
142574  	return nil, false
142575  }
142576  
142577  // AsSalesforceSource is the BasicCopySource implementation for OracleSource.
142578  func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) {
142579  	return nil, false
142580  }
142581  
142582  // AsSapBwSource is the BasicCopySource implementation for OracleSource.
142583  func (osVar OracleSource) AsSapBwSource() (*SapBwSource, bool) {
142584  	return nil, false
142585  }
142586  
142587  // AsSybaseSource is the BasicCopySource implementation for OracleSource.
142588  func (osVar OracleSource) AsSybaseSource() (*SybaseSource, bool) {
142589  	return nil, false
142590  }
142591  
142592  // AsPostgreSQLSource is the BasicCopySource implementation for OracleSource.
142593  func (osVar OracleSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
142594  	return nil, false
142595  }
142596  
142597  // AsMySQLSource is the BasicCopySource implementation for OracleSource.
142598  func (osVar OracleSource) AsMySQLSource() (*MySQLSource, bool) {
142599  	return nil, false
142600  }
142601  
142602  // AsOdbcSource is the BasicCopySource implementation for OracleSource.
142603  func (osVar OracleSource) AsOdbcSource() (*OdbcSource, bool) {
142604  	return nil, false
142605  }
142606  
142607  // AsDb2Source is the BasicCopySource implementation for OracleSource.
142608  func (osVar OracleSource) AsDb2Source() (*Db2Source, bool) {
142609  	return nil, false
142610  }
142611  
142612  // AsInformixSource is the BasicCopySource implementation for OracleSource.
142613  func (osVar OracleSource) AsInformixSource() (*InformixSource, bool) {
142614  	return nil, false
142615  }
142616  
142617  // AsAzureTableSource is the BasicCopySource implementation for OracleSource.
142618  func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) {
142619  	return nil, false
142620  }
142621  
142622  // AsTabularSource is the BasicCopySource implementation for OracleSource.
142623  func (osVar OracleSource) AsTabularSource() (*TabularSource, bool) {
142624  	return nil, false
142625  }
142626  
142627  // AsBasicTabularSource is the BasicCopySource implementation for OracleSource.
142628  func (osVar OracleSource) AsBasicTabularSource() (BasicTabularSource, bool) {
142629  	return nil, false
142630  }
142631  
142632  // AsBinarySource is the BasicCopySource implementation for OracleSource.
142633  func (osVar OracleSource) AsBinarySource() (*BinarySource, bool) {
142634  	return nil, false
142635  }
142636  
142637  // AsOrcSource is the BasicCopySource implementation for OracleSource.
142638  func (osVar OracleSource) AsOrcSource() (*OrcSource, bool) {
142639  	return nil, false
142640  }
142641  
142642  // AsJSONSource is the BasicCopySource implementation for OracleSource.
142643  func (osVar OracleSource) AsJSONSource() (*JSONSource, bool) {
142644  	return nil, false
142645  }
142646  
142647  // AsDelimitedTextSource is the BasicCopySource implementation for OracleSource.
142648  func (osVar OracleSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
142649  	return nil, false
142650  }
142651  
142652  // AsParquetSource is the BasicCopySource implementation for OracleSource.
142653  func (osVar OracleSource) AsParquetSource() (*ParquetSource, bool) {
142654  	return nil, false
142655  }
142656  
142657  // AsAvroSource is the BasicCopySource implementation for OracleSource.
142658  func (osVar OracleSource) AsAvroSource() (*AvroSource, bool) {
142659  	return nil, false
142660  }
142661  
142662  // AsCopySource is the BasicCopySource implementation for OracleSource.
142663  func (osVar OracleSource) AsCopySource() (*CopySource, bool) {
142664  	return nil, false
142665  }
142666  
142667  // AsBasicCopySource is the BasicCopySource implementation for OracleSource.
142668  func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) {
142669  	return &osVar, true
142670  }
142671  
142672  // UnmarshalJSON is the custom unmarshaler for OracleSource struct.
142673  func (osVar *OracleSource) UnmarshalJSON(body []byte) error {
142674  	var m map[string]*json.RawMessage
142675  	err := json.Unmarshal(body, &m)
142676  	if err != nil {
142677  		return err
142678  	}
142679  	for k, v := range m {
142680  		switch k {
142681  		case "oracleReaderQuery":
142682  			if v != nil {
142683  				var oracleReaderQuery interface{}
142684  				err = json.Unmarshal(*v, &oracleReaderQuery)
142685  				if err != nil {
142686  					return err
142687  				}
142688  				osVar.OracleReaderQuery = oracleReaderQuery
142689  			}
142690  		case "queryTimeout":
142691  			if v != nil {
142692  				var queryTimeout interface{}
142693  				err = json.Unmarshal(*v, &queryTimeout)
142694  				if err != nil {
142695  					return err
142696  				}
142697  				osVar.QueryTimeout = queryTimeout
142698  			}
142699  		case "partitionOption":
142700  			if v != nil {
142701  				var partitionOption OraclePartitionOption
142702  				err = json.Unmarshal(*v, &partitionOption)
142703  				if err != nil {
142704  					return err
142705  				}
142706  				osVar.PartitionOption = partitionOption
142707  			}
142708  		case "partitionSettings":
142709  			if v != nil {
142710  				var partitionSettings OraclePartitionSettings
142711  				err = json.Unmarshal(*v, &partitionSettings)
142712  				if err != nil {
142713  					return err
142714  				}
142715  				osVar.PartitionSettings = &partitionSettings
142716  			}
142717  		default:
142718  			if v != nil {
142719  				var additionalProperties interface{}
142720  				err = json.Unmarshal(*v, &additionalProperties)
142721  				if err != nil {
142722  					return err
142723  				}
142724  				if osVar.AdditionalProperties == nil {
142725  					osVar.AdditionalProperties = make(map[string]interface{})
142726  				}
142727  				osVar.AdditionalProperties[k] = additionalProperties
142728  			}
142729  		case "sourceRetryCount":
142730  			if v != nil {
142731  				var sourceRetryCount interface{}
142732  				err = json.Unmarshal(*v, &sourceRetryCount)
142733  				if err != nil {
142734  					return err
142735  				}
142736  				osVar.SourceRetryCount = sourceRetryCount
142737  			}
142738  		case "sourceRetryWait":
142739  			if v != nil {
142740  				var sourceRetryWait interface{}
142741  				err = json.Unmarshal(*v, &sourceRetryWait)
142742  				if err != nil {
142743  					return err
142744  				}
142745  				osVar.SourceRetryWait = sourceRetryWait
142746  			}
142747  		case "maxConcurrentConnections":
142748  			if v != nil {
142749  				var maxConcurrentConnections interface{}
142750  				err = json.Unmarshal(*v, &maxConcurrentConnections)
142751  				if err != nil {
142752  					return err
142753  				}
142754  				osVar.MaxConcurrentConnections = maxConcurrentConnections
142755  			}
142756  		case "type":
142757  			if v != nil {
142758  				var typeVar TypeBasicCopySource
142759  				err = json.Unmarshal(*v, &typeVar)
142760  				if err != nil {
142761  					return err
142762  				}
142763  				osVar.Type = typeVar
142764  			}
142765  		}
142766  	}
142767  
142768  	return nil
142769  }
142770  
142771  // OracleTableDataset the on-premises Oracle database dataset.
142772  type OracleTableDataset struct {
142773  	// OracleTableDatasetTypeProperties - On-premises Oracle dataset properties.
142774  	*OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"`
142775  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
142776  	AdditionalProperties map[string]interface{} `json:""`
142777  	// Description - Dataset description.
142778  	Description *string `json:"description,omitempty"`
142779  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
142780  	Structure interface{} `json:"structure,omitempty"`
142781  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
142782  	Schema interface{} `json:"schema,omitempty"`
142783  	// LinkedServiceName - Linked service reference.
142784  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
142785  	// Parameters - Parameters for dataset.
142786  	Parameters map[string]*ParameterSpecification `json:"parameters"`
142787  	// Annotations - List of tags that can be used for describing the Dataset.
142788  	Annotations *[]interface{} `json:"annotations,omitempty"`
142789  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
142790  	Folder *DatasetFolder `json:"folder,omitempty"`
142791  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
142792  	Type TypeBasicDataset `json:"type,omitempty"`
142793  }
142794  
142795  // MarshalJSON is the custom marshaler for OracleTableDataset.
142796  func (otd OracleTableDataset) MarshalJSON() ([]byte, error) {
142797  	otd.Type = TypeOracleTable
142798  	objectMap := make(map[string]interface{})
142799  	if otd.OracleTableDatasetTypeProperties != nil {
142800  		objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties
142801  	}
142802  	if otd.Description != nil {
142803  		objectMap["description"] = otd.Description
142804  	}
142805  	if otd.Structure != nil {
142806  		objectMap["structure"] = otd.Structure
142807  	}
142808  	if otd.Schema != nil {
142809  		objectMap["schema"] = otd.Schema
142810  	}
142811  	if otd.LinkedServiceName != nil {
142812  		objectMap["linkedServiceName"] = otd.LinkedServiceName
142813  	}
142814  	if otd.Parameters != nil {
142815  		objectMap["parameters"] = otd.Parameters
142816  	}
142817  	if otd.Annotations != nil {
142818  		objectMap["annotations"] = otd.Annotations
142819  	}
142820  	if otd.Folder != nil {
142821  		objectMap["folder"] = otd.Folder
142822  	}
142823  	if otd.Type != "" {
142824  		objectMap["type"] = otd.Type
142825  	}
142826  	for k, v := range otd.AdditionalProperties {
142827  		objectMap[k] = v
142828  	}
142829  	return json.Marshal(objectMap)
142830  }
142831  
142832  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleTableDataset.
142833  func (otd OracleTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
142834  	return nil, false
142835  }
142836  
142837  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleTableDataset.
142838  func (otd OracleTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
142839  	return nil, false
142840  }
142841  
142842  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
142843  func (otd OracleTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
142844  	return nil, false
142845  }
142846  
142847  // AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleTableDataset.
142848  func (otd OracleTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
142849  	return nil, false
142850  }
142851  
142852  // AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset.
142853  func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
142854  	return nil, false
142855  }
142856  
142857  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
142858  func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
142859  	return nil, false
142860  }
142861  
142862  // AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset.
142863  func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
142864  	return nil, false
142865  }
142866  
142867  // AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset.
142868  func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
142869  	return nil, false
142870  }
142871  
142872  // AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset.
142873  func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
142874  	return nil, false
142875  }
142876  
142877  // AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset.
142878  func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
142879  	return nil, false
142880  }
142881  
142882  // AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset.
142883  func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
142884  	return nil, false
142885  }
142886  
142887  // AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset.
142888  func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
142889  	return nil, false
142890  }
142891  
142892  // AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset.
142893  func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
142894  	return nil, false
142895  }
142896  
142897  // AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset.
142898  func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
142899  	return nil, false
142900  }
142901  
142902  // AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset.
142903  func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
142904  	return nil, false
142905  }
142906  
142907  // AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset.
142908  func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
142909  	return nil, false
142910  }
142911  
142912  // AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset.
142913  func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
142914  	return nil, false
142915  }
142916  
142917  // AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset.
142918  func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
142919  	return nil, false
142920  }
142921  
142922  // AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset.
142923  func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
142924  	return nil, false
142925  }
142926  
142927  // AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset.
142928  func (otd OracleTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
142929  	return nil, false
142930  }
142931  
142932  // AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset.
142933  func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
142934  	return nil, false
142935  }
142936  
142937  // AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset.
142938  func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
142939  	return nil, false
142940  }
142941  
142942  // AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset.
142943  func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
142944  	return nil, false
142945  }
142946  
142947  // AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset.
142948  func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
142949  	return nil, false
142950  }
142951  
142952  // AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset.
142953  func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
142954  	return nil, false
142955  }
142956  
142957  // AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset.
142958  func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
142959  	return nil, false
142960  }
142961  
142962  // AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset.
142963  func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
142964  	return nil, false
142965  }
142966  
142967  // AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset.
142968  func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
142969  	return nil, false
142970  }
142971  
142972  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset.
142973  func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
142974  	return nil, false
142975  }
142976  
142977  // AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset.
142978  func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
142979  	return nil, false
142980  }
142981  
142982  // AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset.
142983  func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
142984  	return nil, false
142985  }
142986  
142987  // AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset.
142988  func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
142989  	return nil, false
142990  }
142991  
142992  // AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset.
142993  func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
142994  	return nil, false
142995  }
142996  
142997  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
142998  func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
142999  	return nil, false
143000  }
143001  
143002  // AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset.
143003  func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
143004  	return nil, false
143005  }
143006  
143007  // AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset.
143008  func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
143009  	return nil, false
143010  }
143011  
143012  // AsWebTableDataset is the BasicDataset implementation for OracleTableDataset.
143013  func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
143014  	return nil, false
143015  }
143016  
143017  // AsSapTableResourceDataset is the BasicDataset implementation for OracleTableDataset.
143018  func (otd OracleTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
143019  	return nil, false
143020  }
143021  
143022  // AsRestResourceDataset is the BasicDataset implementation for OracleTableDataset.
143023  func (otd OracleTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
143024  	return nil, false
143025  }
143026  
143027  // AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset.
143028  func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
143029  	return nil, false
143030  }
143031  
143032  // AsSapOpenHubTableDataset is the BasicDataset implementation for OracleTableDataset.
143033  func (otd OracleTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
143034  	return nil, false
143035  }
143036  
143037  // AsSapHanaTableDataset is the BasicDataset implementation for OracleTableDataset.
143038  func (otd OracleTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
143039  	return nil, false
143040  }
143041  
143042  // AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset.
143043  func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
143044  	return nil, false
143045  }
143046  
143047  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset.
143048  func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
143049  	return nil, false
143050  }
143051  
143052  // AsSapBwCubeDataset is the BasicDataset implementation for OracleTableDataset.
143053  func (otd OracleTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
143054  	return nil, false
143055  }
143056  
143057  // AsSybaseTableDataset is the BasicDataset implementation for OracleTableDataset.
143058  func (otd OracleTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
143059  	return nil, false
143060  }
143061  
143062  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset.
143063  func (otd OracleTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
143064  	return nil, false
143065  }
143066  
143067  // AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset.
143068  func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
143069  	return nil, false
143070  }
143071  
143072  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleTableDataset.
143073  func (otd OracleTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
143074  	return nil, false
143075  }
143076  
143077  // AsPostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
143078  func (otd OracleTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
143079  	return nil, false
143080  }
143081  
143082  // AsMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
143083  func (otd OracleTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
143084  	return nil, false
143085  }
143086  
143087  // AsOdbcTableDataset is the BasicDataset implementation for OracleTableDataset.
143088  func (otd OracleTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
143089  	return nil, false
143090  }
143091  
143092  // AsInformixTableDataset is the BasicDataset implementation for OracleTableDataset.
143093  func (otd OracleTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
143094  	return nil, false
143095  }
143096  
143097  // AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset.
143098  func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
143099  	return nil, false
143100  }
143101  
143102  // AsDb2TableDataset is the BasicDataset implementation for OracleTableDataset.
143103  func (otd OracleTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
143104  	return nil, false
143105  }
143106  
143107  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleTableDataset.
143108  func (otd OracleTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
143109  	return nil, false
143110  }
143111  
143112  // AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset.
143113  func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
143114  	return nil, false
143115  }
143116  
143117  // AsTeradataTableDataset is the BasicDataset implementation for OracleTableDataset.
143118  func (otd OracleTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
143119  	return nil, false
143120  }
143121  
143122  // AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset.
143123  func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
143124  	return &otd, true
143125  }
143126  
143127  // AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset.
143128  func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
143129  	return nil, false
143130  }
143131  
143132  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleTableDataset.
143133  func (otd OracleTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
143134  	return nil, false
143135  }
143136  
143137  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleTableDataset.
143138  func (otd OracleTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
143139  	return nil, false
143140  }
143141  
143142  // AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
143143  func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
143144  	return nil, false
143145  }
143146  
143147  // AsOffice365Dataset is the BasicDataset implementation for OracleTableDataset.
143148  func (otd OracleTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
143149  	return nil, false
143150  }
143151  
143152  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleTableDataset.
143153  func (otd OracleTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
143154  	return nil, false
143155  }
143156  
143157  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleTableDataset.
143158  func (otd OracleTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
143159  	return nil, false
143160  }
143161  
143162  // AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset.
143163  func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
143164  	return nil, false
143165  }
143166  
143167  // AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset.
143168  func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
143169  	return nil, false
143170  }
143171  
143172  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleTableDataset.
143173  func (otd OracleTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
143174  	return nil, false
143175  }
143176  
143177  // AsCustomDataset is the BasicDataset implementation for OracleTableDataset.
143178  func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) {
143179  	return nil, false
143180  }
143181  
143182  // AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset.
143183  func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
143184  	return nil, false
143185  }
143186  
143187  // AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset.
143188  func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
143189  	return nil, false
143190  }
143191  
143192  // AsAzureSQLMITableDataset is the BasicDataset implementation for OracleTableDataset.
143193  func (otd OracleTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
143194  	return nil, false
143195  }
143196  
143197  // AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset.
143198  func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
143199  	return nil, false
143200  }
143201  
143202  // AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset.
143203  func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
143204  	return nil, false
143205  }
143206  
143207  // AsBinaryDataset is the BasicDataset implementation for OracleTableDataset.
143208  func (otd OracleTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
143209  	return nil, false
143210  }
143211  
143212  // AsOrcDataset is the BasicDataset implementation for OracleTableDataset.
143213  func (otd OracleTableDataset) AsOrcDataset() (*OrcDataset, bool) {
143214  	return nil, false
143215  }
143216  
143217  // AsJSONDataset is the BasicDataset implementation for OracleTableDataset.
143218  func (otd OracleTableDataset) AsJSONDataset() (*JSONDataset, bool) {
143219  	return nil, false
143220  }
143221  
143222  // AsDelimitedTextDataset is the BasicDataset implementation for OracleTableDataset.
143223  func (otd OracleTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
143224  	return nil, false
143225  }
143226  
143227  // AsParquetDataset is the BasicDataset implementation for OracleTableDataset.
143228  func (otd OracleTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
143229  	return nil, false
143230  }
143231  
143232  // AsAvroDataset is the BasicDataset implementation for OracleTableDataset.
143233  func (otd OracleTableDataset) AsAvroDataset() (*AvroDataset, bool) {
143234  	return nil, false
143235  }
143236  
143237  // AsDataset is the BasicDataset implementation for OracleTableDataset.
143238  func (otd OracleTableDataset) AsDataset() (*Dataset, bool) {
143239  	return nil, false
143240  }
143241  
143242  // AsBasicDataset is the BasicDataset implementation for OracleTableDataset.
143243  func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) {
143244  	return &otd, true
143245  }
143246  
143247  // UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct.
143248  func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error {
143249  	var m map[string]*json.RawMessage
143250  	err := json.Unmarshal(body, &m)
143251  	if err != nil {
143252  		return err
143253  	}
143254  	for k, v := range m {
143255  		switch k {
143256  		case "typeProperties":
143257  			if v != nil {
143258  				var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties
143259  				err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties)
143260  				if err != nil {
143261  					return err
143262  				}
143263  				otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties
143264  			}
143265  		default:
143266  			if v != nil {
143267  				var additionalProperties interface{}
143268  				err = json.Unmarshal(*v, &additionalProperties)
143269  				if err != nil {
143270  					return err
143271  				}
143272  				if otd.AdditionalProperties == nil {
143273  					otd.AdditionalProperties = make(map[string]interface{})
143274  				}
143275  				otd.AdditionalProperties[k] = additionalProperties
143276  			}
143277  		case "description":
143278  			if v != nil {
143279  				var description string
143280  				err = json.Unmarshal(*v, &description)
143281  				if err != nil {
143282  					return err
143283  				}
143284  				otd.Description = &description
143285  			}
143286  		case "structure":
143287  			if v != nil {
143288  				var structure interface{}
143289  				err = json.Unmarshal(*v, &structure)
143290  				if err != nil {
143291  					return err
143292  				}
143293  				otd.Structure = structure
143294  			}
143295  		case "schema":
143296  			if v != nil {
143297  				var schema interface{}
143298  				err = json.Unmarshal(*v, &schema)
143299  				if err != nil {
143300  					return err
143301  				}
143302  				otd.Schema = schema
143303  			}
143304  		case "linkedServiceName":
143305  			if v != nil {
143306  				var linkedServiceName LinkedServiceReference
143307  				err = json.Unmarshal(*v, &linkedServiceName)
143308  				if err != nil {
143309  					return err
143310  				}
143311  				otd.LinkedServiceName = &linkedServiceName
143312  			}
143313  		case "parameters":
143314  			if v != nil {
143315  				var parameters map[string]*ParameterSpecification
143316  				err = json.Unmarshal(*v, &parameters)
143317  				if err != nil {
143318  					return err
143319  				}
143320  				otd.Parameters = parameters
143321  			}
143322  		case "annotations":
143323  			if v != nil {
143324  				var annotations []interface{}
143325  				err = json.Unmarshal(*v, &annotations)
143326  				if err != nil {
143327  					return err
143328  				}
143329  				otd.Annotations = &annotations
143330  			}
143331  		case "folder":
143332  			if v != nil {
143333  				var folder DatasetFolder
143334  				err = json.Unmarshal(*v, &folder)
143335  				if err != nil {
143336  					return err
143337  				}
143338  				otd.Folder = &folder
143339  			}
143340  		case "type":
143341  			if v != nil {
143342  				var typeVar TypeBasicDataset
143343  				err = json.Unmarshal(*v, &typeVar)
143344  				if err != nil {
143345  					return err
143346  				}
143347  				otd.Type = typeVar
143348  			}
143349  		}
143350  	}
143351  
143352  	return nil
143353  }
143354  
143355  // OracleTableDatasetTypeProperties on-premises Oracle dataset properties.
143356  type OracleTableDatasetTypeProperties struct {
143357  	// TableName - This property will be retired. Please consider using schema + table properties instead.
143358  	TableName interface{} `json:"tableName,omitempty"`
143359  	// Schema - The schema name of the on-premises Oracle database. Type: string (or Expression with resultType string).
143360  	Schema interface{} `json:"schema,omitempty"`
143361  	// Table - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string).
143362  	Table interface{} `json:"table,omitempty"`
143363  }
143364  
143365  // OrcDataset ORC dataset.
143366  type OrcDataset struct {
143367  	// OrcDatasetTypeProperties - ORC dataset properties.
143368  	*OrcDatasetTypeProperties `json:"typeProperties,omitempty"`
143369  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
143370  	AdditionalProperties map[string]interface{} `json:""`
143371  	// Description - Dataset description.
143372  	Description *string `json:"description,omitempty"`
143373  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
143374  	Structure interface{} `json:"structure,omitempty"`
143375  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
143376  	Schema interface{} `json:"schema,omitempty"`
143377  	// LinkedServiceName - Linked service reference.
143378  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
143379  	// Parameters - Parameters for dataset.
143380  	Parameters map[string]*ParameterSpecification `json:"parameters"`
143381  	// Annotations - List of tags that can be used for describing the Dataset.
143382  	Annotations *[]interface{} `json:"annotations,omitempty"`
143383  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
143384  	Folder *DatasetFolder `json:"folder,omitempty"`
143385  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
143386  	Type TypeBasicDataset `json:"type,omitempty"`
143387  }
143388  
143389  // MarshalJSON is the custom marshaler for OrcDataset.
143390  func (od OrcDataset) MarshalJSON() ([]byte, error) {
143391  	od.Type = TypeOrc
143392  	objectMap := make(map[string]interface{})
143393  	if od.OrcDatasetTypeProperties != nil {
143394  		objectMap["typeProperties"] = od.OrcDatasetTypeProperties
143395  	}
143396  	if od.Description != nil {
143397  		objectMap["description"] = od.Description
143398  	}
143399  	if od.Structure != nil {
143400  		objectMap["structure"] = od.Structure
143401  	}
143402  	if od.Schema != nil {
143403  		objectMap["schema"] = od.Schema
143404  	}
143405  	if od.LinkedServiceName != nil {
143406  		objectMap["linkedServiceName"] = od.LinkedServiceName
143407  	}
143408  	if od.Parameters != nil {
143409  		objectMap["parameters"] = od.Parameters
143410  	}
143411  	if od.Annotations != nil {
143412  		objectMap["annotations"] = od.Annotations
143413  	}
143414  	if od.Folder != nil {
143415  		objectMap["folder"] = od.Folder
143416  	}
143417  	if od.Type != "" {
143418  		objectMap["type"] = od.Type
143419  	}
143420  	for k, v := range od.AdditionalProperties {
143421  		objectMap[k] = v
143422  	}
143423  	return json.Marshal(objectMap)
143424  }
143425  
143426  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OrcDataset.
143427  func (od OrcDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
143428  	return nil, false
143429  }
143430  
143431  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for OrcDataset.
143432  func (od OrcDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
143433  	return nil, false
143434  }
143435  
143436  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset.
143437  func (od OrcDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
143438  	return nil, false
143439  }
143440  
143441  // AsDynamicsAXResourceDataset is the BasicDataset implementation for OrcDataset.
143442  func (od OrcDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
143443  	return nil, false
143444  }
143445  
143446  // AsResponsysObjectDataset is the BasicDataset implementation for OrcDataset.
143447  func (od OrcDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
143448  	return nil, false
143449  }
143450  
143451  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OrcDataset.
143452  func (od OrcDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
143453  	return nil, false
143454  }
143455  
143456  // AsVerticaTableDataset is the BasicDataset implementation for OrcDataset.
143457  func (od OrcDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
143458  	return nil, false
143459  }
143460  
143461  // AsNetezzaTableDataset is the BasicDataset implementation for OrcDataset.
143462  func (od OrcDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
143463  	return nil, false
143464  }
143465  
143466  // AsZohoObjectDataset is the BasicDataset implementation for OrcDataset.
143467  func (od OrcDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
143468  	return nil, false
143469  }
143470  
143471  // AsXeroObjectDataset is the BasicDataset implementation for OrcDataset.
143472  func (od OrcDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
143473  	return nil, false
143474  }
143475  
143476  // AsSquareObjectDataset is the BasicDataset implementation for OrcDataset.
143477  func (od OrcDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
143478  	return nil, false
143479  }
143480  
143481  // AsSparkObjectDataset is the BasicDataset implementation for OrcDataset.
143482  func (od OrcDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
143483  	return nil, false
143484  }
143485  
143486  // AsShopifyObjectDataset is the BasicDataset implementation for OrcDataset.
143487  func (od OrcDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
143488  	return nil, false
143489  }
143490  
143491  // AsServiceNowObjectDataset is the BasicDataset implementation for OrcDataset.
143492  func (od OrcDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
143493  	return nil, false
143494  }
143495  
143496  // AsQuickBooksObjectDataset is the BasicDataset implementation for OrcDataset.
143497  func (od OrcDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
143498  	return nil, false
143499  }
143500  
143501  // AsPrestoObjectDataset is the BasicDataset implementation for OrcDataset.
143502  func (od OrcDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
143503  	return nil, false
143504  }
143505  
143506  // AsPhoenixObjectDataset is the BasicDataset implementation for OrcDataset.
143507  func (od OrcDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
143508  	return nil, false
143509  }
143510  
143511  // AsPaypalObjectDataset is the BasicDataset implementation for OrcDataset.
143512  func (od OrcDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
143513  	return nil, false
143514  }
143515  
143516  // AsMarketoObjectDataset is the BasicDataset implementation for OrcDataset.
143517  func (od OrcDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
143518  	return nil, false
143519  }
143520  
143521  // AsAzureMariaDBTableDataset is the BasicDataset implementation for OrcDataset.
143522  func (od OrcDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
143523  	return nil, false
143524  }
143525  
143526  // AsMariaDBTableDataset is the BasicDataset implementation for OrcDataset.
143527  func (od OrcDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
143528  	return nil, false
143529  }
143530  
143531  // AsMagentoObjectDataset is the BasicDataset implementation for OrcDataset.
143532  func (od OrcDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
143533  	return nil, false
143534  }
143535  
143536  // AsJiraObjectDataset is the BasicDataset implementation for OrcDataset.
143537  func (od OrcDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
143538  	return nil, false
143539  }
143540  
143541  // AsImpalaObjectDataset is the BasicDataset implementation for OrcDataset.
143542  func (od OrcDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
143543  	return nil, false
143544  }
143545  
143546  // AsHubspotObjectDataset is the BasicDataset implementation for OrcDataset.
143547  func (od OrcDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
143548  	return nil, false
143549  }
143550  
143551  // AsHiveObjectDataset is the BasicDataset implementation for OrcDataset.
143552  func (od OrcDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
143553  	return nil, false
143554  }
143555  
143556  // AsHBaseObjectDataset is the BasicDataset implementation for OrcDataset.
143557  func (od OrcDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
143558  	return nil, false
143559  }
143560  
143561  // AsGreenplumTableDataset is the BasicDataset implementation for OrcDataset.
143562  func (od OrcDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
143563  	return nil, false
143564  }
143565  
143566  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OrcDataset.
143567  func (od OrcDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
143568  	return nil, false
143569  }
143570  
143571  // AsEloquaObjectDataset is the BasicDataset implementation for OrcDataset.
143572  func (od OrcDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
143573  	return nil, false
143574  }
143575  
143576  // AsDrillTableDataset is the BasicDataset implementation for OrcDataset.
143577  func (od OrcDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
143578  	return nil, false
143579  }
143580  
143581  // AsCouchbaseTableDataset is the BasicDataset implementation for OrcDataset.
143582  func (od OrcDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
143583  	return nil, false
143584  }
143585  
143586  // AsConcurObjectDataset is the BasicDataset implementation for OrcDataset.
143587  func (od OrcDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
143588  	return nil, false
143589  }
143590  
143591  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OrcDataset.
143592  func (od OrcDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
143593  	return nil, false
143594  }
143595  
143596  // AsAmazonMWSObjectDataset is the BasicDataset implementation for OrcDataset.
143597  func (od OrcDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
143598  	return nil, false
143599  }
143600  
143601  // AsAzureSearchIndexDataset is the BasicDataset implementation for OrcDataset.
143602  func (od OrcDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
143603  	return nil, false
143604  }
143605  
143606  // AsWebTableDataset is the BasicDataset implementation for OrcDataset.
143607  func (od OrcDataset) AsWebTableDataset() (*WebTableDataset, bool) {
143608  	return nil, false
143609  }
143610  
143611  // AsSapTableResourceDataset is the BasicDataset implementation for OrcDataset.
143612  func (od OrcDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
143613  	return nil, false
143614  }
143615  
143616  // AsRestResourceDataset is the BasicDataset implementation for OrcDataset.
143617  func (od OrcDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
143618  	return nil, false
143619  }
143620  
143621  // AsSQLServerTableDataset is the BasicDataset implementation for OrcDataset.
143622  func (od OrcDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
143623  	return nil, false
143624  }
143625  
143626  // AsSapOpenHubTableDataset is the BasicDataset implementation for OrcDataset.
143627  func (od OrcDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
143628  	return nil, false
143629  }
143630  
143631  // AsSapHanaTableDataset is the BasicDataset implementation for OrcDataset.
143632  func (od OrcDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
143633  	return nil, false
143634  }
143635  
143636  // AsSapEccResourceDataset is the BasicDataset implementation for OrcDataset.
143637  func (od OrcDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
143638  	return nil, false
143639  }
143640  
143641  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OrcDataset.
143642  func (od OrcDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
143643  	return nil, false
143644  }
143645  
143646  // AsSapBwCubeDataset is the BasicDataset implementation for OrcDataset.
143647  func (od OrcDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
143648  	return nil, false
143649  }
143650  
143651  // AsSybaseTableDataset is the BasicDataset implementation for OrcDataset.
143652  func (od OrcDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
143653  	return nil, false
143654  }
143655  
143656  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset.
143657  func (od OrcDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
143658  	return nil, false
143659  }
143660  
143661  // AsSalesforceObjectDataset is the BasicDataset implementation for OrcDataset.
143662  func (od OrcDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
143663  	return nil, false
143664  }
143665  
143666  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for OrcDataset.
143667  func (od OrcDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
143668  	return nil, false
143669  }
143670  
143671  // AsPostgreSQLTableDataset is the BasicDataset implementation for OrcDataset.
143672  func (od OrcDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
143673  	return nil, false
143674  }
143675  
143676  // AsMySQLTableDataset is the BasicDataset implementation for OrcDataset.
143677  func (od OrcDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
143678  	return nil, false
143679  }
143680  
143681  // AsOdbcTableDataset is the BasicDataset implementation for OrcDataset.
143682  func (od OrcDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
143683  	return nil, false
143684  }
143685  
143686  // AsInformixTableDataset is the BasicDataset implementation for OrcDataset.
143687  func (od OrcDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
143688  	return nil, false
143689  }
143690  
143691  // AsRelationalTableDataset is the BasicDataset implementation for OrcDataset.
143692  func (od OrcDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
143693  	return nil, false
143694  }
143695  
143696  // AsDb2TableDataset is the BasicDataset implementation for OrcDataset.
143697  func (od OrcDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
143698  	return nil, false
143699  }
143700  
143701  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for OrcDataset.
143702  func (od OrcDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
143703  	return nil, false
143704  }
143705  
143706  // AsAzureMySQLTableDataset is the BasicDataset implementation for OrcDataset.
143707  func (od OrcDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
143708  	return nil, false
143709  }
143710  
143711  // AsTeradataTableDataset is the BasicDataset implementation for OrcDataset.
143712  func (od OrcDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
143713  	return nil, false
143714  }
143715  
143716  // AsOracleTableDataset is the BasicDataset implementation for OrcDataset.
143717  func (od OrcDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
143718  	return nil, false
143719  }
143720  
143721  // AsODataResourceDataset is the BasicDataset implementation for OrcDataset.
143722  func (od OrcDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
143723  	return nil, false
143724  }
143725  
143726  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OrcDataset.
143727  func (od OrcDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
143728  	return nil, false
143729  }
143730  
143731  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for OrcDataset.
143732  func (od OrcDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
143733  	return nil, false
143734  }
143735  
143736  // AsMongoDbCollectionDataset is the BasicDataset implementation for OrcDataset.
143737  func (od OrcDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
143738  	return nil, false
143739  }
143740  
143741  // AsOffice365Dataset is the BasicDataset implementation for OrcDataset.
143742  func (od OrcDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
143743  	return nil, false
143744  }
143745  
143746  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OrcDataset.
143747  func (od OrcDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
143748  	return nil, false
143749  }
143750  
143751  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for OrcDataset.
143752  func (od OrcDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
143753  	return nil, false
143754  }
143755  
143756  // AsDynamicsEntityDataset is the BasicDataset implementation for OrcDataset.
143757  func (od OrcDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
143758  	return nil, false
143759  }
143760  
143761  // AsDocumentDbCollectionDataset is the BasicDataset implementation for OrcDataset.
143762  func (od OrcDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
143763  	return nil, false
143764  }
143765  
143766  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OrcDataset.
143767  func (od OrcDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
143768  	return nil, false
143769  }
143770  
143771  // AsCustomDataset is the BasicDataset implementation for OrcDataset.
143772  func (od OrcDataset) AsCustomDataset() (*CustomDataset, bool) {
143773  	return nil, false
143774  }
143775  
143776  // AsCassandraTableDataset is the BasicDataset implementation for OrcDataset.
143777  func (od OrcDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
143778  	return nil, false
143779  }
143780  
143781  // AsAzureSQLDWTableDataset is the BasicDataset implementation for OrcDataset.
143782  func (od OrcDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
143783  	return nil, false
143784  }
143785  
143786  // AsAzureSQLMITableDataset is the BasicDataset implementation for OrcDataset.
143787  func (od OrcDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
143788  	return nil, false
143789  }
143790  
143791  // AsAzureSQLTableDataset is the BasicDataset implementation for OrcDataset.
143792  func (od OrcDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
143793  	return nil, false
143794  }
143795  
143796  // AsAzureTableDataset is the BasicDataset implementation for OrcDataset.
143797  func (od OrcDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
143798  	return nil, false
143799  }
143800  
143801  // AsBinaryDataset is the BasicDataset implementation for OrcDataset.
143802  func (od OrcDataset) AsBinaryDataset() (*BinaryDataset, bool) {
143803  	return nil, false
143804  }
143805  
143806  // AsOrcDataset is the BasicDataset implementation for OrcDataset.
143807  func (od OrcDataset) AsOrcDataset() (*OrcDataset, bool) {
143808  	return &od, true
143809  }
143810  
143811  // AsJSONDataset is the BasicDataset implementation for OrcDataset.
143812  func (od OrcDataset) AsJSONDataset() (*JSONDataset, bool) {
143813  	return nil, false
143814  }
143815  
143816  // AsDelimitedTextDataset is the BasicDataset implementation for OrcDataset.
143817  func (od OrcDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
143818  	return nil, false
143819  }
143820  
143821  // AsParquetDataset is the BasicDataset implementation for OrcDataset.
143822  func (od OrcDataset) AsParquetDataset() (*ParquetDataset, bool) {
143823  	return nil, false
143824  }
143825  
143826  // AsAvroDataset is the BasicDataset implementation for OrcDataset.
143827  func (od OrcDataset) AsAvroDataset() (*AvroDataset, bool) {
143828  	return nil, false
143829  }
143830  
143831  // AsDataset is the BasicDataset implementation for OrcDataset.
143832  func (od OrcDataset) AsDataset() (*Dataset, bool) {
143833  	return nil, false
143834  }
143835  
143836  // AsBasicDataset is the BasicDataset implementation for OrcDataset.
143837  func (od OrcDataset) AsBasicDataset() (BasicDataset, bool) {
143838  	return &od, true
143839  }
143840  
143841  // UnmarshalJSON is the custom unmarshaler for OrcDataset struct.
143842  func (od *OrcDataset) UnmarshalJSON(body []byte) error {
143843  	var m map[string]*json.RawMessage
143844  	err := json.Unmarshal(body, &m)
143845  	if err != nil {
143846  		return err
143847  	}
143848  	for k, v := range m {
143849  		switch k {
143850  		case "typeProperties":
143851  			if v != nil {
143852  				var orcDatasetTypeProperties OrcDatasetTypeProperties
143853  				err = json.Unmarshal(*v, &orcDatasetTypeProperties)
143854  				if err != nil {
143855  					return err
143856  				}
143857  				od.OrcDatasetTypeProperties = &orcDatasetTypeProperties
143858  			}
143859  		default:
143860  			if v != nil {
143861  				var additionalProperties interface{}
143862  				err = json.Unmarshal(*v, &additionalProperties)
143863  				if err != nil {
143864  					return err
143865  				}
143866  				if od.AdditionalProperties == nil {
143867  					od.AdditionalProperties = make(map[string]interface{})
143868  				}
143869  				od.AdditionalProperties[k] = additionalProperties
143870  			}
143871  		case "description":
143872  			if v != nil {
143873  				var description string
143874  				err = json.Unmarshal(*v, &description)
143875  				if err != nil {
143876  					return err
143877  				}
143878  				od.Description = &description
143879  			}
143880  		case "structure":
143881  			if v != nil {
143882  				var structure interface{}
143883  				err = json.Unmarshal(*v, &structure)
143884  				if err != nil {
143885  					return err
143886  				}
143887  				od.Structure = structure
143888  			}
143889  		case "schema":
143890  			if v != nil {
143891  				var schema interface{}
143892  				err = json.Unmarshal(*v, &schema)
143893  				if err != nil {
143894  					return err
143895  				}
143896  				od.Schema = schema
143897  			}
143898  		case "linkedServiceName":
143899  			if v != nil {
143900  				var linkedServiceName LinkedServiceReference
143901  				err = json.Unmarshal(*v, &linkedServiceName)
143902  				if err != nil {
143903  					return err
143904  				}
143905  				od.LinkedServiceName = &linkedServiceName
143906  			}
143907  		case "parameters":
143908  			if v != nil {
143909  				var parameters map[string]*ParameterSpecification
143910  				err = json.Unmarshal(*v, &parameters)
143911  				if err != nil {
143912  					return err
143913  				}
143914  				od.Parameters = parameters
143915  			}
143916  		case "annotations":
143917  			if v != nil {
143918  				var annotations []interface{}
143919  				err = json.Unmarshal(*v, &annotations)
143920  				if err != nil {
143921  					return err
143922  				}
143923  				od.Annotations = &annotations
143924  			}
143925  		case "folder":
143926  			if v != nil {
143927  				var folder DatasetFolder
143928  				err = json.Unmarshal(*v, &folder)
143929  				if err != nil {
143930  					return err
143931  				}
143932  				od.Folder = &folder
143933  			}
143934  		case "type":
143935  			if v != nil {
143936  				var typeVar TypeBasicDataset
143937  				err = json.Unmarshal(*v, &typeVar)
143938  				if err != nil {
143939  					return err
143940  				}
143941  				od.Type = typeVar
143942  			}
143943  		}
143944  	}
143945  
143946  	return nil
143947  }
143948  
143949  // OrcDatasetTypeProperties ORC dataset properties.
143950  type OrcDatasetTypeProperties struct {
143951  	// Location - The location of the ORC data storage.
143952  	Location BasicDatasetLocation `json:"location,omitempty"`
143953  	// OrcCompressionCodec - Possible values include: 'OrcCompressionCodecNone', 'OrcCompressionCodecZlib', 'OrcCompressionCodecSnappy'
143954  	OrcCompressionCodec OrcCompressionCodec `json:"orcCompressionCodec,omitempty"`
143955  }
143956  
143957  // UnmarshalJSON is the custom unmarshaler for OrcDatasetTypeProperties struct.
143958  func (odtp *OrcDatasetTypeProperties) UnmarshalJSON(body []byte) error {
143959  	var m map[string]*json.RawMessage
143960  	err := json.Unmarshal(body, &m)
143961  	if err != nil {
143962  		return err
143963  	}
143964  	for k, v := range m {
143965  		switch k {
143966  		case "location":
143967  			if v != nil {
143968  				location, err := unmarshalBasicDatasetLocation(*v)
143969  				if err != nil {
143970  					return err
143971  				}
143972  				odtp.Location = location
143973  			}
143974  		case "orcCompressionCodec":
143975  			if v != nil {
143976  				var orcCompressionCodec OrcCompressionCodec
143977  				err = json.Unmarshal(*v, &orcCompressionCodec)
143978  				if err != nil {
143979  					return err
143980  				}
143981  				odtp.OrcCompressionCodec = orcCompressionCodec
143982  			}
143983  		}
143984  	}
143985  
143986  	return nil
143987  }
143988  
143989  // OrcFormat the data stored in Optimized Row Columnar (ORC) format.
143990  type OrcFormat struct {
143991  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
143992  	AdditionalProperties map[string]interface{} `json:""`
143993  	// Serializer - Serializer. Type: string (or Expression with resultType string).
143994  	Serializer interface{} `json:"serializer,omitempty"`
143995  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
143996  	Deserializer interface{} `json:"deserializer,omitempty"`
143997  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
143998  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
143999  }
144000  
144001  // MarshalJSON is the custom marshaler for OrcFormat.
144002  func (of OrcFormat) MarshalJSON() ([]byte, error) {
144003  	of.Type = TypeOrcFormat
144004  	objectMap := make(map[string]interface{})
144005  	if of.Serializer != nil {
144006  		objectMap["serializer"] = of.Serializer
144007  	}
144008  	if of.Deserializer != nil {
144009  		objectMap["deserializer"] = of.Deserializer
144010  	}
144011  	if of.Type != "" {
144012  		objectMap["type"] = of.Type
144013  	}
144014  	for k, v := range of.AdditionalProperties {
144015  		objectMap[k] = v
144016  	}
144017  	return json.Marshal(objectMap)
144018  }
144019  
144020  // AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144021  func (of OrcFormat) AsTextFormat() (*TextFormat, bool) {
144022  	return nil, false
144023  }
144024  
144025  // AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144026  func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) {
144027  	return nil, false
144028  }
144029  
144030  // AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144031  func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) {
144032  	return nil, false
144033  }
144034  
144035  // AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144036  func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) {
144037  	return &of, true
144038  }
144039  
144040  // AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144041  func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) {
144042  	return nil, false
144043  }
144044  
144045  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144046  func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
144047  	return nil, false
144048  }
144049  
144050  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat.
144051  func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
144052  	return &of, true
144053  }
144054  
144055  // UnmarshalJSON is the custom unmarshaler for OrcFormat struct.
144056  func (of *OrcFormat) UnmarshalJSON(body []byte) error {
144057  	var m map[string]*json.RawMessage
144058  	err := json.Unmarshal(body, &m)
144059  	if err != nil {
144060  		return err
144061  	}
144062  	for k, v := range m {
144063  		switch k {
144064  		default:
144065  			if v != nil {
144066  				var additionalProperties interface{}
144067  				err = json.Unmarshal(*v, &additionalProperties)
144068  				if err != nil {
144069  					return err
144070  				}
144071  				if of.AdditionalProperties == nil {
144072  					of.AdditionalProperties = make(map[string]interface{})
144073  				}
144074  				of.AdditionalProperties[k] = additionalProperties
144075  			}
144076  		case "serializer":
144077  			if v != nil {
144078  				var serializer interface{}
144079  				err = json.Unmarshal(*v, &serializer)
144080  				if err != nil {
144081  					return err
144082  				}
144083  				of.Serializer = serializer
144084  			}
144085  		case "deserializer":
144086  			if v != nil {
144087  				var deserializer interface{}
144088  				err = json.Unmarshal(*v, &deserializer)
144089  				if err != nil {
144090  					return err
144091  				}
144092  				of.Deserializer = deserializer
144093  			}
144094  		case "type":
144095  			if v != nil {
144096  				var typeVar TypeBasicDatasetStorageFormat
144097  				err = json.Unmarshal(*v, &typeVar)
144098  				if err != nil {
144099  					return err
144100  				}
144101  				of.Type = typeVar
144102  			}
144103  		}
144104  	}
144105  
144106  	return nil
144107  }
144108  
144109  // OrcSink a copy activity ORC sink.
144110  type OrcSink struct {
144111  	// StoreSettings - ORC store settings.
144112  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
144113  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
144114  	AdditionalProperties map[string]interface{} `json:""`
144115  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
144116  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
144117  	// 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])).
144118  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
144119  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
144120  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
144121  	// 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])).
144122  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
144123  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
144124  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
144125  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
144126  	Type TypeBasicCopySink `json:"type,omitempty"`
144127  }
144128  
144129  // MarshalJSON is the custom marshaler for OrcSink.
144130  func (osVar OrcSink) MarshalJSON() ([]byte, error) {
144131  	osVar.Type = TypeOrcSink
144132  	objectMap := make(map[string]interface{})
144133  	objectMap["storeSettings"] = osVar.StoreSettings
144134  	if osVar.WriteBatchSize != nil {
144135  		objectMap["writeBatchSize"] = osVar.WriteBatchSize
144136  	}
144137  	if osVar.WriteBatchTimeout != nil {
144138  		objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout
144139  	}
144140  	if osVar.SinkRetryCount != nil {
144141  		objectMap["sinkRetryCount"] = osVar.SinkRetryCount
144142  	}
144143  	if osVar.SinkRetryWait != nil {
144144  		objectMap["sinkRetryWait"] = osVar.SinkRetryWait
144145  	}
144146  	if osVar.MaxConcurrentConnections != nil {
144147  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
144148  	}
144149  	if osVar.Type != "" {
144150  		objectMap["type"] = osVar.Type
144151  	}
144152  	for k, v := range osVar.AdditionalProperties {
144153  		objectMap[k] = v
144154  	}
144155  	return json.Marshal(objectMap)
144156  }
144157  
144158  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OrcSink.
144159  func (osVar OrcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
144160  	return nil, false
144161  }
144162  
144163  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for OrcSink.
144164  func (osVar OrcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
144165  	return nil, false
144166  }
144167  
144168  // AsSalesforceSink is the BasicCopySink implementation for OrcSink.
144169  func (osVar OrcSink) AsSalesforceSink() (*SalesforceSink, bool) {
144170  	return nil, false
144171  }
144172  
144173  // AsAzureDataExplorerSink is the BasicCopySink implementation for OrcSink.
144174  func (osVar OrcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
144175  	return nil, false
144176  }
144177  
144178  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OrcSink.
144179  func (osVar OrcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
144180  	return nil, false
144181  }
144182  
144183  // AsDynamicsCrmSink is the BasicCopySink implementation for OrcSink.
144184  func (osVar OrcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
144185  	return nil, false
144186  }
144187  
144188  // AsDynamicsSink is the BasicCopySink implementation for OrcSink.
144189  func (osVar OrcSink) AsDynamicsSink() (*DynamicsSink, bool) {
144190  	return nil, false
144191  }
144192  
144193  // AsMicrosoftAccessSink is the BasicCopySink implementation for OrcSink.
144194  func (osVar OrcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
144195  	return nil, false
144196  }
144197  
144198  // AsInformixSink is the BasicCopySink implementation for OrcSink.
144199  func (osVar OrcSink) AsInformixSink() (*InformixSink, bool) {
144200  	return nil, false
144201  }
144202  
144203  // AsOdbcSink is the BasicCopySink implementation for OrcSink.
144204  func (osVar OrcSink) AsOdbcSink() (*OdbcSink, bool) {
144205  	return nil, false
144206  }
144207  
144208  // AsAzureSearchIndexSink is the BasicCopySink implementation for OrcSink.
144209  func (osVar OrcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
144210  	return nil, false
144211  }
144212  
144213  // AsAzureBlobFSSink is the BasicCopySink implementation for OrcSink.
144214  func (osVar OrcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
144215  	return nil, false
144216  }
144217  
144218  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for OrcSink.
144219  func (osVar OrcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
144220  	return nil, false
144221  }
144222  
144223  // AsOracleSink is the BasicCopySink implementation for OrcSink.
144224  func (osVar OrcSink) AsOracleSink() (*OracleSink, bool) {
144225  	return nil, false
144226  }
144227  
144228  // AsSQLDWSink is the BasicCopySink implementation for OrcSink.
144229  func (osVar OrcSink) AsSQLDWSink() (*SQLDWSink, bool) {
144230  	return nil, false
144231  }
144232  
144233  // AsSQLMISink is the BasicCopySink implementation for OrcSink.
144234  func (osVar OrcSink) AsSQLMISink() (*SQLMISink, bool) {
144235  	return nil, false
144236  }
144237  
144238  // AsAzureSQLSink is the BasicCopySink implementation for OrcSink.
144239  func (osVar OrcSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
144240  	return nil, false
144241  }
144242  
144243  // AsSQLServerSink is the BasicCopySink implementation for OrcSink.
144244  func (osVar OrcSink) AsSQLServerSink() (*SQLServerSink, bool) {
144245  	return nil, false
144246  }
144247  
144248  // AsSQLSink is the BasicCopySink implementation for OrcSink.
144249  func (osVar OrcSink) AsSQLSink() (*SQLSink, bool) {
144250  	return nil, false
144251  }
144252  
144253  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for OrcSink.
144254  func (osVar OrcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
144255  	return nil, false
144256  }
144257  
144258  // AsDocumentDbCollectionSink is the BasicCopySink implementation for OrcSink.
144259  func (osVar OrcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
144260  	return nil, false
144261  }
144262  
144263  // AsFileSystemSink is the BasicCopySink implementation for OrcSink.
144264  func (osVar OrcSink) AsFileSystemSink() (*FileSystemSink, bool) {
144265  	return nil, false
144266  }
144267  
144268  // AsBlobSink is the BasicCopySink implementation for OrcSink.
144269  func (osVar OrcSink) AsBlobSink() (*BlobSink, bool) {
144270  	return nil, false
144271  }
144272  
144273  // AsBinarySink is the BasicCopySink implementation for OrcSink.
144274  func (osVar OrcSink) AsBinarySink() (*BinarySink, bool) {
144275  	return nil, false
144276  }
144277  
144278  // AsParquetSink is the BasicCopySink implementation for OrcSink.
144279  func (osVar OrcSink) AsParquetSink() (*ParquetSink, bool) {
144280  	return nil, false
144281  }
144282  
144283  // AsAvroSink is the BasicCopySink implementation for OrcSink.
144284  func (osVar OrcSink) AsAvroSink() (*AvroSink, bool) {
144285  	return nil, false
144286  }
144287  
144288  // AsAzureTableSink is the BasicCopySink implementation for OrcSink.
144289  func (osVar OrcSink) AsAzureTableSink() (*AzureTableSink, bool) {
144290  	return nil, false
144291  }
144292  
144293  // AsAzureQueueSink is the BasicCopySink implementation for OrcSink.
144294  func (osVar OrcSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
144295  	return nil, false
144296  }
144297  
144298  // AsSapCloudForCustomerSink is the BasicCopySink implementation for OrcSink.
144299  func (osVar OrcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
144300  	return nil, false
144301  }
144302  
144303  // AsAzureMySQLSink is the BasicCopySink implementation for OrcSink.
144304  func (osVar OrcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
144305  	return nil, false
144306  }
144307  
144308  // AsAzurePostgreSQLSink is the BasicCopySink implementation for OrcSink.
144309  func (osVar OrcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
144310  	return nil, false
144311  }
144312  
144313  // AsOrcSink is the BasicCopySink implementation for OrcSink.
144314  func (osVar OrcSink) AsOrcSink() (*OrcSink, bool) {
144315  	return &osVar, true
144316  }
144317  
144318  // AsJSONSink is the BasicCopySink implementation for OrcSink.
144319  func (osVar OrcSink) AsJSONSink() (*JSONSink, bool) {
144320  	return nil, false
144321  }
144322  
144323  // AsDelimitedTextSink is the BasicCopySink implementation for OrcSink.
144324  func (osVar OrcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
144325  	return nil, false
144326  }
144327  
144328  // AsCopySink is the BasicCopySink implementation for OrcSink.
144329  func (osVar OrcSink) AsCopySink() (*CopySink, bool) {
144330  	return nil, false
144331  }
144332  
144333  // AsBasicCopySink is the BasicCopySink implementation for OrcSink.
144334  func (osVar OrcSink) AsBasicCopySink() (BasicCopySink, bool) {
144335  	return &osVar, true
144336  }
144337  
144338  // UnmarshalJSON is the custom unmarshaler for OrcSink struct.
144339  func (osVar *OrcSink) UnmarshalJSON(body []byte) error {
144340  	var m map[string]*json.RawMessage
144341  	err := json.Unmarshal(body, &m)
144342  	if err != nil {
144343  		return err
144344  	}
144345  	for k, v := range m {
144346  		switch k {
144347  		case "storeSettings":
144348  			if v != nil {
144349  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
144350  				if err != nil {
144351  					return err
144352  				}
144353  				osVar.StoreSettings = storeSettings
144354  			}
144355  		default:
144356  			if v != nil {
144357  				var additionalProperties interface{}
144358  				err = json.Unmarshal(*v, &additionalProperties)
144359  				if err != nil {
144360  					return err
144361  				}
144362  				if osVar.AdditionalProperties == nil {
144363  					osVar.AdditionalProperties = make(map[string]interface{})
144364  				}
144365  				osVar.AdditionalProperties[k] = additionalProperties
144366  			}
144367  		case "writeBatchSize":
144368  			if v != nil {
144369  				var writeBatchSize interface{}
144370  				err = json.Unmarshal(*v, &writeBatchSize)
144371  				if err != nil {
144372  					return err
144373  				}
144374  				osVar.WriteBatchSize = writeBatchSize
144375  			}
144376  		case "writeBatchTimeout":
144377  			if v != nil {
144378  				var writeBatchTimeout interface{}
144379  				err = json.Unmarshal(*v, &writeBatchTimeout)
144380  				if err != nil {
144381  					return err
144382  				}
144383  				osVar.WriteBatchTimeout = writeBatchTimeout
144384  			}
144385  		case "sinkRetryCount":
144386  			if v != nil {
144387  				var sinkRetryCount interface{}
144388  				err = json.Unmarshal(*v, &sinkRetryCount)
144389  				if err != nil {
144390  					return err
144391  				}
144392  				osVar.SinkRetryCount = sinkRetryCount
144393  			}
144394  		case "sinkRetryWait":
144395  			if v != nil {
144396  				var sinkRetryWait interface{}
144397  				err = json.Unmarshal(*v, &sinkRetryWait)
144398  				if err != nil {
144399  					return err
144400  				}
144401  				osVar.SinkRetryWait = sinkRetryWait
144402  			}
144403  		case "maxConcurrentConnections":
144404  			if v != nil {
144405  				var maxConcurrentConnections interface{}
144406  				err = json.Unmarshal(*v, &maxConcurrentConnections)
144407  				if err != nil {
144408  					return err
144409  				}
144410  				osVar.MaxConcurrentConnections = maxConcurrentConnections
144411  			}
144412  		case "type":
144413  			if v != nil {
144414  				var typeVar TypeBasicCopySink
144415  				err = json.Unmarshal(*v, &typeVar)
144416  				if err != nil {
144417  					return err
144418  				}
144419  				osVar.Type = typeVar
144420  			}
144421  		}
144422  	}
144423  
144424  	return nil
144425  }
144426  
144427  // OrcSource a copy activity ORC source.
144428  type OrcSource struct {
144429  	// StoreSettings - ORC store settings.
144430  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
144431  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
144432  	AdditionalProperties map[string]interface{} `json:""`
144433  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
144434  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
144435  	// 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])).
144436  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
144437  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
144438  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
144439  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
144440  	Type TypeBasicCopySource `json:"type,omitempty"`
144441  }
144442  
144443  // MarshalJSON is the custom marshaler for OrcSource.
144444  func (osVar OrcSource) MarshalJSON() ([]byte, error) {
144445  	osVar.Type = TypeOrcSource
144446  	objectMap := make(map[string]interface{})
144447  	objectMap["storeSettings"] = osVar.StoreSettings
144448  	if osVar.SourceRetryCount != nil {
144449  		objectMap["sourceRetryCount"] = osVar.SourceRetryCount
144450  	}
144451  	if osVar.SourceRetryWait != nil {
144452  		objectMap["sourceRetryWait"] = osVar.SourceRetryWait
144453  	}
144454  	if osVar.MaxConcurrentConnections != nil {
144455  		objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections
144456  	}
144457  	if osVar.Type != "" {
144458  		objectMap["type"] = osVar.Type
144459  	}
144460  	for k, v := range osVar.AdditionalProperties {
144461  		objectMap[k] = v
144462  	}
144463  	return json.Marshal(objectMap)
144464  }
144465  
144466  // AsHTTPSource is the BasicCopySource implementation for OrcSource.
144467  func (osVar OrcSource) AsHTTPSource() (*HTTPSource, bool) {
144468  	return nil, false
144469  }
144470  
144471  // AsAzureBlobFSSource is the BasicCopySource implementation for OrcSource.
144472  func (osVar OrcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
144473  	return nil, false
144474  }
144475  
144476  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for OrcSource.
144477  func (osVar OrcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
144478  	return nil, false
144479  }
144480  
144481  // AsOffice365Source is the BasicCopySource implementation for OrcSource.
144482  func (osVar OrcSource) AsOffice365Source() (*Office365Source, bool) {
144483  	return nil, false
144484  }
144485  
144486  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OrcSource.
144487  func (osVar OrcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
144488  	return nil, false
144489  }
144490  
144491  // AsMongoDbV2Source is the BasicCopySource implementation for OrcSource.
144492  func (osVar OrcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
144493  	return nil, false
144494  }
144495  
144496  // AsMongoDbSource is the BasicCopySource implementation for OrcSource.
144497  func (osVar OrcSource) AsMongoDbSource() (*MongoDbSource, bool) {
144498  	return nil, false
144499  }
144500  
144501  // AsWebSource is the BasicCopySource implementation for OrcSource.
144502  func (osVar OrcSource) AsWebSource() (*WebSource, bool) {
144503  	return nil, false
144504  }
144505  
144506  // AsOracleSource is the BasicCopySource implementation for OrcSource.
144507  func (osVar OrcSource) AsOracleSource() (*OracleSource, bool) {
144508  	return nil, false
144509  }
144510  
144511  // AsAzureDataExplorerSource is the BasicCopySource implementation for OrcSource.
144512  func (osVar OrcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
144513  	return nil, false
144514  }
144515  
144516  // AsHdfsSource is the BasicCopySource implementation for OrcSource.
144517  func (osVar OrcSource) AsHdfsSource() (*HdfsSource, bool) {
144518  	return nil, false
144519  }
144520  
144521  // AsFileSystemSource is the BasicCopySource implementation for OrcSource.
144522  func (osVar OrcSource) AsFileSystemSource() (*FileSystemSource, bool) {
144523  	return nil, false
144524  }
144525  
144526  // AsRestSource is the BasicCopySource implementation for OrcSource.
144527  func (osVar OrcSource) AsRestSource() (*RestSource, bool) {
144528  	return nil, false
144529  }
144530  
144531  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for OrcSource.
144532  func (osVar OrcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
144533  	return nil, false
144534  }
144535  
144536  // AsODataSource is the BasicCopySource implementation for OrcSource.
144537  func (osVar OrcSource) AsODataSource() (*ODataSource, bool) {
144538  	return nil, false
144539  }
144540  
144541  // AsMicrosoftAccessSource is the BasicCopySource implementation for OrcSource.
144542  func (osVar OrcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
144543  	return nil, false
144544  }
144545  
144546  // AsRelationalSource is the BasicCopySource implementation for OrcSource.
144547  func (osVar OrcSource) AsRelationalSource() (*RelationalSource, bool) {
144548  	return nil, false
144549  }
144550  
144551  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OrcSource.
144552  func (osVar OrcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
144553  	return nil, false
144554  }
144555  
144556  // AsDynamicsCrmSource is the BasicCopySource implementation for OrcSource.
144557  func (osVar OrcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
144558  	return nil, false
144559  }
144560  
144561  // AsDynamicsSource is the BasicCopySource implementation for OrcSource.
144562  func (osVar OrcSource) AsDynamicsSource() (*DynamicsSource, bool) {
144563  	return nil, false
144564  }
144565  
144566  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for OrcSource.
144567  func (osVar OrcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
144568  	return nil, false
144569  }
144570  
144571  // AsDocumentDbCollectionSource is the BasicCopySource implementation for OrcSource.
144572  func (osVar OrcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
144573  	return nil, false
144574  }
144575  
144576  // AsBlobSource is the BasicCopySource implementation for OrcSource.
144577  func (osVar OrcSource) AsBlobSource() (*BlobSource, bool) {
144578  	return nil, false
144579  }
144580  
144581  // AsAmazonRedshiftSource is the BasicCopySource implementation for OrcSource.
144582  func (osVar OrcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
144583  	return nil, false
144584  }
144585  
144586  // AsGoogleAdWordsSource is the BasicCopySource implementation for OrcSource.
144587  func (osVar OrcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
144588  	return nil, false
144589  }
144590  
144591  // AsOracleServiceCloudSource is the BasicCopySource implementation for OrcSource.
144592  func (osVar OrcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
144593  	return nil, false
144594  }
144595  
144596  // AsDynamicsAXSource is the BasicCopySource implementation for OrcSource.
144597  func (osVar OrcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
144598  	return nil, false
144599  }
144600  
144601  // AsResponsysSource is the BasicCopySource implementation for OrcSource.
144602  func (osVar OrcSource) AsResponsysSource() (*ResponsysSource, bool) {
144603  	return nil, false
144604  }
144605  
144606  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OrcSource.
144607  func (osVar OrcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
144608  	return nil, false
144609  }
144610  
144611  // AsVerticaSource is the BasicCopySource implementation for OrcSource.
144612  func (osVar OrcSource) AsVerticaSource() (*VerticaSource, bool) {
144613  	return nil, false
144614  }
144615  
144616  // AsNetezzaSource is the BasicCopySource implementation for OrcSource.
144617  func (osVar OrcSource) AsNetezzaSource() (*NetezzaSource, bool) {
144618  	return nil, false
144619  }
144620  
144621  // AsZohoSource is the BasicCopySource implementation for OrcSource.
144622  func (osVar OrcSource) AsZohoSource() (*ZohoSource, bool) {
144623  	return nil, false
144624  }
144625  
144626  // AsXeroSource is the BasicCopySource implementation for OrcSource.
144627  func (osVar OrcSource) AsXeroSource() (*XeroSource, bool) {
144628  	return nil, false
144629  }
144630  
144631  // AsSquareSource is the BasicCopySource implementation for OrcSource.
144632  func (osVar OrcSource) AsSquareSource() (*SquareSource, bool) {
144633  	return nil, false
144634  }
144635  
144636  // AsSparkSource is the BasicCopySource implementation for OrcSource.
144637  func (osVar OrcSource) AsSparkSource() (*SparkSource, bool) {
144638  	return nil, false
144639  }
144640  
144641  // AsShopifySource is the BasicCopySource implementation for OrcSource.
144642  func (osVar OrcSource) AsShopifySource() (*ShopifySource, bool) {
144643  	return nil, false
144644  }
144645  
144646  // AsServiceNowSource is the BasicCopySource implementation for OrcSource.
144647  func (osVar OrcSource) AsServiceNowSource() (*ServiceNowSource, bool) {
144648  	return nil, false
144649  }
144650  
144651  // AsQuickBooksSource is the BasicCopySource implementation for OrcSource.
144652  func (osVar OrcSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
144653  	return nil, false
144654  }
144655  
144656  // AsPrestoSource is the BasicCopySource implementation for OrcSource.
144657  func (osVar OrcSource) AsPrestoSource() (*PrestoSource, bool) {
144658  	return nil, false
144659  }
144660  
144661  // AsPhoenixSource is the BasicCopySource implementation for OrcSource.
144662  func (osVar OrcSource) AsPhoenixSource() (*PhoenixSource, bool) {
144663  	return nil, false
144664  }
144665  
144666  // AsPaypalSource is the BasicCopySource implementation for OrcSource.
144667  func (osVar OrcSource) AsPaypalSource() (*PaypalSource, bool) {
144668  	return nil, false
144669  }
144670  
144671  // AsMarketoSource is the BasicCopySource implementation for OrcSource.
144672  func (osVar OrcSource) AsMarketoSource() (*MarketoSource, bool) {
144673  	return nil, false
144674  }
144675  
144676  // AsAzureMariaDBSource is the BasicCopySource implementation for OrcSource.
144677  func (osVar OrcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
144678  	return nil, false
144679  }
144680  
144681  // AsMariaDBSource is the BasicCopySource implementation for OrcSource.
144682  func (osVar OrcSource) AsMariaDBSource() (*MariaDBSource, bool) {
144683  	return nil, false
144684  }
144685  
144686  // AsMagentoSource is the BasicCopySource implementation for OrcSource.
144687  func (osVar OrcSource) AsMagentoSource() (*MagentoSource, bool) {
144688  	return nil, false
144689  }
144690  
144691  // AsJiraSource is the BasicCopySource implementation for OrcSource.
144692  func (osVar OrcSource) AsJiraSource() (*JiraSource, bool) {
144693  	return nil, false
144694  }
144695  
144696  // AsImpalaSource is the BasicCopySource implementation for OrcSource.
144697  func (osVar OrcSource) AsImpalaSource() (*ImpalaSource, bool) {
144698  	return nil, false
144699  }
144700  
144701  // AsHubspotSource is the BasicCopySource implementation for OrcSource.
144702  func (osVar OrcSource) AsHubspotSource() (*HubspotSource, bool) {
144703  	return nil, false
144704  }
144705  
144706  // AsHiveSource is the BasicCopySource implementation for OrcSource.
144707  func (osVar OrcSource) AsHiveSource() (*HiveSource, bool) {
144708  	return nil, false
144709  }
144710  
144711  // AsHBaseSource is the BasicCopySource implementation for OrcSource.
144712  func (osVar OrcSource) AsHBaseSource() (*HBaseSource, bool) {
144713  	return nil, false
144714  }
144715  
144716  // AsGreenplumSource is the BasicCopySource implementation for OrcSource.
144717  func (osVar OrcSource) AsGreenplumSource() (*GreenplumSource, bool) {
144718  	return nil, false
144719  }
144720  
144721  // AsGoogleBigQuerySource is the BasicCopySource implementation for OrcSource.
144722  func (osVar OrcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
144723  	return nil, false
144724  }
144725  
144726  // AsEloquaSource is the BasicCopySource implementation for OrcSource.
144727  func (osVar OrcSource) AsEloquaSource() (*EloquaSource, bool) {
144728  	return nil, false
144729  }
144730  
144731  // AsDrillSource is the BasicCopySource implementation for OrcSource.
144732  func (osVar OrcSource) AsDrillSource() (*DrillSource, bool) {
144733  	return nil, false
144734  }
144735  
144736  // AsCouchbaseSource is the BasicCopySource implementation for OrcSource.
144737  func (osVar OrcSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
144738  	return nil, false
144739  }
144740  
144741  // AsConcurSource is the BasicCopySource implementation for OrcSource.
144742  func (osVar OrcSource) AsConcurSource() (*ConcurSource, bool) {
144743  	return nil, false
144744  }
144745  
144746  // AsAzurePostgreSQLSource is the BasicCopySource implementation for OrcSource.
144747  func (osVar OrcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
144748  	return nil, false
144749  }
144750  
144751  // AsAmazonMWSSource is the BasicCopySource implementation for OrcSource.
144752  func (osVar OrcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
144753  	return nil, false
144754  }
144755  
144756  // AsCassandraSource is the BasicCopySource implementation for OrcSource.
144757  func (osVar OrcSource) AsCassandraSource() (*CassandraSource, bool) {
144758  	return nil, false
144759  }
144760  
144761  // AsTeradataSource is the BasicCopySource implementation for OrcSource.
144762  func (osVar OrcSource) AsTeradataSource() (*TeradataSource, bool) {
144763  	return nil, false
144764  }
144765  
144766  // AsAzureMySQLSource is the BasicCopySource implementation for OrcSource.
144767  func (osVar OrcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
144768  	return nil, false
144769  }
144770  
144771  // AsSQLDWSource is the BasicCopySource implementation for OrcSource.
144772  func (osVar OrcSource) AsSQLDWSource() (*SQLDWSource, bool) {
144773  	return nil, false
144774  }
144775  
144776  // AsSQLMISource is the BasicCopySource implementation for OrcSource.
144777  func (osVar OrcSource) AsSQLMISource() (*SQLMISource, bool) {
144778  	return nil, false
144779  }
144780  
144781  // AsAzureSQLSource is the BasicCopySource implementation for OrcSource.
144782  func (osVar OrcSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
144783  	return nil, false
144784  }
144785  
144786  // AsSQLServerSource is the BasicCopySource implementation for OrcSource.
144787  func (osVar OrcSource) AsSQLServerSource() (*SQLServerSource, bool) {
144788  	return nil, false
144789  }
144790  
144791  // AsSQLSource is the BasicCopySource implementation for OrcSource.
144792  func (osVar OrcSource) AsSQLSource() (*SQLSource, bool) {
144793  	return nil, false
144794  }
144795  
144796  // AsSapTableSource is the BasicCopySource implementation for OrcSource.
144797  func (osVar OrcSource) AsSapTableSource() (*SapTableSource, bool) {
144798  	return nil, false
144799  }
144800  
144801  // AsSapOpenHubSource is the BasicCopySource implementation for OrcSource.
144802  func (osVar OrcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
144803  	return nil, false
144804  }
144805  
144806  // AsSapHanaSource is the BasicCopySource implementation for OrcSource.
144807  func (osVar OrcSource) AsSapHanaSource() (*SapHanaSource, bool) {
144808  	return nil, false
144809  }
144810  
144811  // AsSapEccSource is the BasicCopySource implementation for OrcSource.
144812  func (osVar OrcSource) AsSapEccSource() (*SapEccSource, bool) {
144813  	return nil, false
144814  }
144815  
144816  // AsSapCloudForCustomerSource is the BasicCopySource implementation for OrcSource.
144817  func (osVar OrcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
144818  	return nil, false
144819  }
144820  
144821  // AsSalesforceSource is the BasicCopySource implementation for OrcSource.
144822  func (osVar OrcSource) AsSalesforceSource() (*SalesforceSource, bool) {
144823  	return nil, false
144824  }
144825  
144826  // AsSapBwSource is the BasicCopySource implementation for OrcSource.
144827  func (osVar OrcSource) AsSapBwSource() (*SapBwSource, bool) {
144828  	return nil, false
144829  }
144830  
144831  // AsSybaseSource is the BasicCopySource implementation for OrcSource.
144832  func (osVar OrcSource) AsSybaseSource() (*SybaseSource, bool) {
144833  	return nil, false
144834  }
144835  
144836  // AsPostgreSQLSource is the BasicCopySource implementation for OrcSource.
144837  func (osVar OrcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
144838  	return nil, false
144839  }
144840  
144841  // AsMySQLSource is the BasicCopySource implementation for OrcSource.
144842  func (osVar OrcSource) AsMySQLSource() (*MySQLSource, bool) {
144843  	return nil, false
144844  }
144845  
144846  // AsOdbcSource is the BasicCopySource implementation for OrcSource.
144847  func (osVar OrcSource) AsOdbcSource() (*OdbcSource, bool) {
144848  	return nil, false
144849  }
144850  
144851  // AsDb2Source is the BasicCopySource implementation for OrcSource.
144852  func (osVar OrcSource) AsDb2Source() (*Db2Source, bool) {
144853  	return nil, false
144854  }
144855  
144856  // AsInformixSource is the BasicCopySource implementation for OrcSource.
144857  func (osVar OrcSource) AsInformixSource() (*InformixSource, bool) {
144858  	return nil, false
144859  }
144860  
144861  // AsAzureTableSource is the BasicCopySource implementation for OrcSource.
144862  func (osVar OrcSource) AsAzureTableSource() (*AzureTableSource, bool) {
144863  	return nil, false
144864  }
144865  
144866  // AsTabularSource is the BasicCopySource implementation for OrcSource.
144867  func (osVar OrcSource) AsTabularSource() (*TabularSource, bool) {
144868  	return nil, false
144869  }
144870  
144871  // AsBasicTabularSource is the BasicCopySource implementation for OrcSource.
144872  func (osVar OrcSource) AsBasicTabularSource() (BasicTabularSource, bool) {
144873  	return nil, false
144874  }
144875  
144876  // AsBinarySource is the BasicCopySource implementation for OrcSource.
144877  func (osVar OrcSource) AsBinarySource() (*BinarySource, bool) {
144878  	return nil, false
144879  }
144880  
144881  // AsOrcSource is the BasicCopySource implementation for OrcSource.
144882  func (osVar OrcSource) AsOrcSource() (*OrcSource, bool) {
144883  	return &osVar, true
144884  }
144885  
144886  // AsJSONSource is the BasicCopySource implementation for OrcSource.
144887  func (osVar OrcSource) AsJSONSource() (*JSONSource, bool) {
144888  	return nil, false
144889  }
144890  
144891  // AsDelimitedTextSource is the BasicCopySource implementation for OrcSource.
144892  func (osVar OrcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
144893  	return nil, false
144894  }
144895  
144896  // AsParquetSource is the BasicCopySource implementation for OrcSource.
144897  func (osVar OrcSource) AsParquetSource() (*ParquetSource, bool) {
144898  	return nil, false
144899  }
144900  
144901  // AsAvroSource is the BasicCopySource implementation for OrcSource.
144902  func (osVar OrcSource) AsAvroSource() (*AvroSource, bool) {
144903  	return nil, false
144904  }
144905  
144906  // AsCopySource is the BasicCopySource implementation for OrcSource.
144907  func (osVar OrcSource) AsCopySource() (*CopySource, bool) {
144908  	return nil, false
144909  }
144910  
144911  // AsBasicCopySource is the BasicCopySource implementation for OrcSource.
144912  func (osVar OrcSource) AsBasicCopySource() (BasicCopySource, bool) {
144913  	return &osVar, true
144914  }
144915  
144916  // UnmarshalJSON is the custom unmarshaler for OrcSource struct.
144917  func (osVar *OrcSource) UnmarshalJSON(body []byte) error {
144918  	var m map[string]*json.RawMessage
144919  	err := json.Unmarshal(body, &m)
144920  	if err != nil {
144921  		return err
144922  	}
144923  	for k, v := range m {
144924  		switch k {
144925  		case "storeSettings":
144926  			if v != nil {
144927  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
144928  				if err != nil {
144929  					return err
144930  				}
144931  				osVar.StoreSettings = storeSettings
144932  			}
144933  		default:
144934  			if v != nil {
144935  				var additionalProperties interface{}
144936  				err = json.Unmarshal(*v, &additionalProperties)
144937  				if err != nil {
144938  					return err
144939  				}
144940  				if osVar.AdditionalProperties == nil {
144941  					osVar.AdditionalProperties = make(map[string]interface{})
144942  				}
144943  				osVar.AdditionalProperties[k] = additionalProperties
144944  			}
144945  		case "sourceRetryCount":
144946  			if v != nil {
144947  				var sourceRetryCount interface{}
144948  				err = json.Unmarshal(*v, &sourceRetryCount)
144949  				if err != nil {
144950  					return err
144951  				}
144952  				osVar.SourceRetryCount = sourceRetryCount
144953  			}
144954  		case "sourceRetryWait":
144955  			if v != nil {
144956  				var sourceRetryWait interface{}
144957  				err = json.Unmarshal(*v, &sourceRetryWait)
144958  				if err != nil {
144959  					return err
144960  				}
144961  				osVar.SourceRetryWait = sourceRetryWait
144962  			}
144963  		case "maxConcurrentConnections":
144964  			if v != nil {
144965  				var maxConcurrentConnections interface{}
144966  				err = json.Unmarshal(*v, &maxConcurrentConnections)
144967  				if err != nil {
144968  					return err
144969  				}
144970  				osVar.MaxConcurrentConnections = maxConcurrentConnections
144971  			}
144972  		case "type":
144973  			if v != nil {
144974  				var typeVar TypeBasicCopySource
144975  				err = json.Unmarshal(*v, &typeVar)
144976  				if err != nil {
144977  					return err
144978  				}
144979  				osVar.Type = typeVar
144980  			}
144981  		}
144982  	}
144983  
144984  	return nil
144985  }
144986  
144987  // ParameterSpecification definition of a single parameter for an entity.
144988  type ParameterSpecification struct {
144989  	// Type - Parameter type. Possible values include: 'ParameterTypeObject', 'ParameterTypeString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeSecureString'
144990  	Type ParameterType `json:"type,omitempty"`
144991  	// DefaultValue - Default value of parameter.
144992  	DefaultValue interface{} `json:"defaultValue,omitempty"`
144993  }
144994  
144995  // ParquetDataset parquet dataset.
144996  type ParquetDataset struct {
144997  	// ParquetDatasetTypeProperties - Parquet dataset properties.
144998  	*ParquetDatasetTypeProperties `json:"typeProperties,omitempty"`
144999  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
145000  	AdditionalProperties map[string]interface{} `json:""`
145001  	// Description - Dataset description.
145002  	Description *string `json:"description,omitempty"`
145003  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
145004  	Structure interface{} `json:"structure,omitempty"`
145005  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
145006  	Schema interface{} `json:"schema,omitempty"`
145007  	// LinkedServiceName - Linked service reference.
145008  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
145009  	// Parameters - Parameters for dataset.
145010  	Parameters map[string]*ParameterSpecification `json:"parameters"`
145011  	// Annotations - List of tags that can be used for describing the Dataset.
145012  	Annotations *[]interface{} `json:"annotations,omitempty"`
145013  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
145014  	Folder *DatasetFolder `json:"folder,omitempty"`
145015  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
145016  	Type TypeBasicDataset `json:"type,omitempty"`
145017  }
145018  
145019  // MarshalJSON is the custom marshaler for ParquetDataset.
145020  func (pd ParquetDataset) MarshalJSON() ([]byte, error) {
145021  	pd.Type = TypeParquet
145022  	objectMap := make(map[string]interface{})
145023  	if pd.ParquetDatasetTypeProperties != nil {
145024  		objectMap["typeProperties"] = pd.ParquetDatasetTypeProperties
145025  	}
145026  	if pd.Description != nil {
145027  		objectMap["description"] = pd.Description
145028  	}
145029  	if pd.Structure != nil {
145030  		objectMap["structure"] = pd.Structure
145031  	}
145032  	if pd.Schema != nil {
145033  		objectMap["schema"] = pd.Schema
145034  	}
145035  	if pd.LinkedServiceName != nil {
145036  		objectMap["linkedServiceName"] = pd.LinkedServiceName
145037  	}
145038  	if pd.Parameters != nil {
145039  		objectMap["parameters"] = pd.Parameters
145040  	}
145041  	if pd.Annotations != nil {
145042  		objectMap["annotations"] = pd.Annotations
145043  	}
145044  	if pd.Folder != nil {
145045  		objectMap["folder"] = pd.Folder
145046  	}
145047  	if pd.Type != "" {
145048  		objectMap["type"] = pd.Type
145049  	}
145050  	for k, v := range pd.AdditionalProperties {
145051  		objectMap[k] = v
145052  	}
145053  	return json.Marshal(objectMap)
145054  }
145055  
145056  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ParquetDataset.
145057  func (pd ParquetDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
145058  	return nil, false
145059  }
145060  
145061  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ParquetDataset.
145062  func (pd ParquetDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
145063  	return nil, false
145064  }
145065  
145066  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
145067  func (pd ParquetDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
145068  	return nil, false
145069  }
145070  
145071  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ParquetDataset.
145072  func (pd ParquetDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
145073  	return nil, false
145074  }
145075  
145076  // AsResponsysObjectDataset is the BasicDataset implementation for ParquetDataset.
145077  func (pd ParquetDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
145078  	return nil, false
145079  }
145080  
145081  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
145082  func (pd ParquetDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
145083  	return nil, false
145084  }
145085  
145086  // AsVerticaTableDataset is the BasicDataset implementation for ParquetDataset.
145087  func (pd ParquetDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
145088  	return nil, false
145089  }
145090  
145091  // AsNetezzaTableDataset is the BasicDataset implementation for ParquetDataset.
145092  func (pd ParquetDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
145093  	return nil, false
145094  }
145095  
145096  // AsZohoObjectDataset is the BasicDataset implementation for ParquetDataset.
145097  func (pd ParquetDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
145098  	return nil, false
145099  }
145100  
145101  // AsXeroObjectDataset is the BasicDataset implementation for ParquetDataset.
145102  func (pd ParquetDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
145103  	return nil, false
145104  }
145105  
145106  // AsSquareObjectDataset is the BasicDataset implementation for ParquetDataset.
145107  func (pd ParquetDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
145108  	return nil, false
145109  }
145110  
145111  // AsSparkObjectDataset is the BasicDataset implementation for ParquetDataset.
145112  func (pd ParquetDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
145113  	return nil, false
145114  }
145115  
145116  // AsShopifyObjectDataset is the BasicDataset implementation for ParquetDataset.
145117  func (pd ParquetDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
145118  	return nil, false
145119  }
145120  
145121  // AsServiceNowObjectDataset is the BasicDataset implementation for ParquetDataset.
145122  func (pd ParquetDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
145123  	return nil, false
145124  }
145125  
145126  // AsQuickBooksObjectDataset is the BasicDataset implementation for ParquetDataset.
145127  func (pd ParquetDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
145128  	return nil, false
145129  }
145130  
145131  // AsPrestoObjectDataset is the BasicDataset implementation for ParquetDataset.
145132  func (pd ParquetDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
145133  	return nil, false
145134  }
145135  
145136  // AsPhoenixObjectDataset is the BasicDataset implementation for ParquetDataset.
145137  func (pd ParquetDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
145138  	return nil, false
145139  }
145140  
145141  // AsPaypalObjectDataset is the BasicDataset implementation for ParquetDataset.
145142  func (pd ParquetDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
145143  	return nil, false
145144  }
145145  
145146  // AsMarketoObjectDataset is the BasicDataset implementation for ParquetDataset.
145147  func (pd ParquetDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
145148  	return nil, false
145149  }
145150  
145151  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ParquetDataset.
145152  func (pd ParquetDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
145153  	return nil, false
145154  }
145155  
145156  // AsMariaDBTableDataset is the BasicDataset implementation for ParquetDataset.
145157  func (pd ParquetDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
145158  	return nil, false
145159  }
145160  
145161  // AsMagentoObjectDataset is the BasicDataset implementation for ParquetDataset.
145162  func (pd ParquetDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
145163  	return nil, false
145164  }
145165  
145166  // AsJiraObjectDataset is the BasicDataset implementation for ParquetDataset.
145167  func (pd ParquetDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
145168  	return nil, false
145169  }
145170  
145171  // AsImpalaObjectDataset is the BasicDataset implementation for ParquetDataset.
145172  func (pd ParquetDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
145173  	return nil, false
145174  }
145175  
145176  // AsHubspotObjectDataset is the BasicDataset implementation for ParquetDataset.
145177  func (pd ParquetDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
145178  	return nil, false
145179  }
145180  
145181  // AsHiveObjectDataset is the BasicDataset implementation for ParquetDataset.
145182  func (pd ParquetDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
145183  	return nil, false
145184  }
145185  
145186  // AsHBaseObjectDataset is the BasicDataset implementation for ParquetDataset.
145187  func (pd ParquetDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
145188  	return nil, false
145189  }
145190  
145191  // AsGreenplumTableDataset is the BasicDataset implementation for ParquetDataset.
145192  func (pd ParquetDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
145193  	return nil, false
145194  }
145195  
145196  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ParquetDataset.
145197  func (pd ParquetDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
145198  	return nil, false
145199  }
145200  
145201  // AsEloquaObjectDataset is the BasicDataset implementation for ParquetDataset.
145202  func (pd ParquetDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
145203  	return nil, false
145204  }
145205  
145206  // AsDrillTableDataset is the BasicDataset implementation for ParquetDataset.
145207  func (pd ParquetDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
145208  	return nil, false
145209  }
145210  
145211  // AsCouchbaseTableDataset is the BasicDataset implementation for ParquetDataset.
145212  func (pd ParquetDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
145213  	return nil, false
145214  }
145215  
145216  // AsConcurObjectDataset is the BasicDataset implementation for ParquetDataset.
145217  func (pd ParquetDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
145218  	return nil, false
145219  }
145220  
145221  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset.
145222  func (pd ParquetDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
145223  	return nil, false
145224  }
145225  
145226  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ParquetDataset.
145227  func (pd ParquetDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
145228  	return nil, false
145229  }
145230  
145231  // AsAzureSearchIndexDataset is the BasicDataset implementation for ParquetDataset.
145232  func (pd ParquetDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
145233  	return nil, false
145234  }
145235  
145236  // AsWebTableDataset is the BasicDataset implementation for ParquetDataset.
145237  func (pd ParquetDataset) AsWebTableDataset() (*WebTableDataset, bool) {
145238  	return nil, false
145239  }
145240  
145241  // AsSapTableResourceDataset is the BasicDataset implementation for ParquetDataset.
145242  func (pd ParquetDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
145243  	return nil, false
145244  }
145245  
145246  // AsRestResourceDataset is the BasicDataset implementation for ParquetDataset.
145247  func (pd ParquetDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
145248  	return nil, false
145249  }
145250  
145251  // AsSQLServerTableDataset is the BasicDataset implementation for ParquetDataset.
145252  func (pd ParquetDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
145253  	return nil, false
145254  }
145255  
145256  // AsSapOpenHubTableDataset is the BasicDataset implementation for ParquetDataset.
145257  func (pd ParquetDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
145258  	return nil, false
145259  }
145260  
145261  // AsSapHanaTableDataset is the BasicDataset implementation for ParquetDataset.
145262  func (pd ParquetDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
145263  	return nil, false
145264  }
145265  
145266  // AsSapEccResourceDataset is the BasicDataset implementation for ParquetDataset.
145267  func (pd ParquetDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
145268  	return nil, false
145269  }
145270  
145271  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ParquetDataset.
145272  func (pd ParquetDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
145273  	return nil, false
145274  }
145275  
145276  // AsSapBwCubeDataset is the BasicDataset implementation for ParquetDataset.
145277  func (pd ParquetDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
145278  	return nil, false
145279  }
145280  
145281  // AsSybaseTableDataset is the BasicDataset implementation for ParquetDataset.
145282  func (pd ParquetDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
145283  	return nil, false
145284  }
145285  
145286  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ParquetDataset.
145287  func (pd ParquetDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
145288  	return nil, false
145289  }
145290  
145291  // AsSalesforceObjectDataset is the BasicDataset implementation for ParquetDataset.
145292  func (pd ParquetDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
145293  	return nil, false
145294  }
145295  
145296  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ParquetDataset.
145297  func (pd ParquetDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
145298  	return nil, false
145299  }
145300  
145301  // AsPostgreSQLTableDataset is the BasicDataset implementation for ParquetDataset.
145302  func (pd ParquetDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
145303  	return nil, false
145304  }
145305  
145306  // AsMySQLTableDataset is the BasicDataset implementation for ParquetDataset.
145307  func (pd ParquetDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
145308  	return nil, false
145309  }
145310  
145311  // AsOdbcTableDataset is the BasicDataset implementation for ParquetDataset.
145312  func (pd ParquetDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
145313  	return nil, false
145314  }
145315  
145316  // AsInformixTableDataset is the BasicDataset implementation for ParquetDataset.
145317  func (pd ParquetDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
145318  	return nil, false
145319  }
145320  
145321  // AsRelationalTableDataset is the BasicDataset implementation for ParquetDataset.
145322  func (pd ParquetDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
145323  	return nil, false
145324  }
145325  
145326  // AsDb2TableDataset is the BasicDataset implementation for ParquetDataset.
145327  func (pd ParquetDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
145328  	return nil, false
145329  }
145330  
145331  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ParquetDataset.
145332  func (pd ParquetDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
145333  	return nil, false
145334  }
145335  
145336  // AsAzureMySQLTableDataset is the BasicDataset implementation for ParquetDataset.
145337  func (pd ParquetDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
145338  	return nil, false
145339  }
145340  
145341  // AsTeradataTableDataset is the BasicDataset implementation for ParquetDataset.
145342  func (pd ParquetDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
145343  	return nil, false
145344  }
145345  
145346  // AsOracleTableDataset is the BasicDataset implementation for ParquetDataset.
145347  func (pd ParquetDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
145348  	return nil, false
145349  }
145350  
145351  // AsODataResourceDataset is the BasicDataset implementation for ParquetDataset.
145352  func (pd ParquetDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
145353  	return nil, false
145354  }
145355  
145356  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ParquetDataset.
145357  func (pd ParquetDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
145358  	return nil, false
145359  }
145360  
145361  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ParquetDataset.
145362  func (pd ParquetDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
145363  	return nil, false
145364  }
145365  
145366  // AsMongoDbCollectionDataset is the BasicDataset implementation for ParquetDataset.
145367  func (pd ParquetDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
145368  	return nil, false
145369  }
145370  
145371  // AsOffice365Dataset is the BasicDataset implementation for ParquetDataset.
145372  func (pd ParquetDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
145373  	return nil, false
145374  }
145375  
145376  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ParquetDataset.
145377  func (pd ParquetDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
145378  	return nil, false
145379  }
145380  
145381  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ParquetDataset.
145382  func (pd ParquetDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
145383  	return nil, false
145384  }
145385  
145386  // AsDynamicsEntityDataset is the BasicDataset implementation for ParquetDataset.
145387  func (pd ParquetDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
145388  	return nil, false
145389  }
145390  
145391  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ParquetDataset.
145392  func (pd ParquetDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
145393  	return nil, false
145394  }
145395  
145396  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ParquetDataset.
145397  func (pd ParquetDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
145398  	return nil, false
145399  }
145400  
145401  // AsCustomDataset is the BasicDataset implementation for ParquetDataset.
145402  func (pd ParquetDataset) AsCustomDataset() (*CustomDataset, bool) {
145403  	return nil, false
145404  }
145405  
145406  // AsCassandraTableDataset is the BasicDataset implementation for ParquetDataset.
145407  func (pd ParquetDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
145408  	return nil, false
145409  }
145410  
145411  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ParquetDataset.
145412  func (pd ParquetDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
145413  	return nil, false
145414  }
145415  
145416  // AsAzureSQLMITableDataset is the BasicDataset implementation for ParquetDataset.
145417  func (pd ParquetDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
145418  	return nil, false
145419  }
145420  
145421  // AsAzureSQLTableDataset is the BasicDataset implementation for ParquetDataset.
145422  func (pd ParquetDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
145423  	return nil, false
145424  }
145425  
145426  // AsAzureTableDataset is the BasicDataset implementation for ParquetDataset.
145427  func (pd ParquetDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
145428  	return nil, false
145429  }
145430  
145431  // AsBinaryDataset is the BasicDataset implementation for ParquetDataset.
145432  func (pd ParquetDataset) AsBinaryDataset() (*BinaryDataset, bool) {
145433  	return nil, false
145434  }
145435  
145436  // AsOrcDataset is the BasicDataset implementation for ParquetDataset.
145437  func (pd ParquetDataset) AsOrcDataset() (*OrcDataset, bool) {
145438  	return nil, false
145439  }
145440  
145441  // AsJSONDataset is the BasicDataset implementation for ParquetDataset.
145442  func (pd ParquetDataset) AsJSONDataset() (*JSONDataset, bool) {
145443  	return nil, false
145444  }
145445  
145446  // AsDelimitedTextDataset is the BasicDataset implementation for ParquetDataset.
145447  func (pd ParquetDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
145448  	return nil, false
145449  }
145450  
145451  // AsParquetDataset is the BasicDataset implementation for ParquetDataset.
145452  func (pd ParquetDataset) AsParquetDataset() (*ParquetDataset, bool) {
145453  	return &pd, true
145454  }
145455  
145456  // AsAvroDataset is the BasicDataset implementation for ParquetDataset.
145457  func (pd ParquetDataset) AsAvroDataset() (*AvroDataset, bool) {
145458  	return nil, false
145459  }
145460  
145461  // AsDataset is the BasicDataset implementation for ParquetDataset.
145462  func (pd ParquetDataset) AsDataset() (*Dataset, bool) {
145463  	return nil, false
145464  }
145465  
145466  // AsBasicDataset is the BasicDataset implementation for ParquetDataset.
145467  func (pd ParquetDataset) AsBasicDataset() (BasicDataset, bool) {
145468  	return &pd, true
145469  }
145470  
145471  // UnmarshalJSON is the custom unmarshaler for ParquetDataset struct.
145472  func (pd *ParquetDataset) UnmarshalJSON(body []byte) error {
145473  	var m map[string]*json.RawMessage
145474  	err := json.Unmarshal(body, &m)
145475  	if err != nil {
145476  		return err
145477  	}
145478  	for k, v := range m {
145479  		switch k {
145480  		case "typeProperties":
145481  			if v != nil {
145482  				var parquetDatasetTypeProperties ParquetDatasetTypeProperties
145483  				err = json.Unmarshal(*v, &parquetDatasetTypeProperties)
145484  				if err != nil {
145485  					return err
145486  				}
145487  				pd.ParquetDatasetTypeProperties = &parquetDatasetTypeProperties
145488  			}
145489  		default:
145490  			if v != nil {
145491  				var additionalProperties interface{}
145492  				err = json.Unmarshal(*v, &additionalProperties)
145493  				if err != nil {
145494  					return err
145495  				}
145496  				if pd.AdditionalProperties == nil {
145497  					pd.AdditionalProperties = make(map[string]interface{})
145498  				}
145499  				pd.AdditionalProperties[k] = additionalProperties
145500  			}
145501  		case "description":
145502  			if v != nil {
145503  				var description string
145504  				err = json.Unmarshal(*v, &description)
145505  				if err != nil {
145506  					return err
145507  				}
145508  				pd.Description = &description
145509  			}
145510  		case "structure":
145511  			if v != nil {
145512  				var structure interface{}
145513  				err = json.Unmarshal(*v, &structure)
145514  				if err != nil {
145515  					return err
145516  				}
145517  				pd.Structure = structure
145518  			}
145519  		case "schema":
145520  			if v != nil {
145521  				var schema interface{}
145522  				err = json.Unmarshal(*v, &schema)
145523  				if err != nil {
145524  					return err
145525  				}
145526  				pd.Schema = schema
145527  			}
145528  		case "linkedServiceName":
145529  			if v != nil {
145530  				var linkedServiceName LinkedServiceReference
145531  				err = json.Unmarshal(*v, &linkedServiceName)
145532  				if err != nil {
145533  					return err
145534  				}
145535  				pd.LinkedServiceName = &linkedServiceName
145536  			}
145537  		case "parameters":
145538  			if v != nil {
145539  				var parameters map[string]*ParameterSpecification
145540  				err = json.Unmarshal(*v, &parameters)
145541  				if err != nil {
145542  					return err
145543  				}
145544  				pd.Parameters = parameters
145545  			}
145546  		case "annotations":
145547  			if v != nil {
145548  				var annotations []interface{}
145549  				err = json.Unmarshal(*v, &annotations)
145550  				if err != nil {
145551  					return err
145552  				}
145553  				pd.Annotations = &annotations
145554  			}
145555  		case "folder":
145556  			if v != nil {
145557  				var folder DatasetFolder
145558  				err = json.Unmarshal(*v, &folder)
145559  				if err != nil {
145560  					return err
145561  				}
145562  				pd.Folder = &folder
145563  			}
145564  		case "type":
145565  			if v != nil {
145566  				var typeVar TypeBasicDataset
145567  				err = json.Unmarshal(*v, &typeVar)
145568  				if err != nil {
145569  					return err
145570  				}
145571  				pd.Type = typeVar
145572  			}
145573  		}
145574  	}
145575  
145576  	return nil
145577  }
145578  
145579  // ParquetDatasetTypeProperties parquet dataset properties.
145580  type ParquetDatasetTypeProperties struct {
145581  	// Location - The location of the parquet storage.
145582  	Location BasicDatasetLocation `json:"location,omitempty"`
145583  	// CompressionCodec - Possible values include: 'ParquetCompressionCodecNone', 'ParquetCompressionCodecGzip', 'ParquetCompressionCodecSnappy', 'ParquetCompressionCodecLzo'
145584  	CompressionCodec ParquetCompressionCodec `json:"compressionCodec,omitempty"`
145585  }
145586  
145587  // UnmarshalJSON is the custom unmarshaler for ParquetDatasetTypeProperties struct.
145588  func (pdtp *ParquetDatasetTypeProperties) UnmarshalJSON(body []byte) error {
145589  	var m map[string]*json.RawMessage
145590  	err := json.Unmarshal(body, &m)
145591  	if err != nil {
145592  		return err
145593  	}
145594  	for k, v := range m {
145595  		switch k {
145596  		case "location":
145597  			if v != nil {
145598  				location, err := unmarshalBasicDatasetLocation(*v)
145599  				if err != nil {
145600  					return err
145601  				}
145602  				pdtp.Location = location
145603  			}
145604  		case "compressionCodec":
145605  			if v != nil {
145606  				var compressionCodec ParquetCompressionCodec
145607  				err = json.Unmarshal(*v, &compressionCodec)
145608  				if err != nil {
145609  					return err
145610  				}
145611  				pdtp.CompressionCodec = compressionCodec
145612  			}
145613  		}
145614  	}
145615  
145616  	return nil
145617  }
145618  
145619  // ParquetFormat the data stored in Parquet format.
145620  type ParquetFormat struct {
145621  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
145622  	AdditionalProperties map[string]interface{} `json:""`
145623  	// Serializer - Serializer. Type: string (or Expression with resultType string).
145624  	Serializer interface{} `json:"serializer,omitempty"`
145625  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
145626  	Deserializer interface{} `json:"deserializer,omitempty"`
145627  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
145628  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
145629  }
145630  
145631  // MarshalJSON is the custom marshaler for ParquetFormat.
145632  func (pf ParquetFormat) MarshalJSON() ([]byte, error) {
145633  	pf.Type = TypeParquetFormat
145634  	objectMap := make(map[string]interface{})
145635  	if pf.Serializer != nil {
145636  		objectMap["serializer"] = pf.Serializer
145637  	}
145638  	if pf.Deserializer != nil {
145639  		objectMap["deserializer"] = pf.Deserializer
145640  	}
145641  	if pf.Type != "" {
145642  		objectMap["type"] = pf.Type
145643  	}
145644  	for k, v := range pf.AdditionalProperties {
145645  		objectMap[k] = v
145646  	}
145647  	return json.Marshal(objectMap)
145648  }
145649  
145650  // AsTextFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145651  func (pf ParquetFormat) AsTextFormat() (*TextFormat, bool) {
145652  	return nil, false
145653  }
145654  
145655  // AsJSONFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145656  func (pf ParquetFormat) AsJSONFormat() (*JSONFormat, bool) {
145657  	return nil, false
145658  }
145659  
145660  // AsAvroFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145661  func (pf ParquetFormat) AsAvroFormat() (*AvroFormat, bool) {
145662  	return nil, false
145663  }
145664  
145665  // AsOrcFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145666  func (pf ParquetFormat) AsOrcFormat() (*OrcFormat, bool) {
145667  	return nil, false
145668  }
145669  
145670  // AsParquetFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145671  func (pf ParquetFormat) AsParquetFormat() (*ParquetFormat, bool) {
145672  	return &pf, true
145673  }
145674  
145675  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145676  func (pf ParquetFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
145677  	return nil, false
145678  }
145679  
145680  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for ParquetFormat.
145681  func (pf ParquetFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
145682  	return &pf, true
145683  }
145684  
145685  // UnmarshalJSON is the custom unmarshaler for ParquetFormat struct.
145686  func (pf *ParquetFormat) UnmarshalJSON(body []byte) error {
145687  	var m map[string]*json.RawMessage
145688  	err := json.Unmarshal(body, &m)
145689  	if err != nil {
145690  		return err
145691  	}
145692  	for k, v := range m {
145693  		switch k {
145694  		default:
145695  			if v != nil {
145696  				var additionalProperties interface{}
145697  				err = json.Unmarshal(*v, &additionalProperties)
145698  				if err != nil {
145699  					return err
145700  				}
145701  				if pf.AdditionalProperties == nil {
145702  					pf.AdditionalProperties = make(map[string]interface{})
145703  				}
145704  				pf.AdditionalProperties[k] = additionalProperties
145705  			}
145706  		case "serializer":
145707  			if v != nil {
145708  				var serializer interface{}
145709  				err = json.Unmarshal(*v, &serializer)
145710  				if err != nil {
145711  					return err
145712  				}
145713  				pf.Serializer = serializer
145714  			}
145715  		case "deserializer":
145716  			if v != nil {
145717  				var deserializer interface{}
145718  				err = json.Unmarshal(*v, &deserializer)
145719  				if err != nil {
145720  					return err
145721  				}
145722  				pf.Deserializer = deserializer
145723  			}
145724  		case "type":
145725  			if v != nil {
145726  				var typeVar TypeBasicDatasetStorageFormat
145727  				err = json.Unmarshal(*v, &typeVar)
145728  				if err != nil {
145729  					return err
145730  				}
145731  				pf.Type = typeVar
145732  			}
145733  		}
145734  	}
145735  
145736  	return nil
145737  }
145738  
145739  // ParquetSink a copy activity Parquet sink.
145740  type ParquetSink struct {
145741  	// StoreSettings - Parquet store settings.
145742  	StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"`
145743  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
145744  	AdditionalProperties map[string]interface{} `json:""`
145745  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
145746  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
145747  	// 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])).
145748  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
145749  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
145750  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
145751  	// 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])).
145752  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
145753  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
145754  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
145755  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
145756  	Type TypeBasicCopySink `json:"type,omitempty"`
145757  }
145758  
145759  // MarshalJSON is the custom marshaler for ParquetSink.
145760  func (ps ParquetSink) MarshalJSON() ([]byte, error) {
145761  	ps.Type = TypeParquetSink
145762  	objectMap := make(map[string]interface{})
145763  	objectMap["storeSettings"] = ps.StoreSettings
145764  	if ps.WriteBatchSize != nil {
145765  		objectMap["writeBatchSize"] = ps.WriteBatchSize
145766  	}
145767  	if ps.WriteBatchTimeout != nil {
145768  		objectMap["writeBatchTimeout"] = ps.WriteBatchTimeout
145769  	}
145770  	if ps.SinkRetryCount != nil {
145771  		objectMap["sinkRetryCount"] = ps.SinkRetryCount
145772  	}
145773  	if ps.SinkRetryWait != nil {
145774  		objectMap["sinkRetryWait"] = ps.SinkRetryWait
145775  	}
145776  	if ps.MaxConcurrentConnections != nil {
145777  		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
145778  	}
145779  	if ps.Type != "" {
145780  		objectMap["type"] = ps.Type
145781  	}
145782  	for k, v := range ps.AdditionalProperties {
145783  		objectMap[k] = v
145784  	}
145785  	return json.Marshal(objectMap)
145786  }
145787  
145788  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for ParquetSink.
145789  func (ps ParquetSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
145790  	return nil, false
145791  }
145792  
145793  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for ParquetSink.
145794  func (ps ParquetSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
145795  	return nil, false
145796  }
145797  
145798  // AsSalesforceSink is the BasicCopySink implementation for ParquetSink.
145799  func (ps ParquetSink) AsSalesforceSink() (*SalesforceSink, bool) {
145800  	return nil, false
145801  }
145802  
145803  // AsAzureDataExplorerSink is the BasicCopySink implementation for ParquetSink.
145804  func (ps ParquetSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
145805  	return nil, false
145806  }
145807  
145808  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for ParquetSink.
145809  func (ps ParquetSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
145810  	return nil, false
145811  }
145812  
145813  // AsDynamicsCrmSink is the BasicCopySink implementation for ParquetSink.
145814  func (ps ParquetSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
145815  	return nil, false
145816  }
145817  
145818  // AsDynamicsSink is the BasicCopySink implementation for ParquetSink.
145819  func (ps ParquetSink) AsDynamicsSink() (*DynamicsSink, bool) {
145820  	return nil, false
145821  }
145822  
145823  // AsMicrosoftAccessSink is the BasicCopySink implementation for ParquetSink.
145824  func (ps ParquetSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
145825  	return nil, false
145826  }
145827  
145828  // AsInformixSink is the BasicCopySink implementation for ParquetSink.
145829  func (ps ParquetSink) AsInformixSink() (*InformixSink, bool) {
145830  	return nil, false
145831  }
145832  
145833  // AsOdbcSink is the BasicCopySink implementation for ParquetSink.
145834  func (ps ParquetSink) AsOdbcSink() (*OdbcSink, bool) {
145835  	return nil, false
145836  }
145837  
145838  // AsAzureSearchIndexSink is the BasicCopySink implementation for ParquetSink.
145839  func (ps ParquetSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
145840  	return nil, false
145841  }
145842  
145843  // AsAzureBlobFSSink is the BasicCopySink implementation for ParquetSink.
145844  func (ps ParquetSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
145845  	return nil, false
145846  }
145847  
145848  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for ParquetSink.
145849  func (ps ParquetSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
145850  	return nil, false
145851  }
145852  
145853  // AsOracleSink is the BasicCopySink implementation for ParquetSink.
145854  func (ps ParquetSink) AsOracleSink() (*OracleSink, bool) {
145855  	return nil, false
145856  }
145857  
145858  // AsSQLDWSink is the BasicCopySink implementation for ParquetSink.
145859  func (ps ParquetSink) AsSQLDWSink() (*SQLDWSink, bool) {
145860  	return nil, false
145861  }
145862  
145863  // AsSQLMISink is the BasicCopySink implementation for ParquetSink.
145864  func (ps ParquetSink) AsSQLMISink() (*SQLMISink, bool) {
145865  	return nil, false
145866  }
145867  
145868  // AsAzureSQLSink is the BasicCopySink implementation for ParquetSink.
145869  func (ps ParquetSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
145870  	return nil, false
145871  }
145872  
145873  // AsSQLServerSink is the BasicCopySink implementation for ParquetSink.
145874  func (ps ParquetSink) AsSQLServerSink() (*SQLServerSink, bool) {
145875  	return nil, false
145876  }
145877  
145878  // AsSQLSink is the BasicCopySink implementation for ParquetSink.
145879  func (ps ParquetSink) AsSQLSink() (*SQLSink, bool) {
145880  	return nil, false
145881  }
145882  
145883  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for ParquetSink.
145884  func (ps ParquetSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
145885  	return nil, false
145886  }
145887  
145888  // AsDocumentDbCollectionSink is the BasicCopySink implementation for ParquetSink.
145889  func (ps ParquetSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
145890  	return nil, false
145891  }
145892  
145893  // AsFileSystemSink is the BasicCopySink implementation for ParquetSink.
145894  func (ps ParquetSink) AsFileSystemSink() (*FileSystemSink, bool) {
145895  	return nil, false
145896  }
145897  
145898  // AsBlobSink is the BasicCopySink implementation for ParquetSink.
145899  func (ps ParquetSink) AsBlobSink() (*BlobSink, bool) {
145900  	return nil, false
145901  }
145902  
145903  // AsBinarySink is the BasicCopySink implementation for ParquetSink.
145904  func (ps ParquetSink) AsBinarySink() (*BinarySink, bool) {
145905  	return nil, false
145906  }
145907  
145908  // AsParquetSink is the BasicCopySink implementation for ParquetSink.
145909  func (ps ParquetSink) AsParquetSink() (*ParquetSink, bool) {
145910  	return &ps, true
145911  }
145912  
145913  // AsAvroSink is the BasicCopySink implementation for ParquetSink.
145914  func (ps ParquetSink) AsAvroSink() (*AvroSink, bool) {
145915  	return nil, false
145916  }
145917  
145918  // AsAzureTableSink is the BasicCopySink implementation for ParquetSink.
145919  func (ps ParquetSink) AsAzureTableSink() (*AzureTableSink, bool) {
145920  	return nil, false
145921  }
145922  
145923  // AsAzureQueueSink is the BasicCopySink implementation for ParquetSink.
145924  func (ps ParquetSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
145925  	return nil, false
145926  }
145927  
145928  // AsSapCloudForCustomerSink is the BasicCopySink implementation for ParquetSink.
145929  func (ps ParquetSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
145930  	return nil, false
145931  }
145932  
145933  // AsAzureMySQLSink is the BasicCopySink implementation for ParquetSink.
145934  func (ps ParquetSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
145935  	return nil, false
145936  }
145937  
145938  // AsAzurePostgreSQLSink is the BasicCopySink implementation for ParquetSink.
145939  func (ps ParquetSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
145940  	return nil, false
145941  }
145942  
145943  // AsOrcSink is the BasicCopySink implementation for ParquetSink.
145944  func (ps ParquetSink) AsOrcSink() (*OrcSink, bool) {
145945  	return nil, false
145946  }
145947  
145948  // AsJSONSink is the BasicCopySink implementation for ParquetSink.
145949  func (ps ParquetSink) AsJSONSink() (*JSONSink, bool) {
145950  	return nil, false
145951  }
145952  
145953  // AsDelimitedTextSink is the BasicCopySink implementation for ParquetSink.
145954  func (ps ParquetSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
145955  	return nil, false
145956  }
145957  
145958  // AsCopySink is the BasicCopySink implementation for ParquetSink.
145959  func (ps ParquetSink) AsCopySink() (*CopySink, bool) {
145960  	return nil, false
145961  }
145962  
145963  // AsBasicCopySink is the BasicCopySink implementation for ParquetSink.
145964  func (ps ParquetSink) AsBasicCopySink() (BasicCopySink, bool) {
145965  	return &ps, true
145966  }
145967  
145968  // UnmarshalJSON is the custom unmarshaler for ParquetSink struct.
145969  func (ps *ParquetSink) UnmarshalJSON(body []byte) error {
145970  	var m map[string]*json.RawMessage
145971  	err := json.Unmarshal(body, &m)
145972  	if err != nil {
145973  		return err
145974  	}
145975  	for k, v := range m {
145976  		switch k {
145977  		case "storeSettings":
145978  			if v != nil {
145979  				storeSettings, err := unmarshalBasicStoreWriteSettings(*v)
145980  				if err != nil {
145981  					return err
145982  				}
145983  				ps.StoreSettings = storeSettings
145984  			}
145985  		default:
145986  			if v != nil {
145987  				var additionalProperties interface{}
145988  				err = json.Unmarshal(*v, &additionalProperties)
145989  				if err != nil {
145990  					return err
145991  				}
145992  				if ps.AdditionalProperties == nil {
145993  					ps.AdditionalProperties = make(map[string]interface{})
145994  				}
145995  				ps.AdditionalProperties[k] = additionalProperties
145996  			}
145997  		case "writeBatchSize":
145998  			if v != nil {
145999  				var writeBatchSize interface{}
146000  				err = json.Unmarshal(*v, &writeBatchSize)
146001  				if err != nil {
146002  					return err
146003  				}
146004  				ps.WriteBatchSize = writeBatchSize
146005  			}
146006  		case "writeBatchTimeout":
146007  			if v != nil {
146008  				var writeBatchTimeout interface{}
146009  				err = json.Unmarshal(*v, &writeBatchTimeout)
146010  				if err != nil {
146011  					return err
146012  				}
146013  				ps.WriteBatchTimeout = writeBatchTimeout
146014  			}
146015  		case "sinkRetryCount":
146016  			if v != nil {
146017  				var sinkRetryCount interface{}
146018  				err = json.Unmarshal(*v, &sinkRetryCount)
146019  				if err != nil {
146020  					return err
146021  				}
146022  				ps.SinkRetryCount = sinkRetryCount
146023  			}
146024  		case "sinkRetryWait":
146025  			if v != nil {
146026  				var sinkRetryWait interface{}
146027  				err = json.Unmarshal(*v, &sinkRetryWait)
146028  				if err != nil {
146029  					return err
146030  				}
146031  				ps.SinkRetryWait = sinkRetryWait
146032  			}
146033  		case "maxConcurrentConnections":
146034  			if v != nil {
146035  				var maxConcurrentConnections interface{}
146036  				err = json.Unmarshal(*v, &maxConcurrentConnections)
146037  				if err != nil {
146038  					return err
146039  				}
146040  				ps.MaxConcurrentConnections = maxConcurrentConnections
146041  			}
146042  		case "type":
146043  			if v != nil {
146044  				var typeVar TypeBasicCopySink
146045  				err = json.Unmarshal(*v, &typeVar)
146046  				if err != nil {
146047  					return err
146048  				}
146049  				ps.Type = typeVar
146050  			}
146051  		}
146052  	}
146053  
146054  	return nil
146055  }
146056  
146057  // ParquetSource a copy activity Parquet source.
146058  type ParquetSource struct {
146059  	// StoreSettings - Parquet store settings.
146060  	StoreSettings BasicStoreReadSettings `json:"storeSettings,omitempty"`
146061  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
146062  	AdditionalProperties map[string]interface{} `json:""`
146063  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
146064  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
146065  	// 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])).
146066  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
146067  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
146068  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
146069  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
146070  	Type TypeBasicCopySource `json:"type,omitempty"`
146071  }
146072  
146073  // MarshalJSON is the custom marshaler for ParquetSource.
146074  func (ps ParquetSource) MarshalJSON() ([]byte, error) {
146075  	ps.Type = TypeParquetSource
146076  	objectMap := make(map[string]interface{})
146077  	objectMap["storeSettings"] = ps.StoreSettings
146078  	if ps.SourceRetryCount != nil {
146079  		objectMap["sourceRetryCount"] = ps.SourceRetryCount
146080  	}
146081  	if ps.SourceRetryWait != nil {
146082  		objectMap["sourceRetryWait"] = ps.SourceRetryWait
146083  	}
146084  	if ps.MaxConcurrentConnections != nil {
146085  		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
146086  	}
146087  	if ps.Type != "" {
146088  		objectMap["type"] = ps.Type
146089  	}
146090  	for k, v := range ps.AdditionalProperties {
146091  		objectMap[k] = v
146092  	}
146093  	return json.Marshal(objectMap)
146094  }
146095  
146096  // AsHTTPSource is the BasicCopySource implementation for ParquetSource.
146097  func (ps ParquetSource) AsHTTPSource() (*HTTPSource, bool) {
146098  	return nil, false
146099  }
146100  
146101  // AsAzureBlobFSSource is the BasicCopySource implementation for ParquetSource.
146102  func (ps ParquetSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
146103  	return nil, false
146104  }
146105  
146106  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ParquetSource.
146107  func (ps ParquetSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
146108  	return nil, false
146109  }
146110  
146111  // AsOffice365Source is the BasicCopySource implementation for ParquetSource.
146112  func (ps ParquetSource) AsOffice365Source() (*Office365Source, bool) {
146113  	return nil, false
146114  }
146115  
146116  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ParquetSource.
146117  func (ps ParquetSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
146118  	return nil, false
146119  }
146120  
146121  // AsMongoDbV2Source is the BasicCopySource implementation for ParquetSource.
146122  func (ps ParquetSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
146123  	return nil, false
146124  }
146125  
146126  // AsMongoDbSource is the BasicCopySource implementation for ParquetSource.
146127  func (ps ParquetSource) AsMongoDbSource() (*MongoDbSource, bool) {
146128  	return nil, false
146129  }
146130  
146131  // AsWebSource is the BasicCopySource implementation for ParquetSource.
146132  func (ps ParquetSource) AsWebSource() (*WebSource, bool) {
146133  	return nil, false
146134  }
146135  
146136  // AsOracleSource is the BasicCopySource implementation for ParquetSource.
146137  func (ps ParquetSource) AsOracleSource() (*OracleSource, bool) {
146138  	return nil, false
146139  }
146140  
146141  // AsAzureDataExplorerSource is the BasicCopySource implementation for ParquetSource.
146142  func (ps ParquetSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
146143  	return nil, false
146144  }
146145  
146146  // AsHdfsSource is the BasicCopySource implementation for ParquetSource.
146147  func (ps ParquetSource) AsHdfsSource() (*HdfsSource, bool) {
146148  	return nil, false
146149  }
146150  
146151  // AsFileSystemSource is the BasicCopySource implementation for ParquetSource.
146152  func (ps ParquetSource) AsFileSystemSource() (*FileSystemSource, bool) {
146153  	return nil, false
146154  }
146155  
146156  // AsRestSource is the BasicCopySource implementation for ParquetSource.
146157  func (ps ParquetSource) AsRestSource() (*RestSource, bool) {
146158  	return nil, false
146159  }
146160  
146161  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ParquetSource.
146162  func (ps ParquetSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
146163  	return nil, false
146164  }
146165  
146166  // AsODataSource is the BasicCopySource implementation for ParquetSource.
146167  func (ps ParquetSource) AsODataSource() (*ODataSource, bool) {
146168  	return nil, false
146169  }
146170  
146171  // AsMicrosoftAccessSource is the BasicCopySource implementation for ParquetSource.
146172  func (ps ParquetSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
146173  	return nil, false
146174  }
146175  
146176  // AsRelationalSource is the BasicCopySource implementation for ParquetSource.
146177  func (ps ParquetSource) AsRelationalSource() (*RelationalSource, bool) {
146178  	return nil, false
146179  }
146180  
146181  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ParquetSource.
146182  func (ps ParquetSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
146183  	return nil, false
146184  }
146185  
146186  // AsDynamicsCrmSource is the BasicCopySource implementation for ParquetSource.
146187  func (ps ParquetSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
146188  	return nil, false
146189  }
146190  
146191  // AsDynamicsSource is the BasicCopySource implementation for ParquetSource.
146192  func (ps ParquetSource) AsDynamicsSource() (*DynamicsSource, bool) {
146193  	return nil, false
146194  }
146195  
146196  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ParquetSource.
146197  func (ps ParquetSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
146198  	return nil, false
146199  }
146200  
146201  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ParquetSource.
146202  func (ps ParquetSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
146203  	return nil, false
146204  }
146205  
146206  // AsBlobSource is the BasicCopySource implementation for ParquetSource.
146207  func (ps ParquetSource) AsBlobSource() (*BlobSource, bool) {
146208  	return nil, false
146209  }
146210  
146211  // AsAmazonRedshiftSource is the BasicCopySource implementation for ParquetSource.
146212  func (ps ParquetSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
146213  	return nil, false
146214  }
146215  
146216  // AsGoogleAdWordsSource is the BasicCopySource implementation for ParquetSource.
146217  func (ps ParquetSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
146218  	return nil, false
146219  }
146220  
146221  // AsOracleServiceCloudSource is the BasicCopySource implementation for ParquetSource.
146222  func (ps ParquetSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
146223  	return nil, false
146224  }
146225  
146226  // AsDynamicsAXSource is the BasicCopySource implementation for ParquetSource.
146227  func (ps ParquetSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
146228  	return nil, false
146229  }
146230  
146231  // AsResponsysSource is the BasicCopySource implementation for ParquetSource.
146232  func (ps ParquetSource) AsResponsysSource() (*ResponsysSource, bool) {
146233  	return nil, false
146234  }
146235  
146236  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ParquetSource.
146237  func (ps ParquetSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
146238  	return nil, false
146239  }
146240  
146241  // AsVerticaSource is the BasicCopySource implementation for ParquetSource.
146242  func (ps ParquetSource) AsVerticaSource() (*VerticaSource, bool) {
146243  	return nil, false
146244  }
146245  
146246  // AsNetezzaSource is the BasicCopySource implementation for ParquetSource.
146247  func (ps ParquetSource) AsNetezzaSource() (*NetezzaSource, bool) {
146248  	return nil, false
146249  }
146250  
146251  // AsZohoSource is the BasicCopySource implementation for ParquetSource.
146252  func (ps ParquetSource) AsZohoSource() (*ZohoSource, bool) {
146253  	return nil, false
146254  }
146255  
146256  // AsXeroSource is the BasicCopySource implementation for ParquetSource.
146257  func (ps ParquetSource) AsXeroSource() (*XeroSource, bool) {
146258  	return nil, false
146259  }
146260  
146261  // AsSquareSource is the BasicCopySource implementation for ParquetSource.
146262  func (ps ParquetSource) AsSquareSource() (*SquareSource, bool) {
146263  	return nil, false
146264  }
146265  
146266  // AsSparkSource is the BasicCopySource implementation for ParquetSource.
146267  func (ps ParquetSource) AsSparkSource() (*SparkSource, bool) {
146268  	return nil, false
146269  }
146270  
146271  // AsShopifySource is the BasicCopySource implementation for ParquetSource.
146272  func (ps ParquetSource) AsShopifySource() (*ShopifySource, bool) {
146273  	return nil, false
146274  }
146275  
146276  // AsServiceNowSource is the BasicCopySource implementation for ParquetSource.
146277  func (ps ParquetSource) AsServiceNowSource() (*ServiceNowSource, bool) {
146278  	return nil, false
146279  }
146280  
146281  // AsQuickBooksSource is the BasicCopySource implementation for ParquetSource.
146282  func (ps ParquetSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
146283  	return nil, false
146284  }
146285  
146286  // AsPrestoSource is the BasicCopySource implementation for ParquetSource.
146287  func (ps ParquetSource) AsPrestoSource() (*PrestoSource, bool) {
146288  	return nil, false
146289  }
146290  
146291  // AsPhoenixSource is the BasicCopySource implementation for ParquetSource.
146292  func (ps ParquetSource) AsPhoenixSource() (*PhoenixSource, bool) {
146293  	return nil, false
146294  }
146295  
146296  // AsPaypalSource is the BasicCopySource implementation for ParquetSource.
146297  func (ps ParquetSource) AsPaypalSource() (*PaypalSource, bool) {
146298  	return nil, false
146299  }
146300  
146301  // AsMarketoSource is the BasicCopySource implementation for ParquetSource.
146302  func (ps ParquetSource) AsMarketoSource() (*MarketoSource, bool) {
146303  	return nil, false
146304  }
146305  
146306  // AsAzureMariaDBSource is the BasicCopySource implementation for ParquetSource.
146307  func (ps ParquetSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
146308  	return nil, false
146309  }
146310  
146311  // AsMariaDBSource is the BasicCopySource implementation for ParquetSource.
146312  func (ps ParquetSource) AsMariaDBSource() (*MariaDBSource, bool) {
146313  	return nil, false
146314  }
146315  
146316  // AsMagentoSource is the BasicCopySource implementation for ParquetSource.
146317  func (ps ParquetSource) AsMagentoSource() (*MagentoSource, bool) {
146318  	return nil, false
146319  }
146320  
146321  // AsJiraSource is the BasicCopySource implementation for ParquetSource.
146322  func (ps ParquetSource) AsJiraSource() (*JiraSource, bool) {
146323  	return nil, false
146324  }
146325  
146326  // AsImpalaSource is the BasicCopySource implementation for ParquetSource.
146327  func (ps ParquetSource) AsImpalaSource() (*ImpalaSource, bool) {
146328  	return nil, false
146329  }
146330  
146331  // AsHubspotSource is the BasicCopySource implementation for ParquetSource.
146332  func (ps ParquetSource) AsHubspotSource() (*HubspotSource, bool) {
146333  	return nil, false
146334  }
146335  
146336  // AsHiveSource is the BasicCopySource implementation for ParquetSource.
146337  func (ps ParquetSource) AsHiveSource() (*HiveSource, bool) {
146338  	return nil, false
146339  }
146340  
146341  // AsHBaseSource is the BasicCopySource implementation for ParquetSource.
146342  func (ps ParquetSource) AsHBaseSource() (*HBaseSource, bool) {
146343  	return nil, false
146344  }
146345  
146346  // AsGreenplumSource is the BasicCopySource implementation for ParquetSource.
146347  func (ps ParquetSource) AsGreenplumSource() (*GreenplumSource, bool) {
146348  	return nil, false
146349  }
146350  
146351  // AsGoogleBigQuerySource is the BasicCopySource implementation for ParquetSource.
146352  func (ps ParquetSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
146353  	return nil, false
146354  }
146355  
146356  // AsEloquaSource is the BasicCopySource implementation for ParquetSource.
146357  func (ps ParquetSource) AsEloquaSource() (*EloquaSource, bool) {
146358  	return nil, false
146359  }
146360  
146361  // AsDrillSource is the BasicCopySource implementation for ParquetSource.
146362  func (ps ParquetSource) AsDrillSource() (*DrillSource, bool) {
146363  	return nil, false
146364  }
146365  
146366  // AsCouchbaseSource is the BasicCopySource implementation for ParquetSource.
146367  func (ps ParquetSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
146368  	return nil, false
146369  }
146370  
146371  // AsConcurSource is the BasicCopySource implementation for ParquetSource.
146372  func (ps ParquetSource) AsConcurSource() (*ConcurSource, bool) {
146373  	return nil, false
146374  }
146375  
146376  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ParquetSource.
146377  func (ps ParquetSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
146378  	return nil, false
146379  }
146380  
146381  // AsAmazonMWSSource is the BasicCopySource implementation for ParquetSource.
146382  func (ps ParquetSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
146383  	return nil, false
146384  }
146385  
146386  // AsCassandraSource is the BasicCopySource implementation for ParquetSource.
146387  func (ps ParquetSource) AsCassandraSource() (*CassandraSource, bool) {
146388  	return nil, false
146389  }
146390  
146391  // AsTeradataSource is the BasicCopySource implementation for ParquetSource.
146392  func (ps ParquetSource) AsTeradataSource() (*TeradataSource, bool) {
146393  	return nil, false
146394  }
146395  
146396  // AsAzureMySQLSource is the BasicCopySource implementation for ParquetSource.
146397  func (ps ParquetSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
146398  	return nil, false
146399  }
146400  
146401  // AsSQLDWSource is the BasicCopySource implementation for ParquetSource.
146402  func (ps ParquetSource) AsSQLDWSource() (*SQLDWSource, bool) {
146403  	return nil, false
146404  }
146405  
146406  // AsSQLMISource is the BasicCopySource implementation for ParquetSource.
146407  func (ps ParquetSource) AsSQLMISource() (*SQLMISource, bool) {
146408  	return nil, false
146409  }
146410  
146411  // AsAzureSQLSource is the BasicCopySource implementation for ParquetSource.
146412  func (ps ParquetSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
146413  	return nil, false
146414  }
146415  
146416  // AsSQLServerSource is the BasicCopySource implementation for ParquetSource.
146417  func (ps ParquetSource) AsSQLServerSource() (*SQLServerSource, bool) {
146418  	return nil, false
146419  }
146420  
146421  // AsSQLSource is the BasicCopySource implementation for ParquetSource.
146422  func (ps ParquetSource) AsSQLSource() (*SQLSource, bool) {
146423  	return nil, false
146424  }
146425  
146426  // AsSapTableSource is the BasicCopySource implementation for ParquetSource.
146427  func (ps ParquetSource) AsSapTableSource() (*SapTableSource, bool) {
146428  	return nil, false
146429  }
146430  
146431  // AsSapOpenHubSource is the BasicCopySource implementation for ParquetSource.
146432  func (ps ParquetSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
146433  	return nil, false
146434  }
146435  
146436  // AsSapHanaSource is the BasicCopySource implementation for ParquetSource.
146437  func (ps ParquetSource) AsSapHanaSource() (*SapHanaSource, bool) {
146438  	return nil, false
146439  }
146440  
146441  // AsSapEccSource is the BasicCopySource implementation for ParquetSource.
146442  func (ps ParquetSource) AsSapEccSource() (*SapEccSource, bool) {
146443  	return nil, false
146444  }
146445  
146446  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ParquetSource.
146447  func (ps ParquetSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
146448  	return nil, false
146449  }
146450  
146451  // AsSalesforceSource is the BasicCopySource implementation for ParquetSource.
146452  func (ps ParquetSource) AsSalesforceSource() (*SalesforceSource, bool) {
146453  	return nil, false
146454  }
146455  
146456  // AsSapBwSource is the BasicCopySource implementation for ParquetSource.
146457  func (ps ParquetSource) AsSapBwSource() (*SapBwSource, bool) {
146458  	return nil, false
146459  }
146460  
146461  // AsSybaseSource is the BasicCopySource implementation for ParquetSource.
146462  func (ps ParquetSource) AsSybaseSource() (*SybaseSource, bool) {
146463  	return nil, false
146464  }
146465  
146466  // AsPostgreSQLSource is the BasicCopySource implementation for ParquetSource.
146467  func (ps ParquetSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
146468  	return nil, false
146469  }
146470  
146471  // AsMySQLSource is the BasicCopySource implementation for ParquetSource.
146472  func (ps ParquetSource) AsMySQLSource() (*MySQLSource, bool) {
146473  	return nil, false
146474  }
146475  
146476  // AsOdbcSource is the BasicCopySource implementation for ParquetSource.
146477  func (ps ParquetSource) AsOdbcSource() (*OdbcSource, bool) {
146478  	return nil, false
146479  }
146480  
146481  // AsDb2Source is the BasicCopySource implementation for ParquetSource.
146482  func (ps ParquetSource) AsDb2Source() (*Db2Source, bool) {
146483  	return nil, false
146484  }
146485  
146486  // AsInformixSource is the BasicCopySource implementation for ParquetSource.
146487  func (ps ParquetSource) AsInformixSource() (*InformixSource, bool) {
146488  	return nil, false
146489  }
146490  
146491  // AsAzureTableSource is the BasicCopySource implementation for ParquetSource.
146492  func (ps ParquetSource) AsAzureTableSource() (*AzureTableSource, bool) {
146493  	return nil, false
146494  }
146495  
146496  // AsTabularSource is the BasicCopySource implementation for ParquetSource.
146497  func (ps ParquetSource) AsTabularSource() (*TabularSource, bool) {
146498  	return nil, false
146499  }
146500  
146501  // AsBasicTabularSource is the BasicCopySource implementation for ParquetSource.
146502  func (ps ParquetSource) AsBasicTabularSource() (BasicTabularSource, bool) {
146503  	return nil, false
146504  }
146505  
146506  // AsBinarySource is the BasicCopySource implementation for ParquetSource.
146507  func (ps ParquetSource) AsBinarySource() (*BinarySource, bool) {
146508  	return nil, false
146509  }
146510  
146511  // AsOrcSource is the BasicCopySource implementation for ParquetSource.
146512  func (ps ParquetSource) AsOrcSource() (*OrcSource, bool) {
146513  	return nil, false
146514  }
146515  
146516  // AsJSONSource is the BasicCopySource implementation for ParquetSource.
146517  func (ps ParquetSource) AsJSONSource() (*JSONSource, bool) {
146518  	return nil, false
146519  }
146520  
146521  // AsDelimitedTextSource is the BasicCopySource implementation for ParquetSource.
146522  func (ps ParquetSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
146523  	return nil, false
146524  }
146525  
146526  // AsParquetSource is the BasicCopySource implementation for ParquetSource.
146527  func (ps ParquetSource) AsParquetSource() (*ParquetSource, bool) {
146528  	return &ps, true
146529  }
146530  
146531  // AsAvroSource is the BasicCopySource implementation for ParquetSource.
146532  func (ps ParquetSource) AsAvroSource() (*AvroSource, bool) {
146533  	return nil, false
146534  }
146535  
146536  // AsCopySource is the BasicCopySource implementation for ParquetSource.
146537  func (ps ParquetSource) AsCopySource() (*CopySource, bool) {
146538  	return nil, false
146539  }
146540  
146541  // AsBasicCopySource is the BasicCopySource implementation for ParquetSource.
146542  func (ps ParquetSource) AsBasicCopySource() (BasicCopySource, bool) {
146543  	return &ps, true
146544  }
146545  
146546  // UnmarshalJSON is the custom unmarshaler for ParquetSource struct.
146547  func (ps *ParquetSource) UnmarshalJSON(body []byte) error {
146548  	var m map[string]*json.RawMessage
146549  	err := json.Unmarshal(body, &m)
146550  	if err != nil {
146551  		return err
146552  	}
146553  	for k, v := range m {
146554  		switch k {
146555  		case "storeSettings":
146556  			if v != nil {
146557  				storeSettings, err := unmarshalBasicStoreReadSettings(*v)
146558  				if err != nil {
146559  					return err
146560  				}
146561  				ps.StoreSettings = storeSettings
146562  			}
146563  		default:
146564  			if v != nil {
146565  				var additionalProperties interface{}
146566  				err = json.Unmarshal(*v, &additionalProperties)
146567  				if err != nil {
146568  					return err
146569  				}
146570  				if ps.AdditionalProperties == nil {
146571  					ps.AdditionalProperties = make(map[string]interface{})
146572  				}
146573  				ps.AdditionalProperties[k] = additionalProperties
146574  			}
146575  		case "sourceRetryCount":
146576  			if v != nil {
146577  				var sourceRetryCount interface{}
146578  				err = json.Unmarshal(*v, &sourceRetryCount)
146579  				if err != nil {
146580  					return err
146581  				}
146582  				ps.SourceRetryCount = sourceRetryCount
146583  			}
146584  		case "sourceRetryWait":
146585  			if v != nil {
146586  				var sourceRetryWait interface{}
146587  				err = json.Unmarshal(*v, &sourceRetryWait)
146588  				if err != nil {
146589  					return err
146590  				}
146591  				ps.SourceRetryWait = sourceRetryWait
146592  			}
146593  		case "maxConcurrentConnections":
146594  			if v != nil {
146595  				var maxConcurrentConnections interface{}
146596  				err = json.Unmarshal(*v, &maxConcurrentConnections)
146597  				if err != nil {
146598  					return err
146599  				}
146600  				ps.MaxConcurrentConnections = maxConcurrentConnections
146601  			}
146602  		case "type":
146603  			if v != nil {
146604  				var typeVar TypeBasicCopySource
146605  				err = json.Unmarshal(*v, &typeVar)
146606  				if err != nil {
146607  					return err
146608  				}
146609  				ps.Type = typeVar
146610  			}
146611  		}
146612  	}
146613  
146614  	return nil
146615  }
146616  
146617  // PaypalLinkedService paypal Service linked service.
146618  type PaypalLinkedService struct {
146619  	// PaypalLinkedServiceTypeProperties - Paypal Service linked service properties.
146620  	*PaypalLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
146621  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
146622  	AdditionalProperties map[string]interface{} `json:""`
146623  	// ConnectVia - The integration runtime reference.
146624  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
146625  	// Description - Linked service description.
146626  	Description *string `json:"description,omitempty"`
146627  	// Parameters - Parameters for linked service.
146628  	Parameters map[string]*ParameterSpecification `json:"parameters"`
146629  	// Annotations - List of tags that can be used for describing the linked service.
146630  	Annotations *[]interface{} `json:"annotations,omitempty"`
146631  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
146632  	Type TypeBasicLinkedService `json:"type,omitempty"`
146633  }
146634  
146635  // MarshalJSON is the custom marshaler for PaypalLinkedService.
146636  func (pls PaypalLinkedService) MarshalJSON() ([]byte, error) {
146637  	pls.Type = TypePaypal
146638  	objectMap := make(map[string]interface{})
146639  	if pls.PaypalLinkedServiceTypeProperties != nil {
146640  		objectMap["typeProperties"] = pls.PaypalLinkedServiceTypeProperties
146641  	}
146642  	if pls.ConnectVia != nil {
146643  		objectMap["connectVia"] = pls.ConnectVia
146644  	}
146645  	if pls.Description != nil {
146646  		objectMap["description"] = pls.Description
146647  	}
146648  	if pls.Parameters != nil {
146649  		objectMap["parameters"] = pls.Parameters
146650  	}
146651  	if pls.Annotations != nil {
146652  		objectMap["annotations"] = pls.Annotations
146653  	}
146654  	if pls.Type != "" {
146655  		objectMap["type"] = pls.Type
146656  	}
146657  	for k, v := range pls.AdditionalProperties {
146658  		objectMap[k] = v
146659  	}
146660  	return json.Marshal(objectMap)
146661  }
146662  
146663  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146664  func (pls PaypalLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
146665  	return nil, false
146666  }
146667  
146668  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146669  func (pls PaypalLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
146670  	return nil, false
146671  }
146672  
146673  // AsSapTableLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146674  func (pls PaypalLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
146675  	return nil, false
146676  }
146677  
146678  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146679  func (pls PaypalLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
146680  	return nil, false
146681  }
146682  
146683  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146684  func (pls PaypalLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
146685  	return nil, false
146686  }
146687  
146688  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146689  func (pls PaypalLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
146690  	return nil, false
146691  }
146692  
146693  // AsResponsysLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146694  func (pls PaypalLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
146695  	return nil, false
146696  }
146697  
146698  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146699  func (pls PaypalLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
146700  	return nil, false
146701  }
146702  
146703  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146704  func (pls PaypalLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
146705  	return nil, false
146706  }
146707  
146708  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146709  func (pls PaypalLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
146710  	return nil, false
146711  }
146712  
146713  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146714  func (pls PaypalLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
146715  	return nil, false
146716  }
146717  
146718  // AsNetezzaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146719  func (pls PaypalLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
146720  	return nil, false
146721  }
146722  
146723  // AsVerticaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146724  func (pls PaypalLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
146725  	return nil, false
146726  }
146727  
146728  // AsZohoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146729  func (pls PaypalLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
146730  	return nil, false
146731  }
146732  
146733  // AsXeroLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146734  func (pls PaypalLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
146735  	return nil, false
146736  }
146737  
146738  // AsSquareLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146739  func (pls PaypalLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
146740  	return nil, false
146741  }
146742  
146743  // AsSparkLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146744  func (pls PaypalLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
146745  	return nil, false
146746  }
146747  
146748  // AsShopifyLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146749  func (pls PaypalLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
146750  	return nil, false
146751  }
146752  
146753  // AsServiceNowLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146754  func (pls PaypalLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
146755  	return nil, false
146756  }
146757  
146758  // AsQuickBooksLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146759  func (pls PaypalLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
146760  	return nil, false
146761  }
146762  
146763  // AsPrestoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146764  func (pls PaypalLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
146765  	return nil, false
146766  }
146767  
146768  // AsPhoenixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146769  func (pls PaypalLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
146770  	return nil, false
146771  }
146772  
146773  // AsPaypalLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146774  func (pls PaypalLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
146775  	return &pls, true
146776  }
146777  
146778  // AsMarketoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146779  func (pls PaypalLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
146780  	return nil, false
146781  }
146782  
146783  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146784  func (pls PaypalLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
146785  	return nil, false
146786  }
146787  
146788  // AsMariaDBLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146789  func (pls PaypalLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
146790  	return nil, false
146791  }
146792  
146793  // AsMagentoLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146794  func (pls PaypalLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
146795  	return nil, false
146796  }
146797  
146798  // AsJiraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146799  func (pls PaypalLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
146800  	return nil, false
146801  }
146802  
146803  // AsImpalaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146804  func (pls PaypalLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
146805  	return nil, false
146806  }
146807  
146808  // AsHubspotLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146809  func (pls PaypalLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
146810  	return nil, false
146811  }
146812  
146813  // AsHiveLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146814  func (pls PaypalLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
146815  	return nil, false
146816  }
146817  
146818  // AsHBaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146819  func (pls PaypalLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
146820  	return nil, false
146821  }
146822  
146823  // AsGreenplumLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146824  func (pls PaypalLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
146825  	return nil, false
146826  }
146827  
146828  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146829  func (pls PaypalLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
146830  	return nil, false
146831  }
146832  
146833  // AsEloquaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146834  func (pls PaypalLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
146835  	return nil, false
146836  }
146837  
146838  // AsDrillLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146839  func (pls PaypalLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
146840  	return nil, false
146841  }
146842  
146843  // AsCouchbaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146844  func (pls PaypalLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
146845  	return nil, false
146846  }
146847  
146848  // AsConcurLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146849  func (pls PaypalLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
146850  	return nil, false
146851  }
146852  
146853  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146854  func (pls PaypalLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
146855  	return nil, false
146856  }
146857  
146858  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146859  func (pls PaypalLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
146860  	return nil, false
146861  }
146862  
146863  // AsSapHanaLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146864  func (pls PaypalLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
146865  	return nil, false
146866  }
146867  
146868  // AsSapBWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146869  func (pls PaypalLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
146870  	return nil, false
146871  }
146872  
146873  // AsSftpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146874  func (pls PaypalLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
146875  	return nil, false
146876  }
146877  
146878  // AsFtpServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146879  func (pls PaypalLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
146880  	return nil, false
146881  }
146882  
146883  // AsHTTPLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146884  func (pls PaypalLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
146885  	return nil, false
146886  }
146887  
146888  // AsAzureSearchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146889  func (pls PaypalLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
146890  	return nil, false
146891  }
146892  
146893  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146894  func (pls PaypalLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
146895  	return nil, false
146896  }
146897  
146898  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146899  func (pls PaypalLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
146900  	return nil, false
146901  }
146902  
146903  // AsAmazonS3LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146904  func (pls PaypalLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
146905  	return nil, false
146906  }
146907  
146908  // AsRestServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146909  func (pls PaypalLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
146910  	return nil, false
146911  }
146912  
146913  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146914  func (pls PaypalLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
146915  	return nil, false
146916  }
146917  
146918  // AsSapEccLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146919  func (pls PaypalLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
146920  	return nil, false
146921  }
146922  
146923  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146924  func (pls PaypalLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
146925  	return nil, false
146926  }
146927  
146928  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146929  func (pls PaypalLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
146930  	return nil, false
146931  }
146932  
146933  // AsSalesforceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146934  func (pls PaypalLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
146935  	return nil, false
146936  }
146937  
146938  // AsOffice365LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146939  func (pls PaypalLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
146940  	return nil, false
146941  }
146942  
146943  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146944  func (pls PaypalLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
146945  	return nil, false
146946  }
146947  
146948  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146949  func (pls PaypalLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
146950  	return nil, false
146951  }
146952  
146953  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146954  func (pls PaypalLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
146955  	return nil, false
146956  }
146957  
146958  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146959  func (pls PaypalLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
146960  	return nil, false
146961  }
146962  
146963  // AsMongoDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146964  func (pls PaypalLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
146965  	return nil, false
146966  }
146967  
146968  // AsCassandraLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146969  func (pls PaypalLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
146970  	return nil, false
146971  }
146972  
146973  // AsWebLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146974  func (pls PaypalLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
146975  	return nil, false
146976  }
146977  
146978  // AsODataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146979  func (pls PaypalLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
146980  	return nil, false
146981  }
146982  
146983  // AsHdfsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146984  func (pls PaypalLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
146985  	return nil, false
146986  }
146987  
146988  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146989  func (pls PaypalLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
146990  	return nil, false
146991  }
146992  
146993  // AsInformixLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146994  func (pls PaypalLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
146995  	return nil, false
146996  }
146997  
146998  // AsOdbcLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
146999  func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
147000  	return nil, false
147001  }
147002  
147003  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147004  func (pls PaypalLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
147005  	return nil, false
147006  }
147007  
147008  // AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147009  func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
147010  	return nil, false
147011  }
147012  
147013  // AsTeradataLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147014  func (pls PaypalLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
147015  	return nil, false
147016  }
147017  
147018  // AsDb2LinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147019  func (pls PaypalLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
147020  	return nil, false
147021  }
147022  
147023  // AsSybaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147024  func (pls PaypalLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
147025  	return nil, false
147026  }
147027  
147028  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147029  func (pls PaypalLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
147030  	return nil, false
147031  }
147032  
147033  // AsMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147034  func (pls PaypalLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
147035  	return nil, false
147036  }
147037  
147038  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147039  func (pls PaypalLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
147040  	return nil, false
147041  }
147042  
147043  // AsOracleLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147044  func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
147045  	return nil, false
147046  }
147047  
147048  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147049  func (pls PaypalLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
147050  	return nil, false
147051  }
147052  
147053  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147054  func (pls PaypalLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
147055  	return nil, false
147056  }
147057  
147058  // AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147059  func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
147060  	return nil, false
147061  }
147062  
147063  // AsHDInsightLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147064  func (pls PaypalLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
147065  	return nil, false
147066  }
147067  
147068  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147069  func (pls PaypalLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
147070  	return nil, false
147071  }
147072  
147073  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147074  func (pls PaypalLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
147075  	return nil, false
147076  }
147077  
147078  // AsDynamicsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147079  func (pls PaypalLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
147080  	return nil, false
147081  }
147082  
147083  // AsCosmosDbLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147084  func (pls PaypalLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
147085  	return nil, false
147086  }
147087  
147088  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147089  func (pls PaypalLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
147090  	return nil, false
147091  }
147092  
147093  // AsAzureBatchLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147094  func (pls PaypalLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
147095  	return nil, false
147096  }
147097  
147098  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147099  func (pls PaypalLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
147100  	return nil, false
147101  }
147102  
147103  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147104  func (pls PaypalLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
147105  	return nil, false
147106  }
147107  
147108  // AsSQLServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147109  func (pls PaypalLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
147110  	return nil, false
147111  }
147112  
147113  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147114  func (pls PaypalLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
147115  	return nil, false
147116  }
147117  
147118  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147119  func (pls PaypalLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
147120  	return nil, false
147121  }
147122  
147123  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147124  func (pls PaypalLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
147125  	return nil, false
147126  }
147127  
147128  // AsAzureStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147129  func (pls PaypalLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
147130  	return nil, false
147131  }
147132  
147133  // AsLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147134  func (pls PaypalLinkedService) AsLinkedService() (*LinkedService, bool) {
147135  	return nil, false
147136  }
147137  
147138  // AsBasicLinkedService is the BasicLinkedService implementation for PaypalLinkedService.
147139  func (pls PaypalLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
147140  	return &pls, true
147141  }
147142  
147143  // UnmarshalJSON is the custom unmarshaler for PaypalLinkedService struct.
147144  func (pls *PaypalLinkedService) UnmarshalJSON(body []byte) error {
147145  	var m map[string]*json.RawMessage
147146  	err := json.Unmarshal(body, &m)
147147  	if err != nil {
147148  		return err
147149  	}
147150  	for k, v := range m {
147151  		switch k {
147152  		case "typeProperties":
147153  			if v != nil {
147154  				var paypalLinkedServiceTypeProperties PaypalLinkedServiceTypeProperties
147155  				err = json.Unmarshal(*v, &paypalLinkedServiceTypeProperties)
147156  				if err != nil {
147157  					return err
147158  				}
147159  				pls.PaypalLinkedServiceTypeProperties = &paypalLinkedServiceTypeProperties
147160  			}
147161  		default:
147162  			if v != nil {
147163  				var additionalProperties interface{}
147164  				err = json.Unmarshal(*v, &additionalProperties)
147165  				if err != nil {
147166  					return err
147167  				}
147168  				if pls.AdditionalProperties == nil {
147169  					pls.AdditionalProperties = make(map[string]interface{})
147170  				}
147171  				pls.AdditionalProperties[k] = additionalProperties
147172  			}
147173  		case "connectVia":
147174  			if v != nil {
147175  				var connectVia IntegrationRuntimeReference
147176  				err = json.Unmarshal(*v, &connectVia)
147177  				if err != nil {
147178  					return err
147179  				}
147180  				pls.ConnectVia = &connectVia
147181  			}
147182  		case "description":
147183  			if v != nil {
147184  				var description string
147185  				err = json.Unmarshal(*v, &description)
147186  				if err != nil {
147187  					return err
147188  				}
147189  				pls.Description = &description
147190  			}
147191  		case "parameters":
147192  			if v != nil {
147193  				var parameters map[string]*ParameterSpecification
147194  				err = json.Unmarshal(*v, &parameters)
147195  				if err != nil {
147196  					return err
147197  				}
147198  				pls.Parameters = parameters
147199  			}
147200  		case "annotations":
147201  			if v != nil {
147202  				var annotations []interface{}
147203  				err = json.Unmarshal(*v, &annotations)
147204  				if err != nil {
147205  					return err
147206  				}
147207  				pls.Annotations = &annotations
147208  			}
147209  		case "type":
147210  			if v != nil {
147211  				var typeVar TypeBasicLinkedService
147212  				err = json.Unmarshal(*v, &typeVar)
147213  				if err != nil {
147214  					return err
147215  				}
147216  				pls.Type = typeVar
147217  			}
147218  		}
147219  	}
147220  
147221  	return nil
147222  }
147223  
147224  // PaypalLinkedServiceTypeProperties paypal Service linked service properties.
147225  type PaypalLinkedServiceTypeProperties struct {
147226  	// Host - The URL of the PayPal instance. (i.e. api.sandbox.paypal.com)
147227  	Host interface{} `json:"host,omitempty"`
147228  	// ClientID - The client ID associated with your PayPal application.
147229  	ClientID interface{} `json:"clientId,omitempty"`
147230  	// ClientSecret - The client secret associated with your PayPal application.
147231  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
147232  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
147233  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
147234  	// 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.
147235  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
147236  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
147237  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
147238  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
147239  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
147240  }
147241  
147242  // UnmarshalJSON is the custom unmarshaler for PaypalLinkedServiceTypeProperties struct.
147243  func (plstp *PaypalLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
147244  	var m map[string]*json.RawMessage
147245  	err := json.Unmarshal(body, &m)
147246  	if err != nil {
147247  		return err
147248  	}
147249  	for k, v := range m {
147250  		switch k {
147251  		case "host":
147252  			if v != nil {
147253  				var host interface{}
147254  				err = json.Unmarshal(*v, &host)
147255  				if err != nil {
147256  					return err
147257  				}
147258  				plstp.Host = host
147259  			}
147260  		case "clientId":
147261  			if v != nil {
147262  				var clientID interface{}
147263  				err = json.Unmarshal(*v, &clientID)
147264  				if err != nil {
147265  					return err
147266  				}
147267  				plstp.ClientID = clientID
147268  			}
147269  		case "clientSecret":
147270  			if v != nil {
147271  				clientSecret, err := unmarshalBasicSecretBase(*v)
147272  				if err != nil {
147273  					return err
147274  				}
147275  				plstp.ClientSecret = clientSecret
147276  			}
147277  		case "useEncryptedEndpoints":
147278  			if v != nil {
147279  				var useEncryptedEndpoints interface{}
147280  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
147281  				if err != nil {
147282  					return err
147283  				}
147284  				plstp.UseEncryptedEndpoints = useEncryptedEndpoints
147285  			}
147286  		case "useHostVerification":
147287  			if v != nil {
147288  				var useHostVerification interface{}
147289  				err = json.Unmarshal(*v, &useHostVerification)
147290  				if err != nil {
147291  					return err
147292  				}
147293  				plstp.UseHostVerification = useHostVerification
147294  			}
147295  		case "usePeerVerification":
147296  			if v != nil {
147297  				var usePeerVerification interface{}
147298  				err = json.Unmarshal(*v, &usePeerVerification)
147299  				if err != nil {
147300  					return err
147301  				}
147302  				plstp.UsePeerVerification = usePeerVerification
147303  			}
147304  		case "encryptedCredential":
147305  			if v != nil {
147306  				var encryptedCredential interface{}
147307  				err = json.Unmarshal(*v, &encryptedCredential)
147308  				if err != nil {
147309  					return err
147310  				}
147311  				plstp.EncryptedCredential = encryptedCredential
147312  			}
147313  		}
147314  	}
147315  
147316  	return nil
147317  }
147318  
147319  // PaypalObjectDataset paypal Service dataset.
147320  type PaypalObjectDataset struct {
147321  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
147322  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
147323  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
147324  	AdditionalProperties map[string]interface{} `json:""`
147325  	// Description - Dataset description.
147326  	Description *string `json:"description,omitempty"`
147327  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
147328  	Structure interface{} `json:"structure,omitempty"`
147329  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
147330  	Schema interface{} `json:"schema,omitempty"`
147331  	// LinkedServiceName - Linked service reference.
147332  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
147333  	// Parameters - Parameters for dataset.
147334  	Parameters map[string]*ParameterSpecification `json:"parameters"`
147335  	// Annotations - List of tags that can be used for describing the Dataset.
147336  	Annotations *[]interface{} `json:"annotations,omitempty"`
147337  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
147338  	Folder *DatasetFolder `json:"folder,omitempty"`
147339  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
147340  	Type TypeBasicDataset `json:"type,omitempty"`
147341  }
147342  
147343  // MarshalJSON is the custom marshaler for PaypalObjectDataset.
147344  func (pod PaypalObjectDataset) MarshalJSON() ([]byte, error) {
147345  	pod.Type = TypePaypalObject
147346  	objectMap := make(map[string]interface{})
147347  	if pod.GenericDatasetTypeProperties != nil {
147348  		objectMap["typeProperties"] = pod.GenericDatasetTypeProperties
147349  	}
147350  	if pod.Description != nil {
147351  		objectMap["description"] = pod.Description
147352  	}
147353  	if pod.Structure != nil {
147354  		objectMap["structure"] = pod.Structure
147355  	}
147356  	if pod.Schema != nil {
147357  		objectMap["schema"] = pod.Schema
147358  	}
147359  	if pod.LinkedServiceName != nil {
147360  		objectMap["linkedServiceName"] = pod.LinkedServiceName
147361  	}
147362  	if pod.Parameters != nil {
147363  		objectMap["parameters"] = pod.Parameters
147364  	}
147365  	if pod.Annotations != nil {
147366  		objectMap["annotations"] = pod.Annotations
147367  	}
147368  	if pod.Folder != nil {
147369  		objectMap["folder"] = pod.Folder
147370  	}
147371  	if pod.Type != "" {
147372  		objectMap["type"] = pod.Type
147373  	}
147374  	for k, v := range pod.AdditionalProperties {
147375  		objectMap[k] = v
147376  	}
147377  	return json.Marshal(objectMap)
147378  }
147379  
147380  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147381  func (pod PaypalObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
147382  	return nil, false
147383  }
147384  
147385  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147386  func (pod PaypalObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
147387  	return nil, false
147388  }
147389  
147390  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147391  func (pod PaypalObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
147392  	return nil, false
147393  }
147394  
147395  // AsDynamicsAXResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147396  func (pod PaypalObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
147397  	return nil, false
147398  }
147399  
147400  // AsResponsysObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147401  func (pod PaypalObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
147402  	return nil, false
147403  }
147404  
147405  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147406  func (pod PaypalObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
147407  	return nil, false
147408  }
147409  
147410  // AsVerticaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147411  func (pod PaypalObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
147412  	return nil, false
147413  }
147414  
147415  // AsNetezzaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147416  func (pod PaypalObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
147417  	return nil, false
147418  }
147419  
147420  // AsZohoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147421  func (pod PaypalObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
147422  	return nil, false
147423  }
147424  
147425  // AsXeroObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147426  func (pod PaypalObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
147427  	return nil, false
147428  }
147429  
147430  // AsSquareObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147431  func (pod PaypalObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
147432  	return nil, false
147433  }
147434  
147435  // AsSparkObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147436  func (pod PaypalObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
147437  	return nil, false
147438  }
147439  
147440  // AsShopifyObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147441  func (pod PaypalObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
147442  	return nil, false
147443  }
147444  
147445  // AsServiceNowObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147446  func (pod PaypalObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
147447  	return nil, false
147448  }
147449  
147450  // AsQuickBooksObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147451  func (pod PaypalObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
147452  	return nil, false
147453  }
147454  
147455  // AsPrestoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147456  func (pod PaypalObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
147457  	return nil, false
147458  }
147459  
147460  // AsPhoenixObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147461  func (pod PaypalObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
147462  	return nil, false
147463  }
147464  
147465  // AsPaypalObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147466  func (pod PaypalObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
147467  	return &pod, true
147468  }
147469  
147470  // AsMarketoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147471  func (pod PaypalObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
147472  	return nil, false
147473  }
147474  
147475  // AsAzureMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147476  func (pod PaypalObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
147477  	return nil, false
147478  }
147479  
147480  // AsMariaDBTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147481  func (pod PaypalObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
147482  	return nil, false
147483  }
147484  
147485  // AsMagentoObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147486  func (pod PaypalObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
147487  	return nil, false
147488  }
147489  
147490  // AsJiraObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147491  func (pod PaypalObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
147492  	return nil, false
147493  }
147494  
147495  // AsImpalaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147496  func (pod PaypalObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
147497  	return nil, false
147498  }
147499  
147500  // AsHubspotObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147501  func (pod PaypalObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
147502  	return nil, false
147503  }
147504  
147505  // AsHiveObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147506  func (pod PaypalObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
147507  	return nil, false
147508  }
147509  
147510  // AsHBaseObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147511  func (pod PaypalObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
147512  	return nil, false
147513  }
147514  
147515  // AsGreenplumTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147516  func (pod PaypalObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
147517  	return nil, false
147518  }
147519  
147520  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147521  func (pod PaypalObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
147522  	return nil, false
147523  }
147524  
147525  // AsEloquaObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147526  func (pod PaypalObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
147527  	return nil, false
147528  }
147529  
147530  // AsDrillTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147531  func (pod PaypalObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
147532  	return nil, false
147533  }
147534  
147535  // AsCouchbaseTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147536  func (pod PaypalObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
147537  	return nil, false
147538  }
147539  
147540  // AsConcurObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147541  func (pod PaypalObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
147542  	return nil, false
147543  }
147544  
147545  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147546  func (pod PaypalObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
147547  	return nil, false
147548  }
147549  
147550  // AsAmazonMWSObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147551  func (pod PaypalObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
147552  	return nil, false
147553  }
147554  
147555  // AsAzureSearchIndexDataset is the BasicDataset implementation for PaypalObjectDataset.
147556  func (pod PaypalObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
147557  	return nil, false
147558  }
147559  
147560  // AsWebTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147561  func (pod PaypalObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
147562  	return nil, false
147563  }
147564  
147565  // AsSapTableResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147566  func (pod PaypalObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
147567  	return nil, false
147568  }
147569  
147570  // AsRestResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147571  func (pod PaypalObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
147572  	return nil, false
147573  }
147574  
147575  // AsSQLServerTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147576  func (pod PaypalObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
147577  	return nil, false
147578  }
147579  
147580  // AsSapOpenHubTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147581  func (pod PaypalObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
147582  	return nil, false
147583  }
147584  
147585  // AsSapHanaTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147586  func (pod PaypalObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
147587  	return nil, false
147588  }
147589  
147590  // AsSapEccResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147591  func (pod PaypalObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
147592  	return nil, false
147593  }
147594  
147595  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147596  func (pod PaypalObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
147597  	return nil, false
147598  }
147599  
147600  // AsSapBwCubeDataset is the BasicDataset implementation for PaypalObjectDataset.
147601  func (pod PaypalObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
147602  	return nil, false
147603  }
147604  
147605  // AsSybaseTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147606  func (pod PaypalObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
147607  	return nil, false
147608  }
147609  
147610  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147611  func (pod PaypalObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
147612  	return nil, false
147613  }
147614  
147615  // AsSalesforceObjectDataset is the BasicDataset implementation for PaypalObjectDataset.
147616  func (pod PaypalObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
147617  	return nil, false
147618  }
147619  
147620  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147621  func (pod PaypalObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
147622  	return nil, false
147623  }
147624  
147625  // AsPostgreSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147626  func (pod PaypalObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
147627  	return nil, false
147628  }
147629  
147630  // AsMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147631  func (pod PaypalObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
147632  	return nil, false
147633  }
147634  
147635  // AsOdbcTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147636  func (pod PaypalObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
147637  	return nil, false
147638  }
147639  
147640  // AsInformixTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147641  func (pod PaypalObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
147642  	return nil, false
147643  }
147644  
147645  // AsRelationalTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147646  func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
147647  	return nil, false
147648  }
147649  
147650  // AsDb2TableDataset is the BasicDataset implementation for PaypalObjectDataset.
147651  func (pod PaypalObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
147652  	return nil, false
147653  }
147654  
147655  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147656  func (pod PaypalObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
147657  	return nil, false
147658  }
147659  
147660  // AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147661  func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
147662  	return nil, false
147663  }
147664  
147665  // AsTeradataTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147666  func (pod PaypalObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
147667  	return nil, false
147668  }
147669  
147670  // AsOracleTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147671  func (pod PaypalObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
147672  	return nil, false
147673  }
147674  
147675  // AsODataResourceDataset is the BasicDataset implementation for PaypalObjectDataset.
147676  func (pod PaypalObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
147677  	return nil, false
147678  }
147679  
147680  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
147681  func (pod PaypalObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
147682  	return nil, false
147683  }
147684  
147685  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
147686  func (pod PaypalObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
147687  	return nil, false
147688  }
147689  
147690  // AsMongoDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
147691  func (pod PaypalObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
147692  	return nil, false
147693  }
147694  
147695  // AsOffice365Dataset is the BasicDataset implementation for PaypalObjectDataset.
147696  func (pod PaypalObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
147697  	return nil, false
147698  }
147699  
147700  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
147701  func (pod PaypalObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
147702  	return nil, false
147703  }
147704  
147705  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
147706  func (pod PaypalObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
147707  	return nil, false
147708  }
147709  
147710  // AsDynamicsEntityDataset is the BasicDataset implementation for PaypalObjectDataset.
147711  func (pod PaypalObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
147712  	return nil, false
147713  }
147714  
147715  // AsDocumentDbCollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
147716  func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
147717  	return nil, false
147718  }
147719  
147720  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset.
147721  func (pod PaypalObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
147722  	return nil, false
147723  }
147724  
147725  // AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset.
147726  func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
147727  	return nil, false
147728  }
147729  
147730  // AsCassandraTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147731  func (pod PaypalObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
147732  	return nil, false
147733  }
147734  
147735  // AsAzureSQLDWTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147736  func (pod PaypalObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
147737  	return nil, false
147738  }
147739  
147740  // AsAzureSQLMITableDataset is the BasicDataset implementation for PaypalObjectDataset.
147741  func (pod PaypalObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
147742  	return nil, false
147743  }
147744  
147745  // AsAzureSQLTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147746  func (pod PaypalObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
147747  	return nil, false
147748  }
147749  
147750  // AsAzureTableDataset is the BasicDataset implementation for PaypalObjectDataset.
147751  func (pod PaypalObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
147752  	return nil, false
147753  }
147754  
147755  // AsBinaryDataset is the BasicDataset implementation for PaypalObjectDataset.
147756  func (pod PaypalObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
147757  	return nil, false
147758  }
147759  
147760  // AsOrcDataset is the BasicDataset implementation for PaypalObjectDataset.
147761  func (pod PaypalObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
147762  	return nil, false
147763  }
147764  
147765  // AsJSONDataset is the BasicDataset implementation for PaypalObjectDataset.
147766  func (pod PaypalObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
147767  	return nil, false
147768  }
147769  
147770  // AsDelimitedTextDataset is the BasicDataset implementation for PaypalObjectDataset.
147771  func (pod PaypalObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
147772  	return nil, false
147773  }
147774  
147775  // AsParquetDataset is the BasicDataset implementation for PaypalObjectDataset.
147776  func (pod PaypalObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
147777  	return nil, false
147778  }
147779  
147780  // AsAvroDataset is the BasicDataset implementation for PaypalObjectDataset.
147781  func (pod PaypalObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
147782  	return nil, false
147783  }
147784  
147785  // AsDataset is the BasicDataset implementation for PaypalObjectDataset.
147786  func (pod PaypalObjectDataset) AsDataset() (*Dataset, bool) {
147787  	return nil, false
147788  }
147789  
147790  // AsBasicDataset is the BasicDataset implementation for PaypalObjectDataset.
147791  func (pod PaypalObjectDataset) AsBasicDataset() (BasicDataset, bool) {
147792  	return &pod, true
147793  }
147794  
147795  // UnmarshalJSON is the custom unmarshaler for PaypalObjectDataset struct.
147796  func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error {
147797  	var m map[string]*json.RawMessage
147798  	err := json.Unmarshal(body, &m)
147799  	if err != nil {
147800  		return err
147801  	}
147802  	for k, v := range m {
147803  		switch k {
147804  		case "typeProperties":
147805  			if v != nil {
147806  				var genericDatasetTypeProperties GenericDatasetTypeProperties
147807  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
147808  				if err != nil {
147809  					return err
147810  				}
147811  				pod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
147812  			}
147813  		default:
147814  			if v != nil {
147815  				var additionalProperties interface{}
147816  				err = json.Unmarshal(*v, &additionalProperties)
147817  				if err != nil {
147818  					return err
147819  				}
147820  				if pod.AdditionalProperties == nil {
147821  					pod.AdditionalProperties = make(map[string]interface{})
147822  				}
147823  				pod.AdditionalProperties[k] = additionalProperties
147824  			}
147825  		case "description":
147826  			if v != nil {
147827  				var description string
147828  				err = json.Unmarshal(*v, &description)
147829  				if err != nil {
147830  					return err
147831  				}
147832  				pod.Description = &description
147833  			}
147834  		case "structure":
147835  			if v != nil {
147836  				var structure interface{}
147837  				err = json.Unmarshal(*v, &structure)
147838  				if err != nil {
147839  					return err
147840  				}
147841  				pod.Structure = structure
147842  			}
147843  		case "schema":
147844  			if v != nil {
147845  				var schema interface{}
147846  				err = json.Unmarshal(*v, &schema)
147847  				if err != nil {
147848  					return err
147849  				}
147850  				pod.Schema = schema
147851  			}
147852  		case "linkedServiceName":
147853  			if v != nil {
147854  				var linkedServiceName LinkedServiceReference
147855  				err = json.Unmarshal(*v, &linkedServiceName)
147856  				if err != nil {
147857  					return err
147858  				}
147859  				pod.LinkedServiceName = &linkedServiceName
147860  			}
147861  		case "parameters":
147862  			if v != nil {
147863  				var parameters map[string]*ParameterSpecification
147864  				err = json.Unmarshal(*v, &parameters)
147865  				if err != nil {
147866  					return err
147867  				}
147868  				pod.Parameters = parameters
147869  			}
147870  		case "annotations":
147871  			if v != nil {
147872  				var annotations []interface{}
147873  				err = json.Unmarshal(*v, &annotations)
147874  				if err != nil {
147875  					return err
147876  				}
147877  				pod.Annotations = &annotations
147878  			}
147879  		case "folder":
147880  			if v != nil {
147881  				var folder DatasetFolder
147882  				err = json.Unmarshal(*v, &folder)
147883  				if err != nil {
147884  					return err
147885  				}
147886  				pod.Folder = &folder
147887  			}
147888  		case "type":
147889  			if v != nil {
147890  				var typeVar TypeBasicDataset
147891  				err = json.Unmarshal(*v, &typeVar)
147892  				if err != nil {
147893  					return err
147894  				}
147895  				pod.Type = typeVar
147896  			}
147897  		}
147898  	}
147899  
147900  	return nil
147901  }
147902  
147903  // PaypalSource a copy activity Paypal Service source.
147904  type PaypalSource struct {
147905  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
147906  	Query interface{} `json:"query,omitempty"`
147907  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
147908  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
147909  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
147910  	AdditionalProperties map[string]interface{} `json:""`
147911  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
147912  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
147913  	// 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])).
147914  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
147915  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
147916  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
147917  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
147918  	Type TypeBasicCopySource `json:"type,omitempty"`
147919  }
147920  
147921  // MarshalJSON is the custom marshaler for PaypalSource.
147922  func (ps PaypalSource) MarshalJSON() ([]byte, error) {
147923  	ps.Type = TypePaypalSource
147924  	objectMap := make(map[string]interface{})
147925  	if ps.Query != nil {
147926  		objectMap["query"] = ps.Query
147927  	}
147928  	if ps.QueryTimeout != nil {
147929  		objectMap["queryTimeout"] = ps.QueryTimeout
147930  	}
147931  	if ps.SourceRetryCount != nil {
147932  		objectMap["sourceRetryCount"] = ps.SourceRetryCount
147933  	}
147934  	if ps.SourceRetryWait != nil {
147935  		objectMap["sourceRetryWait"] = ps.SourceRetryWait
147936  	}
147937  	if ps.MaxConcurrentConnections != nil {
147938  		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
147939  	}
147940  	if ps.Type != "" {
147941  		objectMap["type"] = ps.Type
147942  	}
147943  	for k, v := range ps.AdditionalProperties {
147944  		objectMap[k] = v
147945  	}
147946  	return json.Marshal(objectMap)
147947  }
147948  
147949  // AsHTTPSource is the BasicCopySource implementation for PaypalSource.
147950  func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) {
147951  	return nil, false
147952  }
147953  
147954  // AsAzureBlobFSSource is the BasicCopySource implementation for PaypalSource.
147955  func (ps PaypalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
147956  	return nil, false
147957  }
147958  
147959  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource.
147960  func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
147961  	return nil, false
147962  }
147963  
147964  // AsOffice365Source is the BasicCopySource implementation for PaypalSource.
147965  func (ps PaypalSource) AsOffice365Source() (*Office365Source, bool) {
147966  	return nil, false
147967  }
147968  
147969  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PaypalSource.
147970  func (ps PaypalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
147971  	return nil, false
147972  }
147973  
147974  // AsMongoDbV2Source is the BasicCopySource implementation for PaypalSource.
147975  func (ps PaypalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
147976  	return nil, false
147977  }
147978  
147979  // AsMongoDbSource is the BasicCopySource implementation for PaypalSource.
147980  func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) {
147981  	return nil, false
147982  }
147983  
147984  // AsWebSource is the BasicCopySource implementation for PaypalSource.
147985  func (ps PaypalSource) AsWebSource() (*WebSource, bool) {
147986  	return nil, false
147987  }
147988  
147989  // AsOracleSource is the BasicCopySource implementation for PaypalSource.
147990  func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) {
147991  	return nil, false
147992  }
147993  
147994  // AsAzureDataExplorerSource is the BasicCopySource implementation for PaypalSource.
147995  func (ps PaypalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
147996  	return nil, false
147997  }
147998  
147999  // AsHdfsSource is the BasicCopySource implementation for PaypalSource.
148000  func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) {
148001  	return nil, false
148002  }
148003  
148004  // AsFileSystemSource is the BasicCopySource implementation for PaypalSource.
148005  func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) {
148006  	return nil, false
148007  }
148008  
148009  // AsRestSource is the BasicCopySource implementation for PaypalSource.
148010  func (ps PaypalSource) AsRestSource() (*RestSource, bool) {
148011  	return nil, false
148012  }
148013  
148014  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for PaypalSource.
148015  func (ps PaypalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
148016  	return nil, false
148017  }
148018  
148019  // AsODataSource is the BasicCopySource implementation for PaypalSource.
148020  func (ps PaypalSource) AsODataSource() (*ODataSource, bool) {
148021  	return nil, false
148022  }
148023  
148024  // AsMicrosoftAccessSource is the BasicCopySource implementation for PaypalSource.
148025  func (ps PaypalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
148026  	return nil, false
148027  }
148028  
148029  // AsRelationalSource is the BasicCopySource implementation for PaypalSource.
148030  func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) {
148031  	return nil, false
148032  }
148033  
148034  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PaypalSource.
148035  func (ps PaypalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
148036  	return nil, false
148037  }
148038  
148039  // AsDynamicsCrmSource is the BasicCopySource implementation for PaypalSource.
148040  func (ps PaypalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
148041  	return nil, false
148042  }
148043  
148044  // AsDynamicsSource is the BasicCopySource implementation for PaypalSource.
148045  func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) {
148046  	return nil, false
148047  }
148048  
148049  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for PaypalSource.
148050  func (ps PaypalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
148051  	return nil, false
148052  }
148053  
148054  // AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource.
148055  func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
148056  	return nil, false
148057  }
148058  
148059  // AsBlobSource is the BasicCopySource implementation for PaypalSource.
148060  func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) {
148061  	return nil, false
148062  }
148063  
148064  // AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource.
148065  func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
148066  	return nil, false
148067  }
148068  
148069  // AsGoogleAdWordsSource is the BasicCopySource implementation for PaypalSource.
148070  func (ps PaypalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
148071  	return nil, false
148072  }
148073  
148074  // AsOracleServiceCloudSource is the BasicCopySource implementation for PaypalSource.
148075  func (ps PaypalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
148076  	return nil, false
148077  }
148078  
148079  // AsDynamicsAXSource is the BasicCopySource implementation for PaypalSource.
148080  func (ps PaypalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
148081  	return nil, false
148082  }
148083  
148084  // AsResponsysSource is the BasicCopySource implementation for PaypalSource.
148085  func (ps PaypalSource) AsResponsysSource() (*ResponsysSource, bool) {
148086  	return nil, false
148087  }
148088  
148089  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PaypalSource.
148090  func (ps PaypalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
148091  	return nil, false
148092  }
148093  
148094  // AsVerticaSource is the BasicCopySource implementation for PaypalSource.
148095  func (ps PaypalSource) AsVerticaSource() (*VerticaSource, bool) {
148096  	return nil, false
148097  }
148098  
148099  // AsNetezzaSource is the BasicCopySource implementation for PaypalSource.
148100  func (ps PaypalSource) AsNetezzaSource() (*NetezzaSource, bool) {
148101  	return nil, false
148102  }
148103  
148104  // AsZohoSource is the BasicCopySource implementation for PaypalSource.
148105  func (ps PaypalSource) AsZohoSource() (*ZohoSource, bool) {
148106  	return nil, false
148107  }
148108  
148109  // AsXeroSource is the BasicCopySource implementation for PaypalSource.
148110  func (ps PaypalSource) AsXeroSource() (*XeroSource, bool) {
148111  	return nil, false
148112  }
148113  
148114  // AsSquareSource is the BasicCopySource implementation for PaypalSource.
148115  func (ps PaypalSource) AsSquareSource() (*SquareSource, bool) {
148116  	return nil, false
148117  }
148118  
148119  // AsSparkSource is the BasicCopySource implementation for PaypalSource.
148120  func (ps PaypalSource) AsSparkSource() (*SparkSource, bool) {
148121  	return nil, false
148122  }
148123  
148124  // AsShopifySource is the BasicCopySource implementation for PaypalSource.
148125  func (ps PaypalSource) AsShopifySource() (*ShopifySource, bool) {
148126  	return nil, false
148127  }
148128  
148129  // AsServiceNowSource is the BasicCopySource implementation for PaypalSource.
148130  func (ps PaypalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
148131  	return nil, false
148132  }
148133  
148134  // AsQuickBooksSource is the BasicCopySource implementation for PaypalSource.
148135  func (ps PaypalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
148136  	return nil, false
148137  }
148138  
148139  // AsPrestoSource is the BasicCopySource implementation for PaypalSource.
148140  func (ps PaypalSource) AsPrestoSource() (*PrestoSource, bool) {
148141  	return nil, false
148142  }
148143  
148144  // AsPhoenixSource is the BasicCopySource implementation for PaypalSource.
148145  func (ps PaypalSource) AsPhoenixSource() (*PhoenixSource, bool) {
148146  	return nil, false
148147  }
148148  
148149  // AsPaypalSource is the BasicCopySource implementation for PaypalSource.
148150  func (ps PaypalSource) AsPaypalSource() (*PaypalSource, bool) {
148151  	return &ps, true
148152  }
148153  
148154  // AsMarketoSource is the BasicCopySource implementation for PaypalSource.
148155  func (ps PaypalSource) AsMarketoSource() (*MarketoSource, bool) {
148156  	return nil, false
148157  }
148158  
148159  // AsAzureMariaDBSource is the BasicCopySource implementation for PaypalSource.
148160  func (ps PaypalSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
148161  	return nil, false
148162  }
148163  
148164  // AsMariaDBSource is the BasicCopySource implementation for PaypalSource.
148165  func (ps PaypalSource) AsMariaDBSource() (*MariaDBSource, bool) {
148166  	return nil, false
148167  }
148168  
148169  // AsMagentoSource is the BasicCopySource implementation for PaypalSource.
148170  func (ps PaypalSource) AsMagentoSource() (*MagentoSource, bool) {
148171  	return nil, false
148172  }
148173  
148174  // AsJiraSource is the BasicCopySource implementation for PaypalSource.
148175  func (ps PaypalSource) AsJiraSource() (*JiraSource, bool) {
148176  	return nil, false
148177  }
148178  
148179  // AsImpalaSource is the BasicCopySource implementation for PaypalSource.
148180  func (ps PaypalSource) AsImpalaSource() (*ImpalaSource, bool) {
148181  	return nil, false
148182  }
148183  
148184  // AsHubspotSource is the BasicCopySource implementation for PaypalSource.
148185  func (ps PaypalSource) AsHubspotSource() (*HubspotSource, bool) {
148186  	return nil, false
148187  }
148188  
148189  // AsHiveSource is the BasicCopySource implementation for PaypalSource.
148190  func (ps PaypalSource) AsHiveSource() (*HiveSource, bool) {
148191  	return nil, false
148192  }
148193  
148194  // AsHBaseSource is the BasicCopySource implementation for PaypalSource.
148195  func (ps PaypalSource) AsHBaseSource() (*HBaseSource, bool) {
148196  	return nil, false
148197  }
148198  
148199  // AsGreenplumSource is the BasicCopySource implementation for PaypalSource.
148200  func (ps PaypalSource) AsGreenplumSource() (*GreenplumSource, bool) {
148201  	return nil, false
148202  }
148203  
148204  // AsGoogleBigQuerySource is the BasicCopySource implementation for PaypalSource.
148205  func (ps PaypalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
148206  	return nil, false
148207  }
148208  
148209  // AsEloquaSource is the BasicCopySource implementation for PaypalSource.
148210  func (ps PaypalSource) AsEloquaSource() (*EloquaSource, bool) {
148211  	return nil, false
148212  }
148213  
148214  // AsDrillSource is the BasicCopySource implementation for PaypalSource.
148215  func (ps PaypalSource) AsDrillSource() (*DrillSource, bool) {
148216  	return nil, false
148217  }
148218  
148219  // AsCouchbaseSource is the BasicCopySource implementation for PaypalSource.
148220  func (ps PaypalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
148221  	return nil, false
148222  }
148223  
148224  // AsConcurSource is the BasicCopySource implementation for PaypalSource.
148225  func (ps PaypalSource) AsConcurSource() (*ConcurSource, bool) {
148226  	return nil, false
148227  }
148228  
148229  // AsAzurePostgreSQLSource is the BasicCopySource implementation for PaypalSource.
148230  func (ps PaypalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
148231  	return nil, false
148232  }
148233  
148234  // AsAmazonMWSSource is the BasicCopySource implementation for PaypalSource.
148235  func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
148236  	return nil, false
148237  }
148238  
148239  // AsCassandraSource is the BasicCopySource implementation for PaypalSource.
148240  func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) {
148241  	return nil, false
148242  }
148243  
148244  // AsTeradataSource is the BasicCopySource implementation for PaypalSource.
148245  func (ps PaypalSource) AsTeradataSource() (*TeradataSource, bool) {
148246  	return nil, false
148247  }
148248  
148249  // AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource.
148250  func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
148251  	return nil, false
148252  }
148253  
148254  // AsSQLDWSource is the BasicCopySource implementation for PaypalSource.
148255  func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) {
148256  	return nil, false
148257  }
148258  
148259  // AsSQLMISource is the BasicCopySource implementation for PaypalSource.
148260  func (ps PaypalSource) AsSQLMISource() (*SQLMISource, bool) {
148261  	return nil, false
148262  }
148263  
148264  // AsAzureSQLSource is the BasicCopySource implementation for PaypalSource.
148265  func (ps PaypalSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
148266  	return nil, false
148267  }
148268  
148269  // AsSQLServerSource is the BasicCopySource implementation for PaypalSource.
148270  func (ps PaypalSource) AsSQLServerSource() (*SQLServerSource, bool) {
148271  	return nil, false
148272  }
148273  
148274  // AsSQLSource is the BasicCopySource implementation for PaypalSource.
148275  func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) {
148276  	return nil, false
148277  }
148278  
148279  // AsSapTableSource is the BasicCopySource implementation for PaypalSource.
148280  func (ps PaypalSource) AsSapTableSource() (*SapTableSource, bool) {
148281  	return nil, false
148282  }
148283  
148284  // AsSapOpenHubSource is the BasicCopySource implementation for PaypalSource.
148285  func (ps PaypalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
148286  	return nil, false
148287  }
148288  
148289  // AsSapHanaSource is the BasicCopySource implementation for PaypalSource.
148290  func (ps PaypalSource) AsSapHanaSource() (*SapHanaSource, bool) {
148291  	return nil, false
148292  }
148293  
148294  // AsSapEccSource is the BasicCopySource implementation for PaypalSource.
148295  func (ps PaypalSource) AsSapEccSource() (*SapEccSource, bool) {
148296  	return nil, false
148297  }
148298  
148299  // AsSapCloudForCustomerSource is the BasicCopySource implementation for PaypalSource.
148300  func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
148301  	return nil, false
148302  }
148303  
148304  // AsSalesforceSource is the BasicCopySource implementation for PaypalSource.
148305  func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) {
148306  	return nil, false
148307  }
148308  
148309  // AsSapBwSource is the BasicCopySource implementation for PaypalSource.
148310  func (ps PaypalSource) AsSapBwSource() (*SapBwSource, bool) {
148311  	return nil, false
148312  }
148313  
148314  // AsSybaseSource is the BasicCopySource implementation for PaypalSource.
148315  func (ps PaypalSource) AsSybaseSource() (*SybaseSource, bool) {
148316  	return nil, false
148317  }
148318  
148319  // AsPostgreSQLSource is the BasicCopySource implementation for PaypalSource.
148320  func (ps PaypalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
148321  	return nil, false
148322  }
148323  
148324  // AsMySQLSource is the BasicCopySource implementation for PaypalSource.
148325  func (ps PaypalSource) AsMySQLSource() (*MySQLSource, bool) {
148326  	return nil, false
148327  }
148328  
148329  // AsOdbcSource is the BasicCopySource implementation for PaypalSource.
148330  func (ps PaypalSource) AsOdbcSource() (*OdbcSource, bool) {
148331  	return nil, false
148332  }
148333  
148334  // AsDb2Source is the BasicCopySource implementation for PaypalSource.
148335  func (ps PaypalSource) AsDb2Source() (*Db2Source, bool) {
148336  	return nil, false
148337  }
148338  
148339  // AsInformixSource is the BasicCopySource implementation for PaypalSource.
148340  func (ps PaypalSource) AsInformixSource() (*InformixSource, bool) {
148341  	return nil, false
148342  }
148343  
148344  // AsAzureTableSource is the BasicCopySource implementation for PaypalSource.
148345  func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) {
148346  	return nil, false
148347  }
148348  
148349  // AsTabularSource is the BasicCopySource implementation for PaypalSource.
148350  func (ps PaypalSource) AsTabularSource() (*TabularSource, bool) {
148351  	return nil, false
148352  }
148353  
148354  // AsBasicTabularSource is the BasicCopySource implementation for PaypalSource.
148355  func (ps PaypalSource) AsBasicTabularSource() (BasicTabularSource, bool) {
148356  	return &ps, true
148357  }
148358  
148359  // AsBinarySource is the BasicCopySource implementation for PaypalSource.
148360  func (ps PaypalSource) AsBinarySource() (*BinarySource, bool) {
148361  	return nil, false
148362  }
148363  
148364  // AsOrcSource is the BasicCopySource implementation for PaypalSource.
148365  func (ps PaypalSource) AsOrcSource() (*OrcSource, bool) {
148366  	return nil, false
148367  }
148368  
148369  // AsJSONSource is the BasicCopySource implementation for PaypalSource.
148370  func (ps PaypalSource) AsJSONSource() (*JSONSource, bool) {
148371  	return nil, false
148372  }
148373  
148374  // AsDelimitedTextSource is the BasicCopySource implementation for PaypalSource.
148375  func (ps PaypalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
148376  	return nil, false
148377  }
148378  
148379  // AsParquetSource is the BasicCopySource implementation for PaypalSource.
148380  func (ps PaypalSource) AsParquetSource() (*ParquetSource, bool) {
148381  	return nil, false
148382  }
148383  
148384  // AsAvroSource is the BasicCopySource implementation for PaypalSource.
148385  func (ps PaypalSource) AsAvroSource() (*AvroSource, bool) {
148386  	return nil, false
148387  }
148388  
148389  // AsCopySource is the BasicCopySource implementation for PaypalSource.
148390  func (ps PaypalSource) AsCopySource() (*CopySource, bool) {
148391  	return nil, false
148392  }
148393  
148394  // AsBasicCopySource is the BasicCopySource implementation for PaypalSource.
148395  func (ps PaypalSource) AsBasicCopySource() (BasicCopySource, bool) {
148396  	return &ps, true
148397  }
148398  
148399  // UnmarshalJSON is the custom unmarshaler for PaypalSource struct.
148400  func (ps *PaypalSource) UnmarshalJSON(body []byte) error {
148401  	var m map[string]*json.RawMessage
148402  	err := json.Unmarshal(body, &m)
148403  	if err != nil {
148404  		return err
148405  	}
148406  	for k, v := range m {
148407  		switch k {
148408  		case "query":
148409  			if v != nil {
148410  				var query interface{}
148411  				err = json.Unmarshal(*v, &query)
148412  				if err != nil {
148413  					return err
148414  				}
148415  				ps.Query = query
148416  			}
148417  		case "queryTimeout":
148418  			if v != nil {
148419  				var queryTimeout interface{}
148420  				err = json.Unmarshal(*v, &queryTimeout)
148421  				if err != nil {
148422  					return err
148423  				}
148424  				ps.QueryTimeout = queryTimeout
148425  			}
148426  		default:
148427  			if v != nil {
148428  				var additionalProperties interface{}
148429  				err = json.Unmarshal(*v, &additionalProperties)
148430  				if err != nil {
148431  					return err
148432  				}
148433  				if ps.AdditionalProperties == nil {
148434  					ps.AdditionalProperties = make(map[string]interface{})
148435  				}
148436  				ps.AdditionalProperties[k] = additionalProperties
148437  			}
148438  		case "sourceRetryCount":
148439  			if v != nil {
148440  				var sourceRetryCount interface{}
148441  				err = json.Unmarshal(*v, &sourceRetryCount)
148442  				if err != nil {
148443  					return err
148444  				}
148445  				ps.SourceRetryCount = sourceRetryCount
148446  			}
148447  		case "sourceRetryWait":
148448  			if v != nil {
148449  				var sourceRetryWait interface{}
148450  				err = json.Unmarshal(*v, &sourceRetryWait)
148451  				if err != nil {
148452  					return err
148453  				}
148454  				ps.SourceRetryWait = sourceRetryWait
148455  			}
148456  		case "maxConcurrentConnections":
148457  			if v != nil {
148458  				var maxConcurrentConnections interface{}
148459  				err = json.Unmarshal(*v, &maxConcurrentConnections)
148460  				if err != nil {
148461  					return err
148462  				}
148463  				ps.MaxConcurrentConnections = maxConcurrentConnections
148464  			}
148465  		case "type":
148466  			if v != nil {
148467  				var typeVar TypeBasicCopySource
148468  				err = json.Unmarshal(*v, &typeVar)
148469  				if err != nil {
148470  					return err
148471  				}
148472  				ps.Type = typeVar
148473  			}
148474  		}
148475  	}
148476  
148477  	return nil
148478  }
148479  
148480  // PhoenixDatasetTypeProperties phoenix Dataset Properties
148481  type PhoenixDatasetTypeProperties struct {
148482  	// TableName - This property will be retired. Please consider using schema + table properties instead.
148483  	TableName interface{} `json:"tableName,omitempty"`
148484  	// Table - The table name of the Phoenix. Type: string (or Expression with resultType string).
148485  	Table interface{} `json:"table,omitempty"`
148486  	// Schema - The schema name of the Phoenix. Type: string (or Expression with resultType string).
148487  	Schema interface{} `json:"schema,omitempty"`
148488  }
148489  
148490  // PhoenixLinkedService phoenix server linked service.
148491  type PhoenixLinkedService struct {
148492  	// PhoenixLinkedServiceTypeProperties - Phoenix server linked service properties.
148493  	*PhoenixLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
148494  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
148495  	AdditionalProperties map[string]interface{} `json:""`
148496  	// ConnectVia - The integration runtime reference.
148497  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
148498  	// Description - Linked service description.
148499  	Description *string `json:"description,omitempty"`
148500  	// Parameters - Parameters for linked service.
148501  	Parameters map[string]*ParameterSpecification `json:"parameters"`
148502  	// Annotations - List of tags that can be used for describing the linked service.
148503  	Annotations *[]interface{} `json:"annotations,omitempty"`
148504  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
148505  	Type TypeBasicLinkedService `json:"type,omitempty"`
148506  }
148507  
148508  // MarshalJSON is the custom marshaler for PhoenixLinkedService.
148509  func (pls PhoenixLinkedService) MarshalJSON() ([]byte, error) {
148510  	pls.Type = TypePhoenix
148511  	objectMap := make(map[string]interface{})
148512  	if pls.PhoenixLinkedServiceTypeProperties != nil {
148513  		objectMap["typeProperties"] = pls.PhoenixLinkedServiceTypeProperties
148514  	}
148515  	if pls.ConnectVia != nil {
148516  		objectMap["connectVia"] = pls.ConnectVia
148517  	}
148518  	if pls.Description != nil {
148519  		objectMap["description"] = pls.Description
148520  	}
148521  	if pls.Parameters != nil {
148522  		objectMap["parameters"] = pls.Parameters
148523  	}
148524  	if pls.Annotations != nil {
148525  		objectMap["annotations"] = pls.Annotations
148526  	}
148527  	if pls.Type != "" {
148528  		objectMap["type"] = pls.Type
148529  	}
148530  	for k, v := range pls.AdditionalProperties {
148531  		objectMap[k] = v
148532  	}
148533  	return json.Marshal(objectMap)
148534  }
148535  
148536  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148537  func (pls PhoenixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
148538  	return nil, false
148539  }
148540  
148541  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148542  func (pls PhoenixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
148543  	return nil, false
148544  }
148545  
148546  // AsSapTableLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148547  func (pls PhoenixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
148548  	return nil, false
148549  }
148550  
148551  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148552  func (pls PhoenixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
148553  	return nil, false
148554  }
148555  
148556  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148557  func (pls PhoenixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
148558  	return nil, false
148559  }
148560  
148561  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148562  func (pls PhoenixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
148563  	return nil, false
148564  }
148565  
148566  // AsResponsysLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148567  func (pls PhoenixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
148568  	return nil, false
148569  }
148570  
148571  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148572  func (pls PhoenixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
148573  	return nil, false
148574  }
148575  
148576  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148577  func (pls PhoenixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
148578  	return nil, false
148579  }
148580  
148581  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148582  func (pls PhoenixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
148583  	return nil, false
148584  }
148585  
148586  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148587  func (pls PhoenixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
148588  	return nil, false
148589  }
148590  
148591  // AsNetezzaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148592  func (pls PhoenixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
148593  	return nil, false
148594  }
148595  
148596  // AsVerticaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148597  func (pls PhoenixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
148598  	return nil, false
148599  }
148600  
148601  // AsZohoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148602  func (pls PhoenixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
148603  	return nil, false
148604  }
148605  
148606  // AsXeroLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148607  func (pls PhoenixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
148608  	return nil, false
148609  }
148610  
148611  // AsSquareLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148612  func (pls PhoenixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
148613  	return nil, false
148614  }
148615  
148616  // AsSparkLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148617  func (pls PhoenixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
148618  	return nil, false
148619  }
148620  
148621  // AsShopifyLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148622  func (pls PhoenixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
148623  	return nil, false
148624  }
148625  
148626  // AsServiceNowLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148627  func (pls PhoenixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
148628  	return nil, false
148629  }
148630  
148631  // AsQuickBooksLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148632  func (pls PhoenixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
148633  	return nil, false
148634  }
148635  
148636  // AsPrestoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148637  func (pls PhoenixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
148638  	return nil, false
148639  }
148640  
148641  // AsPhoenixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148642  func (pls PhoenixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
148643  	return &pls, true
148644  }
148645  
148646  // AsPaypalLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148647  func (pls PhoenixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
148648  	return nil, false
148649  }
148650  
148651  // AsMarketoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148652  func (pls PhoenixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
148653  	return nil, false
148654  }
148655  
148656  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148657  func (pls PhoenixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
148658  	return nil, false
148659  }
148660  
148661  // AsMariaDBLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148662  func (pls PhoenixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
148663  	return nil, false
148664  }
148665  
148666  // AsMagentoLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148667  func (pls PhoenixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
148668  	return nil, false
148669  }
148670  
148671  // AsJiraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148672  func (pls PhoenixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
148673  	return nil, false
148674  }
148675  
148676  // AsImpalaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148677  func (pls PhoenixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
148678  	return nil, false
148679  }
148680  
148681  // AsHubspotLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148682  func (pls PhoenixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
148683  	return nil, false
148684  }
148685  
148686  // AsHiveLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148687  func (pls PhoenixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
148688  	return nil, false
148689  }
148690  
148691  // AsHBaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148692  func (pls PhoenixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
148693  	return nil, false
148694  }
148695  
148696  // AsGreenplumLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148697  func (pls PhoenixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
148698  	return nil, false
148699  }
148700  
148701  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148702  func (pls PhoenixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
148703  	return nil, false
148704  }
148705  
148706  // AsEloquaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148707  func (pls PhoenixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
148708  	return nil, false
148709  }
148710  
148711  // AsDrillLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148712  func (pls PhoenixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
148713  	return nil, false
148714  }
148715  
148716  // AsCouchbaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148717  func (pls PhoenixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
148718  	return nil, false
148719  }
148720  
148721  // AsConcurLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148722  func (pls PhoenixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
148723  	return nil, false
148724  }
148725  
148726  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148727  func (pls PhoenixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
148728  	return nil, false
148729  }
148730  
148731  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148732  func (pls PhoenixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
148733  	return nil, false
148734  }
148735  
148736  // AsSapHanaLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148737  func (pls PhoenixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
148738  	return nil, false
148739  }
148740  
148741  // AsSapBWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148742  func (pls PhoenixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
148743  	return nil, false
148744  }
148745  
148746  // AsSftpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148747  func (pls PhoenixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
148748  	return nil, false
148749  }
148750  
148751  // AsFtpServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148752  func (pls PhoenixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
148753  	return nil, false
148754  }
148755  
148756  // AsHTTPLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148757  func (pls PhoenixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
148758  	return nil, false
148759  }
148760  
148761  // AsAzureSearchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148762  func (pls PhoenixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
148763  	return nil, false
148764  }
148765  
148766  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148767  func (pls PhoenixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
148768  	return nil, false
148769  }
148770  
148771  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148772  func (pls PhoenixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
148773  	return nil, false
148774  }
148775  
148776  // AsAmazonS3LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148777  func (pls PhoenixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
148778  	return nil, false
148779  }
148780  
148781  // AsRestServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148782  func (pls PhoenixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
148783  	return nil, false
148784  }
148785  
148786  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148787  func (pls PhoenixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
148788  	return nil, false
148789  }
148790  
148791  // AsSapEccLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148792  func (pls PhoenixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
148793  	return nil, false
148794  }
148795  
148796  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148797  func (pls PhoenixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
148798  	return nil, false
148799  }
148800  
148801  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148802  func (pls PhoenixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
148803  	return nil, false
148804  }
148805  
148806  // AsSalesforceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148807  func (pls PhoenixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
148808  	return nil, false
148809  }
148810  
148811  // AsOffice365LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148812  func (pls PhoenixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
148813  	return nil, false
148814  }
148815  
148816  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148817  func (pls PhoenixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
148818  	return nil, false
148819  }
148820  
148821  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148822  func (pls PhoenixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
148823  	return nil, false
148824  }
148825  
148826  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148827  func (pls PhoenixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
148828  	return nil, false
148829  }
148830  
148831  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148832  func (pls PhoenixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
148833  	return nil, false
148834  }
148835  
148836  // AsMongoDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148837  func (pls PhoenixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
148838  	return nil, false
148839  }
148840  
148841  // AsCassandraLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148842  func (pls PhoenixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
148843  	return nil, false
148844  }
148845  
148846  // AsWebLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148847  func (pls PhoenixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
148848  	return nil, false
148849  }
148850  
148851  // AsODataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148852  func (pls PhoenixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
148853  	return nil, false
148854  }
148855  
148856  // AsHdfsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148857  func (pls PhoenixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
148858  	return nil, false
148859  }
148860  
148861  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148862  func (pls PhoenixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
148863  	return nil, false
148864  }
148865  
148866  // AsInformixLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148867  func (pls PhoenixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
148868  	return nil, false
148869  }
148870  
148871  // AsOdbcLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148872  func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
148873  	return nil, false
148874  }
148875  
148876  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148877  func (pls PhoenixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
148878  	return nil, false
148879  }
148880  
148881  // AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148882  func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
148883  	return nil, false
148884  }
148885  
148886  // AsTeradataLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148887  func (pls PhoenixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
148888  	return nil, false
148889  }
148890  
148891  // AsDb2LinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148892  func (pls PhoenixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
148893  	return nil, false
148894  }
148895  
148896  // AsSybaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148897  func (pls PhoenixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
148898  	return nil, false
148899  }
148900  
148901  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148902  func (pls PhoenixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
148903  	return nil, false
148904  }
148905  
148906  // AsMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148907  func (pls PhoenixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
148908  	return nil, false
148909  }
148910  
148911  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148912  func (pls PhoenixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
148913  	return nil, false
148914  }
148915  
148916  // AsOracleLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148917  func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
148918  	return nil, false
148919  }
148920  
148921  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148922  func (pls PhoenixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
148923  	return nil, false
148924  }
148925  
148926  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148927  func (pls PhoenixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
148928  	return nil, false
148929  }
148930  
148931  // AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148932  func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
148933  	return nil, false
148934  }
148935  
148936  // AsHDInsightLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148937  func (pls PhoenixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
148938  	return nil, false
148939  }
148940  
148941  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148942  func (pls PhoenixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
148943  	return nil, false
148944  }
148945  
148946  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148947  func (pls PhoenixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
148948  	return nil, false
148949  }
148950  
148951  // AsDynamicsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148952  func (pls PhoenixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
148953  	return nil, false
148954  }
148955  
148956  // AsCosmosDbLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148957  func (pls PhoenixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
148958  	return nil, false
148959  }
148960  
148961  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148962  func (pls PhoenixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
148963  	return nil, false
148964  }
148965  
148966  // AsAzureBatchLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148967  func (pls PhoenixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
148968  	return nil, false
148969  }
148970  
148971  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148972  func (pls PhoenixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
148973  	return nil, false
148974  }
148975  
148976  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148977  func (pls PhoenixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
148978  	return nil, false
148979  }
148980  
148981  // AsSQLServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148982  func (pls PhoenixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
148983  	return nil, false
148984  }
148985  
148986  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148987  func (pls PhoenixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
148988  	return nil, false
148989  }
148990  
148991  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148992  func (pls PhoenixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
148993  	return nil, false
148994  }
148995  
148996  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
148997  func (pls PhoenixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
148998  	return nil, false
148999  }
149000  
149001  // AsAzureStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
149002  func (pls PhoenixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
149003  	return nil, false
149004  }
149005  
149006  // AsLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
149007  func (pls PhoenixLinkedService) AsLinkedService() (*LinkedService, bool) {
149008  	return nil, false
149009  }
149010  
149011  // AsBasicLinkedService is the BasicLinkedService implementation for PhoenixLinkedService.
149012  func (pls PhoenixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
149013  	return &pls, true
149014  }
149015  
149016  // UnmarshalJSON is the custom unmarshaler for PhoenixLinkedService struct.
149017  func (pls *PhoenixLinkedService) UnmarshalJSON(body []byte) error {
149018  	var m map[string]*json.RawMessage
149019  	err := json.Unmarshal(body, &m)
149020  	if err != nil {
149021  		return err
149022  	}
149023  	for k, v := range m {
149024  		switch k {
149025  		case "typeProperties":
149026  			if v != nil {
149027  				var phoenixLinkedServiceTypeProperties PhoenixLinkedServiceTypeProperties
149028  				err = json.Unmarshal(*v, &phoenixLinkedServiceTypeProperties)
149029  				if err != nil {
149030  					return err
149031  				}
149032  				pls.PhoenixLinkedServiceTypeProperties = &phoenixLinkedServiceTypeProperties
149033  			}
149034  		default:
149035  			if v != nil {
149036  				var additionalProperties interface{}
149037  				err = json.Unmarshal(*v, &additionalProperties)
149038  				if err != nil {
149039  					return err
149040  				}
149041  				if pls.AdditionalProperties == nil {
149042  					pls.AdditionalProperties = make(map[string]interface{})
149043  				}
149044  				pls.AdditionalProperties[k] = additionalProperties
149045  			}
149046  		case "connectVia":
149047  			if v != nil {
149048  				var connectVia IntegrationRuntimeReference
149049  				err = json.Unmarshal(*v, &connectVia)
149050  				if err != nil {
149051  					return err
149052  				}
149053  				pls.ConnectVia = &connectVia
149054  			}
149055  		case "description":
149056  			if v != nil {
149057  				var description string
149058  				err = json.Unmarshal(*v, &description)
149059  				if err != nil {
149060  					return err
149061  				}
149062  				pls.Description = &description
149063  			}
149064  		case "parameters":
149065  			if v != nil {
149066  				var parameters map[string]*ParameterSpecification
149067  				err = json.Unmarshal(*v, &parameters)
149068  				if err != nil {
149069  					return err
149070  				}
149071  				pls.Parameters = parameters
149072  			}
149073  		case "annotations":
149074  			if v != nil {
149075  				var annotations []interface{}
149076  				err = json.Unmarshal(*v, &annotations)
149077  				if err != nil {
149078  					return err
149079  				}
149080  				pls.Annotations = &annotations
149081  			}
149082  		case "type":
149083  			if v != nil {
149084  				var typeVar TypeBasicLinkedService
149085  				err = json.Unmarshal(*v, &typeVar)
149086  				if err != nil {
149087  					return err
149088  				}
149089  				pls.Type = typeVar
149090  			}
149091  		}
149092  	}
149093  
149094  	return nil
149095  }
149096  
149097  // PhoenixLinkedServiceTypeProperties phoenix server linked service properties.
149098  type PhoenixLinkedServiceTypeProperties struct {
149099  	// Host - The IP address or host name of the Phoenix server. (i.e. 192.168.222.160)
149100  	Host interface{} `json:"host,omitempty"`
149101  	// Port - The TCP port that the Phoenix server uses to listen for client connections. The default value is 8765.
149102  	Port interface{} `json:"port,omitempty"`
149103  	// HTTPPath - The partial URL corresponding to the Phoenix server. (i.e. /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using WindowsAzureHDInsightService.
149104  	HTTPPath interface{} `json:"httpPath,omitempty"`
149105  	// AuthenticationType - The authentication mechanism used to connect to the Phoenix server. Possible values include: 'PhoenixAuthenticationTypeAnonymous', 'PhoenixAuthenticationTypeUsernameAndPassword', 'PhoenixAuthenticationTypeWindowsAzureHDInsightService'
149106  	AuthenticationType PhoenixAuthenticationType `json:"authenticationType,omitempty"`
149107  	// Username - The user name used to connect to the Phoenix server.
149108  	Username interface{} `json:"username,omitempty"`
149109  	// Password - The password corresponding to the user name.
149110  	Password BasicSecretBase `json:"password,omitempty"`
149111  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
149112  	EnableSsl interface{} `json:"enableSsl,omitempty"`
149113  	// 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.
149114  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
149115  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
149116  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
149117  	// 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.
149118  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
149119  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
149120  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
149121  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
149122  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
149123  }
149124  
149125  // UnmarshalJSON is the custom unmarshaler for PhoenixLinkedServiceTypeProperties struct.
149126  func (plstp *PhoenixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
149127  	var m map[string]*json.RawMessage
149128  	err := json.Unmarshal(body, &m)
149129  	if err != nil {
149130  		return err
149131  	}
149132  	for k, v := range m {
149133  		switch k {
149134  		case "host":
149135  			if v != nil {
149136  				var host interface{}
149137  				err = json.Unmarshal(*v, &host)
149138  				if err != nil {
149139  					return err
149140  				}
149141  				plstp.Host = host
149142  			}
149143  		case "port":
149144  			if v != nil {
149145  				var port interface{}
149146  				err = json.Unmarshal(*v, &port)
149147  				if err != nil {
149148  					return err
149149  				}
149150  				plstp.Port = port
149151  			}
149152  		case "httpPath":
149153  			if v != nil {
149154  				var HTTPPath interface{}
149155  				err = json.Unmarshal(*v, &HTTPPath)
149156  				if err != nil {
149157  					return err
149158  				}
149159  				plstp.HTTPPath = HTTPPath
149160  			}
149161  		case "authenticationType":
149162  			if v != nil {
149163  				var authenticationType PhoenixAuthenticationType
149164  				err = json.Unmarshal(*v, &authenticationType)
149165  				if err != nil {
149166  					return err
149167  				}
149168  				plstp.AuthenticationType = authenticationType
149169  			}
149170  		case "username":
149171  			if v != nil {
149172  				var username interface{}
149173  				err = json.Unmarshal(*v, &username)
149174  				if err != nil {
149175  					return err
149176  				}
149177  				plstp.Username = username
149178  			}
149179  		case "password":
149180  			if v != nil {
149181  				password, err := unmarshalBasicSecretBase(*v)
149182  				if err != nil {
149183  					return err
149184  				}
149185  				plstp.Password = password
149186  			}
149187  		case "enableSsl":
149188  			if v != nil {
149189  				var enableSsl interface{}
149190  				err = json.Unmarshal(*v, &enableSsl)
149191  				if err != nil {
149192  					return err
149193  				}
149194  				plstp.EnableSsl = enableSsl
149195  			}
149196  		case "trustedCertPath":
149197  			if v != nil {
149198  				var trustedCertPath interface{}
149199  				err = json.Unmarshal(*v, &trustedCertPath)
149200  				if err != nil {
149201  					return err
149202  				}
149203  				plstp.TrustedCertPath = trustedCertPath
149204  			}
149205  		case "useSystemTrustStore":
149206  			if v != nil {
149207  				var useSystemTrustStore interface{}
149208  				err = json.Unmarshal(*v, &useSystemTrustStore)
149209  				if err != nil {
149210  					return err
149211  				}
149212  				plstp.UseSystemTrustStore = useSystemTrustStore
149213  			}
149214  		case "allowHostNameCNMismatch":
149215  			if v != nil {
149216  				var allowHostNameCNMismatch interface{}
149217  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
149218  				if err != nil {
149219  					return err
149220  				}
149221  				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
149222  			}
149223  		case "allowSelfSignedServerCert":
149224  			if v != nil {
149225  				var allowSelfSignedServerCert interface{}
149226  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
149227  				if err != nil {
149228  					return err
149229  				}
149230  				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
149231  			}
149232  		case "encryptedCredential":
149233  			if v != nil {
149234  				var encryptedCredential interface{}
149235  				err = json.Unmarshal(*v, &encryptedCredential)
149236  				if err != nil {
149237  					return err
149238  				}
149239  				plstp.EncryptedCredential = encryptedCredential
149240  			}
149241  		}
149242  	}
149243  
149244  	return nil
149245  }
149246  
149247  // PhoenixObjectDataset phoenix server dataset.
149248  type PhoenixObjectDataset struct {
149249  	// PhoenixDatasetTypeProperties - Properties specific to this dataset type.
149250  	*PhoenixDatasetTypeProperties `json:"typeProperties,omitempty"`
149251  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
149252  	AdditionalProperties map[string]interface{} `json:""`
149253  	// Description - Dataset description.
149254  	Description *string `json:"description,omitempty"`
149255  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
149256  	Structure interface{} `json:"structure,omitempty"`
149257  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
149258  	Schema interface{} `json:"schema,omitempty"`
149259  	// LinkedServiceName - Linked service reference.
149260  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
149261  	// Parameters - Parameters for dataset.
149262  	Parameters map[string]*ParameterSpecification `json:"parameters"`
149263  	// Annotations - List of tags that can be used for describing the Dataset.
149264  	Annotations *[]interface{} `json:"annotations,omitempty"`
149265  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
149266  	Folder *DatasetFolder `json:"folder,omitempty"`
149267  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
149268  	Type TypeBasicDataset `json:"type,omitempty"`
149269  }
149270  
149271  // MarshalJSON is the custom marshaler for PhoenixObjectDataset.
149272  func (pod PhoenixObjectDataset) MarshalJSON() ([]byte, error) {
149273  	pod.Type = TypePhoenixObject
149274  	objectMap := make(map[string]interface{})
149275  	if pod.PhoenixDatasetTypeProperties != nil {
149276  		objectMap["typeProperties"] = pod.PhoenixDatasetTypeProperties
149277  	}
149278  	if pod.Description != nil {
149279  		objectMap["description"] = pod.Description
149280  	}
149281  	if pod.Structure != nil {
149282  		objectMap["structure"] = pod.Structure
149283  	}
149284  	if pod.Schema != nil {
149285  		objectMap["schema"] = pod.Schema
149286  	}
149287  	if pod.LinkedServiceName != nil {
149288  		objectMap["linkedServiceName"] = pod.LinkedServiceName
149289  	}
149290  	if pod.Parameters != nil {
149291  		objectMap["parameters"] = pod.Parameters
149292  	}
149293  	if pod.Annotations != nil {
149294  		objectMap["annotations"] = pod.Annotations
149295  	}
149296  	if pod.Folder != nil {
149297  		objectMap["folder"] = pod.Folder
149298  	}
149299  	if pod.Type != "" {
149300  		objectMap["type"] = pod.Type
149301  	}
149302  	for k, v := range pod.AdditionalProperties {
149303  		objectMap[k] = v
149304  	}
149305  	return json.Marshal(objectMap)
149306  }
149307  
149308  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149309  func (pod PhoenixObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
149310  	return nil, false
149311  }
149312  
149313  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149314  func (pod PhoenixObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
149315  	return nil, false
149316  }
149317  
149318  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149319  func (pod PhoenixObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
149320  	return nil, false
149321  }
149322  
149323  // AsDynamicsAXResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149324  func (pod PhoenixObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
149325  	return nil, false
149326  }
149327  
149328  // AsResponsysObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149329  func (pod PhoenixObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
149330  	return nil, false
149331  }
149332  
149333  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149334  func (pod PhoenixObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
149335  	return nil, false
149336  }
149337  
149338  // AsVerticaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149339  func (pod PhoenixObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
149340  	return nil, false
149341  }
149342  
149343  // AsNetezzaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149344  func (pod PhoenixObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
149345  	return nil, false
149346  }
149347  
149348  // AsZohoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149349  func (pod PhoenixObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
149350  	return nil, false
149351  }
149352  
149353  // AsXeroObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149354  func (pod PhoenixObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
149355  	return nil, false
149356  }
149357  
149358  // AsSquareObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149359  func (pod PhoenixObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
149360  	return nil, false
149361  }
149362  
149363  // AsSparkObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149364  func (pod PhoenixObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
149365  	return nil, false
149366  }
149367  
149368  // AsShopifyObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149369  func (pod PhoenixObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
149370  	return nil, false
149371  }
149372  
149373  // AsServiceNowObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149374  func (pod PhoenixObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
149375  	return nil, false
149376  }
149377  
149378  // AsQuickBooksObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149379  func (pod PhoenixObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
149380  	return nil, false
149381  }
149382  
149383  // AsPrestoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149384  func (pod PhoenixObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
149385  	return nil, false
149386  }
149387  
149388  // AsPhoenixObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149389  func (pod PhoenixObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
149390  	return &pod, true
149391  }
149392  
149393  // AsPaypalObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149394  func (pod PhoenixObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
149395  	return nil, false
149396  }
149397  
149398  // AsMarketoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149399  func (pod PhoenixObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
149400  	return nil, false
149401  }
149402  
149403  // AsAzureMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149404  func (pod PhoenixObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
149405  	return nil, false
149406  }
149407  
149408  // AsMariaDBTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149409  func (pod PhoenixObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
149410  	return nil, false
149411  }
149412  
149413  // AsMagentoObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149414  func (pod PhoenixObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
149415  	return nil, false
149416  }
149417  
149418  // AsJiraObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149419  func (pod PhoenixObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
149420  	return nil, false
149421  }
149422  
149423  // AsImpalaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149424  func (pod PhoenixObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
149425  	return nil, false
149426  }
149427  
149428  // AsHubspotObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149429  func (pod PhoenixObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
149430  	return nil, false
149431  }
149432  
149433  // AsHiveObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149434  func (pod PhoenixObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
149435  	return nil, false
149436  }
149437  
149438  // AsHBaseObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149439  func (pod PhoenixObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
149440  	return nil, false
149441  }
149442  
149443  // AsGreenplumTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149444  func (pod PhoenixObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
149445  	return nil, false
149446  }
149447  
149448  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149449  func (pod PhoenixObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
149450  	return nil, false
149451  }
149452  
149453  // AsEloquaObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149454  func (pod PhoenixObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
149455  	return nil, false
149456  }
149457  
149458  // AsDrillTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149459  func (pod PhoenixObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
149460  	return nil, false
149461  }
149462  
149463  // AsCouchbaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149464  func (pod PhoenixObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
149465  	return nil, false
149466  }
149467  
149468  // AsConcurObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149469  func (pod PhoenixObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
149470  	return nil, false
149471  }
149472  
149473  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149474  func (pod PhoenixObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
149475  	return nil, false
149476  }
149477  
149478  // AsAmazonMWSObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149479  func (pod PhoenixObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
149480  	return nil, false
149481  }
149482  
149483  // AsAzureSearchIndexDataset is the BasicDataset implementation for PhoenixObjectDataset.
149484  func (pod PhoenixObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
149485  	return nil, false
149486  }
149487  
149488  // AsWebTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149489  func (pod PhoenixObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
149490  	return nil, false
149491  }
149492  
149493  // AsSapTableResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149494  func (pod PhoenixObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
149495  	return nil, false
149496  }
149497  
149498  // AsRestResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149499  func (pod PhoenixObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
149500  	return nil, false
149501  }
149502  
149503  // AsSQLServerTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149504  func (pod PhoenixObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
149505  	return nil, false
149506  }
149507  
149508  // AsSapOpenHubTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149509  func (pod PhoenixObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
149510  	return nil, false
149511  }
149512  
149513  // AsSapHanaTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149514  func (pod PhoenixObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
149515  	return nil, false
149516  }
149517  
149518  // AsSapEccResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149519  func (pod PhoenixObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
149520  	return nil, false
149521  }
149522  
149523  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149524  func (pod PhoenixObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
149525  	return nil, false
149526  }
149527  
149528  // AsSapBwCubeDataset is the BasicDataset implementation for PhoenixObjectDataset.
149529  func (pod PhoenixObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
149530  	return nil, false
149531  }
149532  
149533  // AsSybaseTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149534  func (pod PhoenixObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
149535  	return nil, false
149536  }
149537  
149538  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149539  func (pod PhoenixObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
149540  	return nil, false
149541  }
149542  
149543  // AsSalesforceObjectDataset is the BasicDataset implementation for PhoenixObjectDataset.
149544  func (pod PhoenixObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
149545  	return nil, false
149546  }
149547  
149548  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149549  func (pod PhoenixObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
149550  	return nil, false
149551  }
149552  
149553  // AsPostgreSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149554  func (pod PhoenixObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
149555  	return nil, false
149556  }
149557  
149558  // AsMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149559  func (pod PhoenixObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
149560  	return nil, false
149561  }
149562  
149563  // AsOdbcTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149564  func (pod PhoenixObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
149565  	return nil, false
149566  }
149567  
149568  // AsInformixTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149569  func (pod PhoenixObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
149570  	return nil, false
149571  }
149572  
149573  // AsRelationalTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149574  func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
149575  	return nil, false
149576  }
149577  
149578  // AsDb2TableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149579  func (pod PhoenixObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
149580  	return nil, false
149581  }
149582  
149583  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149584  func (pod PhoenixObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
149585  	return nil, false
149586  }
149587  
149588  // AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149589  func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
149590  	return nil, false
149591  }
149592  
149593  // AsTeradataTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149594  func (pod PhoenixObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
149595  	return nil, false
149596  }
149597  
149598  // AsOracleTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149599  func (pod PhoenixObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
149600  	return nil, false
149601  }
149602  
149603  // AsODataResourceDataset is the BasicDataset implementation for PhoenixObjectDataset.
149604  func (pod PhoenixObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
149605  	return nil, false
149606  }
149607  
149608  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
149609  func (pod PhoenixObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
149610  	return nil, false
149611  }
149612  
149613  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
149614  func (pod PhoenixObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
149615  	return nil, false
149616  }
149617  
149618  // AsMongoDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
149619  func (pod PhoenixObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
149620  	return nil, false
149621  }
149622  
149623  // AsOffice365Dataset is the BasicDataset implementation for PhoenixObjectDataset.
149624  func (pod PhoenixObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
149625  	return nil, false
149626  }
149627  
149628  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
149629  func (pod PhoenixObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
149630  	return nil, false
149631  }
149632  
149633  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
149634  func (pod PhoenixObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
149635  	return nil, false
149636  }
149637  
149638  // AsDynamicsEntityDataset is the BasicDataset implementation for PhoenixObjectDataset.
149639  func (pod PhoenixObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
149640  	return nil, false
149641  }
149642  
149643  // AsDocumentDbCollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
149644  func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
149645  	return nil, false
149646  }
149647  
149648  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset.
149649  func (pod PhoenixObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
149650  	return nil, false
149651  }
149652  
149653  // AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset.
149654  func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
149655  	return nil, false
149656  }
149657  
149658  // AsCassandraTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149659  func (pod PhoenixObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
149660  	return nil, false
149661  }
149662  
149663  // AsAzureSQLDWTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149664  func (pod PhoenixObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
149665  	return nil, false
149666  }
149667  
149668  // AsAzureSQLMITableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149669  func (pod PhoenixObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
149670  	return nil, false
149671  }
149672  
149673  // AsAzureSQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149674  func (pod PhoenixObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
149675  	return nil, false
149676  }
149677  
149678  // AsAzureTableDataset is the BasicDataset implementation for PhoenixObjectDataset.
149679  func (pod PhoenixObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
149680  	return nil, false
149681  }
149682  
149683  // AsBinaryDataset is the BasicDataset implementation for PhoenixObjectDataset.
149684  func (pod PhoenixObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
149685  	return nil, false
149686  }
149687  
149688  // AsOrcDataset is the BasicDataset implementation for PhoenixObjectDataset.
149689  func (pod PhoenixObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
149690  	return nil, false
149691  }
149692  
149693  // AsJSONDataset is the BasicDataset implementation for PhoenixObjectDataset.
149694  func (pod PhoenixObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
149695  	return nil, false
149696  }
149697  
149698  // AsDelimitedTextDataset is the BasicDataset implementation for PhoenixObjectDataset.
149699  func (pod PhoenixObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
149700  	return nil, false
149701  }
149702  
149703  // AsParquetDataset is the BasicDataset implementation for PhoenixObjectDataset.
149704  func (pod PhoenixObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
149705  	return nil, false
149706  }
149707  
149708  // AsAvroDataset is the BasicDataset implementation for PhoenixObjectDataset.
149709  func (pod PhoenixObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
149710  	return nil, false
149711  }
149712  
149713  // AsDataset is the BasicDataset implementation for PhoenixObjectDataset.
149714  func (pod PhoenixObjectDataset) AsDataset() (*Dataset, bool) {
149715  	return nil, false
149716  }
149717  
149718  // AsBasicDataset is the BasicDataset implementation for PhoenixObjectDataset.
149719  func (pod PhoenixObjectDataset) AsBasicDataset() (BasicDataset, bool) {
149720  	return &pod, true
149721  }
149722  
149723  // UnmarshalJSON is the custom unmarshaler for PhoenixObjectDataset struct.
149724  func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error {
149725  	var m map[string]*json.RawMessage
149726  	err := json.Unmarshal(body, &m)
149727  	if err != nil {
149728  		return err
149729  	}
149730  	for k, v := range m {
149731  		switch k {
149732  		case "typeProperties":
149733  			if v != nil {
149734  				var phoenixDatasetTypeProperties PhoenixDatasetTypeProperties
149735  				err = json.Unmarshal(*v, &phoenixDatasetTypeProperties)
149736  				if err != nil {
149737  					return err
149738  				}
149739  				pod.PhoenixDatasetTypeProperties = &phoenixDatasetTypeProperties
149740  			}
149741  		default:
149742  			if v != nil {
149743  				var additionalProperties interface{}
149744  				err = json.Unmarshal(*v, &additionalProperties)
149745  				if err != nil {
149746  					return err
149747  				}
149748  				if pod.AdditionalProperties == nil {
149749  					pod.AdditionalProperties = make(map[string]interface{})
149750  				}
149751  				pod.AdditionalProperties[k] = additionalProperties
149752  			}
149753  		case "description":
149754  			if v != nil {
149755  				var description string
149756  				err = json.Unmarshal(*v, &description)
149757  				if err != nil {
149758  					return err
149759  				}
149760  				pod.Description = &description
149761  			}
149762  		case "structure":
149763  			if v != nil {
149764  				var structure interface{}
149765  				err = json.Unmarshal(*v, &structure)
149766  				if err != nil {
149767  					return err
149768  				}
149769  				pod.Structure = structure
149770  			}
149771  		case "schema":
149772  			if v != nil {
149773  				var schema interface{}
149774  				err = json.Unmarshal(*v, &schema)
149775  				if err != nil {
149776  					return err
149777  				}
149778  				pod.Schema = schema
149779  			}
149780  		case "linkedServiceName":
149781  			if v != nil {
149782  				var linkedServiceName LinkedServiceReference
149783  				err = json.Unmarshal(*v, &linkedServiceName)
149784  				if err != nil {
149785  					return err
149786  				}
149787  				pod.LinkedServiceName = &linkedServiceName
149788  			}
149789  		case "parameters":
149790  			if v != nil {
149791  				var parameters map[string]*ParameterSpecification
149792  				err = json.Unmarshal(*v, &parameters)
149793  				if err != nil {
149794  					return err
149795  				}
149796  				pod.Parameters = parameters
149797  			}
149798  		case "annotations":
149799  			if v != nil {
149800  				var annotations []interface{}
149801  				err = json.Unmarshal(*v, &annotations)
149802  				if err != nil {
149803  					return err
149804  				}
149805  				pod.Annotations = &annotations
149806  			}
149807  		case "folder":
149808  			if v != nil {
149809  				var folder DatasetFolder
149810  				err = json.Unmarshal(*v, &folder)
149811  				if err != nil {
149812  					return err
149813  				}
149814  				pod.Folder = &folder
149815  			}
149816  		case "type":
149817  			if v != nil {
149818  				var typeVar TypeBasicDataset
149819  				err = json.Unmarshal(*v, &typeVar)
149820  				if err != nil {
149821  					return err
149822  				}
149823  				pod.Type = typeVar
149824  			}
149825  		}
149826  	}
149827  
149828  	return nil
149829  }
149830  
149831  // PhoenixSource a copy activity Phoenix server source.
149832  type PhoenixSource struct {
149833  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
149834  	Query interface{} `json:"query,omitempty"`
149835  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
149836  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
149837  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
149838  	AdditionalProperties map[string]interface{} `json:""`
149839  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
149840  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
149841  	// 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])).
149842  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
149843  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
149844  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
149845  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
149846  	Type TypeBasicCopySource `json:"type,omitempty"`
149847  }
149848  
149849  // MarshalJSON is the custom marshaler for PhoenixSource.
149850  func (ps PhoenixSource) MarshalJSON() ([]byte, error) {
149851  	ps.Type = TypePhoenixSource
149852  	objectMap := make(map[string]interface{})
149853  	if ps.Query != nil {
149854  		objectMap["query"] = ps.Query
149855  	}
149856  	if ps.QueryTimeout != nil {
149857  		objectMap["queryTimeout"] = ps.QueryTimeout
149858  	}
149859  	if ps.SourceRetryCount != nil {
149860  		objectMap["sourceRetryCount"] = ps.SourceRetryCount
149861  	}
149862  	if ps.SourceRetryWait != nil {
149863  		objectMap["sourceRetryWait"] = ps.SourceRetryWait
149864  	}
149865  	if ps.MaxConcurrentConnections != nil {
149866  		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
149867  	}
149868  	if ps.Type != "" {
149869  		objectMap["type"] = ps.Type
149870  	}
149871  	for k, v := range ps.AdditionalProperties {
149872  		objectMap[k] = v
149873  	}
149874  	return json.Marshal(objectMap)
149875  }
149876  
149877  // AsHTTPSource is the BasicCopySource implementation for PhoenixSource.
149878  func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) {
149879  	return nil, false
149880  }
149881  
149882  // AsAzureBlobFSSource is the BasicCopySource implementation for PhoenixSource.
149883  func (ps PhoenixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
149884  	return nil, false
149885  }
149886  
149887  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource.
149888  func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
149889  	return nil, false
149890  }
149891  
149892  // AsOffice365Source is the BasicCopySource implementation for PhoenixSource.
149893  func (ps PhoenixSource) AsOffice365Source() (*Office365Source, bool) {
149894  	return nil, false
149895  }
149896  
149897  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PhoenixSource.
149898  func (ps PhoenixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
149899  	return nil, false
149900  }
149901  
149902  // AsMongoDbV2Source is the BasicCopySource implementation for PhoenixSource.
149903  func (ps PhoenixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
149904  	return nil, false
149905  }
149906  
149907  // AsMongoDbSource is the BasicCopySource implementation for PhoenixSource.
149908  func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) {
149909  	return nil, false
149910  }
149911  
149912  // AsWebSource is the BasicCopySource implementation for PhoenixSource.
149913  func (ps PhoenixSource) AsWebSource() (*WebSource, bool) {
149914  	return nil, false
149915  }
149916  
149917  // AsOracleSource is the BasicCopySource implementation for PhoenixSource.
149918  func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) {
149919  	return nil, false
149920  }
149921  
149922  // AsAzureDataExplorerSource is the BasicCopySource implementation for PhoenixSource.
149923  func (ps PhoenixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
149924  	return nil, false
149925  }
149926  
149927  // AsHdfsSource is the BasicCopySource implementation for PhoenixSource.
149928  func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) {
149929  	return nil, false
149930  }
149931  
149932  // AsFileSystemSource is the BasicCopySource implementation for PhoenixSource.
149933  func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) {
149934  	return nil, false
149935  }
149936  
149937  // AsRestSource is the BasicCopySource implementation for PhoenixSource.
149938  func (ps PhoenixSource) AsRestSource() (*RestSource, bool) {
149939  	return nil, false
149940  }
149941  
149942  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for PhoenixSource.
149943  func (ps PhoenixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
149944  	return nil, false
149945  }
149946  
149947  // AsODataSource is the BasicCopySource implementation for PhoenixSource.
149948  func (ps PhoenixSource) AsODataSource() (*ODataSource, bool) {
149949  	return nil, false
149950  }
149951  
149952  // AsMicrosoftAccessSource is the BasicCopySource implementation for PhoenixSource.
149953  func (ps PhoenixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
149954  	return nil, false
149955  }
149956  
149957  // AsRelationalSource is the BasicCopySource implementation for PhoenixSource.
149958  func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) {
149959  	return nil, false
149960  }
149961  
149962  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PhoenixSource.
149963  func (ps PhoenixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
149964  	return nil, false
149965  }
149966  
149967  // AsDynamicsCrmSource is the BasicCopySource implementation for PhoenixSource.
149968  func (ps PhoenixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
149969  	return nil, false
149970  }
149971  
149972  // AsDynamicsSource is the BasicCopySource implementation for PhoenixSource.
149973  func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) {
149974  	return nil, false
149975  }
149976  
149977  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for PhoenixSource.
149978  func (ps PhoenixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
149979  	return nil, false
149980  }
149981  
149982  // AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource.
149983  func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
149984  	return nil, false
149985  }
149986  
149987  // AsBlobSource is the BasicCopySource implementation for PhoenixSource.
149988  func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) {
149989  	return nil, false
149990  }
149991  
149992  // AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource.
149993  func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
149994  	return nil, false
149995  }
149996  
149997  // AsGoogleAdWordsSource is the BasicCopySource implementation for PhoenixSource.
149998  func (ps PhoenixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
149999  	return nil, false
150000  }
150001  
150002  // AsOracleServiceCloudSource is the BasicCopySource implementation for PhoenixSource.
150003  func (ps PhoenixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
150004  	return nil, false
150005  }
150006  
150007  // AsDynamicsAXSource is the BasicCopySource implementation for PhoenixSource.
150008  func (ps PhoenixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
150009  	return nil, false
150010  }
150011  
150012  // AsResponsysSource is the BasicCopySource implementation for PhoenixSource.
150013  func (ps PhoenixSource) AsResponsysSource() (*ResponsysSource, bool) {
150014  	return nil, false
150015  }
150016  
150017  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PhoenixSource.
150018  func (ps PhoenixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
150019  	return nil, false
150020  }
150021  
150022  // AsVerticaSource is the BasicCopySource implementation for PhoenixSource.
150023  func (ps PhoenixSource) AsVerticaSource() (*VerticaSource, bool) {
150024  	return nil, false
150025  }
150026  
150027  // AsNetezzaSource is the BasicCopySource implementation for PhoenixSource.
150028  func (ps PhoenixSource) AsNetezzaSource() (*NetezzaSource, bool) {
150029  	return nil, false
150030  }
150031  
150032  // AsZohoSource is the BasicCopySource implementation for PhoenixSource.
150033  func (ps PhoenixSource) AsZohoSource() (*ZohoSource, bool) {
150034  	return nil, false
150035  }
150036  
150037  // AsXeroSource is the BasicCopySource implementation for PhoenixSource.
150038  func (ps PhoenixSource) AsXeroSource() (*XeroSource, bool) {
150039  	return nil, false
150040  }
150041  
150042  // AsSquareSource is the BasicCopySource implementation for PhoenixSource.
150043  func (ps PhoenixSource) AsSquareSource() (*SquareSource, bool) {
150044  	return nil, false
150045  }
150046  
150047  // AsSparkSource is the BasicCopySource implementation for PhoenixSource.
150048  func (ps PhoenixSource) AsSparkSource() (*SparkSource, bool) {
150049  	return nil, false
150050  }
150051  
150052  // AsShopifySource is the BasicCopySource implementation for PhoenixSource.
150053  func (ps PhoenixSource) AsShopifySource() (*ShopifySource, bool) {
150054  	return nil, false
150055  }
150056  
150057  // AsServiceNowSource is the BasicCopySource implementation for PhoenixSource.
150058  func (ps PhoenixSource) AsServiceNowSource() (*ServiceNowSource, bool) {
150059  	return nil, false
150060  }
150061  
150062  // AsQuickBooksSource is the BasicCopySource implementation for PhoenixSource.
150063  func (ps PhoenixSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
150064  	return nil, false
150065  }
150066  
150067  // AsPrestoSource is the BasicCopySource implementation for PhoenixSource.
150068  func (ps PhoenixSource) AsPrestoSource() (*PrestoSource, bool) {
150069  	return nil, false
150070  }
150071  
150072  // AsPhoenixSource is the BasicCopySource implementation for PhoenixSource.
150073  func (ps PhoenixSource) AsPhoenixSource() (*PhoenixSource, bool) {
150074  	return &ps, true
150075  }
150076  
150077  // AsPaypalSource is the BasicCopySource implementation for PhoenixSource.
150078  func (ps PhoenixSource) AsPaypalSource() (*PaypalSource, bool) {
150079  	return nil, false
150080  }
150081  
150082  // AsMarketoSource is the BasicCopySource implementation for PhoenixSource.
150083  func (ps PhoenixSource) AsMarketoSource() (*MarketoSource, bool) {
150084  	return nil, false
150085  }
150086  
150087  // AsAzureMariaDBSource is the BasicCopySource implementation for PhoenixSource.
150088  func (ps PhoenixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
150089  	return nil, false
150090  }
150091  
150092  // AsMariaDBSource is the BasicCopySource implementation for PhoenixSource.
150093  func (ps PhoenixSource) AsMariaDBSource() (*MariaDBSource, bool) {
150094  	return nil, false
150095  }
150096  
150097  // AsMagentoSource is the BasicCopySource implementation for PhoenixSource.
150098  func (ps PhoenixSource) AsMagentoSource() (*MagentoSource, bool) {
150099  	return nil, false
150100  }
150101  
150102  // AsJiraSource is the BasicCopySource implementation for PhoenixSource.
150103  func (ps PhoenixSource) AsJiraSource() (*JiraSource, bool) {
150104  	return nil, false
150105  }
150106  
150107  // AsImpalaSource is the BasicCopySource implementation for PhoenixSource.
150108  func (ps PhoenixSource) AsImpalaSource() (*ImpalaSource, bool) {
150109  	return nil, false
150110  }
150111  
150112  // AsHubspotSource is the BasicCopySource implementation for PhoenixSource.
150113  func (ps PhoenixSource) AsHubspotSource() (*HubspotSource, bool) {
150114  	return nil, false
150115  }
150116  
150117  // AsHiveSource is the BasicCopySource implementation for PhoenixSource.
150118  func (ps PhoenixSource) AsHiveSource() (*HiveSource, bool) {
150119  	return nil, false
150120  }
150121  
150122  // AsHBaseSource is the BasicCopySource implementation for PhoenixSource.
150123  func (ps PhoenixSource) AsHBaseSource() (*HBaseSource, bool) {
150124  	return nil, false
150125  }
150126  
150127  // AsGreenplumSource is the BasicCopySource implementation for PhoenixSource.
150128  func (ps PhoenixSource) AsGreenplumSource() (*GreenplumSource, bool) {
150129  	return nil, false
150130  }
150131  
150132  // AsGoogleBigQuerySource is the BasicCopySource implementation for PhoenixSource.
150133  func (ps PhoenixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
150134  	return nil, false
150135  }
150136  
150137  // AsEloquaSource is the BasicCopySource implementation for PhoenixSource.
150138  func (ps PhoenixSource) AsEloquaSource() (*EloquaSource, bool) {
150139  	return nil, false
150140  }
150141  
150142  // AsDrillSource is the BasicCopySource implementation for PhoenixSource.
150143  func (ps PhoenixSource) AsDrillSource() (*DrillSource, bool) {
150144  	return nil, false
150145  }
150146  
150147  // AsCouchbaseSource is the BasicCopySource implementation for PhoenixSource.
150148  func (ps PhoenixSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
150149  	return nil, false
150150  }
150151  
150152  // AsConcurSource is the BasicCopySource implementation for PhoenixSource.
150153  func (ps PhoenixSource) AsConcurSource() (*ConcurSource, bool) {
150154  	return nil, false
150155  }
150156  
150157  // AsAzurePostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
150158  func (ps PhoenixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
150159  	return nil, false
150160  }
150161  
150162  // AsAmazonMWSSource is the BasicCopySource implementation for PhoenixSource.
150163  func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
150164  	return nil, false
150165  }
150166  
150167  // AsCassandraSource is the BasicCopySource implementation for PhoenixSource.
150168  func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) {
150169  	return nil, false
150170  }
150171  
150172  // AsTeradataSource is the BasicCopySource implementation for PhoenixSource.
150173  func (ps PhoenixSource) AsTeradataSource() (*TeradataSource, bool) {
150174  	return nil, false
150175  }
150176  
150177  // AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource.
150178  func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
150179  	return nil, false
150180  }
150181  
150182  // AsSQLDWSource is the BasicCopySource implementation for PhoenixSource.
150183  func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) {
150184  	return nil, false
150185  }
150186  
150187  // AsSQLMISource is the BasicCopySource implementation for PhoenixSource.
150188  func (ps PhoenixSource) AsSQLMISource() (*SQLMISource, bool) {
150189  	return nil, false
150190  }
150191  
150192  // AsAzureSQLSource is the BasicCopySource implementation for PhoenixSource.
150193  func (ps PhoenixSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
150194  	return nil, false
150195  }
150196  
150197  // AsSQLServerSource is the BasicCopySource implementation for PhoenixSource.
150198  func (ps PhoenixSource) AsSQLServerSource() (*SQLServerSource, bool) {
150199  	return nil, false
150200  }
150201  
150202  // AsSQLSource is the BasicCopySource implementation for PhoenixSource.
150203  func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) {
150204  	return nil, false
150205  }
150206  
150207  // AsSapTableSource is the BasicCopySource implementation for PhoenixSource.
150208  func (ps PhoenixSource) AsSapTableSource() (*SapTableSource, bool) {
150209  	return nil, false
150210  }
150211  
150212  // AsSapOpenHubSource is the BasicCopySource implementation for PhoenixSource.
150213  func (ps PhoenixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
150214  	return nil, false
150215  }
150216  
150217  // AsSapHanaSource is the BasicCopySource implementation for PhoenixSource.
150218  func (ps PhoenixSource) AsSapHanaSource() (*SapHanaSource, bool) {
150219  	return nil, false
150220  }
150221  
150222  // AsSapEccSource is the BasicCopySource implementation for PhoenixSource.
150223  func (ps PhoenixSource) AsSapEccSource() (*SapEccSource, bool) {
150224  	return nil, false
150225  }
150226  
150227  // AsSapCloudForCustomerSource is the BasicCopySource implementation for PhoenixSource.
150228  func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
150229  	return nil, false
150230  }
150231  
150232  // AsSalesforceSource is the BasicCopySource implementation for PhoenixSource.
150233  func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) {
150234  	return nil, false
150235  }
150236  
150237  // AsSapBwSource is the BasicCopySource implementation for PhoenixSource.
150238  func (ps PhoenixSource) AsSapBwSource() (*SapBwSource, bool) {
150239  	return nil, false
150240  }
150241  
150242  // AsSybaseSource is the BasicCopySource implementation for PhoenixSource.
150243  func (ps PhoenixSource) AsSybaseSource() (*SybaseSource, bool) {
150244  	return nil, false
150245  }
150246  
150247  // AsPostgreSQLSource is the BasicCopySource implementation for PhoenixSource.
150248  func (ps PhoenixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
150249  	return nil, false
150250  }
150251  
150252  // AsMySQLSource is the BasicCopySource implementation for PhoenixSource.
150253  func (ps PhoenixSource) AsMySQLSource() (*MySQLSource, bool) {
150254  	return nil, false
150255  }
150256  
150257  // AsOdbcSource is the BasicCopySource implementation for PhoenixSource.
150258  func (ps PhoenixSource) AsOdbcSource() (*OdbcSource, bool) {
150259  	return nil, false
150260  }
150261  
150262  // AsDb2Source is the BasicCopySource implementation for PhoenixSource.
150263  func (ps PhoenixSource) AsDb2Source() (*Db2Source, bool) {
150264  	return nil, false
150265  }
150266  
150267  // AsInformixSource is the BasicCopySource implementation for PhoenixSource.
150268  func (ps PhoenixSource) AsInformixSource() (*InformixSource, bool) {
150269  	return nil, false
150270  }
150271  
150272  // AsAzureTableSource is the BasicCopySource implementation for PhoenixSource.
150273  func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) {
150274  	return nil, false
150275  }
150276  
150277  // AsTabularSource is the BasicCopySource implementation for PhoenixSource.
150278  func (ps PhoenixSource) AsTabularSource() (*TabularSource, bool) {
150279  	return nil, false
150280  }
150281  
150282  // AsBasicTabularSource is the BasicCopySource implementation for PhoenixSource.
150283  func (ps PhoenixSource) AsBasicTabularSource() (BasicTabularSource, bool) {
150284  	return &ps, true
150285  }
150286  
150287  // AsBinarySource is the BasicCopySource implementation for PhoenixSource.
150288  func (ps PhoenixSource) AsBinarySource() (*BinarySource, bool) {
150289  	return nil, false
150290  }
150291  
150292  // AsOrcSource is the BasicCopySource implementation for PhoenixSource.
150293  func (ps PhoenixSource) AsOrcSource() (*OrcSource, bool) {
150294  	return nil, false
150295  }
150296  
150297  // AsJSONSource is the BasicCopySource implementation for PhoenixSource.
150298  func (ps PhoenixSource) AsJSONSource() (*JSONSource, bool) {
150299  	return nil, false
150300  }
150301  
150302  // AsDelimitedTextSource is the BasicCopySource implementation for PhoenixSource.
150303  func (ps PhoenixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
150304  	return nil, false
150305  }
150306  
150307  // AsParquetSource is the BasicCopySource implementation for PhoenixSource.
150308  func (ps PhoenixSource) AsParquetSource() (*ParquetSource, bool) {
150309  	return nil, false
150310  }
150311  
150312  // AsAvroSource is the BasicCopySource implementation for PhoenixSource.
150313  func (ps PhoenixSource) AsAvroSource() (*AvroSource, bool) {
150314  	return nil, false
150315  }
150316  
150317  // AsCopySource is the BasicCopySource implementation for PhoenixSource.
150318  func (ps PhoenixSource) AsCopySource() (*CopySource, bool) {
150319  	return nil, false
150320  }
150321  
150322  // AsBasicCopySource is the BasicCopySource implementation for PhoenixSource.
150323  func (ps PhoenixSource) AsBasicCopySource() (BasicCopySource, bool) {
150324  	return &ps, true
150325  }
150326  
150327  // UnmarshalJSON is the custom unmarshaler for PhoenixSource struct.
150328  func (ps *PhoenixSource) UnmarshalJSON(body []byte) error {
150329  	var m map[string]*json.RawMessage
150330  	err := json.Unmarshal(body, &m)
150331  	if err != nil {
150332  		return err
150333  	}
150334  	for k, v := range m {
150335  		switch k {
150336  		case "query":
150337  			if v != nil {
150338  				var query interface{}
150339  				err = json.Unmarshal(*v, &query)
150340  				if err != nil {
150341  					return err
150342  				}
150343  				ps.Query = query
150344  			}
150345  		case "queryTimeout":
150346  			if v != nil {
150347  				var queryTimeout interface{}
150348  				err = json.Unmarshal(*v, &queryTimeout)
150349  				if err != nil {
150350  					return err
150351  				}
150352  				ps.QueryTimeout = queryTimeout
150353  			}
150354  		default:
150355  			if v != nil {
150356  				var additionalProperties interface{}
150357  				err = json.Unmarshal(*v, &additionalProperties)
150358  				if err != nil {
150359  					return err
150360  				}
150361  				if ps.AdditionalProperties == nil {
150362  					ps.AdditionalProperties = make(map[string]interface{})
150363  				}
150364  				ps.AdditionalProperties[k] = additionalProperties
150365  			}
150366  		case "sourceRetryCount":
150367  			if v != nil {
150368  				var sourceRetryCount interface{}
150369  				err = json.Unmarshal(*v, &sourceRetryCount)
150370  				if err != nil {
150371  					return err
150372  				}
150373  				ps.SourceRetryCount = sourceRetryCount
150374  			}
150375  		case "sourceRetryWait":
150376  			if v != nil {
150377  				var sourceRetryWait interface{}
150378  				err = json.Unmarshal(*v, &sourceRetryWait)
150379  				if err != nil {
150380  					return err
150381  				}
150382  				ps.SourceRetryWait = sourceRetryWait
150383  			}
150384  		case "maxConcurrentConnections":
150385  			if v != nil {
150386  				var maxConcurrentConnections interface{}
150387  				err = json.Unmarshal(*v, &maxConcurrentConnections)
150388  				if err != nil {
150389  					return err
150390  				}
150391  				ps.MaxConcurrentConnections = maxConcurrentConnections
150392  			}
150393  		case "type":
150394  			if v != nil {
150395  				var typeVar TypeBasicCopySource
150396  				err = json.Unmarshal(*v, &typeVar)
150397  				if err != nil {
150398  					return err
150399  				}
150400  				ps.Type = typeVar
150401  			}
150402  		}
150403  	}
150404  
150405  	return nil
150406  }
150407  
150408  // Pipeline a workspace pipeline.
150409  type Pipeline struct {
150410  	// Description - The description of the pipeline.
150411  	Description *string `json:"description,omitempty"`
150412  	// Activities - List of activities in pipeline.
150413  	Activities *[]BasicActivity `json:"activities,omitempty"`
150414  	// Parameters - List of parameters for pipeline.
150415  	Parameters map[string]*ParameterSpecification `json:"parameters"`
150416  	// Variables - List of variables for pipeline.
150417  	Variables map[string]*VariableSpecification `json:"variables"`
150418  	// Concurrency - The max number of concurrent runs for the pipeline.
150419  	Concurrency *int32 `json:"concurrency,omitempty"`
150420  	// Annotations - List of tags that can be used for describing the Pipeline.
150421  	Annotations *[]interface{} `json:"annotations,omitempty"`
150422  	// RunDimensions - Dimensions emitted by Pipeline.
150423  	RunDimensions map[string]interface{} `json:"runDimensions"`
150424  	// Folder - The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.
150425  	Folder *PipelineFolder `json:"folder,omitempty"`
150426  }
150427  
150428  // MarshalJSON is the custom marshaler for Pipeline.
150429  func (p Pipeline) MarshalJSON() ([]byte, error) {
150430  	objectMap := make(map[string]interface{})
150431  	if p.Description != nil {
150432  		objectMap["description"] = p.Description
150433  	}
150434  	if p.Activities != nil {
150435  		objectMap["activities"] = p.Activities
150436  	}
150437  	if p.Parameters != nil {
150438  		objectMap["parameters"] = p.Parameters
150439  	}
150440  	if p.Variables != nil {
150441  		objectMap["variables"] = p.Variables
150442  	}
150443  	if p.Concurrency != nil {
150444  		objectMap["concurrency"] = p.Concurrency
150445  	}
150446  	if p.Annotations != nil {
150447  		objectMap["annotations"] = p.Annotations
150448  	}
150449  	if p.RunDimensions != nil {
150450  		objectMap["runDimensions"] = p.RunDimensions
150451  	}
150452  	if p.Folder != nil {
150453  		objectMap["folder"] = p.Folder
150454  	}
150455  	return json.Marshal(objectMap)
150456  }
150457  
150458  // UnmarshalJSON is the custom unmarshaler for Pipeline struct.
150459  func (p *Pipeline) UnmarshalJSON(body []byte) error {
150460  	var m map[string]*json.RawMessage
150461  	err := json.Unmarshal(body, &m)
150462  	if err != nil {
150463  		return err
150464  	}
150465  	for k, v := range m {
150466  		switch k {
150467  		case "description":
150468  			if v != nil {
150469  				var description string
150470  				err = json.Unmarshal(*v, &description)
150471  				if err != nil {
150472  					return err
150473  				}
150474  				p.Description = &description
150475  			}
150476  		case "activities":
150477  			if v != nil {
150478  				activities, err := unmarshalBasicActivityArray(*v)
150479  				if err != nil {
150480  					return err
150481  				}
150482  				p.Activities = &activities
150483  			}
150484  		case "parameters":
150485  			if v != nil {
150486  				var parameters map[string]*ParameterSpecification
150487  				err = json.Unmarshal(*v, &parameters)
150488  				if err != nil {
150489  					return err
150490  				}
150491  				p.Parameters = parameters
150492  			}
150493  		case "variables":
150494  			if v != nil {
150495  				var variables map[string]*VariableSpecification
150496  				err = json.Unmarshal(*v, &variables)
150497  				if err != nil {
150498  					return err
150499  				}
150500  				p.Variables = variables
150501  			}
150502  		case "concurrency":
150503  			if v != nil {
150504  				var concurrency int32
150505  				err = json.Unmarshal(*v, &concurrency)
150506  				if err != nil {
150507  					return err
150508  				}
150509  				p.Concurrency = &concurrency
150510  			}
150511  		case "annotations":
150512  			if v != nil {
150513  				var annotations []interface{}
150514  				err = json.Unmarshal(*v, &annotations)
150515  				if err != nil {
150516  					return err
150517  				}
150518  				p.Annotations = &annotations
150519  			}
150520  		case "runDimensions":
150521  			if v != nil {
150522  				var runDimensions map[string]interface{}
150523  				err = json.Unmarshal(*v, &runDimensions)
150524  				if err != nil {
150525  					return err
150526  				}
150527  				p.RunDimensions = runDimensions
150528  			}
150529  		case "folder":
150530  			if v != nil {
150531  				var folder PipelineFolder
150532  				err = json.Unmarshal(*v, &folder)
150533  				if err != nil {
150534  					return err
150535  				}
150536  				p.Folder = &folder
150537  			}
150538  		}
150539  	}
150540  
150541  	return nil
150542  }
150543  
150544  // PipelineCreateOrUpdatePipelineFuture an abstraction for monitoring and retrieving the results of a
150545  // long-running operation.
150546  type PipelineCreateOrUpdatePipelineFuture struct {
150547  	azure.FutureAPI
150548  	// Result returns the result of the asynchronous operation.
150549  	// If the operation has not completed it will return an error.
150550  	Result func(PipelineClient) (PipelineResource, error)
150551  }
150552  
150553  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
150554  func (future *PipelineCreateOrUpdatePipelineFuture) UnmarshalJSON(body []byte) error {
150555  	var azFuture azure.Future
150556  	if err := json.Unmarshal(body, &azFuture); err != nil {
150557  		return err
150558  	}
150559  	future.FutureAPI = &azFuture
150560  	future.Result = future.result
150561  	return nil
150562  }
150563  
150564  // result is the default implementation for PipelineCreateOrUpdatePipelineFuture.Result.
150565  func (future *PipelineCreateOrUpdatePipelineFuture) result(client PipelineClient) (pr PipelineResource, err error) {
150566  	var done bool
150567  	done, err = future.DoneWithContext(context.Background(), client)
150568  	if err != nil {
150569  		err = autorest.NewErrorWithError(err, "artifacts.PipelineCreateOrUpdatePipelineFuture", "Result", future.Response(), "Polling failure")
150570  		return
150571  	}
150572  	if !done {
150573  		pr.Response.Response = future.Response()
150574  		err = azure.NewAsyncOpIncompleteError("artifacts.PipelineCreateOrUpdatePipelineFuture")
150575  		return
150576  	}
150577  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
150578  	if pr.Response.Response, err = future.GetResult(sender); err == nil && pr.Response.Response.StatusCode != http.StatusNoContent {
150579  		pr, err = client.CreateOrUpdatePipelineResponder(pr.Response.Response)
150580  		if err != nil {
150581  			err = autorest.NewErrorWithError(err, "artifacts.PipelineCreateOrUpdatePipelineFuture", "Result", pr.Response.Response, "Failure responding to request")
150582  		}
150583  	}
150584  	return
150585  }
150586  
150587  // PipelineDeletePipelineFuture an abstraction for monitoring and retrieving the results of a long-running
150588  // operation.
150589  type PipelineDeletePipelineFuture struct {
150590  	azure.FutureAPI
150591  	// Result returns the result of the asynchronous operation.
150592  	// If the operation has not completed it will return an error.
150593  	Result func(PipelineClient) (autorest.Response, error)
150594  }
150595  
150596  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
150597  func (future *PipelineDeletePipelineFuture) UnmarshalJSON(body []byte) error {
150598  	var azFuture azure.Future
150599  	if err := json.Unmarshal(body, &azFuture); err != nil {
150600  		return err
150601  	}
150602  	future.FutureAPI = &azFuture
150603  	future.Result = future.result
150604  	return nil
150605  }
150606  
150607  // result is the default implementation for PipelineDeletePipelineFuture.Result.
150608  func (future *PipelineDeletePipelineFuture) result(client PipelineClient) (ar autorest.Response, err error) {
150609  	var done bool
150610  	done, err = future.DoneWithContext(context.Background(), client)
150611  	if err != nil {
150612  		err = autorest.NewErrorWithError(err, "artifacts.PipelineDeletePipelineFuture", "Result", future.Response(), "Polling failure")
150613  		return
150614  	}
150615  	if !done {
150616  		ar.Response = future.Response()
150617  		err = azure.NewAsyncOpIncompleteError("artifacts.PipelineDeletePipelineFuture")
150618  		return
150619  	}
150620  	ar.Response = future.Response()
150621  	return
150622  }
150623  
150624  // PipelineFolder the folder that this Pipeline is in. If not specified, Pipeline will appear at the root
150625  // level.
150626  type PipelineFolder struct {
150627  	// Name - The name of the folder that this Pipeline is in.
150628  	Name *string `json:"name,omitempty"`
150629  }
150630  
150631  // PipelineListResponse a list of pipeline resources.
150632  type PipelineListResponse struct {
150633  	autorest.Response `json:"-"`
150634  	// Value - List of pipelines.
150635  	Value *[]PipelineResource `json:"value,omitempty"`
150636  	// NextLink - The link to the next page of results, if any remaining results exist.
150637  	NextLink *string `json:"nextLink,omitempty"`
150638  }
150639  
150640  // PipelineListResponseIterator provides access to a complete listing of PipelineResource values.
150641  type PipelineListResponseIterator struct {
150642  	i    int
150643  	page PipelineListResponsePage
150644  }
150645  
150646  // NextWithContext advances to the next value.  If there was an error making
150647  // the request the iterator does not advance and the error is returned.
150648  func (iter *PipelineListResponseIterator) NextWithContext(ctx context.Context) (err error) {
150649  	if tracing.IsEnabled() {
150650  		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponseIterator.NextWithContext")
150651  		defer func() {
150652  			sc := -1
150653  			if iter.Response().Response.Response != nil {
150654  				sc = iter.Response().Response.Response.StatusCode
150655  			}
150656  			tracing.EndSpan(ctx, sc, err)
150657  		}()
150658  	}
150659  	iter.i++
150660  	if iter.i < len(iter.page.Values()) {
150661  		return nil
150662  	}
150663  	err = iter.page.NextWithContext(ctx)
150664  	if err != nil {
150665  		iter.i--
150666  		return err
150667  	}
150668  	iter.i = 0
150669  	return nil
150670  }
150671  
150672  // Next advances to the next value.  If there was an error making
150673  // the request the iterator does not advance and the error is returned.
150674  // Deprecated: Use NextWithContext() instead.
150675  func (iter *PipelineListResponseIterator) Next() error {
150676  	return iter.NextWithContext(context.Background())
150677  }
150678  
150679  // NotDone returns true if the enumeration should be started or is not yet complete.
150680  func (iter PipelineListResponseIterator) NotDone() bool {
150681  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
150682  }
150683  
150684  // Response returns the raw server response from the last page request.
150685  func (iter PipelineListResponseIterator) Response() PipelineListResponse {
150686  	return iter.page.Response()
150687  }
150688  
150689  // Value returns the current value or a zero-initialized value if the
150690  // iterator has advanced beyond the end of the collection.
150691  func (iter PipelineListResponseIterator) Value() PipelineResource {
150692  	if !iter.page.NotDone() {
150693  		return PipelineResource{}
150694  	}
150695  	return iter.page.Values()[iter.i]
150696  }
150697  
150698  // Creates a new instance of the PipelineListResponseIterator type.
150699  func NewPipelineListResponseIterator(page PipelineListResponsePage) PipelineListResponseIterator {
150700  	return PipelineListResponseIterator{page: page}
150701  }
150702  
150703  // IsEmpty returns true if the ListResult contains no values.
150704  func (plr PipelineListResponse) IsEmpty() bool {
150705  	return plr.Value == nil || len(*plr.Value) == 0
150706  }
150707  
150708  // hasNextLink returns true if the NextLink is not empty.
150709  func (plr PipelineListResponse) hasNextLink() bool {
150710  	return plr.NextLink != nil && len(*plr.NextLink) != 0
150711  }
150712  
150713  // pipelineListResponsePreparer prepares a request to retrieve the next set of results.
150714  // It returns nil if no more results exist.
150715  func (plr PipelineListResponse) pipelineListResponsePreparer(ctx context.Context) (*http.Request, error) {
150716  	if !plr.hasNextLink() {
150717  		return nil, nil
150718  	}
150719  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
150720  		autorest.AsJSON(),
150721  		autorest.AsGet(),
150722  		autorest.WithBaseURL(to.String(plr.NextLink)))
150723  }
150724  
150725  // PipelineListResponsePage contains a page of PipelineResource values.
150726  type PipelineListResponsePage struct {
150727  	fn  func(context.Context, PipelineListResponse) (PipelineListResponse, error)
150728  	plr PipelineListResponse
150729  }
150730  
150731  // NextWithContext advances to the next page of values.  If there was an error making
150732  // the request the page does not advance and the error is returned.
150733  func (page *PipelineListResponsePage) NextWithContext(ctx context.Context) (err error) {
150734  	if tracing.IsEnabled() {
150735  		ctx = tracing.StartSpan(ctx, fqdn+"/PipelineListResponsePage.NextWithContext")
150736  		defer func() {
150737  			sc := -1
150738  			if page.Response().Response.Response != nil {
150739  				sc = page.Response().Response.Response.StatusCode
150740  			}
150741  			tracing.EndSpan(ctx, sc, err)
150742  		}()
150743  	}
150744  	for {
150745  		next, err := page.fn(ctx, page.plr)
150746  		if err != nil {
150747  			return err
150748  		}
150749  		page.plr = next
150750  		if !next.hasNextLink() || !next.IsEmpty() {
150751  			break
150752  		}
150753  	}
150754  	return nil
150755  }
150756  
150757  // Next advances to the next page of values.  If there was an error making
150758  // the request the page does not advance and the error is returned.
150759  // Deprecated: Use NextWithContext() instead.
150760  func (page *PipelineListResponsePage) Next() error {
150761  	return page.NextWithContext(context.Background())
150762  }
150763  
150764  // NotDone returns true if the page enumeration should be started or is not yet complete.
150765  func (page PipelineListResponsePage) NotDone() bool {
150766  	return !page.plr.IsEmpty()
150767  }
150768  
150769  // Response returns the raw server response from the last page request.
150770  func (page PipelineListResponsePage) Response() PipelineListResponse {
150771  	return page.plr
150772  }
150773  
150774  // Values returns the slice of values for the current page or nil if there are no values.
150775  func (page PipelineListResponsePage) Values() []PipelineResource {
150776  	if page.plr.IsEmpty() {
150777  		return nil
150778  	}
150779  	return *page.plr.Value
150780  }
150781  
150782  // Creates a new instance of the PipelineListResponsePage type.
150783  func NewPipelineListResponsePage(cur PipelineListResponse, getNextPage func(context.Context, PipelineListResponse) (PipelineListResponse, error)) PipelineListResponsePage {
150784  	return PipelineListResponsePage{
150785  		fn:  getNextPage,
150786  		plr: cur,
150787  	}
150788  }
150789  
150790  // PipelineReference pipeline reference type.
150791  type PipelineReference struct {
150792  	// Type - Pipeline reference type.
150793  	Type *string `json:"type,omitempty"`
150794  	// ReferenceName - Reference pipeline name.
150795  	ReferenceName *string `json:"referenceName,omitempty"`
150796  	// Name - Reference name.
150797  	Name *string `json:"name,omitempty"`
150798  }
150799  
150800  // PipelineRenamePipelineFuture an abstraction for monitoring and retrieving the results of a long-running
150801  // operation.
150802  type PipelineRenamePipelineFuture struct {
150803  	azure.FutureAPI
150804  	// Result returns the result of the asynchronous operation.
150805  	// If the operation has not completed it will return an error.
150806  	Result func(PipelineClient) (autorest.Response, error)
150807  }
150808  
150809  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
150810  func (future *PipelineRenamePipelineFuture) UnmarshalJSON(body []byte) error {
150811  	var azFuture azure.Future
150812  	if err := json.Unmarshal(body, &azFuture); err != nil {
150813  		return err
150814  	}
150815  	future.FutureAPI = &azFuture
150816  	future.Result = future.result
150817  	return nil
150818  }
150819  
150820  // result is the default implementation for PipelineRenamePipelineFuture.Result.
150821  func (future *PipelineRenamePipelineFuture) result(client PipelineClient) (ar autorest.Response, err error) {
150822  	var done bool
150823  	done, err = future.DoneWithContext(context.Background(), client)
150824  	if err != nil {
150825  		err = autorest.NewErrorWithError(err, "artifacts.PipelineRenamePipelineFuture", "Result", future.Response(), "Polling failure")
150826  		return
150827  	}
150828  	if !done {
150829  		ar.Response = future.Response()
150830  		err = azure.NewAsyncOpIncompleteError("artifacts.PipelineRenamePipelineFuture")
150831  		return
150832  	}
150833  	ar.Response = future.Response()
150834  	return
150835  }
150836  
150837  // PipelineResource pipeline resource type.
150838  type PipelineResource struct {
150839  	autorest.Response `json:"-"`
150840  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
150841  	AdditionalProperties map[string]interface{} `json:""`
150842  	// Pipeline - Properties of the pipeline.
150843  	*Pipeline `json:"properties,omitempty"`
150844  	// Etag - READ-ONLY; Resource Etag.
150845  	Etag *string `json:"etag,omitempty"`
150846  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
150847  	ID *string `json:"id,omitempty"`
150848  	// Name - READ-ONLY; The name of the resource
150849  	Name *string `json:"name,omitempty"`
150850  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
150851  	Type *string `json:"type,omitempty"`
150852  }
150853  
150854  // MarshalJSON is the custom marshaler for PipelineResource.
150855  func (pr PipelineResource) MarshalJSON() ([]byte, error) {
150856  	objectMap := make(map[string]interface{})
150857  	if pr.Pipeline != nil {
150858  		objectMap["properties"] = pr.Pipeline
150859  	}
150860  	for k, v := range pr.AdditionalProperties {
150861  		objectMap[k] = v
150862  	}
150863  	return json.Marshal(objectMap)
150864  }
150865  
150866  // UnmarshalJSON is the custom unmarshaler for PipelineResource struct.
150867  func (pr *PipelineResource) UnmarshalJSON(body []byte) error {
150868  	var m map[string]*json.RawMessage
150869  	err := json.Unmarshal(body, &m)
150870  	if err != nil {
150871  		return err
150872  	}
150873  	for k, v := range m {
150874  		switch k {
150875  		default:
150876  			if v != nil {
150877  				var additionalProperties interface{}
150878  				err = json.Unmarshal(*v, &additionalProperties)
150879  				if err != nil {
150880  					return err
150881  				}
150882  				if pr.AdditionalProperties == nil {
150883  					pr.AdditionalProperties = make(map[string]interface{})
150884  				}
150885  				pr.AdditionalProperties[k] = additionalProperties
150886  			}
150887  		case "properties":
150888  			if v != nil {
150889  				var pipeline Pipeline
150890  				err = json.Unmarshal(*v, &pipeline)
150891  				if err != nil {
150892  					return err
150893  				}
150894  				pr.Pipeline = &pipeline
150895  			}
150896  		case "etag":
150897  			if v != nil {
150898  				var etag string
150899  				err = json.Unmarshal(*v, &etag)
150900  				if err != nil {
150901  					return err
150902  				}
150903  				pr.Etag = &etag
150904  			}
150905  		case "id":
150906  			if v != nil {
150907  				var ID string
150908  				err = json.Unmarshal(*v, &ID)
150909  				if err != nil {
150910  					return err
150911  				}
150912  				pr.ID = &ID
150913  			}
150914  		case "name":
150915  			if v != nil {
150916  				var name string
150917  				err = json.Unmarshal(*v, &name)
150918  				if err != nil {
150919  					return err
150920  				}
150921  				pr.Name = &name
150922  			}
150923  		case "type":
150924  			if v != nil {
150925  				var typeVar string
150926  				err = json.Unmarshal(*v, &typeVar)
150927  				if err != nil {
150928  					return err
150929  				}
150930  				pr.Type = &typeVar
150931  			}
150932  		}
150933  	}
150934  
150935  	return nil
150936  }
150937  
150938  // PipelineRun information about a pipeline run.
150939  type PipelineRun struct {
150940  	autorest.Response `json:"-"`
150941  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
150942  	AdditionalProperties map[string]interface{} `json:""`
150943  	// RunID - READ-ONLY; Identifier of a run.
150944  	RunID *string `json:"runId,omitempty"`
150945  	// RunGroupID - READ-ONLY; Identifier that correlates all the recovery runs of a pipeline run.
150946  	RunGroupID *string `json:"runGroupId,omitempty"`
150947  	// IsLatest - READ-ONLY; Indicates if the recovered pipeline run is the latest in its group.
150948  	IsLatest *bool `json:"isLatest,omitempty"`
150949  	// PipelineName - READ-ONLY; The pipeline name.
150950  	PipelineName *string `json:"pipelineName,omitempty"`
150951  	// Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run.
150952  	Parameters map[string]*string `json:"parameters"`
150953  	// InvokedBy - READ-ONLY; Entity that started the pipeline run.
150954  	InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"`
150955  	// LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format.
150956  	LastUpdated *date.Time `json:"lastUpdated,omitempty"`
150957  	// RunStart - READ-ONLY; The start time of a pipeline run in ISO8601 format.
150958  	RunStart *date.Time `json:"runStart,omitempty"`
150959  	// RunEnd - READ-ONLY; The end time of a pipeline run in ISO8601 format.
150960  	RunEnd *date.Time `json:"runEnd,omitempty"`
150961  	// DurationInMs - READ-ONLY; The duration of a pipeline run.
150962  	DurationInMs *int32 `json:"durationInMs,omitempty"`
150963  	// Status - READ-ONLY; The status of a pipeline run.
150964  	Status *string `json:"status,omitempty"`
150965  	// Message - READ-ONLY; The message from a pipeline run.
150966  	Message *string `json:"message,omitempty"`
150967  }
150968  
150969  // MarshalJSON is the custom marshaler for PipelineRun.
150970  func (pr PipelineRun) MarshalJSON() ([]byte, error) {
150971  	objectMap := make(map[string]interface{})
150972  	for k, v := range pr.AdditionalProperties {
150973  		objectMap[k] = v
150974  	}
150975  	return json.Marshal(objectMap)
150976  }
150977  
150978  // UnmarshalJSON is the custom unmarshaler for PipelineRun struct.
150979  func (pr *PipelineRun) UnmarshalJSON(body []byte) error {
150980  	var m map[string]*json.RawMessage
150981  	err := json.Unmarshal(body, &m)
150982  	if err != nil {
150983  		return err
150984  	}
150985  	for k, v := range m {
150986  		switch k {
150987  		default:
150988  			if v != nil {
150989  				var additionalProperties interface{}
150990  				err = json.Unmarshal(*v, &additionalProperties)
150991  				if err != nil {
150992  					return err
150993  				}
150994  				if pr.AdditionalProperties == nil {
150995  					pr.AdditionalProperties = make(map[string]interface{})
150996  				}
150997  				pr.AdditionalProperties[k] = additionalProperties
150998  			}
150999  		case "runId":
151000  			if v != nil {
151001  				var runID string
151002  				err = json.Unmarshal(*v, &runID)
151003  				if err != nil {
151004  					return err
151005  				}
151006  				pr.RunID = &runID
151007  			}
151008  		case "runGroupId":
151009  			if v != nil {
151010  				var runGroupID string
151011  				err = json.Unmarshal(*v, &runGroupID)
151012  				if err != nil {
151013  					return err
151014  				}
151015  				pr.RunGroupID = &runGroupID
151016  			}
151017  		case "isLatest":
151018  			if v != nil {
151019  				var isLatest bool
151020  				err = json.Unmarshal(*v, &isLatest)
151021  				if err != nil {
151022  					return err
151023  				}
151024  				pr.IsLatest = &isLatest
151025  			}
151026  		case "pipelineName":
151027  			if v != nil {
151028  				var pipelineName string
151029  				err = json.Unmarshal(*v, &pipelineName)
151030  				if err != nil {
151031  					return err
151032  				}
151033  				pr.PipelineName = &pipelineName
151034  			}
151035  		case "parameters":
151036  			if v != nil {
151037  				var parameters map[string]*string
151038  				err = json.Unmarshal(*v, &parameters)
151039  				if err != nil {
151040  					return err
151041  				}
151042  				pr.Parameters = parameters
151043  			}
151044  		case "invokedBy":
151045  			if v != nil {
151046  				var invokedBy PipelineRunInvokedBy
151047  				err = json.Unmarshal(*v, &invokedBy)
151048  				if err != nil {
151049  					return err
151050  				}
151051  				pr.InvokedBy = &invokedBy
151052  			}
151053  		case "lastUpdated":
151054  			if v != nil {
151055  				var lastUpdated date.Time
151056  				err = json.Unmarshal(*v, &lastUpdated)
151057  				if err != nil {
151058  					return err
151059  				}
151060  				pr.LastUpdated = &lastUpdated
151061  			}
151062  		case "runStart":
151063  			if v != nil {
151064  				var runStart date.Time
151065  				err = json.Unmarshal(*v, &runStart)
151066  				if err != nil {
151067  					return err
151068  				}
151069  				pr.RunStart = &runStart
151070  			}
151071  		case "runEnd":
151072  			if v != nil {
151073  				var runEnd date.Time
151074  				err = json.Unmarshal(*v, &runEnd)
151075  				if err != nil {
151076  					return err
151077  				}
151078  				pr.RunEnd = &runEnd
151079  			}
151080  		case "durationInMs":
151081  			if v != nil {
151082  				var durationInMs int32
151083  				err = json.Unmarshal(*v, &durationInMs)
151084  				if err != nil {
151085  					return err
151086  				}
151087  				pr.DurationInMs = &durationInMs
151088  			}
151089  		case "status":
151090  			if v != nil {
151091  				var status string
151092  				err = json.Unmarshal(*v, &status)
151093  				if err != nil {
151094  					return err
151095  				}
151096  				pr.Status = &status
151097  			}
151098  		case "message":
151099  			if v != nil {
151100  				var message string
151101  				err = json.Unmarshal(*v, &message)
151102  				if err != nil {
151103  					return err
151104  				}
151105  				pr.Message = &message
151106  			}
151107  		}
151108  	}
151109  
151110  	return nil
151111  }
151112  
151113  // PipelineRunInvokedBy provides entity name and id that started the pipeline run.
151114  type PipelineRunInvokedBy struct {
151115  	// Name - READ-ONLY; Name of the entity that started the pipeline run.
151116  	Name *string `json:"name,omitempty"`
151117  	// ID - READ-ONLY; The ID of the entity that started the run.
151118  	ID *string `json:"id,omitempty"`
151119  	// InvokedByType - READ-ONLY; The type of the entity that started the run.
151120  	InvokedByType *string `json:"invokedByType,omitempty"`
151121  }
151122  
151123  // MarshalJSON is the custom marshaler for PipelineRunInvokedBy.
151124  func (prib PipelineRunInvokedBy) MarshalJSON() ([]byte, error) {
151125  	objectMap := make(map[string]interface{})
151126  	return json.Marshal(objectMap)
151127  }
151128  
151129  // PipelineRunsQueryResponse a list pipeline runs.
151130  type PipelineRunsQueryResponse struct {
151131  	autorest.Response `json:"-"`
151132  	// Value - List of pipeline runs.
151133  	Value *[]PipelineRun `json:"value,omitempty"`
151134  	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
151135  	ContinuationToken *string `json:"continuationToken,omitempty"`
151136  }
151137  
151138  // PolybaseSettings polyBase settings.
151139  type PolybaseSettings struct {
151140  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
151141  	AdditionalProperties map[string]interface{} `json:""`
151142  	// RejectType - Reject type. Possible values include: 'Value', 'Percentage'
151143  	RejectType PolybaseSettingsRejectType `json:"rejectType,omitempty"`
151144  	// 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.
151145  	RejectValue interface{} `json:"rejectValue,omitempty"`
151146  	// 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.
151147  	RejectSampleValue interface{} `json:"rejectSampleValue,omitempty"`
151148  	// 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).
151149  	UseTypeDefault interface{} `json:"useTypeDefault,omitempty"`
151150  }
151151  
151152  // MarshalJSON is the custom marshaler for PolybaseSettings.
151153  func (ps PolybaseSettings) MarshalJSON() ([]byte, error) {
151154  	objectMap := make(map[string]interface{})
151155  	if ps.RejectType != "" {
151156  		objectMap["rejectType"] = ps.RejectType
151157  	}
151158  	if ps.RejectValue != nil {
151159  		objectMap["rejectValue"] = ps.RejectValue
151160  	}
151161  	if ps.RejectSampleValue != nil {
151162  		objectMap["rejectSampleValue"] = ps.RejectSampleValue
151163  	}
151164  	if ps.UseTypeDefault != nil {
151165  		objectMap["useTypeDefault"] = ps.UseTypeDefault
151166  	}
151167  	for k, v := range ps.AdditionalProperties {
151168  		objectMap[k] = v
151169  	}
151170  	return json.Marshal(objectMap)
151171  }
151172  
151173  // UnmarshalJSON is the custom unmarshaler for PolybaseSettings struct.
151174  func (ps *PolybaseSettings) UnmarshalJSON(body []byte) error {
151175  	var m map[string]*json.RawMessage
151176  	err := json.Unmarshal(body, &m)
151177  	if err != nil {
151178  		return err
151179  	}
151180  	for k, v := range m {
151181  		switch k {
151182  		default:
151183  			if v != nil {
151184  				var additionalProperties interface{}
151185  				err = json.Unmarshal(*v, &additionalProperties)
151186  				if err != nil {
151187  					return err
151188  				}
151189  				if ps.AdditionalProperties == nil {
151190  					ps.AdditionalProperties = make(map[string]interface{})
151191  				}
151192  				ps.AdditionalProperties[k] = additionalProperties
151193  			}
151194  		case "rejectType":
151195  			if v != nil {
151196  				var rejectType PolybaseSettingsRejectType
151197  				err = json.Unmarshal(*v, &rejectType)
151198  				if err != nil {
151199  					return err
151200  				}
151201  				ps.RejectType = rejectType
151202  			}
151203  		case "rejectValue":
151204  			if v != nil {
151205  				var rejectValue interface{}
151206  				err = json.Unmarshal(*v, &rejectValue)
151207  				if err != nil {
151208  					return err
151209  				}
151210  				ps.RejectValue = rejectValue
151211  			}
151212  		case "rejectSampleValue":
151213  			if v != nil {
151214  				var rejectSampleValue interface{}
151215  				err = json.Unmarshal(*v, &rejectSampleValue)
151216  				if err != nil {
151217  					return err
151218  				}
151219  				ps.RejectSampleValue = rejectSampleValue
151220  			}
151221  		case "useTypeDefault":
151222  			if v != nil {
151223  				var useTypeDefault interface{}
151224  				err = json.Unmarshal(*v, &useTypeDefault)
151225  				if err != nil {
151226  					return err
151227  				}
151228  				ps.UseTypeDefault = useTypeDefault
151229  			}
151230  		}
151231  	}
151232  
151233  	return nil
151234  }
151235  
151236  // PostgreSQLLinkedService linked service for PostgreSQL data source.
151237  type PostgreSQLLinkedService struct {
151238  	// PostgreSQLLinkedServiceTypeProperties - PostgreSQL linked service properties.
151239  	*PostgreSQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
151240  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
151241  	AdditionalProperties map[string]interface{} `json:""`
151242  	// ConnectVia - The integration runtime reference.
151243  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
151244  	// Description - Linked service description.
151245  	Description *string `json:"description,omitempty"`
151246  	// Parameters - Parameters for linked service.
151247  	Parameters map[string]*ParameterSpecification `json:"parameters"`
151248  	// Annotations - List of tags that can be used for describing the linked service.
151249  	Annotations *[]interface{} `json:"annotations,omitempty"`
151250  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
151251  	Type TypeBasicLinkedService `json:"type,omitempty"`
151252  }
151253  
151254  // MarshalJSON is the custom marshaler for PostgreSQLLinkedService.
151255  func (psls PostgreSQLLinkedService) MarshalJSON() ([]byte, error) {
151256  	psls.Type = TypePostgreSQL
151257  	objectMap := make(map[string]interface{})
151258  	if psls.PostgreSQLLinkedServiceTypeProperties != nil {
151259  		objectMap["typeProperties"] = psls.PostgreSQLLinkedServiceTypeProperties
151260  	}
151261  	if psls.ConnectVia != nil {
151262  		objectMap["connectVia"] = psls.ConnectVia
151263  	}
151264  	if psls.Description != nil {
151265  		objectMap["description"] = psls.Description
151266  	}
151267  	if psls.Parameters != nil {
151268  		objectMap["parameters"] = psls.Parameters
151269  	}
151270  	if psls.Annotations != nil {
151271  		objectMap["annotations"] = psls.Annotations
151272  	}
151273  	if psls.Type != "" {
151274  		objectMap["type"] = psls.Type
151275  	}
151276  	for k, v := range psls.AdditionalProperties {
151277  		objectMap[k] = v
151278  	}
151279  	return json.Marshal(objectMap)
151280  }
151281  
151282  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151283  func (psls PostgreSQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
151284  	return nil, false
151285  }
151286  
151287  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151288  func (psls PostgreSQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
151289  	return nil, false
151290  }
151291  
151292  // AsSapTableLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151293  func (psls PostgreSQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
151294  	return nil, false
151295  }
151296  
151297  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151298  func (psls PostgreSQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
151299  	return nil, false
151300  }
151301  
151302  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151303  func (psls PostgreSQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
151304  	return nil, false
151305  }
151306  
151307  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151308  func (psls PostgreSQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
151309  	return nil, false
151310  }
151311  
151312  // AsResponsysLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151313  func (psls PostgreSQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
151314  	return nil, false
151315  }
151316  
151317  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151318  func (psls PostgreSQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
151319  	return nil, false
151320  }
151321  
151322  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151323  func (psls PostgreSQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
151324  	return nil, false
151325  }
151326  
151327  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151328  func (psls PostgreSQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
151329  	return nil, false
151330  }
151331  
151332  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151333  func (psls PostgreSQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
151334  	return nil, false
151335  }
151336  
151337  // AsNetezzaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151338  func (psls PostgreSQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
151339  	return nil, false
151340  }
151341  
151342  // AsVerticaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151343  func (psls PostgreSQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
151344  	return nil, false
151345  }
151346  
151347  // AsZohoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151348  func (psls PostgreSQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
151349  	return nil, false
151350  }
151351  
151352  // AsXeroLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151353  func (psls PostgreSQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
151354  	return nil, false
151355  }
151356  
151357  // AsSquareLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151358  func (psls PostgreSQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
151359  	return nil, false
151360  }
151361  
151362  // AsSparkLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151363  func (psls PostgreSQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
151364  	return nil, false
151365  }
151366  
151367  // AsShopifyLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151368  func (psls PostgreSQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
151369  	return nil, false
151370  }
151371  
151372  // AsServiceNowLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151373  func (psls PostgreSQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
151374  	return nil, false
151375  }
151376  
151377  // AsQuickBooksLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151378  func (psls PostgreSQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
151379  	return nil, false
151380  }
151381  
151382  // AsPrestoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151383  func (psls PostgreSQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
151384  	return nil, false
151385  }
151386  
151387  // AsPhoenixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151388  func (psls PostgreSQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
151389  	return nil, false
151390  }
151391  
151392  // AsPaypalLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151393  func (psls PostgreSQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
151394  	return nil, false
151395  }
151396  
151397  // AsMarketoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151398  func (psls PostgreSQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
151399  	return nil, false
151400  }
151401  
151402  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151403  func (psls PostgreSQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
151404  	return nil, false
151405  }
151406  
151407  // AsMariaDBLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151408  func (psls PostgreSQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
151409  	return nil, false
151410  }
151411  
151412  // AsMagentoLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151413  func (psls PostgreSQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
151414  	return nil, false
151415  }
151416  
151417  // AsJiraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151418  func (psls PostgreSQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
151419  	return nil, false
151420  }
151421  
151422  // AsImpalaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151423  func (psls PostgreSQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
151424  	return nil, false
151425  }
151426  
151427  // AsHubspotLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151428  func (psls PostgreSQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
151429  	return nil, false
151430  }
151431  
151432  // AsHiveLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151433  func (psls PostgreSQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
151434  	return nil, false
151435  }
151436  
151437  // AsHBaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151438  func (psls PostgreSQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
151439  	return nil, false
151440  }
151441  
151442  // AsGreenplumLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151443  func (psls PostgreSQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
151444  	return nil, false
151445  }
151446  
151447  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151448  func (psls PostgreSQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
151449  	return nil, false
151450  }
151451  
151452  // AsEloquaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151453  func (psls PostgreSQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
151454  	return nil, false
151455  }
151456  
151457  // AsDrillLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151458  func (psls PostgreSQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
151459  	return nil, false
151460  }
151461  
151462  // AsCouchbaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151463  func (psls PostgreSQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
151464  	return nil, false
151465  }
151466  
151467  // AsConcurLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151468  func (psls PostgreSQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
151469  	return nil, false
151470  }
151471  
151472  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151473  func (psls PostgreSQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
151474  	return nil, false
151475  }
151476  
151477  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151478  func (psls PostgreSQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
151479  	return nil, false
151480  }
151481  
151482  // AsSapHanaLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151483  func (psls PostgreSQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
151484  	return nil, false
151485  }
151486  
151487  // AsSapBWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151488  func (psls PostgreSQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
151489  	return nil, false
151490  }
151491  
151492  // AsSftpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151493  func (psls PostgreSQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
151494  	return nil, false
151495  }
151496  
151497  // AsFtpServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151498  func (psls PostgreSQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
151499  	return nil, false
151500  }
151501  
151502  // AsHTTPLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151503  func (psls PostgreSQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
151504  	return nil, false
151505  }
151506  
151507  // AsAzureSearchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151508  func (psls PostgreSQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
151509  	return nil, false
151510  }
151511  
151512  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151513  func (psls PostgreSQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
151514  	return nil, false
151515  }
151516  
151517  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151518  func (psls PostgreSQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
151519  	return nil, false
151520  }
151521  
151522  // AsAmazonS3LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151523  func (psls PostgreSQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
151524  	return nil, false
151525  }
151526  
151527  // AsRestServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151528  func (psls PostgreSQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
151529  	return nil, false
151530  }
151531  
151532  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151533  func (psls PostgreSQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
151534  	return nil, false
151535  }
151536  
151537  // AsSapEccLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151538  func (psls PostgreSQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
151539  	return nil, false
151540  }
151541  
151542  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151543  func (psls PostgreSQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
151544  	return nil, false
151545  }
151546  
151547  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151548  func (psls PostgreSQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
151549  	return nil, false
151550  }
151551  
151552  // AsSalesforceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151553  func (psls PostgreSQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
151554  	return nil, false
151555  }
151556  
151557  // AsOffice365LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151558  func (psls PostgreSQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
151559  	return nil, false
151560  }
151561  
151562  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151563  func (psls PostgreSQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
151564  	return nil, false
151565  }
151566  
151567  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151568  func (psls PostgreSQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
151569  	return nil, false
151570  }
151571  
151572  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151573  func (psls PostgreSQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
151574  	return nil, false
151575  }
151576  
151577  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151578  func (psls PostgreSQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
151579  	return nil, false
151580  }
151581  
151582  // AsMongoDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151583  func (psls PostgreSQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
151584  	return nil, false
151585  }
151586  
151587  // AsCassandraLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151588  func (psls PostgreSQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
151589  	return nil, false
151590  }
151591  
151592  // AsWebLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151593  func (psls PostgreSQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
151594  	return nil, false
151595  }
151596  
151597  // AsODataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151598  func (psls PostgreSQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
151599  	return nil, false
151600  }
151601  
151602  // AsHdfsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151603  func (psls PostgreSQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
151604  	return nil, false
151605  }
151606  
151607  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151608  func (psls PostgreSQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
151609  	return nil, false
151610  }
151611  
151612  // AsInformixLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151613  func (psls PostgreSQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
151614  	return nil, false
151615  }
151616  
151617  // AsOdbcLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151618  func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
151619  	return nil, false
151620  }
151621  
151622  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151623  func (psls PostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
151624  	return nil, false
151625  }
151626  
151627  // AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151628  func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
151629  	return nil, false
151630  }
151631  
151632  // AsTeradataLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151633  func (psls PostgreSQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
151634  	return nil, false
151635  }
151636  
151637  // AsDb2LinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151638  func (psls PostgreSQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
151639  	return nil, false
151640  }
151641  
151642  // AsSybaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151643  func (psls PostgreSQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
151644  	return nil, false
151645  }
151646  
151647  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151648  func (psls PostgreSQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
151649  	return &psls, true
151650  }
151651  
151652  // AsMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151653  func (psls PostgreSQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
151654  	return nil, false
151655  }
151656  
151657  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151658  func (psls PostgreSQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
151659  	return nil, false
151660  }
151661  
151662  // AsOracleLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151663  func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
151664  	return nil, false
151665  }
151666  
151667  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151668  func (psls PostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
151669  	return nil, false
151670  }
151671  
151672  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151673  func (psls PostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
151674  	return nil, false
151675  }
151676  
151677  // AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151678  func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
151679  	return nil, false
151680  }
151681  
151682  // AsHDInsightLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151683  func (psls PostgreSQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
151684  	return nil, false
151685  }
151686  
151687  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151688  func (psls PostgreSQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
151689  	return nil, false
151690  }
151691  
151692  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151693  func (psls PostgreSQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
151694  	return nil, false
151695  }
151696  
151697  // AsDynamicsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151698  func (psls PostgreSQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
151699  	return nil, false
151700  }
151701  
151702  // AsCosmosDbLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151703  func (psls PostgreSQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
151704  	return nil, false
151705  }
151706  
151707  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151708  func (psls PostgreSQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
151709  	return nil, false
151710  }
151711  
151712  // AsAzureBatchLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151713  func (psls PostgreSQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
151714  	return nil, false
151715  }
151716  
151717  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151718  func (psls PostgreSQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
151719  	return nil, false
151720  }
151721  
151722  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151723  func (psls PostgreSQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
151724  	return nil, false
151725  }
151726  
151727  // AsSQLServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151728  func (psls PostgreSQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
151729  	return nil, false
151730  }
151731  
151732  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151733  func (psls PostgreSQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
151734  	return nil, false
151735  }
151736  
151737  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151738  func (psls PostgreSQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
151739  	return nil, false
151740  }
151741  
151742  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151743  func (psls PostgreSQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
151744  	return nil, false
151745  }
151746  
151747  // AsAzureStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151748  func (psls PostgreSQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
151749  	return nil, false
151750  }
151751  
151752  // AsLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151753  func (psls PostgreSQLLinkedService) AsLinkedService() (*LinkedService, bool) {
151754  	return nil, false
151755  }
151756  
151757  // AsBasicLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService.
151758  func (psls PostgreSQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
151759  	return &psls, true
151760  }
151761  
151762  // UnmarshalJSON is the custom unmarshaler for PostgreSQLLinkedService struct.
151763  func (psls *PostgreSQLLinkedService) UnmarshalJSON(body []byte) error {
151764  	var m map[string]*json.RawMessage
151765  	err := json.Unmarshal(body, &m)
151766  	if err != nil {
151767  		return err
151768  	}
151769  	for k, v := range m {
151770  		switch k {
151771  		case "typeProperties":
151772  			if v != nil {
151773  				var postgreSQLLinkedServiceTypeProperties PostgreSQLLinkedServiceTypeProperties
151774  				err = json.Unmarshal(*v, &postgreSQLLinkedServiceTypeProperties)
151775  				if err != nil {
151776  					return err
151777  				}
151778  				psls.PostgreSQLLinkedServiceTypeProperties = &postgreSQLLinkedServiceTypeProperties
151779  			}
151780  		default:
151781  			if v != nil {
151782  				var additionalProperties interface{}
151783  				err = json.Unmarshal(*v, &additionalProperties)
151784  				if err != nil {
151785  					return err
151786  				}
151787  				if psls.AdditionalProperties == nil {
151788  					psls.AdditionalProperties = make(map[string]interface{})
151789  				}
151790  				psls.AdditionalProperties[k] = additionalProperties
151791  			}
151792  		case "connectVia":
151793  			if v != nil {
151794  				var connectVia IntegrationRuntimeReference
151795  				err = json.Unmarshal(*v, &connectVia)
151796  				if err != nil {
151797  					return err
151798  				}
151799  				psls.ConnectVia = &connectVia
151800  			}
151801  		case "description":
151802  			if v != nil {
151803  				var description string
151804  				err = json.Unmarshal(*v, &description)
151805  				if err != nil {
151806  					return err
151807  				}
151808  				psls.Description = &description
151809  			}
151810  		case "parameters":
151811  			if v != nil {
151812  				var parameters map[string]*ParameterSpecification
151813  				err = json.Unmarshal(*v, &parameters)
151814  				if err != nil {
151815  					return err
151816  				}
151817  				psls.Parameters = parameters
151818  			}
151819  		case "annotations":
151820  			if v != nil {
151821  				var annotations []interface{}
151822  				err = json.Unmarshal(*v, &annotations)
151823  				if err != nil {
151824  					return err
151825  				}
151826  				psls.Annotations = &annotations
151827  			}
151828  		case "type":
151829  			if v != nil {
151830  				var typeVar TypeBasicLinkedService
151831  				err = json.Unmarshal(*v, &typeVar)
151832  				if err != nil {
151833  					return err
151834  				}
151835  				psls.Type = typeVar
151836  			}
151837  		}
151838  	}
151839  
151840  	return nil
151841  }
151842  
151843  // PostgreSQLLinkedServiceTypeProperties postgreSQL linked service properties.
151844  type PostgreSQLLinkedServiceTypeProperties struct {
151845  	// ConnectionString - The connection string.
151846  	ConnectionString interface{} `json:"connectionString,omitempty"`
151847  	// Password - The Azure key vault secret reference of password in connection string.
151848  	Password *AzureKeyVaultSecretReference `json:"password,omitempty"`
151849  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
151850  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
151851  }
151852  
151853  // PostgreSQLSource a copy activity source for PostgreSQL databases.
151854  type PostgreSQLSource struct {
151855  	// Query - Database query. Type: string (or Expression with resultType string).
151856  	Query interface{} `json:"query,omitempty"`
151857  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
151858  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
151859  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
151860  	AdditionalProperties map[string]interface{} `json:""`
151861  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
151862  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
151863  	// 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])).
151864  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
151865  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
151866  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
151867  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
151868  	Type TypeBasicCopySource `json:"type,omitempty"`
151869  }
151870  
151871  // MarshalJSON is the custom marshaler for PostgreSQLSource.
151872  func (pss PostgreSQLSource) MarshalJSON() ([]byte, error) {
151873  	pss.Type = TypePostgreSQLSource
151874  	objectMap := make(map[string]interface{})
151875  	if pss.Query != nil {
151876  		objectMap["query"] = pss.Query
151877  	}
151878  	if pss.QueryTimeout != nil {
151879  		objectMap["queryTimeout"] = pss.QueryTimeout
151880  	}
151881  	if pss.SourceRetryCount != nil {
151882  		objectMap["sourceRetryCount"] = pss.SourceRetryCount
151883  	}
151884  	if pss.SourceRetryWait != nil {
151885  		objectMap["sourceRetryWait"] = pss.SourceRetryWait
151886  	}
151887  	if pss.MaxConcurrentConnections != nil {
151888  		objectMap["maxConcurrentConnections"] = pss.MaxConcurrentConnections
151889  	}
151890  	if pss.Type != "" {
151891  		objectMap["type"] = pss.Type
151892  	}
151893  	for k, v := range pss.AdditionalProperties {
151894  		objectMap[k] = v
151895  	}
151896  	return json.Marshal(objectMap)
151897  }
151898  
151899  // AsHTTPSource is the BasicCopySource implementation for PostgreSQLSource.
151900  func (pss PostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) {
151901  	return nil, false
151902  }
151903  
151904  // AsAzureBlobFSSource is the BasicCopySource implementation for PostgreSQLSource.
151905  func (pss PostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
151906  	return nil, false
151907  }
151908  
151909  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for PostgreSQLSource.
151910  func (pss PostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
151911  	return nil, false
151912  }
151913  
151914  // AsOffice365Source is the BasicCopySource implementation for PostgreSQLSource.
151915  func (pss PostgreSQLSource) AsOffice365Source() (*Office365Source, bool) {
151916  	return nil, false
151917  }
151918  
151919  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PostgreSQLSource.
151920  func (pss PostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
151921  	return nil, false
151922  }
151923  
151924  // AsMongoDbV2Source is the BasicCopySource implementation for PostgreSQLSource.
151925  func (pss PostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
151926  	return nil, false
151927  }
151928  
151929  // AsMongoDbSource is the BasicCopySource implementation for PostgreSQLSource.
151930  func (pss PostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
151931  	return nil, false
151932  }
151933  
151934  // AsWebSource is the BasicCopySource implementation for PostgreSQLSource.
151935  func (pss PostgreSQLSource) AsWebSource() (*WebSource, bool) {
151936  	return nil, false
151937  }
151938  
151939  // AsOracleSource is the BasicCopySource implementation for PostgreSQLSource.
151940  func (pss PostgreSQLSource) AsOracleSource() (*OracleSource, bool) {
151941  	return nil, false
151942  }
151943  
151944  // AsAzureDataExplorerSource is the BasicCopySource implementation for PostgreSQLSource.
151945  func (pss PostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
151946  	return nil, false
151947  }
151948  
151949  // AsHdfsSource is the BasicCopySource implementation for PostgreSQLSource.
151950  func (pss PostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) {
151951  	return nil, false
151952  }
151953  
151954  // AsFileSystemSource is the BasicCopySource implementation for PostgreSQLSource.
151955  func (pss PostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
151956  	return nil, false
151957  }
151958  
151959  // AsRestSource is the BasicCopySource implementation for PostgreSQLSource.
151960  func (pss PostgreSQLSource) AsRestSource() (*RestSource, bool) {
151961  	return nil, false
151962  }
151963  
151964  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource.
151965  func (pss PostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
151966  	return nil, false
151967  }
151968  
151969  // AsODataSource is the BasicCopySource implementation for PostgreSQLSource.
151970  func (pss PostgreSQLSource) AsODataSource() (*ODataSource, bool) {
151971  	return nil, false
151972  }
151973  
151974  // AsMicrosoftAccessSource is the BasicCopySource implementation for PostgreSQLSource.
151975  func (pss PostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
151976  	return nil, false
151977  }
151978  
151979  // AsRelationalSource is the BasicCopySource implementation for PostgreSQLSource.
151980  func (pss PostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) {
151981  	return nil, false
151982  }
151983  
151984  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PostgreSQLSource.
151985  func (pss PostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
151986  	return nil, false
151987  }
151988  
151989  // AsDynamicsCrmSource is the BasicCopySource implementation for PostgreSQLSource.
151990  func (pss PostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
151991  	return nil, false
151992  }
151993  
151994  // AsDynamicsSource is the BasicCopySource implementation for PostgreSQLSource.
151995  func (pss PostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
151996  	return nil, false
151997  }
151998  
151999  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for PostgreSQLSource.
152000  func (pss PostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
152001  	return nil, false
152002  }
152003  
152004  // AsDocumentDbCollectionSource is the BasicCopySource implementation for PostgreSQLSource.
152005  func (pss PostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
152006  	return nil, false
152007  }
152008  
152009  // AsBlobSource is the BasicCopySource implementation for PostgreSQLSource.
152010  func (pss PostgreSQLSource) AsBlobSource() (*BlobSource, bool) {
152011  	return nil, false
152012  }
152013  
152014  // AsAmazonRedshiftSource is the BasicCopySource implementation for PostgreSQLSource.
152015  func (pss PostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
152016  	return nil, false
152017  }
152018  
152019  // AsGoogleAdWordsSource is the BasicCopySource implementation for PostgreSQLSource.
152020  func (pss PostgreSQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
152021  	return nil, false
152022  }
152023  
152024  // AsOracleServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource.
152025  func (pss PostgreSQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
152026  	return nil, false
152027  }
152028  
152029  // AsDynamicsAXSource is the BasicCopySource implementation for PostgreSQLSource.
152030  func (pss PostgreSQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
152031  	return nil, false
152032  }
152033  
152034  // AsResponsysSource is the BasicCopySource implementation for PostgreSQLSource.
152035  func (pss PostgreSQLSource) AsResponsysSource() (*ResponsysSource, bool) {
152036  	return nil, false
152037  }
152038  
152039  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PostgreSQLSource.
152040  func (pss PostgreSQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
152041  	return nil, false
152042  }
152043  
152044  // AsVerticaSource is the BasicCopySource implementation for PostgreSQLSource.
152045  func (pss PostgreSQLSource) AsVerticaSource() (*VerticaSource, bool) {
152046  	return nil, false
152047  }
152048  
152049  // AsNetezzaSource is the BasicCopySource implementation for PostgreSQLSource.
152050  func (pss PostgreSQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
152051  	return nil, false
152052  }
152053  
152054  // AsZohoSource is the BasicCopySource implementation for PostgreSQLSource.
152055  func (pss PostgreSQLSource) AsZohoSource() (*ZohoSource, bool) {
152056  	return nil, false
152057  }
152058  
152059  // AsXeroSource is the BasicCopySource implementation for PostgreSQLSource.
152060  func (pss PostgreSQLSource) AsXeroSource() (*XeroSource, bool) {
152061  	return nil, false
152062  }
152063  
152064  // AsSquareSource is the BasicCopySource implementation for PostgreSQLSource.
152065  func (pss PostgreSQLSource) AsSquareSource() (*SquareSource, bool) {
152066  	return nil, false
152067  }
152068  
152069  // AsSparkSource is the BasicCopySource implementation for PostgreSQLSource.
152070  func (pss PostgreSQLSource) AsSparkSource() (*SparkSource, bool) {
152071  	return nil, false
152072  }
152073  
152074  // AsShopifySource is the BasicCopySource implementation for PostgreSQLSource.
152075  func (pss PostgreSQLSource) AsShopifySource() (*ShopifySource, bool) {
152076  	return nil, false
152077  }
152078  
152079  // AsServiceNowSource is the BasicCopySource implementation for PostgreSQLSource.
152080  func (pss PostgreSQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
152081  	return nil, false
152082  }
152083  
152084  // AsQuickBooksSource is the BasicCopySource implementation for PostgreSQLSource.
152085  func (pss PostgreSQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
152086  	return nil, false
152087  }
152088  
152089  // AsPrestoSource is the BasicCopySource implementation for PostgreSQLSource.
152090  func (pss PostgreSQLSource) AsPrestoSource() (*PrestoSource, bool) {
152091  	return nil, false
152092  }
152093  
152094  // AsPhoenixSource is the BasicCopySource implementation for PostgreSQLSource.
152095  func (pss PostgreSQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
152096  	return nil, false
152097  }
152098  
152099  // AsPaypalSource is the BasicCopySource implementation for PostgreSQLSource.
152100  func (pss PostgreSQLSource) AsPaypalSource() (*PaypalSource, bool) {
152101  	return nil, false
152102  }
152103  
152104  // AsMarketoSource is the BasicCopySource implementation for PostgreSQLSource.
152105  func (pss PostgreSQLSource) AsMarketoSource() (*MarketoSource, bool) {
152106  	return nil, false
152107  }
152108  
152109  // AsAzureMariaDBSource is the BasicCopySource implementation for PostgreSQLSource.
152110  func (pss PostgreSQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
152111  	return nil, false
152112  }
152113  
152114  // AsMariaDBSource is the BasicCopySource implementation for PostgreSQLSource.
152115  func (pss PostgreSQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
152116  	return nil, false
152117  }
152118  
152119  // AsMagentoSource is the BasicCopySource implementation for PostgreSQLSource.
152120  func (pss PostgreSQLSource) AsMagentoSource() (*MagentoSource, bool) {
152121  	return nil, false
152122  }
152123  
152124  // AsJiraSource is the BasicCopySource implementation for PostgreSQLSource.
152125  func (pss PostgreSQLSource) AsJiraSource() (*JiraSource, bool) {
152126  	return nil, false
152127  }
152128  
152129  // AsImpalaSource is the BasicCopySource implementation for PostgreSQLSource.
152130  func (pss PostgreSQLSource) AsImpalaSource() (*ImpalaSource, bool) {
152131  	return nil, false
152132  }
152133  
152134  // AsHubspotSource is the BasicCopySource implementation for PostgreSQLSource.
152135  func (pss PostgreSQLSource) AsHubspotSource() (*HubspotSource, bool) {
152136  	return nil, false
152137  }
152138  
152139  // AsHiveSource is the BasicCopySource implementation for PostgreSQLSource.
152140  func (pss PostgreSQLSource) AsHiveSource() (*HiveSource, bool) {
152141  	return nil, false
152142  }
152143  
152144  // AsHBaseSource is the BasicCopySource implementation for PostgreSQLSource.
152145  func (pss PostgreSQLSource) AsHBaseSource() (*HBaseSource, bool) {
152146  	return nil, false
152147  }
152148  
152149  // AsGreenplumSource is the BasicCopySource implementation for PostgreSQLSource.
152150  func (pss PostgreSQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
152151  	return nil, false
152152  }
152153  
152154  // AsGoogleBigQuerySource is the BasicCopySource implementation for PostgreSQLSource.
152155  func (pss PostgreSQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
152156  	return nil, false
152157  }
152158  
152159  // AsEloquaSource is the BasicCopySource implementation for PostgreSQLSource.
152160  func (pss PostgreSQLSource) AsEloquaSource() (*EloquaSource, bool) {
152161  	return nil, false
152162  }
152163  
152164  // AsDrillSource is the BasicCopySource implementation for PostgreSQLSource.
152165  func (pss PostgreSQLSource) AsDrillSource() (*DrillSource, bool) {
152166  	return nil, false
152167  }
152168  
152169  // AsCouchbaseSource is the BasicCopySource implementation for PostgreSQLSource.
152170  func (pss PostgreSQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
152171  	return nil, false
152172  }
152173  
152174  // AsConcurSource is the BasicCopySource implementation for PostgreSQLSource.
152175  func (pss PostgreSQLSource) AsConcurSource() (*ConcurSource, bool) {
152176  	return nil, false
152177  }
152178  
152179  // AsAzurePostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource.
152180  func (pss PostgreSQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
152181  	return nil, false
152182  }
152183  
152184  // AsAmazonMWSSource is the BasicCopySource implementation for PostgreSQLSource.
152185  func (pss PostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
152186  	return nil, false
152187  }
152188  
152189  // AsCassandraSource is the BasicCopySource implementation for PostgreSQLSource.
152190  func (pss PostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) {
152191  	return nil, false
152192  }
152193  
152194  // AsTeradataSource is the BasicCopySource implementation for PostgreSQLSource.
152195  func (pss PostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) {
152196  	return nil, false
152197  }
152198  
152199  // AsAzureMySQLSource is the BasicCopySource implementation for PostgreSQLSource.
152200  func (pss PostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
152201  	return nil, false
152202  }
152203  
152204  // AsSQLDWSource is the BasicCopySource implementation for PostgreSQLSource.
152205  func (pss PostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
152206  	return nil, false
152207  }
152208  
152209  // AsSQLMISource is the BasicCopySource implementation for PostgreSQLSource.
152210  func (pss PostgreSQLSource) AsSQLMISource() (*SQLMISource, bool) {
152211  	return nil, false
152212  }
152213  
152214  // AsAzureSQLSource is the BasicCopySource implementation for PostgreSQLSource.
152215  func (pss PostgreSQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
152216  	return nil, false
152217  }
152218  
152219  // AsSQLServerSource is the BasicCopySource implementation for PostgreSQLSource.
152220  func (pss PostgreSQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
152221  	return nil, false
152222  }
152223  
152224  // AsSQLSource is the BasicCopySource implementation for PostgreSQLSource.
152225  func (pss PostgreSQLSource) AsSQLSource() (*SQLSource, bool) {
152226  	return nil, false
152227  }
152228  
152229  // AsSapTableSource is the BasicCopySource implementation for PostgreSQLSource.
152230  func (pss PostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) {
152231  	return nil, false
152232  }
152233  
152234  // AsSapOpenHubSource is the BasicCopySource implementation for PostgreSQLSource.
152235  func (pss PostgreSQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
152236  	return nil, false
152237  }
152238  
152239  // AsSapHanaSource is the BasicCopySource implementation for PostgreSQLSource.
152240  func (pss PostgreSQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
152241  	return nil, false
152242  }
152243  
152244  // AsSapEccSource is the BasicCopySource implementation for PostgreSQLSource.
152245  func (pss PostgreSQLSource) AsSapEccSource() (*SapEccSource, bool) {
152246  	return nil, false
152247  }
152248  
152249  // AsSapCloudForCustomerSource is the BasicCopySource implementation for PostgreSQLSource.
152250  func (pss PostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
152251  	return nil, false
152252  }
152253  
152254  // AsSalesforceSource is the BasicCopySource implementation for PostgreSQLSource.
152255  func (pss PostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
152256  	return nil, false
152257  }
152258  
152259  // AsSapBwSource is the BasicCopySource implementation for PostgreSQLSource.
152260  func (pss PostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) {
152261  	return nil, false
152262  }
152263  
152264  // AsSybaseSource is the BasicCopySource implementation for PostgreSQLSource.
152265  func (pss PostgreSQLSource) AsSybaseSource() (*SybaseSource, bool) {
152266  	return nil, false
152267  }
152268  
152269  // AsPostgreSQLSource is the BasicCopySource implementation for PostgreSQLSource.
152270  func (pss PostgreSQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
152271  	return &pss, true
152272  }
152273  
152274  // AsMySQLSource is the BasicCopySource implementation for PostgreSQLSource.
152275  func (pss PostgreSQLSource) AsMySQLSource() (*MySQLSource, bool) {
152276  	return nil, false
152277  }
152278  
152279  // AsOdbcSource is the BasicCopySource implementation for PostgreSQLSource.
152280  func (pss PostgreSQLSource) AsOdbcSource() (*OdbcSource, bool) {
152281  	return nil, false
152282  }
152283  
152284  // AsDb2Source is the BasicCopySource implementation for PostgreSQLSource.
152285  func (pss PostgreSQLSource) AsDb2Source() (*Db2Source, bool) {
152286  	return nil, false
152287  }
152288  
152289  // AsInformixSource is the BasicCopySource implementation for PostgreSQLSource.
152290  func (pss PostgreSQLSource) AsInformixSource() (*InformixSource, bool) {
152291  	return nil, false
152292  }
152293  
152294  // AsAzureTableSource is the BasicCopySource implementation for PostgreSQLSource.
152295  func (pss PostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
152296  	return nil, false
152297  }
152298  
152299  // AsTabularSource is the BasicCopySource implementation for PostgreSQLSource.
152300  func (pss PostgreSQLSource) AsTabularSource() (*TabularSource, bool) {
152301  	return nil, false
152302  }
152303  
152304  // AsBasicTabularSource is the BasicCopySource implementation for PostgreSQLSource.
152305  func (pss PostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
152306  	return &pss, true
152307  }
152308  
152309  // AsBinarySource is the BasicCopySource implementation for PostgreSQLSource.
152310  func (pss PostgreSQLSource) AsBinarySource() (*BinarySource, bool) {
152311  	return nil, false
152312  }
152313  
152314  // AsOrcSource is the BasicCopySource implementation for PostgreSQLSource.
152315  func (pss PostgreSQLSource) AsOrcSource() (*OrcSource, bool) {
152316  	return nil, false
152317  }
152318  
152319  // AsJSONSource is the BasicCopySource implementation for PostgreSQLSource.
152320  func (pss PostgreSQLSource) AsJSONSource() (*JSONSource, bool) {
152321  	return nil, false
152322  }
152323  
152324  // AsDelimitedTextSource is the BasicCopySource implementation for PostgreSQLSource.
152325  func (pss PostgreSQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
152326  	return nil, false
152327  }
152328  
152329  // AsParquetSource is the BasicCopySource implementation for PostgreSQLSource.
152330  func (pss PostgreSQLSource) AsParquetSource() (*ParquetSource, bool) {
152331  	return nil, false
152332  }
152333  
152334  // AsAvroSource is the BasicCopySource implementation for PostgreSQLSource.
152335  func (pss PostgreSQLSource) AsAvroSource() (*AvroSource, bool) {
152336  	return nil, false
152337  }
152338  
152339  // AsCopySource is the BasicCopySource implementation for PostgreSQLSource.
152340  func (pss PostgreSQLSource) AsCopySource() (*CopySource, bool) {
152341  	return nil, false
152342  }
152343  
152344  // AsBasicCopySource is the BasicCopySource implementation for PostgreSQLSource.
152345  func (pss PostgreSQLSource) AsBasicCopySource() (BasicCopySource, bool) {
152346  	return &pss, true
152347  }
152348  
152349  // UnmarshalJSON is the custom unmarshaler for PostgreSQLSource struct.
152350  func (pss *PostgreSQLSource) UnmarshalJSON(body []byte) error {
152351  	var m map[string]*json.RawMessage
152352  	err := json.Unmarshal(body, &m)
152353  	if err != nil {
152354  		return err
152355  	}
152356  	for k, v := range m {
152357  		switch k {
152358  		case "query":
152359  			if v != nil {
152360  				var query interface{}
152361  				err = json.Unmarshal(*v, &query)
152362  				if err != nil {
152363  					return err
152364  				}
152365  				pss.Query = query
152366  			}
152367  		case "queryTimeout":
152368  			if v != nil {
152369  				var queryTimeout interface{}
152370  				err = json.Unmarshal(*v, &queryTimeout)
152371  				if err != nil {
152372  					return err
152373  				}
152374  				pss.QueryTimeout = queryTimeout
152375  			}
152376  		default:
152377  			if v != nil {
152378  				var additionalProperties interface{}
152379  				err = json.Unmarshal(*v, &additionalProperties)
152380  				if err != nil {
152381  					return err
152382  				}
152383  				if pss.AdditionalProperties == nil {
152384  					pss.AdditionalProperties = make(map[string]interface{})
152385  				}
152386  				pss.AdditionalProperties[k] = additionalProperties
152387  			}
152388  		case "sourceRetryCount":
152389  			if v != nil {
152390  				var sourceRetryCount interface{}
152391  				err = json.Unmarshal(*v, &sourceRetryCount)
152392  				if err != nil {
152393  					return err
152394  				}
152395  				pss.SourceRetryCount = sourceRetryCount
152396  			}
152397  		case "sourceRetryWait":
152398  			if v != nil {
152399  				var sourceRetryWait interface{}
152400  				err = json.Unmarshal(*v, &sourceRetryWait)
152401  				if err != nil {
152402  					return err
152403  				}
152404  				pss.SourceRetryWait = sourceRetryWait
152405  			}
152406  		case "maxConcurrentConnections":
152407  			if v != nil {
152408  				var maxConcurrentConnections interface{}
152409  				err = json.Unmarshal(*v, &maxConcurrentConnections)
152410  				if err != nil {
152411  					return err
152412  				}
152413  				pss.MaxConcurrentConnections = maxConcurrentConnections
152414  			}
152415  		case "type":
152416  			if v != nil {
152417  				var typeVar TypeBasicCopySource
152418  				err = json.Unmarshal(*v, &typeVar)
152419  				if err != nil {
152420  					return err
152421  				}
152422  				pss.Type = typeVar
152423  			}
152424  		}
152425  	}
152426  
152427  	return nil
152428  }
152429  
152430  // PostgreSQLTableDataset the PostgreSQL table dataset.
152431  type PostgreSQLTableDataset struct {
152432  	// PostgreSQLTableDatasetTypeProperties - PostgreSQL table dataset properties.
152433  	*PostgreSQLTableDatasetTypeProperties `json:"typeProperties,omitempty"`
152434  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
152435  	AdditionalProperties map[string]interface{} `json:""`
152436  	// Description - Dataset description.
152437  	Description *string `json:"description,omitempty"`
152438  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
152439  	Structure interface{} `json:"structure,omitempty"`
152440  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
152441  	Schema interface{} `json:"schema,omitempty"`
152442  	// LinkedServiceName - Linked service reference.
152443  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
152444  	// Parameters - Parameters for dataset.
152445  	Parameters map[string]*ParameterSpecification `json:"parameters"`
152446  	// Annotations - List of tags that can be used for describing the Dataset.
152447  	Annotations *[]interface{} `json:"annotations,omitempty"`
152448  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
152449  	Folder *DatasetFolder `json:"folder,omitempty"`
152450  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
152451  	Type TypeBasicDataset `json:"type,omitempty"`
152452  }
152453  
152454  // MarshalJSON is the custom marshaler for PostgreSQLTableDataset.
152455  func (pstd PostgreSQLTableDataset) MarshalJSON() ([]byte, error) {
152456  	pstd.Type = TypePostgreSQLTable
152457  	objectMap := make(map[string]interface{})
152458  	if pstd.PostgreSQLTableDatasetTypeProperties != nil {
152459  		objectMap["typeProperties"] = pstd.PostgreSQLTableDatasetTypeProperties
152460  	}
152461  	if pstd.Description != nil {
152462  		objectMap["description"] = pstd.Description
152463  	}
152464  	if pstd.Structure != nil {
152465  		objectMap["structure"] = pstd.Structure
152466  	}
152467  	if pstd.Schema != nil {
152468  		objectMap["schema"] = pstd.Schema
152469  	}
152470  	if pstd.LinkedServiceName != nil {
152471  		objectMap["linkedServiceName"] = pstd.LinkedServiceName
152472  	}
152473  	if pstd.Parameters != nil {
152474  		objectMap["parameters"] = pstd.Parameters
152475  	}
152476  	if pstd.Annotations != nil {
152477  		objectMap["annotations"] = pstd.Annotations
152478  	}
152479  	if pstd.Folder != nil {
152480  		objectMap["folder"] = pstd.Folder
152481  	}
152482  	if pstd.Type != "" {
152483  		objectMap["type"] = pstd.Type
152484  	}
152485  	for k, v := range pstd.AdditionalProperties {
152486  		objectMap[k] = v
152487  	}
152488  	return json.Marshal(objectMap)
152489  }
152490  
152491  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152492  func (pstd PostgreSQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
152493  	return nil, false
152494  }
152495  
152496  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152497  func (pstd PostgreSQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
152498  	return nil, false
152499  }
152500  
152501  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152502  func (pstd PostgreSQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
152503  	return nil, false
152504  }
152505  
152506  // AsDynamicsAXResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152507  func (pstd PostgreSQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
152508  	return nil, false
152509  }
152510  
152511  // AsResponsysObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152512  func (pstd PostgreSQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
152513  	return nil, false
152514  }
152515  
152516  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152517  func (pstd PostgreSQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
152518  	return nil, false
152519  }
152520  
152521  // AsVerticaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152522  func (pstd PostgreSQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
152523  	return nil, false
152524  }
152525  
152526  // AsNetezzaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152527  func (pstd PostgreSQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
152528  	return nil, false
152529  }
152530  
152531  // AsZohoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152532  func (pstd PostgreSQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
152533  	return nil, false
152534  }
152535  
152536  // AsXeroObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152537  func (pstd PostgreSQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
152538  	return nil, false
152539  }
152540  
152541  // AsSquareObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152542  func (pstd PostgreSQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
152543  	return nil, false
152544  }
152545  
152546  // AsSparkObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152547  func (pstd PostgreSQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
152548  	return nil, false
152549  }
152550  
152551  // AsShopifyObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152552  func (pstd PostgreSQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
152553  	return nil, false
152554  }
152555  
152556  // AsServiceNowObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152557  func (pstd PostgreSQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
152558  	return nil, false
152559  }
152560  
152561  // AsQuickBooksObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152562  func (pstd PostgreSQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
152563  	return nil, false
152564  }
152565  
152566  // AsPrestoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152567  func (pstd PostgreSQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
152568  	return nil, false
152569  }
152570  
152571  // AsPhoenixObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152572  func (pstd PostgreSQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
152573  	return nil, false
152574  }
152575  
152576  // AsPaypalObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152577  func (pstd PostgreSQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
152578  	return nil, false
152579  }
152580  
152581  // AsMarketoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152582  func (pstd PostgreSQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
152583  	return nil, false
152584  }
152585  
152586  // AsAzureMariaDBTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152587  func (pstd PostgreSQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
152588  	return nil, false
152589  }
152590  
152591  // AsMariaDBTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152592  func (pstd PostgreSQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
152593  	return nil, false
152594  }
152595  
152596  // AsMagentoObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152597  func (pstd PostgreSQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
152598  	return nil, false
152599  }
152600  
152601  // AsJiraObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152602  func (pstd PostgreSQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
152603  	return nil, false
152604  }
152605  
152606  // AsImpalaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152607  func (pstd PostgreSQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
152608  	return nil, false
152609  }
152610  
152611  // AsHubspotObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152612  func (pstd PostgreSQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
152613  	return nil, false
152614  }
152615  
152616  // AsHiveObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152617  func (pstd PostgreSQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
152618  	return nil, false
152619  }
152620  
152621  // AsHBaseObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152622  func (pstd PostgreSQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
152623  	return nil, false
152624  }
152625  
152626  // AsGreenplumTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152627  func (pstd PostgreSQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
152628  	return nil, false
152629  }
152630  
152631  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152632  func (pstd PostgreSQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
152633  	return nil, false
152634  }
152635  
152636  // AsEloquaObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152637  func (pstd PostgreSQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
152638  	return nil, false
152639  }
152640  
152641  // AsDrillTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152642  func (pstd PostgreSQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
152643  	return nil, false
152644  }
152645  
152646  // AsCouchbaseTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152647  func (pstd PostgreSQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
152648  	return nil, false
152649  }
152650  
152651  // AsConcurObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152652  func (pstd PostgreSQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
152653  	return nil, false
152654  }
152655  
152656  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152657  func (pstd PostgreSQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
152658  	return nil, false
152659  }
152660  
152661  // AsAmazonMWSObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152662  func (pstd PostgreSQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
152663  	return nil, false
152664  }
152665  
152666  // AsAzureSearchIndexDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152667  func (pstd PostgreSQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
152668  	return nil, false
152669  }
152670  
152671  // AsWebTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152672  func (pstd PostgreSQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
152673  	return nil, false
152674  }
152675  
152676  // AsSapTableResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152677  func (pstd PostgreSQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
152678  	return nil, false
152679  }
152680  
152681  // AsRestResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152682  func (pstd PostgreSQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
152683  	return nil, false
152684  }
152685  
152686  // AsSQLServerTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152687  func (pstd PostgreSQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
152688  	return nil, false
152689  }
152690  
152691  // AsSapOpenHubTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152692  func (pstd PostgreSQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
152693  	return nil, false
152694  }
152695  
152696  // AsSapHanaTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152697  func (pstd PostgreSQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
152698  	return nil, false
152699  }
152700  
152701  // AsSapEccResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152702  func (pstd PostgreSQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
152703  	return nil, false
152704  }
152705  
152706  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152707  func (pstd PostgreSQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
152708  	return nil, false
152709  }
152710  
152711  // AsSapBwCubeDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152712  func (pstd PostgreSQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
152713  	return nil, false
152714  }
152715  
152716  // AsSybaseTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152717  func (pstd PostgreSQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
152718  	return nil, false
152719  }
152720  
152721  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152722  func (pstd PostgreSQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
152723  	return nil, false
152724  }
152725  
152726  // AsSalesforceObjectDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152727  func (pstd PostgreSQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
152728  	return nil, false
152729  }
152730  
152731  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152732  func (pstd PostgreSQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
152733  	return nil, false
152734  }
152735  
152736  // AsPostgreSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152737  func (pstd PostgreSQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
152738  	return &pstd, true
152739  }
152740  
152741  // AsMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152742  func (pstd PostgreSQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
152743  	return nil, false
152744  }
152745  
152746  // AsOdbcTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152747  func (pstd PostgreSQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
152748  	return nil, false
152749  }
152750  
152751  // AsInformixTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152752  func (pstd PostgreSQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
152753  	return nil, false
152754  }
152755  
152756  // AsRelationalTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152757  func (pstd PostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
152758  	return nil, false
152759  }
152760  
152761  // AsDb2TableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152762  func (pstd PostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
152763  	return nil, false
152764  }
152765  
152766  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152767  func (pstd PostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
152768  	return nil, false
152769  }
152770  
152771  // AsAzureMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152772  func (pstd PostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
152773  	return nil, false
152774  }
152775  
152776  // AsTeradataTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152777  func (pstd PostgreSQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
152778  	return nil, false
152779  }
152780  
152781  // AsOracleTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152782  func (pstd PostgreSQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
152783  	return nil, false
152784  }
152785  
152786  // AsODataResourceDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152787  func (pstd PostgreSQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
152788  	return nil, false
152789  }
152790  
152791  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152792  func (pstd PostgreSQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
152793  	return nil, false
152794  }
152795  
152796  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152797  func (pstd PostgreSQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
152798  	return nil, false
152799  }
152800  
152801  // AsMongoDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152802  func (pstd PostgreSQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
152803  	return nil, false
152804  }
152805  
152806  // AsOffice365Dataset is the BasicDataset implementation for PostgreSQLTableDataset.
152807  func (pstd PostgreSQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
152808  	return nil, false
152809  }
152810  
152811  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152812  func (pstd PostgreSQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
152813  	return nil, false
152814  }
152815  
152816  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152817  func (pstd PostgreSQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
152818  	return nil, false
152819  }
152820  
152821  // AsDynamicsEntityDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152822  func (pstd PostgreSQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
152823  	return nil, false
152824  }
152825  
152826  // AsDocumentDbCollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152827  func (pstd PostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
152828  	return nil, false
152829  }
152830  
152831  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152832  func (pstd PostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
152833  	return nil, false
152834  }
152835  
152836  // AsCustomDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152837  func (pstd PostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) {
152838  	return nil, false
152839  }
152840  
152841  // AsCassandraTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152842  func (pstd PostgreSQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
152843  	return nil, false
152844  }
152845  
152846  // AsAzureSQLDWTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152847  func (pstd PostgreSQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
152848  	return nil, false
152849  }
152850  
152851  // AsAzureSQLMITableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152852  func (pstd PostgreSQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
152853  	return nil, false
152854  }
152855  
152856  // AsAzureSQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152857  func (pstd PostgreSQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
152858  	return nil, false
152859  }
152860  
152861  // AsAzureTableDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152862  func (pstd PostgreSQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
152863  	return nil, false
152864  }
152865  
152866  // AsBinaryDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152867  func (pstd PostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
152868  	return nil, false
152869  }
152870  
152871  // AsOrcDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152872  func (pstd PostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) {
152873  	return nil, false
152874  }
152875  
152876  // AsJSONDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152877  func (pstd PostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) {
152878  	return nil, false
152879  }
152880  
152881  // AsDelimitedTextDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152882  func (pstd PostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
152883  	return nil, false
152884  }
152885  
152886  // AsParquetDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152887  func (pstd PostgreSQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
152888  	return nil, false
152889  }
152890  
152891  // AsAvroDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152892  func (pstd PostgreSQLTableDataset) AsAvroDataset() (*AvroDataset, bool) {
152893  	return nil, false
152894  }
152895  
152896  // AsDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152897  func (pstd PostgreSQLTableDataset) AsDataset() (*Dataset, bool) {
152898  	return nil, false
152899  }
152900  
152901  // AsBasicDataset is the BasicDataset implementation for PostgreSQLTableDataset.
152902  func (pstd PostgreSQLTableDataset) AsBasicDataset() (BasicDataset, bool) {
152903  	return &pstd, true
152904  }
152905  
152906  // UnmarshalJSON is the custom unmarshaler for PostgreSQLTableDataset struct.
152907  func (pstd *PostgreSQLTableDataset) UnmarshalJSON(body []byte) error {
152908  	var m map[string]*json.RawMessage
152909  	err := json.Unmarshal(body, &m)
152910  	if err != nil {
152911  		return err
152912  	}
152913  	for k, v := range m {
152914  		switch k {
152915  		case "typeProperties":
152916  			if v != nil {
152917  				var postgreSQLTableDatasetTypeProperties PostgreSQLTableDatasetTypeProperties
152918  				err = json.Unmarshal(*v, &postgreSQLTableDatasetTypeProperties)
152919  				if err != nil {
152920  					return err
152921  				}
152922  				pstd.PostgreSQLTableDatasetTypeProperties = &postgreSQLTableDatasetTypeProperties
152923  			}
152924  		default:
152925  			if v != nil {
152926  				var additionalProperties interface{}
152927  				err = json.Unmarshal(*v, &additionalProperties)
152928  				if err != nil {
152929  					return err
152930  				}
152931  				if pstd.AdditionalProperties == nil {
152932  					pstd.AdditionalProperties = make(map[string]interface{})
152933  				}
152934  				pstd.AdditionalProperties[k] = additionalProperties
152935  			}
152936  		case "description":
152937  			if v != nil {
152938  				var description string
152939  				err = json.Unmarshal(*v, &description)
152940  				if err != nil {
152941  					return err
152942  				}
152943  				pstd.Description = &description
152944  			}
152945  		case "structure":
152946  			if v != nil {
152947  				var structure interface{}
152948  				err = json.Unmarshal(*v, &structure)
152949  				if err != nil {
152950  					return err
152951  				}
152952  				pstd.Structure = structure
152953  			}
152954  		case "schema":
152955  			if v != nil {
152956  				var schema interface{}
152957  				err = json.Unmarshal(*v, &schema)
152958  				if err != nil {
152959  					return err
152960  				}
152961  				pstd.Schema = schema
152962  			}
152963  		case "linkedServiceName":
152964  			if v != nil {
152965  				var linkedServiceName LinkedServiceReference
152966  				err = json.Unmarshal(*v, &linkedServiceName)
152967  				if err != nil {
152968  					return err
152969  				}
152970  				pstd.LinkedServiceName = &linkedServiceName
152971  			}
152972  		case "parameters":
152973  			if v != nil {
152974  				var parameters map[string]*ParameterSpecification
152975  				err = json.Unmarshal(*v, &parameters)
152976  				if err != nil {
152977  					return err
152978  				}
152979  				pstd.Parameters = parameters
152980  			}
152981  		case "annotations":
152982  			if v != nil {
152983  				var annotations []interface{}
152984  				err = json.Unmarshal(*v, &annotations)
152985  				if err != nil {
152986  					return err
152987  				}
152988  				pstd.Annotations = &annotations
152989  			}
152990  		case "folder":
152991  			if v != nil {
152992  				var folder DatasetFolder
152993  				err = json.Unmarshal(*v, &folder)
152994  				if err != nil {
152995  					return err
152996  				}
152997  				pstd.Folder = &folder
152998  			}
152999  		case "type":
153000  			if v != nil {
153001  				var typeVar TypeBasicDataset
153002  				err = json.Unmarshal(*v, &typeVar)
153003  				if err != nil {
153004  					return err
153005  				}
153006  				pstd.Type = typeVar
153007  			}
153008  		}
153009  	}
153010  
153011  	return nil
153012  }
153013  
153014  // PostgreSQLTableDatasetTypeProperties postgreSQL table dataset properties.
153015  type PostgreSQLTableDatasetTypeProperties struct {
153016  	// TableName - This property will be retired. Please consider using schema + table properties instead.
153017  	TableName interface{} `json:"tableName,omitempty"`
153018  	// Table - The PostgreSQL table name. Type: string (or Expression with resultType string).
153019  	Table interface{} `json:"table,omitempty"`
153020  	// Schema - The PostgreSQL schema name. Type: string (or Expression with resultType string).
153021  	Schema interface{} `json:"schema,omitempty"`
153022  }
153023  
153024  // PrestoDatasetTypeProperties presto Dataset Properties
153025  type PrestoDatasetTypeProperties struct {
153026  	// TableName - This property will be retired. Please consider using schema + table properties instead.
153027  	TableName interface{} `json:"tableName,omitempty"`
153028  	// Table - The table name of the Presto. Type: string (or Expression with resultType string).
153029  	Table interface{} `json:"table,omitempty"`
153030  	// Schema - The schema name of the Presto. Type: string (or Expression with resultType string).
153031  	Schema interface{} `json:"schema,omitempty"`
153032  }
153033  
153034  // PrestoLinkedService presto server linked service.
153035  type PrestoLinkedService struct {
153036  	// PrestoLinkedServiceTypeProperties - Presto server linked service properties.
153037  	*PrestoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
153038  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
153039  	AdditionalProperties map[string]interface{} `json:""`
153040  	// ConnectVia - The integration runtime reference.
153041  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
153042  	// Description - Linked service description.
153043  	Description *string `json:"description,omitempty"`
153044  	// Parameters - Parameters for linked service.
153045  	Parameters map[string]*ParameterSpecification `json:"parameters"`
153046  	// Annotations - List of tags that can be used for describing the linked service.
153047  	Annotations *[]interface{} `json:"annotations,omitempty"`
153048  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
153049  	Type TypeBasicLinkedService `json:"type,omitempty"`
153050  }
153051  
153052  // MarshalJSON is the custom marshaler for PrestoLinkedService.
153053  func (pls PrestoLinkedService) MarshalJSON() ([]byte, error) {
153054  	pls.Type = TypePresto
153055  	objectMap := make(map[string]interface{})
153056  	if pls.PrestoLinkedServiceTypeProperties != nil {
153057  		objectMap["typeProperties"] = pls.PrestoLinkedServiceTypeProperties
153058  	}
153059  	if pls.ConnectVia != nil {
153060  		objectMap["connectVia"] = pls.ConnectVia
153061  	}
153062  	if pls.Description != nil {
153063  		objectMap["description"] = pls.Description
153064  	}
153065  	if pls.Parameters != nil {
153066  		objectMap["parameters"] = pls.Parameters
153067  	}
153068  	if pls.Annotations != nil {
153069  		objectMap["annotations"] = pls.Annotations
153070  	}
153071  	if pls.Type != "" {
153072  		objectMap["type"] = pls.Type
153073  	}
153074  	for k, v := range pls.AdditionalProperties {
153075  		objectMap[k] = v
153076  	}
153077  	return json.Marshal(objectMap)
153078  }
153079  
153080  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153081  func (pls PrestoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
153082  	return nil, false
153083  }
153084  
153085  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153086  func (pls PrestoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
153087  	return nil, false
153088  }
153089  
153090  // AsSapTableLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153091  func (pls PrestoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
153092  	return nil, false
153093  }
153094  
153095  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153096  func (pls PrestoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
153097  	return nil, false
153098  }
153099  
153100  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153101  func (pls PrestoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
153102  	return nil, false
153103  }
153104  
153105  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153106  func (pls PrestoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
153107  	return nil, false
153108  }
153109  
153110  // AsResponsysLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153111  func (pls PrestoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
153112  	return nil, false
153113  }
153114  
153115  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153116  func (pls PrestoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
153117  	return nil, false
153118  }
153119  
153120  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153121  func (pls PrestoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
153122  	return nil, false
153123  }
153124  
153125  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153126  func (pls PrestoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
153127  	return nil, false
153128  }
153129  
153130  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153131  func (pls PrestoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
153132  	return nil, false
153133  }
153134  
153135  // AsNetezzaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153136  func (pls PrestoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
153137  	return nil, false
153138  }
153139  
153140  // AsVerticaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153141  func (pls PrestoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
153142  	return nil, false
153143  }
153144  
153145  // AsZohoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153146  func (pls PrestoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
153147  	return nil, false
153148  }
153149  
153150  // AsXeroLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153151  func (pls PrestoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
153152  	return nil, false
153153  }
153154  
153155  // AsSquareLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153156  func (pls PrestoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
153157  	return nil, false
153158  }
153159  
153160  // AsSparkLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153161  func (pls PrestoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
153162  	return nil, false
153163  }
153164  
153165  // AsShopifyLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153166  func (pls PrestoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
153167  	return nil, false
153168  }
153169  
153170  // AsServiceNowLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153171  func (pls PrestoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
153172  	return nil, false
153173  }
153174  
153175  // AsQuickBooksLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153176  func (pls PrestoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
153177  	return nil, false
153178  }
153179  
153180  // AsPrestoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153181  func (pls PrestoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
153182  	return &pls, true
153183  }
153184  
153185  // AsPhoenixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153186  func (pls PrestoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
153187  	return nil, false
153188  }
153189  
153190  // AsPaypalLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153191  func (pls PrestoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
153192  	return nil, false
153193  }
153194  
153195  // AsMarketoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153196  func (pls PrestoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
153197  	return nil, false
153198  }
153199  
153200  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153201  func (pls PrestoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
153202  	return nil, false
153203  }
153204  
153205  // AsMariaDBLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153206  func (pls PrestoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
153207  	return nil, false
153208  }
153209  
153210  // AsMagentoLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153211  func (pls PrestoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
153212  	return nil, false
153213  }
153214  
153215  // AsJiraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153216  func (pls PrestoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
153217  	return nil, false
153218  }
153219  
153220  // AsImpalaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153221  func (pls PrestoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
153222  	return nil, false
153223  }
153224  
153225  // AsHubspotLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153226  func (pls PrestoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
153227  	return nil, false
153228  }
153229  
153230  // AsHiveLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153231  func (pls PrestoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
153232  	return nil, false
153233  }
153234  
153235  // AsHBaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153236  func (pls PrestoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
153237  	return nil, false
153238  }
153239  
153240  // AsGreenplumLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153241  func (pls PrestoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
153242  	return nil, false
153243  }
153244  
153245  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153246  func (pls PrestoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
153247  	return nil, false
153248  }
153249  
153250  // AsEloquaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153251  func (pls PrestoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
153252  	return nil, false
153253  }
153254  
153255  // AsDrillLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153256  func (pls PrestoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
153257  	return nil, false
153258  }
153259  
153260  // AsCouchbaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153261  func (pls PrestoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
153262  	return nil, false
153263  }
153264  
153265  // AsConcurLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153266  func (pls PrestoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
153267  	return nil, false
153268  }
153269  
153270  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153271  func (pls PrestoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
153272  	return nil, false
153273  }
153274  
153275  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153276  func (pls PrestoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
153277  	return nil, false
153278  }
153279  
153280  // AsSapHanaLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153281  func (pls PrestoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
153282  	return nil, false
153283  }
153284  
153285  // AsSapBWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153286  func (pls PrestoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
153287  	return nil, false
153288  }
153289  
153290  // AsSftpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153291  func (pls PrestoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
153292  	return nil, false
153293  }
153294  
153295  // AsFtpServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153296  func (pls PrestoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
153297  	return nil, false
153298  }
153299  
153300  // AsHTTPLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153301  func (pls PrestoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
153302  	return nil, false
153303  }
153304  
153305  // AsAzureSearchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153306  func (pls PrestoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
153307  	return nil, false
153308  }
153309  
153310  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153311  func (pls PrestoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
153312  	return nil, false
153313  }
153314  
153315  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153316  func (pls PrestoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
153317  	return nil, false
153318  }
153319  
153320  // AsAmazonS3LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153321  func (pls PrestoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
153322  	return nil, false
153323  }
153324  
153325  // AsRestServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153326  func (pls PrestoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
153327  	return nil, false
153328  }
153329  
153330  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153331  func (pls PrestoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
153332  	return nil, false
153333  }
153334  
153335  // AsSapEccLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153336  func (pls PrestoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
153337  	return nil, false
153338  }
153339  
153340  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153341  func (pls PrestoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
153342  	return nil, false
153343  }
153344  
153345  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153346  func (pls PrestoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
153347  	return nil, false
153348  }
153349  
153350  // AsSalesforceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153351  func (pls PrestoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
153352  	return nil, false
153353  }
153354  
153355  // AsOffice365LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153356  func (pls PrestoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
153357  	return nil, false
153358  }
153359  
153360  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153361  func (pls PrestoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
153362  	return nil, false
153363  }
153364  
153365  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153366  func (pls PrestoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
153367  	return nil, false
153368  }
153369  
153370  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153371  func (pls PrestoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
153372  	return nil, false
153373  }
153374  
153375  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153376  func (pls PrestoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
153377  	return nil, false
153378  }
153379  
153380  // AsMongoDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153381  func (pls PrestoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
153382  	return nil, false
153383  }
153384  
153385  // AsCassandraLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153386  func (pls PrestoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
153387  	return nil, false
153388  }
153389  
153390  // AsWebLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153391  func (pls PrestoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
153392  	return nil, false
153393  }
153394  
153395  // AsODataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153396  func (pls PrestoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
153397  	return nil, false
153398  }
153399  
153400  // AsHdfsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153401  func (pls PrestoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
153402  	return nil, false
153403  }
153404  
153405  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153406  func (pls PrestoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
153407  	return nil, false
153408  }
153409  
153410  // AsInformixLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153411  func (pls PrestoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
153412  	return nil, false
153413  }
153414  
153415  // AsOdbcLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153416  func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
153417  	return nil, false
153418  }
153419  
153420  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153421  func (pls PrestoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
153422  	return nil, false
153423  }
153424  
153425  // AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153426  func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
153427  	return nil, false
153428  }
153429  
153430  // AsTeradataLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153431  func (pls PrestoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
153432  	return nil, false
153433  }
153434  
153435  // AsDb2LinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153436  func (pls PrestoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
153437  	return nil, false
153438  }
153439  
153440  // AsSybaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153441  func (pls PrestoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
153442  	return nil, false
153443  }
153444  
153445  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153446  func (pls PrestoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
153447  	return nil, false
153448  }
153449  
153450  // AsMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153451  func (pls PrestoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
153452  	return nil, false
153453  }
153454  
153455  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153456  func (pls PrestoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
153457  	return nil, false
153458  }
153459  
153460  // AsOracleLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153461  func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
153462  	return nil, false
153463  }
153464  
153465  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153466  func (pls PrestoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
153467  	return nil, false
153468  }
153469  
153470  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153471  func (pls PrestoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
153472  	return nil, false
153473  }
153474  
153475  // AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153476  func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
153477  	return nil, false
153478  }
153479  
153480  // AsHDInsightLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153481  func (pls PrestoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
153482  	return nil, false
153483  }
153484  
153485  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153486  func (pls PrestoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
153487  	return nil, false
153488  }
153489  
153490  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153491  func (pls PrestoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
153492  	return nil, false
153493  }
153494  
153495  // AsDynamicsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153496  func (pls PrestoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
153497  	return nil, false
153498  }
153499  
153500  // AsCosmosDbLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153501  func (pls PrestoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
153502  	return nil, false
153503  }
153504  
153505  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153506  func (pls PrestoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
153507  	return nil, false
153508  }
153509  
153510  // AsAzureBatchLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153511  func (pls PrestoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
153512  	return nil, false
153513  }
153514  
153515  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153516  func (pls PrestoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
153517  	return nil, false
153518  }
153519  
153520  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153521  func (pls PrestoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
153522  	return nil, false
153523  }
153524  
153525  // AsSQLServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153526  func (pls PrestoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
153527  	return nil, false
153528  }
153529  
153530  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153531  func (pls PrestoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
153532  	return nil, false
153533  }
153534  
153535  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153536  func (pls PrestoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
153537  	return nil, false
153538  }
153539  
153540  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153541  func (pls PrestoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
153542  	return nil, false
153543  }
153544  
153545  // AsAzureStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153546  func (pls PrestoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
153547  	return nil, false
153548  }
153549  
153550  // AsLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153551  func (pls PrestoLinkedService) AsLinkedService() (*LinkedService, bool) {
153552  	return nil, false
153553  }
153554  
153555  // AsBasicLinkedService is the BasicLinkedService implementation for PrestoLinkedService.
153556  func (pls PrestoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
153557  	return &pls, true
153558  }
153559  
153560  // UnmarshalJSON is the custom unmarshaler for PrestoLinkedService struct.
153561  func (pls *PrestoLinkedService) UnmarshalJSON(body []byte) error {
153562  	var m map[string]*json.RawMessage
153563  	err := json.Unmarshal(body, &m)
153564  	if err != nil {
153565  		return err
153566  	}
153567  	for k, v := range m {
153568  		switch k {
153569  		case "typeProperties":
153570  			if v != nil {
153571  				var prestoLinkedServiceTypeProperties PrestoLinkedServiceTypeProperties
153572  				err = json.Unmarshal(*v, &prestoLinkedServiceTypeProperties)
153573  				if err != nil {
153574  					return err
153575  				}
153576  				pls.PrestoLinkedServiceTypeProperties = &prestoLinkedServiceTypeProperties
153577  			}
153578  		default:
153579  			if v != nil {
153580  				var additionalProperties interface{}
153581  				err = json.Unmarshal(*v, &additionalProperties)
153582  				if err != nil {
153583  					return err
153584  				}
153585  				if pls.AdditionalProperties == nil {
153586  					pls.AdditionalProperties = make(map[string]interface{})
153587  				}
153588  				pls.AdditionalProperties[k] = additionalProperties
153589  			}
153590  		case "connectVia":
153591  			if v != nil {
153592  				var connectVia IntegrationRuntimeReference
153593  				err = json.Unmarshal(*v, &connectVia)
153594  				if err != nil {
153595  					return err
153596  				}
153597  				pls.ConnectVia = &connectVia
153598  			}
153599  		case "description":
153600  			if v != nil {
153601  				var description string
153602  				err = json.Unmarshal(*v, &description)
153603  				if err != nil {
153604  					return err
153605  				}
153606  				pls.Description = &description
153607  			}
153608  		case "parameters":
153609  			if v != nil {
153610  				var parameters map[string]*ParameterSpecification
153611  				err = json.Unmarshal(*v, &parameters)
153612  				if err != nil {
153613  					return err
153614  				}
153615  				pls.Parameters = parameters
153616  			}
153617  		case "annotations":
153618  			if v != nil {
153619  				var annotations []interface{}
153620  				err = json.Unmarshal(*v, &annotations)
153621  				if err != nil {
153622  					return err
153623  				}
153624  				pls.Annotations = &annotations
153625  			}
153626  		case "type":
153627  			if v != nil {
153628  				var typeVar TypeBasicLinkedService
153629  				err = json.Unmarshal(*v, &typeVar)
153630  				if err != nil {
153631  					return err
153632  				}
153633  				pls.Type = typeVar
153634  			}
153635  		}
153636  	}
153637  
153638  	return nil
153639  }
153640  
153641  // PrestoLinkedServiceTypeProperties presto server linked service properties.
153642  type PrestoLinkedServiceTypeProperties struct {
153643  	// Host - The IP address or host name of the Presto server. (i.e. 192.168.222.160)
153644  	Host interface{} `json:"host,omitempty"`
153645  	// ServerVersion - The version of the Presto server. (i.e. 0.148-t)
153646  	ServerVersion interface{} `json:"serverVersion,omitempty"`
153647  	// Catalog - The catalog context for all request against the server.
153648  	Catalog interface{} `json:"catalog,omitempty"`
153649  	// Port - The TCP port that the Presto server uses to listen for client connections. The default value is 8080.
153650  	Port interface{} `json:"port,omitempty"`
153651  	// AuthenticationType - The authentication mechanism used to connect to the Presto server. Possible values include: 'PrestoAuthenticationTypeAnonymous', 'PrestoAuthenticationTypeLDAP'
153652  	AuthenticationType PrestoAuthenticationType `json:"authenticationType,omitempty"`
153653  	// Username - The user name used to connect to the Presto server.
153654  	Username interface{} `json:"username,omitempty"`
153655  	// Password - The password corresponding to the user name.
153656  	Password BasicSecretBase `json:"password,omitempty"`
153657  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
153658  	EnableSsl interface{} `json:"enableSsl,omitempty"`
153659  	// 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.
153660  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
153661  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
153662  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
153663  	// 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.
153664  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
153665  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
153666  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
153667  	// 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.
153668  	TimeZoneID interface{} `json:"timeZoneID,omitempty"`
153669  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
153670  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
153671  }
153672  
153673  // UnmarshalJSON is the custom unmarshaler for PrestoLinkedServiceTypeProperties struct.
153674  func (plstp *PrestoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
153675  	var m map[string]*json.RawMessage
153676  	err := json.Unmarshal(body, &m)
153677  	if err != nil {
153678  		return err
153679  	}
153680  	for k, v := range m {
153681  		switch k {
153682  		case "host":
153683  			if v != nil {
153684  				var host interface{}
153685  				err = json.Unmarshal(*v, &host)
153686  				if err != nil {
153687  					return err
153688  				}
153689  				plstp.Host = host
153690  			}
153691  		case "serverVersion":
153692  			if v != nil {
153693  				var serverVersion interface{}
153694  				err = json.Unmarshal(*v, &serverVersion)
153695  				if err != nil {
153696  					return err
153697  				}
153698  				plstp.ServerVersion = serverVersion
153699  			}
153700  		case "catalog":
153701  			if v != nil {
153702  				var catalog interface{}
153703  				err = json.Unmarshal(*v, &catalog)
153704  				if err != nil {
153705  					return err
153706  				}
153707  				plstp.Catalog = catalog
153708  			}
153709  		case "port":
153710  			if v != nil {
153711  				var port interface{}
153712  				err = json.Unmarshal(*v, &port)
153713  				if err != nil {
153714  					return err
153715  				}
153716  				plstp.Port = port
153717  			}
153718  		case "authenticationType":
153719  			if v != nil {
153720  				var authenticationType PrestoAuthenticationType
153721  				err = json.Unmarshal(*v, &authenticationType)
153722  				if err != nil {
153723  					return err
153724  				}
153725  				plstp.AuthenticationType = authenticationType
153726  			}
153727  		case "username":
153728  			if v != nil {
153729  				var username interface{}
153730  				err = json.Unmarshal(*v, &username)
153731  				if err != nil {
153732  					return err
153733  				}
153734  				plstp.Username = username
153735  			}
153736  		case "password":
153737  			if v != nil {
153738  				password, err := unmarshalBasicSecretBase(*v)
153739  				if err != nil {
153740  					return err
153741  				}
153742  				plstp.Password = password
153743  			}
153744  		case "enableSsl":
153745  			if v != nil {
153746  				var enableSsl interface{}
153747  				err = json.Unmarshal(*v, &enableSsl)
153748  				if err != nil {
153749  					return err
153750  				}
153751  				plstp.EnableSsl = enableSsl
153752  			}
153753  		case "trustedCertPath":
153754  			if v != nil {
153755  				var trustedCertPath interface{}
153756  				err = json.Unmarshal(*v, &trustedCertPath)
153757  				if err != nil {
153758  					return err
153759  				}
153760  				plstp.TrustedCertPath = trustedCertPath
153761  			}
153762  		case "useSystemTrustStore":
153763  			if v != nil {
153764  				var useSystemTrustStore interface{}
153765  				err = json.Unmarshal(*v, &useSystemTrustStore)
153766  				if err != nil {
153767  					return err
153768  				}
153769  				plstp.UseSystemTrustStore = useSystemTrustStore
153770  			}
153771  		case "allowHostNameCNMismatch":
153772  			if v != nil {
153773  				var allowHostNameCNMismatch interface{}
153774  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
153775  				if err != nil {
153776  					return err
153777  				}
153778  				plstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
153779  			}
153780  		case "allowSelfSignedServerCert":
153781  			if v != nil {
153782  				var allowSelfSignedServerCert interface{}
153783  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
153784  				if err != nil {
153785  					return err
153786  				}
153787  				plstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
153788  			}
153789  		case "timeZoneID":
153790  			if v != nil {
153791  				var timeZoneID interface{}
153792  				err = json.Unmarshal(*v, &timeZoneID)
153793  				if err != nil {
153794  					return err
153795  				}
153796  				plstp.TimeZoneID = timeZoneID
153797  			}
153798  		case "encryptedCredential":
153799  			if v != nil {
153800  				var encryptedCredential interface{}
153801  				err = json.Unmarshal(*v, &encryptedCredential)
153802  				if err != nil {
153803  					return err
153804  				}
153805  				plstp.EncryptedCredential = encryptedCredential
153806  			}
153807  		}
153808  	}
153809  
153810  	return nil
153811  }
153812  
153813  // PrestoObjectDataset presto server dataset.
153814  type PrestoObjectDataset struct {
153815  	// PrestoDatasetTypeProperties - Properties specific to this dataset type.
153816  	*PrestoDatasetTypeProperties `json:"typeProperties,omitempty"`
153817  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
153818  	AdditionalProperties map[string]interface{} `json:""`
153819  	// Description - Dataset description.
153820  	Description *string `json:"description,omitempty"`
153821  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
153822  	Structure interface{} `json:"structure,omitempty"`
153823  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
153824  	Schema interface{} `json:"schema,omitempty"`
153825  	// LinkedServiceName - Linked service reference.
153826  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
153827  	// Parameters - Parameters for dataset.
153828  	Parameters map[string]*ParameterSpecification `json:"parameters"`
153829  	// Annotations - List of tags that can be used for describing the Dataset.
153830  	Annotations *[]interface{} `json:"annotations,omitempty"`
153831  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
153832  	Folder *DatasetFolder `json:"folder,omitempty"`
153833  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
153834  	Type TypeBasicDataset `json:"type,omitempty"`
153835  }
153836  
153837  // MarshalJSON is the custom marshaler for PrestoObjectDataset.
153838  func (pod PrestoObjectDataset) MarshalJSON() ([]byte, error) {
153839  	pod.Type = TypePrestoObject
153840  	objectMap := make(map[string]interface{})
153841  	if pod.PrestoDatasetTypeProperties != nil {
153842  		objectMap["typeProperties"] = pod.PrestoDatasetTypeProperties
153843  	}
153844  	if pod.Description != nil {
153845  		objectMap["description"] = pod.Description
153846  	}
153847  	if pod.Structure != nil {
153848  		objectMap["structure"] = pod.Structure
153849  	}
153850  	if pod.Schema != nil {
153851  		objectMap["schema"] = pod.Schema
153852  	}
153853  	if pod.LinkedServiceName != nil {
153854  		objectMap["linkedServiceName"] = pod.LinkedServiceName
153855  	}
153856  	if pod.Parameters != nil {
153857  		objectMap["parameters"] = pod.Parameters
153858  	}
153859  	if pod.Annotations != nil {
153860  		objectMap["annotations"] = pod.Annotations
153861  	}
153862  	if pod.Folder != nil {
153863  		objectMap["folder"] = pod.Folder
153864  	}
153865  	if pod.Type != "" {
153866  		objectMap["type"] = pod.Type
153867  	}
153868  	for k, v := range pod.AdditionalProperties {
153869  		objectMap[k] = v
153870  	}
153871  	return json.Marshal(objectMap)
153872  }
153873  
153874  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153875  func (pod PrestoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
153876  	return nil, false
153877  }
153878  
153879  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
153880  func (pod PrestoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
153881  	return nil, false
153882  }
153883  
153884  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153885  func (pod PrestoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
153886  	return nil, false
153887  }
153888  
153889  // AsDynamicsAXResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
153890  func (pod PrestoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
153891  	return nil, false
153892  }
153893  
153894  // AsResponsysObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153895  func (pod PrestoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
153896  	return nil, false
153897  }
153898  
153899  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153900  func (pod PrestoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
153901  	return nil, false
153902  }
153903  
153904  // AsVerticaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
153905  func (pod PrestoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
153906  	return nil, false
153907  }
153908  
153909  // AsNetezzaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
153910  func (pod PrestoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
153911  	return nil, false
153912  }
153913  
153914  // AsZohoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153915  func (pod PrestoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
153916  	return nil, false
153917  }
153918  
153919  // AsXeroObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153920  func (pod PrestoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
153921  	return nil, false
153922  }
153923  
153924  // AsSquareObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153925  func (pod PrestoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
153926  	return nil, false
153927  }
153928  
153929  // AsSparkObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153930  func (pod PrestoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
153931  	return nil, false
153932  }
153933  
153934  // AsShopifyObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153935  func (pod PrestoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
153936  	return nil, false
153937  }
153938  
153939  // AsServiceNowObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153940  func (pod PrestoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
153941  	return nil, false
153942  }
153943  
153944  // AsQuickBooksObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153945  func (pod PrestoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
153946  	return nil, false
153947  }
153948  
153949  // AsPrestoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153950  func (pod PrestoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
153951  	return &pod, true
153952  }
153953  
153954  // AsPhoenixObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153955  func (pod PrestoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
153956  	return nil, false
153957  }
153958  
153959  // AsPaypalObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153960  func (pod PrestoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
153961  	return nil, false
153962  }
153963  
153964  // AsMarketoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153965  func (pod PrestoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
153966  	return nil, false
153967  }
153968  
153969  // AsAzureMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset.
153970  func (pod PrestoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
153971  	return nil, false
153972  }
153973  
153974  // AsMariaDBTableDataset is the BasicDataset implementation for PrestoObjectDataset.
153975  func (pod PrestoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
153976  	return nil, false
153977  }
153978  
153979  // AsMagentoObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153980  func (pod PrestoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
153981  	return nil, false
153982  }
153983  
153984  // AsJiraObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153985  func (pod PrestoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
153986  	return nil, false
153987  }
153988  
153989  // AsImpalaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153990  func (pod PrestoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
153991  	return nil, false
153992  }
153993  
153994  // AsHubspotObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
153995  func (pod PrestoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
153996  	return nil, false
153997  }
153998  
153999  // AsHiveObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154000  func (pod PrestoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
154001  	return nil, false
154002  }
154003  
154004  // AsHBaseObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154005  func (pod PrestoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
154006  	return nil, false
154007  }
154008  
154009  // AsGreenplumTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154010  func (pod PrestoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
154011  	return nil, false
154012  }
154013  
154014  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154015  func (pod PrestoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
154016  	return nil, false
154017  }
154018  
154019  // AsEloquaObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154020  func (pod PrestoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
154021  	return nil, false
154022  }
154023  
154024  // AsDrillTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154025  func (pod PrestoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
154026  	return nil, false
154027  }
154028  
154029  // AsCouchbaseTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154030  func (pod PrestoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
154031  	return nil, false
154032  }
154033  
154034  // AsConcurObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154035  func (pod PrestoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
154036  	return nil, false
154037  }
154038  
154039  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154040  func (pod PrestoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
154041  	return nil, false
154042  }
154043  
154044  // AsAmazonMWSObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154045  func (pod PrestoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
154046  	return nil, false
154047  }
154048  
154049  // AsAzureSearchIndexDataset is the BasicDataset implementation for PrestoObjectDataset.
154050  func (pod PrestoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
154051  	return nil, false
154052  }
154053  
154054  // AsWebTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154055  func (pod PrestoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
154056  	return nil, false
154057  }
154058  
154059  // AsSapTableResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
154060  func (pod PrestoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
154061  	return nil, false
154062  }
154063  
154064  // AsRestResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
154065  func (pod PrestoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
154066  	return nil, false
154067  }
154068  
154069  // AsSQLServerTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154070  func (pod PrestoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
154071  	return nil, false
154072  }
154073  
154074  // AsSapOpenHubTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154075  func (pod PrestoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
154076  	return nil, false
154077  }
154078  
154079  // AsSapHanaTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154080  func (pod PrestoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
154081  	return nil, false
154082  }
154083  
154084  // AsSapEccResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
154085  func (pod PrestoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
154086  	return nil, false
154087  }
154088  
154089  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
154090  func (pod PrestoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
154091  	return nil, false
154092  }
154093  
154094  // AsSapBwCubeDataset is the BasicDataset implementation for PrestoObjectDataset.
154095  func (pod PrestoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
154096  	return nil, false
154097  }
154098  
154099  // AsSybaseTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154100  func (pod PrestoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
154101  	return nil, false
154102  }
154103  
154104  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154105  func (pod PrestoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
154106  	return nil, false
154107  }
154108  
154109  // AsSalesforceObjectDataset is the BasicDataset implementation for PrestoObjectDataset.
154110  func (pod PrestoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
154111  	return nil, false
154112  }
154113  
154114  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154115  func (pod PrestoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
154116  	return nil, false
154117  }
154118  
154119  // AsPostgreSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154120  func (pod PrestoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
154121  	return nil, false
154122  }
154123  
154124  // AsMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154125  func (pod PrestoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
154126  	return nil, false
154127  }
154128  
154129  // AsOdbcTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154130  func (pod PrestoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
154131  	return nil, false
154132  }
154133  
154134  // AsInformixTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154135  func (pod PrestoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
154136  	return nil, false
154137  }
154138  
154139  // AsRelationalTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154140  func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
154141  	return nil, false
154142  }
154143  
154144  // AsDb2TableDataset is the BasicDataset implementation for PrestoObjectDataset.
154145  func (pod PrestoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
154146  	return nil, false
154147  }
154148  
154149  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154150  func (pod PrestoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
154151  	return nil, false
154152  }
154153  
154154  // AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154155  func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
154156  	return nil, false
154157  }
154158  
154159  // AsTeradataTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154160  func (pod PrestoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
154161  	return nil, false
154162  }
154163  
154164  // AsOracleTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154165  func (pod PrestoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
154166  	return nil, false
154167  }
154168  
154169  // AsODataResourceDataset is the BasicDataset implementation for PrestoObjectDataset.
154170  func (pod PrestoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
154171  	return nil, false
154172  }
154173  
154174  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
154175  func (pod PrestoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
154176  	return nil, false
154177  }
154178  
154179  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
154180  func (pod PrestoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
154181  	return nil, false
154182  }
154183  
154184  // AsMongoDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
154185  func (pod PrestoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
154186  	return nil, false
154187  }
154188  
154189  // AsOffice365Dataset is the BasicDataset implementation for PrestoObjectDataset.
154190  func (pod PrestoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
154191  	return nil, false
154192  }
154193  
154194  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
154195  func (pod PrestoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
154196  	return nil, false
154197  }
154198  
154199  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
154200  func (pod PrestoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
154201  	return nil, false
154202  }
154203  
154204  // AsDynamicsEntityDataset is the BasicDataset implementation for PrestoObjectDataset.
154205  func (pod PrestoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
154206  	return nil, false
154207  }
154208  
154209  // AsDocumentDbCollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
154210  func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
154211  	return nil, false
154212  }
154213  
154214  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset.
154215  func (pod PrestoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
154216  	return nil, false
154217  }
154218  
154219  // AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset.
154220  func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
154221  	return nil, false
154222  }
154223  
154224  // AsCassandraTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154225  func (pod PrestoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
154226  	return nil, false
154227  }
154228  
154229  // AsAzureSQLDWTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154230  func (pod PrestoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
154231  	return nil, false
154232  }
154233  
154234  // AsAzureSQLMITableDataset is the BasicDataset implementation for PrestoObjectDataset.
154235  func (pod PrestoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
154236  	return nil, false
154237  }
154238  
154239  // AsAzureSQLTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154240  func (pod PrestoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
154241  	return nil, false
154242  }
154243  
154244  // AsAzureTableDataset is the BasicDataset implementation for PrestoObjectDataset.
154245  func (pod PrestoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
154246  	return nil, false
154247  }
154248  
154249  // AsBinaryDataset is the BasicDataset implementation for PrestoObjectDataset.
154250  func (pod PrestoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
154251  	return nil, false
154252  }
154253  
154254  // AsOrcDataset is the BasicDataset implementation for PrestoObjectDataset.
154255  func (pod PrestoObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
154256  	return nil, false
154257  }
154258  
154259  // AsJSONDataset is the BasicDataset implementation for PrestoObjectDataset.
154260  func (pod PrestoObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
154261  	return nil, false
154262  }
154263  
154264  // AsDelimitedTextDataset is the BasicDataset implementation for PrestoObjectDataset.
154265  func (pod PrestoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
154266  	return nil, false
154267  }
154268  
154269  // AsParquetDataset is the BasicDataset implementation for PrestoObjectDataset.
154270  func (pod PrestoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
154271  	return nil, false
154272  }
154273  
154274  // AsAvroDataset is the BasicDataset implementation for PrestoObjectDataset.
154275  func (pod PrestoObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
154276  	return nil, false
154277  }
154278  
154279  // AsDataset is the BasicDataset implementation for PrestoObjectDataset.
154280  func (pod PrestoObjectDataset) AsDataset() (*Dataset, bool) {
154281  	return nil, false
154282  }
154283  
154284  // AsBasicDataset is the BasicDataset implementation for PrestoObjectDataset.
154285  func (pod PrestoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
154286  	return &pod, true
154287  }
154288  
154289  // UnmarshalJSON is the custom unmarshaler for PrestoObjectDataset struct.
154290  func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error {
154291  	var m map[string]*json.RawMessage
154292  	err := json.Unmarshal(body, &m)
154293  	if err != nil {
154294  		return err
154295  	}
154296  	for k, v := range m {
154297  		switch k {
154298  		case "typeProperties":
154299  			if v != nil {
154300  				var prestoDatasetTypeProperties PrestoDatasetTypeProperties
154301  				err = json.Unmarshal(*v, &prestoDatasetTypeProperties)
154302  				if err != nil {
154303  					return err
154304  				}
154305  				pod.PrestoDatasetTypeProperties = &prestoDatasetTypeProperties
154306  			}
154307  		default:
154308  			if v != nil {
154309  				var additionalProperties interface{}
154310  				err = json.Unmarshal(*v, &additionalProperties)
154311  				if err != nil {
154312  					return err
154313  				}
154314  				if pod.AdditionalProperties == nil {
154315  					pod.AdditionalProperties = make(map[string]interface{})
154316  				}
154317  				pod.AdditionalProperties[k] = additionalProperties
154318  			}
154319  		case "description":
154320  			if v != nil {
154321  				var description string
154322  				err = json.Unmarshal(*v, &description)
154323  				if err != nil {
154324  					return err
154325  				}
154326  				pod.Description = &description
154327  			}
154328  		case "structure":
154329  			if v != nil {
154330  				var structure interface{}
154331  				err = json.Unmarshal(*v, &structure)
154332  				if err != nil {
154333  					return err
154334  				}
154335  				pod.Structure = structure
154336  			}
154337  		case "schema":
154338  			if v != nil {
154339  				var schema interface{}
154340  				err = json.Unmarshal(*v, &schema)
154341  				if err != nil {
154342  					return err
154343  				}
154344  				pod.Schema = schema
154345  			}
154346  		case "linkedServiceName":
154347  			if v != nil {
154348  				var linkedServiceName LinkedServiceReference
154349  				err = json.Unmarshal(*v, &linkedServiceName)
154350  				if err != nil {
154351  					return err
154352  				}
154353  				pod.LinkedServiceName = &linkedServiceName
154354  			}
154355  		case "parameters":
154356  			if v != nil {
154357  				var parameters map[string]*ParameterSpecification
154358  				err = json.Unmarshal(*v, &parameters)
154359  				if err != nil {
154360  					return err
154361  				}
154362  				pod.Parameters = parameters
154363  			}
154364  		case "annotations":
154365  			if v != nil {
154366  				var annotations []interface{}
154367  				err = json.Unmarshal(*v, &annotations)
154368  				if err != nil {
154369  					return err
154370  				}
154371  				pod.Annotations = &annotations
154372  			}
154373  		case "folder":
154374  			if v != nil {
154375  				var folder DatasetFolder
154376  				err = json.Unmarshal(*v, &folder)
154377  				if err != nil {
154378  					return err
154379  				}
154380  				pod.Folder = &folder
154381  			}
154382  		case "type":
154383  			if v != nil {
154384  				var typeVar TypeBasicDataset
154385  				err = json.Unmarshal(*v, &typeVar)
154386  				if err != nil {
154387  					return err
154388  				}
154389  				pod.Type = typeVar
154390  			}
154391  		}
154392  	}
154393  
154394  	return nil
154395  }
154396  
154397  // PrestoSource a copy activity Presto server source.
154398  type PrestoSource struct {
154399  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
154400  	Query interface{} `json:"query,omitempty"`
154401  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
154402  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
154403  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
154404  	AdditionalProperties map[string]interface{} `json:""`
154405  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
154406  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
154407  	// 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])).
154408  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
154409  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
154410  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
154411  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
154412  	Type TypeBasicCopySource `json:"type,omitempty"`
154413  }
154414  
154415  // MarshalJSON is the custom marshaler for PrestoSource.
154416  func (ps PrestoSource) MarshalJSON() ([]byte, error) {
154417  	ps.Type = TypePrestoSource
154418  	objectMap := make(map[string]interface{})
154419  	if ps.Query != nil {
154420  		objectMap["query"] = ps.Query
154421  	}
154422  	if ps.QueryTimeout != nil {
154423  		objectMap["queryTimeout"] = ps.QueryTimeout
154424  	}
154425  	if ps.SourceRetryCount != nil {
154426  		objectMap["sourceRetryCount"] = ps.SourceRetryCount
154427  	}
154428  	if ps.SourceRetryWait != nil {
154429  		objectMap["sourceRetryWait"] = ps.SourceRetryWait
154430  	}
154431  	if ps.MaxConcurrentConnections != nil {
154432  		objectMap["maxConcurrentConnections"] = ps.MaxConcurrentConnections
154433  	}
154434  	if ps.Type != "" {
154435  		objectMap["type"] = ps.Type
154436  	}
154437  	for k, v := range ps.AdditionalProperties {
154438  		objectMap[k] = v
154439  	}
154440  	return json.Marshal(objectMap)
154441  }
154442  
154443  // AsHTTPSource is the BasicCopySource implementation for PrestoSource.
154444  func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) {
154445  	return nil, false
154446  }
154447  
154448  // AsAzureBlobFSSource is the BasicCopySource implementation for PrestoSource.
154449  func (ps PrestoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
154450  	return nil, false
154451  }
154452  
154453  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource.
154454  func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
154455  	return nil, false
154456  }
154457  
154458  // AsOffice365Source is the BasicCopySource implementation for PrestoSource.
154459  func (ps PrestoSource) AsOffice365Source() (*Office365Source, bool) {
154460  	return nil, false
154461  }
154462  
154463  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PrestoSource.
154464  func (ps PrestoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
154465  	return nil, false
154466  }
154467  
154468  // AsMongoDbV2Source is the BasicCopySource implementation for PrestoSource.
154469  func (ps PrestoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
154470  	return nil, false
154471  }
154472  
154473  // AsMongoDbSource is the BasicCopySource implementation for PrestoSource.
154474  func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) {
154475  	return nil, false
154476  }
154477  
154478  // AsWebSource is the BasicCopySource implementation for PrestoSource.
154479  func (ps PrestoSource) AsWebSource() (*WebSource, bool) {
154480  	return nil, false
154481  }
154482  
154483  // AsOracleSource is the BasicCopySource implementation for PrestoSource.
154484  func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) {
154485  	return nil, false
154486  }
154487  
154488  // AsAzureDataExplorerSource is the BasicCopySource implementation for PrestoSource.
154489  func (ps PrestoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
154490  	return nil, false
154491  }
154492  
154493  // AsHdfsSource is the BasicCopySource implementation for PrestoSource.
154494  func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) {
154495  	return nil, false
154496  }
154497  
154498  // AsFileSystemSource is the BasicCopySource implementation for PrestoSource.
154499  func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) {
154500  	return nil, false
154501  }
154502  
154503  // AsRestSource is the BasicCopySource implementation for PrestoSource.
154504  func (ps PrestoSource) AsRestSource() (*RestSource, bool) {
154505  	return nil, false
154506  }
154507  
154508  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for PrestoSource.
154509  func (ps PrestoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
154510  	return nil, false
154511  }
154512  
154513  // AsODataSource is the BasicCopySource implementation for PrestoSource.
154514  func (ps PrestoSource) AsODataSource() (*ODataSource, bool) {
154515  	return nil, false
154516  }
154517  
154518  // AsMicrosoftAccessSource is the BasicCopySource implementation for PrestoSource.
154519  func (ps PrestoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
154520  	return nil, false
154521  }
154522  
154523  // AsRelationalSource is the BasicCopySource implementation for PrestoSource.
154524  func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) {
154525  	return nil, false
154526  }
154527  
154528  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PrestoSource.
154529  func (ps PrestoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
154530  	return nil, false
154531  }
154532  
154533  // AsDynamicsCrmSource is the BasicCopySource implementation for PrestoSource.
154534  func (ps PrestoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
154535  	return nil, false
154536  }
154537  
154538  // AsDynamicsSource is the BasicCopySource implementation for PrestoSource.
154539  func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) {
154540  	return nil, false
154541  }
154542  
154543  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for PrestoSource.
154544  func (ps PrestoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
154545  	return nil, false
154546  }
154547  
154548  // AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource.
154549  func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
154550  	return nil, false
154551  }
154552  
154553  // AsBlobSource is the BasicCopySource implementation for PrestoSource.
154554  func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) {
154555  	return nil, false
154556  }
154557  
154558  // AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource.
154559  func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
154560  	return nil, false
154561  }
154562  
154563  // AsGoogleAdWordsSource is the BasicCopySource implementation for PrestoSource.
154564  func (ps PrestoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
154565  	return nil, false
154566  }
154567  
154568  // AsOracleServiceCloudSource is the BasicCopySource implementation for PrestoSource.
154569  func (ps PrestoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
154570  	return nil, false
154571  }
154572  
154573  // AsDynamicsAXSource is the BasicCopySource implementation for PrestoSource.
154574  func (ps PrestoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
154575  	return nil, false
154576  }
154577  
154578  // AsResponsysSource is the BasicCopySource implementation for PrestoSource.
154579  func (ps PrestoSource) AsResponsysSource() (*ResponsysSource, bool) {
154580  	return nil, false
154581  }
154582  
154583  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for PrestoSource.
154584  func (ps PrestoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
154585  	return nil, false
154586  }
154587  
154588  // AsVerticaSource is the BasicCopySource implementation for PrestoSource.
154589  func (ps PrestoSource) AsVerticaSource() (*VerticaSource, bool) {
154590  	return nil, false
154591  }
154592  
154593  // AsNetezzaSource is the BasicCopySource implementation for PrestoSource.
154594  func (ps PrestoSource) AsNetezzaSource() (*NetezzaSource, bool) {
154595  	return nil, false
154596  }
154597  
154598  // AsZohoSource is the BasicCopySource implementation for PrestoSource.
154599  func (ps PrestoSource) AsZohoSource() (*ZohoSource, bool) {
154600  	return nil, false
154601  }
154602  
154603  // AsXeroSource is the BasicCopySource implementation for PrestoSource.
154604  func (ps PrestoSource) AsXeroSource() (*XeroSource, bool) {
154605  	return nil, false
154606  }
154607  
154608  // AsSquareSource is the BasicCopySource implementation for PrestoSource.
154609  func (ps PrestoSource) AsSquareSource() (*SquareSource, bool) {
154610  	return nil, false
154611  }
154612  
154613  // AsSparkSource is the BasicCopySource implementation for PrestoSource.
154614  func (ps PrestoSource) AsSparkSource() (*SparkSource, bool) {
154615  	return nil, false
154616  }
154617  
154618  // AsShopifySource is the BasicCopySource implementation for PrestoSource.
154619  func (ps PrestoSource) AsShopifySource() (*ShopifySource, bool) {
154620  	return nil, false
154621  }
154622  
154623  // AsServiceNowSource is the BasicCopySource implementation for PrestoSource.
154624  func (ps PrestoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
154625  	return nil, false
154626  }
154627  
154628  // AsQuickBooksSource is the BasicCopySource implementation for PrestoSource.
154629  func (ps PrestoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
154630  	return nil, false
154631  }
154632  
154633  // AsPrestoSource is the BasicCopySource implementation for PrestoSource.
154634  func (ps PrestoSource) AsPrestoSource() (*PrestoSource, bool) {
154635  	return &ps, true
154636  }
154637  
154638  // AsPhoenixSource is the BasicCopySource implementation for PrestoSource.
154639  func (ps PrestoSource) AsPhoenixSource() (*PhoenixSource, bool) {
154640  	return nil, false
154641  }
154642  
154643  // AsPaypalSource is the BasicCopySource implementation for PrestoSource.
154644  func (ps PrestoSource) AsPaypalSource() (*PaypalSource, bool) {
154645  	return nil, false
154646  }
154647  
154648  // AsMarketoSource is the BasicCopySource implementation for PrestoSource.
154649  func (ps PrestoSource) AsMarketoSource() (*MarketoSource, bool) {
154650  	return nil, false
154651  }
154652  
154653  // AsAzureMariaDBSource is the BasicCopySource implementation for PrestoSource.
154654  func (ps PrestoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
154655  	return nil, false
154656  }
154657  
154658  // AsMariaDBSource is the BasicCopySource implementation for PrestoSource.
154659  func (ps PrestoSource) AsMariaDBSource() (*MariaDBSource, bool) {
154660  	return nil, false
154661  }
154662  
154663  // AsMagentoSource is the BasicCopySource implementation for PrestoSource.
154664  func (ps PrestoSource) AsMagentoSource() (*MagentoSource, bool) {
154665  	return nil, false
154666  }
154667  
154668  // AsJiraSource is the BasicCopySource implementation for PrestoSource.
154669  func (ps PrestoSource) AsJiraSource() (*JiraSource, bool) {
154670  	return nil, false
154671  }
154672  
154673  // AsImpalaSource is the BasicCopySource implementation for PrestoSource.
154674  func (ps PrestoSource) AsImpalaSource() (*ImpalaSource, bool) {
154675  	return nil, false
154676  }
154677  
154678  // AsHubspotSource is the BasicCopySource implementation for PrestoSource.
154679  func (ps PrestoSource) AsHubspotSource() (*HubspotSource, bool) {
154680  	return nil, false
154681  }
154682  
154683  // AsHiveSource is the BasicCopySource implementation for PrestoSource.
154684  func (ps PrestoSource) AsHiveSource() (*HiveSource, bool) {
154685  	return nil, false
154686  }
154687  
154688  // AsHBaseSource is the BasicCopySource implementation for PrestoSource.
154689  func (ps PrestoSource) AsHBaseSource() (*HBaseSource, bool) {
154690  	return nil, false
154691  }
154692  
154693  // AsGreenplumSource is the BasicCopySource implementation for PrestoSource.
154694  func (ps PrestoSource) AsGreenplumSource() (*GreenplumSource, bool) {
154695  	return nil, false
154696  }
154697  
154698  // AsGoogleBigQuerySource is the BasicCopySource implementation for PrestoSource.
154699  func (ps PrestoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
154700  	return nil, false
154701  }
154702  
154703  // AsEloquaSource is the BasicCopySource implementation for PrestoSource.
154704  func (ps PrestoSource) AsEloquaSource() (*EloquaSource, bool) {
154705  	return nil, false
154706  }
154707  
154708  // AsDrillSource is the BasicCopySource implementation for PrestoSource.
154709  func (ps PrestoSource) AsDrillSource() (*DrillSource, bool) {
154710  	return nil, false
154711  }
154712  
154713  // AsCouchbaseSource is the BasicCopySource implementation for PrestoSource.
154714  func (ps PrestoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
154715  	return nil, false
154716  }
154717  
154718  // AsConcurSource is the BasicCopySource implementation for PrestoSource.
154719  func (ps PrestoSource) AsConcurSource() (*ConcurSource, bool) {
154720  	return nil, false
154721  }
154722  
154723  // AsAzurePostgreSQLSource is the BasicCopySource implementation for PrestoSource.
154724  func (ps PrestoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
154725  	return nil, false
154726  }
154727  
154728  // AsAmazonMWSSource is the BasicCopySource implementation for PrestoSource.
154729  func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
154730  	return nil, false
154731  }
154732  
154733  // AsCassandraSource is the BasicCopySource implementation for PrestoSource.
154734  func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) {
154735  	return nil, false
154736  }
154737  
154738  // AsTeradataSource is the BasicCopySource implementation for PrestoSource.
154739  func (ps PrestoSource) AsTeradataSource() (*TeradataSource, bool) {
154740  	return nil, false
154741  }
154742  
154743  // AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource.
154744  func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
154745  	return nil, false
154746  }
154747  
154748  // AsSQLDWSource is the BasicCopySource implementation for PrestoSource.
154749  func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) {
154750  	return nil, false
154751  }
154752  
154753  // AsSQLMISource is the BasicCopySource implementation for PrestoSource.
154754  func (ps PrestoSource) AsSQLMISource() (*SQLMISource, bool) {
154755  	return nil, false
154756  }
154757  
154758  // AsAzureSQLSource is the BasicCopySource implementation for PrestoSource.
154759  func (ps PrestoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
154760  	return nil, false
154761  }
154762  
154763  // AsSQLServerSource is the BasicCopySource implementation for PrestoSource.
154764  func (ps PrestoSource) AsSQLServerSource() (*SQLServerSource, bool) {
154765  	return nil, false
154766  }
154767  
154768  // AsSQLSource is the BasicCopySource implementation for PrestoSource.
154769  func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) {
154770  	return nil, false
154771  }
154772  
154773  // AsSapTableSource is the BasicCopySource implementation for PrestoSource.
154774  func (ps PrestoSource) AsSapTableSource() (*SapTableSource, bool) {
154775  	return nil, false
154776  }
154777  
154778  // AsSapOpenHubSource is the BasicCopySource implementation for PrestoSource.
154779  func (ps PrestoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
154780  	return nil, false
154781  }
154782  
154783  // AsSapHanaSource is the BasicCopySource implementation for PrestoSource.
154784  func (ps PrestoSource) AsSapHanaSource() (*SapHanaSource, bool) {
154785  	return nil, false
154786  }
154787  
154788  // AsSapEccSource is the BasicCopySource implementation for PrestoSource.
154789  func (ps PrestoSource) AsSapEccSource() (*SapEccSource, bool) {
154790  	return nil, false
154791  }
154792  
154793  // AsSapCloudForCustomerSource is the BasicCopySource implementation for PrestoSource.
154794  func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
154795  	return nil, false
154796  }
154797  
154798  // AsSalesforceSource is the BasicCopySource implementation for PrestoSource.
154799  func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) {
154800  	return nil, false
154801  }
154802  
154803  // AsSapBwSource is the BasicCopySource implementation for PrestoSource.
154804  func (ps PrestoSource) AsSapBwSource() (*SapBwSource, bool) {
154805  	return nil, false
154806  }
154807  
154808  // AsSybaseSource is the BasicCopySource implementation for PrestoSource.
154809  func (ps PrestoSource) AsSybaseSource() (*SybaseSource, bool) {
154810  	return nil, false
154811  }
154812  
154813  // AsPostgreSQLSource is the BasicCopySource implementation for PrestoSource.
154814  func (ps PrestoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
154815  	return nil, false
154816  }
154817  
154818  // AsMySQLSource is the BasicCopySource implementation for PrestoSource.
154819  func (ps PrestoSource) AsMySQLSource() (*MySQLSource, bool) {
154820  	return nil, false
154821  }
154822  
154823  // AsOdbcSource is the BasicCopySource implementation for PrestoSource.
154824  func (ps PrestoSource) AsOdbcSource() (*OdbcSource, bool) {
154825  	return nil, false
154826  }
154827  
154828  // AsDb2Source is the BasicCopySource implementation for PrestoSource.
154829  func (ps PrestoSource) AsDb2Source() (*Db2Source, bool) {
154830  	return nil, false
154831  }
154832  
154833  // AsInformixSource is the BasicCopySource implementation for PrestoSource.
154834  func (ps PrestoSource) AsInformixSource() (*InformixSource, bool) {
154835  	return nil, false
154836  }
154837  
154838  // AsAzureTableSource is the BasicCopySource implementation for PrestoSource.
154839  func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) {
154840  	return nil, false
154841  }
154842  
154843  // AsTabularSource is the BasicCopySource implementation for PrestoSource.
154844  func (ps PrestoSource) AsTabularSource() (*TabularSource, bool) {
154845  	return nil, false
154846  }
154847  
154848  // AsBasicTabularSource is the BasicCopySource implementation for PrestoSource.
154849  func (ps PrestoSource) AsBasicTabularSource() (BasicTabularSource, bool) {
154850  	return &ps, true
154851  }
154852  
154853  // AsBinarySource is the BasicCopySource implementation for PrestoSource.
154854  func (ps PrestoSource) AsBinarySource() (*BinarySource, bool) {
154855  	return nil, false
154856  }
154857  
154858  // AsOrcSource is the BasicCopySource implementation for PrestoSource.
154859  func (ps PrestoSource) AsOrcSource() (*OrcSource, bool) {
154860  	return nil, false
154861  }
154862  
154863  // AsJSONSource is the BasicCopySource implementation for PrestoSource.
154864  func (ps PrestoSource) AsJSONSource() (*JSONSource, bool) {
154865  	return nil, false
154866  }
154867  
154868  // AsDelimitedTextSource is the BasicCopySource implementation for PrestoSource.
154869  func (ps PrestoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
154870  	return nil, false
154871  }
154872  
154873  // AsParquetSource is the BasicCopySource implementation for PrestoSource.
154874  func (ps PrestoSource) AsParquetSource() (*ParquetSource, bool) {
154875  	return nil, false
154876  }
154877  
154878  // AsAvroSource is the BasicCopySource implementation for PrestoSource.
154879  func (ps PrestoSource) AsAvroSource() (*AvroSource, bool) {
154880  	return nil, false
154881  }
154882  
154883  // AsCopySource is the BasicCopySource implementation for PrestoSource.
154884  func (ps PrestoSource) AsCopySource() (*CopySource, bool) {
154885  	return nil, false
154886  }
154887  
154888  // AsBasicCopySource is the BasicCopySource implementation for PrestoSource.
154889  func (ps PrestoSource) AsBasicCopySource() (BasicCopySource, bool) {
154890  	return &ps, true
154891  }
154892  
154893  // UnmarshalJSON is the custom unmarshaler for PrestoSource struct.
154894  func (ps *PrestoSource) UnmarshalJSON(body []byte) error {
154895  	var m map[string]*json.RawMessage
154896  	err := json.Unmarshal(body, &m)
154897  	if err != nil {
154898  		return err
154899  	}
154900  	for k, v := range m {
154901  		switch k {
154902  		case "query":
154903  			if v != nil {
154904  				var query interface{}
154905  				err = json.Unmarshal(*v, &query)
154906  				if err != nil {
154907  					return err
154908  				}
154909  				ps.Query = query
154910  			}
154911  		case "queryTimeout":
154912  			if v != nil {
154913  				var queryTimeout interface{}
154914  				err = json.Unmarshal(*v, &queryTimeout)
154915  				if err != nil {
154916  					return err
154917  				}
154918  				ps.QueryTimeout = queryTimeout
154919  			}
154920  		default:
154921  			if v != nil {
154922  				var additionalProperties interface{}
154923  				err = json.Unmarshal(*v, &additionalProperties)
154924  				if err != nil {
154925  					return err
154926  				}
154927  				if ps.AdditionalProperties == nil {
154928  					ps.AdditionalProperties = make(map[string]interface{})
154929  				}
154930  				ps.AdditionalProperties[k] = additionalProperties
154931  			}
154932  		case "sourceRetryCount":
154933  			if v != nil {
154934  				var sourceRetryCount interface{}
154935  				err = json.Unmarshal(*v, &sourceRetryCount)
154936  				if err != nil {
154937  					return err
154938  				}
154939  				ps.SourceRetryCount = sourceRetryCount
154940  			}
154941  		case "sourceRetryWait":
154942  			if v != nil {
154943  				var sourceRetryWait interface{}
154944  				err = json.Unmarshal(*v, &sourceRetryWait)
154945  				if err != nil {
154946  					return err
154947  				}
154948  				ps.SourceRetryWait = sourceRetryWait
154949  			}
154950  		case "maxConcurrentConnections":
154951  			if v != nil {
154952  				var maxConcurrentConnections interface{}
154953  				err = json.Unmarshal(*v, &maxConcurrentConnections)
154954  				if err != nil {
154955  					return err
154956  				}
154957  				ps.MaxConcurrentConnections = maxConcurrentConnections
154958  			}
154959  		case "type":
154960  			if v != nil {
154961  				var typeVar TypeBasicCopySource
154962  				err = json.Unmarshal(*v, &typeVar)
154963  				if err != nil {
154964  					return err
154965  				}
154966  				ps.Type = typeVar
154967  			}
154968  		}
154969  	}
154970  
154971  	return nil
154972  }
154973  
154974  // PrivateEndpoint private endpoint details
154975  type PrivateEndpoint struct {
154976  	// ID - READ-ONLY; Resource id of the private endpoint.
154977  	ID *string `json:"id,omitempty"`
154978  }
154979  
154980  // MarshalJSON is the custom marshaler for PrivateEndpoint.
154981  func (peVar PrivateEndpoint) MarshalJSON() ([]byte, error) {
154982  	objectMap := make(map[string]interface{})
154983  	return json.Marshal(objectMap)
154984  }
154985  
154986  // PrivateEndpointConnection a private endpoint connection
154987  type PrivateEndpointConnection struct {
154988  	// PrivateEndpointConnectionProperties - Private endpoint connection properties.
154989  	*PrivateEndpointConnectionProperties `json:"properties,omitempty"`
154990  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
154991  	ID *string `json:"id,omitempty"`
154992  	// Name - READ-ONLY; The name of the resource
154993  	Name *string `json:"name,omitempty"`
154994  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
154995  	Type *string `json:"type,omitempty"`
154996  }
154997  
154998  // MarshalJSON is the custom marshaler for PrivateEndpointConnection.
154999  func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) {
155000  	objectMap := make(map[string]interface{})
155001  	if pec.PrivateEndpointConnectionProperties != nil {
155002  		objectMap["properties"] = pec.PrivateEndpointConnectionProperties
155003  	}
155004  	return json.Marshal(objectMap)
155005  }
155006  
155007  // UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct.
155008  func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error {
155009  	var m map[string]*json.RawMessage
155010  	err := json.Unmarshal(body, &m)
155011  	if err != nil {
155012  		return err
155013  	}
155014  	for k, v := range m {
155015  		switch k {
155016  		case "properties":
155017  			if v != nil {
155018  				var privateEndpointConnectionProperties PrivateEndpointConnectionProperties
155019  				err = json.Unmarshal(*v, &privateEndpointConnectionProperties)
155020  				if err != nil {
155021  					return err
155022  				}
155023  				pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties
155024  			}
155025  		case "id":
155026  			if v != nil {
155027  				var ID string
155028  				err = json.Unmarshal(*v, &ID)
155029  				if err != nil {
155030  					return err
155031  				}
155032  				pec.ID = &ID
155033  			}
155034  		case "name":
155035  			if v != nil {
155036  				var name string
155037  				err = json.Unmarshal(*v, &name)
155038  				if err != nil {
155039  					return err
155040  				}
155041  				pec.Name = &name
155042  			}
155043  		case "type":
155044  			if v != nil {
155045  				var typeVar string
155046  				err = json.Unmarshal(*v, &typeVar)
155047  				if err != nil {
155048  					return err
155049  				}
155050  				pec.Type = &typeVar
155051  			}
155052  		}
155053  	}
155054  
155055  	return nil
155056  }
155057  
155058  // PrivateEndpointConnectionProperties properties of a private endpoint connection.
155059  type PrivateEndpointConnectionProperties struct {
155060  	// PrivateEndpoint - The private endpoint which the connection belongs to.
155061  	PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"`
155062  	// PrivateLinkServiceConnectionState - Connection state of the private endpoint connection.
155063  	PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"`
155064  	// ProvisioningState - READ-ONLY; Provisioning state of the private endpoint connection.
155065  	ProvisioningState *string `json:"provisioningState,omitempty"`
155066  }
155067  
155068  // MarshalJSON is the custom marshaler for PrivateEndpointConnectionProperties.
155069  func (pecp PrivateEndpointConnectionProperties) MarshalJSON() ([]byte, error) {
155070  	objectMap := make(map[string]interface{})
155071  	if pecp.PrivateEndpoint != nil {
155072  		objectMap["privateEndpoint"] = pecp.PrivateEndpoint
155073  	}
155074  	if pecp.PrivateLinkServiceConnectionState != nil {
155075  		objectMap["privateLinkServiceConnectionState"] = pecp.PrivateLinkServiceConnectionState
155076  	}
155077  	return json.Marshal(objectMap)
155078  }
155079  
155080  // PrivateLinkServiceConnectionState connection state details of the private endpoint
155081  type PrivateLinkServiceConnectionState struct {
155082  	// Status - The private link service connection status.
155083  	Status *string `json:"status,omitempty"`
155084  	// Description - The private link service connection description.
155085  	Description *string `json:"description,omitempty"`
155086  	// ActionsRequired - READ-ONLY; The actions required for private link service connection.
155087  	ActionsRequired *string `json:"actionsRequired,omitempty"`
155088  }
155089  
155090  // MarshalJSON is the custom marshaler for PrivateLinkServiceConnectionState.
155091  func (plscs PrivateLinkServiceConnectionState) MarshalJSON() ([]byte, error) {
155092  	objectMap := make(map[string]interface{})
155093  	if plscs.Status != nil {
155094  		objectMap["status"] = plscs.Status
155095  	}
155096  	if plscs.Description != nil {
155097  		objectMap["description"] = plscs.Description
155098  	}
155099  	return json.Marshal(objectMap)
155100  }
155101  
155102  // ProxyResource the resource model definition for a Azure Resource Manager proxy resource. It will not
155103  // have tags and a location
155104  type ProxyResource struct {
155105  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
155106  	ID *string `json:"id,omitempty"`
155107  	// Name - READ-ONLY; The name of the resource
155108  	Name *string `json:"name,omitempty"`
155109  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
155110  	Type *string `json:"type,omitempty"`
155111  }
155112  
155113  // MarshalJSON is the custom marshaler for ProxyResource.
155114  func (pr ProxyResource) MarshalJSON() ([]byte, error) {
155115  	objectMap := make(map[string]interface{})
155116  	return json.Marshal(objectMap)
155117  }
155118  
155119  // PurviewConfiguration purview Configuration
155120  type PurviewConfiguration struct {
155121  	// PurviewResourceID - Purview Resource ID
155122  	PurviewResourceID *string `json:"purviewResourceId,omitempty"`
155123  }
155124  
155125  // QueryDataFlowDebugSessionsResponse a list of active debug sessions.
155126  type QueryDataFlowDebugSessionsResponse struct {
155127  	autorest.Response `json:"-"`
155128  	// Value - Array with all active debug sessions.
155129  	Value *[]DataFlowDebugSessionInfo `json:"value,omitempty"`
155130  	// NextLink - The link to the next page of results, if any remaining results exist.
155131  	NextLink *string `json:"nextLink,omitempty"`
155132  }
155133  
155134  // QueryDataFlowDebugSessionsResponseIterator provides access to a complete listing of
155135  // DataFlowDebugSessionInfo values.
155136  type QueryDataFlowDebugSessionsResponseIterator struct {
155137  	i    int
155138  	page QueryDataFlowDebugSessionsResponsePage
155139  }
155140  
155141  // NextWithContext advances to the next value.  If there was an error making
155142  // the request the iterator does not advance and the error is returned.
155143  func (iter *QueryDataFlowDebugSessionsResponseIterator) NextWithContext(ctx context.Context) (err error) {
155144  	if tracing.IsEnabled() {
155145  		ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponseIterator.NextWithContext")
155146  		defer func() {
155147  			sc := -1
155148  			if iter.Response().Response.Response != nil {
155149  				sc = iter.Response().Response.Response.StatusCode
155150  			}
155151  			tracing.EndSpan(ctx, sc, err)
155152  		}()
155153  	}
155154  	iter.i++
155155  	if iter.i < len(iter.page.Values()) {
155156  		return nil
155157  	}
155158  	err = iter.page.NextWithContext(ctx)
155159  	if err != nil {
155160  		iter.i--
155161  		return err
155162  	}
155163  	iter.i = 0
155164  	return nil
155165  }
155166  
155167  // Next advances to the next value.  If there was an error making
155168  // the request the iterator does not advance and the error is returned.
155169  // Deprecated: Use NextWithContext() instead.
155170  func (iter *QueryDataFlowDebugSessionsResponseIterator) Next() error {
155171  	return iter.NextWithContext(context.Background())
155172  }
155173  
155174  // NotDone returns true if the enumeration should be started or is not yet complete.
155175  func (iter QueryDataFlowDebugSessionsResponseIterator) NotDone() bool {
155176  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
155177  }
155178  
155179  // Response returns the raw server response from the last page request.
155180  func (iter QueryDataFlowDebugSessionsResponseIterator) Response() QueryDataFlowDebugSessionsResponse {
155181  	return iter.page.Response()
155182  }
155183  
155184  // Value returns the current value or a zero-initialized value if the
155185  // iterator has advanced beyond the end of the collection.
155186  func (iter QueryDataFlowDebugSessionsResponseIterator) Value() DataFlowDebugSessionInfo {
155187  	if !iter.page.NotDone() {
155188  		return DataFlowDebugSessionInfo{}
155189  	}
155190  	return iter.page.Values()[iter.i]
155191  }
155192  
155193  // Creates a new instance of the QueryDataFlowDebugSessionsResponseIterator type.
155194  func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator {
155195  	return QueryDataFlowDebugSessionsResponseIterator{page: page}
155196  }
155197  
155198  // IsEmpty returns true if the ListResult contains no values.
155199  func (qdfdsr QueryDataFlowDebugSessionsResponse) IsEmpty() bool {
155200  	return qdfdsr.Value == nil || len(*qdfdsr.Value) == 0
155201  }
155202  
155203  // hasNextLink returns true if the NextLink is not empty.
155204  func (qdfdsr QueryDataFlowDebugSessionsResponse) hasNextLink() bool {
155205  	return qdfdsr.NextLink != nil && len(*qdfdsr.NextLink) != 0
155206  }
155207  
155208  // queryDataFlowDebugSessionsResponsePreparer prepares a request to retrieve the next set of results.
155209  // It returns nil if no more results exist.
155210  func (qdfdsr QueryDataFlowDebugSessionsResponse) queryDataFlowDebugSessionsResponsePreparer(ctx context.Context) (*http.Request, error) {
155211  	if !qdfdsr.hasNextLink() {
155212  		return nil, nil
155213  	}
155214  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
155215  		autorest.AsJSON(),
155216  		autorest.AsGet(),
155217  		autorest.WithBaseURL(to.String(qdfdsr.NextLink)))
155218  }
155219  
155220  // QueryDataFlowDebugSessionsResponsePage contains a page of DataFlowDebugSessionInfo values.
155221  type QueryDataFlowDebugSessionsResponsePage struct {
155222  	fn     func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)
155223  	qdfdsr QueryDataFlowDebugSessionsResponse
155224  }
155225  
155226  // NextWithContext advances to the next page of values.  If there was an error making
155227  // the request the page does not advance and the error is returned.
155228  func (page *QueryDataFlowDebugSessionsResponsePage) NextWithContext(ctx context.Context) (err error) {
155229  	if tracing.IsEnabled() {
155230  		ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponsePage.NextWithContext")
155231  		defer func() {
155232  			sc := -1
155233  			if page.Response().Response.Response != nil {
155234  				sc = page.Response().Response.Response.StatusCode
155235  			}
155236  			tracing.EndSpan(ctx, sc, err)
155237  		}()
155238  	}
155239  	for {
155240  		next, err := page.fn(ctx, page.qdfdsr)
155241  		if err != nil {
155242  			return err
155243  		}
155244  		page.qdfdsr = next
155245  		if !next.hasNextLink() || !next.IsEmpty() {
155246  			break
155247  		}
155248  	}
155249  	return nil
155250  }
155251  
155252  // Next advances to the next page of values.  If there was an error making
155253  // the request the page does not advance and the error is returned.
155254  // Deprecated: Use NextWithContext() instead.
155255  func (page *QueryDataFlowDebugSessionsResponsePage) Next() error {
155256  	return page.NextWithContext(context.Background())
155257  }
155258  
155259  // NotDone returns true if the page enumeration should be started or is not yet complete.
155260  func (page QueryDataFlowDebugSessionsResponsePage) NotDone() bool {
155261  	return !page.qdfdsr.IsEmpty()
155262  }
155263  
155264  // Response returns the raw server response from the last page request.
155265  func (page QueryDataFlowDebugSessionsResponsePage) Response() QueryDataFlowDebugSessionsResponse {
155266  	return page.qdfdsr
155267  }
155268  
155269  // Values returns the slice of values for the current page or nil if there are no values.
155270  func (page QueryDataFlowDebugSessionsResponsePage) Values() []DataFlowDebugSessionInfo {
155271  	if page.qdfdsr.IsEmpty() {
155272  		return nil
155273  	}
155274  	return *page.qdfdsr.Value
155275  }
155276  
155277  // Creates a new instance of the QueryDataFlowDebugSessionsResponsePage type.
155278  func NewQueryDataFlowDebugSessionsResponsePage(cur QueryDataFlowDebugSessionsResponse, getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage {
155279  	return QueryDataFlowDebugSessionsResponsePage{
155280  		fn:     getNextPage,
155281  		qdfdsr: cur,
155282  	}
155283  }
155284  
155285  // QuickBooksLinkedService quickBooks server linked service.
155286  type QuickBooksLinkedService struct {
155287  	// QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties.
155288  	*QuickBooksLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
155289  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
155290  	AdditionalProperties map[string]interface{} `json:""`
155291  	// ConnectVia - The integration runtime reference.
155292  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
155293  	// Description - Linked service description.
155294  	Description *string `json:"description,omitempty"`
155295  	// Parameters - Parameters for linked service.
155296  	Parameters map[string]*ParameterSpecification `json:"parameters"`
155297  	// Annotations - List of tags that can be used for describing the linked service.
155298  	Annotations *[]interface{} `json:"annotations,omitempty"`
155299  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
155300  	Type TypeBasicLinkedService `json:"type,omitempty"`
155301  }
155302  
155303  // MarshalJSON is the custom marshaler for QuickBooksLinkedService.
155304  func (qbls QuickBooksLinkedService) MarshalJSON() ([]byte, error) {
155305  	qbls.Type = TypeQuickBooks
155306  	objectMap := make(map[string]interface{})
155307  	if qbls.QuickBooksLinkedServiceTypeProperties != nil {
155308  		objectMap["typeProperties"] = qbls.QuickBooksLinkedServiceTypeProperties
155309  	}
155310  	if qbls.ConnectVia != nil {
155311  		objectMap["connectVia"] = qbls.ConnectVia
155312  	}
155313  	if qbls.Description != nil {
155314  		objectMap["description"] = qbls.Description
155315  	}
155316  	if qbls.Parameters != nil {
155317  		objectMap["parameters"] = qbls.Parameters
155318  	}
155319  	if qbls.Annotations != nil {
155320  		objectMap["annotations"] = qbls.Annotations
155321  	}
155322  	if qbls.Type != "" {
155323  		objectMap["type"] = qbls.Type
155324  	}
155325  	for k, v := range qbls.AdditionalProperties {
155326  		objectMap[k] = v
155327  	}
155328  	return json.Marshal(objectMap)
155329  }
155330  
155331  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155332  func (qbls QuickBooksLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
155333  	return nil, false
155334  }
155335  
155336  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155337  func (qbls QuickBooksLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
155338  	return nil, false
155339  }
155340  
155341  // AsSapTableLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155342  func (qbls QuickBooksLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
155343  	return nil, false
155344  }
155345  
155346  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155347  func (qbls QuickBooksLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
155348  	return nil, false
155349  }
155350  
155351  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155352  func (qbls QuickBooksLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
155353  	return nil, false
155354  }
155355  
155356  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155357  func (qbls QuickBooksLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
155358  	return nil, false
155359  }
155360  
155361  // AsResponsysLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155362  func (qbls QuickBooksLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
155363  	return nil, false
155364  }
155365  
155366  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155367  func (qbls QuickBooksLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
155368  	return nil, false
155369  }
155370  
155371  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155372  func (qbls QuickBooksLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
155373  	return nil, false
155374  }
155375  
155376  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155377  func (qbls QuickBooksLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
155378  	return nil, false
155379  }
155380  
155381  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155382  func (qbls QuickBooksLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
155383  	return nil, false
155384  }
155385  
155386  // AsNetezzaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155387  func (qbls QuickBooksLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
155388  	return nil, false
155389  }
155390  
155391  // AsVerticaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155392  func (qbls QuickBooksLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
155393  	return nil, false
155394  }
155395  
155396  // AsZohoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155397  func (qbls QuickBooksLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
155398  	return nil, false
155399  }
155400  
155401  // AsXeroLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155402  func (qbls QuickBooksLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
155403  	return nil, false
155404  }
155405  
155406  // AsSquareLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155407  func (qbls QuickBooksLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
155408  	return nil, false
155409  }
155410  
155411  // AsSparkLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155412  func (qbls QuickBooksLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
155413  	return nil, false
155414  }
155415  
155416  // AsShopifyLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155417  func (qbls QuickBooksLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
155418  	return nil, false
155419  }
155420  
155421  // AsServiceNowLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155422  func (qbls QuickBooksLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
155423  	return nil, false
155424  }
155425  
155426  // AsQuickBooksLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155427  func (qbls QuickBooksLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
155428  	return &qbls, true
155429  }
155430  
155431  // AsPrestoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155432  func (qbls QuickBooksLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
155433  	return nil, false
155434  }
155435  
155436  // AsPhoenixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155437  func (qbls QuickBooksLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
155438  	return nil, false
155439  }
155440  
155441  // AsPaypalLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155442  func (qbls QuickBooksLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
155443  	return nil, false
155444  }
155445  
155446  // AsMarketoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155447  func (qbls QuickBooksLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
155448  	return nil, false
155449  }
155450  
155451  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155452  func (qbls QuickBooksLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
155453  	return nil, false
155454  }
155455  
155456  // AsMariaDBLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155457  func (qbls QuickBooksLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
155458  	return nil, false
155459  }
155460  
155461  // AsMagentoLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155462  func (qbls QuickBooksLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
155463  	return nil, false
155464  }
155465  
155466  // AsJiraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155467  func (qbls QuickBooksLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
155468  	return nil, false
155469  }
155470  
155471  // AsImpalaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155472  func (qbls QuickBooksLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
155473  	return nil, false
155474  }
155475  
155476  // AsHubspotLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155477  func (qbls QuickBooksLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
155478  	return nil, false
155479  }
155480  
155481  // AsHiveLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155482  func (qbls QuickBooksLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
155483  	return nil, false
155484  }
155485  
155486  // AsHBaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155487  func (qbls QuickBooksLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
155488  	return nil, false
155489  }
155490  
155491  // AsGreenplumLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155492  func (qbls QuickBooksLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
155493  	return nil, false
155494  }
155495  
155496  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155497  func (qbls QuickBooksLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
155498  	return nil, false
155499  }
155500  
155501  // AsEloquaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155502  func (qbls QuickBooksLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
155503  	return nil, false
155504  }
155505  
155506  // AsDrillLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155507  func (qbls QuickBooksLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
155508  	return nil, false
155509  }
155510  
155511  // AsCouchbaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155512  func (qbls QuickBooksLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
155513  	return nil, false
155514  }
155515  
155516  // AsConcurLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155517  func (qbls QuickBooksLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
155518  	return nil, false
155519  }
155520  
155521  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155522  func (qbls QuickBooksLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
155523  	return nil, false
155524  }
155525  
155526  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155527  func (qbls QuickBooksLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
155528  	return nil, false
155529  }
155530  
155531  // AsSapHanaLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155532  func (qbls QuickBooksLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
155533  	return nil, false
155534  }
155535  
155536  // AsSapBWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155537  func (qbls QuickBooksLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
155538  	return nil, false
155539  }
155540  
155541  // AsSftpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155542  func (qbls QuickBooksLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
155543  	return nil, false
155544  }
155545  
155546  // AsFtpServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155547  func (qbls QuickBooksLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
155548  	return nil, false
155549  }
155550  
155551  // AsHTTPLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155552  func (qbls QuickBooksLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
155553  	return nil, false
155554  }
155555  
155556  // AsAzureSearchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155557  func (qbls QuickBooksLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
155558  	return nil, false
155559  }
155560  
155561  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155562  func (qbls QuickBooksLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
155563  	return nil, false
155564  }
155565  
155566  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155567  func (qbls QuickBooksLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
155568  	return nil, false
155569  }
155570  
155571  // AsAmazonS3LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155572  func (qbls QuickBooksLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
155573  	return nil, false
155574  }
155575  
155576  // AsRestServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155577  func (qbls QuickBooksLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
155578  	return nil, false
155579  }
155580  
155581  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155582  func (qbls QuickBooksLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
155583  	return nil, false
155584  }
155585  
155586  // AsSapEccLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155587  func (qbls QuickBooksLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
155588  	return nil, false
155589  }
155590  
155591  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155592  func (qbls QuickBooksLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
155593  	return nil, false
155594  }
155595  
155596  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155597  func (qbls QuickBooksLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
155598  	return nil, false
155599  }
155600  
155601  // AsSalesforceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155602  func (qbls QuickBooksLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
155603  	return nil, false
155604  }
155605  
155606  // AsOffice365LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155607  func (qbls QuickBooksLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
155608  	return nil, false
155609  }
155610  
155611  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155612  func (qbls QuickBooksLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
155613  	return nil, false
155614  }
155615  
155616  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155617  func (qbls QuickBooksLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
155618  	return nil, false
155619  }
155620  
155621  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155622  func (qbls QuickBooksLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
155623  	return nil, false
155624  }
155625  
155626  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155627  func (qbls QuickBooksLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
155628  	return nil, false
155629  }
155630  
155631  // AsMongoDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155632  func (qbls QuickBooksLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
155633  	return nil, false
155634  }
155635  
155636  // AsCassandraLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155637  func (qbls QuickBooksLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
155638  	return nil, false
155639  }
155640  
155641  // AsWebLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155642  func (qbls QuickBooksLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
155643  	return nil, false
155644  }
155645  
155646  // AsODataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155647  func (qbls QuickBooksLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
155648  	return nil, false
155649  }
155650  
155651  // AsHdfsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155652  func (qbls QuickBooksLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
155653  	return nil, false
155654  }
155655  
155656  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155657  func (qbls QuickBooksLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
155658  	return nil, false
155659  }
155660  
155661  // AsInformixLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155662  func (qbls QuickBooksLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
155663  	return nil, false
155664  }
155665  
155666  // AsOdbcLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155667  func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
155668  	return nil, false
155669  }
155670  
155671  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155672  func (qbls QuickBooksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
155673  	return nil, false
155674  }
155675  
155676  // AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155677  func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
155678  	return nil, false
155679  }
155680  
155681  // AsTeradataLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155682  func (qbls QuickBooksLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
155683  	return nil, false
155684  }
155685  
155686  // AsDb2LinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155687  func (qbls QuickBooksLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
155688  	return nil, false
155689  }
155690  
155691  // AsSybaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155692  func (qbls QuickBooksLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
155693  	return nil, false
155694  }
155695  
155696  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155697  func (qbls QuickBooksLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
155698  	return nil, false
155699  }
155700  
155701  // AsMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155702  func (qbls QuickBooksLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
155703  	return nil, false
155704  }
155705  
155706  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155707  func (qbls QuickBooksLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
155708  	return nil, false
155709  }
155710  
155711  // AsOracleLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155712  func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
155713  	return nil, false
155714  }
155715  
155716  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155717  func (qbls QuickBooksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
155718  	return nil, false
155719  }
155720  
155721  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155722  func (qbls QuickBooksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
155723  	return nil, false
155724  }
155725  
155726  // AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155727  func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
155728  	return nil, false
155729  }
155730  
155731  // AsHDInsightLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155732  func (qbls QuickBooksLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
155733  	return nil, false
155734  }
155735  
155736  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155737  func (qbls QuickBooksLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
155738  	return nil, false
155739  }
155740  
155741  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155742  func (qbls QuickBooksLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
155743  	return nil, false
155744  }
155745  
155746  // AsDynamicsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155747  func (qbls QuickBooksLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
155748  	return nil, false
155749  }
155750  
155751  // AsCosmosDbLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155752  func (qbls QuickBooksLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
155753  	return nil, false
155754  }
155755  
155756  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155757  func (qbls QuickBooksLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
155758  	return nil, false
155759  }
155760  
155761  // AsAzureBatchLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155762  func (qbls QuickBooksLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
155763  	return nil, false
155764  }
155765  
155766  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155767  func (qbls QuickBooksLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
155768  	return nil, false
155769  }
155770  
155771  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155772  func (qbls QuickBooksLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
155773  	return nil, false
155774  }
155775  
155776  // AsSQLServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155777  func (qbls QuickBooksLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
155778  	return nil, false
155779  }
155780  
155781  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155782  func (qbls QuickBooksLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
155783  	return nil, false
155784  }
155785  
155786  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155787  func (qbls QuickBooksLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
155788  	return nil, false
155789  }
155790  
155791  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155792  func (qbls QuickBooksLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
155793  	return nil, false
155794  }
155795  
155796  // AsAzureStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155797  func (qbls QuickBooksLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
155798  	return nil, false
155799  }
155800  
155801  // AsLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155802  func (qbls QuickBooksLinkedService) AsLinkedService() (*LinkedService, bool) {
155803  	return nil, false
155804  }
155805  
155806  // AsBasicLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService.
155807  func (qbls QuickBooksLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
155808  	return &qbls, true
155809  }
155810  
155811  // UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedService struct.
155812  func (qbls *QuickBooksLinkedService) UnmarshalJSON(body []byte) error {
155813  	var m map[string]*json.RawMessage
155814  	err := json.Unmarshal(body, &m)
155815  	if err != nil {
155816  		return err
155817  	}
155818  	for k, v := range m {
155819  		switch k {
155820  		case "typeProperties":
155821  			if v != nil {
155822  				var quickBooksLinkedServiceTypeProperties QuickBooksLinkedServiceTypeProperties
155823  				err = json.Unmarshal(*v, &quickBooksLinkedServiceTypeProperties)
155824  				if err != nil {
155825  					return err
155826  				}
155827  				qbls.QuickBooksLinkedServiceTypeProperties = &quickBooksLinkedServiceTypeProperties
155828  			}
155829  		default:
155830  			if v != nil {
155831  				var additionalProperties interface{}
155832  				err = json.Unmarshal(*v, &additionalProperties)
155833  				if err != nil {
155834  					return err
155835  				}
155836  				if qbls.AdditionalProperties == nil {
155837  					qbls.AdditionalProperties = make(map[string]interface{})
155838  				}
155839  				qbls.AdditionalProperties[k] = additionalProperties
155840  			}
155841  		case "connectVia":
155842  			if v != nil {
155843  				var connectVia IntegrationRuntimeReference
155844  				err = json.Unmarshal(*v, &connectVia)
155845  				if err != nil {
155846  					return err
155847  				}
155848  				qbls.ConnectVia = &connectVia
155849  			}
155850  		case "description":
155851  			if v != nil {
155852  				var description string
155853  				err = json.Unmarshal(*v, &description)
155854  				if err != nil {
155855  					return err
155856  				}
155857  				qbls.Description = &description
155858  			}
155859  		case "parameters":
155860  			if v != nil {
155861  				var parameters map[string]*ParameterSpecification
155862  				err = json.Unmarshal(*v, &parameters)
155863  				if err != nil {
155864  					return err
155865  				}
155866  				qbls.Parameters = parameters
155867  			}
155868  		case "annotations":
155869  			if v != nil {
155870  				var annotations []interface{}
155871  				err = json.Unmarshal(*v, &annotations)
155872  				if err != nil {
155873  					return err
155874  				}
155875  				qbls.Annotations = &annotations
155876  			}
155877  		case "type":
155878  			if v != nil {
155879  				var typeVar TypeBasicLinkedService
155880  				err = json.Unmarshal(*v, &typeVar)
155881  				if err != nil {
155882  					return err
155883  				}
155884  				qbls.Type = typeVar
155885  			}
155886  		}
155887  	}
155888  
155889  	return nil
155890  }
155891  
155892  // QuickBooksLinkedServiceTypeProperties quickBooks server linked service properties.
155893  type QuickBooksLinkedServiceTypeProperties struct {
155894  	// Endpoint - The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)
155895  	Endpoint interface{} `json:"endpoint,omitempty"`
155896  	// CompanyID - The company ID of the QuickBooks company to authorize.
155897  	CompanyID interface{} `json:"companyId,omitempty"`
155898  	// ConsumerKey - The consumer key for OAuth 1.0 authentication.
155899  	ConsumerKey interface{} `json:"consumerKey,omitempty"`
155900  	// ConsumerSecret - The consumer secret for OAuth 1.0 authentication.
155901  	ConsumerSecret BasicSecretBase `json:"consumerSecret,omitempty"`
155902  	// AccessToken - The access token for OAuth 1.0 authentication.
155903  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
155904  	// AccessTokenSecret - The access token secret for OAuth 1.0 authentication.
155905  	AccessTokenSecret BasicSecretBase `json:"accessTokenSecret,omitempty"`
155906  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
155907  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
155908  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
155909  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
155910  }
155911  
155912  // UnmarshalJSON is the custom unmarshaler for QuickBooksLinkedServiceTypeProperties struct.
155913  func (qblstp *QuickBooksLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
155914  	var m map[string]*json.RawMessage
155915  	err := json.Unmarshal(body, &m)
155916  	if err != nil {
155917  		return err
155918  	}
155919  	for k, v := range m {
155920  		switch k {
155921  		case "endpoint":
155922  			if v != nil {
155923  				var endpoint interface{}
155924  				err = json.Unmarshal(*v, &endpoint)
155925  				if err != nil {
155926  					return err
155927  				}
155928  				qblstp.Endpoint = endpoint
155929  			}
155930  		case "companyId":
155931  			if v != nil {
155932  				var companyID interface{}
155933  				err = json.Unmarshal(*v, &companyID)
155934  				if err != nil {
155935  					return err
155936  				}
155937  				qblstp.CompanyID = companyID
155938  			}
155939  		case "consumerKey":
155940  			if v != nil {
155941  				var consumerKey interface{}
155942  				err = json.Unmarshal(*v, &consumerKey)
155943  				if err != nil {
155944  					return err
155945  				}
155946  				qblstp.ConsumerKey = consumerKey
155947  			}
155948  		case "consumerSecret":
155949  			if v != nil {
155950  				consumerSecret, err := unmarshalBasicSecretBase(*v)
155951  				if err != nil {
155952  					return err
155953  				}
155954  				qblstp.ConsumerSecret = consumerSecret
155955  			}
155956  		case "accessToken":
155957  			if v != nil {
155958  				accessToken, err := unmarshalBasicSecretBase(*v)
155959  				if err != nil {
155960  					return err
155961  				}
155962  				qblstp.AccessToken = accessToken
155963  			}
155964  		case "accessTokenSecret":
155965  			if v != nil {
155966  				accessTokenSecret, err := unmarshalBasicSecretBase(*v)
155967  				if err != nil {
155968  					return err
155969  				}
155970  				qblstp.AccessTokenSecret = accessTokenSecret
155971  			}
155972  		case "useEncryptedEndpoints":
155973  			if v != nil {
155974  				var useEncryptedEndpoints interface{}
155975  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
155976  				if err != nil {
155977  					return err
155978  				}
155979  				qblstp.UseEncryptedEndpoints = useEncryptedEndpoints
155980  			}
155981  		case "encryptedCredential":
155982  			if v != nil {
155983  				var encryptedCredential interface{}
155984  				err = json.Unmarshal(*v, &encryptedCredential)
155985  				if err != nil {
155986  					return err
155987  				}
155988  				qblstp.EncryptedCredential = encryptedCredential
155989  			}
155990  		}
155991  	}
155992  
155993  	return nil
155994  }
155995  
155996  // QuickBooksObjectDataset quickBooks server dataset.
155997  type QuickBooksObjectDataset struct {
155998  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
155999  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
156000  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
156001  	AdditionalProperties map[string]interface{} `json:""`
156002  	// Description - Dataset description.
156003  	Description *string `json:"description,omitempty"`
156004  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
156005  	Structure interface{} `json:"structure,omitempty"`
156006  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
156007  	Schema interface{} `json:"schema,omitempty"`
156008  	// LinkedServiceName - Linked service reference.
156009  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
156010  	// Parameters - Parameters for dataset.
156011  	Parameters map[string]*ParameterSpecification `json:"parameters"`
156012  	// Annotations - List of tags that can be used for describing the Dataset.
156013  	Annotations *[]interface{} `json:"annotations,omitempty"`
156014  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
156015  	Folder *DatasetFolder `json:"folder,omitempty"`
156016  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
156017  	Type TypeBasicDataset `json:"type,omitempty"`
156018  }
156019  
156020  // MarshalJSON is the custom marshaler for QuickBooksObjectDataset.
156021  func (qbod QuickBooksObjectDataset) MarshalJSON() ([]byte, error) {
156022  	qbod.Type = TypeQuickBooksObject
156023  	objectMap := make(map[string]interface{})
156024  	if qbod.GenericDatasetTypeProperties != nil {
156025  		objectMap["typeProperties"] = qbod.GenericDatasetTypeProperties
156026  	}
156027  	if qbod.Description != nil {
156028  		objectMap["description"] = qbod.Description
156029  	}
156030  	if qbod.Structure != nil {
156031  		objectMap["structure"] = qbod.Structure
156032  	}
156033  	if qbod.Schema != nil {
156034  		objectMap["schema"] = qbod.Schema
156035  	}
156036  	if qbod.LinkedServiceName != nil {
156037  		objectMap["linkedServiceName"] = qbod.LinkedServiceName
156038  	}
156039  	if qbod.Parameters != nil {
156040  		objectMap["parameters"] = qbod.Parameters
156041  	}
156042  	if qbod.Annotations != nil {
156043  		objectMap["annotations"] = qbod.Annotations
156044  	}
156045  	if qbod.Folder != nil {
156046  		objectMap["folder"] = qbod.Folder
156047  	}
156048  	if qbod.Type != "" {
156049  		objectMap["type"] = qbod.Type
156050  	}
156051  	for k, v := range qbod.AdditionalProperties {
156052  		objectMap[k] = v
156053  	}
156054  	return json.Marshal(objectMap)
156055  }
156056  
156057  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156058  func (qbod QuickBooksObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
156059  	return nil, false
156060  }
156061  
156062  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156063  func (qbod QuickBooksObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
156064  	return nil, false
156065  }
156066  
156067  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156068  func (qbod QuickBooksObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
156069  	return nil, false
156070  }
156071  
156072  // AsDynamicsAXResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156073  func (qbod QuickBooksObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
156074  	return nil, false
156075  }
156076  
156077  // AsResponsysObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156078  func (qbod QuickBooksObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
156079  	return nil, false
156080  }
156081  
156082  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156083  func (qbod QuickBooksObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
156084  	return nil, false
156085  }
156086  
156087  // AsVerticaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156088  func (qbod QuickBooksObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
156089  	return nil, false
156090  }
156091  
156092  // AsNetezzaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156093  func (qbod QuickBooksObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
156094  	return nil, false
156095  }
156096  
156097  // AsZohoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156098  func (qbod QuickBooksObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
156099  	return nil, false
156100  }
156101  
156102  // AsXeroObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156103  func (qbod QuickBooksObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
156104  	return nil, false
156105  }
156106  
156107  // AsSquareObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156108  func (qbod QuickBooksObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
156109  	return nil, false
156110  }
156111  
156112  // AsSparkObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156113  func (qbod QuickBooksObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
156114  	return nil, false
156115  }
156116  
156117  // AsShopifyObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156118  func (qbod QuickBooksObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
156119  	return nil, false
156120  }
156121  
156122  // AsServiceNowObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156123  func (qbod QuickBooksObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
156124  	return nil, false
156125  }
156126  
156127  // AsQuickBooksObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156128  func (qbod QuickBooksObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
156129  	return &qbod, true
156130  }
156131  
156132  // AsPrestoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156133  func (qbod QuickBooksObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
156134  	return nil, false
156135  }
156136  
156137  // AsPhoenixObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156138  func (qbod QuickBooksObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
156139  	return nil, false
156140  }
156141  
156142  // AsPaypalObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156143  func (qbod QuickBooksObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
156144  	return nil, false
156145  }
156146  
156147  // AsMarketoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156148  func (qbod QuickBooksObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
156149  	return nil, false
156150  }
156151  
156152  // AsAzureMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156153  func (qbod QuickBooksObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
156154  	return nil, false
156155  }
156156  
156157  // AsMariaDBTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156158  func (qbod QuickBooksObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
156159  	return nil, false
156160  }
156161  
156162  // AsMagentoObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156163  func (qbod QuickBooksObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
156164  	return nil, false
156165  }
156166  
156167  // AsJiraObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156168  func (qbod QuickBooksObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
156169  	return nil, false
156170  }
156171  
156172  // AsImpalaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156173  func (qbod QuickBooksObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
156174  	return nil, false
156175  }
156176  
156177  // AsHubspotObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156178  func (qbod QuickBooksObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
156179  	return nil, false
156180  }
156181  
156182  // AsHiveObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156183  func (qbod QuickBooksObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
156184  	return nil, false
156185  }
156186  
156187  // AsHBaseObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156188  func (qbod QuickBooksObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
156189  	return nil, false
156190  }
156191  
156192  // AsGreenplumTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156193  func (qbod QuickBooksObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
156194  	return nil, false
156195  }
156196  
156197  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156198  func (qbod QuickBooksObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
156199  	return nil, false
156200  }
156201  
156202  // AsEloquaObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156203  func (qbod QuickBooksObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
156204  	return nil, false
156205  }
156206  
156207  // AsDrillTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156208  func (qbod QuickBooksObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
156209  	return nil, false
156210  }
156211  
156212  // AsCouchbaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156213  func (qbod QuickBooksObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
156214  	return nil, false
156215  }
156216  
156217  // AsConcurObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156218  func (qbod QuickBooksObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
156219  	return nil, false
156220  }
156221  
156222  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156223  func (qbod QuickBooksObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
156224  	return nil, false
156225  }
156226  
156227  // AsAmazonMWSObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156228  func (qbod QuickBooksObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
156229  	return nil, false
156230  }
156231  
156232  // AsAzureSearchIndexDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156233  func (qbod QuickBooksObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
156234  	return nil, false
156235  }
156236  
156237  // AsWebTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156238  func (qbod QuickBooksObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
156239  	return nil, false
156240  }
156241  
156242  // AsSapTableResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156243  func (qbod QuickBooksObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
156244  	return nil, false
156245  }
156246  
156247  // AsRestResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156248  func (qbod QuickBooksObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
156249  	return nil, false
156250  }
156251  
156252  // AsSQLServerTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156253  func (qbod QuickBooksObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
156254  	return nil, false
156255  }
156256  
156257  // AsSapOpenHubTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156258  func (qbod QuickBooksObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
156259  	return nil, false
156260  }
156261  
156262  // AsSapHanaTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156263  func (qbod QuickBooksObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
156264  	return nil, false
156265  }
156266  
156267  // AsSapEccResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156268  func (qbod QuickBooksObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
156269  	return nil, false
156270  }
156271  
156272  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156273  func (qbod QuickBooksObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
156274  	return nil, false
156275  }
156276  
156277  // AsSapBwCubeDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156278  func (qbod QuickBooksObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
156279  	return nil, false
156280  }
156281  
156282  // AsSybaseTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156283  func (qbod QuickBooksObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
156284  	return nil, false
156285  }
156286  
156287  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156288  func (qbod QuickBooksObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
156289  	return nil, false
156290  }
156291  
156292  // AsSalesforceObjectDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156293  func (qbod QuickBooksObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
156294  	return nil, false
156295  }
156296  
156297  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156298  func (qbod QuickBooksObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
156299  	return nil, false
156300  }
156301  
156302  // AsPostgreSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156303  func (qbod QuickBooksObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
156304  	return nil, false
156305  }
156306  
156307  // AsMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156308  func (qbod QuickBooksObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
156309  	return nil, false
156310  }
156311  
156312  // AsOdbcTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156313  func (qbod QuickBooksObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
156314  	return nil, false
156315  }
156316  
156317  // AsInformixTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156318  func (qbod QuickBooksObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
156319  	return nil, false
156320  }
156321  
156322  // AsRelationalTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156323  func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
156324  	return nil, false
156325  }
156326  
156327  // AsDb2TableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156328  func (qbod QuickBooksObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
156329  	return nil, false
156330  }
156331  
156332  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156333  func (qbod QuickBooksObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
156334  	return nil, false
156335  }
156336  
156337  // AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156338  func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
156339  	return nil, false
156340  }
156341  
156342  // AsTeradataTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156343  func (qbod QuickBooksObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
156344  	return nil, false
156345  }
156346  
156347  // AsOracleTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156348  func (qbod QuickBooksObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
156349  	return nil, false
156350  }
156351  
156352  // AsODataResourceDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156353  func (qbod QuickBooksObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
156354  	return nil, false
156355  }
156356  
156357  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156358  func (qbod QuickBooksObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
156359  	return nil, false
156360  }
156361  
156362  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156363  func (qbod QuickBooksObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
156364  	return nil, false
156365  }
156366  
156367  // AsMongoDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156368  func (qbod QuickBooksObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
156369  	return nil, false
156370  }
156371  
156372  // AsOffice365Dataset is the BasicDataset implementation for QuickBooksObjectDataset.
156373  func (qbod QuickBooksObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
156374  	return nil, false
156375  }
156376  
156377  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156378  func (qbod QuickBooksObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
156379  	return nil, false
156380  }
156381  
156382  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156383  func (qbod QuickBooksObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
156384  	return nil, false
156385  }
156386  
156387  // AsDynamicsEntityDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156388  func (qbod QuickBooksObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
156389  	return nil, false
156390  }
156391  
156392  // AsDocumentDbCollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156393  func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
156394  	return nil, false
156395  }
156396  
156397  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156398  func (qbod QuickBooksObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
156399  	return nil, false
156400  }
156401  
156402  // AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156403  func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
156404  	return nil, false
156405  }
156406  
156407  // AsCassandraTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156408  func (qbod QuickBooksObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
156409  	return nil, false
156410  }
156411  
156412  // AsAzureSQLDWTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156413  func (qbod QuickBooksObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
156414  	return nil, false
156415  }
156416  
156417  // AsAzureSQLMITableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156418  func (qbod QuickBooksObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
156419  	return nil, false
156420  }
156421  
156422  // AsAzureSQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156423  func (qbod QuickBooksObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
156424  	return nil, false
156425  }
156426  
156427  // AsAzureTableDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156428  func (qbod QuickBooksObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
156429  	return nil, false
156430  }
156431  
156432  // AsBinaryDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156433  func (qbod QuickBooksObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
156434  	return nil, false
156435  }
156436  
156437  // AsOrcDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156438  func (qbod QuickBooksObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
156439  	return nil, false
156440  }
156441  
156442  // AsJSONDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156443  func (qbod QuickBooksObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
156444  	return nil, false
156445  }
156446  
156447  // AsDelimitedTextDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156448  func (qbod QuickBooksObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
156449  	return nil, false
156450  }
156451  
156452  // AsParquetDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156453  func (qbod QuickBooksObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
156454  	return nil, false
156455  }
156456  
156457  // AsAvroDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156458  func (qbod QuickBooksObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
156459  	return nil, false
156460  }
156461  
156462  // AsDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156463  func (qbod QuickBooksObjectDataset) AsDataset() (*Dataset, bool) {
156464  	return nil, false
156465  }
156466  
156467  // AsBasicDataset is the BasicDataset implementation for QuickBooksObjectDataset.
156468  func (qbod QuickBooksObjectDataset) AsBasicDataset() (BasicDataset, bool) {
156469  	return &qbod, true
156470  }
156471  
156472  // UnmarshalJSON is the custom unmarshaler for QuickBooksObjectDataset struct.
156473  func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error {
156474  	var m map[string]*json.RawMessage
156475  	err := json.Unmarshal(body, &m)
156476  	if err != nil {
156477  		return err
156478  	}
156479  	for k, v := range m {
156480  		switch k {
156481  		case "typeProperties":
156482  			if v != nil {
156483  				var genericDatasetTypeProperties GenericDatasetTypeProperties
156484  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
156485  				if err != nil {
156486  					return err
156487  				}
156488  				qbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
156489  			}
156490  		default:
156491  			if v != nil {
156492  				var additionalProperties interface{}
156493  				err = json.Unmarshal(*v, &additionalProperties)
156494  				if err != nil {
156495  					return err
156496  				}
156497  				if qbod.AdditionalProperties == nil {
156498  					qbod.AdditionalProperties = make(map[string]interface{})
156499  				}
156500  				qbod.AdditionalProperties[k] = additionalProperties
156501  			}
156502  		case "description":
156503  			if v != nil {
156504  				var description string
156505  				err = json.Unmarshal(*v, &description)
156506  				if err != nil {
156507  					return err
156508  				}
156509  				qbod.Description = &description
156510  			}
156511  		case "structure":
156512  			if v != nil {
156513  				var structure interface{}
156514  				err = json.Unmarshal(*v, &structure)
156515  				if err != nil {
156516  					return err
156517  				}
156518  				qbod.Structure = structure
156519  			}
156520  		case "schema":
156521  			if v != nil {
156522  				var schema interface{}
156523  				err = json.Unmarshal(*v, &schema)
156524  				if err != nil {
156525  					return err
156526  				}
156527  				qbod.Schema = schema
156528  			}
156529  		case "linkedServiceName":
156530  			if v != nil {
156531  				var linkedServiceName LinkedServiceReference
156532  				err = json.Unmarshal(*v, &linkedServiceName)
156533  				if err != nil {
156534  					return err
156535  				}
156536  				qbod.LinkedServiceName = &linkedServiceName
156537  			}
156538  		case "parameters":
156539  			if v != nil {
156540  				var parameters map[string]*ParameterSpecification
156541  				err = json.Unmarshal(*v, &parameters)
156542  				if err != nil {
156543  					return err
156544  				}
156545  				qbod.Parameters = parameters
156546  			}
156547  		case "annotations":
156548  			if v != nil {
156549  				var annotations []interface{}
156550  				err = json.Unmarshal(*v, &annotations)
156551  				if err != nil {
156552  					return err
156553  				}
156554  				qbod.Annotations = &annotations
156555  			}
156556  		case "folder":
156557  			if v != nil {
156558  				var folder DatasetFolder
156559  				err = json.Unmarshal(*v, &folder)
156560  				if err != nil {
156561  					return err
156562  				}
156563  				qbod.Folder = &folder
156564  			}
156565  		case "type":
156566  			if v != nil {
156567  				var typeVar TypeBasicDataset
156568  				err = json.Unmarshal(*v, &typeVar)
156569  				if err != nil {
156570  					return err
156571  				}
156572  				qbod.Type = typeVar
156573  			}
156574  		}
156575  	}
156576  
156577  	return nil
156578  }
156579  
156580  // QuickBooksSource a copy activity QuickBooks server source.
156581  type QuickBooksSource struct {
156582  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
156583  	Query interface{} `json:"query,omitempty"`
156584  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
156585  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
156586  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
156587  	AdditionalProperties map[string]interface{} `json:""`
156588  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
156589  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
156590  	// 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])).
156591  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
156592  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
156593  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
156594  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
156595  	Type TypeBasicCopySource `json:"type,omitempty"`
156596  }
156597  
156598  // MarshalJSON is the custom marshaler for QuickBooksSource.
156599  func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) {
156600  	qbs.Type = TypeQuickBooksSource
156601  	objectMap := make(map[string]interface{})
156602  	if qbs.Query != nil {
156603  		objectMap["query"] = qbs.Query
156604  	}
156605  	if qbs.QueryTimeout != nil {
156606  		objectMap["queryTimeout"] = qbs.QueryTimeout
156607  	}
156608  	if qbs.SourceRetryCount != nil {
156609  		objectMap["sourceRetryCount"] = qbs.SourceRetryCount
156610  	}
156611  	if qbs.SourceRetryWait != nil {
156612  		objectMap["sourceRetryWait"] = qbs.SourceRetryWait
156613  	}
156614  	if qbs.MaxConcurrentConnections != nil {
156615  		objectMap["maxConcurrentConnections"] = qbs.MaxConcurrentConnections
156616  	}
156617  	if qbs.Type != "" {
156618  		objectMap["type"] = qbs.Type
156619  	}
156620  	for k, v := range qbs.AdditionalProperties {
156621  		objectMap[k] = v
156622  	}
156623  	return json.Marshal(objectMap)
156624  }
156625  
156626  // AsHTTPSource is the BasicCopySource implementation for QuickBooksSource.
156627  func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) {
156628  	return nil, false
156629  }
156630  
156631  // AsAzureBlobFSSource is the BasicCopySource implementation for QuickBooksSource.
156632  func (qbs QuickBooksSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
156633  	return nil, false
156634  }
156635  
156636  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource.
156637  func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
156638  	return nil, false
156639  }
156640  
156641  // AsOffice365Source is the BasicCopySource implementation for QuickBooksSource.
156642  func (qbs QuickBooksSource) AsOffice365Source() (*Office365Source, bool) {
156643  	return nil, false
156644  }
156645  
156646  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for QuickBooksSource.
156647  func (qbs QuickBooksSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
156648  	return nil, false
156649  }
156650  
156651  // AsMongoDbV2Source is the BasicCopySource implementation for QuickBooksSource.
156652  func (qbs QuickBooksSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
156653  	return nil, false
156654  }
156655  
156656  // AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource.
156657  func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) {
156658  	return nil, false
156659  }
156660  
156661  // AsWebSource is the BasicCopySource implementation for QuickBooksSource.
156662  func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) {
156663  	return nil, false
156664  }
156665  
156666  // AsOracleSource is the BasicCopySource implementation for QuickBooksSource.
156667  func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) {
156668  	return nil, false
156669  }
156670  
156671  // AsAzureDataExplorerSource is the BasicCopySource implementation for QuickBooksSource.
156672  func (qbs QuickBooksSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
156673  	return nil, false
156674  }
156675  
156676  // AsHdfsSource is the BasicCopySource implementation for QuickBooksSource.
156677  func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) {
156678  	return nil, false
156679  }
156680  
156681  // AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource.
156682  func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) {
156683  	return nil, false
156684  }
156685  
156686  // AsRestSource is the BasicCopySource implementation for QuickBooksSource.
156687  func (qbs QuickBooksSource) AsRestSource() (*RestSource, bool) {
156688  	return nil, false
156689  }
156690  
156691  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for QuickBooksSource.
156692  func (qbs QuickBooksSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
156693  	return nil, false
156694  }
156695  
156696  // AsODataSource is the BasicCopySource implementation for QuickBooksSource.
156697  func (qbs QuickBooksSource) AsODataSource() (*ODataSource, bool) {
156698  	return nil, false
156699  }
156700  
156701  // AsMicrosoftAccessSource is the BasicCopySource implementation for QuickBooksSource.
156702  func (qbs QuickBooksSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
156703  	return nil, false
156704  }
156705  
156706  // AsRelationalSource is the BasicCopySource implementation for QuickBooksSource.
156707  func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) {
156708  	return nil, false
156709  }
156710  
156711  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for QuickBooksSource.
156712  func (qbs QuickBooksSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
156713  	return nil, false
156714  }
156715  
156716  // AsDynamicsCrmSource is the BasicCopySource implementation for QuickBooksSource.
156717  func (qbs QuickBooksSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
156718  	return nil, false
156719  }
156720  
156721  // AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource.
156722  func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) {
156723  	return nil, false
156724  }
156725  
156726  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for QuickBooksSource.
156727  func (qbs QuickBooksSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
156728  	return nil, false
156729  }
156730  
156731  // AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource.
156732  func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
156733  	return nil, false
156734  }
156735  
156736  // AsBlobSource is the BasicCopySource implementation for QuickBooksSource.
156737  func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) {
156738  	return nil, false
156739  }
156740  
156741  // AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource.
156742  func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
156743  	return nil, false
156744  }
156745  
156746  // AsGoogleAdWordsSource is the BasicCopySource implementation for QuickBooksSource.
156747  func (qbs QuickBooksSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
156748  	return nil, false
156749  }
156750  
156751  // AsOracleServiceCloudSource is the BasicCopySource implementation for QuickBooksSource.
156752  func (qbs QuickBooksSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
156753  	return nil, false
156754  }
156755  
156756  // AsDynamicsAXSource is the BasicCopySource implementation for QuickBooksSource.
156757  func (qbs QuickBooksSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
156758  	return nil, false
156759  }
156760  
156761  // AsResponsysSource is the BasicCopySource implementation for QuickBooksSource.
156762  func (qbs QuickBooksSource) AsResponsysSource() (*ResponsysSource, bool) {
156763  	return nil, false
156764  }
156765  
156766  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for QuickBooksSource.
156767  func (qbs QuickBooksSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
156768  	return nil, false
156769  }
156770  
156771  // AsVerticaSource is the BasicCopySource implementation for QuickBooksSource.
156772  func (qbs QuickBooksSource) AsVerticaSource() (*VerticaSource, bool) {
156773  	return nil, false
156774  }
156775  
156776  // AsNetezzaSource is the BasicCopySource implementation for QuickBooksSource.
156777  func (qbs QuickBooksSource) AsNetezzaSource() (*NetezzaSource, bool) {
156778  	return nil, false
156779  }
156780  
156781  // AsZohoSource is the BasicCopySource implementation for QuickBooksSource.
156782  func (qbs QuickBooksSource) AsZohoSource() (*ZohoSource, bool) {
156783  	return nil, false
156784  }
156785  
156786  // AsXeroSource is the BasicCopySource implementation for QuickBooksSource.
156787  func (qbs QuickBooksSource) AsXeroSource() (*XeroSource, bool) {
156788  	return nil, false
156789  }
156790  
156791  // AsSquareSource is the BasicCopySource implementation for QuickBooksSource.
156792  func (qbs QuickBooksSource) AsSquareSource() (*SquareSource, bool) {
156793  	return nil, false
156794  }
156795  
156796  // AsSparkSource is the BasicCopySource implementation for QuickBooksSource.
156797  func (qbs QuickBooksSource) AsSparkSource() (*SparkSource, bool) {
156798  	return nil, false
156799  }
156800  
156801  // AsShopifySource is the BasicCopySource implementation for QuickBooksSource.
156802  func (qbs QuickBooksSource) AsShopifySource() (*ShopifySource, bool) {
156803  	return nil, false
156804  }
156805  
156806  // AsServiceNowSource is the BasicCopySource implementation for QuickBooksSource.
156807  func (qbs QuickBooksSource) AsServiceNowSource() (*ServiceNowSource, bool) {
156808  	return nil, false
156809  }
156810  
156811  // AsQuickBooksSource is the BasicCopySource implementation for QuickBooksSource.
156812  func (qbs QuickBooksSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
156813  	return &qbs, true
156814  }
156815  
156816  // AsPrestoSource is the BasicCopySource implementation for QuickBooksSource.
156817  func (qbs QuickBooksSource) AsPrestoSource() (*PrestoSource, bool) {
156818  	return nil, false
156819  }
156820  
156821  // AsPhoenixSource is the BasicCopySource implementation for QuickBooksSource.
156822  func (qbs QuickBooksSource) AsPhoenixSource() (*PhoenixSource, bool) {
156823  	return nil, false
156824  }
156825  
156826  // AsPaypalSource is the BasicCopySource implementation for QuickBooksSource.
156827  func (qbs QuickBooksSource) AsPaypalSource() (*PaypalSource, bool) {
156828  	return nil, false
156829  }
156830  
156831  // AsMarketoSource is the BasicCopySource implementation for QuickBooksSource.
156832  func (qbs QuickBooksSource) AsMarketoSource() (*MarketoSource, bool) {
156833  	return nil, false
156834  }
156835  
156836  // AsAzureMariaDBSource is the BasicCopySource implementation for QuickBooksSource.
156837  func (qbs QuickBooksSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
156838  	return nil, false
156839  }
156840  
156841  // AsMariaDBSource is the BasicCopySource implementation for QuickBooksSource.
156842  func (qbs QuickBooksSource) AsMariaDBSource() (*MariaDBSource, bool) {
156843  	return nil, false
156844  }
156845  
156846  // AsMagentoSource is the BasicCopySource implementation for QuickBooksSource.
156847  func (qbs QuickBooksSource) AsMagentoSource() (*MagentoSource, bool) {
156848  	return nil, false
156849  }
156850  
156851  // AsJiraSource is the BasicCopySource implementation for QuickBooksSource.
156852  func (qbs QuickBooksSource) AsJiraSource() (*JiraSource, bool) {
156853  	return nil, false
156854  }
156855  
156856  // AsImpalaSource is the BasicCopySource implementation for QuickBooksSource.
156857  func (qbs QuickBooksSource) AsImpalaSource() (*ImpalaSource, bool) {
156858  	return nil, false
156859  }
156860  
156861  // AsHubspotSource is the BasicCopySource implementation for QuickBooksSource.
156862  func (qbs QuickBooksSource) AsHubspotSource() (*HubspotSource, bool) {
156863  	return nil, false
156864  }
156865  
156866  // AsHiveSource is the BasicCopySource implementation for QuickBooksSource.
156867  func (qbs QuickBooksSource) AsHiveSource() (*HiveSource, bool) {
156868  	return nil, false
156869  }
156870  
156871  // AsHBaseSource is the BasicCopySource implementation for QuickBooksSource.
156872  func (qbs QuickBooksSource) AsHBaseSource() (*HBaseSource, bool) {
156873  	return nil, false
156874  }
156875  
156876  // AsGreenplumSource is the BasicCopySource implementation for QuickBooksSource.
156877  func (qbs QuickBooksSource) AsGreenplumSource() (*GreenplumSource, bool) {
156878  	return nil, false
156879  }
156880  
156881  // AsGoogleBigQuerySource is the BasicCopySource implementation for QuickBooksSource.
156882  func (qbs QuickBooksSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
156883  	return nil, false
156884  }
156885  
156886  // AsEloquaSource is the BasicCopySource implementation for QuickBooksSource.
156887  func (qbs QuickBooksSource) AsEloquaSource() (*EloquaSource, bool) {
156888  	return nil, false
156889  }
156890  
156891  // AsDrillSource is the BasicCopySource implementation for QuickBooksSource.
156892  func (qbs QuickBooksSource) AsDrillSource() (*DrillSource, bool) {
156893  	return nil, false
156894  }
156895  
156896  // AsCouchbaseSource is the BasicCopySource implementation for QuickBooksSource.
156897  func (qbs QuickBooksSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
156898  	return nil, false
156899  }
156900  
156901  // AsConcurSource is the BasicCopySource implementation for QuickBooksSource.
156902  func (qbs QuickBooksSource) AsConcurSource() (*ConcurSource, bool) {
156903  	return nil, false
156904  }
156905  
156906  // AsAzurePostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
156907  func (qbs QuickBooksSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
156908  	return nil, false
156909  }
156910  
156911  // AsAmazonMWSSource is the BasicCopySource implementation for QuickBooksSource.
156912  func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
156913  	return nil, false
156914  }
156915  
156916  // AsCassandraSource is the BasicCopySource implementation for QuickBooksSource.
156917  func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) {
156918  	return nil, false
156919  }
156920  
156921  // AsTeradataSource is the BasicCopySource implementation for QuickBooksSource.
156922  func (qbs QuickBooksSource) AsTeradataSource() (*TeradataSource, bool) {
156923  	return nil, false
156924  }
156925  
156926  // AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource.
156927  func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
156928  	return nil, false
156929  }
156930  
156931  // AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource.
156932  func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) {
156933  	return nil, false
156934  }
156935  
156936  // AsSQLMISource is the BasicCopySource implementation for QuickBooksSource.
156937  func (qbs QuickBooksSource) AsSQLMISource() (*SQLMISource, bool) {
156938  	return nil, false
156939  }
156940  
156941  // AsAzureSQLSource is the BasicCopySource implementation for QuickBooksSource.
156942  func (qbs QuickBooksSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
156943  	return nil, false
156944  }
156945  
156946  // AsSQLServerSource is the BasicCopySource implementation for QuickBooksSource.
156947  func (qbs QuickBooksSource) AsSQLServerSource() (*SQLServerSource, bool) {
156948  	return nil, false
156949  }
156950  
156951  // AsSQLSource is the BasicCopySource implementation for QuickBooksSource.
156952  func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) {
156953  	return nil, false
156954  }
156955  
156956  // AsSapTableSource is the BasicCopySource implementation for QuickBooksSource.
156957  func (qbs QuickBooksSource) AsSapTableSource() (*SapTableSource, bool) {
156958  	return nil, false
156959  }
156960  
156961  // AsSapOpenHubSource is the BasicCopySource implementation for QuickBooksSource.
156962  func (qbs QuickBooksSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
156963  	return nil, false
156964  }
156965  
156966  // AsSapHanaSource is the BasicCopySource implementation for QuickBooksSource.
156967  func (qbs QuickBooksSource) AsSapHanaSource() (*SapHanaSource, bool) {
156968  	return nil, false
156969  }
156970  
156971  // AsSapEccSource is the BasicCopySource implementation for QuickBooksSource.
156972  func (qbs QuickBooksSource) AsSapEccSource() (*SapEccSource, bool) {
156973  	return nil, false
156974  }
156975  
156976  // AsSapCloudForCustomerSource is the BasicCopySource implementation for QuickBooksSource.
156977  func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
156978  	return nil, false
156979  }
156980  
156981  // AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource.
156982  func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) {
156983  	return nil, false
156984  }
156985  
156986  // AsSapBwSource is the BasicCopySource implementation for QuickBooksSource.
156987  func (qbs QuickBooksSource) AsSapBwSource() (*SapBwSource, bool) {
156988  	return nil, false
156989  }
156990  
156991  // AsSybaseSource is the BasicCopySource implementation for QuickBooksSource.
156992  func (qbs QuickBooksSource) AsSybaseSource() (*SybaseSource, bool) {
156993  	return nil, false
156994  }
156995  
156996  // AsPostgreSQLSource is the BasicCopySource implementation for QuickBooksSource.
156997  func (qbs QuickBooksSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
156998  	return nil, false
156999  }
157000  
157001  // AsMySQLSource is the BasicCopySource implementation for QuickBooksSource.
157002  func (qbs QuickBooksSource) AsMySQLSource() (*MySQLSource, bool) {
157003  	return nil, false
157004  }
157005  
157006  // AsOdbcSource is the BasicCopySource implementation for QuickBooksSource.
157007  func (qbs QuickBooksSource) AsOdbcSource() (*OdbcSource, bool) {
157008  	return nil, false
157009  }
157010  
157011  // AsDb2Source is the BasicCopySource implementation for QuickBooksSource.
157012  func (qbs QuickBooksSource) AsDb2Source() (*Db2Source, bool) {
157013  	return nil, false
157014  }
157015  
157016  // AsInformixSource is the BasicCopySource implementation for QuickBooksSource.
157017  func (qbs QuickBooksSource) AsInformixSource() (*InformixSource, bool) {
157018  	return nil, false
157019  }
157020  
157021  // AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource.
157022  func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) {
157023  	return nil, false
157024  }
157025  
157026  // AsTabularSource is the BasicCopySource implementation for QuickBooksSource.
157027  func (qbs QuickBooksSource) AsTabularSource() (*TabularSource, bool) {
157028  	return nil, false
157029  }
157030  
157031  // AsBasicTabularSource is the BasicCopySource implementation for QuickBooksSource.
157032  func (qbs QuickBooksSource) AsBasicTabularSource() (BasicTabularSource, bool) {
157033  	return &qbs, true
157034  }
157035  
157036  // AsBinarySource is the BasicCopySource implementation for QuickBooksSource.
157037  func (qbs QuickBooksSource) AsBinarySource() (*BinarySource, bool) {
157038  	return nil, false
157039  }
157040  
157041  // AsOrcSource is the BasicCopySource implementation for QuickBooksSource.
157042  func (qbs QuickBooksSource) AsOrcSource() (*OrcSource, bool) {
157043  	return nil, false
157044  }
157045  
157046  // AsJSONSource is the BasicCopySource implementation for QuickBooksSource.
157047  func (qbs QuickBooksSource) AsJSONSource() (*JSONSource, bool) {
157048  	return nil, false
157049  }
157050  
157051  // AsDelimitedTextSource is the BasicCopySource implementation for QuickBooksSource.
157052  func (qbs QuickBooksSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
157053  	return nil, false
157054  }
157055  
157056  // AsParquetSource is the BasicCopySource implementation for QuickBooksSource.
157057  func (qbs QuickBooksSource) AsParquetSource() (*ParquetSource, bool) {
157058  	return nil, false
157059  }
157060  
157061  // AsAvroSource is the BasicCopySource implementation for QuickBooksSource.
157062  func (qbs QuickBooksSource) AsAvroSource() (*AvroSource, bool) {
157063  	return nil, false
157064  }
157065  
157066  // AsCopySource is the BasicCopySource implementation for QuickBooksSource.
157067  func (qbs QuickBooksSource) AsCopySource() (*CopySource, bool) {
157068  	return nil, false
157069  }
157070  
157071  // AsBasicCopySource is the BasicCopySource implementation for QuickBooksSource.
157072  func (qbs QuickBooksSource) AsBasicCopySource() (BasicCopySource, bool) {
157073  	return &qbs, true
157074  }
157075  
157076  // UnmarshalJSON is the custom unmarshaler for QuickBooksSource struct.
157077  func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error {
157078  	var m map[string]*json.RawMessage
157079  	err := json.Unmarshal(body, &m)
157080  	if err != nil {
157081  		return err
157082  	}
157083  	for k, v := range m {
157084  		switch k {
157085  		case "query":
157086  			if v != nil {
157087  				var query interface{}
157088  				err = json.Unmarshal(*v, &query)
157089  				if err != nil {
157090  					return err
157091  				}
157092  				qbs.Query = query
157093  			}
157094  		case "queryTimeout":
157095  			if v != nil {
157096  				var queryTimeout interface{}
157097  				err = json.Unmarshal(*v, &queryTimeout)
157098  				if err != nil {
157099  					return err
157100  				}
157101  				qbs.QueryTimeout = queryTimeout
157102  			}
157103  		default:
157104  			if v != nil {
157105  				var additionalProperties interface{}
157106  				err = json.Unmarshal(*v, &additionalProperties)
157107  				if err != nil {
157108  					return err
157109  				}
157110  				if qbs.AdditionalProperties == nil {
157111  					qbs.AdditionalProperties = make(map[string]interface{})
157112  				}
157113  				qbs.AdditionalProperties[k] = additionalProperties
157114  			}
157115  		case "sourceRetryCount":
157116  			if v != nil {
157117  				var sourceRetryCount interface{}
157118  				err = json.Unmarshal(*v, &sourceRetryCount)
157119  				if err != nil {
157120  					return err
157121  				}
157122  				qbs.SourceRetryCount = sourceRetryCount
157123  			}
157124  		case "sourceRetryWait":
157125  			if v != nil {
157126  				var sourceRetryWait interface{}
157127  				err = json.Unmarshal(*v, &sourceRetryWait)
157128  				if err != nil {
157129  					return err
157130  				}
157131  				qbs.SourceRetryWait = sourceRetryWait
157132  			}
157133  		case "maxConcurrentConnections":
157134  			if v != nil {
157135  				var maxConcurrentConnections interface{}
157136  				err = json.Unmarshal(*v, &maxConcurrentConnections)
157137  				if err != nil {
157138  					return err
157139  				}
157140  				qbs.MaxConcurrentConnections = maxConcurrentConnections
157141  			}
157142  		case "type":
157143  			if v != nil {
157144  				var typeVar TypeBasicCopySource
157145  				err = json.Unmarshal(*v, &typeVar)
157146  				if err != nil {
157147  					return err
157148  				}
157149  				qbs.Type = typeVar
157150  			}
157151  		}
157152  	}
157153  
157154  	return nil
157155  }
157156  
157157  // RecurrenceSchedule the recurrence schedule.
157158  type RecurrenceSchedule struct {
157159  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157160  	AdditionalProperties map[string]interface{} `json:""`
157161  	// Minutes - The minutes.
157162  	Minutes *[]int32 `json:"minutes,omitempty"`
157163  	// Hours - The hours.
157164  	Hours *[]int32 `json:"hours,omitempty"`
157165  	// WeekDays - The days of the week.
157166  	WeekDays *[]DayOfWeek `json:"weekDays,omitempty"`
157167  	// MonthDays - The month days.
157168  	MonthDays *[]int32 `json:"monthDays,omitempty"`
157169  	// MonthlyOccurrences - The monthly occurrences.
157170  	MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"`
157171  }
157172  
157173  // MarshalJSON is the custom marshaler for RecurrenceSchedule.
157174  func (rs RecurrenceSchedule) MarshalJSON() ([]byte, error) {
157175  	objectMap := make(map[string]interface{})
157176  	if rs.Minutes != nil {
157177  		objectMap["minutes"] = rs.Minutes
157178  	}
157179  	if rs.Hours != nil {
157180  		objectMap["hours"] = rs.Hours
157181  	}
157182  	if rs.WeekDays != nil {
157183  		objectMap["weekDays"] = rs.WeekDays
157184  	}
157185  	if rs.MonthDays != nil {
157186  		objectMap["monthDays"] = rs.MonthDays
157187  	}
157188  	if rs.MonthlyOccurrences != nil {
157189  		objectMap["monthlyOccurrences"] = rs.MonthlyOccurrences
157190  	}
157191  	for k, v := range rs.AdditionalProperties {
157192  		objectMap[k] = v
157193  	}
157194  	return json.Marshal(objectMap)
157195  }
157196  
157197  // UnmarshalJSON is the custom unmarshaler for RecurrenceSchedule struct.
157198  func (rs *RecurrenceSchedule) UnmarshalJSON(body []byte) error {
157199  	var m map[string]*json.RawMessage
157200  	err := json.Unmarshal(body, &m)
157201  	if err != nil {
157202  		return err
157203  	}
157204  	for k, v := range m {
157205  		switch k {
157206  		default:
157207  			if v != nil {
157208  				var additionalProperties interface{}
157209  				err = json.Unmarshal(*v, &additionalProperties)
157210  				if err != nil {
157211  					return err
157212  				}
157213  				if rs.AdditionalProperties == nil {
157214  					rs.AdditionalProperties = make(map[string]interface{})
157215  				}
157216  				rs.AdditionalProperties[k] = additionalProperties
157217  			}
157218  		case "minutes":
157219  			if v != nil {
157220  				var minutes []int32
157221  				err = json.Unmarshal(*v, &minutes)
157222  				if err != nil {
157223  					return err
157224  				}
157225  				rs.Minutes = &minutes
157226  			}
157227  		case "hours":
157228  			if v != nil {
157229  				var hours []int32
157230  				err = json.Unmarshal(*v, &hours)
157231  				if err != nil {
157232  					return err
157233  				}
157234  				rs.Hours = &hours
157235  			}
157236  		case "weekDays":
157237  			if v != nil {
157238  				var weekDays []DayOfWeek
157239  				err = json.Unmarshal(*v, &weekDays)
157240  				if err != nil {
157241  					return err
157242  				}
157243  				rs.WeekDays = &weekDays
157244  			}
157245  		case "monthDays":
157246  			if v != nil {
157247  				var monthDays []int32
157248  				err = json.Unmarshal(*v, &monthDays)
157249  				if err != nil {
157250  					return err
157251  				}
157252  				rs.MonthDays = &monthDays
157253  			}
157254  		case "monthlyOccurrences":
157255  			if v != nil {
157256  				var monthlyOccurrences []RecurrenceScheduleOccurrence
157257  				err = json.Unmarshal(*v, &monthlyOccurrences)
157258  				if err != nil {
157259  					return err
157260  				}
157261  				rs.MonthlyOccurrences = &monthlyOccurrences
157262  			}
157263  		}
157264  	}
157265  
157266  	return nil
157267  }
157268  
157269  // RecurrenceScheduleOccurrence the recurrence schedule occurrence.
157270  type RecurrenceScheduleOccurrence struct {
157271  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157272  	AdditionalProperties map[string]interface{} `json:""`
157273  	// Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
157274  	Day DayOfWeek `json:"day,omitempty"`
157275  	// Occurrence - The occurrence.
157276  	Occurrence *int32 `json:"occurrence,omitempty"`
157277  }
157278  
157279  // MarshalJSON is the custom marshaler for RecurrenceScheduleOccurrence.
157280  func (rso RecurrenceScheduleOccurrence) MarshalJSON() ([]byte, error) {
157281  	objectMap := make(map[string]interface{})
157282  	if rso.Day != "" {
157283  		objectMap["day"] = rso.Day
157284  	}
157285  	if rso.Occurrence != nil {
157286  		objectMap["occurrence"] = rso.Occurrence
157287  	}
157288  	for k, v := range rso.AdditionalProperties {
157289  		objectMap[k] = v
157290  	}
157291  	return json.Marshal(objectMap)
157292  }
157293  
157294  // UnmarshalJSON is the custom unmarshaler for RecurrenceScheduleOccurrence struct.
157295  func (rso *RecurrenceScheduleOccurrence) UnmarshalJSON(body []byte) error {
157296  	var m map[string]*json.RawMessage
157297  	err := json.Unmarshal(body, &m)
157298  	if err != nil {
157299  		return err
157300  	}
157301  	for k, v := range m {
157302  		switch k {
157303  		default:
157304  			if v != nil {
157305  				var additionalProperties interface{}
157306  				err = json.Unmarshal(*v, &additionalProperties)
157307  				if err != nil {
157308  					return err
157309  				}
157310  				if rso.AdditionalProperties == nil {
157311  					rso.AdditionalProperties = make(map[string]interface{})
157312  				}
157313  				rso.AdditionalProperties[k] = additionalProperties
157314  			}
157315  		case "day":
157316  			if v != nil {
157317  				var day DayOfWeek
157318  				err = json.Unmarshal(*v, &day)
157319  				if err != nil {
157320  					return err
157321  				}
157322  				rso.Day = day
157323  			}
157324  		case "occurrence":
157325  			if v != nil {
157326  				var occurrence int32
157327  				err = json.Unmarshal(*v, &occurrence)
157328  				if err != nil {
157329  					return err
157330  				}
157331  				rso.Occurrence = &occurrence
157332  			}
157333  		}
157334  	}
157335  
157336  	return nil
157337  }
157338  
157339  // RedirectIncompatibleRowSettings redirect incompatible row settings
157340  type RedirectIncompatibleRowSettings struct {
157341  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157342  	AdditionalProperties map[string]interface{} `json:""`
157343  	// 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).
157344  	LinkedServiceName interface{} `json:"linkedServiceName,omitempty"`
157345  	// Path - The path for storing the redirect incompatible row data. Type: string (or Expression with resultType string).
157346  	Path interface{} `json:"path,omitempty"`
157347  }
157348  
157349  // MarshalJSON is the custom marshaler for RedirectIncompatibleRowSettings.
157350  func (rirs RedirectIncompatibleRowSettings) MarshalJSON() ([]byte, error) {
157351  	objectMap := make(map[string]interface{})
157352  	if rirs.LinkedServiceName != nil {
157353  		objectMap["linkedServiceName"] = rirs.LinkedServiceName
157354  	}
157355  	if rirs.Path != nil {
157356  		objectMap["path"] = rirs.Path
157357  	}
157358  	for k, v := range rirs.AdditionalProperties {
157359  		objectMap[k] = v
157360  	}
157361  	return json.Marshal(objectMap)
157362  }
157363  
157364  // UnmarshalJSON is the custom unmarshaler for RedirectIncompatibleRowSettings struct.
157365  func (rirs *RedirectIncompatibleRowSettings) UnmarshalJSON(body []byte) error {
157366  	var m map[string]*json.RawMessage
157367  	err := json.Unmarshal(body, &m)
157368  	if err != nil {
157369  		return err
157370  	}
157371  	for k, v := range m {
157372  		switch k {
157373  		default:
157374  			if v != nil {
157375  				var additionalProperties interface{}
157376  				err = json.Unmarshal(*v, &additionalProperties)
157377  				if err != nil {
157378  					return err
157379  				}
157380  				if rirs.AdditionalProperties == nil {
157381  					rirs.AdditionalProperties = make(map[string]interface{})
157382  				}
157383  				rirs.AdditionalProperties[k] = additionalProperties
157384  			}
157385  		case "linkedServiceName":
157386  			if v != nil {
157387  				var linkedServiceName interface{}
157388  				err = json.Unmarshal(*v, &linkedServiceName)
157389  				if err != nil {
157390  					return err
157391  				}
157392  				rirs.LinkedServiceName = linkedServiceName
157393  			}
157394  		case "path":
157395  			if v != nil {
157396  				var pathVar interface{}
157397  				err = json.Unmarshal(*v, &pathVar)
157398  				if err != nil {
157399  					return err
157400  				}
157401  				rirs.Path = pathVar
157402  			}
157403  		}
157404  	}
157405  
157406  	return nil
157407  }
157408  
157409  // RedshiftUnloadSettings the Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon
157410  // Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and
157411  // then copied into the targeted sink from the interim S3.
157412  type RedshiftUnloadSettings struct {
157413  	// S3LinkedServiceName - The name of the Amazon S3 linked service which will be used for the unload operation when copying from the Amazon Redshift source.
157414  	S3LinkedServiceName *LinkedServiceReference `json:"s3LinkedServiceName,omitempty"`
157415  	// 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).
157416  	BucketName interface{} `json:"bucketName,omitempty"`
157417  }
157418  
157419  // RelationalSource a copy activity source for various relational databases.
157420  type RelationalSource struct {
157421  	// Query - Database query. Type: string (or Expression with resultType string).
157422  	Query interface{} `json:"query,omitempty"`
157423  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157424  	AdditionalProperties map[string]interface{} `json:""`
157425  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
157426  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
157427  	// 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])).
157428  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
157429  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
157430  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
157431  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
157432  	Type TypeBasicCopySource `json:"type,omitempty"`
157433  }
157434  
157435  // MarshalJSON is the custom marshaler for RelationalSource.
157436  func (rs RelationalSource) MarshalJSON() ([]byte, error) {
157437  	rs.Type = TypeRelationalSource
157438  	objectMap := make(map[string]interface{})
157439  	if rs.Query != nil {
157440  		objectMap["query"] = rs.Query
157441  	}
157442  	if rs.SourceRetryCount != nil {
157443  		objectMap["sourceRetryCount"] = rs.SourceRetryCount
157444  	}
157445  	if rs.SourceRetryWait != nil {
157446  		objectMap["sourceRetryWait"] = rs.SourceRetryWait
157447  	}
157448  	if rs.MaxConcurrentConnections != nil {
157449  		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
157450  	}
157451  	if rs.Type != "" {
157452  		objectMap["type"] = rs.Type
157453  	}
157454  	for k, v := range rs.AdditionalProperties {
157455  		objectMap[k] = v
157456  	}
157457  	return json.Marshal(objectMap)
157458  }
157459  
157460  // AsHTTPSource is the BasicCopySource implementation for RelationalSource.
157461  func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) {
157462  	return nil, false
157463  }
157464  
157465  // AsAzureBlobFSSource is the BasicCopySource implementation for RelationalSource.
157466  func (rs RelationalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
157467  	return nil, false
157468  }
157469  
157470  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource.
157471  func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
157472  	return nil, false
157473  }
157474  
157475  // AsOffice365Source is the BasicCopySource implementation for RelationalSource.
157476  func (rs RelationalSource) AsOffice365Source() (*Office365Source, bool) {
157477  	return nil, false
157478  }
157479  
157480  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RelationalSource.
157481  func (rs RelationalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
157482  	return nil, false
157483  }
157484  
157485  // AsMongoDbV2Source is the BasicCopySource implementation for RelationalSource.
157486  func (rs RelationalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
157487  	return nil, false
157488  }
157489  
157490  // AsMongoDbSource is the BasicCopySource implementation for RelationalSource.
157491  func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) {
157492  	return nil, false
157493  }
157494  
157495  // AsWebSource is the BasicCopySource implementation for RelationalSource.
157496  func (rs RelationalSource) AsWebSource() (*WebSource, bool) {
157497  	return nil, false
157498  }
157499  
157500  // AsOracleSource is the BasicCopySource implementation for RelationalSource.
157501  func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) {
157502  	return nil, false
157503  }
157504  
157505  // AsAzureDataExplorerSource is the BasicCopySource implementation for RelationalSource.
157506  func (rs RelationalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
157507  	return nil, false
157508  }
157509  
157510  // AsHdfsSource is the BasicCopySource implementation for RelationalSource.
157511  func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) {
157512  	return nil, false
157513  }
157514  
157515  // AsFileSystemSource is the BasicCopySource implementation for RelationalSource.
157516  func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) {
157517  	return nil, false
157518  }
157519  
157520  // AsRestSource is the BasicCopySource implementation for RelationalSource.
157521  func (rs RelationalSource) AsRestSource() (*RestSource, bool) {
157522  	return nil, false
157523  }
157524  
157525  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for RelationalSource.
157526  func (rs RelationalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
157527  	return nil, false
157528  }
157529  
157530  // AsODataSource is the BasicCopySource implementation for RelationalSource.
157531  func (rs RelationalSource) AsODataSource() (*ODataSource, bool) {
157532  	return nil, false
157533  }
157534  
157535  // AsMicrosoftAccessSource is the BasicCopySource implementation for RelationalSource.
157536  func (rs RelationalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
157537  	return nil, false
157538  }
157539  
157540  // AsRelationalSource is the BasicCopySource implementation for RelationalSource.
157541  func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) {
157542  	return &rs, true
157543  }
157544  
157545  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RelationalSource.
157546  func (rs RelationalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
157547  	return nil, false
157548  }
157549  
157550  // AsDynamicsCrmSource is the BasicCopySource implementation for RelationalSource.
157551  func (rs RelationalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
157552  	return nil, false
157553  }
157554  
157555  // AsDynamicsSource is the BasicCopySource implementation for RelationalSource.
157556  func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) {
157557  	return nil, false
157558  }
157559  
157560  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for RelationalSource.
157561  func (rs RelationalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
157562  	return nil, false
157563  }
157564  
157565  // AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource.
157566  func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
157567  	return nil, false
157568  }
157569  
157570  // AsBlobSource is the BasicCopySource implementation for RelationalSource.
157571  func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) {
157572  	return nil, false
157573  }
157574  
157575  // AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource.
157576  func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
157577  	return nil, false
157578  }
157579  
157580  // AsGoogleAdWordsSource is the BasicCopySource implementation for RelationalSource.
157581  func (rs RelationalSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
157582  	return nil, false
157583  }
157584  
157585  // AsOracleServiceCloudSource is the BasicCopySource implementation for RelationalSource.
157586  func (rs RelationalSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
157587  	return nil, false
157588  }
157589  
157590  // AsDynamicsAXSource is the BasicCopySource implementation for RelationalSource.
157591  func (rs RelationalSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
157592  	return nil, false
157593  }
157594  
157595  // AsResponsysSource is the BasicCopySource implementation for RelationalSource.
157596  func (rs RelationalSource) AsResponsysSource() (*ResponsysSource, bool) {
157597  	return nil, false
157598  }
157599  
157600  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RelationalSource.
157601  func (rs RelationalSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
157602  	return nil, false
157603  }
157604  
157605  // AsVerticaSource is the BasicCopySource implementation for RelationalSource.
157606  func (rs RelationalSource) AsVerticaSource() (*VerticaSource, bool) {
157607  	return nil, false
157608  }
157609  
157610  // AsNetezzaSource is the BasicCopySource implementation for RelationalSource.
157611  func (rs RelationalSource) AsNetezzaSource() (*NetezzaSource, bool) {
157612  	return nil, false
157613  }
157614  
157615  // AsZohoSource is the BasicCopySource implementation for RelationalSource.
157616  func (rs RelationalSource) AsZohoSource() (*ZohoSource, bool) {
157617  	return nil, false
157618  }
157619  
157620  // AsXeroSource is the BasicCopySource implementation for RelationalSource.
157621  func (rs RelationalSource) AsXeroSource() (*XeroSource, bool) {
157622  	return nil, false
157623  }
157624  
157625  // AsSquareSource is the BasicCopySource implementation for RelationalSource.
157626  func (rs RelationalSource) AsSquareSource() (*SquareSource, bool) {
157627  	return nil, false
157628  }
157629  
157630  // AsSparkSource is the BasicCopySource implementation for RelationalSource.
157631  func (rs RelationalSource) AsSparkSource() (*SparkSource, bool) {
157632  	return nil, false
157633  }
157634  
157635  // AsShopifySource is the BasicCopySource implementation for RelationalSource.
157636  func (rs RelationalSource) AsShopifySource() (*ShopifySource, bool) {
157637  	return nil, false
157638  }
157639  
157640  // AsServiceNowSource is the BasicCopySource implementation for RelationalSource.
157641  func (rs RelationalSource) AsServiceNowSource() (*ServiceNowSource, bool) {
157642  	return nil, false
157643  }
157644  
157645  // AsQuickBooksSource is the BasicCopySource implementation for RelationalSource.
157646  func (rs RelationalSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
157647  	return nil, false
157648  }
157649  
157650  // AsPrestoSource is the BasicCopySource implementation for RelationalSource.
157651  func (rs RelationalSource) AsPrestoSource() (*PrestoSource, bool) {
157652  	return nil, false
157653  }
157654  
157655  // AsPhoenixSource is the BasicCopySource implementation for RelationalSource.
157656  func (rs RelationalSource) AsPhoenixSource() (*PhoenixSource, bool) {
157657  	return nil, false
157658  }
157659  
157660  // AsPaypalSource is the BasicCopySource implementation for RelationalSource.
157661  func (rs RelationalSource) AsPaypalSource() (*PaypalSource, bool) {
157662  	return nil, false
157663  }
157664  
157665  // AsMarketoSource is the BasicCopySource implementation for RelationalSource.
157666  func (rs RelationalSource) AsMarketoSource() (*MarketoSource, bool) {
157667  	return nil, false
157668  }
157669  
157670  // AsAzureMariaDBSource is the BasicCopySource implementation for RelationalSource.
157671  func (rs RelationalSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
157672  	return nil, false
157673  }
157674  
157675  // AsMariaDBSource is the BasicCopySource implementation for RelationalSource.
157676  func (rs RelationalSource) AsMariaDBSource() (*MariaDBSource, bool) {
157677  	return nil, false
157678  }
157679  
157680  // AsMagentoSource is the BasicCopySource implementation for RelationalSource.
157681  func (rs RelationalSource) AsMagentoSource() (*MagentoSource, bool) {
157682  	return nil, false
157683  }
157684  
157685  // AsJiraSource is the BasicCopySource implementation for RelationalSource.
157686  func (rs RelationalSource) AsJiraSource() (*JiraSource, bool) {
157687  	return nil, false
157688  }
157689  
157690  // AsImpalaSource is the BasicCopySource implementation for RelationalSource.
157691  func (rs RelationalSource) AsImpalaSource() (*ImpalaSource, bool) {
157692  	return nil, false
157693  }
157694  
157695  // AsHubspotSource is the BasicCopySource implementation for RelationalSource.
157696  func (rs RelationalSource) AsHubspotSource() (*HubspotSource, bool) {
157697  	return nil, false
157698  }
157699  
157700  // AsHiveSource is the BasicCopySource implementation for RelationalSource.
157701  func (rs RelationalSource) AsHiveSource() (*HiveSource, bool) {
157702  	return nil, false
157703  }
157704  
157705  // AsHBaseSource is the BasicCopySource implementation for RelationalSource.
157706  func (rs RelationalSource) AsHBaseSource() (*HBaseSource, bool) {
157707  	return nil, false
157708  }
157709  
157710  // AsGreenplumSource is the BasicCopySource implementation for RelationalSource.
157711  func (rs RelationalSource) AsGreenplumSource() (*GreenplumSource, bool) {
157712  	return nil, false
157713  }
157714  
157715  // AsGoogleBigQuerySource is the BasicCopySource implementation for RelationalSource.
157716  func (rs RelationalSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
157717  	return nil, false
157718  }
157719  
157720  // AsEloquaSource is the BasicCopySource implementation for RelationalSource.
157721  func (rs RelationalSource) AsEloquaSource() (*EloquaSource, bool) {
157722  	return nil, false
157723  }
157724  
157725  // AsDrillSource is the BasicCopySource implementation for RelationalSource.
157726  func (rs RelationalSource) AsDrillSource() (*DrillSource, bool) {
157727  	return nil, false
157728  }
157729  
157730  // AsCouchbaseSource is the BasicCopySource implementation for RelationalSource.
157731  func (rs RelationalSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
157732  	return nil, false
157733  }
157734  
157735  // AsConcurSource is the BasicCopySource implementation for RelationalSource.
157736  func (rs RelationalSource) AsConcurSource() (*ConcurSource, bool) {
157737  	return nil, false
157738  }
157739  
157740  // AsAzurePostgreSQLSource is the BasicCopySource implementation for RelationalSource.
157741  func (rs RelationalSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
157742  	return nil, false
157743  }
157744  
157745  // AsAmazonMWSSource is the BasicCopySource implementation for RelationalSource.
157746  func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
157747  	return nil, false
157748  }
157749  
157750  // AsCassandraSource is the BasicCopySource implementation for RelationalSource.
157751  func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) {
157752  	return nil, false
157753  }
157754  
157755  // AsTeradataSource is the BasicCopySource implementation for RelationalSource.
157756  func (rs RelationalSource) AsTeradataSource() (*TeradataSource, bool) {
157757  	return nil, false
157758  }
157759  
157760  // AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource.
157761  func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
157762  	return nil, false
157763  }
157764  
157765  // AsSQLDWSource is the BasicCopySource implementation for RelationalSource.
157766  func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) {
157767  	return nil, false
157768  }
157769  
157770  // AsSQLMISource is the BasicCopySource implementation for RelationalSource.
157771  func (rs RelationalSource) AsSQLMISource() (*SQLMISource, bool) {
157772  	return nil, false
157773  }
157774  
157775  // AsAzureSQLSource is the BasicCopySource implementation for RelationalSource.
157776  func (rs RelationalSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
157777  	return nil, false
157778  }
157779  
157780  // AsSQLServerSource is the BasicCopySource implementation for RelationalSource.
157781  func (rs RelationalSource) AsSQLServerSource() (*SQLServerSource, bool) {
157782  	return nil, false
157783  }
157784  
157785  // AsSQLSource is the BasicCopySource implementation for RelationalSource.
157786  func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) {
157787  	return nil, false
157788  }
157789  
157790  // AsSapTableSource is the BasicCopySource implementation for RelationalSource.
157791  func (rs RelationalSource) AsSapTableSource() (*SapTableSource, bool) {
157792  	return nil, false
157793  }
157794  
157795  // AsSapOpenHubSource is the BasicCopySource implementation for RelationalSource.
157796  func (rs RelationalSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
157797  	return nil, false
157798  }
157799  
157800  // AsSapHanaSource is the BasicCopySource implementation for RelationalSource.
157801  func (rs RelationalSource) AsSapHanaSource() (*SapHanaSource, bool) {
157802  	return nil, false
157803  }
157804  
157805  // AsSapEccSource is the BasicCopySource implementation for RelationalSource.
157806  func (rs RelationalSource) AsSapEccSource() (*SapEccSource, bool) {
157807  	return nil, false
157808  }
157809  
157810  // AsSapCloudForCustomerSource is the BasicCopySource implementation for RelationalSource.
157811  func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
157812  	return nil, false
157813  }
157814  
157815  // AsSalesforceSource is the BasicCopySource implementation for RelationalSource.
157816  func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) {
157817  	return nil, false
157818  }
157819  
157820  // AsSapBwSource is the BasicCopySource implementation for RelationalSource.
157821  func (rs RelationalSource) AsSapBwSource() (*SapBwSource, bool) {
157822  	return nil, false
157823  }
157824  
157825  // AsSybaseSource is the BasicCopySource implementation for RelationalSource.
157826  func (rs RelationalSource) AsSybaseSource() (*SybaseSource, bool) {
157827  	return nil, false
157828  }
157829  
157830  // AsPostgreSQLSource is the BasicCopySource implementation for RelationalSource.
157831  func (rs RelationalSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
157832  	return nil, false
157833  }
157834  
157835  // AsMySQLSource is the BasicCopySource implementation for RelationalSource.
157836  func (rs RelationalSource) AsMySQLSource() (*MySQLSource, bool) {
157837  	return nil, false
157838  }
157839  
157840  // AsOdbcSource is the BasicCopySource implementation for RelationalSource.
157841  func (rs RelationalSource) AsOdbcSource() (*OdbcSource, bool) {
157842  	return nil, false
157843  }
157844  
157845  // AsDb2Source is the BasicCopySource implementation for RelationalSource.
157846  func (rs RelationalSource) AsDb2Source() (*Db2Source, bool) {
157847  	return nil, false
157848  }
157849  
157850  // AsInformixSource is the BasicCopySource implementation for RelationalSource.
157851  func (rs RelationalSource) AsInformixSource() (*InformixSource, bool) {
157852  	return nil, false
157853  }
157854  
157855  // AsAzureTableSource is the BasicCopySource implementation for RelationalSource.
157856  func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) {
157857  	return nil, false
157858  }
157859  
157860  // AsTabularSource is the BasicCopySource implementation for RelationalSource.
157861  func (rs RelationalSource) AsTabularSource() (*TabularSource, bool) {
157862  	return nil, false
157863  }
157864  
157865  // AsBasicTabularSource is the BasicCopySource implementation for RelationalSource.
157866  func (rs RelationalSource) AsBasicTabularSource() (BasicTabularSource, bool) {
157867  	return nil, false
157868  }
157869  
157870  // AsBinarySource is the BasicCopySource implementation for RelationalSource.
157871  func (rs RelationalSource) AsBinarySource() (*BinarySource, bool) {
157872  	return nil, false
157873  }
157874  
157875  // AsOrcSource is the BasicCopySource implementation for RelationalSource.
157876  func (rs RelationalSource) AsOrcSource() (*OrcSource, bool) {
157877  	return nil, false
157878  }
157879  
157880  // AsJSONSource is the BasicCopySource implementation for RelationalSource.
157881  func (rs RelationalSource) AsJSONSource() (*JSONSource, bool) {
157882  	return nil, false
157883  }
157884  
157885  // AsDelimitedTextSource is the BasicCopySource implementation for RelationalSource.
157886  func (rs RelationalSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
157887  	return nil, false
157888  }
157889  
157890  // AsParquetSource is the BasicCopySource implementation for RelationalSource.
157891  func (rs RelationalSource) AsParquetSource() (*ParquetSource, bool) {
157892  	return nil, false
157893  }
157894  
157895  // AsAvroSource is the BasicCopySource implementation for RelationalSource.
157896  func (rs RelationalSource) AsAvroSource() (*AvroSource, bool) {
157897  	return nil, false
157898  }
157899  
157900  // AsCopySource is the BasicCopySource implementation for RelationalSource.
157901  func (rs RelationalSource) AsCopySource() (*CopySource, bool) {
157902  	return nil, false
157903  }
157904  
157905  // AsBasicCopySource is the BasicCopySource implementation for RelationalSource.
157906  func (rs RelationalSource) AsBasicCopySource() (BasicCopySource, bool) {
157907  	return &rs, true
157908  }
157909  
157910  // UnmarshalJSON is the custom unmarshaler for RelationalSource struct.
157911  func (rs *RelationalSource) UnmarshalJSON(body []byte) error {
157912  	var m map[string]*json.RawMessage
157913  	err := json.Unmarshal(body, &m)
157914  	if err != nil {
157915  		return err
157916  	}
157917  	for k, v := range m {
157918  		switch k {
157919  		case "query":
157920  			if v != nil {
157921  				var query interface{}
157922  				err = json.Unmarshal(*v, &query)
157923  				if err != nil {
157924  					return err
157925  				}
157926  				rs.Query = query
157927  			}
157928  		default:
157929  			if v != nil {
157930  				var additionalProperties interface{}
157931  				err = json.Unmarshal(*v, &additionalProperties)
157932  				if err != nil {
157933  					return err
157934  				}
157935  				if rs.AdditionalProperties == nil {
157936  					rs.AdditionalProperties = make(map[string]interface{})
157937  				}
157938  				rs.AdditionalProperties[k] = additionalProperties
157939  			}
157940  		case "sourceRetryCount":
157941  			if v != nil {
157942  				var sourceRetryCount interface{}
157943  				err = json.Unmarshal(*v, &sourceRetryCount)
157944  				if err != nil {
157945  					return err
157946  				}
157947  				rs.SourceRetryCount = sourceRetryCount
157948  			}
157949  		case "sourceRetryWait":
157950  			if v != nil {
157951  				var sourceRetryWait interface{}
157952  				err = json.Unmarshal(*v, &sourceRetryWait)
157953  				if err != nil {
157954  					return err
157955  				}
157956  				rs.SourceRetryWait = sourceRetryWait
157957  			}
157958  		case "maxConcurrentConnections":
157959  			if v != nil {
157960  				var maxConcurrentConnections interface{}
157961  				err = json.Unmarshal(*v, &maxConcurrentConnections)
157962  				if err != nil {
157963  					return err
157964  				}
157965  				rs.MaxConcurrentConnections = maxConcurrentConnections
157966  			}
157967  		case "type":
157968  			if v != nil {
157969  				var typeVar TypeBasicCopySource
157970  				err = json.Unmarshal(*v, &typeVar)
157971  				if err != nil {
157972  					return err
157973  				}
157974  				rs.Type = typeVar
157975  			}
157976  		}
157977  	}
157978  
157979  	return nil
157980  }
157981  
157982  // RelationalTableDataset the relational table dataset.
157983  type RelationalTableDataset struct {
157984  	// RelationalTableDatasetTypeProperties - Relational table dataset properties.
157985  	*RelationalTableDatasetTypeProperties `json:"typeProperties,omitempty"`
157986  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
157987  	AdditionalProperties map[string]interface{} `json:""`
157988  	// Description - Dataset description.
157989  	Description *string `json:"description,omitempty"`
157990  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
157991  	Structure interface{} `json:"structure,omitempty"`
157992  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
157993  	Schema interface{} `json:"schema,omitempty"`
157994  	// LinkedServiceName - Linked service reference.
157995  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
157996  	// Parameters - Parameters for dataset.
157997  	Parameters map[string]*ParameterSpecification `json:"parameters"`
157998  	// Annotations - List of tags that can be used for describing the Dataset.
157999  	Annotations *[]interface{} `json:"annotations,omitempty"`
158000  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
158001  	Folder *DatasetFolder `json:"folder,omitempty"`
158002  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
158003  	Type TypeBasicDataset `json:"type,omitempty"`
158004  }
158005  
158006  // MarshalJSON is the custom marshaler for RelationalTableDataset.
158007  func (rtd RelationalTableDataset) MarshalJSON() ([]byte, error) {
158008  	rtd.Type = TypeRelationalTable
158009  	objectMap := make(map[string]interface{})
158010  	if rtd.RelationalTableDatasetTypeProperties != nil {
158011  		objectMap["typeProperties"] = rtd.RelationalTableDatasetTypeProperties
158012  	}
158013  	if rtd.Description != nil {
158014  		objectMap["description"] = rtd.Description
158015  	}
158016  	if rtd.Structure != nil {
158017  		objectMap["structure"] = rtd.Structure
158018  	}
158019  	if rtd.Schema != nil {
158020  		objectMap["schema"] = rtd.Schema
158021  	}
158022  	if rtd.LinkedServiceName != nil {
158023  		objectMap["linkedServiceName"] = rtd.LinkedServiceName
158024  	}
158025  	if rtd.Parameters != nil {
158026  		objectMap["parameters"] = rtd.Parameters
158027  	}
158028  	if rtd.Annotations != nil {
158029  		objectMap["annotations"] = rtd.Annotations
158030  	}
158031  	if rtd.Folder != nil {
158032  		objectMap["folder"] = rtd.Folder
158033  	}
158034  	if rtd.Type != "" {
158035  		objectMap["type"] = rtd.Type
158036  	}
158037  	for k, v := range rtd.AdditionalProperties {
158038  		objectMap[k] = v
158039  	}
158040  	return json.Marshal(objectMap)
158041  }
158042  
158043  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158044  func (rtd RelationalTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
158045  	return nil, false
158046  }
158047  
158048  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for RelationalTableDataset.
158049  func (rtd RelationalTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
158050  	return nil, false
158051  }
158052  
158053  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158054  func (rtd RelationalTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
158055  	return nil, false
158056  }
158057  
158058  // AsDynamicsAXResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158059  func (rtd RelationalTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
158060  	return nil, false
158061  }
158062  
158063  // AsResponsysObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158064  func (rtd RelationalTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
158065  	return nil, false
158066  }
158067  
158068  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158069  func (rtd RelationalTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
158070  	return nil, false
158071  }
158072  
158073  // AsVerticaTableDataset is the BasicDataset implementation for RelationalTableDataset.
158074  func (rtd RelationalTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
158075  	return nil, false
158076  }
158077  
158078  // AsNetezzaTableDataset is the BasicDataset implementation for RelationalTableDataset.
158079  func (rtd RelationalTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
158080  	return nil, false
158081  }
158082  
158083  // AsZohoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158084  func (rtd RelationalTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
158085  	return nil, false
158086  }
158087  
158088  // AsXeroObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158089  func (rtd RelationalTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
158090  	return nil, false
158091  }
158092  
158093  // AsSquareObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158094  func (rtd RelationalTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
158095  	return nil, false
158096  }
158097  
158098  // AsSparkObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158099  func (rtd RelationalTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
158100  	return nil, false
158101  }
158102  
158103  // AsShopifyObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158104  func (rtd RelationalTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
158105  	return nil, false
158106  }
158107  
158108  // AsServiceNowObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158109  func (rtd RelationalTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
158110  	return nil, false
158111  }
158112  
158113  // AsQuickBooksObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158114  func (rtd RelationalTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
158115  	return nil, false
158116  }
158117  
158118  // AsPrestoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158119  func (rtd RelationalTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
158120  	return nil, false
158121  }
158122  
158123  // AsPhoenixObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158124  func (rtd RelationalTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
158125  	return nil, false
158126  }
158127  
158128  // AsPaypalObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158129  func (rtd RelationalTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
158130  	return nil, false
158131  }
158132  
158133  // AsMarketoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158134  func (rtd RelationalTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
158135  	return nil, false
158136  }
158137  
158138  // AsAzureMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset.
158139  func (rtd RelationalTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
158140  	return nil, false
158141  }
158142  
158143  // AsMariaDBTableDataset is the BasicDataset implementation for RelationalTableDataset.
158144  func (rtd RelationalTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
158145  	return nil, false
158146  }
158147  
158148  // AsMagentoObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158149  func (rtd RelationalTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
158150  	return nil, false
158151  }
158152  
158153  // AsJiraObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158154  func (rtd RelationalTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
158155  	return nil, false
158156  }
158157  
158158  // AsImpalaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158159  func (rtd RelationalTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
158160  	return nil, false
158161  }
158162  
158163  // AsHubspotObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158164  func (rtd RelationalTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
158165  	return nil, false
158166  }
158167  
158168  // AsHiveObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158169  func (rtd RelationalTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
158170  	return nil, false
158171  }
158172  
158173  // AsHBaseObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158174  func (rtd RelationalTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
158175  	return nil, false
158176  }
158177  
158178  // AsGreenplumTableDataset is the BasicDataset implementation for RelationalTableDataset.
158179  func (rtd RelationalTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
158180  	return nil, false
158181  }
158182  
158183  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158184  func (rtd RelationalTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
158185  	return nil, false
158186  }
158187  
158188  // AsEloquaObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158189  func (rtd RelationalTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
158190  	return nil, false
158191  }
158192  
158193  // AsDrillTableDataset is the BasicDataset implementation for RelationalTableDataset.
158194  func (rtd RelationalTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
158195  	return nil, false
158196  }
158197  
158198  // AsCouchbaseTableDataset is the BasicDataset implementation for RelationalTableDataset.
158199  func (rtd RelationalTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
158200  	return nil, false
158201  }
158202  
158203  // AsConcurObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158204  func (rtd RelationalTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
158205  	return nil, false
158206  }
158207  
158208  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
158209  func (rtd RelationalTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
158210  	return nil, false
158211  }
158212  
158213  // AsAmazonMWSObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158214  func (rtd RelationalTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
158215  	return nil, false
158216  }
158217  
158218  // AsAzureSearchIndexDataset is the BasicDataset implementation for RelationalTableDataset.
158219  func (rtd RelationalTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
158220  	return nil, false
158221  }
158222  
158223  // AsWebTableDataset is the BasicDataset implementation for RelationalTableDataset.
158224  func (rtd RelationalTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
158225  	return nil, false
158226  }
158227  
158228  // AsSapTableResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158229  func (rtd RelationalTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
158230  	return nil, false
158231  }
158232  
158233  // AsRestResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158234  func (rtd RelationalTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
158235  	return nil, false
158236  }
158237  
158238  // AsSQLServerTableDataset is the BasicDataset implementation for RelationalTableDataset.
158239  func (rtd RelationalTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
158240  	return nil, false
158241  }
158242  
158243  // AsSapOpenHubTableDataset is the BasicDataset implementation for RelationalTableDataset.
158244  func (rtd RelationalTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
158245  	return nil, false
158246  }
158247  
158248  // AsSapHanaTableDataset is the BasicDataset implementation for RelationalTableDataset.
158249  func (rtd RelationalTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
158250  	return nil, false
158251  }
158252  
158253  // AsSapEccResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158254  func (rtd RelationalTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
158255  	return nil, false
158256  }
158257  
158258  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158259  func (rtd RelationalTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
158260  	return nil, false
158261  }
158262  
158263  // AsSapBwCubeDataset is the BasicDataset implementation for RelationalTableDataset.
158264  func (rtd RelationalTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
158265  	return nil, false
158266  }
158267  
158268  // AsSybaseTableDataset is the BasicDataset implementation for RelationalTableDataset.
158269  func (rtd RelationalTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
158270  	return nil, false
158271  }
158272  
158273  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158274  func (rtd RelationalTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
158275  	return nil, false
158276  }
158277  
158278  // AsSalesforceObjectDataset is the BasicDataset implementation for RelationalTableDataset.
158279  func (rtd RelationalTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
158280  	return nil, false
158281  }
158282  
158283  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for RelationalTableDataset.
158284  func (rtd RelationalTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
158285  	return nil, false
158286  }
158287  
158288  // AsPostgreSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
158289  func (rtd RelationalTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
158290  	return nil, false
158291  }
158292  
158293  // AsMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
158294  func (rtd RelationalTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
158295  	return nil, false
158296  }
158297  
158298  // AsOdbcTableDataset is the BasicDataset implementation for RelationalTableDataset.
158299  func (rtd RelationalTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
158300  	return nil, false
158301  }
158302  
158303  // AsInformixTableDataset is the BasicDataset implementation for RelationalTableDataset.
158304  func (rtd RelationalTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
158305  	return nil, false
158306  }
158307  
158308  // AsRelationalTableDataset is the BasicDataset implementation for RelationalTableDataset.
158309  func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
158310  	return &rtd, true
158311  }
158312  
158313  // AsDb2TableDataset is the BasicDataset implementation for RelationalTableDataset.
158314  func (rtd RelationalTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
158315  	return nil, false
158316  }
158317  
158318  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for RelationalTableDataset.
158319  func (rtd RelationalTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
158320  	return nil, false
158321  }
158322  
158323  // AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
158324  func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
158325  	return nil, false
158326  }
158327  
158328  // AsTeradataTableDataset is the BasicDataset implementation for RelationalTableDataset.
158329  func (rtd RelationalTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
158330  	return nil, false
158331  }
158332  
158333  // AsOracleTableDataset is the BasicDataset implementation for RelationalTableDataset.
158334  func (rtd RelationalTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
158335  	return nil, false
158336  }
158337  
158338  // AsODataResourceDataset is the BasicDataset implementation for RelationalTableDataset.
158339  func (rtd RelationalTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
158340  	return nil, false
158341  }
158342  
158343  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset.
158344  func (rtd RelationalTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
158345  	return nil, false
158346  }
158347  
158348  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for RelationalTableDataset.
158349  func (rtd RelationalTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
158350  	return nil, false
158351  }
158352  
158353  // AsMongoDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
158354  func (rtd RelationalTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
158355  	return nil, false
158356  }
158357  
158358  // AsOffice365Dataset is the BasicDataset implementation for RelationalTableDataset.
158359  func (rtd RelationalTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
158360  	return nil, false
158361  }
158362  
158363  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
158364  func (rtd RelationalTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
158365  	return nil, false
158366  }
158367  
158368  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for RelationalTableDataset.
158369  func (rtd RelationalTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
158370  	return nil, false
158371  }
158372  
158373  // AsDynamicsEntityDataset is the BasicDataset implementation for RelationalTableDataset.
158374  func (rtd RelationalTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
158375  	return nil, false
158376  }
158377  
158378  // AsDocumentDbCollectionDataset is the BasicDataset implementation for RelationalTableDataset.
158379  func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
158380  	return nil, false
158381  }
158382  
158383  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset.
158384  func (rtd RelationalTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
158385  	return nil, false
158386  }
158387  
158388  // AsCustomDataset is the BasicDataset implementation for RelationalTableDataset.
158389  func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) {
158390  	return nil, false
158391  }
158392  
158393  // AsCassandraTableDataset is the BasicDataset implementation for RelationalTableDataset.
158394  func (rtd RelationalTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
158395  	return nil, false
158396  }
158397  
158398  // AsAzureSQLDWTableDataset is the BasicDataset implementation for RelationalTableDataset.
158399  func (rtd RelationalTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
158400  	return nil, false
158401  }
158402  
158403  // AsAzureSQLMITableDataset is the BasicDataset implementation for RelationalTableDataset.
158404  func (rtd RelationalTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
158405  	return nil, false
158406  }
158407  
158408  // AsAzureSQLTableDataset is the BasicDataset implementation for RelationalTableDataset.
158409  func (rtd RelationalTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
158410  	return nil, false
158411  }
158412  
158413  // AsAzureTableDataset is the BasicDataset implementation for RelationalTableDataset.
158414  func (rtd RelationalTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
158415  	return nil, false
158416  }
158417  
158418  // AsBinaryDataset is the BasicDataset implementation for RelationalTableDataset.
158419  func (rtd RelationalTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
158420  	return nil, false
158421  }
158422  
158423  // AsOrcDataset is the BasicDataset implementation for RelationalTableDataset.
158424  func (rtd RelationalTableDataset) AsOrcDataset() (*OrcDataset, bool) {
158425  	return nil, false
158426  }
158427  
158428  // AsJSONDataset is the BasicDataset implementation for RelationalTableDataset.
158429  func (rtd RelationalTableDataset) AsJSONDataset() (*JSONDataset, bool) {
158430  	return nil, false
158431  }
158432  
158433  // AsDelimitedTextDataset is the BasicDataset implementation for RelationalTableDataset.
158434  func (rtd RelationalTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
158435  	return nil, false
158436  }
158437  
158438  // AsParquetDataset is the BasicDataset implementation for RelationalTableDataset.
158439  func (rtd RelationalTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
158440  	return nil, false
158441  }
158442  
158443  // AsAvroDataset is the BasicDataset implementation for RelationalTableDataset.
158444  func (rtd RelationalTableDataset) AsAvroDataset() (*AvroDataset, bool) {
158445  	return nil, false
158446  }
158447  
158448  // AsDataset is the BasicDataset implementation for RelationalTableDataset.
158449  func (rtd RelationalTableDataset) AsDataset() (*Dataset, bool) {
158450  	return nil, false
158451  }
158452  
158453  // AsBasicDataset is the BasicDataset implementation for RelationalTableDataset.
158454  func (rtd RelationalTableDataset) AsBasicDataset() (BasicDataset, bool) {
158455  	return &rtd, true
158456  }
158457  
158458  // UnmarshalJSON is the custom unmarshaler for RelationalTableDataset struct.
158459  func (rtd *RelationalTableDataset) UnmarshalJSON(body []byte) error {
158460  	var m map[string]*json.RawMessage
158461  	err := json.Unmarshal(body, &m)
158462  	if err != nil {
158463  		return err
158464  	}
158465  	for k, v := range m {
158466  		switch k {
158467  		case "typeProperties":
158468  			if v != nil {
158469  				var relationalTableDatasetTypeProperties RelationalTableDatasetTypeProperties
158470  				err = json.Unmarshal(*v, &relationalTableDatasetTypeProperties)
158471  				if err != nil {
158472  					return err
158473  				}
158474  				rtd.RelationalTableDatasetTypeProperties = &relationalTableDatasetTypeProperties
158475  			}
158476  		default:
158477  			if v != nil {
158478  				var additionalProperties interface{}
158479  				err = json.Unmarshal(*v, &additionalProperties)
158480  				if err != nil {
158481  					return err
158482  				}
158483  				if rtd.AdditionalProperties == nil {
158484  					rtd.AdditionalProperties = make(map[string]interface{})
158485  				}
158486  				rtd.AdditionalProperties[k] = additionalProperties
158487  			}
158488  		case "description":
158489  			if v != nil {
158490  				var description string
158491  				err = json.Unmarshal(*v, &description)
158492  				if err != nil {
158493  					return err
158494  				}
158495  				rtd.Description = &description
158496  			}
158497  		case "structure":
158498  			if v != nil {
158499  				var structure interface{}
158500  				err = json.Unmarshal(*v, &structure)
158501  				if err != nil {
158502  					return err
158503  				}
158504  				rtd.Structure = structure
158505  			}
158506  		case "schema":
158507  			if v != nil {
158508  				var schema interface{}
158509  				err = json.Unmarshal(*v, &schema)
158510  				if err != nil {
158511  					return err
158512  				}
158513  				rtd.Schema = schema
158514  			}
158515  		case "linkedServiceName":
158516  			if v != nil {
158517  				var linkedServiceName LinkedServiceReference
158518  				err = json.Unmarshal(*v, &linkedServiceName)
158519  				if err != nil {
158520  					return err
158521  				}
158522  				rtd.LinkedServiceName = &linkedServiceName
158523  			}
158524  		case "parameters":
158525  			if v != nil {
158526  				var parameters map[string]*ParameterSpecification
158527  				err = json.Unmarshal(*v, &parameters)
158528  				if err != nil {
158529  					return err
158530  				}
158531  				rtd.Parameters = parameters
158532  			}
158533  		case "annotations":
158534  			if v != nil {
158535  				var annotations []interface{}
158536  				err = json.Unmarshal(*v, &annotations)
158537  				if err != nil {
158538  					return err
158539  				}
158540  				rtd.Annotations = &annotations
158541  			}
158542  		case "folder":
158543  			if v != nil {
158544  				var folder DatasetFolder
158545  				err = json.Unmarshal(*v, &folder)
158546  				if err != nil {
158547  					return err
158548  				}
158549  				rtd.Folder = &folder
158550  			}
158551  		case "type":
158552  			if v != nil {
158553  				var typeVar TypeBasicDataset
158554  				err = json.Unmarshal(*v, &typeVar)
158555  				if err != nil {
158556  					return err
158557  				}
158558  				rtd.Type = typeVar
158559  			}
158560  		}
158561  	}
158562  
158563  	return nil
158564  }
158565  
158566  // RelationalTableDatasetTypeProperties relational table dataset properties.
158567  type RelationalTableDatasetTypeProperties struct {
158568  	// TableName - The relational table name. Type: string (or Expression with resultType string).
158569  	TableName interface{} `json:"tableName,omitempty"`
158570  }
158571  
158572  // RenameRequest request body structure for rename artifact.
158573  type RenameRequest struct {
158574  	// NewName - New name of the artifact.
158575  	NewName *string `json:"newName,omitempty"`
158576  }
158577  
158578  // RerunTriggerListResponse a list of rerun triggers.
158579  type RerunTriggerListResponse struct {
158580  	// Value - List of rerun triggers.
158581  	Value *[]RerunTriggerResource `json:"value,omitempty"`
158582  	// NextLink - READ-ONLY; The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
158583  	NextLink *string `json:"nextLink,omitempty"`
158584  }
158585  
158586  // MarshalJSON is the custom marshaler for RerunTriggerListResponse.
158587  func (rtlr RerunTriggerListResponse) MarshalJSON() ([]byte, error) {
158588  	objectMap := make(map[string]interface{})
158589  	if rtlr.Value != nil {
158590  		objectMap["value"] = rtlr.Value
158591  	}
158592  	return json.Marshal(objectMap)
158593  }
158594  
158595  // RerunTriggerResource rerunTrigger resource type.
158596  type RerunTriggerResource struct {
158597  	// Properties - Properties of the rerun trigger.
158598  	Properties *RerunTumblingWindowTrigger `json:"properties,omitempty"`
158599  	// Etag - READ-ONLY; Resource Etag.
158600  	Etag *string `json:"etag,omitempty"`
158601  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
158602  	ID *string `json:"id,omitempty"`
158603  	// Name - READ-ONLY; The name of the resource
158604  	Name *string `json:"name,omitempty"`
158605  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
158606  	Type *string `json:"type,omitempty"`
158607  }
158608  
158609  // MarshalJSON is the custom marshaler for RerunTriggerResource.
158610  func (rtr RerunTriggerResource) MarshalJSON() ([]byte, error) {
158611  	objectMap := make(map[string]interface{})
158612  	if rtr.Properties != nil {
158613  		objectMap["properties"] = rtr.Properties
158614  	}
158615  	return json.Marshal(objectMap)
158616  }
158617  
158618  // RerunTumblingWindowTrigger trigger that schedules pipeline reruns for all fixed time interval windows
158619  // from a requested start time to requested end time.
158620  type RerunTumblingWindowTrigger struct {
158621  	// RerunTumblingWindowTriggerTypeProperties - Rerun Trigger properties.
158622  	*RerunTumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
158623  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
158624  	AdditionalProperties map[string]interface{} `json:""`
158625  	// Description - Trigger description.
158626  	Description *string `json:"description,omitempty"`
158627  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
158628  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
158629  	// Annotations - List of tags that can be used for describing the trigger.
158630  	Annotations *[]interface{} `json:"annotations,omitempty"`
158631  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
158632  	Type TypeBasicTrigger `json:"type,omitempty"`
158633  }
158634  
158635  // MarshalJSON is the custom marshaler for RerunTumblingWindowTrigger.
158636  func (rtwt RerunTumblingWindowTrigger) MarshalJSON() ([]byte, error) {
158637  	rtwt.Type = TypeRerunTumblingWindowTrigger
158638  	objectMap := make(map[string]interface{})
158639  	if rtwt.RerunTumblingWindowTriggerTypeProperties != nil {
158640  		objectMap["typeProperties"] = rtwt.RerunTumblingWindowTriggerTypeProperties
158641  	}
158642  	if rtwt.Description != nil {
158643  		objectMap["description"] = rtwt.Description
158644  	}
158645  	if rtwt.Annotations != nil {
158646  		objectMap["annotations"] = rtwt.Annotations
158647  	}
158648  	if rtwt.Type != "" {
158649  		objectMap["type"] = rtwt.Type
158650  	}
158651  	for k, v := range rtwt.AdditionalProperties {
158652  		objectMap[k] = v
158653  	}
158654  	return json.Marshal(objectMap)
158655  }
158656  
158657  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158658  func (rtwt RerunTumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
158659  	return &rtwt, true
158660  }
158661  
158662  // AsChainingTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158663  func (rtwt RerunTumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
158664  	return nil, false
158665  }
158666  
158667  // AsTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158668  func (rtwt RerunTumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
158669  	return nil, false
158670  }
158671  
158672  // AsBlobEventsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158673  func (rtwt RerunTumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
158674  	return nil, false
158675  }
158676  
158677  // AsBlobTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158678  func (rtwt RerunTumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
158679  	return nil, false
158680  }
158681  
158682  // AsScheduleTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158683  func (rtwt RerunTumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
158684  	return nil, false
158685  }
158686  
158687  // AsMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158688  func (rtwt RerunTumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
158689  	return nil, false
158690  }
158691  
158692  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158693  func (rtwt RerunTumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
158694  	return nil, false
158695  }
158696  
158697  // AsTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158698  func (rtwt RerunTumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
158699  	return nil, false
158700  }
158701  
158702  // AsBasicTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger.
158703  func (rtwt RerunTumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
158704  	return &rtwt, true
158705  }
158706  
158707  // UnmarshalJSON is the custom unmarshaler for RerunTumblingWindowTrigger struct.
158708  func (rtwt *RerunTumblingWindowTrigger) UnmarshalJSON(body []byte) error {
158709  	var m map[string]*json.RawMessage
158710  	err := json.Unmarshal(body, &m)
158711  	if err != nil {
158712  		return err
158713  	}
158714  	for k, v := range m {
158715  		switch k {
158716  		case "typeProperties":
158717  			if v != nil {
158718  				var rerunTumblingWindowTriggerTypeProperties RerunTumblingWindowTriggerTypeProperties
158719  				err = json.Unmarshal(*v, &rerunTumblingWindowTriggerTypeProperties)
158720  				if err != nil {
158721  					return err
158722  				}
158723  				rtwt.RerunTumblingWindowTriggerTypeProperties = &rerunTumblingWindowTriggerTypeProperties
158724  			}
158725  		default:
158726  			if v != nil {
158727  				var additionalProperties interface{}
158728  				err = json.Unmarshal(*v, &additionalProperties)
158729  				if err != nil {
158730  					return err
158731  				}
158732  				if rtwt.AdditionalProperties == nil {
158733  					rtwt.AdditionalProperties = make(map[string]interface{})
158734  				}
158735  				rtwt.AdditionalProperties[k] = additionalProperties
158736  			}
158737  		case "description":
158738  			if v != nil {
158739  				var description string
158740  				err = json.Unmarshal(*v, &description)
158741  				if err != nil {
158742  					return err
158743  				}
158744  				rtwt.Description = &description
158745  			}
158746  		case "runtimeState":
158747  			if v != nil {
158748  				var runtimeState TriggerRuntimeState
158749  				err = json.Unmarshal(*v, &runtimeState)
158750  				if err != nil {
158751  					return err
158752  				}
158753  				rtwt.RuntimeState = runtimeState
158754  			}
158755  		case "annotations":
158756  			if v != nil {
158757  				var annotations []interface{}
158758  				err = json.Unmarshal(*v, &annotations)
158759  				if err != nil {
158760  					return err
158761  				}
158762  				rtwt.Annotations = &annotations
158763  			}
158764  		case "type":
158765  			if v != nil {
158766  				var typeVar TypeBasicTrigger
158767  				err = json.Unmarshal(*v, &typeVar)
158768  				if err != nil {
158769  					return err
158770  				}
158771  				rtwt.Type = typeVar
158772  			}
158773  		}
158774  	}
158775  
158776  	return nil
158777  }
158778  
158779  // RerunTumblingWindowTriggerActionParameters rerun tumbling window trigger Parameters.
158780  type RerunTumblingWindowTriggerActionParameters struct {
158781  	// StartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported.
158782  	StartTime *date.Time `json:"startTime,omitempty"`
158783  	// EndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported.
158784  	EndTime *date.Time `json:"endTime,omitempty"`
158785  	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered.
158786  	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
158787  }
158788  
158789  // RerunTumblingWindowTriggerTypeProperties rerun Trigger properties.
158790  type RerunTumblingWindowTriggerTypeProperties struct {
158791  	// ParentTrigger - The parent trigger reference.
158792  	ParentTrigger interface{} `json:"parentTrigger,omitempty"`
158793  	// RequestedStartTime - The start time for the time period for which restatement is initiated. Only UTC time is currently supported.
158794  	RequestedStartTime *date.Time `json:"requestedStartTime,omitempty"`
158795  	// RequestedEndTime - The end time for the time period for which restatement is initiated. Only UTC time is currently supported.
158796  	RequestedEndTime *date.Time `json:"requestedEndTime,omitempty"`
158797  	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a rerun is triggered.
158798  	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
158799  }
158800  
158801  // Resource common fields that are returned in the response for all Azure Resource Manager resources
158802  type Resource struct {
158803  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
158804  	ID *string `json:"id,omitempty"`
158805  	// Name - READ-ONLY; The name of the resource
158806  	Name *string `json:"name,omitempty"`
158807  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
158808  	Type *string `json:"type,omitempty"`
158809  }
158810  
158811  // MarshalJSON is the custom marshaler for Resource.
158812  func (r Resource) MarshalJSON() ([]byte, error) {
158813  	objectMap := make(map[string]interface{})
158814  	return json.Marshal(objectMap)
158815  }
158816  
158817  // ResponsysLinkedService responsys linked service.
158818  type ResponsysLinkedService struct {
158819  	// ResponsysLinkedServiceTypeProperties - Responsys linked service properties.
158820  	*ResponsysLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
158821  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
158822  	AdditionalProperties map[string]interface{} `json:""`
158823  	// ConnectVia - The integration runtime reference.
158824  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
158825  	// Description - Linked service description.
158826  	Description *string `json:"description,omitempty"`
158827  	// Parameters - Parameters for linked service.
158828  	Parameters map[string]*ParameterSpecification `json:"parameters"`
158829  	// Annotations - List of tags that can be used for describing the linked service.
158830  	Annotations *[]interface{} `json:"annotations,omitempty"`
158831  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
158832  	Type TypeBasicLinkedService `json:"type,omitempty"`
158833  }
158834  
158835  // MarshalJSON is the custom marshaler for ResponsysLinkedService.
158836  func (rls ResponsysLinkedService) MarshalJSON() ([]byte, error) {
158837  	rls.Type = TypeResponsys
158838  	objectMap := make(map[string]interface{})
158839  	if rls.ResponsysLinkedServiceTypeProperties != nil {
158840  		objectMap["typeProperties"] = rls.ResponsysLinkedServiceTypeProperties
158841  	}
158842  	if rls.ConnectVia != nil {
158843  		objectMap["connectVia"] = rls.ConnectVia
158844  	}
158845  	if rls.Description != nil {
158846  		objectMap["description"] = rls.Description
158847  	}
158848  	if rls.Parameters != nil {
158849  		objectMap["parameters"] = rls.Parameters
158850  	}
158851  	if rls.Annotations != nil {
158852  		objectMap["annotations"] = rls.Annotations
158853  	}
158854  	if rls.Type != "" {
158855  		objectMap["type"] = rls.Type
158856  	}
158857  	for k, v := range rls.AdditionalProperties {
158858  		objectMap[k] = v
158859  	}
158860  	return json.Marshal(objectMap)
158861  }
158862  
158863  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158864  func (rls ResponsysLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
158865  	return nil, false
158866  }
158867  
158868  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158869  func (rls ResponsysLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
158870  	return nil, false
158871  }
158872  
158873  // AsSapTableLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158874  func (rls ResponsysLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
158875  	return nil, false
158876  }
158877  
158878  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158879  func (rls ResponsysLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
158880  	return nil, false
158881  }
158882  
158883  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158884  func (rls ResponsysLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
158885  	return nil, false
158886  }
158887  
158888  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158889  func (rls ResponsysLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
158890  	return nil, false
158891  }
158892  
158893  // AsResponsysLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158894  func (rls ResponsysLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
158895  	return &rls, true
158896  }
158897  
158898  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158899  func (rls ResponsysLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
158900  	return nil, false
158901  }
158902  
158903  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158904  func (rls ResponsysLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
158905  	return nil, false
158906  }
158907  
158908  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158909  func (rls ResponsysLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
158910  	return nil, false
158911  }
158912  
158913  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158914  func (rls ResponsysLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
158915  	return nil, false
158916  }
158917  
158918  // AsNetezzaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158919  func (rls ResponsysLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
158920  	return nil, false
158921  }
158922  
158923  // AsVerticaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158924  func (rls ResponsysLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
158925  	return nil, false
158926  }
158927  
158928  // AsZohoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158929  func (rls ResponsysLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
158930  	return nil, false
158931  }
158932  
158933  // AsXeroLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158934  func (rls ResponsysLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
158935  	return nil, false
158936  }
158937  
158938  // AsSquareLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158939  func (rls ResponsysLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
158940  	return nil, false
158941  }
158942  
158943  // AsSparkLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158944  func (rls ResponsysLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
158945  	return nil, false
158946  }
158947  
158948  // AsShopifyLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158949  func (rls ResponsysLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
158950  	return nil, false
158951  }
158952  
158953  // AsServiceNowLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158954  func (rls ResponsysLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
158955  	return nil, false
158956  }
158957  
158958  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158959  func (rls ResponsysLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
158960  	return nil, false
158961  }
158962  
158963  // AsPrestoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158964  func (rls ResponsysLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
158965  	return nil, false
158966  }
158967  
158968  // AsPhoenixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158969  func (rls ResponsysLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
158970  	return nil, false
158971  }
158972  
158973  // AsPaypalLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158974  func (rls ResponsysLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
158975  	return nil, false
158976  }
158977  
158978  // AsMarketoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158979  func (rls ResponsysLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
158980  	return nil, false
158981  }
158982  
158983  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158984  func (rls ResponsysLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
158985  	return nil, false
158986  }
158987  
158988  // AsMariaDBLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158989  func (rls ResponsysLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
158990  	return nil, false
158991  }
158992  
158993  // AsMagentoLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158994  func (rls ResponsysLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
158995  	return nil, false
158996  }
158997  
158998  // AsJiraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
158999  func (rls ResponsysLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
159000  	return nil, false
159001  }
159002  
159003  // AsImpalaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159004  func (rls ResponsysLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
159005  	return nil, false
159006  }
159007  
159008  // AsHubspotLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159009  func (rls ResponsysLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
159010  	return nil, false
159011  }
159012  
159013  // AsHiveLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159014  func (rls ResponsysLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
159015  	return nil, false
159016  }
159017  
159018  // AsHBaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159019  func (rls ResponsysLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
159020  	return nil, false
159021  }
159022  
159023  // AsGreenplumLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159024  func (rls ResponsysLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
159025  	return nil, false
159026  }
159027  
159028  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159029  func (rls ResponsysLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
159030  	return nil, false
159031  }
159032  
159033  // AsEloquaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159034  func (rls ResponsysLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
159035  	return nil, false
159036  }
159037  
159038  // AsDrillLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159039  func (rls ResponsysLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
159040  	return nil, false
159041  }
159042  
159043  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159044  func (rls ResponsysLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
159045  	return nil, false
159046  }
159047  
159048  // AsConcurLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159049  func (rls ResponsysLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
159050  	return nil, false
159051  }
159052  
159053  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159054  func (rls ResponsysLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
159055  	return nil, false
159056  }
159057  
159058  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159059  func (rls ResponsysLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
159060  	return nil, false
159061  }
159062  
159063  // AsSapHanaLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159064  func (rls ResponsysLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
159065  	return nil, false
159066  }
159067  
159068  // AsSapBWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159069  func (rls ResponsysLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
159070  	return nil, false
159071  }
159072  
159073  // AsSftpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159074  func (rls ResponsysLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
159075  	return nil, false
159076  }
159077  
159078  // AsFtpServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159079  func (rls ResponsysLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
159080  	return nil, false
159081  }
159082  
159083  // AsHTTPLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159084  func (rls ResponsysLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
159085  	return nil, false
159086  }
159087  
159088  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159089  func (rls ResponsysLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
159090  	return nil, false
159091  }
159092  
159093  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159094  func (rls ResponsysLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
159095  	return nil, false
159096  }
159097  
159098  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159099  func (rls ResponsysLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
159100  	return nil, false
159101  }
159102  
159103  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159104  func (rls ResponsysLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
159105  	return nil, false
159106  }
159107  
159108  // AsRestServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159109  func (rls ResponsysLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
159110  	return nil, false
159111  }
159112  
159113  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159114  func (rls ResponsysLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
159115  	return nil, false
159116  }
159117  
159118  // AsSapEccLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159119  func (rls ResponsysLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
159120  	return nil, false
159121  }
159122  
159123  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159124  func (rls ResponsysLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
159125  	return nil, false
159126  }
159127  
159128  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159129  func (rls ResponsysLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
159130  	return nil, false
159131  }
159132  
159133  // AsSalesforceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159134  func (rls ResponsysLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
159135  	return nil, false
159136  }
159137  
159138  // AsOffice365LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159139  func (rls ResponsysLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
159140  	return nil, false
159141  }
159142  
159143  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159144  func (rls ResponsysLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
159145  	return nil, false
159146  }
159147  
159148  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159149  func (rls ResponsysLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
159150  	return nil, false
159151  }
159152  
159153  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159154  func (rls ResponsysLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
159155  	return nil, false
159156  }
159157  
159158  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159159  func (rls ResponsysLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
159160  	return nil, false
159161  }
159162  
159163  // AsMongoDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159164  func (rls ResponsysLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
159165  	return nil, false
159166  }
159167  
159168  // AsCassandraLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159169  func (rls ResponsysLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
159170  	return nil, false
159171  }
159172  
159173  // AsWebLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159174  func (rls ResponsysLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
159175  	return nil, false
159176  }
159177  
159178  // AsODataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159179  func (rls ResponsysLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
159180  	return nil, false
159181  }
159182  
159183  // AsHdfsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159184  func (rls ResponsysLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
159185  	return nil, false
159186  }
159187  
159188  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159189  func (rls ResponsysLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
159190  	return nil, false
159191  }
159192  
159193  // AsInformixLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159194  func (rls ResponsysLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
159195  	return nil, false
159196  }
159197  
159198  // AsOdbcLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159199  func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
159200  	return nil, false
159201  }
159202  
159203  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159204  func (rls ResponsysLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
159205  	return nil, false
159206  }
159207  
159208  // AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159209  func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
159210  	return nil, false
159211  }
159212  
159213  // AsTeradataLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159214  func (rls ResponsysLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
159215  	return nil, false
159216  }
159217  
159218  // AsDb2LinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159219  func (rls ResponsysLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
159220  	return nil, false
159221  }
159222  
159223  // AsSybaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159224  func (rls ResponsysLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
159225  	return nil, false
159226  }
159227  
159228  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159229  func (rls ResponsysLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
159230  	return nil, false
159231  }
159232  
159233  // AsMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159234  func (rls ResponsysLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
159235  	return nil, false
159236  }
159237  
159238  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159239  func (rls ResponsysLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
159240  	return nil, false
159241  }
159242  
159243  // AsOracleLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159244  func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
159245  	return nil, false
159246  }
159247  
159248  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159249  func (rls ResponsysLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
159250  	return nil, false
159251  }
159252  
159253  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159254  func (rls ResponsysLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
159255  	return nil, false
159256  }
159257  
159258  // AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159259  func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
159260  	return nil, false
159261  }
159262  
159263  // AsHDInsightLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159264  func (rls ResponsysLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
159265  	return nil, false
159266  }
159267  
159268  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159269  func (rls ResponsysLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
159270  	return nil, false
159271  }
159272  
159273  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159274  func (rls ResponsysLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
159275  	return nil, false
159276  }
159277  
159278  // AsDynamicsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159279  func (rls ResponsysLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
159280  	return nil, false
159281  }
159282  
159283  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159284  func (rls ResponsysLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
159285  	return nil, false
159286  }
159287  
159288  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159289  func (rls ResponsysLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
159290  	return nil, false
159291  }
159292  
159293  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159294  func (rls ResponsysLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
159295  	return nil, false
159296  }
159297  
159298  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159299  func (rls ResponsysLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
159300  	return nil, false
159301  }
159302  
159303  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159304  func (rls ResponsysLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
159305  	return nil, false
159306  }
159307  
159308  // AsSQLServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159309  func (rls ResponsysLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
159310  	return nil, false
159311  }
159312  
159313  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159314  func (rls ResponsysLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
159315  	return nil, false
159316  }
159317  
159318  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159319  func (rls ResponsysLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
159320  	return nil, false
159321  }
159322  
159323  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159324  func (rls ResponsysLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
159325  	return nil, false
159326  }
159327  
159328  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159329  func (rls ResponsysLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
159330  	return nil, false
159331  }
159332  
159333  // AsLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159334  func (rls ResponsysLinkedService) AsLinkedService() (*LinkedService, bool) {
159335  	return nil, false
159336  }
159337  
159338  // AsBasicLinkedService is the BasicLinkedService implementation for ResponsysLinkedService.
159339  func (rls ResponsysLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
159340  	return &rls, true
159341  }
159342  
159343  // UnmarshalJSON is the custom unmarshaler for ResponsysLinkedService struct.
159344  func (rls *ResponsysLinkedService) UnmarshalJSON(body []byte) error {
159345  	var m map[string]*json.RawMessage
159346  	err := json.Unmarshal(body, &m)
159347  	if err != nil {
159348  		return err
159349  	}
159350  	for k, v := range m {
159351  		switch k {
159352  		case "typeProperties":
159353  			if v != nil {
159354  				var responsysLinkedServiceTypeProperties ResponsysLinkedServiceTypeProperties
159355  				err = json.Unmarshal(*v, &responsysLinkedServiceTypeProperties)
159356  				if err != nil {
159357  					return err
159358  				}
159359  				rls.ResponsysLinkedServiceTypeProperties = &responsysLinkedServiceTypeProperties
159360  			}
159361  		default:
159362  			if v != nil {
159363  				var additionalProperties interface{}
159364  				err = json.Unmarshal(*v, &additionalProperties)
159365  				if err != nil {
159366  					return err
159367  				}
159368  				if rls.AdditionalProperties == nil {
159369  					rls.AdditionalProperties = make(map[string]interface{})
159370  				}
159371  				rls.AdditionalProperties[k] = additionalProperties
159372  			}
159373  		case "connectVia":
159374  			if v != nil {
159375  				var connectVia IntegrationRuntimeReference
159376  				err = json.Unmarshal(*v, &connectVia)
159377  				if err != nil {
159378  					return err
159379  				}
159380  				rls.ConnectVia = &connectVia
159381  			}
159382  		case "description":
159383  			if v != nil {
159384  				var description string
159385  				err = json.Unmarshal(*v, &description)
159386  				if err != nil {
159387  					return err
159388  				}
159389  				rls.Description = &description
159390  			}
159391  		case "parameters":
159392  			if v != nil {
159393  				var parameters map[string]*ParameterSpecification
159394  				err = json.Unmarshal(*v, &parameters)
159395  				if err != nil {
159396  					return err
159397  				}
159398  				rls.Parameters = parameters
159399  			}
159400  		case "annotations":
159401  			if v != nil {
159402  				var annotations []interface{}
159403  				err = json.Unmarshal(*v, &annotations)
159404  				if err != nil {
159405  					return err
159406  				}
159407  				rls.Annotations = &annotations
159408  			}
159409  		case "type":
159410  			if v != nil {
159411  				var typeVar TypeBasicLinkedService
159412  				err = json.Unmarshal(*v, &typeVar)
159413  				if err != nil {
159414  					return err
159415  				}
159416  				rls.Type = typeVar
159417  			}
159418  		}
159419  	}
159420  
159421  	return nil
159422  }
159423  
159424  // ResponsysLinkedServiceTypeProperties responsys linked service properties.
159425  type ResponsysLinkedServiceTypeProperties struct {
159426  	// Endpoint - The endpoint of the Responsys server.
159427  	Endpoint interface{} `json:"endpoint,omitempty"`
159428  	// ClientID - The client ID associated with the Responsys application. Type: string (or Expression with resultType string).
159429  	ClientID interface{} `json:"clientId,omitempty"`
159430  	// ClientSecret - The client secret associated with the Responsys application. Type: string (or Expression with resultType string).
159431  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
159432  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
159433  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
159434  	// 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).
159435  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
159436  	// 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).
159437  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
159438  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
159439  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
159440  }
159441  
159442  // UnmarshalJSON is the custom unmarshaler for ResponsysLinkedServiceTypeProperties struct.
159443  func (rlstp *ResponsysLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
159444  	var m map[string]*json.RawMessage
159445  	err := json.Unmarshal(body, &m)
159446  	if err != nil {
159447  		return err
159448  	}
159449  	for k, v := range m {
159450  		switch k {
159451  		case "endpoint":
159452  			if v != nil {
159453  				var endpoint interface{}
159454  				err = json.Unmarshal(*v, &endpoint)
159455  				if err != nil {
159456  					return err
159457  				}
159458  				rlstp.Endpoint = endpoint
159459  			}
159460  		case "clientId":
159461  			if v != nil {
159462  				var clientID interface{}
159463  				err = json.Unmarshal(*v, &clientID)
159464  				if err != nil {
159465  					return err
159466  				}
159467  				rlstp.ClientID = clientID
159468  			}
159469  		case "clientSecret":
159470  			if v != nil {
159471  				clientSecret, err := unmarshalBasicSecretBase(*v)
159472  				if err != nil {
159473  					return err
159474  				}
159475  				rlstp.ClientSecret = clientSecret
159476  			}
159477  		case "useEncryptedEndpoints":
159478  			if v != nil {
159479  				var useEncryptedEndpoints interface{}
159480  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
159481  				if err != nil {
159482  					return err
159483  				}
159484  				rlstp.UseEncryptedEndpoints = useEncryptedEndpoints
159485  			}
159486  		case "useHostVerification":
159487  			if v != nil {
159488  				var useHostVerification interface{}
159489  				err = json.Unmarshal(*v, &useHostVerification)
159490  				if err != nil {
159491  					return err
159492  				}
159493  				rlstp.UseHostVerification = useHostVerification
159494  			}
159495  		case "usePeerVerification":
159496  			if v != nil {
159497  				var usePeerVerification interface{}
159498  				err = json.Unmarshal(*v, &usePeerVerification)
159499  				if err != nil {
159500  					return err
159501  				}
159502  				rlstp.UsePeerVerification = usePeerVerification
159503  			}
159504  		case "encryptedCredential":
159505  			if v != nil {
159506  				var encryptedCredential interface{}
159507  				err = json.Unmarshal(*v, &encryptedCredential)
159508  				if err != nil {
159509  					return err
159510  				}
159511  				rlstp.EncryptedCredential = encryptedCredential
159512  			}
159513  		}
159514  	}
159515  
159516  	return nil
159517  }
159518  
159519  // ResponsysObjectDataset responsys dataset.
159520  type ResponsysObjectDataset struct {
159521  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
159522  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
159523  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
159524  	AdditionalProperties map[string]interface{} `json:""`
159525  	// Description - Dataset description.
159526  	Description *string `json:"description,omitempty"`
159527  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
159528  	Structure interface{} `json:"structure,omitempty"`
159529  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
159530  	Schema interface{} `json:"schema,omitempty"`
159531  	// LinkedServiceName - Linked service reference.
159532  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
159533  	// Parameters - Parameters for dataset.
159534  	Parameters map[string]*ParameterSpecification `json:"parameters"`
159535  	// Annotations - List of tags that can be used for describing the Dataset.
159536  	Annotations *[]interface{} `json:"annotations,omitempty"`
159537  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
159538  	Folder *DatasetFolder `json:"folder,omitempty"`
159539  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
159540  	Type TypeBasicDataset `json:"type,omitempty"`
159541  }
159542  
159543  // MarshalJSON is the custom marshaler for ResponsysObjectDataset.
159544  func (rod ResponsysObjectDataset) MarshalJSON() ([]byte, error) {
159545  	rod.Type = TypeResponsysObject
159546  	objectMap := make(map[string]interface{})
159547  	if rod.GenericDatasetTypeProperties != nil {
159548  		objectMap["typeProperties"] = rod.GenericDatasetTypeProperties
159549  	}
159550  	if rod.Description != nil {
159551  		objectMap["description"] = rod.Description
159552  	}
159553  	if rod.Structure != nil {
159554  		objectMap["structure"] = rod.Structure
159555  	}
159556  	if rod.Schema != nil {
159557  		objectMap["schema"] = rod.Schema
159558  	}
159559  	if rod.LinkedServiceName != nil {
159560  		objectMap["linkedServiceName"] = rod.LinkedServiceName
159561  	}
159562  	if rod.Parameters != nil {
159563  		objectMap["parameters"] = rod.Parameters
159564  	}
159565  	if rod.Annotations != nil {
159566  		objectMap["annotations"] = rod.Annotations
159567  	}
159568  	if rod.Folder != nil {
159569  		objectMap["folder"] = rod.Folder
159570  	}
159571  	if rod.Type != "" {
159572  		objectMap["type"] = rod.Type
159573  	}
159574  	for k, v := range rod.AdditionalProperties {
159575  		objectMap[k] = v
159576  	}
159577  	return json.Marshal(objectMap)
159578  }
159579  
159580  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159581  func (rod ResponsysObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
159582  	return nil, false
159583  }
159584  
159585  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159586  func (rod ResponsysObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
159587  	return nil, false
159588  }
159589  
159590  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159591  func (rod ResponsysObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
159592  	return nil, false
159593  }
159594  
159595  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159596  func (rod ResponsysObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
159597  	return nil, false
159598  }
159599  
159600  // AsResponsysObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159601  func (rod ResponsysObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
159602  	return &rod, true
159603  }
159604  
159605  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159606  func (rod ResponsysObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
159607  	return nil, false
159608  }
159609  
159610  // AsVerticaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159611  func (rod ResponsysObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
159612  	return nil, false
159613  }
159614  
159615  // AsNetezzaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159616  func (rod ResponsysObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
159617  	return nil, false
159618  }
159619  
159620  // AsZohoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159621  func (rod ResponsysObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
159622  	return nil, false
159623  }
159624  
159625  // AsXeroObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159626  func (rod ResponsysObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
159627  	return nil, false
159628  }
159629  
159630  // AsSquareObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159631  func (rod ResponsysObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
159632  	return nil, false
159633  }
159634  
159635  // AsSparkObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159636  func (rod ResponsysObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
159637  	return nil, false
159638  }
159639  
159640  // AsShopifyObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159641  func (rod ResponsysObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
159642  	return nil, false
159643  }
159644  
159645  // AsServiceNowObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159646  func (rod ResponsysObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
159647  	return nil, false
159648  }
159649  
159650  // AsQuickBooksObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159651  func (rod ResponsysObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
159652  	return nil, false
159653  }
159654  
159655  // AsPrestoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159656  func (rod ResponsysObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
159657  	return nil, false
159658  }
159659  
159660  // AsPhoenixObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159661  func (rod ResponsysObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
159662  	return nil, false
159663  }
159664  
159665  // AsPaypalObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159666  func (rod ResponsysObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
159667  	return nil, false
159668  }
159669  
159670  // AsMarketoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159671  func (rod ResponsysObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
159672  	return nil, false
159673  }
159674  
159675  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159676  func (rod ResponsysObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
159677  	return nil, false
159678  }
159679  
159680  // AsMariaDBTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159681  func (rod ResponsysObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
159682  	return nil, false
159683  }
159684  
159685  // AsMagentoObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159686  func (rod ResponsysObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
159687  	return nil, false
159688  }
159689  
159690  // AsJiraObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159691  func (rod ResponsysObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
159692  	return nil, false
159693  }
159694  
159695  // AsImpalaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159696  func (rod ResponsysObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
159697  	return nil, false
159698  }
159699  
159700  // AsHubspotObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159701  func (rod ResponsysObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
159702  	return nil, false
159703  }
159704  
159705  // AsHiveObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159706  func (rod ResponsysObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
159707  	return nil, false
159708  }
159709  
159710  // AsHBaseObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159711  func (rod ResponsysObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
159712  	return nil, false
159713  }
159714  
159715  // AsGreenplumTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159716  func (rod ResponsysObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
159717  	return nil, false
159718  }
159719  
159720  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159721  func (rod ResponsysObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
159722  	return nil, false
159723  }
159724  
159725  // AsEloquaObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159726  func (rod ResponsysObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
159727  	return nil, false
159728  }
159729  
159730  // AsDrillTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159731  func (rod ResponsysObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
159732  	return nil, false
159733  }
159734  
159735  // AsCouchbaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159736  func (rod ResponsysObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
159737  	return nil, false
159738  }
159739  
159740  // AsConcurObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159741  func (rod ResponsysObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
159742  	return nil, false
159743  }
159744  
159745  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159746  func (rod ResponsysObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
159747  	return nil, false
159748  }
159749  
159750  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159751  func (rod ResponsysObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
159752  	return nil, false
159753  }
159754  
159755  // AsAzureSearchIndexDataset is the BasicDataset implementation for ResponsysObjectDataset.
159756  func (rod ResponsysObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
159757  	return nil, false
159758  }
159759  
159760  // AsWebTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159761  func (rod ResponsysObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
159762  	return nil, false
159763  }
159764  
159765  // AsSapTableResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159766  func (rod ResponsysObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
159767  	return nil, false
159768  }
159769  
159770  // AsRestResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159771  func (rod ResponsysObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
159772  	return nil, false
159773  }
159774  
159775  // AsSQLServerTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159776  func (rod ResponsysObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
159777  	return nil, false
159778  }
159779  
159780  // AsSapOpenHubTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159781  func (rod ResponsysObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
159782  	return nil, false
159783  }
159784  
159785  // AsSapHanaTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159786  func (rod ResponsysObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
159787  	return nil, false
159788  }
159789  
159790  // AsSapEccResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159791  func (rod ResponsysObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
159792  	return nil, false
159793  }
159794  
159795  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159796  func (rod ResponsysObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
159797  	return nil, false
159798  }
159799  
159800  // AsSapBwCubeDataset is the BasicDataset implementation for ResponsysObjectDataset.
159801  func (rod ResponsysObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
159802  	return nil, false
159803  }
159804  
159805  // AsSybaseTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159806  func (rod ResponsysObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
159807  	return nil, false
159808  }
159809  
159810  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159811  func (rod ResponsysObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
159812  	return nil, false
159813  }
159814  
159815  // AsSalesforceObjectDataset is the BasicDataset implementation for ResponsysObjectDataset.
159816  func (rod ResponsysObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
159817  	return nil, false
159818  }
159819  
159820  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159821  func (rod ResponsysObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
159822  	return nil, false
159823  }
159824  
159825  // AsPostgreSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159826  func (rod ResponsysObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
159827  	return nil, false
159828  }
159829  
159830  // AsMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159831  func (rod ResponsysObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
159832  	return nil, false
159833  }
159834  
159835  // AsOdbcTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159836  func (rod ResponsysObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
159837  	return nil, false
159838  }
159839  
159840  // AsInformixTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159841  func (rod ResponsysObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
159842  	return nil, false
159843  }
159844  
159845  // AsRelationalTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159846  func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
159847  	return nil, false
159848  }
159849  
159850  // AsDb2TableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159851  func (rod ResponsysObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
159852  	return nil, false
159853  }
159854  
159855  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159856  func (rod ResponsysObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
159857  	return nil, false
159858  }
159859  
159860  // AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159861  func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
159862  	return nil, false
159863  }
159864  
159865  // AsTeradataTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159866  func (rod ResponsysObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
159867  	return nil, false
159868  }
159869  
159870  // AsOracleTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159871  func (rod ResponsysObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
159872  	return nil, false
159873  }
159874  
159875  // AsODataResourceDataset is the BasicDataset implementation for ResponsysObjectDataset.
159876  func (rod ResponsysObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
159877  	return nil, false
159878  }
159879  
159880  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
159881  func (rod ResponsysObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
159882  	return nil, false
159883  }
159884  
159885  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
159886  func (rod ResponsysObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
159887  	return nil, false
159888  }
159889  
159890  // AsMongoDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
159891  func (rod ResponsysObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
159892  	return nil, false
159893  }
159894  
159895  // AsOffice365Dataset is the BasicDataset implementation for ResponsysObjectDataset.
159896  func (rod ResponsysObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
159897  	return nil, false
159898  }
159899  
159900  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
159901  func (rod ResponsysObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
159902  	return nil, false
159903  }
159904  
159905  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
159906  func (rod ResponsysObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
159907  	return nil, false
159908  }
159909  
159910  // AsDynamicsEntityDataset is the BasicDataset implementation for ResponsysObjectDataset.
159911  func (rod ResponsysObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
159912  	return nil, false
159913  }
159914  
159915  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
159916  func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
159917  	return nil, false
159918  }
159919  
159920  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset.
159921  func (rod ResponsysObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
159922  	return nil, false
159923  }
159924  
159925  // AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset.
159926  func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
159927  	return nil, false
159928  }
159929  
159930  // AsCassandraTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159931  func (rod ResponsysObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
159932  	return nil, false
159933  }
159934  
159935  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159936  func (rod ResponsysObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
159937  	return nil, false
159938  }
159939  
159940  // AsAzureSQLMITableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159941  func (rod ResponsysObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
159942  	return nil, false
159943  }
159944  
159945  // AsAzureSQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159946  func (rod ResponsysObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
159947  	return nil, false
159948  }
159949  
159950  // AsAzureTableDataset is the BasicDataset implementation for ResponsysObjectDataset.
159951  func (rod ResponsysObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
159952  	return nil, false
159953  }
159954  
159955  // AsBinaryDataset is the BasicDataset implementation for ResponsysObjectDataset.
159956  func (rod ResponsysObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
159957  	return nil, false
159958  }
159959  
159960  // AsOrcDataset is the BasicDataset implementation for ResponsysObjectDataset.
159961  func (rod ResponsysObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
159962  	return nil, false
159963  }
159964  
159965  // AsJSONDataset is the BasicDataset implementation for ResponsysObjectDataset.
159966  func (rod ResponsysObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
159967  	return nil, false
159968  }
159969  
159970  // AsDelimitedTextDataset is the BasicDataset implementation for ResponsysObjectDataset.
159971  func (rod ResponsysObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
159972  	return nil, false
159973  }
159974  
159975  // AsParquetDataset is the BasicDataset implementation for ResponsysObjectDataset.
159976  func (rod ResponsysObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
159977  	return nil, false
159978  }
159979  
159980  // AsAvroDataset is the BasicDataset implementation for ResponsysObjectDataset.
159981  func (rod ResponsysObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
159982  	return nil, false
159983  }
159984  
159985  // AsDataset is the BasicDataset implementation for ResponsysObjectDataset.
159986  func (rod ResponsysObjectDataset) AsDataset() (*Dataset, bool) {
159987  	return nil, false
159988  }
159989  
159990  // AsBasicDataset is the BasicDataset implementation for ResponsysObjectDataset.
159991  func (rod ResponsysObjectDataset) AsBasicDataset() (BasicDataset, bool) {
159992  	return &rod, true
159993  }
159994  
159995  // UnmarshalJSON is the custom unmarshaler for ResponsysObjectDataset struct.
159996  func (rod *ResponsysObjectDataset) 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 genericDatasetTypeProperties GenericDatasetTypeProperties
160007  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
160008  				if err != nil {
160009  					return err
160010  				}
160011  				rod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
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 rod.AdditionalProperties == nil {
160021  					rod.AdditionalProperties = make(map[string]interface{})
160022  				}
160023  				rod.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  				rod.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  				rod.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  				rod.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  				rod.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  				rod.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  				rod.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  				rod.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  				rod.Type = typeVar
160096  			}
160097  		}
160098  	}
160099  
160100  	return nil
160101  }
160102  
160103  // ResponsysSource a copy activity Responsys source.
160104  type ResponsysSource struct {
160105  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
160106  	Query interface{} `json:"query,omitempty"`
160107  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
160108  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
160109  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
160110  	AdditionalProperties map[string]interface{} `json:""`
160111  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
160112  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
160113  	// 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])).
160114  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
160115  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
160116  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
160117  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
160118  	Type TypeBasicCopySource `json:"type,omitempty"`
160119  }
160120  
160121  // MarshalJSON is the custom marshaler for ResponsysSource.
160122  func (rs ResponsysSource) MarshalJSON() ([]byte, error) {
160123  	rs.Type = TypeResponsysSource
160124  	objectMap := make(map[string]interface{})
160125  	if rs.Query != nil {
160126  		objectMap["query"] = rs.Query
160127  	}
160128  	if rs.QueryTimeout != nil {
160129  		objectMap["queryTimeout"] = rs.QueryTimeout
160130  	}
160131  	if rs.SourceRetryCount != nil {
160132  		objectMap["sourceRetryCount"] = rs.SourceRetryCount
160133  	}
160134  	if rs.SourceRetryWait != nil {
160135  		objectMap["sourceRetryWait"] = rs.SourceRetryWait
160136  	}
160137  	if rs.MaxConcurrentConnections != nil {
160138  		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
160139  	}
160140  	if rs.Type != "" {
160141  		objectMap["type"] = rs.Type
160142  	}
160143  	for k, v := range rs.AdditionalProperties {
160144  		objectMap[k] = v
160145  	}
160146  	return json.Marshal(objectMap)
160147  }
160148  
160149  // AsHTTPSource is the BasicCopySource implementation for ResponsysSource.
160150  func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) {
160151  	return nil, false
160152  }
160153  
160154  // AsAzureBlobFSSource is the BasicCopySource implementation for ResponsysSource.
160155  func (rs ResponsysSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
160156  	return nil, false
160157  }
160158  
160159  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource.
160160  func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
160161  	return nil, false
160162  }
160163  
160164  // AsOffice365Source is the BasicCopySource implementation for ResponsysSource.
160165  func (rs ResponsysSource) AsOffice365Source() (*Office365Source, bool) {
160166  	return nil, false
160167  }
160168  
160169  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ResponsysSource.
160170  func (rs ResponsysSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
160171  	return nil, false
160172  }
160173  
160174  // AsMongoDbV2Source is the BasicCopySource implementation for ResponsysSource.
160175  func (rs ResponsysSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
160176  	return nil, false
160177  }
160178  
160179  // AsMongoDbSource is the BasicCopySource implementation for ResponsysSource.
160180  func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) {
160181  	return nil, false
160182  }
160183  
160184  // AsWebSource is the BasicCopySource implementation for ResponsysSource.
160185  func (rs ResponsysSource) AsWebSource() (*WebSource, bool) {
160186  	return nil, false
160187  }
160188  
160189  // AsOracleSource is the BasicCopySource implementation for ResponsysSource.
160190  func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) {
160191  	return nil, false
160192  }
160193  
160194  // AsAzureDataExplorerSource is the BasicCopySource implementation for ResponsysSource.
160195  func (rs ResponsysSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
160196  	return nil, false
160197  }
160198  
160199  // AsHdfsSource is the BasicCopySource implementation for ResponsysSource.
160200  func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) {
160201  	return nil, false
160202  }
160203  
160204  // AsFileSystemSource is the BasicCopySource implementation for ResponsysSource.
160205  func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) {
160206  	return nil, false
160207  }
160208  
160209  // AsRestSource is the BasicCopySource implementation for ResponsysSource.
160210  func (rs ResponsysSource) AsRestSource() (*RestSource, bool) {
160211  	return nil, false
160212  }
160213  
160214  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ResponsysSource.
160215  func (rs ResponsysSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
160216  	return nil, false
160217  }
160218  
160219  // AsODataSource is the BasicCopySource implementation for ResponsysSource.
160220  func (rs ResponsysSource) AsODataSource() (*ODataSource, bool) {
160221  	return nil, false
160222  }
160223  
160224  // AsMicrosoftAccessSource is the BasicCopySource implementation for ResponsysSource.
160225  func (rs ResponsysSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
160226  	return nil, false
160227  }
160228  
160229  // AsRelationalSource is the BasicCopySource implementation for ResponsysSource.
160230  func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) {
160231  	return nil, false
160232  }
160233  
160234  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ResponsysSource.
160235  func (rs ResponsysSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
160236  	return nil, false
160237  }
160238  
160239  // AsDynamicsCrmSource is the BasicCopySource implementation for ResponsysSource.
160240  func (rs ResponsysSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
160241  	return nil, false
160242  }
160243  
160244  // AsDynamicsSource is the BasicCopySource implementation for ResponsysSource.
160245  func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) {
160246  	return nil, false
160247  }
160248  
160249  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ResponsysSource.
160250  func (rs ResponsysSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
160251  	return nil, false
160252  }
160253  
160254  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource.
160255  func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
160256  	return nil, false
160257  }
160258  
160259  // AsBlobSource is the BasicCopySource implementation for ResponsysSource.
160260  func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) {
160261  	return nil, false
160262  }
160263  
160264  // AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource.
160265  func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
160266  	return nil, false
160267  }
160268  
160269  // AsGoogleAdWordsSource is the BasicCopySource implementation for ResponsysSource.
160270  func (rs ResponsysSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
160271  	return nil, false
160272  }
160273  
160274  // AsOracleServiceCloudSource is the BasicCopySource implementation for ResponsysSource.
160275  func (rs ResponsysSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
160276  	return nil, false
160277  }
160278  
160279  // AsDynamicsAXSource is the BasicCopySource implementation for ResponsysSource.
160280  func (rs ResponsysSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
160281  	return nil, false
160282  }
160283  
160284  // AsResponsysSource is the BasicCopySource implementation for ResponsysSource.
160285  func (rs ResponsysSource) AsResponsysSource() (*ResponsysSource, bool) {
160286  	return &rs, true
160287  }
160288  
160289  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ResponsysSource.
160290  func (rs ResponsysSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
160291  	return nil, false
160292  }
160293  
160294  // AsVerticaSource is the BasicCopySource implementation for ResponsysSource.
160295  func (rs ResponsysSource) AsVerticaSource() (*VerticaSource, bool) {
160296  	return nil, false
160297  }
160298  
160299  // AsNetezzaSource is the BasicCopySource implementation for ResponsysSource.
160300  func (rs ResponsysSource) AsNetezzaSource() (*NetezzaSource, bool) {
160301  	return nil, false
160302  }
160303  
160304  // AsZohoSource is the BasicCopySource implementation for ResponsysSource.
160305  func (rs ResponsysSource) AsZohoSource() (*ZohoSource, bool) {
160306  	return nil, false
160307  }
160308  
160309  // AsXeroSource is the BasicCopySource implementation for ResponsysSource.
160310  func (rs ResponsysSource) AsXeroSource() (*XeroSource, bool) {
160311  	return nil, false
160312  }
160313  
160314  // AsSquareSource is the BasicCopySource implementation for ResponsysSource.
160315  func (rs ResponsysSource) AsSquareSource() (*SquareSource, bool) {
160316  	return nil, false
160317  }
160318  
160319  // AsSparkSource is the BasicCopySource implementation for ResponsysSource.
160320  func (rs ResponsysSource) AsSparkSource() (*SparkSource, bool) {
160321  	return nil, false
160322  }
160323  
160324  // AsShopifySource is the BasicCopySource implementation for ResponsysSource.
160325  func (rs ResponsysSource) AsShopifySource() (*ShopifySource, bool) {
160326  	return nil, false
160327  }
160328  
160329  // AsServiceNowSource is the BasicCopySource implementation for ResponsysSource.
160330  func (rs ResponsysSource) AsServiceNowSource() (*ServiceNowSource, bool) {
160331  	return nil, false
160332  }
160333  
160334  // AsQuickBooksSource is the BasicCopySource implementation for ResponsysSource.
160335  func (rs ResponsysSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
160336  	return nil, false
160337  }
160338  
160339  // AsPrestoSource is the BasicCopySource implementation for ResponsysSource.
160340  func (rs ResponsysSource) AsPrestoSource() (*PrestoSource, bool) {
160341  	return nil, false
160342  }
160343  
160344  // AsPhoenixSource is the BasicCopySource implementation for ResponsysSource.
160345  func (rs ResponsysSource) AsPhoenixSource() (*PhoenixSource, bool) {
160346  	return nil, false
160347  }
160348  
160349  // AsPaypalSource is the BasicCopySource implementation for ResponsysSource.
160350  func (rs ResponsysSource) AsPaypalSource() (*PaypalSource, bool) {
160351  	return nil, false
160352  }
160353  
160354  // AsMarketoSource is the BasicCopySource implementation for ResponsysSource.
160355  func (rs ResponsysSource) AsMarketoSource() (*MarketoSource, bool) {
160356  	return nil, false
160357  }
160358  
160359  // AsAzureMariaDBSource is the BasicCopySource implementation for ResponsysSource.
160360  func (rs ResponsysSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
160361  	return nil, false
160362  }
160363  
160364  // AsMariaDBSource is the BasicCopySource implementation for ResponsysSource.
160365  func (rs ResponsysSource) AsMariaDBSource() (*MariaDBSource, bool) {
160366  	return nil, false
160367  }
160368  
160369  // AsMagentoSource is the BasicCopySource implementation for ResponsysSource.
160370  func (rs ResponsysSource) AsMagentoSource() (*MagentoSource, bool) {
160371  	return nil, false
160372  }
160373  
160374  // AsJiraSource is the BasicCopySource implementation for ResponsysSource.
160375  func (rs ResponsysSource) AsJiraSource() (*JiraSource, bool) {
160376  	return nil, false
160377  }
160378  
160379  // AsImpalaSource is the BasicCopySource implementation for ResponsysSource.
160380  func (rs ResponsysSource) AsImpalaSource() (*ImpalaSource, bool) {
160381  	return nil, false
160382  }
160383  
160384  // AsHubspotSource is the BasicCopySource implementation for ResponsysSource.
160385  func (rs ResponsysSource) AsHubspotSource() (*HubspotSource, bool) {
160386  	return nil, false
160387  }
160388  
160389  // AsHiveSource is the BasicCopySource implementation for ResponsysSource.
160390  func (rs ResponsysSource) AsHiveSource() (*HiveSource, bool) {
160391  	return nil, false
160392  }
160393  
160394  // AsHBaseSource is the BasicCopySource implementation for ResponsysSource.
160395  func (rs ResponsysSource) AsHBaseSource() (*HBaseSource, bool) {
160396  	return nil, false
160397  }
160398  
160399  // AsGreenplumSource is the BasicCopySource implementation for ResponsysSource.
160400  func (rs ResponsysSource) AsGreenplumSource() (*GreenplumSource, bool) {
160401  	return nil, false
160402  }
160403  
160404  // AsGoogleBigQuerySource is the BasicCopySource implementation for ResponsysSource.
160405  func (rs ResponsysSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
160406  	return nil, false
160407  }
160408  
160409  // AsEloquaSource is the BasicCopySource implementation for ResponsysSource.
160410  func (rs ResponsysSource) AsEloquaSource() (*EloquaSource, bool) {
160411  	return nil, false
160412  }
160413  
160414  // AsDrillSource is the BasicCopySource implementation for ResponsysSource.
160415  func (rs ResponsysSource) AsDrillSource() (*DrillSource, bool) {
160416  	return nil, false
160417  }
160418  
160419  // AsCouchbaseSource is the BasicCopySource implementation for ResponsysSource.
160420  func (rs ResponsysSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
160421  	return nil, false
160422  }
160423  
160424  // AsConcurSource is the BasicCopySource implementation for ResponsysSource.
160425  func (rs ResponsysSource) AsConcurSource() (*ConcurSource, bool) {
160426  	return nil, false
160427  }
160428  
160429  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
160430  func (rs ResponsysSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
160431  	return nil, false
160432  }
160433  
160434  // AsAmazonMWSSource is the BasicCopySource implementation for ResponsysSource.
160435  func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
160436  	return nil, false
160437  }
160438  
160439  // AsCassandraSource is the BasicCopySource implementation for ResponsysSource.
160440  func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) {
160441  	return nil, false
160442  }
160443  
160444  // AsTeradataSource is the BasicCopySource implementation for ResponsysSource.
160445  func (rs ResponsysSource) AsTeradataSource() (*TeradataSource, bool) {
160446  	return nil, false
160447  }
160448  
160449  // AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource.
160450  func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
160451  	return nil, false
160452  }
160453  
160454  // AsSQLDWSource is the BasicCopySource implementation for ResponsysSource.
160455  func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) {
160456  	return nil, false
160457  }
160458  
160459  // AsSQLMISource is the BasicCopySource implementation for ResponsysSource.
160460  func (rs ResponsysSource) AsSQLMISource() (*SQLMISource, bool) {
160461  	return nil, false
160462  }
160463  
160464  // AsAzureSQLSource is the BasicCopySource implementation for ResponsysSource.
160465  func (rs ResponsysSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
160466  	return nil, false
160467  }
160468  
160469  // AsSQLServerSource is the BasicCopySource implementation for ResponsysSource.
160470  func (rs ResponsysSource) AsSQLServerSource() (*SQLServerSource, bool) {
160471  	return nil, false
160472  }
160473  
160474  // AsSQLSource is the BasicCopySource implementation for ResponsysSource.
160475  func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) {
160476  	return nil, false
160477  }
160478  
160479  // AsSapTableSource is the BasicCopySource implementation for ResponsysSource.
160480  func (rs ResponsysSource) AsSapTableSource() (*SapTableSource, bool) {
160481  	return nil, false
160482  }
160483  
160484  // AsSapOpenHubSource is the BasicCopySource implementation for ResponsysSource.
160485  func (rs ResponsysSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
160486  	return nil, false
160487  }
160488  
160489  // AsSapHanaSource is the BasicCopySource implementation for ResponsysSource.
160490  func (rs ResponsysSource) AsSapHanaSource() (*SapHanaSource, bool) {
160491  	return nil, false
160492  }
160493  
160494  // AsSapEccSource is the BasicCopySource implementation for ResponsysSource.
160495  func (rs ResponsysSource) AsSapEccSource() (*SapEccSource, bool) {
160496  	return nil, false
160497  }
160498  
160499  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ResponsysSource.
160500  func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
160501  	return nil, false
160502  }
160503  
160504  // AsSalesforceSource is the BasicCopySource implementation for ResponsysSource.
160505  func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) {
160506  	return nil, false
160507  }
160508  
160509  // AsSapBwSource is the BasicCopySource implementation for ResponsysSource.
160510  func (rs ResponsysSource) AsSapBwSource() (*SapBwSource, bool) {
160511  	return nil, false
160512  }
160513  
160514  // AsSybaseSource is the BasicCopySource implementation for ResponsysSource.
160515  func (rs ResponsysSource) AsSybaseSource() (*SybaseSource, bool) {
160516  	return nil, false
160517  }
160518  
160519  // AsPostgreSQLSource is the BasicCopySource implementation for ResponsysSource.
160520  func (rs ResponsysSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
160521  	return nil, false
160522  }
160523  
160524  // AsMySQLSource is the BasicCopySource implementation for ResponsysSource.
160525  func (rs ResponsysSource) AsMySQLSource() (*MySQLSource, bool) {
160526  	return nil, false
160527  }
160528  
160529  // AsOdbcSource is the BasicCopySource implementation for ResponsysSource.
160530  func (rs ResponsysSource) AsOdbcSource() (*OdbcSource, bool) {
160531  	return nil, false
160532  }
160533  
160534  // AsDb2Source is the BasicCopySource implementation for ResponsysSource.
160535  func (rs ResponsysSource) AsDb2Source() (*Db2Source, bool) {
160536  	return nil, false
160537  }
160538  
160539  // AsInformixSource is the BasicCopySource implementation for ResponsysSource.
160540  func (rs ResponsysSource) AsInformixSource() (*InformixSource, bool) {
160541  	return nil, false
160542  }
160543  
160544  // AsAzureTableSource is the BasicCopySource implementation for ResponsysSource.
160545  func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) {
160546  	return nil, false
160547  }
160548  
160549  // AsTabularSource is the BasicCopySource implementation for ResponsysSource.
160550  func (rs ResponsysSource) AsTabularSource() (*TabularSource, bool) {
160551  	return nil, false
160552  }
160553  
160554  // AsBasicTabularSource is the BasicCopySource implementation for ResponsysSource.
160555  func (rs ResponsysSource) AsBasicTabularSource() (BasicTabularSource, bool) {
160556  	return &rs, true
160557  }
160558  
160559  // AsBinarySource is the BasicCopySource implementation for ResponsysSource.
160560  func (rs ResponsysSource) AsBinarySource() (*BinarySource, bool) {
160561  	return nil, false
160562  }
160563  
160564  // AsOrcSource is the BasicCopySource implementation for ResponsysSource.
160565  func (rs ResponsysSource) AsOrcSource() (*OrcSource, bool) {
160566  	return nil, false
160567  }
160568  
160569  // AsJSONSource is the BasicCopySource implementation for ResponsysSource.
160570  func (rs ResponsysSource) AsJSONSource() (*JSONSource, bool) {
160571  	return nil, false
160572  }
160573  
160574  // AsDelimitedTextSource is the BasicCopySource implementation for ResponsysSource.
160575  func (rs ResponsysSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
160576  	return nil, false
160577  }
160578  
160579  // AsParquetSource is the BasicCopySource implementation for ResponsysSource.
160580  func (rs ResponsysSource) AsParquetSource() (*ParquetSource, bool) {
160581  	return nil, false
160582  }
160583  
160584  // AsAvroSource is the BasicCopySource implementation for ResponsysSource.
160585  func (rs ResponsysSource) AsAvroSource() (*AvroSource, bool) {
160586  	return nil, false
160587  }
160588  
160589  // AsCopySource is the BasicCopySource implementation for ResponsysSource.
160590  func (rs ResponsysSource) AsCopySource() (*CopySource, bool) {
160591  	return nil, false
160592  }
160593  
160594  // AsBasicCopySource is the BasicCopySource implementation for ResponsysSource.
160595  func (rs ResponsysSource) AsBasicCopySource() (BasicCopySource, bool) {
160596  	return &rs, true
160597  }
160598  
160599  // UnmarshalJSON is the custom unmarshaler for ResponsysSource struct.
160600  func (rs *ResponsysSource) UnmarshalJSON(body []byte) error {
160601  	var m map[string]*json.RawMessage
160602  	err := json.Unmarshal(body, &m)
160603  	if err != nil {
160604  		return err
160605  	}
160606  	for k, v := range m {
160607  		switch k {
160608  		case "query":
160609  			if v != nil {
160610  				var query interface{}
160611  				err = json.Unmarshal(*v, &query)
160612  				if err != nil {
160613  					return err
160614  				}
160615  				rs.Query = query
160616  			}
160617  		case "queryTimeout":
160618  			if v != nil {
160619  				var queryTimeout interface{}
160620  				err = json.Unmarshal(*v, &queryTimeout)
160621  				if err != nil {
160622  					return err
160623  				}
160624  				rs.QueryTimeout = queryTimeout
160625  			}
160626  		default:
160627  			if v != nil {
160628  				var additionalProperties interface{}
160629  				err = json.Unmarshal(*v, &additionalProperties)
160630  				if err != nil {
160631  					return err
160632  				}
160633  				if rs.AdditionalProperties == nil {
160634  					rs.AdditionalProperties = make(map[string]interface{})
160635  				}
160636  				rs.AdditionalProperties[k] = additionalProperties
160637  			}
160638  		case "sourceRetryCount":
160639  			if v != nil {
160640  				var sourceRetryCount interface{}
160641  				err = json.Unmarshal(*v, &sourceRetryCount)
160642  				if err != nil {
160643  					return err
160644  				}
160645  				rs.SourceRetryCount = sourceRetryCount
160646  			}
160647  		case "sourceRetryWait":
160648  			if v != nil {
160649  				var sourceRetryWait interface{}
160650  				err = json.Unmarshal(*v, &sourceRetryWait)
160651  				if err != nil {
160652  					return err
160653  				}
160654  				rs.SourceRetryWait = sourceRetryWait
160655  			}
160656  		case "maxConcurrentConnections":
160657  			if v != nil {
160658  				var maxConcurrentConnections interface{}
160659  				err = json.Unmarshal(*v, &maxConcurrentConnections)
160660  				if err != nil {
160661  					return err
160662  				}
160663  				rs.MaxConcurrentConnections = maxConcurrentConnections
160664  			}
160665  		case "type":
160666  			if v != nil {
160667  				var typeVar TypeBasicCopySource
160668  				err = json.Unmarshal(*v, &typeVar)
160669  				if err != nil {
160670  					return err
160671  				}
160672  				rs.Type = typeVar
160673  			}
160674  		}
160675  	}
160676  
160677  	return nil
160678  }
160679  
160680  // RestResourceDataset a Rest service dataset.
160681  type RestResourceDataset struct {
160682  	// RestResourceDatasetTypeProperties - Properties specific to this dataset type.
160683  	*RestResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
160684  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
160685  	AdditionalProperties map[string]interface{} `json:""`
160686  	// Description - Dataset description.
160687  	Description *string `json:"description,omitempty"`
160688  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
160689  	Structure interface{} `json:"structure,omitempty"`
160690  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
160691  	Schema interface{} `json:"schema,omitempty"`
160692  	// LinkedServiceName - Linked service reference.
160693  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
160694  	// Parameters - Parameters for dataset.
160695  	Parameters map[string]*ParameterSpecification `json:"parameters"`
160696  	// Annotations - List of tags that can be used for describing the Dataset.
160697  	Annotations *[]interface{} `json:"annotations,omitempty"`
160698  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
160699  	Folder *DatasetFolder `json:"folder,omitempty"`
160700  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
160701  	Type TypeBasicDataset `json:"type,omitempty"`
160702  }
160703  
160704  // MarshalJSON is the custom marshaler for RestResourceDataset.
160705  func (rrd RestResourceDataset) MarshalJSON() ([]byte, error) {
160706  	rrd.Type = TypeRestResource
160707  	objectMap := make(map[string]interface{})
160708  	if rrd.RestResourceDatasetTypeProperties != nil {
160709  		objectMap["typeProperties"] = rrd.RestResourceDatasetTypeProperties
160710  	}
160711  	if rrd.Description != nil {
160712  		objectMap["description"] = rrd.Description
160713  	}
160714  	if rrd.Structure != nil {
160715  		objectMap["structure"] = rrd.Structure
160716  	}
160717  	if rrd.Schema != nil {
160718  		objectMap["schema"] = rrd.Schema
160719  	}
160720  	if rrd.LinkedServiceName != nil {
160721  		objectMap["linkedServiceName"] = rrd.LinkedServiceName
160722  	}
160723  	if rrd.Parameters != nil {
160724  		objectMap["parameters"] = rrd.Parameters
160725  	}
160726  	if rrd.Annotations != nil {
160727  		objectMap["annotations"] = rrd.Annotations
160728  	}
160729  	if rrd.Folder != nil {
160730  		objectMap["folder"] = rrd.Folder
160731  	}
160732  	if rrd.Type != "" {
160733  		objectMap["type"] = rrd.Type
160734  	}
160735  	for k, v := range rrd.AdditionalProperties {
160736  		objectMap[k] = v
160737  	}
160738  	return json.Marshal(objectMap)
160739  }
160740  
160741  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for RestResourceDataset.
160742  func (rrd RestResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
160743  	return nil, false
160744  }
160745  
160746  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for RestResourceDataset.
160747  func (rrd RestResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
160748  	return nil, false
160749  }
160750  
160751  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
160752  func (rrd RestResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
160753  	return nil, false
160754  }
160755  
160756  // AsDynamicsAXResourceDataset is the BasicDataset implementation for RestResourceDataset.
160757  func (rrd RestResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
160758  	return nil, false
160759  }
160760  
160761  // AsResponsysObjectDataset is the BasicDataset implementation for RestResourceDataset.
160762  func (rrd RestResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
160763  	return nil, false
160764  }
160765  
160766  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
160767  func (rrd RestResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
160768  	return nil, false
160769  }
160770  
160771  // AsVerticaTableDataset is the BasicDataset implementation for RestResourceDataset.
160772  func (rrd RestResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
160773  	return nil, false
160774  }
160775  
160776  // AsNetezzaTableDataset is the BasicDataset implementation for RestResourceDataset.
160777  func (rrd RestResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
160778  	return nil, false
160779  }
160780  
160781  // AsZohoObjectDataset is the BasicDataset implementation for RestResourceDataset.
160782  func (rrd RestResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
160783  	return nil, false
160784  }
160785  
160786  // AsXeroObjectDataset is the BasicDataset implementation for RestResourceDataset.
160787  func (rrd RestResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
160788  	return nil, false
160789  }
160790  
160791  // AsSquareObjectDataset is the BasicDataset implementation for RestResourceDataset.
160792  func (rrd RestResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
160793  	return nil, false
160794  }
160795  
160796  // AsSparkObjectDataset is the BasicDataset implementation for RestResourceDataset.
160797  func (rrd RestResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
160798  	return nil, false
160799  }
160800  
160801  // AsShopifyObjectDataset is the BasicDataset implementation for RestResourceDataset.
160802  func (rrd RestResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
160803  	return nil, false
160804  }
160805  
160806  // AsServiceNowObjectDataset is the BasicDataset implementation for RestResourceDataset.
160807  func (rrd RestResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
160808  	return nil, false
160809  }
160810  
160811  // AsQuickBooksObjectDataset is the BasicDataset implementation for RestResourceDataset.
160812  func (rrd RestResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
160813  	return nil, false
160814  }
160815  
160816  // AsPrestoObjectDataset is the BasicDataset implementation for RestResourceDataset.
160817  func (rrd RestResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
160818  	return nil, false
160819  }
160820  
160821  // AsPhoenixObjectDataset is the BasicDataset implementation for RestResourceDataset.
160822  func (rrd RestResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
160823  	return nil, false
160824  }
160825  
160826  // AsPaypalObjectDataset is the BasicDataset implementation for RestResourceDataset.
160827  func (rrd RestResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
160828  	return nil, false
160829  }
160830  
160831  // AsMarketoObjectDataset is the BasicDataset implementation for RestResourceDataset.
160832  func (rrd RestResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
160833  	return nil, false
160834  }
160835  
160836  // AsAzureMariaDBTableDataset is the BasicDataset implementation for RestResourceDataset.
160837  func (rrd RestResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
160838  	return nil, false
160839  }
160840  
160841  // AsMariaDBTableDataset is the BasicDataset implementation for RestResourceDataset.
160842  func (rrd RestResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
160843  	return nil, false
160844  }
160845  
160846  // AsMagentoObjectDataset is the BasicDataset implementation for RestResourceDataset.
160847  func (rrd RestResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
160848  	return nil, false
160849  }
160850  
160851  // AsJiraObjectDataset is the BasicDataset implementation for RestResourceDataset.
160852  func (rrd RestResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
160853  	return nil, false
160854  }
160855  
160856  // AsImpalaObjectDataset is the BasicDataset implementation for RestResourceDataset.
160857  func (rrd RestResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
160858  	return nil, false
160859  }
160860  
160861  // AsHubspotObjectDataset is the BasicDataset implementation for RestResourceDataset.
160862  func (rrd RestResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
160863  	return nil, false
160864  }
160865  
160866  // AsHiveObjectDataset is the BasicDataset implementation for RestResourceDataset.
160867  func (rrd RestResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
160868  	return nil, false
160869  }
160870  
160871  // AsHBaseObjectDataset is the BasicDataset implementation for RestResourceDataset.
160872  func (rrd RestResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
160873  	return nil, false
160874  }
160875  
160876  // AsGreenplumTableDataset is the BasicDataset implementation for RestResourceDataset.
160877  func (rrd RestResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
160878  	return nil, false
160879  }
160880  
160881  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for RestResourceDataset.
160882  func (rrd RestResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
160883  	return nil, false
160884  }
160885  
160886  // AsEloquaObjectDataset is the BasicDataset implementation for RestResourceDataset.
160887  func (rrd RestResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
160888  	return nil, false
160889  }
160890  
160891  // AsDrillTableDataset is the BasicDataset implementation for RestResourceDataset.
160892  func (rrd RestResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
160893  	return nil, false
160894  }
160895  
160896  // AsCouchbaseTableDataset is the BasicDataset implementation for RestResourceDataset.
160897  func (rrd RestResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
160898  	return nil, false
160899  }
160900  
160901  // AsConcurObjectDataset is the BasicDataset implementation for RestResourceDataset.
160902  func (rrd RestResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
160903  	return nil, false
160904  }
160905  
160906  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
160907  func (rrd RestResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
160908  	return nil, false
160909  }
160910  
160911  // AsAmazonMWSObjectDataset is the BasicDataset implementation for RestResourceDataset.
160912  func (rrd RestResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
160913  	return nil, false
160914  }
160915  
160916  // AsAzureSearchIndexDataset is the BasicDataset implementation for RestResourceDataset.
160917  func (rrd RestResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
160918  	return nil, false
160919  }
160920  
160921  // AsWebTableDataset is the BasicDataset implementation for RestResourceDataset.
160922  func (rrd RestResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
160923  	return nil, false
160924  }
160925  
160926  // AsSapTableResourceDataset is the BasicDataset implementation for RestResourceDataset.
160927  func (rrd RestResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
160928  	return nil, false
160929  }
160930  
160931  // AsRestResourceDataset is the BasicDataset implementation for RestResourceDataset.
160932  func (rrd RestResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
160933  	return &rrd, true
160934  }
160935  
160936  // AsSQLServerTableDataset is the BasicDataset implementation for RestResourceDataset.
160937  func (rrd RestResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
160938  	return nil, false
160939  }
160940  
160941  // AsSapOpenHubTableDataset is the BasicDataset implementation for RestResourceDataset.
160942  func (rrd RestResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
160943  	return nil, false
160944  }
160945  
160946  // AsSapHanaTableDataset is the BasicDataset implementation for RestResourceDataset.
160947  func (rrd RestResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
160948  	return nil, false
160949  }
160950  
160951  // AsSapEccResourceDataset is the BasicDataset implementation for RestResourceDataset.
160952  func (rrd RestResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
160953  	return nil, false
160954  }
160955  
160956  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for RestResourceDataset.
160957  func (rrd RestResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
160958  	return nil, false
160959  }
160960  
160961  // AsSapBwCubeDataset is the BasicDataset implementation for RestResourceDataset.
160962  func (rrd RestResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
160963  	return nil, false
160964  }
160965  
160966  // AsSybaseTableDataset is the BasicDataset implementation for RestResourceDataset.
160967  func (rrd RestResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
160968  	return nil, false
160969  }
160970  
160971  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for RestResourceDataset.
160972  func (rrd RestResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
160973  	return nil, false
160974  }
160975  
160976  // AsSalesforceObjectDataset is the BasicDataset implementation for RestResourceDataset.
160977  func (rrd RestResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
160978  	return nil, false
160979  }
160980  
160981  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for RestResourceDataset.
160982  func (rrd RestResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
160983  	return nil, false
160984  }
160985  
160986  // AsPostgreSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
160987  func (rrd RestResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
160988  	return nil, false
160989  }
160990  
160991  // AsMySQLTableDataset is the BasicDataset implementation for RestResourceDataset.
160992  func (rrd RestResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
160993  	return nil, false
160994  }
160995  
160996  // AsOdbcTableDataset is the BasicDataset implementation for RestResourceDataset.
160997  func (rrd RestResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
160998  	return nil, false
160999  }
161000  
161001  // AsInformixTableDataset is the BasicDataset implementation for RestResourceDataset.
161002  func (rrd RestResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
161003  	return nil, false
161004  }
161005  
161006  // AsRelationalTableDataset is the BasicDataset implementation for RestResourceDataset.
161007  func (rrd RestResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
161008  	return nil, false
161009  }
161010  
161011  // AsDb2TableDataset is the BasicDataset implementation for RestResourceDataset.
161012  func (rrd RestResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
161013  	return nil, false
161014  }
161015  
161016  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for RestResourceDataset.
161017  func (rrd RestResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
161018  	return nil, false
161019  }
161020  
161021  // AsAzureMySQLTableDataset is the BasicDataset implementation for RestResourceDataset.
161022  func (rrd RestResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
161023  	return nil, false
161024  }
161025  
161026  // AsTeradataTableDataset is the BasicDataset implementation for RestResourceDataset.
161027  func (rrd RestResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
161028  	return nil, false
161029  }
161030  
161031  // AsOracleTableDataset is the BasicDataset implementation for RestResourceDataset.
161032  func (rrd RestResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
161033  	return nil, false
161034  }
161035  
161036  // AsODataResourceDataset is the BasicDataset implementation for RestResourceDataset.
161037  func (rrd RestResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
161038  	return nil, false
161039  }
161040  
161041  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for RestResourceDataset.
161042  func (rrd RestResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
161043  	return nil, false
161044  }
161045  
161046  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for RestResourceDataset.
161047  func (rrd RestResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
161048  	return nil, false
161049  }
161050  
161051  // AsMongoDbCollectionDataset is the BasicDataset implementation for RestResourceDataset.
161052  func (rrd RestResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
161053  	return nil, false
161054  }
161055  
161056  // AsOffice365Dataset is the BasicDataset implementation for RestResourceDataset.
161057  func (rrd RestResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
161058  	return nil, false
161059  }
161060  
161061  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for RestResourceDataset.
161062  func (rrd RestResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
161063  	return nil, false
161064  }
161065  
161066  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for RestResourceDataset.
161067  func (rrd RestResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
161068  	return nil, false
161069  }
161070  
161071  // AsDynamicsEntityDataset is the BasicDataset implementation for RestResourceDataset.
161072  func (rrd RestResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
161073  	return nil, false
161074  }
161075  
161076  // AsDocumentDbCollectionDataset is the BasicDataset implementation for RestResourceDataset.
161077  func (rrd RestResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
161078  	return nil, false
161079  }
161080  
161081  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RestResourceDataset.
161082  func (rrd RestResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
161083  	return nil, false
161084  }
161085  
161086  // AsCustomDataset is the BasicDataset implementation for RestResourceDataset.
161087  func (rrd RestResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
161088  	return nil, false
161089  }
161090  
161091  // AsCassandraTableDataset is the BasicDataset implementation for RestResourceDataset.
161092  func (rrd RestResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
161093  	return nil, false
161094  }
161095  
161096  // AsAzureSQLDWTableDataset is the BasicDataset implementation for RestResourceDataset.
161097  func (rrd RestResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
161098  	return nil, false
161099  }
161100  
161101  // AsAzureSQLMITableDataset is the BasicDataset implementation for RestResourceDataset.
161102  func (rrd RestResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
161103  	return nil, false
161104  }
161105  
161106  // AsAzureSQLTableDataset is the BasicDataset implementation for RestResourceDataset.
161107  func (rrd RestResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
161108  	return nil, false
161109  }
161110  
161111  // AsAzureTableDataset is the BasicDataset implementation for RestResourceDataset.
161112  func (rrd RestResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
161113  	return nil, false
161114  }
161115  
161116  // AsBinaryDataset is the BasicDataset implementation for RestResourceDataset.
161117  func (rrd RestResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
161118  	return nil, false
161119  }
161120  
161121  // AsOrcDataset is the BasicDataset implementation for RestResourceDataset.
161122  func (rrd RestResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
161123  	return nil, false
161124  }
161125  
161126  // AsJSONDataset is the BasicDataset implementation for RestResourceDataset.
161127  func (rrd RestResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
161128  	return nil, false
161129  }
161130  
161131  // AsDelimitedTextDataset is the BasicDataset implementation for RestResourceDataset.
161132  func (rrd RestResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
161133  	return nil, false
161134  }
161135  
161136  // AsParquetDataset is the BasicDataset implementation for RestResourceDataset.
161137  func (rrd RestResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
161138  	return nil, false
161139  }
161140  
161141  // AsAvroDataset is the BasicDataset implementation for RestResourceDataset.
161142  func (rrd RestResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
161143  	return nil, false
161144  }
161145  
161146  // AsDataset is the BasicDataset implementation for RestResourceDataset.
161147  func (rrd RestResourceDataset) AsDataset() (*Dataset, bool) {
161148  	return nil, false
161149  }
161150  
161151  // AsBasicDataset is the BasicDataset implementation for RestResourceDataset.
161152  func (rrd RestResourceDataset) AsBasicDataset() (BasicDataset, bool) {
161153  	return &rrd, true
161154  }
161155  
161156  // UnmarshalJSON is the custom unmarshaler for RestResourceDataset struct.
161157  func (rrd *RestResourceDataset) UnmarshalJSON(body []byte) error {
161158  	var m map[string]*json.RawMessage
161159  	err := json.Unmarshal(body, &m)
161160  	if err != nil {
161161  		return err
161162  	}
161163  	for k, v := range m {
161164  		switch k {
161165  		case "typeProperties":
161166  			if v != nil {
161167  				var restResourceDatasetTypeProperties RestResourceDatasetTypeProperties
161168  				err = json.Unmarshal(*v, &restResourceDatasetTypeProperties)
161169  				if err != nil {
161170  					return err
161171  				}
161172  				rrd.RestResourceDatasetTypeProperties = &restResourceDatasetTypeProperties
161173  			}
161174  		default:
161175  			if v != nil {
161176  				var additionalProperties interface{}
161177  				err = json.Unmarshal(*v, &additionalProperties)
161178  				if err != nil {
161179  					return err
161180  				}
161181  				if rrd.AdditionalProperties == nil {
161182  					rrd.AdditionalProperties = make(map[string]interface{})
161183  				}
161184  				rrd.AdditionalProperties[k] = additionalProperties
161185  			}
161186  		case "description":
161187  			if v != nil {
161188  				var description string
161189  				err = json.Unmarshal(*v, &description)
161190  				if err != nil {
161191  					return err
161192  				}
161193  				rrd.Description = &description
161194  			}
161195  		case "structure":
161196  			if v != nil {
161197  				var structure interface{}
161198  				err = json.Unmarshal(*v, &structure)
161199  				if err != nil {
161200  					return err
161201  				}
161202  				rrd.Structure = structure
161203  			}
161204  		case "schema":
161205  			if v != nil {
161206  				var schema interface{}
161207  				err = json.Unmarshal(*v, &schema)
161208  				if err != nil {
161209  					return err
161210  				}
161211  				rrd.Schema = schema
161212  			}
161213  		case "linkedServiceName":
161214  			if v != nil {
161215  				var linkedServiceName LinkedServiceReference
161216  				err = json.Unmarshal(*v, &linkedServiceName)
161217  				if err != nil {
161218  					return err
161219  				}
161220  				rrd.LinkedServiceName = &linkedServiceName
161221  			}
161222  		case "parameters":
161223  			if v != nil {
161224  				var parameters map[string]*ParameterSpecification
161225  				err = json.Unmarshal(*v, &parameters)
161226  				if err != nil {
161227  					return err
161228  				}
161229  				rrd.Parameters = parameters
161230  			}
161231  		case "annotations":
161232  			if v != nil {
161233  				var annotations []interface{}
161234  				err = json.Unmarshal(*v, &annotations)
161235  				if err != nil {
161236  					return err
161237  				}
161238  				rrd.Annotations = &annotations
161239  			}
161240  		case "folder":
161241  			if v != nil {
161242  				var folder DatasetFolder
161243  				err = json.Unmarshal(*v, &folder)
161244  				if err != nil {
161245  					return err
161246  				}
161247  				rrd.Folder = &folder
161248  			}
161249  		case "type":
161250  			if v != nil {
161251  				var typeVar TypeBasicDataset
161252  				err = json.Unmarshal(*v, &typeVar)
161253  				if err != nil {
161254  					return err
161255  				}
161256  				rrd.Type = typeVar
161257  			}
161258  		}
161259  	}
161260  
161261  	return nil
161262  }
161263  
161264  // RestResourceDatasetTypeProperties properties specific to this dataset type.
161265  type RestResourceDatasetTypeProperties struct {
161266  	// RelativeURL - The relative URL to the resource that the RESTful API provides. Type: string (or Expression with resultType string).
161267  	RelativeURL interface{} `json:"relativeUrl,omitempty"`
161268  	// RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string).
161269  	RequestMethod interface{} `json:"requestMethod,omitempty"`
161270  	// RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string).
161271  	RequestBody interface{} `json:"requestBody,omitempty"`
161272  	// AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string).
161273  	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
161274  	// PaginationRules - The pagination rules to compose next page requests. Type: string (or Expression with resultType string).
161275  	PaginationRules interface{} `json:"paginationRules,omitempty"`
161276  }
161277  
161278  // RestServiceLinkedService rest Service linked service.
161279  type RestServiceLinkedService struct {
161280  	// RestServiceLinkedServiceTypeProperties - Rest Service linked service properties.
161281  	*RestServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
161282  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
161283  	AdditionalProperties map[string]interface{} `json:""`
161284  	// ConnectVia - The integration runtime reference.
161285  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
161286  	// Description - Linked service description.
161287  	Description *string `json:"description,omitempty"`
161288  	// Parameters - Parameters for linked service.
161289  	Parameters map[string]*ParameterSpecification `json:"parameters"`
161290  	// Annotations - List of tags that can be used for describing the linked service.
161291  	Annotations *[]interface{} `json:"annotations,omitempty"`
161292  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
161293  	Type TypeBasicLinkedService `json:"type,omitempty"`
161294  }
161295  
161296  // MarshalJSON is the custom marshaler for RestServiceLinkedService.
161297  func (rsls RestServiceLinkedService) MarshalJSON() ([]byte, error) {
161298  	rsls.Type = TypeRestService
161299  	objectMap := make(map[string]interface{})
161300  	if rsls.RestServiceLinkedServiceTypeProperties != nil {
161301  		objectMap["typeProperties"] = rsls.RestServiceLinkedServiceTypeProperties
161302  	}
161303  	if rsls.ConnectVia != nil {
161304  		objectMap["connectVia"] = rsls.ConnectVia
161305  	}
161306  	if rsls.Description != nil {
161307  		objectMap["description"] = rsls.Description
161308  	}
161309  	if rsls.Parameters != nil {
161310  		objectMap["parameters"] = rsls.Parameters
161311  	}
161312  	if rsls.Annotations != nil {
161313  		objectMap["annotations"] = rsls.Annotations
161314  	}
161315  	if rsls.Type != "" {
161316  		objectMap["type"] = rsls.Type
161317  	}
161318  	for k, v := range rsls.AdditionalProperties {
161319  		objectMap[k] = v
161320  	}
161321  	return json.Marshal(objectMap)
161322  }
161323  
161324  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161325  func (rsls RestServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
161326  	return nil, false
161327  }
161328  
161329  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161330  func (rsls RestServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
161331  	return nil, false
161332  }
161333  
161334  // AsSapTableLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161335  func (rsls RestServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
161336  	return nil, false
161337  }
161338  
161339  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161340  func (rsls RestServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
161341  	return nil, false
161342  }
161343  
161344  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161345  func (rsls RestServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
161346  	return nil, false
161347  }
161348  
161349  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161350  func (rsls RestServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
161351  	return nil, false
161352  }
161353  
161354  // AsResponsysLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161355  func (rsls RestServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
161356  	return nil, false
161357  }
161358  
161359  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161360  func (rsls RestServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
161361  	return nil, false
161362  }
161363  
161364  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161365  func (rsls RestServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
161366  	return nil, false
161367  }
161368  
161369  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161370  func (rsls RestServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
161371  	return nil, false
161372  }
161373  
161374  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161375  func (rsls RestServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
161376  	return nil, false
161377  }
161378  
161379  // AsNetezzaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161380  func (rsls RestServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
161381  	return nil, false
161382  }
161383  
161384  // AsVerticaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161385  func (rsls RestServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
161386  	return nil, false
161387  }
161388  
161389  // AsZohoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161390  func (rsls RestServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
161391  	return nil, false
161392  }
161393  
161394  // AsXeroLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161395  func (rsls RestServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
161396  	return nil, false
161397  }
161398  
161399  // AsSquareLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161400  func (rsls RestServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
161401  	return nil, false
161402  }
161403  
161404  // AsSparkLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161405  func (rsls RestServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
161406  	return nil, false
161407  }
161408  
161409  // AsShopifyLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161410  func (rsls RestServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
161411  	return nil, false
161412  }
161413  
161414  // AsServiceNowLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161415  func (rsls RestServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
161416  	return nil, false
161417  }
161418  
161419  // AsQuickBooksLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161420  func (rsls RestServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
161421  	return nil, false
161422  }
161423  
161424  // AsPrestoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161425  func (rsls RestServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
161426  	return nil, false
161427  }
161428  
161429  // AsPhoenixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161430  func (rsls RestServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
161431  	return nil, false
161432  }
161433  
161434  // AsPaypalLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161435  func (rsls RestServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
161436  	return nil, false
161437  }
161438  
161439  // AsMarketoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161440  func (rsls RestServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
161441  	return nil, false
161442  }
161443  
161444  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161445  func (rsls RestServiceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
161446  	return nil, false
161447  }
161448  
161449  // AsMariaDBLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161450  func (rsls RestServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
161451  	return nil, false
161452  }
161453  
161454  // AsMagentoLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161455  func (rsls RestServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
161456  	return nil, false
161457  }
161458  
161459  // AsJiraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161460  func (rsls RestServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
161461  	return nil, false
161462  }
161463  
161464  // AsImpalaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161465  func (rsls RestServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
161466  	return nil, false
161467  }
161468  
161469  // AsHubspotLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161470  func (rsls RestServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
161471  	return nil, false
161472  }
161473  
161474  // AsHiveLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161475  func (rsls RestServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
161476  	return nil, false
161477  }
161478  
161479  // AsHBaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161480  func (rsls RestServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
161481  	return nil, false
161482  }
161483  
161484  // AsGreenplumLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161485  func (rsls RestServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
161486  	return nil, false
161487  }
161488  
161489  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161490  func (rsls RestServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
161491  	return nil, false
161492  }
161493  
161494  // AsEloquaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161495  func (rsls RestServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
161496  	return nil, false
161497  }
161498  
161499  // AsDrillLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161500  func (rsls RestServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
161501  	return nil, false
161502  }
161503  
161504  // AsCouchbaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161505  func (rsls RestServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
161506  	return nil, false
161507  }
161508  
161509  // AsConcurLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161510  func (rsls RestServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
161511  	return nil, false
161512  }
161513  
161514  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161515  func (rsls RestServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
161516  	return nil, false
161517  }
161518  
161519  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161520  func (rsls RestServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
161521  	return nil, false
161522  }
161523  
161524  // AsSapHanaLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161525  func (rsls RestServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
161526  	return nil, false
161527  }
161528  
161529  // AsSapBWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161530  func (rsls RestServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
161531  	return nil, false
161532  }
161533  
161534  // AsSftpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161535  func (rsls RestServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
161536  	return nil, false
161537  }
161538  
161539  // AsFtpServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161540  func (rsls RestServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
161541  	return nil, false
161542  }
161543  
161544  // AsHTTPLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161545  func (rsls RestServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
161546  	return nil, false
161547  }
161548  
161549  // AsAzureSearchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161550  func (rsls RestServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
161551  	return nil, false
161552  }
161553  
161554  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161555  func (rsls RestServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
161556  	return nil, false
161557  }
161558  
161559  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161560  func (rsls RestServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
161561  	return nil, false
161562  }
161563  
161564  // AsAmazonS3LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161565  func (rsls RestServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
161566  	return nil, false
161567  }
161568  
161569  // AsRestServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161570  func (rsls RestServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
161571  	return &rsls, true
161572  }
161573  
161574  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161575  func (rsls RestServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
161576  	return nil, false
161577  }
161578  
161579  // AsSapEccLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161580  func (rsls RestServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
161581  	return nil, false
161582  }
161583  
161584  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161585  func (rsls RestServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
161586  	return nil, false
161587  }
161588  
161589  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161590  func (rsls RestServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
161591  	return nil, false
161592  }
161593  
161594  // AsSalesforceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161595  func (rsls RestServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
161596  	return nil, false
161597  }
161598  
161599  // AsOffice365LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161600  func (rsls RestServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
161601  	return nil, false
161602  }
161603  
161604  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161605  func (rsls RestServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
161606  	return nil, false
161607  }
161608  
161609  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161610  func (rsls RestServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
161611  	return nil, false
161612  }
161613  
161614  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161615  func (rsls RestServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
161616  	return nil, false
161617  }
161618  
161619  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161620  func (rsls RestServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
161621  	return nil, false
161622  }
161623  
161624  // AsMongoDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161625  func (rsls RestServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
161626  	return nil, false
161627  }
161628  
161629  // AsCassandraLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161630  func (rsls RestServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
161631  	return nil, false
161632  }
161633  
161634  // AsWebLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161635  func (rsls RestServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
161636  	return nil, false
161637  }
161638  
161639  // AsODataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161640  func (rsls RestServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
161641  	return nil, false
161642  }
161643  
161644  // AsHdfsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161645  func (rsls RestServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
161646  	return nil, false
161647  }
161648  
161649  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161650  func (rsls RestServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
161651  	return nil, false
161652  }
161653  
161654  // AsInformixLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161655  func (rsls RestServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
161656  	return nil, false
161657  }
161658  
161659  // AsOdbcLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161660  func (rsls RestServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
161661  	return nil, false
161662  }
161663  
161664  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161665  func (rsls RestServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
161666  	return nil, false
161667  }
161668  
161669  // AsAzureMLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161670  func (rsls RestServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
161671  	return nil, false
161672  }
161673  
161674  // AsTeradataLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161675  func (rsls RestServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
161676  	return nil, false
161677  }
161678  
161679  // AsDb2LinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161680  func (rsls RestServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
161681  	return nil, false
161682  }
161683  
161684  // AsSybaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161685  func (rsls RestServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
161686  	return nil, false
161687  }
161688  
161689  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161690  func (rsls RestServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
161691  	return nil, false
161692  }
161693  
161694  // AsMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161695  func (rsls RestServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
161696  	return nil, false
161697  }
161698  
161699  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161700  func (rsls RestServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
161701  	return nil, false
161702  }
161703  
161704  // AsOracleLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161705  func (rsls RestServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
161706  	return nil, false
161707  }
161708  
161709  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161710  func (rsls RestServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
161711  	return nil, false
161712  }
161713  
161714  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161715  func (rsls RestServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
161716  	return nil, false
161717  }
161718  
161719  // AsFileServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161720  func (rsls RestServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
161721  	return nil, false
161722  }
161723  
161724  // AsHDInsightLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161725  func (rsls RestServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
161726  	return nil, false
161727  }
161728  
161729  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161730  func (rsls RestServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
161731  	return nil, false
161732  }
161733  
161734  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161735  func (rsls RestServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
161736  	return nil, false
161737  }
161738  
161739  // AsDynamicsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161740  func (rsls RestServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
161741  	return nil, false
161742  }
161743  
161744  // AsCosmosDbLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161745  func (rsls RestServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
161746  	return nil, false
161747  }
161748  
161749  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161750  func (rsls RestServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
161751  	return nil, false
161752  }
161753  
161754  // AsAzureBatchLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161755  func (rsls RestServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
161756  	return nil, false
161757  }
161758  
161759  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161760  func (rsls RestServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
161761  	return nil, false
161762  }
161763  
161764  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161765  func (rsls RestServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
161766  	return nil, false
161767  }
161768  
161769  // AsSQLServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161770  func (rsls RestServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
161771  	return nil, false
161772  }
161773  
161774  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161775  func (rsls RestServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
161776  	return nil, false
161777  }
161778  
161779  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161780  func (rsls RestServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
161781  	return nil, false
161782  }
161783  
161784  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161785  func (rsls RestServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
161786  	return nil, false
161787  }
161788  
161789  // AsAzureStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161790  func (rsls RestServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
161791  	return nil, false
161792  }
161793  
161794  // AsLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161795  func (rsls RestServiceLinkedService) AsLinkedService() (*LinkedService, bool) {
161796  	return nil, false
161797  }
161798  
161799  // AsBasicLinkedService is the BasicLinkedService implementation for RestServiceLinkedService.
161800  func (rsls RestServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
161801  	return &rsls, true
161802  }
161803  
161804  // UnmarshalJSON is the custom unmarshaler for RestServiceLinkedService struct.
161805  func (rsls *RestServiceLinkedService) UnmarshalJSON(body []byte) error {
161806  	var m map[string]*json.RawMessage
161807  	err := json.Unmarshal(body, &m)
161808  	if err != nil {
161809  		return err
161810  	}
161811  	for k, v := range m {
161812  		switch k {
161813  		case "typeProperties":
161814  			if v != nil {
161815  				var restServiceLinkedServiceTypeProperties RestServiceLinkedServiceTypeProperties
161816  				err = json.Unmarshal(*v, &restServiceLinkedServiceTypeProperties)
161817  				if err != nil {
161818  					return err
161819  				}
161820  				rsls.RestServiceLinkedServiceTypeProperties = &restServiceLinkedServiceTypeProperties
161821  			}
161822  		default:
161823  			if v != nil {
161824  				var additionalProperties interface{}
161825  				err = json.Unmarshal(*v, &additionalProperties)
161826  				if err != nil {
161827  					return err
161828  				}
161829  				if rsls.AdditionalProperties == nil {
161830  					rsls.AdditionalProperties = make(map[string]interface{})
161831  				}
161832  				rsls.AdditionalProperties[k] = additionalProperties
161833  			}
161834  		case "connectVia":
161835  			if v != nil {
161836  				var connectVia IntegrationRuntimeReference
161837  				err = json.Unmarshal(*v, &connectVia)
161838  				if err != nil {
161839  					return err
161840  				}
161841  				rsls.ConnectVia = &connectVia
161842  			}
161843  		case "description":
161844  			if v != nil {
161845  				var description string
161846  				err = json.Unmarshal(*v, &description)
161847  				if err != nil {
161848  					return err
161849  				}
161850  				rsls.Description = &description
161851  			}
161852  		case "parameters":
161853  			if v != nil {
161854  				var parameters map[string]*ParameterSpecification
161855  				err = json.Unmarshal(*v, &parameters)
161856  				if err != nil {
161857  					return err
161858  				}
161859  				rsls.Parameters = parameters
161860  			}
161861  		case "annotations":
161862  			if v != nil {
161863  				var annotations []interface{}
161864  				err = json.Unmarshal(*v, &annotations)
161865  				if err != nil {
161866  					return err
161867  				}
161868  				rsls.Annotations = &annotations
161869  			}
161870  		case "type":
161871  			if v != nil {
161872  				var typeVar TypeBasicLinkedService
161873  				err = json.Unmarshal(*v, &typeVar)
161874  				if err != nil {
161875  					return err
161876  				}
161877  				rsls.Type = typeVar
161878  			}
161879  		}
161880  	}
161881  
161882  	return nil
161883  }
161884  
161885  // RestServiceLinkedServiceTypeProperties rest Service linked service properties.
161886  type RestServiceLinkedServiceTypeProperties struct {
161887  	// URL - The base URL of the REST service.
161888  	URL interface{} `json:"url,omitempty"`
161889  	// 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).
161890  	EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"`
161891  	// AuthenticationType - Type of authentication used to connect to the REST service. Possible values include: 'RestServiceAuthenticationTypeAnonymous', 'RestServiceAuthenticationTypeBasic', 'RestServiceAuthenticationTypeAadServicePrincipal', 'RestServiceAuthenticationTypeManagedServiceIdentity'
161892  	AuthenticationType RestServiceAuthenticationType `json:"authenticationType,omitempty"`
161893  	// UserName - The user name used in Basic authentication type.
161894  	UserName interface{} `json:"userName,omitempty"`
161895  	// Password - The password used in Basic authentication type.
161896  	Password BasicSecretBase `json:"password,omitempty"`
161897  	// ServicePrincipalID - The application's client ID used in AadServicePrincipal authentication type.
161898  	ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"`
161899  	// ServicePrincipalKey - The application's key used in AadServicePrincipal authentication type.
161900  	ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"`
161901  	// Tenant - The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.
161902  	Tenant interface{} `json:"tenant,omitempty"`
161903  	// AadResourceID - The resource you are requesting authorization to use.
161904  	AadResourceID interface{} `json:"aadResourceId,omitempty"`
161905  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
161906  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
161907  }
161908  
161909  // UnmarshalJSON is the custom unmarshaler for RestServiceLinkedServiceTypeProperties struct.
161910  func (rslstp *RestServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
161911  	var m map[string]*json.RawMessage
161912  	err := json.Unmarshal(body, &m)
161913  	if err != nil {
161914  		return err
161915  	}
161916  	for k, v := range m {
161917  		switch k {
161918  		case "url":
161919  			if v != nil {
161920  				var URL interface{}
161921  				err = json.Unmarshal(*v, &URL)
161922  				if err != nil {
161923  					return err
161924  				}
161925  				rslstp.URL = URL
161926  			}
161927  		case "enableServerCertificateValidation":
161928  			if v != nil {
161929  				var enableServerCertificateValidation interface{}
161930  				err = json.Unmarshal(*v, &enableServerCertificateValidation)
161931  				if err != nil {
161932  					return err
161933  				}
161934  				rslstp.EnableServerCertificateValidation = enableServerCertificateValidation
161935  			}
161936  		case "authenticationType":
161937  			if v != nil {
161938  				var authenticationType RestServiceAuthenticationType
161939  				err = json.Unmarshal(*v, &authenticationType)
161940  				if err != nil {
161941  					return err
161942  				}
161943  				rslstp.AuthenticationType = authenticationType
161944  			}
161945  		case "userName":
161946  			if v != nil {
161947  				var userName interface{}
161948  				err = json.Unmarshal(*v, &userName)
161949  				if err != nil {
161950  					return err
161951  				}
161952  				rslstp.UserName = userName
161953  			}
161954  		case "password":
161955  			if v != nil {
161956  				password, err := unmarshalBasicSecretBase(*v)
161957  				if err != nil {
161958  					return err
161959  				}
161960  				rslstp.Password = password
161961  			}
161962  		case "servicePrincipalId":
161963  			if v != nil {
161964  				var servicePrincipalID interface{}
161965  				err = json.Unmarshal(*v, &servicePrincipalID)
161966  				if err != nil {
161967  					return err
161968  				}
161969  				rslstp.ServicePrincipalID = servicePrincipalID
161970  			}
161971  		case "servicePrincipalKey":
161972  			if v != nil {
161973  				servicePrincipalKey, err := unmarshalBasicSecretBase(*v)
161974  				if err != nil {
161975  					return err
161976  				}
161977  				rslstp.ServicePrincipalKey = servicePrincipalKey
161978  			}
161979  		case "tenant":
161980  			if v != nil {
161981  				var tenant interface{}
161982  				err = json.Unmarshal(*v, &tenant)
161983  				if err != nil {
161984  					return err
161985  				}
161986  				rslstp.Tenant = tenant
161987  			}
161988  		case "aadResourceId":
161989  			if v != nil {
161990  				var aadResourceID interface{}
161991  				err = json.Unmarshal(*v, &aadResourceID)
161992  				if err != nil {
161993  					return err
161994  				}
161995  				rslstp.AadResourceID = aadResourceID
161996  			}
161997  		case "encryptedCredential":
161998  			if v != nil {
161999  				var encryptedCredential interface{}
162000  				err = json.Unmarshal(*v, &encryptedCredential)
162001  				if err != nil {
162002  					return err
162003  				}
162004  				rslstp.EncryptedCredential = encryptedCredential
162005  			}
162006  		}
162007  	}
162008  
162009  	return nil
162010  }
162011  
162012  // RestSource a copy activity Rest service source.
162013  type RestSource struct {
162014  	// RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string).
162015  	RequestMethod interface{} `json:"requestMethod,omitempty"`
162016  	// RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string).
162017  	RequestBody interface{} `json:"requestBody,omitempty"`
162018  	// AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string).
162019  	AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"`
162020  	// PaginationRules - The pagination rules to compose next page requests. Type: string (or Expression with resultType string).
162021  	PaginationRules interface{} `json:"paginationRules,omitempty"`
162022  	// 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])).
162023  	HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"`
162024  	// RequestInterval - The time to await before sending next page request.
162025  	RequestInterval interface{} `json:"requestInterval,omitempty"`
162026  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
162027  	AdditionalProperties map[string]interface{} `json:""`
162028  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
162029  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
162030  	// 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])).
162031  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
162032  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
162033  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
162034  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
162035  	Type TypeBasicCopySource `json:"type,omitempty"`
162036  }
162037  
162038  // MarshalJSON is the custom marshaler for RestSource.
162039  func (rs RestSource) MarshalJSON() ([]byte, error) {
162040  	rs.Type = TypeRestSource
162041  	objectMap := make(map[string]interface{})
162042  	if rs.RequestMethod != nil {
162043  		objectMap["requestMethod"] = rs.RequestMethod
162044  	}
162045  	if rs.RequestBody != nil {
162046  		objectMap["requestBody"] = rs.RequestBody
162047  	}
162048  	if rs.AdditionalHeaders != nil {
162049  		objectMap["additionalHeaders"] = rs.AdditionalHeaders
162050  	}
162051  	if rs.PaginationRules != nil {
162052  		objectMap["paginationRules"] = rs.PaginationRules
162053  	}
162054  	if rs.HTTPRequestTimeout != nil {
162055  		objectMap["httpRequestTimeout"] = rs.HTTPRequestTimeout
162056  	}
162057  	if rs.RequestInterval != nil {
162058  		objectMap["requestInterval"] = rs.RequestInterval
162059  	}
162060  	if rs.SourceRetryCount != nil {
162061  		objectMap["sourceRetryCount"] = rs.SourceRetryCount
162062  	}
162063  	if rs.SourceRetryWait != nil {
162064  		objectMap["sourceRetryWait"] = rs.SourceRetryWait
162065  	}
162066  	if rs.MaxConcurrentConnections != nil {
162067  		objectMap["maxConcurrentConnections"] = rs.MaxConcurrentConnections
162068  	}
162069  	if rs.Type != "" {
162070  		objectMap["type"] = rs.Type
162071  	}
162072  	for k, v := range rs.AdditionalProperties {
162073  		objectMap[k] = v
162074  	}
162075  	return json.Marshal(objectMap)
162076  }
162077  
162078  // AsHTTPSource is the BasicCopySource implementation for RestSource.
162079  func (rs RestSource) AsHTTPSource() (*HTTPSource, bool) {
162080  	return nil, false
162081  }
162082  
162083  // AsAzureBlobFSSource is the BasicCopySource implementation for RestSource.
162084  func (rs RestSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
162085  	return nil, false
162086  }
162087  
162088  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for RestSource.
162089  func (rs RestSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
162090  	return nil, false
162091  }
162092  
162093  // AsOffice365Source is the BasicCopySource implementation for RestSource.
162094  func (rs RestSource) AsOffice365Source() (*Office365Source, bool) {
162095  	return nil, false
162096  }
162097  
162098  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RestSource.
162099  func (rs RestSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
162100  	return nil, false
162101  }
162102  
162103  // AsMongoDbV2Source is the BasicCopySource implementation for RestSource.
162104  func (rs RestSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
162105  	return nil, false
162106  }
162107  
162108  // AsMongoDbSource is the BasicCopySource implementation for RestSource.
162109  func (rs RestSource) AsMongoDbSource() (*MongoDbSource, bool) {
162110  	return nil, false
162111  }
162112  
162113  // AsWebSource is the BasicCopySource implementation for RestSource.
162114  func (rs RestSource) AsWebSource() (*WebSource, bool) {
162115  	return nil, false
162116  }
162117  
162118  // AsOracleSource is the BasicCopySource implementation for RestSource.
162119  func (rs RestSource) AsOracleSource() (*OracleSource, bool) {
162120  	return nil, false
162121  }
162122  
162123  // AsAzureDataExplorerSource is the BasicCopySource implementation for RestSource.
162124  func (rs RestSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
162125  	return nil, false
162126  }
162127  
162128  // AsHdfsSource is the BasicCopySource implementation for RestSource.
162129  func (rs RestSource) AsHdfsSource() (*HdfsSource, bool) {
162130  	return nil, false
162131  }
162132  
162133  // AsFileSystemSource is the BasicCopySource implementation for RestSource.
162134  func (rs RestSource) AsFileSystemSource() (*FileSystemSource, bool) {
162135  	return nil, false
162136  }
162137  
162138  // AsRestSource is the BasicCopySource implementation for RestSource.
162139  func (rs RestSource) AsRestSource() (*RestSource, bool) {
162140  	return &rs, true
162141  }
162142  
162143  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for RestSource.
162144  func (rs RestSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
162145  	return nil, false
162146  }
162147  
162148  // AsODataSource is the BasicCopySource implementation for RestSource.
162149  func (rs RestSource) AsODataSource() (*ODataSource, bool) {
162150  	return nil, false
162151  }
162152  
162153  // AsMicrosoftAccessSource is the BasicCopySource implementation for RestSource.
162154  func (rs RestSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
162155  	return nil, false
162156  }
162157  
162158  // AsRelationalSource is the BasicCopySource implementation for RestSource.
162159  func (rs RestSource) AsRelationalSource() (*RelationalSource, bool) {
162160  	return nil, false
162161  }
162162  
162163  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RestSource.
162164  func (rs RestSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
162165  	return nil, false
162166  }
162167  
162168  // AsDynamicsCrmSource is the BasicCopySource implementation for RestSource.
162169  func (rs RestSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
162170  	return nil, false
162171  }
162172  
162173  // AsDynamicsSource is the BasicCopySource implementation for RestSource.
162174  func (rs RestSource) AsDynamicsSource() (*DynamicsSource, bool) {
162175  	return nil, false
162176  }
162177  
162178  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for RestSource.
162179  func (rs RestSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
162180  	return nil, false
162181  }
162182  
162183  // AsDocumentDbCollectionSource is the BasicCopySource implementation for RestSource.
162184  func (rs RestSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
162185  	return nil, false
162186  }
162187  
162188  // AsBlobSource is the BasicCopySource implementation for RestSource.
162189  func (rs RestSource) AsBlobSource() (*BlobSource, bool) {
162190  	return nil, false
162191  }
162192  
162193  // AsAmazonRedshiftSource is the BasicCopySource implementation for RestSource.
162194  func (rs RestSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
162195  	return nil, false
162196  }
162197  
162198  // AsGoogleAdWordsSource is the BasicCopySource implementation for RestSource.
162199  func (rs RestSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
162200  	return nil, false
162201  }
162202  
162203  // AsOracleServiceCloudSource is the BasicCopySource implementation for RestSource.
162204  func (rs RestSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
162205  	return nil, false
162206  }
162207  
162208  // AsDynamicsAXSource is the BasicCopySource implementation for RestSource.
162209  func (rs RestSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
162210  	return nil, false
162211  }
162212  
162213  // AsResponsysSource is the BasicCopySource implementation for RestSource.
162214  func (rs RestSource) AsResponsysSource() (*ResponsysSource, bool) {
162215  	return nil, false
162216  }
162217  
162218  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for RestSource.
162219  func (rs RestSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
162220  	return nil, false
162221  }
162222  
162223  // AsVerticaSource is the BasicCopySource implementation for RestSource.
162224  func (rs RestSource) AsVerticaSource() (*VerticaSource, bool) {
162225  	return nil, false
162226  }
162227  
162228  // AsNetezzaSource is the BasicCopySource implementation for RestSource.
162229  func (rs RestSource) AsNetezzaSource() (*NetezzaSource, bool) {
162230  	return nil, false
162231  }
162232  
162233  // AsZohoSource is the BasicCopySource implementation for RestSource.
162234  func (rs RestSource) AsZohoSource() (*ZohoSource, bool) {
162235  	return nil, false
162236  }
162237  
162238  // AsXeroSource is the BasicCopySource implementation for RestSource.
162239  func (rs RestSource) AsXeroSource() (*XeroSource, bool) {
162240  	return nil, false
162241  }
162242  
162243  // AsSquareSource is the BasicCopySource implementation for RestSource.
162244  func (rs RestSource) AsSquareSource() (*SquareSource, bool) {
162245  	return nil, false
162246  }
162247  
162248  // AsSparkSource is the BasicCopySource implementation for RestSource.
162249  func (rs RestSource) AsSparkSource() (*SparkSource, bool) {
162250  	return nil, false
162251  }
162252  
162253  // AsShopifySource is the BasicCopySource implementation for RestSource.
162254  func (rs RestSource) AsShopifySource() (*ShopifySource, bool) {
162255  	return nil, false
162256  }
162257  
162258  // AsServiceNowSource is the BasicCopySource implementation for RestSource.
162259  func (rs RestSource) AsServiceNowSource() (*ServiceNowSource, bool) {
162260  	return nil, false
162261  }
162262  
162263  // AsQuickBooksSource is the BasicCopySource implementation for RestSource.
162264  func (rs RestSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
162265  	return nil, false
162266  }
162267  
162268  // AsPrestoSource is the BasicCopySource implementation for RestSource.
162269  func (rs RestSource) AsPrestoSource() (*PrestoSource, bool) {
162270  	return nil, false
162271  }
162272  
162273  // AsPhoenixSource is the BasicCopySource implementation for RestSource.
162274  func (rs RestSource) AsPhoenixSource() (*PhoenixSource, bool) {
162275  	return nil, false
162276  }
162277  
162278  // AsPaypalSource is the BasicCopySource implementation for RestSource.
162279  func (rs RestSource) AsPaypalSource() (*PaypalSource, bool) {
162280  	return nil, false
162281  }
162282  
162283  // AsMarketoSource is the BasicCopySource implementation for RestSource.
162284  func (rs RestSource) AsMarketoSource() (*MarketoSource, bool) {
162285  	return nil, false
162286  }
162287  
162288  // AsAzureMariaDBSource is the BasicCopySource implementation for RestSource.
162289  func (rs RestSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
162290  	return nil, false
162291  }
162292  
162293  // AsMariaDBSource is the BasicCopySource implementation for RestSource.
162294  func (rs RestSource) AsMariaDBSource() (*MariaDBSource, bool) {
162295  	return nil, false
162296  }
162297  
162298  // AsMagentoSource is the BasicCopySource implementation for RestSource.
162299  func (rs RestSource) AsMagentoSource() (*MagentoSource, bool) {
162300  	return nil, false
162301  }
162302  
162303  // AsJiraSource is the BasicCopySource implementation for RestSource.
162304  func (rs RestSource) AsJiraSource() (*JiraSource, bool) {
162305  	return nil, false
162306  }
162307  
162308  // AsImpalaSource is the BasicCopySource implementation for RestSource.
162309  func (rs RestSource) AsImpalaSource() (*ImpalaSource, bool) {
162310  	return nil, false
162311  }
162312  
162313  // AsHubspotSource is the BasicCopySource implementation for RestSource.
162314  func (rs RestSource) AsHubspotSource() (*HubspotSource, bool) {
162315  	return nil, false
162316  }
162317  
162318  // AsHiveSource is the BasicCopySource implementation for RestSource.
162319  func (rs RestSource) AsHiveSource() (*HiveSource, bool) {
162320  	return nil, false
162321  }
162322  
162323  // AsHBaseSource is the BasicCopySource implementation for RestSource.
162324  func (rs RestSource) AsHBaseSource() (*HBaseSource, bool) {
162325  	return nil, false
162326  }
162327  
162328  // AsGreenplumSource is the BasicCopySource implementation for RestSource.
162329  func (rs RestSource) AsGreenplumSource() (*GreenplumSource, bool) {
162330  	return nil, false
162331  }
162332  
162333  // AsGoogleBigQuerySource is the BasicCopySource implementation for RestSource.
162334  func (rs RestSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
162335  	return nil, false
162336  }
162337  
162338  // AsEloquaSource is the BasicCopySource implementation for RestSource.
162339  func (rs RestSource) AsEloquaSource() (*EloquaSource, bool) {
162340  	return nil, false
162341  }
162342  
162343  // AsDrillSource is the BasicCopySource implementation for RestSource.
162344  func (rs RestSource) AsDrillSource() (*DrillSource, bool) {
162345  	return nil, false
162346  }
162347  
162348  // AsCouchbaseSource is the BasicCopySource implementation for RestSource.
162349  func (rs RestSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
162350  	return nil, false
162351  }
162352  
162353  // AsConcurSource is the BasicCopySource implementation for RestSource.
162354  func (rs RestSource) AsConcurSource() (*ConcurSource, bool) {
162355  	return nil, false
162356  }
162357  
162358  // AsAzurePostgreSQLSource is the BasicCopySource implementation for RestSource.
162359  func (rs RestSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
162360  	return nil, false
162361  }
162362  
162363  // AsAmazonMWSSource is the BasicCopySource implementation for RestSource.
162364  func (rs RestSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
162365  	return nil, false
162366  }
162367  
162368  // AsCassandraSource is the BasicCopySource implementation for RestSource.
162369  func (rs RestSource) AsCassandraSource() (*CassandraSource, bool) {
162370  	return nil, false
162371  }
162372  
162373  // AsTeradataSource is the BasicCopySource implementation for RestSource.
162374  func (rs RestSource) AsTeradataSource() (*TeradataSource, bool) {
162375  	return nil, false
162376  }
162377  
162378  // AsAzureMySQLSource is the BasicCopySource implementation for RestSource.
162379  func (rs RestSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
162380  	return nil, false
162381  }
162382  
162383  // AsSQLDWSource is the BasicCopySource implementation for RestSource.
162384  func (rs RestSource) AsSQLDWSource() (*SQLDWSource, bool) {
162385  	return nil, false
162386  }
162387  
162388  // AsSQLMISource is the BasicCopySource implementation for RestSource.
162389  func (rs RestSource) AsSQLMISource() (*SQLMISource, bool) {
162390  	return nil, false
162391  }
162392  
162393  // AsAzureSQLSource is the BasicCopySource implementation for RestSource.
162394  func (rs RestSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
162395  	return nil, false
162396  }
162397  
162398  // AsSQLServerSource is the BasicCopySource implementation for RestSource.
162399  func (rs RestSource) AsSQLServerSource() (*SQLServerSource, bool) {
162400  	return nil, false
162401  }
162402  
162403  // AsSQLSource is the BasicCopySource implementation for RestSource.
162404  func (rs RestSource) AsSQLSource() (*SQLSource, bool) {
162405  	return nil, false
162406  }
162407  
162408  // AsSapTableSource is the BasicCopySource implementation for RestSource.
162409  func (rs RestSource) AsSapTableSource() (*SapTableSource, bool) {
162410  	return nil, false
162411  }
162412  
162413  // AsSapOpenHubSource is the BasicCopySource implementation for RestSource.
162414  func (rs RestSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
162415  	return nil, false
162416  }
162417  
162418  // AsSapHanaSource is the BasicCopySource implementation for RestSource.
162419  func (rs RestSource) AsSapHanaSource() (*SapHanaSource, bool) {
162420  	return nil, false
162421  }
162422  
162423  // AsSapEccSource is the BasicCopySource implementation for RestSource.
162424  func (rs RestSource) AsSapEccSource() (*SapEccSource, bool) {
162425  	return nil, false
162426  }
162427  
162428  // AsSapCloudForCustomerSource is the BasicCopySource implementation for RestSource.
162429  func (rs RestSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
162430  	return nil, false
162431  }
162432  
162433  // AsSalesforceSource is the BasicCopySource implementation for RestSource.
162434  func (rs RestSource) AsSalesforceSource() (*SalesforceSource, bool) {
162435  	return nil, false
162436  }
162437  
162438  // AsSapBwSource is the BasicCopySource implementation for RestSource.
162439  func (rs RestSource) AsSapBwSource() (*SapBwSource, bool) {
162440  	return nil, false
162441  }
162442  
162443  // AsSybaseSource is the BasicCopySource implementation for RestSource.
162444  func (rs RestSource) AsSybaseSource() (*SybaseSource, bool) {
162445  	return nil, false
162446  }
162447  
162448  // AsPostgreSQLSource is the BasicCopySource implementation for RestSource.
162449  func (rs RestSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
162450  	return nil, false
162451  }
162452  
162453  // AsMySQLSource is the BasicCopySource implementation for RestSource.
162454  func (rs RestSource) AsMySQLSource() (*MySQLSource, bool) {
162455  	return nil, false
162456  }
162457  
162458  // AsOdbcSource is the BasicCopySource implementation for RestSource.
162459  func (rs RestSource) AsOdbcSource() (*OdbcSource, bool) {
162460  	return nil, false
162461  }
162462  
162463  // AsDb2Source is the BasicCopySource implementation for RestSource.
162464  func (rs RestSource) AsDb2Source() (*Db2Source, bool) {
162465  	return nil, false
162466  }
162467  
162468  // AsInformixSource is the BasicCopySource implementation for RestSource.
162469  func (rs RestSource) AsInformixSource() (*InformixSource, bool) {
162470  	return nil, false
162471  }
162472  
162473  // AsAzureTableSource is the BasicCopySource implementation for RestSource.
162474  func (rs RestSource) AsAzureTableSource() (*AzureTableSource, bool) {
162475  	return nil, false
162476  }
162477  
162478  // AsTabularSource is the BasicCopySource implementation for RestSource.
162479  func (rs RestSource) AsTabularSource() (*TabularSource, bool) {
162480  	return nil, false
162481  }
162482  
162483  // AsBasicTabularSource is the BasicCopySource implementation for RestSource.
162484  func (rs RestSource) AsBasicTabularSource() (BasicTabularSource, bool) {
162485  	return nil, false
162486  }
162487  
162488  // AsBinarySource is the BasicCopySource implementation for RestSource.
162489  func (rs RestSource) AsBinarySource() (*BinarySource, bool) {
162490  	return nil, false
162491  }
162492  
162493  // AsOrcSource is the BasicCopySource implementation for RestSource.
162494  func (rs RestSource) AsOrcSource() (*OrcSource, bool) {
162495  	return nil, false
162496  }
162497  
162498  // AsJSONSource is the BasicCopySource implementation for RestSource.
162499  func (rs RestSource) AsJSONSource() (*JSONSource, bool) {
162500  	return nil, false
162501  }
162502  
162503  // AsDelimitedTextSource is the BasicCopySource implementation for RestSource.
162504  func (rs RestSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
162505  	return nil, false
162506  }
162507  
162508  // AsParquetSource is the BasicCopySource implementation for RestSource.
162509  func (rs RestSource) AsParquetSource() (*ParquetSource, bool) {
162510  	return nil, false
162511  }
162512  
162513  // AsAvroSource is the BasicCopySource implementation for RestSource.
162514  func (rs RestSource) AsAvroSource() (*AvroSource, bool) {
162515  	return nil, false
162516  }
162517  
162518  // AsCopySource is the BasicCopySource implementation for RestSource.
162519  func (rs RestSource) AsCopySource() (*CopySource, bool) {
162520  	return nil, false
162521  }
162522  
162523  // AsBasicCopySource is the BasicCopySource implementation for RestSource.
162524  func (rs RestSource) AsBasicCopySource() (BasicCopySource, bool) {
162525  	return &rs, true
162526  }
162527  
162528  // UnmarshalJSON is the custom unmarshaler for RestSource struct.
162529  func (rs *RestSource) UnmarshalJSON(body []byte) error {
162530  	var m map[string]*json.RawMessage
162531  	err := json.Unmarshal(body, &m)
162532  	if err != nil {
162533  		return err
162534  	}
162535  	for k, v := range m {
162536  		switch k {
162537  		case "requestMethod":
162538  			if v != nil {
162539  				var requestMethod interface{}
162540  				err = json.Unmarshal(*v, &requestMethod)
162541  				if err != nil {
162542  					return err
162543  				}
162544  				rs.RequestMethod = requestMethod
162545  			}
162546  		case "requestBody":
162547  			if v != nil {
162548  				var requestBody interface{}
162549  				err = json.Unmarshal(*v, &requestBody)
162550  				if err != nil {
162551  					return err
162552  				}
162553  				rs.RequestBody = requestBody
162554  			}
162555  		case "additionalHeaders":
162556  			if v != nil {
162557  				var additionalHeaders interface{}
162558  				err = json.Unmarshal(*v, &additionalHeaders)
162559  				if err != nil {
162560  					return err
162561  				}
162562  				rs.AdditionalHeaders = additionalHeaders
162563  			}
162564  		case "paginationRules":
162565  			if v != nil {
162566  				var paginationRules interface{}
162567  				err = json.Unmarshal(*v, &paginationRules)
162568  				if err != nil {
162569  					return err
162570  				}
162571  				rs.PaginationRules = paginationRules
162572  			}
162573  		case "httpRequestTimeout":
162574  			if v != nil {
162575  				var HTTPRequestTimeout interface{}
162576  				err = json.Unmarshal(*v, &HTTPRequestTimeout)
162577  				if err != nil {
162578  					return err
162579  				}
162580  				rs.HTTPRequestTimeout = HTTPRequestTimeout
162581  			}
162582  		case "requestInterval":
162583  			if v != nil {
162584  				var requestInterval interface{}
162585  				err = json.Unmarshal(*v, &requestInterval)
162586  				if err != nil {
162587  					return err
162588  				}
162589  				rs.RequestInterval = requestInterval
162590  			}
162591  		default:
162592  			if v != nil {
162593  				var additionalProperties interface{}
162594  				err = json.Unmarshal(*v, &additionalProperties)
162595  				if err != nil {
162596  					return err
162597  				}
162598  				if rs.AdditionalProperties == nil {
162599  					rs.AdditionalProperties = make(map[string]interface{})
162600  				}
162601  				rs.AdditionalProperties[k] = additionalProperties
162602  			}
162603  		case "sourceRetryCount":
162604  			if v != nil {
162605  				var sourceRetryCount interface{}
162606  				err = json.Unmarshal(*v, &sourceRetryCount)
162607  				if err != nil {
162608  					return err
162609  				}
162610  				rs.SourceRetryCount = sourceRetryCount
162611  			}
162612  		case "sourceRetryWait":
162613  			if v != nil {
162614  				var sourceRetryWait interface{}
162615  				err = json.Unmarshal(*v, &sourceRetryWait)
162616  				if err != nil {
162617  					return err
162618  				}
162619  				rs.SourceRetryWait = sourceRetryWait
162620  			}
162621  		case "maxConcurrentConnections":
162622  			if v != nil {
162623  				var maxConcurrentConnections interface{}
162624  				err = json.Unmarshal(*v, &maxConcurrentConnections)
162625  				if err != nil {
162626  					return err
162627  				}
162628  				rs.MaxConcurrentConnections = maxConcurrentConnections
162629  			}
162630  		case "type":
162631  			if v != nil {
162632  				var typeVar TypeBasicCopySource
162633  				err = json.Unmarshal(*v, &typeVar)
162634  				if err != nil {
162635  					return err
162636  				}
162637  				rs.Type = typeVar
162638  			}
162639  		}
162640  	}
162641  
162642  	return nil
162643  }
162644  
162645  // RetryPolicy execution policy for an activity.
162646  type RetryPolicy struct {
162647  	// Count - Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
162648  	Count interface{} `json:"count,omitempty"`
162649  	// IntervalInSeconds - Interval between retries in seconds. Default is 30.
162650  	IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"`
162651  }
162652  
162653  // RunFilterParameters query parameters for listing runs.
162654  type RunFilterParameters struct {
162655  	// ContinuationToken - The continuation token for getting the next page of results. Null for first page.
162656  	ContinuationToken *string `json:"continuationToken,omitempty"`
162657  	// LastUpdatedAfter - The time at or after which the run event was updated in 'ISO 8601' format.
162658  	LastUpdatedAfter *date.Time `json:"lastUpdatedAfter,omitempty"`
162659  	// LastUpdatedBefore - The time at or before which the run event was updated in 'ISO 8601' format.
162660  	LastUpdatedBefore *date.Time `json:"lastUpdatedBefore,omitempty"`
162661  	// Filters - List of filters.
162662  	Filters *[]RunQueryFilter `json:"filters,omitempty"`
162663  	// OrderBy - List of OrderBy option.
162664  	OrderBy *[]RunQueryOrderBy `json:"orderBy,omitempty"`
162665  }
162666  
162667  // RunQueryFilter query filter option for listing runs.
162668  type RunQueryFilter struct {
162669  	// 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'
162670  	Operand RunQueryFilterOperand `json:"operand,omitempty"`
162671  	// Operator - Operator to be used for filter. Possible values include: 'Equals', 'NotEquals', 'In', 'NotIn'
162672  	Operator RunQueryFilterOperator `json:"operator,omitempty"`
162673  	// Values - List of filter values.
162674  	Values *[]string `json:"values,omitempty"`
162675  }
162676  
162677  // RunQueryOrderBy an object to provide order by options for listing runs.
162678  type RunQueryOrderBy struct {
162679  	// 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'
162680  	OrderBy RunQueryOrderByField `json:"orderBy,omitempty"`
162681  	// Order - Sorting order of the parameter. Possible values include: 'ASC', 'DESC'
162682  	Order RunQueryOrder `json:"order,omitempty"`
162683  }
162684  
162685  // SalesforceLinkedService linked service for Salesforce.
162686  type SalesforceLinkedService struct {
162687  	// SalesforceLinkedServiceTypeProperties - Salesforce linked service properties.
162688  	*SalesforceLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
162689  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
162690  	AdditionalProperties map[string]interface{} `json:""`
162691  	// ConnectVia - The integration runtime reference.
162692  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
162693  	// Description - Linked service description.
162694  	Description *string `json:"description,omitempty"`
162695  	// Parameters - Parameters for linked service.
162696  	Parameters map[string]*ParameterSpecification `json:"parameters"`
162697  	// Annotations - List of tags that can be used for describing the linked service.
162698  	Annotations *[]interface{} `json:"annotations,omitempty"`
162699  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
162700  	Type TypeBasicLinkedService `json:"type,omitempty"`
162701  }
162702  
162703  // MarshalJSON is the custom marshaler for SalesforceLinkedService.
162704  func (sls SalesforceLinkedService) MarshalJSON() ([]byte, error) {
162705  	sls.Type = TypeSalesforce
162706  	objectMap := make(map[string]interface{})
162707  	if sls.SalesforceLinkedServiceTypeProperties != nil {
162708  		objectMap["typeProperties"] = sls.SalesforceLinkedServiceTypeProperties
162709  	}
162710  	if sls.ConnectVia != nil {
162711  		objectMap["connectVia"] = sls.ConnectVia
162712  	}
162713  	if sls.Description != nil {
162714  		objectMap["description"] = sls.Description
162715  	}
162716  	if sls.Parameters != nil {
162717  		objectMap["parameters"] = sls.Parameters
162718  	}
162719  	if sls.Annotations != nil {
162720  		objectMap["annotations"] = sls.Annotations
162721  	}
162722  	if sls.Type != "" {
162723  		objectMap["type"] = sls.Type
162724  	}
162725  	for k, v := range sls.AdditionalProperties {
162726  		objectMap[k] = v
162727  	}
162728  	return json.Marshal(objectMap)
162729  }
162730  
162731  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162732  func (sls SalesforceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
162733  	return nil, false
162734  }
162735  
162736  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162737  func (sls SalesforceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
162738  	return nil, false
162739  }
162740  
162741  // AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162742  func (sls SalesforceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
162743  	return nil, false
162744  }
162745  
162746  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162747  func (sls SalesforceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
162748  	return nil, false
162749  }
162750  
162751  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162752  func (sls SalesforceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
162753  	return nil, false
162754  }
162755  
162756  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162757  func (sls SalesforceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
162758  	return nil, false
162759  }
162760  
162761  // AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162762  func (sls SalesforceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
162763  	return nil, false
162764  }
162765  
162766  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162767  func (sls SalesforceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
162768  	return nil, false
162769  }
162770  
162771  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162772  func (sls SalesforceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
162773  	return nil, false
162774  }
162775  
162776  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162777  func (sls SalesforceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
162778  	return nil, false
162779  }
162780  
162781  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162782  func (sls SalesforceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
162783  	return nil, false
162784  }
162785  
162786  // AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162787  func (sls SalesforceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
162788  	return nil, false
162789  }
162790  
162791  // AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162792  func (sls SalesforceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
162793  	return nil, false
162794  }
162795  
162796  // AsZohoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162797  func (sls SalesforceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
162798  	return nil, false
162799  }
162800  
162801  // AsXeroLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162802  func (sls SalesforceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
162803  	return nil, false
162804  }
162805  
162806  // AsSquareLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162807  func (sls SalesforceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
162808  	return nil, false
162809  }
162810  
162811  // AsSparkLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162812  func (sls SalesforceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
162813  	return nil, false
162814  }
162815  
162816  // AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162817  func (sls SalesforceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
162818  	return nil, false
162819  }
162820  
162821  // AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162822  func (sls SalesforceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
162823  	return nil, false
162824  }
162825  
162826  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162827  func (sls SalesforceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
162828  	return nil, false
162829  }
162830  
162831  // AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162832  func (sls SalesforceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
162833  	return nil, false
162834  }
162835  
162836  // AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162837  func (sls SalesforceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
162838  	return nil, false
162839  }
162840  
162841  // AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162842  func (sls SalesforceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
162843  	return nil, false
162844  }
162845  
162846  // AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162847  func (sls SalesforceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
162848  	return nil, false
162849  }
162850  
162851  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162852  func (sls SalesforceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
162853  	return nil, false
162854  }
162855  
162856  // AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162857  func (sls SalesforceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
162858  	return nil, false
162859  }
162860  
162861  // AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162862  func (sls SalesforceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
162863  	return nil, false
162864  }
162865  
162866  // AsJiraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162867  func (sls SalesforceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
162868  	return nil, false
162869  }
162870  
162871  // AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162872  func (sls SalesforceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
162873  	return nil, false
162874  }
162875  
162876  // AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162877  func (sls SalesforceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
162878  	return nil, false
162879  }
162880  
162881  // AsHiveLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162882  func (sls SalesforceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
162883  	return nil, false
162884  }
162885  
162886  // AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162887  func (sls SalesforceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
162888  	return nil, false
162889  }
162890  
162891  // AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162892  func (sls SalesforceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
162893  	return nil, false
162894  }
162895  
162896  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162897  func (sls SalesforceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
162898  	return nil, false
162899  }
162900  
162901  // AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162902  func (sls SalesforceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
162903  	return nil, false
162904  }
162905  
162906  // AsDrillLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162907  func (sls SalesforceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
162908  	return nil, false
162909  }
162910  
162911  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162912  func (sls SalesforceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
162913  	return nil, false
162914  }
162915  
162916  // AsConcurLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162917  func (sls SalesforceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
162918  	return nil, false
162919  }
162920  
162921  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162922  func (sls SalesforceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
162923  	return nil, false
162924  }
162925  
162926  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162927  func (sls SalesforceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
162928  	return nil, false
162929  }
162930  
162931  // AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162932  func (sls SalesforceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
162933  	return nil, false
162934  }
162935  
162936  // AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162937  func (sls SalesforceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
162938  	return nil, false
162939  }
162940  
162941  // AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162942  func (sls SalesforceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
162943  	return nil, false
162944  }
162945  
162946  // AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162947  func (sls SalesforceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
162948  	return nil, false
162949  }
162950  
162951  // AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162952  func (sls SalesforceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
162953  	return nil, false
162954  }
162955  
162956  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162957  func (sls SalesforceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
162958  	return nil, false
162959  }
162960  
162961  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162962  func (sls SalesforceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
162963  	return nil, false
162964  }
162965  
162966  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162967  func (sls SalesforceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
162968  	return nil, false
162969  }
162970  
162971  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162972  func (sls SalesforceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
162973  	return nil, false
162974  }
162975  
162976  // AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162977  func (sls SalesforceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
162978  	return nil, false
162979  }
162980  
162981  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162982  func (sls SalesforceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
162983  	return nil, false
162984  }
162985  
162986  // AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162987  func (sls SalesforceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
162988  	return nil, false
162989  }
162990  
162991  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162992  func (sls SalesforceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
162993  	return nil, false
162994  }
162995  
162996  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
162997  func (sls SalesforceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
162998  	return nil, false
162999  }
163000  
163001  // AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163002  func (sls SalesforceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
163003  	return &sls, true
163004  }
163005  
163006  // AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163007  func (sls SalesforceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
163008  	return nil, false
163009  }
163010  
163011  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163012  func (sls SalesforceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
163013  	return nil, false
163014  }
163015  
163016  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163017  func (sls SalesforceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
163018  	return nil, false
163019  }
163020  
163021  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163022  func (sls SalesforceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
163023  	return nil, false
163024  }
163025  
163026  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163027  func (sls SalesforceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
163028  	return nil, false
163029  }
163030  
163031  // AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163032  func (sls SalesforceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
163033  	return nil, false
163034  }
163035  
163036  // AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163037  func (sls SalesforceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
163038  	return nil, false
163039  }
163040  
163041  // AsWebLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163042  func (sls SalesforceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
163043  	return nil, false
163044  }
163045  
163046  // AsODataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163047  func (sls SalesforceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
163048  	return nil, false
163049  }
163050  
163051  // AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163052  func (sls SalesforceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
163053  	return nil, false
163054  }
163055  
163056  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163057  func (sls SalesforceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
163058  	return nil, false
163059  }
163060  
163061  // AsInformixLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163062  func (sls SalesforceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
163063  	return nil, false
163064  }
163065  
163066  // AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163067  func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
163068  	return nil, false
163069  }
163070  
163071  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163072  func (sls SalesforceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
163073  	return nil, false
163074  }
163075  
163076  // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163077  func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
163078  	return nil, false
163079  }
163080  
163081  // AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163082  func (sls SalesforceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
163083  	return nil, false
163084  }
163085  
163086  // AsDb2LinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163087  func (sls SalesforceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
163088  	return nil, false
163089  }
163090  
163091  // AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163092  func (sls SalesforceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
163093  	return nil, false
163094  }
163095  
163096  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163097  func (sls SalesforceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
163098  	return nil, false
163099  }
163100  
163101  // AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163102  func (sls SalesforceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
163103  	return nil, false
163104  }
163105  
163106  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163107  func (sls SalesforceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
163108  	return nil, false
163109  }
163110  
163111  // AsOracleLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163112  func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
163113  	return nil, false
163114  }
163115  
163116  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163117  func (sls SalesforceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
163118  	return nil, false
163119  }
163120  
163121  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163122  func (sls SalesforceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
163123  	return nil, false
163124  }
163125  
163126  // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163127  func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
163128  	return nil, false
163129  }
163130  
163131  // AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163132  func (sls SalesforceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
163133  	return nil, false
163134  }
163135  
163136  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163137  func (sls SalesforceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
163138  	return nil, false
163139  }
163140  
163141  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163142  func (sls SalesforceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
163143  	return nil, false
163144  }
163145  
163146  // AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163147  func (sls SalesforceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
163148  	return nil, false
163149  }
163150  
163151  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163152  func (sls SalesforceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
163153  	return nil, false
163154  }
163155  
163156  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163157  func (sls SalesforceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
163158  	return nil, false
163159  }
163160  
163161  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163162  func (sls SalesforceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
163163  	return nil, false
163164  }
163165  
163166  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163167  func (sls SalesforceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
163168  	return nil, false
163169  }
163170  
163171  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163172  func (sls SalesforceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
163173  	return nil, false
163174  }
163175  
163176  // AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163177  func (sls SalesforceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
163178  	return nil, false
163179  }
163180  
163181  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163182  func (sls SalesforceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
163183  	return nil, false
163184  }
163185  
163186  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163187  func (sls SalesforceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
163188  	return nil, false
163189  }
163190  
163191  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163192  func (sls SalesforceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
163193  	return nil, false
163194  }
163195  
163196  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163197  func (sls SalesforceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
163198  	return nil, false
163199  }
163200  
163201  // AsLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163202  func (sls SalesforceLinkedService) AsLinkedService() (*LinkedService, bool) {
163203  	return nil, false
163204  }
163205  
163206  // AsBasicLinkedService is the BasicLinkedService implementation for SalesforceLinkedService.
163207  func (sls SalesforceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
163208  	return &sls, true
163209  }
163210  
163211  // UnmarshalJSON is the custom unmarshaler for SalesforceLinkedService struct.
163212  func (sls *SalesforceLinkedService) UnmarshalJSON(body []byte) error {
163213  	var m map[string]*json.RawMessage
163214  	err := json.Unmarshal(body, &m)
163215  	if err != nil {
163216  		return err
163217  	}
163218  	for k, v := range m {
163219  		switch k {
163220  		case "typeProperties":
163221  			if v != nil {
163222  				var salesforceLinkedServiceTypeProperties SalesforceLinkedServiceTypeProperties
163223  				err = json.Unmarshal(*v, &salesforceLinkedServiceTypeProperties)
163224  				if err != nil {
163225  					return err
163226  				}
163227  				sls.SalesforceLinkedServiceTypeProperties = &salesforceLinkedServiceTypeProperties
163228  			}
163229  		default:
163230  			if v != nil {
163231  				var additionalProperties interface{}
163232  				err = json.Unmarshal(*v, &additionalProperties)
163233  				if err != nil {
163234  					return err
163235  				}
163236  				if sls.AdditionalProperties == nil {
163237  					sls.AdditionalProperties = make(map[string]interface{})
163238  				}
163239  				sls.AdditionalProperties[k] = additionalProperties
163240  			}
163241  		case "connectVia":
163242  			if v != nil {
163243  				var connectVia IntegrationRuntimeReference
163244  				err = json.Unmarshal(*v, &connectVia)
163245  				if err != nil {
163246  					return err
163247  				}
163248  				sls.ConnectVia = &connectVia
163249  			}
163250  		case "description":
163251  			if v != nil {
163252  				var description string
163253  				err = json.Unmarshal(*v, &description)
163254  				if err != nil {
163255  					return err
163256  				}
163257  				sls.Description = &description
163258  			}
163259  		case "parameters":
163260  			if v != nil {
163261  				var parameters map[string]*ParameterSpecification
163262  				err = json.Unmarshal(*v, &parameters)
163263  				if err != nil {
163264  					return err
163265  				}
163266  				sls.Parameters = parameters
163267  			}
163268  		case "annotations":
163269  			if v != nil {
163270  				var annotations []interface{}
163271  				err = json.Unmarshal(*v, &annotations)
163272  				if err != nil {
163273  					return err
163274  				}
163275  				sls.Annotations = &annotations
163276  			}
163277  		case "type":
163278  			if v != nil {
163279  				var typeVar TypeBasicLinkedService
163280  				err = json.Unmarshal(*v, &typeVar)
163281  				if err != nil {
163282  					return err
163283  				}
163284  				sls.Type = typeVar
163285  			}
163286  		}
163287  	}
163288  
163289  	return nil
163290  }
163291  
163292  // SalesforceLinkedServiceTypeProperties salesforce linked service properties.
163293  type SalesforceLinkedServiceTypeProperties struct {
163294  	// 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).
163295  	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
163296  	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
163297  	Username interface{} `json:"username,omitempty"`
163298  	// Password - The password for Basic authentication of the Salesforce instance.
163299  	Password BasicSecretBase `json:"password,omitempty"`
163300  	// SecurityToken - The security token is required to remotely access Salesforce instance.
163301  	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
163302  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
163303  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
163304  }
163305  
163306  // UnmarshalJSON is the custom unmarshaler for SalesforceLinkedServiceTypeProperties struct.
163307  func (slstp *SalesforceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
163308  	var m map[string]*json.RawMessage
163309  	err := json.Unmarshal(body, &m)
163310  	if err != nil {
163311  		return err
163312  	}
163313  	for k, v := range m {
163314  		switch k {
163315  		case "environmentUrl":
163316  			if v != nil {
163317  				var environmentURL interface{}
163318  				err = json.Unmarshal(*v, &environmentURL)
163319  				if err != nil {
163320  					return err
163321  				}
163322  				slstp.EnvironmentURL = environmentURL
163323  			}
163324  		case "username":
163325  			if v != nil {
163326  				var username interface{}
163327  				err = json.Unmarshal(*v, &username)
163328  				if err != nil {
163329  					return err
163330  				}
163331  				slstp.Username = username
163332  			}
163333  		case "password":
163334  			if v != nil {
163335  				password, err := unmarshalBasicSecretBase(*v)
163336  				if err != nil {
163337  					return err
163338  				}
163339  				slstp.Password = password
163340  			}
163341  		case "securityToken":
163342  			if v != nil {
163343  				securityToken, err := unmarshalBasicSecretBase(*v)
163344  				if err != nil {
163345  					return err
163346  				}
163347  				slstp.SecurityToken = securityToken
163348  			}
163349  		case "encryptedCredential":
163350  			if v != nil {
163351  				var encryptedCredential interface{}
163352  				err = json.Unmarshal(*v, &encryptedCredential)
163353  				if err != nil {
163354  					return err
163355  				}
163356  				slstp.EncryptedCredential = encryptedCredential
163357  			}
163358  		}
163359  	}
163360  
163361  	return nil
163362  }
163363  
163364  // SalesforceMarketingCloudLinkedService salesforce Marketing Cloud linked service.
163365  type SalesforceMarketingCloudLinkedService struct {
163366  	// SalesforceMarketingCloudLinkedServiceTypeProperties - Salesforce Marketing Cloud linked service properties.
163367  	*SalesforceMarketingCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
163368  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
163369  	AdditionalProperties map[string]interface{} `json:""`
163370  	// ConnectVia - The integration runtime reference.
163371  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
163372  	// Description - Linked service description.
163373  	Description *string `json:"description,omitempty"`
163374  	// Parameters - Parameters for linked service.
163375  	Parameters map[string]*ParameterSpecification `json:"parameters"`
163376  	// Annotations - List of tags that can be used for describing the linked service.
163377  	Annotations *[]interface{} `json:"annotations,omitempty"`
163378  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
163379  	Type TypeBasicLinkedService `json:"type,omitempty"`
163380  }
163381  
163382  // MarshalJSON is the custom marshaler for SalesforceMarketingCloudLinkedService.
163383  func (smcls SalesforceMarketingCloudLinkedService) MarshalJSON() ([]byte, error) {
163384  	smcls.Type = TypeSalesforceMarketingCloud
163385  	objectMap := make(map[string]interface{})
163386  	if smcls.SalesforceMarketingCloudLinkedServiceTypeProperties != nil {
163387  		objectMap["typeProperties"] = smcls.SalesforceMarketingCloudLinkedServiceTypeProperties
163388  	}
163389  	if smcls.ConnectVia != nil {
163390  		objectMap["connectVia"] = smcls.ConnectVia
163391  	}
163392  	if smcls.Description != nil {
163393  		objectMap["description"] = smcls.Description
163394  	}
163395  	if smcls.Parameters != nil {
163396  		objectMap["parameters"] = smcls.Parameters
163397  	}
163398  	if smcls.Annotations != nil {
163399  		objectMap["annotations"] = smcls.Annotations
163400  	}
163401  	if smcls.Type != "" {
163402  		objectMap["type"] = smcls.Type
163403  	}
163404  	for k, v := range smcls.AdditionalProperties {
163405  		objectMap[k] = v
163406  	}
163407  	return json.Marshal(objectMap)
163408  }
163409  
163410  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163411  func (smcls SalesforceMarketingCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
163412  	return nil, false
163413  }
163414  
163415  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163416  func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
163417  	return nil, false
163418  }
163419  
163420  // AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163421  func (smcls SalesforceMarketingCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
163422  	return nil, false
163423  }
163424  
163425  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163426  func (smcls SalesforceMarketingCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
163427  	return nil, false
163428  }
163429  
163430  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163431  func (smcls SalesforceMarketingCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
163432  	return nil, false
163433  }
163434  
163435  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163436  func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
163437  	return nil, false
163438  }
163439  
163440  // AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163441  func (smcls SalesforceMarketingCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
163442  	return nil, false
163443  }
163444  
163445  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163446  func (smcls SalesforceMarketingCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
163447  	return nil, false
163448  }
163449  
163450  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163451  func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
163452  	return nil, false
163453  }
163454  
163455  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163456  func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
163457  	return nil, false
163458  }
163459  
163460  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163461  func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
163462  	return &smcls, true
163463  }
163464  
163465  // AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163466  func (smcls SalesforceMarketingCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
163467  	return nil, false
163468  }
163469  
163470  // AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163471  func (smcls SalesforceMarketingCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
163472  	return nil, false
163473  }
163474  
163475  // AsZohoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163476  func (smcls SalesforceMarketingCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
163477  	return nil, false
163478  }
163479  
163480  // AsXeroLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163481  func (smcls SalesforceMarketingCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
163482  	return nil, false
163483  }
163484  
163485  // AsSquareLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163486  func (smcls SalesforceMarketingCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
163487  	return nil, false
163488  }
163489  
163490  // AsSparkLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163491  func (smcls SalesforceMarketingCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
163492  	return nil, false
163493  }
163494  
163495  // AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163496  func (smcls SalesforceMarketingCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
163497  	return nil, false
163498  }
163499  
163500  // AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163501  func (smcls SalesforceMarketingCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
163502  	return nil, false
163503  }
163504  
163505  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163506  func (smcls SalesforceMarketingCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
163507  	return nil, false
163508  }
163509  
163510  // AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163511  func (smcls SalesforceMarketingCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
163512  	return nil, false
163513  }
163514  
163515  // AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163516  func (smcls SalesforceMarketingCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
163517  	return nil, false
163518  }
163519  
163520  // AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163521  func (smcls SalesforceMarketingCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
163522  	return nil, false
163523  }
163524  
163525  // AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163526  func (smcls SalesforceMarketingCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
163527  	return nil, false
163528  }
163529  
163530  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163531  func (smcls SalesforceMarketingCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
163532  	return nil, false
163533  }
163534  
163535  // AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163536  func (smcls SalesforceMarketingCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
163537  	return nil, false
163538  }
163539  
163540  // AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163541  func (smcls SalesforceMarketingCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
163542  	return nil, false
163543  }
163544  
163545  // AsJiraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163546  func (smcls SalesforceMarketingCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
163547  	return nil, false
163548  }
163549  
163550  // AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163551  func (smcls SalesforceMarketingCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
163552  	return nil, false
163553  }
163554  
163555  // AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163556  func (smcls SalesforceMarketingCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
163557  	return nil, false
163558  }
163559  
163560  // AsHiveLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163561  func (smcls SalesforceMarketingCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
163562  	return nil, false
163563  }
163564  
163565  // AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163566  func (smcls SalesforceMarketingCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
163567  	return nil, false
163568  }
163569  
163570  // AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163571  func (smcls SalesforceMarketingCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
163572  	return nil, false
163573  }
163574  
163575  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163576  func (smcls SalesforceMarketingCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
163577  	return nil, false
163578  }
163579  
163580  // AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163581  func (smcls SalesforceMarketingCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
163582  	return nil, false
163583  }
163584  
163585  // AsDrillLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163586  func (smcls SalesforceMarketingCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
163587  	return nil, false
163588  }
163589  
163590  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163591  func (smcls SalesforceMarketingCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
163592  	return nil, false
163593  }
163594  
163595  // AsConcurLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163596  func (smcls SalesforceMarketingCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
163597  	return nil, false
163598  }
163599  
163600  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163601  func (smcls SalesforceMarketingCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
163602  	return nil, false
163603  }
163604  
163605  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163606  func (smcls SalesforceMarketingCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
163607  	return nil, false
163608  }
163609  
163610  // AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163611  func (smcls SalesforceMarketingCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
163612  	return nil, false
163613  }
163614  
163615  // AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163616  func (smcls SalesforceMarketingCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
163617  	return nil, false
163618  }
163619  
163620  // AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163621  func (smcls SalesforceMarketingCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
163622  	return nil, false
163623  }
163624  
163625  // AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163626  func (smcls SalesforceMarketingCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
163627  	return nil, false
163628  }
163629  
163630  // AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163631  func (smcls SalesforceMarketingCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
163632  	return nil, false
163633  }
163634  
163635  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163636  func (smcls SalesforceMarketingCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
163637  	return nil, false
163638  }
163639  
163640  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163641  func (smcls SalesforceMarketingCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
163642  	return nil, false
163643  }
163644  
163645  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163646  func (smcls SalesforceMarketingCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
163647  	return nil, false
163648  }
163649  
163650  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163651  func (smcls SalesforceMarketingCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
163652  	return nil, false
163653  }
163654  
163655  // AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163656  func (smcls SalesforceMarketingCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
163657  	return nil, false
163658  }
163659  
163660  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163661  func (smcls SalesforceMarketingCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
163662  	return nil, false
163663  }
163664  
163665  // AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163666  func (smcls SalesforceMarketingCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
163667  	return nil, false
163668  }
163669  
163670  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163671  func (smcls SalesforceMarketingCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
163672  	return nil, false
163673  }
163674  
163675  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163676  func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
163677  	return nil, false
163678  }
163679  
163680  // AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163681  func (smcls SalesforceMarketingCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
163682  	return nil, false
163683  }
163684  
163685  // AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163686  func (smcls SalesforceMarketingCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
163687  	return nil, false
163688  }
163689  
163690  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163691  func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
163692  	return nil, false
163693  }
163694  
163695  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163696  func (smcls SalesforceMarketingCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
163697  	return nil, false
163698  }
163699  
163700  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163701  func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
163702  	return nil, false
163703  }
163704  
163705  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163706  func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
163707  	return nil, false
163708  }
163709  
163710  // AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163711  func (smcls SalesforceMarketingCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
163712  	return nil, false
163713  }
163714  
163715  // AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163716  func (smcls SalesforceMarketingCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
163717  	return nil, false
163718  }
163719  
163720  // AsWebLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163721  func (smcls SalesforceMarketingCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
163722  	return nil, false
163723  }
163724  
163725  // AsODataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163726  func (smcls SalesforceMarketingCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
163727  	return nil, false
163728  }
163729  
163730  // AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163731  func (smcls SalesforceMarketingCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
163732  	return nil, false
163733  }
163734  
163735  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163736  func (smcls SalesforceMarketingCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
163737  	return nil, false
163738  }
163739  
163740  // AsInformixLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163741  func (smcls SalesforceMarketingCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
163742  	return nil, false
163743  }
163744  
163745  // AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163746  func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
163747  	return nil, false
163748  }
163749  
163750  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163751  func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
163752  	return nil, false
163753  }
163754  
163755  // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163756  func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
163757  	return nil, false
163758  }
163759  
163760  // AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163761  func (smcls SalesforceMarketingCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
163762  	return nil, false
163763  }
163764  
163765  // AsDb2LinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163766  func (smcls SalesforceMarketingCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
163767  	return nil, false
163768  }
163769  
163770  // AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163771  func (smcls SalesforceMarketingCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
163772  	return nil, false
163773  }
163774  
163775  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163776  func (smcls SalesforceMarketingCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
163777  	return nil, false
163778  }
163779  
163780  // AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163781  func (smcls SalesforceMarketingCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
163782  	return nil, false
163783  }
163784  
163785  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163786  func (smcls SalesforceMarketingCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
163787  	return nil, false
163788  }
163789  
163790  // AsOracleLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163791  func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
163792  	return nil, false
163793  }
163794  
163795  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163796  func (smcls SalesforceMarketingCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
163797  	return nil, false
163798  }
163799  
163800  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163801  func (smcls SalesforceMarketingCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
163802  	return nil, false
163803  }
163804  
163805  // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163806  func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
163807  	return nil, false
163808  }
163809  
163810  // AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163811  func (smcls SalesforceMarketingCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
163812  	return nil, false
163813  }
163814  
163815  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163816  func (smcls SalesforceMarketingCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
163817  	return nil, false
163818  }
163819  
163820  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163821  func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
163822  	return nil, false
163823  }
163824  
163825  // AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163826  func (smcls SalesforceMarketingCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
163827  	return nil, false
163828  }
163829  
163830  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163831  func (smcls SalesforceMarketingCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
163832  	return nil, false
163833  }
163834  
163835  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163836  func (smcls SalesforceMarketingCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
163837  	return nil, false
163838  }
163839  
163840  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163841  func (smcls SalesforceMarketingCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
163842  	return nil, false
163843  }
163844  
163845  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163846  func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
163847  	return nil, false
163848  }
163849  
163850  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163851  func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
163852  	return nil, false
163853  }
163854  
163855  // AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163856  func (smcls SalesforceMarketingCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
163857  	return nil, false
163858  }
163859  
163860  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163861  func (smcls SalesforceMarketingCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
163862  	return nil, false
163863  }
163864  
163865  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163866  func (smcls SalesforceMarketingCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
163867  	return nil, false
163868  }
163869  
163870  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163871  func (smcls SalesforceMarketingCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
163872  	return nil, false
163873  }
163874  
163875  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163876  func (smcls SalesforceMarketingCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
163877  	return nil, false
163878  }
163879  
163880  // AsLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163881  func (smcls SalesforceMarketingCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
163882  	return nil, false
163883  }
163884  
163885  // AsBasicLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService.
163886  func (smcls SalesforceMarketingCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
163887  	return &smcls, true
163888  }
163889  
163890  // UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedService struct.
163891  func (smcls *SalesforceMarketingCloudLinkedService) UnmarshalJSON(body []byte) error {
163892  	var m map[string]*json.RawMessage
163893  	err := json.Unmarshal(body, &m)
163894  	if err != nil {
163895  		return err
163896  	}
163897  	for k, v := range m {
163898  		switch k {
163899  		case "typeProperties":
163900  			if v != nil {
163901  				var salesforceMarketingCloudLinkedServiceTypeProperties SalesforceMarketingCloudLinkedServiceTypeProperties
163902  				err = json.Unmarshal(*v, &salesforceMarketingCloudLinkedServiceTypeProperties)
163903  				if err != nil {
163904  					return err
163905  				}
163906  				smcls.SalesforceMarketingCloudLinkedServiceTypeProperties = &salesforceMarketingCloudLinkedServiceTypeProperties
163907  			}
163908  		default:
163909  			if v != nil {
163910  				var additionalProperties interface{}
163911  				err = json.Unmarshal(*v, &additionalProperties)
163912  				if err != nil {
163913  					return err
163914  				}
163915  				if smcls.AdditionalProperties == nil {
163916  					smcls.AdditionalProperties = make(map[string]interface{})
163917  				}
163918  				smcls.AdditionalProperties[k] = additionalProperties
163919  			}
163920  		case "connectVia":
163921  			if v != nil {
163922  				var connectVia IntegrationRuntimeReference
163923  				err = json.Unmarshal(*v, &connectVia)
163924  				if err != nil {
163925  					return err
163926  				}
163927  				smcls.ConnectVia = &connectVia
163928  			}
163929  		case "description":
163930  			if v != nil {
163931  				var description string
163932  				err = json.Unmarshal(*v, &description)
163933  				if err != nil {
163934  					return err
163935  				}
163936  				smcls.Description = &description
163937  			}
163938  		case "parameters":
163939  			if v != nil {
163940  				var parameters map[string]*ParameterSpecification
163941  				err = json.Unmarshal(*v, &parameters)
163942  				if err != nil {
163943  					return err
163944  				}
163945  				smcls.Parameters = parameters
163946  			}
163947  		case "annotations":
163948  			if v != nil {
163949  				var annotations []interface{}
163950  				err = json.Unmarshal(*v, &annotations)
163951  				if err != nil {
163952  					return err
163953  				}
163954  				smcls.Annotations = &annotations
163955  			}
163956  		case "type":
163957  			if v != nil {
163958  				var typeVar TypeBasicLinkedService
163959  				err = json.Unmarshal(*v, &typeVar)
163960  				if err != nil {
163961  					return err
163962  				}
163963  				smcls.Type = typeVar
163964  			}
163965  		}
163966  	}
163967  
163968  	return nil
163969  }
163970  
163971  // SalesforceMarketingCloudLinkedServiceTypeProperties salesforce Marketing Cloud linked service
163972  // properties.
163973  type SalesforceMarketingCloudLinkedServiceTypeProperties struct {
163974  	// ClientID - The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
163975  	ClientID interface{} `json:"clientId,omitempty"`
163976  	// ClientSecret - The client secret associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).
163977  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
163978  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
163979  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
163980  	// 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).
163981  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
163982  	// 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).
163983  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
163984  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
163985  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
163986  }
163987  
163988  // UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudLinkedServiceTypeProperties struct.
163989  func (smclstp *SalesforceMarketingCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
163990  	var m map[string]*json.RawMessage
163991  	err := json.Unmarshal(body, &m)
163992  	if err != nil {
163993  		return err
163994  	}
163995  	for k, v := range m {
163996  		switch k {
163997  		case "clientId":
163998  			if v != nil {
163999  				var clientID interface{}
164000  				err = json.Unmarshal(*v, &clientID)
164001  				if err != nil {
164002  					return err
164003  				}
164004  				smclstp.ClientID = clientID
164005  			}
164006  		case "clientSecret":
164007  			if v != nil {
164008  				clientSecret, err := unmarshalBasicSecretBase(*v)
164009  				if err != nil {
164010  					return err
164011  				}
164012  				smclstp.ClientSecret = clientSecret
164013  			}
164014  		case "useEncryptedEndpoints":
164015  			if v != nil {
164016  				var useEncryptedEndpoints interface{}
164017  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
164018  				if err != nil {
164019  					return err
164020  				}
164021  				smclstp.UseEncryptedEndpoints = useEncryptedEndpoints
164022  			}
164023  		case "useHostVerification":
164024  			if v != nil {
164025  				var useHostVerification interface{}
164026  				err = json.Unmarshal(*v, &useHostVerification)
164027  				if err != nil {
164028  					return err
164029  				}
164030  				smclstp.UseHostVerification = useHostVerification
164031  			}
164032  		case "usePeerVerification":
164033  			if v != nil {
164034  				var usePeerVerification interface{}
164035  				err = json.Unmarshal(*v, &usePeerVerification)
164036  				if err != nil {
164037  					return err
164038  				}
164039  				smclstp.UsePeerVerification = usePeerVerification
164040  			}
164041  		case "encryptedCredential":
164042  			if v != nil {
164043  				var encryptedCredential interface{}
164044  				err = json.Unmarshal(*v, &encryptedCredential)
164045  				if err != nil {
164046  					return err
164047  				}
164048  				smclstp.EncryptedCredential = encryptedCredential
164049  			}
164050  		}
164051  	}
164052  
164053  	return nil
164054  }
164055  
164056  // SalesforceMarketingCloudObjectDataset salesforce Marketing Cloud dataset.
164057  type SalesforceMarketingCloudObjectDataset struct {
164058  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
164059  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
164060  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
164061  	AdditionalProperties map[string]interface{} `json:""`
164062  	// Description - Dataset description.
164063  	Description *string `json:"description,omitempty"`
164064  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
164065  	Structure interface{} `json:"structure,omitempty"`
164066  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
164067  	Schema interface{} `json:"schema,omitempty"`
164068  	// LinkedServiceName - Linked service reference.
164069  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
164070  	// Parameters - Parameters for dataset.
164071  	Parameters map[string]*ParameterSpecification `json:"parameters"`
164072  	// Annotations - List of tags that can be used for describing the Dataset.
164073  	Annotations *[]interface{} `json:"annotations,omitempty"`
164074  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
164075  	Folder *DatasetFolder `json:"folder,omitempty"`
164076  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
164077  	Type TypeBasicDataset `json:"type,omitempty"`
164078  }
164079  
164080  // MarshalJSON is the custom marshaler for SalesforceMarketingCloudObjectDataset.
164081  func (smcod SalesforceMarketingCloudObjectDataset) MarshalJSON() ([]byte, error) {
164082  	smcod.Type = TypeSalesforceMarketingCloudObject
164083  	objectMap := make(map[string]interface{})
164084  	if smcod.GenericDatasetTypeProperties != nil {
164085  		objectMap["typeProperties"] = smcod.GenericDatasetTypeProperties
164086  	}
164087  	if smcod.Description != nil {
164088  		objectMap["description"] = smcod.Description
164089  	}
164090  	if smcod.Structure != nil {
164091  		objectMap["structure"] = smcod.Structure
164092  	}
164093  	if smcod.Schema != nil {
164094  		objectMap["schema"] = smcod.Schema
164095  	}
164096  	if smcod.LinkedServiceName != nil {
164097  		objectMap["linkedServiceName"] = smcod.LinkedServiceName
164098  	}
164099  	if smcod.Parameters != nil {
164100  		objectMap["parameters"] = smcod.Parameters
164101  	}
164102  	if smcod.Annotations != nil {
164103  		objectMap["annotations"] = smcod.Annotations
164104  	}
164105  	if smcod.Folder != nil {
164106  		objectMap["folder"] = smcod.Folder
164107  	}
164108  	if smcod.Type != "" {
164109  		objectMap["type"] = smcod.Type
164110  	}
164111  	for k, v := range smcod.AdditionalProperties {
164112  		objectMap[k] = v
164113  	}
164114  	return json.Marshal(objectMap)
164115  }
164116  
164117  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164118  func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
164119  	return nil, false
164120  }
164121  
164122  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164123  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
164124  	return nil, false
164125  }
164126  
164127  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164128  func (smcod SalesforceMarketingCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
164129  	return nil, false
164130  }
164131  
164132  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164133  func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
164134  	return nil, false
164135  }
164136  
164137  // AsResponsysObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164138  func (smcod SalesforceMarketingCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
164139  	return nil, false
164140  }
164141  
164142  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164143  func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
164144  	return &smcod, true
164145  }
164146  
164147  // AsVerticaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164148  func (smcod SalesforceMarketingCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
164149  	return nil, false
164150  }
164151  
164152  // AsNetezzaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164153  func (smcod SalesforceMarketingCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
164154  	return nil, false
164155  }
164156  
164157  // AsZohoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164158  func (smcod SalesforceMarketingCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
164159  	return nil, false
164160  }
164161  
164162  // AsXeroObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164163  func (smcod SalesforceMarketingCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
164164  	return nil, false
164165  }
164166  
164167  // AsSquareObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164168  func (smcod SalesforceMarketingCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
164169  	return nil, false
164170  }
164171  
164172  // AsSparkObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164173  func (smcod SalesforceMarketingCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
164174  	return nil, false
164175  }
164176  
164177  // AsShopifyObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164178  func (smcod SalesforceMarketingCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
164179  	return nil, false
164180  }
164181  
164182  // AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164183  func (smcod SalesforceMarketingCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
164184  	return nil, false
164185  }
164186  
164187  // AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164188  func (smcod SalesforceMarketingCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
164189  	return nil, false
164190  }
164191  
164192  // AsPrestoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164193  func (smcod SalesforceMarketingCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
164194  	return nil, false
164195  }
164196  
164197  // AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164198  func (smcod SalesforceMarketingCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
164199  	return nil, false
164200  }
164201  
164202  // AsPaypalObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164203  func (smcod SalesforceMarketingCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
164204  	return nil, false
164205  }
164206  
164207  // AsMarketoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164208  func (smcod SalesforceMarketingCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
164209  	return nil, false
164210  }
164211  
164212  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164213  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
164214  	return nil, false
164215  }
164216  
164217  // AsMariaDBTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164218  func (smcod SalesforceMarketingCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
164219  	return nil, false
164220  }
164221  
164222  // AsMagentoObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164223  func (smcod SalesforceMarketingCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
164224  	return nil, false
164225  }
164226  
164227  // AsJiraObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164228  func (smcod SalesforceMarketingCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
164229  	return nil, false
164230  }
164231  
164232  // AsImpalaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164233  func (smcod SalesforceMarketingCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
164234  	return nil, false
164235  }
164236  
164237  // AsHubspotObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164238  func (smcod SalesforceMarketingCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
164239  	return nil, false
164240  }
164241  
164242  // AsHiveObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164243  func (smcod SalesforceMarketingCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
164244  	return nil, false
164245  }
164246  
164247  // AsHBaseObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164248  func (smcod SalesforceMarketingCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
164249  	return nil, false
164250  }
164251  
164252  // AsGreenplumTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164253  func (smcod SalesforceMarketingCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
164254  	return nil, false
164255  }
164256  
164257  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164258  func (smcod SalesforceMarketingCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
164259  	return nil, false
164260  }
164261  
164262  // AsEloquaObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164263  func (smcod SalesforceMarketingCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
164264  	return nil, false
164265  }
164266  
164267  // AsDrillTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164268  func (smcod SalesforceMarketingCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
164269  	return nil, false
164270  }
164271  
164272  // AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164273  func (smcod SalesforceMarketingCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
164274  	return nil, false
164275  }
164276  
164277  // AsConcurObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164278  func (smcod SalesforceMarketingCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
164279  	return nil, false
164280  }
164281  
164282  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164283  func (smcod SalesforceMarketingCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
164284  	return nil, false
164285  }
164286  
164287  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164288  func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
164289  	return nil, false
164290  }
164291  
164292  // AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164293  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
164294  	return nil, false
164295  }
164296  
164297  // AsWebTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164298  func (smcod SalesforceMarketingCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
164299  	return nil, false
164300  }
164301  
164302  // AsSapTableResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164303  func (smcod SalesforceMarketingCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
164304  	return nil, false
164305  }
164306  
164307  // AsRestResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164308  func (smcod SalesforceMarketingCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
164309  	return nil, false
164310  }
164311  
164312  // AsSQLServerTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164313  func (smcod SalesforceMarketingCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
164314  	return nil, false
164315  }
164316  
164317  // AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164318  func (smcod SalesforceMarketingCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
164319  	return nil, false
164320  }
164321  
164322  // AsSapHanaTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164323  func (smcod SalesforceMarketingCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
164324  	return nil, false
164325  }
164326  
164327  // AsSapEccResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164328  func (smcod SalesforceMarketingCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
164329  	return nil, false
164330  }
164331  
164332  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164333  func (smcod SalesforceMarketingCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
164334  	return nil, false
164335  }
164336  
164337  // AsSapBwCubeDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164338  func (smcod SalesforceMarketingCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
164339  	return nil, false
164340  }
164341  
164342  // AsSybaseTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164343  func (smcod SalesforceMarketingCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
164344  	return nil, false
164345  }
164346  
164347  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164348  func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
164349  	return nil, false
164350  }
164351  
164352  // AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164353  func (smcod SalesforceMarketingCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
164354  	return nil, false
164355  }
164356  
164357  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164358  func (smcod SalesforceMarketingCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
164359  	return nil, false
164360  }
164361  
164362  // AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164363  func (smcod SalesforceMarketingCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
164364  	return nil, false
164365  }
164366  
164367  // AsMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164368  func (smcod SalesforceMarketingCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
164369  	return nil, false
164370  }
164371  
164372  // AsOdbcTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164373  func (smcod SalesforceMarketingCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
164374  	return nil, false
164375  }
164376  
164377  // AsInformixTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164378  func (smcod SalesforceMarketingCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
164379  	return nil, false
164380  }
164381  
164382  // AsRelationalTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164383  func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
164384  	return nil, false
164385  }
164386  
164387  // AsDb2TableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164388  func (smcod SalesforceMarketingCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
164389  	return nil, false
164390  }
164391  
164392  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164393  func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
164394  	return nil, false
164395  }
164396  
164397  // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164398  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
164399  	return nil, false
164400  }
164401  
164402  // AsTeradataTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164403  func (smcod SalesforceMarketingCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
164404  	return nil, false
164405  }
164406  
164407  // AsOracleTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164408  func (smcod SalesforceMarketingCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
164409  	return nil, false
164410  }
164411  
164412  // AsODataResourceDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164413  func (smcod SalesforceMarketingCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
164414  	return nil, false
164415  }
164416  
164417  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164418  func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
164419  	return nil, false
164420  }
164421  
164422  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164423  func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
164424  	return nil, false
164425  }
164426  
164427  // AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164428  func (smcod SalesforceMarketingCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
164429  	return nil, false
164430  }
164431  
164432  // AsOffice365Dataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164433  func (smcod SalesforceMarketingCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
164434  	return nil, false
164435  }
164436  
164437  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164438  func (smcod SalesforceMarketingCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
164439  	return nil, false
164440  }
164441  
164442  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164443  func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
164444  	return nil, false
164445  }
164446  
164447  // AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164448  func (smcod SalesforceMarketingCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
164449  	return nil, false
164450  }
164451  
164452  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164453  func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
164454  	return nil, false
164455  }
164456  
164457  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164458  func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
164459  	return nil, false
164460  }
164461  
164462  // AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164463  func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
164464  	return nil, false
164465  }
164466  
164467  // AsCassandraTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164468  func (smcod SalesforceMarketingCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
164469  	return nil, false
164470  }
164471  
164472  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164473  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
164474  	return nil, false
164475  }
164476  
164477  // AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164478  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
164479  	return nil, false
164480  }
164481  
164482  // AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164483  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
164484  	return nil, false
164485  }
164486  
164487  // AsAzureTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164488  func (smcod SalesforceMarketingCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
164489  	return nil, false
164490  }
164491  
164492  // AsBinaryDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164493  func (smcod SalesforceMarketingCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
164494  	return nil, false
164495  }
164496  
164497  // AsOrcDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164498  func (smcod SalesforceMarketingCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
164499  	return nil, false
164500  }
164501  
164502  // AsJSONDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164503  func (smcod SalesforceMarketingCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
164504  	return nil, false
164505  }
164506  
164507  // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164508  func (smcod SalesforceMarketingCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
164509  	return nil, false
164510  }
164511  
164512  // AsParquetDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164513  func (smcod SalesforceMarketingCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
164514  	return nil, false
164515  }
164516  
164517  // AsAvroDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164518  func (smcod SalesforceMarketingCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
164519  	return nil, false
164520  }
164521  
164522  // AsDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164523  func (smcod SalesforceMarketingCloudObjectDataset) AsDataset() (*Dataset, bool) {
164524  	return nil, false
164525  }
164526  
164527  // AsBasicDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset.
164528  func (smcod SalesforceMarketingCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
164529  	return &smcod, true
164530  }
164531  
164532  // UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudObjectDataset struct.
164533  func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) error {
164534  	var m map[string]*json.RawMessage
164535  	err := json.Unmarshal(body, &m)
164536  	if err != nil {
164537  		return err
164538  	}
164539  	for k, v := range m {
164540  		switch k {
164541  		case "typeProperties":
164542  			if v != nil {
164543  				var genericDatasetTypeProperties GenericDatasetTypeProperties
164544  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
164545  				if err != nil {
164546  					return err
164547  				}
164548  				smcod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
164549  			}
164550  		default:
164551  			if v != nil {
164552  				var additionalProperties interface{}
164553  				err = json.Unmarshal(*v, &additionalProperties)
164554  				if err != nil {
164555  					return err
164556  				}
164557  				if smcod.AdditionalProperties == nil {
164558  					smcod.AdditionalProperties = make(map[string]interface{})
164559  				}
164560  				smcod.AdditionalProperties[k] = additionalProperties
164561  			}
164562  		case "description":
164563  			if v != nil {
164564  				var description string
164565  				err = json.Unmarshal(*v, &description)
164566  				if err != nil {
164567  					return err
164568  				}
164569  				smcod.Description = &description
164570  			}
164571  		case "structure":
164572  			if v != nil {
164573  				var structure interface{}
164574  				err = json.Unmarshal(*v, &structure)
164575  				if err != nil {
164576  					return err
164577  				}
164578  				smcod.Structure = structure
164579  			}
164580  		case "schema":
164581  			if v != nil {
164582  				var schema interface{}
164583  				err = json.Unmarshal(*v, &schema)
164584  				if err != nil {
164585  					return err
164586  				}
164587  				smcod.Schema = schema
164588  			}
164589  		case "linkedServiceName":
164590  			if v != nil {
164591  				var linkedServiceName LinkedServiceReference
164592  				err = json.Unmarshal(*v, &linkedServiceName)
164593  				if err != nil {
164594  					return err
164595  				}
164596  				smcod.LinkedServiceName = &linkedServiceName
164597  			}
164598  		case "parameters":
164599  			if v != nil {
164600  				var parameters map[string]*ParameterSpecification
164601  				err = json.Unmarshal(*v, &parameters)
164602  				if err != nil {
164603  					return err
164604  				}
164605  				smcod.Parameters = parameters
164606  			}
164607  		case "annotations":
164608  			if v != nil {
164609  				var annotations []interface{}
164610  				err = json.Unmarshal(*v, &annotations)
164611  				if err != nil {
164612  					return err
164613  				}
164614  				smcod.Annotations = &annotations
164615  			}
164616  		case "folder":
164617  			if v != nil {
164618  				var folder DatasetFolder
164619  				err = json.Unmarshal(*v, &folder)
164620  				if err != nil {
164621  					return err
164622  				}
164623  				smcod.Folder = &folder
164624  			}
164625  		case "type":
164626  			if v != nil {
164627  				var typeVar TypeBasicDataset
164628  				err = json.Unmarshal(*v, &typeVar)
164629  				if err != nil {
164630  					return err
164631  				}
164632  				smcod.Type = typeVar
164633  			}
164634  		}
164635  	}
164636  
164637  	return nil
164638  }
164639  
164640  // SalesforceMarketingCloudSource a copy activity Salesforce Marketing Cloud source.
164641  type SalesforceMarketingCloudSource struct {
164642  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
164643  	Query interface{} `json:"query,omitempty"`
164644  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
164645  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
164646  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
164647  	AdditionalProperties map[string]interface{} `json:""`
164648  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
164649  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
164650  	// 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])).
164651  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
164652  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
164653  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
164654  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
164655  	Type TypeBasicCopySource `json:"type,omitempty"`
164656  }
164657  
164658  // MarshalJSON is the custom marshaler for SalesforceMarketingCloudSource.
164659  func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) {
164660  	smcs.Type = TypeSalesforceMarketingCloudSource
164661  	objectMap := make(map[string]interface{})
164662  	if smcs.Query != nil {
164663  		objectMap["query"] = smcs.Query
164664  	}
164665  	if smcs.QueryTimeout != nil {
164666  		objectMap["queryTimeout"] = smcs.QueryTimeout
164667  	}
164668  	if smcs.SourceRetryCount != nil {
164669  		objectMap["sourceRetryCount"] = smcs.SourceRetryCount
164670  	}
164671  	if smcs.SourceRetryWait != nil {
164672  		objectMap["sourceRetryWait"] = smcs.SourceRetryWait
164673  	}
164674  	if smcs.MaxConcurrentConnections != nil {
164675  		objectMap["maxConcurrentConnections"] = smcs.MaxConcurrentConnections
164676  	}
164677  	if smcs.Type != "" {
164678  		objectMap["type"] = smcs.Type
164679  	}
164680  	for k, v := range smcs.AdditionalProperties {
164681  		objectMap[k] = v
164682  	}
164683  	return json.Marshal(objectMap)
164684  }
164685  
164686  // AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164687  func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) {
164688  	return nil, false
164689  }
164690  
164691  // AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164692  func (smcs SalesforceMarketingCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
164693  	return nil, false
164694  }
164695  
164696  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164697  func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
164698  	return nil, false
164699  }
164700  
164701  // AsOffice365Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164702  func (smcs SalesforceMarketingCloudSource) AsOffice365Source() (*Office365Source, bool) {
164703  	return nil, false
164704  }
164705  
164706  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164707  func (smcs SalesforceMarketingCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
164708  	return nil, false
164709  }
164710  
164711  // AsMongoDbV2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164712  func (smcs SalesforceMarketingCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
164713  	return nil, false
164714  }
164715  
164716  // AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164717  func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
164718  	return nil, false
164719  }
164720  
164721  // AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164722  func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) {
164723  	return nil, false
164724  }
164725  
164726  // AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164727  func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) {
164728  	return nil, false
164729  }
164730  
164731  // AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164732  func (smcs SalesforceMarketingCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
164733  	return nil, false
164734  }
164735  
164736  // AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164737  func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) {
164738  	return nil, false
164739  }
164740  
164741  // AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164742  func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
164743  	return nil, false
164744  }
164745  
164746  // AsRestSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164747  func (smcs SalesforceMarketingCloudSource) AsRestSource() (*RestSource, bool) {
164748  	return nil, false
164749  }
164750  
164751  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164752  func (smcs SalesforceMarketingCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
164753  	return nil, false
164754  }
164755  
164756  // AsODataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164757  func (smcs SalesforceMarketingCloudSource) AsODataSource() (*ODataSource, bool) {
164758  	return nil, false
164759  }
164760  
164761  // AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164762  func (smcs SalesforceMarketingCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
164763  	return nil, false
164764  }
164765  
164766  // AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164767  func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) {
164768  	return nil, false
164769  }
164770  
164771  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164772  func (smcs SalesforceMarketingCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
164773  	return nil, false
164774  }
164775  
164776  // AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164777  func (smcs SalesforceMarketingCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
164778  	return nil, false
164779  }
164780  
164781  // AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164782  func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
164783  	return nil, false
164784  }
164785  
164786  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164787  func (smcs SalesforceMarketingCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
164788  	return nil, false
164789  }
164790  
164791  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164792  func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
164793  	return nil, false
164794  }
164795  
164796  // AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164797  func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) {
164798  	return nil, false
164799  }
164800  
164801  // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164802  func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
164803  	return nil, false
164804  }
164805  
164806  // AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164807  func (smcs SalesforceMarketingCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
164808  	return nil, false
164809  }
164810  
164811  // AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164812  func (smcs SalesforceMarketingCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
164813  	return nil, false
164814  }
164815  
164816  // AsDynamicsAXSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164817  func (smcs SalesforceMarketingCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
164818  	return nil, false
164819  }
164820  
164821  // AsResponsysSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164822  func (smcs SalesforceMarketingCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
164823  	return nil, false
164824  }
164825  
164826  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164827  func (smcs SalesforceMarketingCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
164828  	return &smcs, true
164829  }
164830  
164831  // AsVerticaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164832  func (smcs SalesforceMarketingCloudSource) AsVerticaSource() (*VerticaSource, bool) {
164833  	return nil, false
164834  }
164835  
164836  // AsNetezzaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164837  func (smcs SalesforceMarketingCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
164838  	return nil, false
164839  }
164840  
164841  // AsZohoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164842  func (smcs SalesforceMarketingCloudSource) AsZohoSource() (*ZohoSource, bool) {
164843  	return nil, false
164844  }
164845  
164846  // AsXeroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164847  func (smcs SalesforceMarketingCloudSource) AsXeroSource() (*XeroSource, bool) {
164848  	return nil, false
164849  }
164850  
164851  // AsSquareSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164852  func (smcs SalesforceMarketingCloudSource) AsSquareSource() (*SquareSource, bool) {
164853  	return nil, false
164854  }
164855  
164856  // AsSparkSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164857  func (smcs SalesforceMarketingCloudSource) AsSparkSource() (*SparkSource, bool) {
164858  	return nil, false
164859  }
164860  
164861  // AsShopifySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164862  func (smcs SalesforceMarketingCloudSource) AsShopifySource() (*ShopifySource, bool) {
164863  	return nil, false
164864  }
164865  
164866  // AsServiceNowSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164867  func (smcs SalesforceMarketingCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
164868  	return nil, false
164869  }
164870  
164871  // AsQuickBooksSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164872  func (smcs SalesforceMarketingCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
164873  	return nil, false
164874  }
164875  
164876  // AsPrestoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164877  func (smcs SalesforceMarketingCloudSource) AsPrestoSource() (*PrestoSource, bool) {
164878  	return nil, false
164879  }
164880  
164881  // AsPhoenixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164882  func (smcs SalesforceMarketingCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
164883  	return nil, false
164884  }
164885  
164886  // AsPaypalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164887  func (smcs SalesforceMarketingCloudSource) AsPaypalSource() (*PaypalSource, bool) {
164888  	return nil, false
164889  }
164890  
164891  // AsMarketoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164892  func (smcs SalesforceMarketingCloudSource) AsMarketoSource() (*MarketoSource, bool) {
164893  	return nil, false
164894  }
164895  
164896  // AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164897  func (smcs SalesforceMarketingCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
164898  	return nil, false
164899  }
164900  
164901  // AsMariaDBSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164902  func (smcs SalesforceMarketingCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
164903  	return nil, false
164904  }
164905  
164906  // AsMagentoSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164907  func (smcs SalesforceMarketingCloudSource) AsMagentoSource() (*MagentoSource, bool) {
164908  	return nil, false
164909  }
164910  
164911  // AsJiraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164912  func (smcs SalesforceMarketingCloudSource) AsJiraSource() (*JiraSource, bool) {
164913  	return nil, false
164914  }
164915  
164916  // AsImpalaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164917  func (smcs SalesforceMarketingCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
164918  	return nil, false
164919  }
164920  
164921  // AsHubspotSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164922  func (smcs SalesforceMarketingCloudSource) AsHubspotSource() (*HubspotSource, bool) {
164923  	return nil, false
164924  }
164925  
164926  // AsHiveSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164927  func (smcs SalesforceMarketingCloudSource) AsHiveSource() (*HiveSource, bool) {
164928  	return nil, false
164929  }
164930  
164931  // AsHBaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164932  func (smcs SalesforceMarketingCloudSource) AsHBaseSource() (*HBaseSource, bool) {
164933  	return nil, false
164934  }
164935  
164936  // AsGreenplumSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164937  func (smcs SalesforceMarketingCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
164938  	return nil, false
164939  }
164940  
164941  // AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164942  func (smcs SalesforceMarketingCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
164943  	return nil, false
164944  }
164945  
164946  // AsEloquaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164947  func (smcs SalesforceMarketingCloudSource) AsEloquaSource() (*EloquaSource, bool) {
164948  	return nil, false
164949  }
164950  
164951  // AsDrillSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164952  func (smcs SalesforceMarketingCloudSource) AsDrillSource() (*DrillSource, bool) {
164953  	return nil, false
164954  }
164955  
164956  // AsCouchbaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164957  func (smcs SalesforceMarketingCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
164958  	return nil, false
164959  }
164960  
164961  // AsConcurSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164962  func (smcs SalesforceMarketingCloudSource) AsConcurSource() (*ConcurSource, bool) {
164963  	return nil, false
164964  }
164965  
164966  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164967  func (smcs SalesforceMarketingCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
164968  	return nil, false
164969  }
164970  
164971  // AsAmazonMWSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164972  func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
164973  	return nil, false
164974  }
164975  
164976  // AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164977  func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) {
164978  	return nil, false
164979  }
164980  
164981  // AsTeradataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164982  func (smcs SalesforceMarketingCloudSource) AsTeradataSource() (*TeradataSource, bool) {
164983  	return nil, false
164984  }
164985  
164986  // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164987  func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
164988  	return nil, false
164989  }
164990  
164991  // AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164992  func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
164993  	return nil, false
164994  }
164995  
164996  // AsSQLMISource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
164997  func (smcs SalesforceMarketingCloudSource) AsSQLMISource() (*SQLMISource, bool) {
164998  	return nil, false
164999  }
165000  
165001  // AsAzureSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165002  func (smcs SalesforceMarketingCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
165003  	return nil, false
165004  }
165005  
165006  // AsSQLServerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165007  func (smcs SalesforceMarketingCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
165008  	return nil, false
165009  }
165010  
165011  // AsSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165012  func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) {
165013  	return nil, false
165014  }
165015  
165016  // AsSapTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165017  func (smcs SalesforceMarketingCloudSource) AsSapTableSource() (*SapTableSource, bool) {
165018  	return nil, false
165019  }
165020  
165021  // AsSapOpenHubSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165022  func (smcs SalesforceMarketingCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
165023  	return nil, false
165024  }
165025  
165026  // AsSapHanaSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165027  func (smcs SalesforceMarketingCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
165028  	return nil, false
165029  }
165030  
165031  // AsSapEccSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165032  func (smcs SalesforceMarketingCloudSource) AsSapEccSource() (*SapEccSource, bool) {
165033  	return nil, false
165034  }
165035  
165036  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165037  func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
165038  	return nil, false
165039  }
165040  
165041  // AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165042  func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
165043  	return nil, false
165044  }
165045  
165046  // AsSapBwSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165047  func (smcs SalesforceMarketingCloudSource) AsSapBwSource() (*SapBwSource, bool) {
165048  	return nil, false
165049  }
165050  
165051  // AsSybaseSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165052  func (smcs SalesforceMarketingCloudSource) AsSybaseSource() (*SybaseSource, bool) {
165053  	return nil, false
165054  }
165055  
165056  // AsPostgreSQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165057  func (smcs SalesforceMarketingCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
165058  	return nil, false
165059  }
165060  
165061  // AsMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165062  func (smcs SalesforceMarketingCloudSource) AsMySQLSource() (*MySQLSource, bool) {
165063  	return nil, false
165064  }
165065  
165066  // AsOdbcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165067  func (smcs SalesforceMarketingCloudSource) AsOdbcSource() (*OdbcSource, bool) {
165068  	return nil, false
165069  }
165070  
165071  // AsDb2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165072  func (smcs SalesforceMarketingCloudSource) AsDb2Source() (*Db2Source, bool) {
165073  	return nil, false
165074  }
165075  
165076  // AsInformixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165077  func (smcs SalesforceMarketingCloudSource) AsInformixSource() (*InformixSource, bool) {
165078  	return nil, false
165079  }
165080  
165081  // AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165082  func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
165083  	return nil, false
165084  }
165085  
165086  // AsTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165087  func (smcs SalesforceMarketingCloudSource) AsTabularSource() (*TabularSource, bool) {
165088  	return nil, false
165089  }
165090  
165091  // AsBasicTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165092  func (smcs SalesforceMarketingCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) {
165093  	return &smcs, true
165094  }
165095  
165096  // AsBinarySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165097  func (smcs SalesforceMarketingCloudSource) AsBinarySource() (*BinarySource, bool) {
165098  	return nil, false
165099  }
165100  
165101  // AsOrcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165102  func (smcs SalesforceMarketingCloudSource) AsOrcSource() (*OrcSource, bool) {
165103  	return nil, false
165104  }
165105  
165106  // AsJSONSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165107  func (smcs SalesforceMarketingCloudSource) AsJSONSource() (*JSONSource, bool) {
165108  	return nil, false
165109  }
165110  
165111  // AsDelimitedTextSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165112  func (smcs SalesforceMarketingCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
165113  	return nil, false
165114  }
165115  
165116  // AsParquetSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165117  func (smcs SalesforceMarketingCloudSource) AsParquetSource() (*ParquetSource, bool) {
165118  	return nil, false
165119  }
165120  
165121  // AsAvroSource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165122  func (smcs SalesforceMarketingCloudSource) AsAvroSource() (*AvroSource, bool) {
165123  	return nil, false
165124  }
165125  
165126  // AsCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165127  func (smcs SalesforceMarketingCloudSource) AsCopySource() (*CopySource, bool) {
165128  	return nil, false
165129  }
165130  
165131  // AsBasicCopySource is the BasicCopySource implementation for SalesforceMarketingCloudSource.
165132  func (smcs SalesforceMarketingCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
165133  	return &smcs, true
165134  }
165135  
165136  // UnmarshalJSON is the custom unmarshaler for SalesforceMarketingCloudSource struct.
165137  func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error {
165138  	var m map[string]*json.RawMessage
165139  	err := json.Unmarshal(body, &m)
165140  	if err != nil {
165141  		return err
165142  	}
165143  	for k, v := range m {
165144  		switch k {
165145  		case "query":
165146  			if v != nil {
165147  				var query interface{}
165148  				err = json.Unmarshal(*v, &query)
165149  				if err != nil {
165150  					return err
165151  				}
165152  				smcs.Query = query
165153  			}
165154  		case "queryTimeout":
165155  			if v != nil {
165156  				var queryTimeout interface{}
165157  				err = json.Unmarshal(*v, &queryTimeout)
165158  				if err != nil {
165159  					return err
165160  				}
165161  				smcs.QueryTimeout = queryTimeout
165162  			}
165163  		default:
165164  			if v != nil {
165165  				var additionalProperties interface{}
165166  				err = json.Unmarshal(*v, &additionalProperties)
165167  				if err != nil {
165168  					return err
165169  				}
165170  				if smcs.AdditionalProperties == nil {
165171  					smcs.AdditionalProperties = make(map[string]interface{})
165172  				}
165173  				smcs.AdditionalProperties[k] = additionalProperties
165174  			}
165175  		case "sourceRetryCount":
165176  			if v != nil {
165177  				var sourceRetryCount interface{}
165178  				err = json.Unmarshal(*v, &sourceRetryCount)
165179  				if err != nil {
165180  					return err
165181  				}
165182  				smcs.SourceRetryCount = sourceRetryCount
165183  			}
165184  		case "sourceRetryWait":
165185  			if v != nil {
165186  				var sourceRetryWait interface{}
165187  				err = json.Unmarshal(*v, &sourceRetryWait)
165188  				if err != nil {
165189  					return err
165190  				}
165191  				smcs.SourceRetryWait = sourceRetryWait
165192  			}
165193  		case "maxConcurrentConnections":
165194  			if v != nil {
165195  				var maxConcurrentConnections interface{}
165196  				err = json.Unmarshal(*v, &maxConcurrentConnections)
165197  				if err != nil {
165198  					return err
165199  				}
165200  				smcs.MaxConcurrentConnections = maxConcurrentConnections
165201  			}
165202  		case "type":
165203  			if v != nil {
165204  				var typeVar TypeBasicCopySource
165205  				err = json.Unmarshal(*v, &typeVar)
165206  				if err != nil {
165207  					return err
165208  				}
165209  				smcs.Type = typeVar
165210  			}
165211  		}
165212  	}
165213  
165214  	return nil
165215  }
165216  
165217  // SalesforceObjectDataset the Salesforce object dataset.
165218  type SalesforceObjectDataset struct {
165219  	// SalesforceObjectDatasetTypeProperties - Salesforce object dataset properties.
165220  	*SalesforceObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
165221  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
165222  	AdditionalProperties map[string]interface{} `json:""`
165223  	// Description - Dataset description.
165224  	Description *string `json:"description,omitempty"`
165225  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
165226  	Structure interface{} `json:"structure,omitempty"`
165227  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
165228  	Schema interface{} `json:"schema,omitempty"`
165229  	// LinkedServiceName - Linked service reference.
165230  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
165231  	// Parameters - Parameters for dataset.
165232  	Parameters map[string]*ParameterSpecification `json:"parameters"`
165233  	// Annotations - List of tags that can be used for describing the Dataset.
165234  	Annotations *[]interface{} `json:"annotations,omitempty"`
165235  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
165236  	Folder *DatasetFolder `json:"folder,omitempty"`
165237  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
165238  	Type TypeBasicDataset `json:"type,omitempty"`
165239  }
165240  
165241  // MarshalJSON is the custom marshaler for SalesforceObjectDataset.
165242  func (sod SalesforceObjectDataset) MarshalJSON() ([]byte, error) {
165243  	sod.Type = TypeSalesforceObject
165244  	objectMap := make(map[string]interface{})
165245  	if sod.SalesforceObjectDatasetTypeProperties != nil {
165246  		objectMap["typeProperties"] = sod.SalesforceObjectDatasetTypeProperties
165247  	}
165248  	if sod.Description != nil {
165249  		objectMap["description"] = sod.Description
165250  	}
165251  	if sod.Structure != nil {
165252  		objectMap["structure"] = sod.Structure
165253  	}
165254  	if sod.Schema != nil {
165255  		objectMap["schema"] = sod.Schema
165256  	}
165257  	if sod.LinkedServiceName != nil {
165258  		objectMap["linkedServiceName"] = sod.LinkedServiceName
165259  	}
165260  	if sod.Parameters != nil {
165261  		objectMap["parameters"] = sod.Parameters
165262  	}
165263  	if sod.Annotations != nil {
165264  		objectMap["annotations"] = sod.Annotations
165265  	}
165266  	if sod.Folder != nil {
165267  		objectMap["folder"] = sod.Folder
165268  	}
165269  	if sod.Type != "" {
165270  		objectMap["type"] = sod.Type
165271  	}
165272  	for k, v := range sod.AdditionalProperties {
165273  		objectMap[k] = v
165274  	}
165275  	return json.Marshal(objectMap)
165276  }
165277  
165278  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165279  func (sod SalesforceObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
165280  	return nil, false
165281  }
165282  
165283  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165284  func (sod SalesforceObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
165285  	return nil, false
165286  }
165287  
165288  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165289  func (sod SalesforceObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
165290  	return nil, false
165291  }
165292  
165293  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165294  func (sod SalesforceObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
165295  	return nil, false
165296  }
165297  
165298  // AsResponsysObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165299  func (sod SalesforceObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
165300  	return nil, false
165301  }
165302  
165303  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165304  func (sod SalesforceObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
165305  	return nil, false
165306  }
165307  
165308  // AsVerticaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165309  func (sod SalesforceObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
165310  	return nil, false
165311  }
165312  
165313  // AsNetezzaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165314  func (sod SalesforceObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
165315  	return nil, false
165316  }
165317  
165318  // AsZohoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165319  func (sod SalesforceObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
165320  	return nil, false
165321  }
165322  
165323  // AsXeroObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165324  func (sod SalesforceObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
165325  	return nil, false
165326  }
165327  
165328  // AsSquareObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165329  func (sod SalesforceObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
165330  	return nil, false
165331  }
165332  
165333  // AsSparkObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165334  func (sod SalesforceObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
165335  	return nil, false
165336  }
165337  
165338  // AsShopifyObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165339  func (sod SalesforceObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
165340  	return nil, false
165341  }
165342  
165343  // AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165344  func (sod SalesforceObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
165345  	return nil, false
165346  }
165347  
165348  // AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165349  func (sod SalesforceObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
165350  	return nil, false
165351  }
165352  
165353  // AsPrestoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165354  func (sod SalesforceObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
165355  	return nil, false
165356  }
165357  
165358  // AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165359  func (sod SalesforceObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
165360  	return nil, false
165361  }
165362  
165363  // AsPaypalObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165364  func (sod SalesforceObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
165365  	return nil, false
165366  }
165367  
165368  // AsMarketoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165369  func (sod SalesforceObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
165370  	return nil, false
165371  }
165372  
165373  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165374  func (sod SalesforceObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
165375  	return nil, false
165376  }
165377  
165378  // AsMariaDBTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165379  func (sod SalesforceObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
165380  	return nil, false
165381  }
165382  
165383  // AsMagentoObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165384  func (sod SalesforceObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
165385  	return nil, false
165386  }
165387  
165388  // AsJiraObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165389  func (sod SalesforceObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
165390  	return nil, false
165391  }
165392  
165393  // AsImpalaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165394  func (sod SalesforceObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
165395  	return nil, false
165396  }
165397  
165398  // AsHubspotObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165399  func (sod SalesforceObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
165400  	return nil, false
165401  }
165402  
165403  // AsHiveObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165404  func (sod SalesforceObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
165405  	return nil, false
165406  }
165407  
165408  // AsHBaseObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165409  func (sod SalesforceObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
165410  	return nil, false
165411  }
165412  
165413  // AsGreenplumTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165414  func (sod SalesforceObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
165415  	return nil, false
165416  }
165417  
165418  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165419  func (sod SalesforceObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
165420  	return nil, false
165421  }
165422  
165423  // AsEloquaObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165424  func (sod SalesforceObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
165425  	return nil, false
165426  }
165427  
165428  // AsDrillTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165429  func (sod SalesforceObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
165430  	return nil, false
165431  }
165432  
165433  // AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165434  func (sod SalesforceObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
165435  	return nil, false
165436  }
165437  
165438  // AsConcurObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165439  func (sod SalesforceObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
165440  	return nil, false
165441  }
165442  
165443  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165444  func (sod SalesforceObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
165445  	return nil, false
165446  }
165447  
165448  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165449  func (sod SalesforceObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
165450  	return nil, false
165451  }
165452  
165453  // AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceObjectDataset.
165454  func (sod SalesforceObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
165455  	return nil, false
165456  }
165457  
165458  // AsWebTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165459  func (sod SalesforceObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
165460  	return nil, false
165461  }
165462  
165463  // AsSapTableResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165464  func (sod SalesforceObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
165465  	return nil, false
165466  }
165467  
165468  // AsRestResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165469  func (sod SalesforceObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
165470  	return nil, false
165471  }
165472  
165473  // AsSQLServerTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165474  func (sod SalesforceObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
165475  	return nil, false
165476  }
165477  
165478  // AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165479  func (sod SalesforceObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
165480  	return nil, false
165481  }
165482  
165483  // AsSapHanaTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165484  func (sod SalesforceObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
165485  	return nil, false
165486  }
165487  
165488  // AsSapEccResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165489  func (sod SalesforceObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
165490  	return nil, false
165491  }
165492  
165493  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165494  func (sod SalesforceObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
165495  	return nil, false
165496  }
165497  
165498  // AsSapBwCubeDataset is the BasicDataset implementation for SalesforceObjectDataset.
165499  func (sod SalesforceObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
165500  	return nil, false
165501  }
165502  
165503  // AsSybaseTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165504  func (sod SalesforceObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
165505  	return nil, false
165506  }
165507  
165508  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165509  func (sod SalesforceObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
165510  	return nil, false
165511  }
165512  
165513  // AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceObjectDataset.
165514  func (sod SalesforceObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
165515  	return &sod, true
165516  }
165517  
165518  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165519  func (sod SalesforceObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
165520  	return nil, false
165521  }
165522  
165523  // AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165524  func (sod SalesforceObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
165525  	return nil, false
165526  }
165527  
165528  // AsMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165529  func (sod SalesforceObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
165530  	return nil, false
165531  }
165532  
165533  // AsOdbcTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165534  func (sod SalesforceObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
165535  	return nil, false
165536  }
165537  
165538  // AsInformixTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165539  func (sod SalesforceObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
165540  	return nil, false
165541  }
165542  
165543  // AsRelationalTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165544  func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
165545  	return nil, false
165546  }
165547  
165548  // AsDb2TableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165549  func (sod SalesforceObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
165550  	return nil, false
165551  }
165552  
165553  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165554  func (sod SalesforceObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
165555  	return nil, false
165556  }
165557  
165558  // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165559  func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
165560  	return nil, false
165561  }
165562  
165563  // AsTeradataTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165564  func (sod SalesforceObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
165565  	return nil, false
165566  }
165567  
165568  // AsOracleTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165569  func (sod SalesforceObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
165570  	return nil, false
165571  }
165572  
165573  // AsODataResourceDataset is the BasicDataset implementation for SalesforceObjectDataset.
165574  func (sod SalesforceObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
165575  	return nil, false
165576  }
165577  
165578  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
165579  func (sod SalesforceObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
165580  	return nil, false
165581  }
165582  
165583  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
165584  func (sod SalesforceObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
165585  	return nil, false
165586  }
165587  
165588  // AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
165589  func (sod SalesforceObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
165590  	return nil, false
165591  }
165592  
165593  // AsOffice365Dataset is the BasicDataset implementation for SalesforceObjectDataset.
165594  func (sod SalesforceObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
165595  	return nil, false
165596  }
165597  
165598  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
165599  func (sod SalesforceObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
165600  	return nil, false
165601  }
165602  
165603  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
165604  func (sod SalesforceObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
165605  	return nil, false
165606  }
165607  
165608  // AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceObjectDataset.
165609  func (sod SalesforceObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
165610  	return nil, false
165611  }
165612  
165613  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
165614  func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
165615  	return nil, false
165616  }
165617  
165618  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset.
165619  func (sod SalesforceObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
165620  	return nil, false
165621  }
165622  
165623  // AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset.
165624  func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
165625  	return nil, false
165626  }
165627  
165628  // AsCassandraTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165629  func (sod SalesforceObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
165630  	return nil, false
165631  }
165632  
165633  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165634  func (sod SalesforceObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
165635  	return nil, false
165636  }
165637  
165638  // AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165639  func (sod SalesforceObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
165640  	return nil, false
165641  }
165642  
165643  // AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165644  func (sod SalesforceObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
165645  	return nil, false
165646  }
165647  
165648  // AsAzureTableDataset is the BasicDataset implementation for SalesforceObjectDataset.
165649  func (sod SalesforceObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
165650  	return nil, false
165651  }
165652  
165653  // AsBinaryDataset is the BasicDataset implementation for SalesforceObjectDataset.
165654  func (sod SalesforceObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
165655  	return nil, false
165656  }
165657  
165658  // AsOrcDataset is the BasicDataset implementation for SalesforceObjectDataset.
165659  func (sod SalesforceObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
165660  	return nil, false
165661  }
165662  
165663  // AsJSONDataset is the BasicDataset implementation for SalesforceObjectDataset.
165664  func (sod SalesforceObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
165665  	return nil, false
165666  }
165667  
165668  // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceObjectDataset.
165669  func (sod SalesforceObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
165670  	return nil, false
165671  }
165672  
165673  // AsParquetDataset is the BasicDataset implementation for SalesforceObjectDataset.
165674  func (sod SalesforceObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
165675  	return nil, false
165676  }
165677  
165678  // AsAvroDataset is the BasicDataset implementation for SalesforceObjectDataset.
165679  func (sod SalesforceObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
165680  	return nil, false
165681  }
165682  
165683  // AsDataset is the BasicDataset implementation for SalesforceObjectDataset.
165684  func (sod SalesforceObjectDataset) AsDataset() (*Dataset, bool) {
165685  	return nil, false
165686  }
165687  
165688  // AsBasicDataset is the BasicDataset implementation for SalesforceObjectDataset.
165689  func (sod SalesforceObjectDataset) AsBasicDataset() (BasicDataset, bool) {
165690  	return &sod, true
165691  }
165692  
165693  // UnmarshalJSON is the custom unmarshaler for SalesforceObjectDataset struct.
165694  func (sod *SalesforceObjectDataset) UnmarshalJSON(body []byte) error {
165695  	var m map[string]*json.RawMessage
165696  	err := json.Unmarshal(body, &m)
165697  	if err != nil {
165698  		return err
165699  	}
165700  	for k, v := range m {
165701  		switch k {
165702  		case "typeProperties":
165703  			if v != nil {
165704  				var salesforceObjectDatasetTypeProperties SalesforceObjectDatasetTypeProperties
165705  				err = json.Unmarshal(*v, &salesforceObjectDatasetTypeProperties)
165706  				if err != nil {
165707  					return err
165708  				}
165709  				sod.SalesforceObjectDatasetTypeProperties = &salesforceObjectDatasetTypeProperties
165710  			}
165711  		default:
165712  			if v != nil {
165713  				var additionalProperties interface{}
165714  				err = json.Unmarshal(*v, &additionalProperties)
165715  				if err != nil {
165716  					return err
165717  				}
165718  				if sod.AdditionalProperties == nil {
165719  					sod.AdditionalProperties = make(map[string]interface{})
165720  				}
165721  				sod.AdditionalProperties[k] = additionalProperties
165722  			}
165723  		case "description":
165724  			if v != nil {
165725  				var description string
165726  				err = json.Unmarshal(*v, &description)
165727  				if err != nil {
165728  					return err
165729  				}
165730  				sod.Description = &description
165731  			}
165732  		case "structure":
165733  			if v != nil {
165734  				var structure interface{}
165735  				err = json.Unmarshal(*v, &structure)
165736  				if err != nil {
165737  					return err
165738  				}
165739  				sod.Structure = structure
165740  			}
165741  		case "schema":
165742  			if v != nil {
165743  				var schema interface{}
165744  				err = json.Unmarshal(*v, &schema)
165745  				if err != nil {
165746  					return err
165747  				}
165748  				sod.Schema = schema
165749  			}
165750  		case "linkedServiceName":
165751  			if v != nil {
165752  				var linkedServiceName LinkedServiceReference
165753  				err = json.Unmarshal(*v, &linkedServiceName)
165754  				if err != nil {
165755  					return err
165756  				}
165757  				sod.LinkedServiceName = &linkedServiceName
165758  			}
165759  		case "parameters":
165760  			if v != nil {
165761  				var parameters map[string]*ParameterSpecification
165762  				err = json.Unmarshal(*v, &parameters)
165763  				if err != nil {
165764  					return err
165765  				}
165766  				sod.Parameters = parameters
165767  			}
165768  		case "annotations":
165769  			if v != nil {
165770  				var annotations []interface{}
165771  				err = json.Unmarshal(*v, &annotations)
165772  				if err != nil {
165773  					return err
165774  				}
165775  				sod.Annotations = &annotations
165776  			}
165777  		case "folder":
165778  			if v != nil {
165779  				var folder DatasetFolder
165780  				err = json.Unmarshal(*v, &folder)
165781  				if err != nil {
165782  					return err
165783  				}
165784  				sod.Folder = &folder
165785  			}
165786  		case "type":
165787  			if v != nil {
165788  				var typeVar TypeBasicDataset
165789  				err = json.Unmarshal(*v, &typeVar)
165790  				if err != nil {
165791  					return err
165792  				}
165793  				sod.Type = typeVar
165794  			}
165795  		}
165796  	}
165797  
165798  	return nil
165799  }
165800  
165801  // SalesforceObjectDatasetTypeProperties salesforce object dataset properties.
165802  type SalesforceObjectDatasetTypeProperties struct {
165803  	// ObjectAPIName - The Salesforce object API name. Type: string (or Expression with resultType string).
165804  	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
165805  }
165806  
165807  // SalesforceServiceCloudLinkedService linked service for Salesforce Service Cloud.
165808  type SalesforceServiceCloudLinkedService struct {
165809  	// SalesforceServiceCloudLinkedServiceTypeProperties - Salesforce Service Cloud linked service properties.
165810  	*SalesforceServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
165811  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
165812  	AdditionalProperties map[string]interface{} `json:""`
165813  	// ConnectVia - The integration runtime reference.
165814  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
165815  	// Description - Linked service description.
165816  	Description *string `json:"description,omitempty"`
165817  	// Parameters - Parameters for linked service.
165818  	Parameters map[string]*ParameterSpecification `json:"parameters"`
165819  	// Annotations - List of tags that can be used for describing the linked service.
165820  	Annotations *[]interface{} `json:"annotations,omitempty"`
165821  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
165822  	Type TypeBasicLinkedService `json:"type,omitempty"`
165823  }
165824  
165825  // MarshalJSON is the custom marshaler for SalesforceServiceCloudLinkedService.
165826  func (sscls SalesforceServiceCloudLinkedService) MarshalJSON() ([]byte, error) {
165827  	sscls.Type = TypeSalesforceServiceCloud
165828  	objectMap := make(map[string]interface{})
165829  	if sscls.SalesforceServiceCloudLinkedServiceTypeProperties != nil {
165830  		objectMap["typeProperties"] = sscls.SalesforceServiceCloudLinkedServiceTypeProperties
165831  	}
165832  	if sscls.ConnectVia != nil {
165833  		objectMap["connectVia"] = sscls.ConnectVia
165834  	}
165835  	if sscls.Description != nil {
165836  		objectMap["description"] = sscls.Description
165837  	}
165838  	if sscls.Parameters != nil {
165839  		objectMap["parameters"] = sscls.Parameters
165840  	}
165841  	if sscls.Annotations != nil {
165842  		objectMap["annotations"] = sscls.Annotations
165843  	}
165844  	if sscls.Type != "" {
165845  		objectMap["type"] = sscls.Type
165846  	}
165847  	for k, v := range sscls.AdditionalProperties {
165848  		objectMap[k] = v
165849  	}
165850  	return json.Marshal(objectMap)
165851  }
165852  
165853  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165854  func (sscls SalesforceServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
165855  	return nil, false
165856  }
165857  
165858  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165859  func (sscls SalesforceServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
165860  	return nil, false
165861  }
165862  
165863  // AsSapTableLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165864  func (sscls SalesforceServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
165865  	return nil, false
165866  }
165867  
165868  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165869  func (sscls SalesforceServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
165870  	return nil, false
165871  }
165872  
165873  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165874  func (sscls SalesforceServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
165875  	return nil, false
165876  }
165877  
165878  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165879  func (sscls SalesforceServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
165880  	return nil, false
165881  }
165882  
165883  // AsResponsysLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165884  func (sscls SalesforceServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
165885  	return nil, false
165886  }
165887  
165888  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165889  func (sscls SalesforceServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
165890  	return nil, false
165891  }
165892  
165893  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165894  func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
165895  	return nil, false
165896  }
165897  
165898  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165899  func (sscls SalesforceServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
165900  	return nil, false
165901  }
165902  
165903  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165904  func (sscls SalesforceServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
165905  	return nil, false
165906  }
165907  
165908  // AsNetezzaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165909  func (sscls SalesforceServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
165910  	return nil, false
165911  }
165912  
165913  // AsVerticaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165914  func (sscls SalesforceServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
165915  	return nil, false
165916  }
165917  
165918  // AsZohoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165919  func (sscls SalesforceServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
165920  	return nil, false
165921  }
165922  
165923  // AsXeroLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165924  func (sscls SalesforceServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
165925  	return nil, false
165926  }
165927  
165928  // AsSquareLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165929  func (sscls SalesforceServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
165930  	return nil, false
165931  }
165932  
165933  // AsSparkLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165934  func (sscls SalesforceServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
165935  	return nil, false
165936  }
165937  
165938  // AsShopifyLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165939  func (sscls SalesforceServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
165940  	return nil, false
165941  }
165942  
165943  // AsServiceNowLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165944  func (sscls SalesforceServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
165945  	return nil, false
165946  }
165947  
165948  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165949  func (sscls SalesforceServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
165950  	return nil, false
165951  }
165952  
165953  // AsPrestoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165954  func (sscls SalesforceServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
165955  	return nil, false
165956  }
165957  
165958  // AsPhoenixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165959  func (sscls SalesforceServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
165960  	return nil, false
165961  }
165962  
165963  // AsPaypalLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165964  func (sscls SalesforceServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
165965  	return nil, false
165966  }
165967  
165968  // AsMarketoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165969  func (sscls SalesforceServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
165970  	return nil, false
165971  }
165972  
165973  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165974  func (sscls SalesforceServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
165975  	return nil, false
165976  }
165977  
165978  // AsMariaDBLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165979  func (sscls SalesforceServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
165980  	return nil, false
165981  }
165982  
165983  // AsMagentoLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165984  func (sscls SalesforceServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
165985  	return nil, false
165986  }
165987  
165988  // AsJiraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165989  func (sscls SalesforceServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
165990  	return nil, false
165991  }
165992  
165993  // AsImpalaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165994  func (sscls SalesforceServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
165995  	return nil, false
165996  }
165997  
165998  // AsHubspotLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
165999  func (sscls SalesforceServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
166000  	return nil, false
166001  }
166002  
166003  // AsHiveLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166004  func (sscls SalesforceServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
166005  	return nil, false
166006  }
166007  
166008  // AsHBaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166009  func (sscls SalesforceServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
166010  	return nil, false
166011  }
166012  
166013  // AsGreenplumLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166014  func (sscls SalesforceServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
166015  	return nil, false
166016  }
166017  
166018  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166019  func (sscls SalesforceServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
166020  	return nil, false
166021  }
166022  
166023  // AsEloquaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166024  func (sscls SalesforceServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
166025  	return nil, false
166026  }
166027  
166028  // AsDrillLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166029  func (sscls SalesforceServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
166030  	return nil, false
166031  }
166032  
166033  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166034  func (sscls SalesforceServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
166035  	return nil, false
166036  }
166037  
166038  // AsConcurLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166039  func (sscls SalesforceServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
166040  	return nil, false
166041  }
166042  
166043  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166044  func (sscls SalesforceServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
166045  	return nil, false
166046  }
166047  
166048  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166049  func (sscls SalesforceServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
166050  	return nil, false
166051  }
166052  
166053  // AsSapHanaLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166054  func (sscls SalesforceServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
166055  	return nil, false
166056  }
166057  
166058  // AsSapBWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166059  func (sscls SalesforceServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
166060  	return nil, false
166061  }
166062  
166063  // AsSftpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166064  func (sscls SalesforceServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
166065  	return nil, false
166066  }
166067  
166068  // AsFtpServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166069  func (sscls SalesforceServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
166070  	return nil, false
166071  }
166072  
166073  // AsHTTPLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166074  func (sscls SalesforceServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
166075  	return nil, false
166076  }
166077  
166078  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166079  func (sscls SalesforceServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
166080  	return nil, false
166081  }
166082  
166083  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166084  func (sscls SalesforceServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
166085  	return nil, false
166086  }
166087  
166088  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166089  func (sscls SalesforceServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
166090  	return nil, false
166091  }
166092  
166093  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166094  func (sscls SalesforceServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
166095  	return nil, false
166096  }
166097  
166098  // AsRestServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166099  func (sscls SalesforceServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
166100  	return nil, false
166101  }
166102  
166103  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166104  func (sscls SalesforceServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
166105  	return nil, false
166106  }
166107  
166108  // AsSapEccLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166109  func (sscls SalesforceServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
166110  	return nil, false
166111  }
166112  
166113  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166114  func (sscls SalesforceServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
166115  	return nil, false
166116  }
166117  
166118  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166119  func (sscls SalesforceServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
166120  	return &sscls, true
166121  }
166122  
166123  // AsSalesforceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166124  func (sscls SalesforceServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
166125  	return nil, false
166126  }
166127  
166128  // AsOffice365LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166129  func (sscls SalesforceServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
166130  	return nil, false
166131  }
166132  
166133  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166134  func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
166135  	return nil, false
166136  }
166137  
166138  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166139  func (sscls SalesforceServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
166140  	return nil, false
166141  }
166142  
166143  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166144  func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
166145  	return nil, false
166146  }
166147  
166148  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166149  func (sscls SalesforceServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
166150  	return nil, false
166151  }
166152  
166153  // AsMongoDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166154  func (sscls SalesforceServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
166155  	return nil, false
166156  }
166157  
166158  // AsCassandraLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166159  func (sscls SalesforceServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
166160  	return nil, false
166161  }
166162  
166163  // AsWebLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166164  func (sscls SalesforceServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
166165  	return nil, false
166166  }
166167  
166168  // AsODataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166169  func (sscls SalesforceServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
166170  	return nil, false
166171  }
166172  
166173  // AsHdfsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166174  func (sscls SalesforceServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
166175  	return nil, false
166176  }
166177  
166178  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166179  func (sscls SalesforceServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
166180  	return nil, false
166181  }
166182  
166183  // AsInformixLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166184  func (sscls SalesforceServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
166185  	return nil, false
166186  }
166187  
166188  // AsOdbcLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166189  func (sscls SalesforceServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
166190  	return nil, false
166191  }
166192  
166193  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166194  func (sscls SalesforceServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
166195  	return nil, false
166196  }
166197  
166198  // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166199  func (sscls SalesforceServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
166200  	return nil, false
166201  }
166202  
166203  // AsTeradataLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166204  func (sscls SalesforceServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
166205  	return nil, false
166206  }
166207  
166208  // AsDb2LinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166209  func (sscls SalesforceServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
166210  	return nil, false
166211  }
166212  
166213  // AsSybaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166214  func (sscls SalesforceServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
166215  	return nil, false
166216  }
166217  
166218  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166219  func (sscls SalesforceServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
166220  	return nil, false
166221  }
166222  
166223  // AsMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166224  func (sscls SalesforceServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
166225  	return nil, false
166226  }
166227  
166228  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166229  func (sscls SalesforceServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
166230  	return nil, false
166231  }
166232  
166233  // AsOracleLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166234  func (sscls SalesforceServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
166235  	return nil, false
166236  }
166237  
166238  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166239  func (sscls SalesforceServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
166240  	return nil, false
166241  }
166242  
166243  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166244  func (sscls SalesforceServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
166245  	return nil, false
166246  }
166247  
166248  // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166249  func (sscls SalesforceServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
166250  	return nil, false
166251  }
166252  
166253  // AsHDInsightLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166254  func (sscls SalesforceServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
166255  	return nil, false
166256  }
166257  
166258  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166259  func (sscls SalesforceServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
166260  	return nil, false
166261  }
166262  
166263  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166264  func (sscls SalesforceServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
166265  	return nil, false
166266  }
166267  
166268  // AsDynamicsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166269  func (sscls SalesforceServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
166270  	return nil, false
166271  }
166272  
166273  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166274  func (sscls SalesforceServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
166275  	return nil, false
166276  }
166277  
166278  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166279  func (sscls SalesforceServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
166280  	return nil, false
166281  }
166282  
166283  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166284  func (sscls SalesforceServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
166285  	return nil, false
166286  }
166287  
166288  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166289  func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
166290  	return nil, false
166291  }
166292  
166293  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166294  func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
166295  	return nil, false
166296  }
166297  
166298  // AsSQLServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166299  func (sscls SalesforceServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
166300  	return nil, false
166301  }
166302  
166303  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166304  func (sscls SalesforceServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
166305  	return nil, false
166306  }
166307  
166308  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166309  func (sscls SalesforceServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
166310  	return nil, false
166311  }
166312  
166313  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166314  func (sscls SalesforceServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
166315  	return nil, false
166316  }
166317  
166318  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166319  func (sscls SalesforceServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
166320  	return nil, false
166321  }
166322  
166323  // AsLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166324  func (sscls SalesforceServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) {
166325  	return nil, false
166326  }
166327  
166328  // AsBasicLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService.
166329  func (sscls SalesforceServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
166330  	return &sscls, true
166331  }
166332  
166333  // UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedService struct.
166334  func (sscls *SalesforceServiceCloudLinkedService) UnmarshalJSON(body []byte) error {
166335  	var m map[string]*json.RawMessage
166336  	err := json.Unmarshal(body, &m)
166337  	if err != nil {
166338  		return err
166339  	}
166340  	for k, v := range m {
166341  		switch k {
166342  		case "typeProperties":
166343  			if v != nil {
166344  				var salesforceServiceCloudLinkedServiceTypeProperties SalesforceServiceCloudLinkedServiceTypeProperties
166345  				err = json.Unmarshal(*v, &salesforceServiceCloudLinkedServiceTypeProperties)
166346  				if err != nil {
166347  					return err
166348  				}
166349  				sscls.SalesforceServiceCloudLinkedServiceTypeProperties = &salesforceServiceCloudLinkedServiceTypeProperties
166350  			}
166351  		default:
166352  			if v != nil {
166353  				var additionalProperties interface{}
166354  				err = json.Unmarshal(*v, &additionalProperties)
166355  				if err != nil {
166356  					return err
166357  				}
166358  				if sscls.AdditionalProperties == nil {
166359  					sscls.AdditionalProperties = make(map[string]interface{})
166360  				}
166361  				sscls.AdditionalProperties[k] = additionalProperties
166362  			}
166363  		case "connectVia":
166364  			if v != nil {
166365  				var connectVia IntegrationRuntimeReference
166366  				err = json.Unmarshal(*v, &connectVia)
166367  				if err != nil {
166368  					return err
166369  				}
166370  				sscls.ConnectVia = &connectVia
166371  			}
166372  		case "description":
166373  			if v != nil {
166374  				var description string
166375  				err = json.Unmarshal(*v, &description)
166376  				if err != nil {
166377  					return err
166378  				}
166379  				sscls.Description = &description
166380  			}
166381  		case "parameters":
166382  			if v != nil {
166383  				var parameters map[string]*ParameterSpecification
166384  				err = json.Unmarshal(*v, &parameters)
166385  				if err != nil {
166386  					return err
166387  				}
166388  				sscls.Parameters = parameters
166389  			}
166390  		case "annotations":
166391  			if v != nil {
166392  				var annotations []interface{}
166393  				err = json.Unmarshal(*v, &annotations)
166394  				if err != nil {
166395  					return err
166396  				}
166397  				sscls.Annotations = &annotations
166398  			}
166399  		case "type":
166400  			if v != nil {
166401  				var typeVar TypeBasicLinkedService
166402  				err = json.Unmarshal(*v, &typeVar)
166403  				if err != nil {
166404  					return err
166405  				}
166406  				sscls.Type = typeVar
166407  			}
166408  		}
166409  	}
166410  
166411  	return nil
166412  }
166413  
166414  // SalesforceServiceCloudLinkedServiceTypeProperties salesforce Service Cloud linked service properties.
166415  type SalesforceServiceCloudLinkedServiceTypeProperties struct {
166416  	// 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).
166417  	EnvironmentURL interface{} `json:"environmentUrl,omitempty"`
166418  	// Username - The username for Basic authentication of the Salesforce instance. Type: string (or Expression with resultType string).
166419  	Username interface{} `json:"username,omitempty"`
166420  	// Password - The password for Basic authentication of the Salesforce instance.
166421  	Password BasicSecretBase `json:"password,omitempty"`
166422  	// SecurityToken - The security token is required to remotely access Salesforce instance.
166423  	SecurityToken BasicSecretBase `json:"securityToken,omitempty"`
166424  	// ExtendedProperties - Extended properties appended to the connection string. Type: string (or Expression with resultType string).
166425  	ExtendedProperties interface{} `json:"extendedProperties,omitempty"`
166426  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
166427  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
166428  }
166429  
166430  // UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudLinkedServiceTypeProperties struct.
166431  func (ssclstp *SalesforceServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
166432  	var m map[string]*json.RawMessage
166433  	err := json.Unmarshal(body, &m)
166434  	if err != nil {
166435  		return err
166436  	}
166437  	for k, v := range m {
166438  		switch k {
166439  		case "environmentUrl":
166440  			if v != nil {
166441  				var environmentURL interface{}
166442  				err = json.Unmarshal(*v, &environmentURL)
166443  				if err != nil {
166444  					return err
166445  				}
166446  				ssclstp.EnvironmentURL = environmentURL
166447  			}
166448  		case "username":
166449  			if v != nil {
166450  				var username interface{}
166451  				err = json.Unmarshal(*v, &username)
166452  				if err != nil {
166453  					return err
166454  				}
166455  				ssclstp.Username = username
166456  			}
166457  		case "password":
166458  			if v != nil {
166459  				password, err := unmarshalBasicSecretBase(*v)
166460  				if err != nil {
166461  					return err
166462  				}
166463  				ssclstp.Password = password
166464  			}
166465  		case "securityToken":
166466  			if v != nil {
166467  				securityToken, err := unmarshalBasicSecretBase(*v)
166468  				if err != nil {
166469  					return err
166470  				}
166471  				ssclstp.SecurityToken = securityToken
166472  			}
166473  		case "extendedProperties":
166474  			if v != nil {
166475  				var extendedProperties interface{}
166476  				err = json.Unmarshal(*v, &extendedProperties)
166477  				if err != nil {
166478  					return err
166479  				}
166480  				ssclstp.ExtendedProperties = extendedProperties
166481  			}
166482  		case "encryptedCredential":
166483  			if v != nil {
166484  				var encryptedCredential interface{}
166485  				err = json.Unmarshal(*v, &encryptedCredential)
166486  				if err != nil {
166487  					return err
166488  				}
166489  				ssclstp.EncryptedCredential = encryptedCredential
166490  			}
166491  		}
166492  	}
166493  
166494  	return nil
166495  }
166496  
166497  // SalesforceServiceCloudObjectDataset the Salesforce Service Cloud object dataset.
166498  type SalesforceServiceCloudObjectDataset struct {
166499  	// SalesforceServiceCloudObjectDatasetTypeProperties - Salesforce Service Cloud object dataset properties.
166500  	*SalesforceServiceCloudObjectDatasetTypeProperties `json:"typeProperties,omitempty"`
166501  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
166502  	AdditionalProperties map[string]interface{} `json:""`
166503  	// Description - Dataset description.
166504  	Description *string `json:"description,omitempty"`
166505  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
166506  	Structure interface{} `json:"structure,omitempty"`
166507  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
166508  	Schema interface{} `json:"schema,omitempty"`
166509  	// LinkedServiceName - Linked service reference.
166510  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
166511  	// Parameters - Parameters for dataset.
166512  	Parameters map[string]*ParameterSpecification `json:"parameters"`
166513  	// Annotations - List of tags that can be used for describing the Dataset.
166514  	Annotations *[]interface{} `json:"annotations,omitempty"`
166515  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
166516  	Folder *DatasetFolder `json:"folder,omitempty"`
166517  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
166518  	Type TypeBasicDataset `json:"type,omitempty"`
166519  }
166520  
166521  // MarshalJSON is the custom marshaler for SalesforceServiceCloudObjectDataset.
166522  func (sscod SalesforceServiceCloudObjectDataset) MarshalJSON() ([]byte, error) {
166523  	sscod.Type = TypeSalesforceServiceCloudObject
166524  	objectMap := make(map[string]interface{})
166525  	if sscod.SalesforceServiceCloudObjectDatasetTypeProperties != nil {
166526  		objectMap["typeProperties"] = sscod.SalesforceServiceCloudObjectDatasetTypeProperties
166527  	}
166528  	if sscod.Description != nil {
166529  		objectMap["description"] = sscod.Description
166530  	}
166531  	if sscod.Structure != nil {
166532  		objectMap["structure"] = sscod.Structure
166533  	}
166534  	if sscod.Schema != nil {
166535  		objectMap["schema"] = sscod.Schema
166536  	}
166537  	if sscod.LinkedServiceName != nil {
166538  		objectMap["linkedServiceName"] = sscod.LinkedServiceName
166539  	}
166540  	if sscod.Parameters != nil {
166541  		objectMap["parameters"] = sscod.Parameters
166542  	}
166543  	if sscod.Annotations != nil {
166544  		objectMap["annotations"] = sscod.Annotations
166545  	}
166546  	if sscod.Folder != nil {
166547  		objectMap["folder"] = sscod.Folder
166548  	}
166549  	if sscod.Type != "" {
166550  		objectMap["type"] = sscod.Type
166551  	}
166552  	for k, v := range sscod.AdditionalProperties {
166553  		objectMap[k] = v
166554  	}
166555  	return json.Marshal(objectMap)
166556  }
166557  
166558  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166559  func (sscod SalesforceServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
166560  	return nil, false
166561  }
166562  
166563  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166564  func (sscod SalesforceServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
166565  	return nil, false
166566  }
166567  
166568  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166569  func (sscod SalesforceServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
166570  	return nil, false
166571  }
166572  
166573  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166574  func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
166575  	return nil, false
166576  }
166577  
166578  // AsResponsysObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166579  func (sscod SalesforceServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
166580  	return nil, false
166581  }
166582  
166583  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166584  func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
166585  	return nil, false
166586  }
166587  
166588  // AsVerticaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166589  func (sscod SalesforceServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
166590  	return nil, false
166591  }
166592  
166593  // AsNetezzaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166594  func (sscod SalesforceServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
166595  	return nil, false
166596  }
166597  
166598  // AsZohoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166599  func (sscod SalesforceServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
166600  	return nil, false
166601  }
166602  
166603  // AsXeroObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166604  func (sscod SalesforceServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
166605  	return nil, false
166606  }
166607  
166608  // AsSquareObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166609  func (sscod SalesforceServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
166610  	return nil, false
166611  }
166612  
166613  // AsSparkObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166614  func (sscod SalesforceServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
166615  	return nil, false
166616  }
166617  
166618  // AsShopifyObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166619  func (sscod SalesforceServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
166620  	return nil, false
166621  }
166622  
166623  // AsServiceNowObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166624  func (sscod SalesforceServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
166625  	return nil, false
166626  }
166627  
166628  // AsQuickBooksObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166629  func (sscod SalesforceServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
166630  	return nil, false
166631  }
166632  
166633  // AsPrestoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166634  func (sscod SalesforceServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
166635  	return nil, false
166636  }
166637  
166638  // AsPhoenixObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166639  func (sscod SalesforceServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
166640  	return nil, false
166641  }
166642  
166643  // AsPaypalObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166644  func (sscod SalesforceServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
166645  	return nil, false
166646  }
166647  
166648  // AsMarketoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166649  func (sscod SalesforceServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
166650  	return nil, false
166651  }
166652  
166653  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166654  func (sscod SalesforceServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
166655  	return nil, false
166656  }
166657  
166658  // AsMariaDBTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166659  func (sscod SalesforceServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
166660  	return nil, false
166661  }
166662  
166663  // AsMagentoObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166664  func (sscod SalesforceServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
166665  	return nil, false
166666  }
166667  
166668  // AsJiraObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166669  func (sscod SalesforceServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
166670  	return nil, false
166671  }
166672  
166673  // AsImpalaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166674  func (sscod SalesforceServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
166675  	return nil, false
166676  }
166677  
166678  // AsHubspotObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166679  func (sscod SalesforceServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
166680  	return nil, false
166681  }
166682  
166683  // AsHiveObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166684  func (sscod SalesforceServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
166685  	return nil, false
166686  }
166687  
166688  // AsHBaseObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166689  func (sscod SalesforceServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
166690  	return nil, false
166691  }
166692  
166693  // AsGreenplumTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166694  func (sscod SalesforceServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
166695  	return nil, false
166696  }
166697  
166698  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166699  func (sscod SalesforceServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
166700  	return nil, false
166701  }
166702  
166703  // AsEloquaObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166704  func (sscod SalesforceServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
166705  	return nil, false
166706  }
166707  
166708  // AsDrillTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166709  func (sscod SalesforceServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
166710  	return nil, false
166711  }
166712  
166713  // AsCouchbaseTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166714  func (sscod SalesforceServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
166715  	return nil, false
166716  }
166717  
166718  // AsConcurObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166719  func (sscod SalesforceServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
166720  	return nil, false
166721  }
166722  
166723  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166724  func (sscod SalesforceServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
166725  	return nil, false
166726  }
166727  
166728  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166729  func (sscod SalesforceServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
166730  	return nil, false
166731  }
166732  
166733  // AsAzureSearchIndexDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166734  func (sscod SalesforceServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
166735  	return nil, false
166736  }
166737  
166738  // AsWebTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166739  func (sscod SalesforceServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
166740  	return nil, false
166741  }
166742  
166743  // AsSapTableResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166744  func (sscod SalesforceServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
166745  	return nil, false
166746  }
166747  
166748  // AsRestResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166749  func (sscod SalesforceServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
166750  	return nil, false
166751  }
166752  
166753  // AsSQLServerTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166754  func (sscod SalesforceServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
166755  	return nil, false
166756  }
166757  
166758  // AsSapOpenHubTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166759  func (sscod SalesforceServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
166760  	return nil, false
166761  }
166762  
166763  // AsSapHanaTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166764  func (sscod SalesforceServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
166765  	return nil, false
166766  }
166767  
166768  // AsSapEccResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166769  func (sscod SalesforceServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
166770  	return nil, false
166771  }
166772  
166773  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166774  func (sscod SalesforceServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
166775  	return nil, false
166776  }
166777  
166778  // AsSapBwCubeDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166779  func (sscod SalesforceServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
166780  	return nil, false
166781  }
166782  
166783  // AsSybaseTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166784  func (sscod SalesforceServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
166785  	return nil, false
166786  }
166787  
166788  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166789  func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
166790  	return &sscod, true
166791  }
166792  
166793  // AsSalesforceObjectDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166794  func (sscod SalesforceServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
166795  	return nil, false
166796  }
166797  
166798  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166799  func (sscod SalesforceServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
166800  	return nil, false
166801  }
166802  
166803  // AsPostgreSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166804  func (sscod SalesforceServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
166805  	return nil, false
166806  }
166807  
166808  // AsMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166809  func (sscod SalesforceServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
166810  	return nil, false
166811  }
166812  
166813  // AsOdbcTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166814  func (sscod SalesforceServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
166815  	return nil, false
166816  }
166817  
166818  // AsInformixTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166819  func (sscod SalesforceServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
166820  	return nil, false
166821  }
166822  
166823  // AsRelationalTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166824  func (sscod SalesforceServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
166825  	return nil, false
166826  }
166827  
166828  // AsDb2TableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166829  func (sscod SalesforceServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
166830  	return nil, false
166831  }
166832  
166833  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166834  func (sscod SalesforceServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
166835  	return nil, false
166836  }
166837  
166838  // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166839  func (sscod SalesforceServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
166840  	return nil, false
166841  }
166842  
166843  // AsTeradataTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166844  func (sscod SalesforceServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
166845  	return nil, false
166846  }
166847  
166848  // AsOracleTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166849  func (sscod SalesforceServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
166850  	return nil, false
166851  }
166852  
166853  // AsODataResourceDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166854  func (sscod SalesforceServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
166855  	return nil, false
166856  }
166857  
166858  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166859  func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
166860  	return nil, false
166861  }
166862  
166863  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166864  func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
166865  	return nil, false
166866  }
166867  
166868  // AsMongoDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166869  func (sscod SalesforceServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
166870  	return nil, false
166871  }
166872  
166873  // AsOffice365Dataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166874  func (sscod SalesforceServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
166875  	return nil, false
166876  }
166877  
166878  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166879  func (sscod SalesforceServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
166880  	return nil, false
166881  }
166882  
166883  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166884  func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
166885  	return nil, false
166886  }
166887  
166888  // AsDynamicsEntityDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166889  func (sscod SalesforceServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
166890  	return nil, false
166891  }
166892  
166893  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166894  func (sscod SalesforceServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
166895  	return nil, false
166896  }
166897  
166898  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166899  func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
166900  	return nil, false
166901  }
166902  
166903  // AsCustomDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166904  func (sscod SalesforceServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
166905  	return nil, false
166906  }
166907  
166908  // AsCassandraTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166909  func (sscod SalesforceServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
166910  	return nil, false
166911  }
166912  
166913  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166914  func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
166915  	return nil, false
166916  }
166917  
166918  // AsAzureSQLMITableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166919  func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
166920  	return nil, false
166921  }
166922  
166923  // AsAzureSQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166924  func (sscod SalesforceServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
166925  	return nil, false
166926  }
166927  
166928  // AsAzureTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166929  func (sscod SalesforceServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
166930  	return nil, false
166931  }
166932  
166933  // AsBinaryDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166934  func (sscod SalesforceServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
166935  	return nil, false
166936  }
166937  
166938  // AsOrcDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166939  func (sscod SalesforceServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
166940  	return nil, false
166941  }
166942  
166943  // AsJSONDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166944  func (sscod SalesforceServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
166945  	return nil, false
166946  }
166947  
166948  // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166949  func (sscod SalesforceServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
166950  	return nil, false
166951  }
166952  
166953  // AsParquetDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166954  func (sscod SalesforceServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
166955  	return nil, false
166956  }
166957  
166958  // AsAvroDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166959  func (sscod SalesforceServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
166960  	return nil, false
166961  }
166962  
166963  // AsDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166964  func (sscod SalesforceServiceCloudObjectDataset) AsDataset() (*Dataset, bool) {
166965  	return nil, false
166966  }
166967  
166968  // AsBasicDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset.
166969  func (sscod SalesforceServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) {
166970  	return &sscod, true
166971  }
166972  
166973  // UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudObjectDataset struct.
166974  func (sscod *SalesforceServiceCloudObjectDataset) UnmarshalJSON(body []byte) error {
166975  	var m map[string]*json.RawMessage
166976  	err := json.Unmarshal(body, &m)
166977  	if err != nil {
166978  		return err
166979  	}
166980  	for k, v := range m {
166981  		switch k {
166982  		case "typeProperties":
166983  			if v != nil {
166984  				var salesforceServiceCloudObjectDatasetTypeProperties SalesforceServiceCloudObjectDatasetTypeProperties
166985  				err = json.Unmarshal(*v, &salesforceServiceCloudObjectDatasetTypeProperties)
166986  				if err != nil {
166987  					return err
166988  				}
166989  				sscod.SalesforceServiceCloudObjectDatasetTypeProperties = &salesforceServiceCloudObjectDatasetTypeProperties
166990  			}
166991  		default:
166992  			if v != nil {
166993  				var additionalProperties interface{}
166994  				err = json.Unmarshal(*v, &additionalProperties)
166995  				if err != nil {
166996  					return err
166997  				}
166998  				if sscod.AdditionalProperties == nil {
166999  					sscod.AdditionalProperties = make(map[string]interface{})
167000  				}
167001  				sscod.AdditionalProperties[k] = additionalProperties
167002  			}
167003  		case "description":
167004  			if v != nil {
167005  				var description string
167006  				err = json.Unmarshal(*v, &description)
167007  				if err != nil {
167008  					return err
167009  				}
167010  				sscod.Description = &description
167011  			}
167012  		case "structure":
167013  			if v != nil {
167014  				var structure interface{}
167015  				err = json.Unmarshal(*v, &structure)
167016  				if err != nil {
167017  					return err
167018  				}
167019  				sscod.Structure = structure
167020  			}
167021  		case "schema":
167022  			if v != nil {
167023  				var schema interface{}
167024  				err = json.Unmarshal(*v, &schema)
167025  				if err != nil {
167026  					return err
167027  				}
167028  				sscod.Schema = schema
167029  			}
167030  		case "linkedServiceName":
167031  			if v != nil {
167032  				var linkedServiceName LinkedServiceReference
167033  				err = json.Unmarshal(*v, &linkedServiceName)
167034  				if err != nil {
167035  					return err
167036  				}
167037  				sscod.LinkedServiceName = &linkedServiceName
167038  			}
167039  		case "parameters":
167040  			if v != nil {
167041  				var parameters map[string]*ParameterSpecification
167042  				err = json.Unmarshal(*v, &parameters)
167043  				if err != nil {
167044  					return err
167045  				}
167046  				sscod.Parameters = parameters
167047  			}
167048  		case "annotations":
167049  			if v != nil {
167050  				var annotations []interface{}
167051  				err = json.Unmarshal(*v, &annotations)
167052  				if err != nil {
167053  					return err
167054  				}
167055  				sscod.Annotations = &annotations
167056  			}
167057  		case "folder":
167058  			if v != nil {
167059  				var folder DatasetFolder
167060  				err = json.Unmarshal(*v, &folder)
167061  				if err != nil {
167062  					return err
167063  				}
167064  				sscod.Folder = &folder
167065  			}
167066  		case "type":
167067  			if v != nil {
167068  				var typeVar TypeBasicDataset
167069  				err = json.Unmarshal(*v, &typeVar)
167070  				if err != nil {
167071  					return err
167072  				}
167073  				sscod.Type = typeVar
167074  			}
167075  		}
167076  	}
167077  
167078  	return nil
167079  }
167080  
167081  // SalesforceServiceCloudObjectDatasetTypeProperties salesforce Service Cloud object dataset properties.
167082  type SalesforceServiceCloudObjectDatasetTypeProperties struct {
167083  	// ObjectAPIName - The Salesforce Service Cloud object API name. Type: string (or Expression with resultType string).
167084  	ObjectAPIName interface{} `json:"objectApiName,omitempty"`
167085  }
167086  
167087  // SalesforceServiceCloudSink a copy activity Salesforce Service Cloud sink.
167088  type SalesforceServiceCloudSink struct {
167089  	// WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert'
167090  	WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"`
167091  	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
167092  	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
167093  	// 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).
167094  	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
167095  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
167096  	AdditionalProperties map[string]interface{} `json:""`
167097  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
167098  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
167099  	// 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])).
167100  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
167101  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
167102  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
167103  	// 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])).
167104  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
167105  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
167106  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
167107  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
167108  	Type TypeBasicCopySink `json:"type,omitempty"`
167109  }
167110  
167111  // MarshalJSON is the custom marshaler for SalesforceServiceCloudSink.
167112  func (sscs SalesforceServiceCloudSink) MarshalJSON() ([]byte, error) {
167113  	sscs.Type = TypeSalesforceServiceCloudSink
167114  	objectMap := make(map[string]interface{})
167115  	if sscs.WriteBehavior != "" {
167116  		objectMap["writeBehavior"] = sscs.WriteBehavior
167117  	}
167118  	if sscs.ExternalIDFieldName != nil {
167119  		objectMap["externalIdFieldName"] = sscs.ExternalIDFieldName
167120  	}
167121  	if sscs.IgnoreNullValues != nil {
167122  		objectMap["ignoreNullValues"] = sscs.IgnoreNullValues
167123  	}
167124  	if sscs.WriteBatchSize != nil {
167125  		objectMap["writeBatchSize"] = sscs.WriteBatchSize
167126  	}
167127  	if sscs.WriteBatchTimeout != nil {
167128  		objectMap["writeBatchTimeout"] = sscs.WriteBatchTimeout
167129  	}
167130  	if sscs.SinkRetryCount != nil {
167131  		objectMap["sinkRetryCount"] = sscs.SinkRetryCount
167132  	}
167133  	if sscs.SinkRetryWait != nil {
167134  		objectMap["sinkRetryWait"] = sscs.SinkRetryWait
167135  	}
167136  	if sscs.MaxConcurrentConnections != nil {
167137  		objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections
167138  	}
167139  	if sscs.Type != "" {
167140  		objectMap["type"] = sscs.Type
167141  	}
167142  	for k, v := range sscs.AdditionalProperties {
167143  		objectMap[k] = v
167144  	}
167145  	return json.Marshal(objectMap)
167146  }
167147  
167148  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167149  func (sscs SalesforceServiceCloudSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
167150  	return nil, false
167151  }
167152  
167153  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167154  func (sscs SalesforceServiceCloudSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
167155  	return &sscs, true
167156  }
167157  
167158  // AsSalesforceSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167159  func (sscs SalesforceServiceCloudSink) AsSalesforceSink() (*SalesforceSink, bool) {
167160  	return nil, false
167161  }
167162  
167163  // AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167164  func (sscs SalesforceServiceCloudSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
167165  	return nil, false
167166  }
167167  
167168  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167169  func (sscs SalesforceServiceCloudSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
167170  	return nil, false
167171  }
167172  
167173  // AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167174  func (sscs SalesforceServiceCloudSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
167175  	return nil, false
167176  }
167177  
167178  // AsDynamicsSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167179  func (sscs SalesforceServiceCloudSink) AsDynamicsSink() (*DynamicsSink, bool) {
167180  	return nil, false
167181  }
167182  
167183  // AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167184  func (sscs SalesforceServiceCloudSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
167185  	return nil, false
167186  }
167187  
167188  // AsInformixSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167189  func (sscs SalesforceServiceCloudSink) AsInformixSink() (*InformixSink, bool) {
167190  	return nil, false
167191  }
167192  
167193  // AsOdbcSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167194  func (sscs SalesforceServiceCloudSink) AsOdbcSink() (*OdbcSink, bool) {
167195  	return nil, false
167196  }
167197  
167198  // AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167199  func (sscs SalesforceServiceCloudSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
167200  	return nil, false
167201  }
167202  
167203  // AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167204  func (sscs SalesforceServiceCloudSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
167205  	return nil, false
167206  }
167207  
167208  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167209  func (sscs SalesforceServiceCloudSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
167210  	return nil, false
167211  }
167212  
167213  // AsOracleSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167214  func (sscs SalesforceServiceCloudSink) AsOracleSink() (*OracleSink, bool) {
167215  	return nil, false
167216  }
167217  
167218  // AsSQLDWSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167219  func (sscs SalesforceServiceCloudSink) AsSQLDWSink() (*SQLDWSink, bool) {
167220  	return nil, false
167221  }
167222  
167223  // AsSQLMISink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167224  func (sscs SalesforceServiceCloudSink) AsSQLMISink() (*SQLMISink, bool) {
167225  	return nil, false
167226  }
167227  
167228  // AsAzureSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167229  func (sscs SalesforceServiceCloudSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
167230  	return nil, false
167231  }
167232  
167233  // AsSQLServerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167234  func (sscs SalesforceServiceCloudSink) AsSQLServerSink() (*SQLServerSink, bool) {
167235  	return nil, false
167236  }
167237  
167238  // AsSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167239  func (sscs SalesforceServiceCloudSink) AsSQLSink() (*SQLSink, bool) {
167240  	return nil, false
167241  }
167242  
167243  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167244  func (sscs SalesforceServiceCloudSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
167245  	return nil, false
167246  }
167247  
167248  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167249  func (sscs SalesforceServiceCloudSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
167250  	return nil, false
167251  }
167252  
167253  // AsFileSystemSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167254  func (sscs SalesforceServiceCloudSink) AsFileSystemSink() (*FileSystemSink, bool) {
167255  	return nil, false
167256  }
167257  
167258  // AsBlobSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167259  func (sscs SalesforceServiceCloudSink) AsBlobSink() (*BlobSink, bool) {
167260  	return nil, false
167261  }
167262  
167263  // AsBinarySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167264  func (sscs SalesforceServiceCloudSink) AsBinarySink() (*BinarySink, bool) {
167265  	return nil, false
167266  }
167267  
167268  // AsParquetSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167269  func (sscs SalesforceServiceCloudSink) AsParquetSink() (*ParquetSink, bool) {
167270  	return nil, false
167271  }
167272  
167273  // AsAvroSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167274  func (sscs SalesforceServiceCloudSink) AsAvroSink() (*AvroSink, bool) {
167275  	return nil, false
167276  }
167277  
167278  // AsAzureTableSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167279  func (sscs SalesforceServiceCloudSink) AsAzureTableSink() (*AzureTableSink, bool) {
167280  	return nil, false
167281  }
167282  
167283  // AsAzureQueueSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167284  func (sscs SalesforceServiceCloudSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
167285  	return nil, false
167286  }
167287  
167288  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167289  func (sscs SalesforceServiceCloudSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
167290  	return nil, false
167291  }
167292  
167293  // AsAzureMySQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167294  func (sscs SalesforceServiceCloudSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
167295  	return nil, false
167296  }
167297  
167298  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167299  func (sscs SalesforceServiceCloudSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
167300  	return nil, false
167301  }
167302  
167303  // AsOrcSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167304  func (sscs SalesforceServiceCloudSink) AsOrcSink() (*OrcSink, bool) {
167305  	return nil, false
167306  }
167307  
167308  // AsJSONSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167309  func (sscs SalesforceServiceCloudSink) AsJSONSink() (*JSONSink, bool) {
167310  	return nil, false
167311  }
167312  
167313  // AsDelimitedTextSink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167314  func (sscs SalesforceServiceCloudSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
167315  	return nil, false
167316  }
167317  
167318  // AsCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167319  func (sscs SalesforceServiceCloudSink) AsCopySink() (*CopySink, bool) {
167320  	return nil, false
167321  }
167322  
167323  // AsBasicCopySink is the BasicCopySink implementation for SalesforceServiceCloudSink.
167324  func (sscs SalesforceServiceCloudSink) AsBasicCopySink() (BasicCopySink, bool) {
167325  	return &sscs, true
167326  }
167327  
167328  // UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSink struct.
167329  func (sscs *SalesforceServiceCloudSink) UnmarshalJSON(body []byte) error {
167330  	var m map[string]*json.RawMessage
167331  	err := json.Unmarshal(body, &m)
167332  	if err != nil {
167333  		return err
167334  	}
167335  	for k, v := range m {
167336  		switch k {
167337  		case "writeBehavior":
167338  			if v != nil {
167339  				var writeBehavior SalesforceSinkWriteBehavior
167340  				err = json.Unmarshal(*v, &writeBehavior)
167341  				if err != nil {
167342  					return err
167343  				}
167344  				sscs.WriteBehavior = writeBehavior
167345  			}
167346  		case "externalIdFieldName":
167347  			if v != nil {
167348  				var externalIDFieldName interface{}
167349  				err = json.Unmarshal(*v, &externalIDFieldName)
167350  				if err != nil {
167351  					return err
167352  				}
167353  				sscs.ExternalIDFieldName = externalIDFieldName
167354  			}
167355  		case "ignoreNullValues":
167356  			if v != nil {
167357  				var ignoreNullValues interface{}
167358  				err = json.Unmarshal(*v, &ignoreNullValues)
167359  				if err != nil {
167360  					return err
167361  				}
167362  				sscs.IgnoreNullValues = ignoreNullValues
167363  			}
167364  		default:
167365  			if v != nil {
167366  				var additionalProperties interface{}
167367  				err = json.Unmarshal(*v, &additionalProperties)
167368  				if err != nil {
167369  					return err
167370  				}
167371  				if sscs.AdditionalProperties == nil {
167372  					sscs.AdditionalProperties = make(map[string]interface{})
167373  				}
167374  				sscs.AdditionalProperties[k] = additionalProperties
167375  			}
167376  		case "writeBatchSize":
167377  			if v != nil {
167378  				var writeBatchSize interface{}
167379  				err = json.Unmarshal(*v, &writeBatchSize)
167380  				if err != nil {
167381  					return err
167382  				}
167383  				sscs.WriteBatchSize = writeBatchSize
167384  			}
167385  		case "writeBatchTimeout":
167386  			if v != nil {
167387  				var writeBatchTimeout interface{}
167388  				err = json.Unmarshal(*v, &writeBatchTimeout)
167389  				if err != nil {
167390  					return err
167391  				}
167392  				sscs.WriteBatchTimeout = writeBatchTimeout
167393  			}
167394  		case "sinkRetryCount":
167395  			if v != nil {
167396  				var sinkRetryCount interface{}
167397  				err = json.Unmarshal(*v, &sinkRetryCount)
167398  				if err != nil {
167399  					return err
167400  				}
167401  				sscs.SinkRetryCount = sinkRetryCount
167402  			}
167403  		case "sinkRetryWait":
167404  			if v != nil {
167405  				var sinkRetryWait interface{}
167406  				err = json.Unmarshal(*v, &sinkRetryWait)
167407  				if err != nil {
167408  					return err
167409  				}
167410  				sscs.SinkRetryWait = sinkRetryWait
167411  			}
167412  		case "maxConcurrentConnections":
167413  			if v != nil {
167414  				var maxConcurrentConnections interface{}
167415  				err = json.Unmarshal(*v, &maxConcurrentConnections)
167416  				if err != nil {
167417  					return err
167418  				}
167419  				sscs.MaxConcurrentConnections = maxConcurrentConnections
167420  			}
167421  		case "type":
167422  			if v != nil {
167423  				var typeVar TypeBasicCopySink
167424  				err = json.Unmarshal(*v, &typeVar)
167425  				if err != nil {
167426  					return err
167427  				}
167428  				sscs.Type = typeVar
167429  			}
167430  		}
167431  	}
167432  
167433  	return nil
167434  }
167435  
167436  // SalesforceServiceCloudSource a copy activity Salesforce Service Cloud source.
167437  type SalesforceServiceCloudSource struct {
167438  	// Query - Database query. Type: string (or Expression with resultType string).
167439  	Query interface{} `json:"query,omitempty"`
167440  	// ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll'
167441  	ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"`
167442  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
167443  	AdditionalProperties map[string]interface{} `json:""`
167444  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
167445  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
167446  	// 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])).
167447  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
167448  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
167449  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
167450  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
167451  	Type TypeBasicCopySource `json:"type,omitempty"`
167452  }
167453  
167454  // MarshalJSON is the custom marshaler for SalesforceServiceCloudSource.
167455  func (sscs SalesforceServiceCloudSource) MarshalJSON() ([]byte, error) {
167456  	sscs.Type = TypeSalesforceServiceCloudSource
167457  	objectMap := make(map[string]interface{})
167458  	if sscs.Query != nil {
167459  		objectMap["query"] = sscs.Query
167460  	}
167461  	if sscs.ReadBehavior != "" {
167462  		objectMap["readBehavior"] = sscs.ReadBehavior
167463  	}
167464  	if sscs.SourceRetryCount != nil {
167465  		objectMap["sourceRetryCount"] = sscs.SourceRetryCount
167466  	}
167467  	if sscs.SourceRetryWait != nil {
167468  		objectMap["sourceRetryWait"] = sscs.SourceRetryWait
167469  	}
167470  	if sscs.MaxConcurrentConnections != nil {
167471  		objectMap["maxConcurrentConnections"] = sscs.MaxConcurrentConnections
167472  	}
167473  	if sscs.Type != "" {
167474  		objectMap["type"] = sscs.Type
167475  	}
167476  	for k, v := range sscs.AdditionalProperties {
167477  		objectMap[k] = v
167478  	}
167479  	return json.Marshal(objectMap)
167480  }
167481  
167482  // AsHTTPSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167483  func (sscs SalesforceServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) {
167484  	return nil, false
167485  }
167486  
167487  // AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167488  func (sscs SalesforceServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
167489  	return nil, false
167490  }
167491  
167492  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167493  func (sscs SalesforceServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
167494  	return nil, false
167495  }
167496  
167497  // AsOffice365Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
167498  func (sscs SalesforceServiceCloudSource) AsOffice365Source() (*Office365Source, bool) {
167499  	return nil, false
167500  }
167501  
167502  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167503  func (sscs SalesforceServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
167504  	return nil, false
167505  }
167506  
167507  // AsMongoDbV2Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
167508  func (sscs SalesforceServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
167509  	return nil, false
167510  }
167511  
167512  // AsMongoDbSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167513  func (sscs SalesforceServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) {
167514  	return nil, false
167515  }
167516  
167517  // AsWebSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167518  func (sscs SalesforceServiceCloudSource) AsWebSource() (*WebSource, bool) {
167519  	return nil, false
167520  }
167521  
167522  // AsOracleSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167523  func (sscs SalesforceServiceCloudSource) AsOracleSource() (*OracleSource, bool) {
167524  	return nil, false
167525  }
167526  
167527  // AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167528  func (sscs SalesforceServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
167529  	return nil, false
167530  }
167531  
167532  // AsHdfsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167533  func (sscs SalesforceServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) {
167534  	return nil, false
167535  }
167536  
167537  // AsFileSystemSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167538  func (sscs SalesforceServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) {
167539  	return nil, false
167540  }
167541  
167542  // AsRestSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167543  func (sscs SalesforceServiceCloudSource) AsRestSource() (*RestSource, bool) {
167544  	return nil, false
167545  }
167546  
167547  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167548  func (sscs SalesforceServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
167549  	return &sscs, true
167550  }
167551  
167552  // AsODataSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167553  func (sscs SalesforceServiceCloudSource) AsODataSource() (*ODataSource, bool) {
167554  	return nil, false
167555  }
167556  
167557  // AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167558  func (sscs SalesforceServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
167559  	return nil, false
167560  }
167561  
167562  // AsRelationalSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167563  func (sscs SalesforceServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) {
167564  	return nil, false
167565  }
167566  
167567  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167568  func (sscs SalesforceServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
167569  	return nil, false
167570  }
167571  
167572  // AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167573  func (sscs SalesforceServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
167574  	return nil, false
167575  }
167576  
167577  // AsDynamicsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167578  func (sscs SalesforceServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) {
167579  	return nil, false
167580  }
167581  
167582  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167583  func (sscs SalesforceServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
167584  	return nil, false
167585  }
167586  
167587  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167588  func (sscs SalesforceServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
167589  	return nil, false
167590  }
167591  
167592  // AsBlobSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167593  func (sscs SalesforceServiceCloudSource) AsBlobSource() (*BlobSource, bool) {
167594  	return nil, false
167595  }
167596  
167597  // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167598  func (sscs SalesforceServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
167599  	return nil, false
167600  }
167601  
167602  // AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167603  func (sscs SalesforceServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
167604  	return nil, false
167605  }
167606  
167607  // AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167608  func (sscs SalesforceServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
167609  	return nil, false
167610  }
167611  
167612  // AsDynamicsAXSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167613  func (sscs SalesforceServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
167614  	return nil, false
167615  }
167616  
167617  // AsResponsysSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167618  func (sscs SalesforceServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) {
167619  	return nil, false
167620  }
167621  
167622  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167623  func (sscs SalesforceServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
167624  	return nil, false
167625  }
167626  
167627  // AsVerticaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167628  func (sscs SalesforceServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) {
167629  	return nil, false
167630  }
167631  
167632  // AsNetezzaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167633  func (sscs SalesforceServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) {
167634  	return nil, false
167635  }
167636  
167637  // AsZohoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167638  func (sscs SalesforceServiceCloudSource) AsZohoSource() (*ZohoSource, bool) {
167639  	return nil, false
167640  }
167641  
167642  // AsXeroSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167643  func (sscs SalesforceServiceCloudSource) AsXeroSource() (*XeroSource, bool) {
167644  	return nil, false
167645  }
167646  
167647  // AsSquareSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167648  func (sscs SalesforceServiceCloudSource) AsSquareSource() (*SquareSource, bool) {
167649  	return nil, false
167650  }
167651  
167652  // AsSparkSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167653  func (sscs SalesforceServiceCloudSource) AsSparkSource() (*SparkSource, bool) {
167654  	return nil, false
167655  }
167656  
167657  // AsShopifySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167658  func (sscs SalesforceServiceCloudSource) AsShopifySource() (*ShopifySource, bool) {
167659  	return nil, false
167660  }
167661  
167662  // AsServiceNowSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167663  func (sscs SalesforceServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) {
167664  	return nil, false
167665  }
167666  
167667  // AsQuickBooksSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167668  func (sscs SalesforceServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
167669  	return nil, false
167670  }
167671  
167672  // AsPrestoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167673  func (sscs SalesforceServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) {
167674  	return nil, false
167675  }
167676  
167677  // AsPhoenixSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167678  func (sscs SalesforceServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) {
167679  	return nil, false
167680  }
167681  
167682  // AsPaypalSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167683  func (sscs SalesforceServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) {
167684  	return nil, false
167685  }
167686  
167687  // AsMarketoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167688  func (sscs SalesforceServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) {
167689  	return nil, false
167690  }
167691  
167692  // AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167693  func (sscs SalesforceServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
167694  	return nil, false
167695  }
167696  
167697  // AsMariaDBSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167698  func (sscs SalesforceServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) {
167699  	return nil, false
167700  }
167701  
167702  // AsMagentoSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167703  func (sscs SalesforceServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) {
167704  	return nil, false
167705  }
167706  
167707  // AsJiraSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167708  func (sscs SalesforceServiceCloudSource) AsJiraSource() (*JiraSource, bool) {
167709  	return nil, false
167710  }
167711  
167712  // AsImpalaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167713  func (sscs SalesforceServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) {
167714  	return nil, false
167715  }
167716  
167717  // AsHubspotSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167718  func (sscs SalesforceServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) {
167719  	return nil, false
167720  }
167721  
167722  // AsHiveSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167723  func (sscs SalesforceServiceCloudSource) AsHiveSource() (*HiveSource, bool) {
167724  	return nil, false
167725  }
167726  
167727  // AsHBaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167728  func (sscs SalesforceServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) {
167729  	return nil, false
167730  }
167731  
167732  // AsGreenplumSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167733  func (sscs SalesforceServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) {
167734  	return nil, false
167735  }
167736  
167737  // AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167738  func (sscs SalesforceServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
167739  	return nil, false
167740  }
167741  
167742  // AsEloquaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167743  func (sscs SalesforceServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) {
167744  	return nil, false
167745  }
167746  
167747  // AsDrillSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167748  func (sscs SalesforceServiceCloudSource) AsDrillSource() (*DrillSource, bool) {
167749  	return nil, false
167750  }
167751  
167752  // AsCouchbaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167753  func (sscs SalesforceServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
167754  	return nil, false
167755  }
167756  
167757  // AsConcurSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167758  func (sscs SalesforceServiceCloudSource) AsConcurSource() (*ConcurSource, bool) {
167759  	return nil, false
167760  }
167761  
167762  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167763  func (sscs SalesforceServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
167764  	return nil, false
167765  }
167766  
167767  // AsAmazonMWSSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167768  func (sscs SalesforceServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
167769  	return nil, false
167770  }
167771  
167772  // AsCassandraSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167773  func (sscs SalesforceServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) {
167774  	return nil, false
167775  }
167776  
167777  // AsTeradataSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167778  func (sscs SalesforceServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) {
167779  	return nil, false
167780  }
167781  
167782  // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167783  func (sscs SalesforceServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
167784  	return nil, false
167785  }
167786  
167787  // AsSQLDWSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167788  func (sscs SalesforceServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) {
167789  	return nil, false
167790  }
167791  
167792  // AsSQLMISource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167793  func (sscs SalesforceServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) {
167794  	return nil, false
167795  }
167796  
167797  // AsAzureSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167798  func (sscs SalesforceServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
167799  	return nil, false
167800  }
167801  
167802  // AsSQLServerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167803  func (sscs SalesforceServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) {
167804  	return nil, false
167805  }
167806  
167807  // AsSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167808  func (sscs SalesforceServiceCloudSource) AsSQLSource() (*SQLSource, bool) {
167809  	return nil, false
167810  }
167811  
167812  // AsSapTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167813  func (sscs SalesforceServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) {
167814  	return nil, false
167815  }
167816  
167817  // AsSapOpenHubSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167818  func (sscs SalesforceServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
167819  	return nil, false
167820  }
167821  
167822  // AsSapHanaSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167823  func (sscs SalesforceServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) {
167824  	return nil, false
167825  }
167826  
167827  // AsSapEccSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167828  func (sscs SalesforceServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) {
167829  	return nil, false
167830  }
167831  
167832  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167833  func (sscs SalesforceServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
167834  	return nil, false
167835  }
167836  
167837  // AsSalesforceSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167838  func (sscs SalesforceServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) {
167839  	return nil, false
167840  }
167841  
167842  // AsSapBwSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167843  func (sscs SalesforceServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) {
167844  	return nil, false
167845  }
167846  
167847  // AsSybaseSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167848  func (sscs SalesforceServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) {
167849  	return nil, false
167850  }
167851  
167852  // AsPostgreSQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167853  func (sscs SalesforceServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
167854  	return nil, false
167855  }
167856  
167857  // AsMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167858  func (sscs SalesforceServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) {
167859  	return nil, false
167860  }
167861  
167862  // AsOdbcSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167863  func (sscs SalesforceServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) {
167864  	return nil, false
167865  }
167866  
167867  // AsDb2Source is the BasicCopySource implementation for SalesforceServiceCloudSource.
167868  func (sscs SalesforceServiceCloudSource) AsDb2Source() (*Db2Source, bool) {
167869  	return nil, false
167870  }
167871  
167872  // AsInformixSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167873  func (sscs SalesforceServiceCloudSource) AsInformixSource() (*InformixSource, bool) {
167874  	return nil, false
167875  }
167876  
167877  // AsAzureTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167878  func (sscs SalesforceServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) {
167879  	return nil, false
167880  }
167881  
167882  // AsTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167883  func (sscs SalesforceServiceCloudSource) AsTabularSource() (*TabularSource, bool) {
167884  	return nil, false
167885  }
167886  
167887  // AsBasicTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167888  func (sscs SalesforceServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) {
167889  	return nil, false
167890  }
167891  
167892  // AsBinarySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167893  func (sscs SalesforceServiceCloudSource) AsBinarySource() (*BinarySource, bool) {
167894  	return nil, false
167895  }
167896  
167897  // AsOrcSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167898  func (sscs SalesforceServiceCloudSource) AsOrcSource() (*OrcSource, bool) {
167899  	return nil, false
167900  }
167901  
167902  // AsJSONSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167903  func (sscs SalesforceServiceCloudSource) AsJSONSource() (*JSONSource, bool) {
167904  	return nil, false
167905  }
167906  
167907  // AsDelimitedTextSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167908  func (sscs SalesforceServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
167909  	return nil, false
167910  }
167911  
167912  // AsParquetSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167913  func (sscs SalesforceServiceCloudSource) AsParquetSource() (*ParquetSource, bool) {
167914  	return nil, false
167915  }
167916  
167917  // AsAvroSource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167918  func (sscs SalesforceServiceCloudSource) AsAvroSource() (*AvroSource, bool) {
167919  	return nil, false
167920  }
167921  
167922  // AsCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167923  func (sscs SalesforceServiceCloudSource) AsCopySource() (*CopySource, bool) {
167924  	return nil, false
167925  }
167926  
167927  // AsBasicCopySource is the BasicCopySource implementation for SalesforceServiceCloudSource.
167928  func (sscs SalesforceServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) {
167929  	return &sscs, true
167930  }
167931  
167932  // UnmarshalJSON is the custom unmarshaler for SalesforceServiceCloudSource struct.
167933  func (sscs *SalesforceServiceCloudSource) UnmarshalJSON(body []byte) error {
167934  	var m map[string]*json.RawMessage
167935  	err := json.Unmarshal(body, &m)
167936  	if err != nil {
167937  		return err
167938  	}
167939  	for k, v := range m {
167940  		switch k {
167941  		case "query":
167942  			if v != nil {
167943  				var query interface{}
167944  				err = json.Unmarshal(*v, &query)
167945  				if err != nil {
167946  					return err
167947  				}
167948  				sscs.Query = query
167949  			}
167950  		case "readBehavior":
167951  			if v != nil {
167952  				var readBehavior SalesforceSourceReadBehavior
167953  				err = json.Unmarshal(*v, &readBehavior)
167954  				if err != nil {
167955  					return err
167956  				}
167957  				sscs.ReadBehavior = readBehavior
167958  			}
167959  		default:
167960  			if v != nil {
167961  				var additionalProperties interface{}
167962  				err = json.Unmarshal(*v, &additionalProperties)
167963  				if err != nil {
167964  					return err
167965  				}
167966  				if sscs.AdditionalProperties == nil {
167967  					sscs.AdditionalProperties = make(map[string]interface{})
167968  				}
167969  				sscs.AdditionalProperties[k] = additionalProperties
167970  			}
167971  		case "sourceRetryCount":
167972  			if v != nil {
167973  				var sourceRetryCount interface{}
167974  				err = json.Unmarshal(*v, &sourceRetryCount)
167975  				if err != nil {
167976  					return err
167977  				}
167978  				sscs.SourceRetryCount = sourceRetryCount
167979  			}
167980  		case "sourceRetryWait":
167981  			if v != nil {
167982  				var sourceRetryWait interface{}
167983  				err = json.Unmarshal(*v, &sourceRetryWait)
167984  				if err != nil {
167985  					return err
167986  				}
167987  				sscs.SourceRetryWait = sourceRetryWait
167988  			}
167989  		case "maxConcurrentConnections":
167990  			if v != nil {
167991  				var maxConcurrentConnections interface{}
167992  				err = json.Unmarshal(*v, &maxConcurrentConnections)
167993  				if err != nil {
167994  					return err
167995  				}
167996  				sscs.MaxConcurrentConnections = maxConcurrentConnections
167997  			}
167998  		case "type":
167999  			if v != nil {
168000  				var typeVar TypeBasicCopySource
168001  				err = json.Unmarshal(*v, &typeVar)
168002  				if err != nil {
168003  					return err
168004  				}
168005  				sscs.Type = typeVar
168006  			}
168007  		}
168008  	}
168009  
168010  	return nil
168011  }
168012  
168013  // SalesforceSink a copy activity Salesforce sink.
168014  type SalesforceSink struct {
168015  	// WriteBehavior - The write behavior for the operation. Default is Insert. Possible values include: 'Insert', 'Upsert'
168016  	WriteBehavior SalesforceSinkWriteBehavior `json:"writeBehavior,omitempty"`
168017  	// ExternalIDFieldName - The name of the external ID field for upsert operation. Default value is 'Id' column. Type: string (or Expression with resultType string).
168018  	ExternalIDFieldName interface{} `json:"externalIdFieldName,omitempty"`
168019  	// 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).
168020  	IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"`
168021  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
168022  	AdditionalProperties map[string]interface{} `json:""`
168023  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
168024  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
168025  	// 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])).
168026  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
168027  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
168028  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
168029  	// 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])).
168030  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
168031  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
168032  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
168033  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
168034  	Type TypeBasicCopySink `json:"type,omitempty"`
168035  }
168036  
168037  // MarshalJSON is the custom marshaler for SalesforceSink.
168038  func (ss SalesforceSink) MarshalJSON() ([]byte, error) {
168039  	ss.Type = TypeSalesforceSink
168040  	objectMap := make(map[string]interface{})
168041  	if ss.WriteBehavior != "" {
168042  		objectMap["writeBehavior"] = ss.WriteBehavior
168043  	}
168044  	if ss.ExternalIDFieldName != nil {
168045  		objectMap["externalIdFieldName"] = ss.ExternalIDFieldName
168046  	}
168047  	if ss.IgnoreNullValues != nil {
168048  		objectMap["ignoreNullValues"] = ss.IgnoreNullValues
168049  	}
168050  	if ss.WriteBatchSize != nil {
168051  		objectMap["writeBatchSize"] = ss.WriteBatchSize
168052  	}
168053  	if ss.WriteBatchTimeout != nil {
168054  		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
168055  	}
168056  	if ss.SinkRetryCount != nil {
168057  		objectMap["sinkRetryCount"] = ss.SinkRetryCount
168058  	}
168059  	if ss.SinkRetryWait != nil {
168060  		objectMap["sinkRetryWait"] = ss.SinkRetryWait
168061  	}
168062  	if ss.MaxConcurrentConnections != nil {
168063  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
168064  	}
168065  	if ss.Type != "" {
168066  		objectMap["type"] = ss.Type
168067  	}
168068  	for k, v := range ss.AdditionalProperties {
168069  		objectMap[k] = v
168070  	}
168071  	return json.Marshal(objectMap)
168072  }
168073  
168074  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SalesforceSink.
168075  func (ss SalesforceSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
168076  	return nil, false
168077  }
168078  
168079  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SalesforceSink.
168080  func (ss SalesforceSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
168081  	return nil, false
168082  }
168083  
168084  // AsSalesforceSink is the BasicCopySink implementation for SalesforceSink.
168085  func (ss SalesforceSink) AsSalesforceSink() (*SalesforceSink, bool) {
168086  	return &ss, true
168087  }
168088  
168089  // AsAzureDataExplorerSink is the BasicCopySink implementation for SalesforceSink.
168090  func (ss SalesforceSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
168091  	return nil, false
168092  }
168093  
168094  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SalesforceSink.
168095  func (ss SalesforceSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
168096  	return nil, false
168097  }
168098  
168099  // AsDynamicsCrmSink is the BasicCopySink implementation for SalesforceSink.
168100  func (ss SalesforceSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
168101  	return nil, false
168102  }
168103  
168104  // AsDynamicsSink is the BasicCopySink implementation for SalesforceSink.
168105  func (ss SalesforceSink) AsDynamicsSink() (*DynamicsSink, bool) {
168106  	return nil, false
168107  }
168108  
168109  // AsMicrosoftAccessSink is the BasicCopySink implementation for SalesforceSink.
168110  func (ss SalesforceSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
168111  	return nil, false
168112  }
168113  
168114  // AsInformixSink is the BasicCopySink implementation for SalesforceSink.
168115  func (ss SalesforceSink) AsInformixSink() (*InformixSink, bool) {
168116  	return nil, false
168117  }
168118  
168119  // AsOdbcSink is the BasicCopySink implementation for SalesforceSink.
168120  func (ss SalesforceSink) AsOdbcSink() (*OdbcSink, bool) {
168121  	return nil, false
168122  }
168123  
168124  // AsAzureSearchIndexSink is the BasicCopySink implementation for SalesforceSink.
168125  func (ss SalesforceSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
168126  	return nil, false
168127  }
168128  
168129  // AsAzureBlobFSSink is the BasicCopySink implementation for SalesforceSink.
168130  func (ss SalesforceSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
168131  	return nil, false
168132  }
168133  
168134  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SalesforceSink.
168135  func (ss SalesforceSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
168136  	return nil, false
168137  }
168138  
168139  // AsOracleSink is the BasicCopySink implementation for SalesforceSink.
168140  func (ss SalesforceSink) AsOracleSink() (*OracleSink, bool) {
168141  	return nil, false
168142  }
168143  
168144  // AsSQLDWSink is the BasicCopySink implementation for SalesforceSink.
168145  func (ss SalesforceSink) AsSQLDWSink() (*SQLDWSink, bool) {
168146  	return nil, false
168147  }
168148  
168149  // AsSQLMISink is the BasicCopySink implementation for SalesforceSink.
168150  func (ss SalesforceSink) AsSQLMISink() (*SQLMISink, bool) {
168151  	return nil, false
168152  }
168153  
168154  // AsAzureSQLSink is the BasicCopySink implementation for SalesforceSink.
168155  func (ss SalesforceSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
168156  	return nil, false
168157  }
168158  
168159  // AsSQLServerSink is the BasicCopySink implementation for SalesforceSink.
168160  func (ss SalesforceSink) AsSQLServerSink() (*SQLServerSink, bool) {
168161  	return nil, false
168162  }
168163  
168164  // AsSQLSink is the BasicCopySink implementation for SalesforceSink.
168165  func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) {
168166  	return nil, false
168167  }
168168  
168169  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceSink.
168170  func (ss SalesforceSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
168171  	return nil, false
168172  }
168173  
168174  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink.
168175  func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
168176  	return nil, false
168177  }
168178  
168179  // AsFileSystemSink is the BasicCopySink implementation for SalesforceSink.
168180  func (ss SalesforceSink) AsFileSystemSink() (*FileSystemSink, bool) {
168181  	return nil, false
168182  }
168183  
168184  // AsBlobSink is the BasicCopySink implementation for SalesforceSink.
168185  func (ss SalesforceSink) AsBlobSink() (*BlobSink, bool) {
168186  	return nil, false
168187  }
168188  
168189  // AsBinarySink is the BasicCopySink implementation for SalesforceSink.
168190  func (ss SalesforceSink) AsBinarySink() (*BinarySink, bool) {
168191  	return nil, false
168192  }
168193  
168194  // AsParquetSink is the BasicCopySink implementation for SalesforceSink.
168195  func (ss SalesforceSink) AsParquetSink() (*ParquetSink, bool) {
168196  	return nil, false
168197  }
168198  
168199  // AsAvroSink is the BasicCopySink implementation for SalesforceSink.
168200  func (ss SalesforceSink) AsAvroSink() (*AvroSink, bool) {
168201  	return nil, false
168202  }
168203  
168204  // AsAzureTableSink is the BasicCopySink implementation for SalesforceSink.
168205  func (ss SalesforceSink) AsAzureTableSink() (*AzureTableSink, bool) {
168206  	return nil, false
168207  }
168208  
168209  // AsAzureQueueSink is the BasicCopySink implementation for SalesforceSink.
168210  func (ss SalesforceSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
168211  	return nil, false
168212  }
168213  
168214  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SalesforceSink.
168215  func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
168216  	return nil, false
168217  }
168218  
168219  // AsAzureMySQLSink is the BasicCopySink implementation for SalesforceSink.
168220  func (ss SalesforceSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
168221  	return nil, false
168222  }
168223  
168224  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceSink.
168225  func (ss SalesforceSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
168226  	return nil, false
168227  }
168228  
168229  // AsOrcSink is the BasicCopySink implementation for SalesforceSink.
168230  func (ss SalesforceSink) AsOrcSink() (*OrcSink, bool) {
168231  	return nil, false
168232  }
168233  
168234  // AsJSONSink is the BasicCopySink implementation for SalesforceSink.
168235  func (ss SalesforceSink) AsJSONSink() (*JSONSink, bool) {
168236  	return nil, false
168237  }
168238  
168239  // AsDelimitedTextSink is the BasicCopySink implementation for SalesforceSink.
168240  func (ss SalesforceSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
168241  	return nil, false
168242  }
168243  
168244  // AsCopySink is the BasicCopySink implementation for SalesforceSink.
168245  func (ss SalesforceSink) AsCopySink() (*CopySink, bool) {
168246  	return nil, false
168247  }
168248  
168249  // AsBasicCopySink is the BasicCopySink implementation for SalesforceSink.
168250  func (ss SalesforceSink) AsBasicCopySink() (BasicCopySink, bool) {
168251  	return &ss, true
168252  }
168253  
168254  // UnmarshalJSON is the custom unmarshaler for SalesforceSink struct.
168255  func (ss *SalesforceSink) UnmarshalJSON(body []byte) error {
168256  	var m map[string]*json.RawMessage
168257  	err := json.Unmarshal(body, &m)
168258  	if err != nil {
168259  		return err
168260  	}
168261  	for k, v := range m {
168262  		switch k {
168263  		case "writeBehavior":
168264  			if v != nil {
168265  				var writeBehavior SalesforceSinkWriteBehavior
168266  				err = json.Unmarshal(*v, &writeBehavior)
168267  				if err != nil {
168268  					return err
168269  				}
168270  				ss.WriteBehavior = writeBehavior
168271  			}
168272  		case "externalIdFieldName":
168273  			if v != nil {
168274  				var externalIDFieldName interface{}
168275  				err = json.Unmarshal(*v, &externalIDFieldName)
168276  				if err != nil {
168277  					return err
168278  				}
168279  				ss.ExternalIDFieldName = externalIDFieldName
168280  			}
168281  		case "ignoreNullValues":
168282  			if v != nil {
168283  				var ignoreNullValues interface{}
168284  				err = json.Unmarshal(*v, &ignoreNullValues)
168285  				if err != nil {
168286  					return err
168287  				}
168288  				ss.IgnoreNullValues = ignoreNullValues
168289  			}
168290  		default:
168291  			if v != nil {
168292  				var additionalProperties interface{}
168293  				err = json.Unmarshal(*v, &additionalProperties)
168294  				if err != nil {
168295  					return err
168296  				}
168297  				if ss.AdditionalProperties == nil {
168298  					ss.AdditionalProperties = make(map[string]interface{})
168299  				}
168300  				ss.AdditionalProperties[k] = additionalProperties
168301  			}
168302  		case "writeBatchSize":
168303  			if v != nil {
168304  				var writeBatchSize interface{}
168305  				err = json.Unmarshal(*v, &writeBatchSize)
168306  				if err != nil {
168307  					return err
168308  				}
168309  				ss.WriteBatchSize = writeBatchSize
168310  			}
168311  		case "writeBatchTimeout":
168312  			if v != nil {
168313  				var writeBatchTimeout interface{}
168314  				err = json.Unmarshal(*v, &writeBatchTimeout)
168315  				if err != nil {
168316  					return err
168317  				}
168318  				ss.WriteBatchTimeout = writeBatchTimeout
168319  			}
168320  		case "sinkRetryCount":
168321  			if v != nil {
168322  				var sinkRetryCount interface{}
168323  				err = json.Unmarshal(*v, &sinkRetryCount)
168324  				if err != nil {
168325  					return err
168326  				}
168327  				ss.SinkRetryCount = sinkRetryCount
168328  			}
168329  		case "sinkRetryWait":
168330  			if v != nil {
168331  				var sinkRetryWait interface{}
168332  				err = json.Unmarshal(*v, &sinkRetryWait)
168333  				if err != nil {
168334  					return err
168335  				}
168336  				ss.SinkRetryWait = sinkRetryWait
168337  			}
168338  		case "maxConcurrentConnections":
168339  			if v != nil {
168340  				var maxConcurrentConnections interface{}
168341  				err = json.Unmarshal(*v, &maxConcurrentConnections)
168342  				if err != nil {
168343  					return err
168344  				}
168345  				ss.MaxConcurrentConnections = maxConcurrentConnections
168346  			}
168347  		case "type":
168348  			if v != nil {
168349  				var typeVar TypeBasicCopySink
168350  				err = json.Unmarshal(*v, &typeVar)
168351  				if err != nil {
168352  					return err
168353  				}
168354  				ss.Type = typeVar
168355  			}
168356  		}
168357  	}
168358  
168359  	return nil
168360  }
168361  
168362  // SalesforceSource a copy activity Salesforce source.
168363  type SalesforceSource struct {
168364  	// Query - Database query. Type: string (or Expression with resultType string).
168365  	Query interface{} `json:"query,omitempty"`
168366  	// ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll'
168367  	ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"`
168368  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
168369  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
168370  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
168371  	AdditionalProperties map[string]interface{} `json:""`
168372  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
168373  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
168374  	// 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])).
168375  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
168376  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
168377  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
168378  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
168379  	Type TypeBasicCopySource `json:"type,omitempty"`
168380  }
168381  
168382  // MarshalJSON is the custom marshaler for SalesforceSource.
168383  func (ss SalesforceSource) MarshalJSON() ([]byte, error) {
168384  	ss.Type = TypeSalesforceSource
168385  	objectMap := make(map[string]interface{})
168386  	if ss.Query != nil {
168387  		objectMap["query"] = ss.Query
168388  	}
168389  	if ss.ReadBehavior != "" {
168390  		objectMap["readBehavior"] = ss.ReadBehavior
168391  	}
168392  	if ss.QueryTimeout != nil {
168393  		objectMap["queryTimeout"] = ss.QueryTimeout
168394  	}
168395  	if ss.SourceRetryCount != nil {
168396  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
168397  	}
168398  	if ss.SourceRetryWait != nil {
168399  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
168400  	}
168401  	if ss.MaxConcurrentConnections != nil {
168402  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
168403  	}
168404  	if ss.Type != "" {
168405  		objectMap["type"] = ss.Type
168406  	}
168407  	for k, v := range ss.AdditionalProperties {
168408  		objectMap[k] = v
168409  	}
168410  	return json.Marshal(objectMap)
168411  }
168412  
168413  // AsHTTPSource is the BasicCopySource implementation for SalesforceSource.
168414  func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) {
168415  	return nil, false
168416  }
168417  
168418  // AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceSource.
168419  func (ss SalesforceSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
168420  	return nil, false
168421  }
168422  
168423  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource.
168424  func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
168425  	return nil, false
168426  }
168427  
168428  // AsOffice365Source is the BasicCopySource implementation for SalesforceSource.
168429  func (ss SalesforceSource) AsOffice365Source() (*Office365Source, bool) {
168430  	return nil, false
168431  }
168432  
168433  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceSource.
168434  func (ss SalesforceSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
168435  	return nil, false
168436  }
168437  
168438  // AsMongoDbV2Source is the BasicCopySource implementation for SalesforceSource.
168439  func (ss SalesforceSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
168440  	return nil, false
168441  }
168442  
168443  // AsMongoDbSource is the BasicCopySource implementation for SalesforceSource.
168444  func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) {
168445  	return nil, false
168446  }
168447  
168448  // AsWebSource is the BasicCopySource implementation for SalesforceSource.
168449  func (ss SalesforceSource) AsWebSource() (*WebSource, bool) {
168450  	return nil, false
168451  }
168452  
168453  // AsOracleSource is the BasicCopySource implementation for SalesforceSource.
168454  func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) {
168455  	return nil, false
168456  }
168457  
168458  // AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceSource.
168459  func (ss SalesforceSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
168460  	return nil, false
168461  }
168462  
168463  // AsHdfsSource is the BasicCopySource implementation for SalesforceSource.
168464  func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) {
168465  	return nil, false
168466  }
168467  
168468  // AsFileSystemSource is the BasicCopySource implementation for SalesforceSource.
168469  func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) {
168470  	return nil, false
168471  }
168472  
168473  // AsRestSource is the BasicCopySource implementation for SalesforceSource.
168474  func (ss SalesforceSource) AsRestSource() (*RestSource, bool) {
168475  	return nil, false
168476  }
168477  
168478  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceSource.
168479  func (ss SalesforceSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
168480  	return nil, false
168481  }
168482  
168483  // AsODataSource is the BasicCopySource implementation for SalesforceSource.
168484  func (ss SalesforceSource) AsODataSource() (*ODataSource, bool) {
168485  	return nil, false
168486  }
168487  
168488  // AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceSource.
168489  func (ss SalesforceSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
168490  	return nil, false
168491  }
168492  
168493  // AsRelationalSource is the BasicCopySource implementation for SalesforceSource.
168494  func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) {
168495  	return nil, false
168496  }
168497  
168498  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceSource.
168499  func (ss SalesforceSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
168500  	return nil, false
168501  }
168502  
168503  // AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceSource.
168504  func (ss SalesforceSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
168505  	return nil, false
168506  }
168507  
168508  // AsDynamicsSource is the BasicCopySource implementation for SalesforceSource.
168509  func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) {
168510  	return nil, false
168511  }
168512  
168513  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceSource.
168514  func (ss SalesforceSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
168515  	return nil, false
168516  }
168517  
168518  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource.
168519  func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
168520  	return nil, false
168521  }
168522  
168523  // AsBlobSource is the BasicCopySource implementation for SalesforceSource.
168524  func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) {
168525  	return nil, false
168526  }
168527  
168528  // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource.
168529  func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
168530  	return nil, false
168531  }
168532  
168533  // AsGoogleAdWordsSource is the BasicCopySource implementation for SalesforceSource.
168534  func (ss SalesforceSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
168535  	return nil, false
168536  }
168537  
168538  // AsOracleServiceCloudSource is the BasicCopySource implementation for SalesforceSource.
168539  func (ss SalesforceSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
168540  	return nil, false
168541  }
168542  
168543  // AsDynamicsAXSource is the BasicCopySource implementation for SalesforceSource.
168544  func (ss SalesforceSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
168545  	return nil, false
168546  }
168547  
168548  // AsResponsysSource is the BasicCopySource implementation for SalesforceSource.
168549  func (ss SalesforceSource) AsResponsysSource() (*ResponsysSource, bool) {
168550  	return nil, false
168551  }
168552  
168553  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SalesforceSource.
168554  func (ss SalesforceSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
168555  	return nil, false
168556  }
168557  
168558  // AsVerticaSource is the BasicCopySource implementation for SalesforceSource.
168559  func (ss SalesforceSource) AsVerticaSource() (*VerticaSource, bool) {
168560  	return nil, false
168561  }
168562  
168563  // AsNetezzaSource is the BasicCopySource implementation for SalesforceSource.
168564  func (ss SalesforceSource) AsNetezzaSource() (*NetezzaSource, bool) {
168565  	return nil, false
168566  }
168567  
168568  // AsZohoSource is the BasicCopySource implementation for SalesforceSource.
168569  func (ss SalesforceSource) AsZohoSource() (*ZohoSource, bool) {
168570  	return nil, false
168571  }
168572  
168573  // AsXeroSource is the BasicCopySource implementation for SalesforceSource.
168574  func (ss SalesforceSource) AsXeroSource() (*XeroSource, bool) {
168575  	return nil, false
168576  }
168577  
168578  // AsSquareSource is the BasicCopySource implementation for SalesforceSource.
168579  func (ss SalesforceSource) AsSquareSource() (*SquareSource, bool) {
168580  	return nil, false
168581  }
168582  
168583  // AsSparkSource is the BasicCopySource implementation for SalesforceSource.
168584  func (ss SalesforceSource) AsSparkSource() (*SparkSource, bool) {
168585  	return nil, false
168586  }
168587  
168588  // AsShopifySource is the BasicCopySource implementation for SalesforceSource.
168589  func (ss SalesforceSource) AsShopifySource() (*ShopifySource, bool) {
168590  	return nil, false
168591  }
168592  
168593  // AsServiceNowSource is the BasicCopySource implementation for SalesforceSource.
168594  func (ss SalesforceSource) AsServiceNowSource() (*ServiceNowSource, bool) {
168595  	return nil, false
168596  }
168597  
168598  // AsQuickBooksSource is the BasicCopySource implementation for SalesforceSource.
168599  func (ss SalesforceSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
168600  	return nil, false
168601  }
168602  
168603  // AsPrestoSource is the BasicCopySource implementation for SalesforceSource.
168604  func (ss SalesforceSource) AsPrestoSource() (*PrestoSource, bool) {
168605  	return nil, false
168606  }
168607  
168608  // AsPhoenixSource is the BasicCopySource implementation for SalesforceSource.
168609  func (ss SalesforceSource) AsPhoenixSource() (*PhoenixSource, bool) {
168610  	return nil, false
168611  }
168612  
168613  // AsPaypalSource is the BasicCopySource implementation for SalesforceSource.
168614  func (ss SalesforceSource) AsPaypalSource() (*PaypalSource, bool) {
168615  	return nil, false
168616  }
168617  
168618  // AsMarketoSource is the BasicCopySource implementation for SalesforceSource.
168619  func (ss SalesforceSource) AsMarketoSource() (*MarketoSource, bool) {
168620  	return nil, false
168621  }
168622  
168623  // AsAzureMariaDBSource is the BasicCopySource implementation for SalesforceSource.
168624  func (ss SalesforceSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
168625  	return nil, false
168626  }
168627  
168628  // AsMariaDBSource is the BasicCopySource implementation for SalesforceSource.
168629  func (ss SalesforceSource) AsMariaDBSource() (*MariaDBSource, bool) {
168630  	return nil, false
168631  }
168632  
168633  // AsMagentoSource is the BasicCopySource implementation for SalesforceSource.
168634  func (ss SalesforceSource) AsMagentoSource() (*MagentoSource, bool) {
168635  	return nil, false
168636  }
168637  
168638  // AsJiraSource is the BasicCopySource implementation for SalesforceSource.
168639  func (ss SalesforceSource) AsJiraSource() (*JiraSource, bool) {
168640  	return nil, false
168641  }
168642  
168643  // AsImpalaSource is the BasicCopySource implementation for SalesforceSource.
168644  func (ss SalesforceSource) AsImpalaSource() (*ImpalaSource, bool) {
168645  	return nil, false
168646  }
168647  
168648  // AsHubspotSource is the BasicCopySource implementation for SalesforceSource.
168649  func (ss SalesforceSource) AsHubspotSource() (*HubspotSource, bool) {
168650  	return nil, false
168651  }
168652  
168653  // AsHiveSource is the BasicCopySource implementation for SalesforceSource.
168654  func (ss SalesforceSource) AsHiveSource() (*HiveSource, bool) {
168655  	return nil, false
168656  }
168657  
168658  // AsHBaseSource is the BasicCopySource implementation for SalesforceSource.
168659  func (ss SalesforceSource) AsHBaseSource() (*HBaseSource, bool) {
168660  	return nil, false
168661  }
168662  
168663  // AsGreenplumSource is the BasicCopySource implementation for SalesforceSource.
168664  func (ss SalesforceSource) AsGreenplumSource() (*GreenplumSource, bool) {
168665  	return nil, false
168666  }
168667  
168668  // AsGoogleBigQuerySource is the BasicCopySource implementation for SalesforceSource.
168669  func (ss SalesforceSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
168670  	return nil, false
168671  }
168672  
168673  // AsEloquaSource is the BasicCopySource implementation for SalesforceSource.
168674  func (ss SalesforceSource) AsEloquaSource() (*EloquaSource, bool) {
168675  	return nil, false
168676  }
168677  
168678  // AsDrillSource is the BasicCopySource implementation for SalesforceSource.
168679  func (ss SalesforceSource) AsDrillSource() (*DrillSource, bool) {
168680  	return nil, false
168681  }
168682  
168683  // AsCouchbaseSource is the BasicCopySource implementation for SalesforceSource.
168684  func (ss SalesforceSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
168685  	return nil, false
168686  }
168687  
168688  // AsConcurSource is the BasicCopySource implementation for SalesforceSource.
168689  func (ss SalesforceSource) AsConcurSource() (*ConcurSource, bool) {
168690  	return nil, false
168691  }
168692  
168693  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
168694  func (ss SalesforceSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
168695  	return nil, false
168696  }
168697  
168698  // AsAmazonMWSSource is the BasicCopySource implementation for SalesforceSource.
168699  func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
168700  	return nil, false
168701  }
168702  
168703  // AsCassandraSource is the BasicCopySource implementation for SalesforceSource.
168704  func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) {
168705  	return nil, false
168706  }
168707  
168708  // AsTeradataSource is the BasicCopySource implementation for SalesforceSource.
168709  func (ss SalesforceSource) AsTeradataSource() (*TeradataSource, bool) {
168710  	return nil, false
168711  }
168712  
168713  // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource.
168714  func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
168715  	return nil, false
168716  }
168717  
168718  // AsSQLDWSource is the BasicCopySource implementation for SalesforceSource.
168719  func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) {
168720  	return nil, false
168721  }
168722  
168723  // AsSQLMISource is the BasicCopySource implementation for SalesforceSource.
168724  func (ss SalesforceSource) AsSQLMISource() (*SQLMISource, bool) {
168725  	return nil, false
168726  }
168727  
168728  // AsAzureSQLSource is the BasicCopySource implementation for SalesforceSource.
168729  func (ss SalesforceSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
168730  	return nil, false
168731  }
168732  
168733  // AsSQLServerSource is the BasicCopySource implementation for SalesforceSource.
168734  func (ss SalesforceSource) AsSQLServerSource() (*SQLServerSource, bool) {
168735  	return nil, false
168736  }
168737  
168738  // AsSQLSource is the BasicCopySource implementation for SalesforceSource.
168739  func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) {
168740  	return nil, false
168741  }
168742  
168743  // AsSapTableSource is the BasicCopySource implementation for SalesforceSource.
168744  func (ss SalesforceSource) AsSapTableSource() (*SapTableSource, bool) {
168745  	return nil, false
168746  }
168747  
168748  // AsSapOpenHubSource is the BasicCopySource implementation for SalesforceSource.
168749  func (ss SalesforceSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
168750  	return nil, false
168751  }
168752  
168753  // AsSapHanaSource is the BasicCopySource implementation for SalesforceSource.
168754  func (ss SalesforceSource) AsSapHanaSource() (*SapHanaSource, bool) {
168755  	return nil, false
168756  }
168757  
168758  // AsSapEccSource is the BasicCopySource implementation for SalesforceSource.
168759  func (ss SalesforceSource) AsSapEccSource() (*SapEccSource, bool) {
168760  	return nil, false
168761  }
168762  
168763  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SalesforceSource.
168764  func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
168765  	return nil, false
168766  }
168767  
168768  // AsSalesforceSource is the BasicCopySource implementation for SalesforceSource.
168769  func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) {
168770  	return &ss, true
168771  }
168772  
168773  // AsSapBwSource is the BasicCopySource implementation for SalesforceSource.
168774  func (ss SalesforceSource) AsSapBwSource() (*SapBwSource, bool) {
168775  	return nil, false
168776  }
168777  
168778  // AsSybaseSource is the BasicCopySource implementation for SalesforceSource.
168779  func (ss SalesforceSource) AsSybaseSource() (*SybaseSource, bool) {
168780  	return nil, false
168781  }
168782  
168783  // AsPostgreSQLSource is the BasicCopySource implementation for SalesforceSource.
168784  func (ss SalesforceSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
168785  	return nil, false
168786  }
168787  
168788  // AsMySQLSource is the BasicCopySource implementation for SalesforceSource.
168789  func (ss SalesforceSource) AsMySQLSource() (*MySQLSource, bool) {
168790  	return nil, false
168791  }
168792  
168793  // AsOdbcSource is the BasicCopySource implementation for SalesforceSource.
168794  func (ss SalesforceSource) AsOdbcSource() (*OdbcSource, bool) {
168795  	return nil, false
168796  }
168797  
168798  // AsDb2Source is the BasicCopySource implementation for SalesforceSource.
168799  func (ss SalesforceSource) AsDb2Source() (*Db2Source, bool) {
168800  	return nil, false
168801  }
168802  
168803  // AsInformixSource is the BasicCopySource implementation for SalesforceSource.
168804  func (ss SalesforceSource) AsInformixSource() (*InformixSource, bool) {
168805  	return nil, false
168806  }
168807  
168808  // AsAzureTableSource is the BasicCopySource implementation for SalesforceSource.
168809  func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) {
168810  	return nil, false
168811  }
168812  
168813  // AsTabularSource is the BasicCopySource implementation for SalesforceSource.
168814  func (ss SalesforceSource) AsTabularSource() (*TabularSource, bool) {
168815  	return nil, false
168816  }
168817  
168818  // AsBasicTabularSource is the BasicCopySource implementation for SalesforceSource.
168819  func (ss SalesforceSource) AsBasicTabularSource() (BasicTabularSource, bool) {
168820  	return &ss, true
168821  }
168822  
168823  // AsBinarySource is the BasicCopySource implementation for SalesforceSource.
168824  func (ss SalesforceSource) AsBinarySource() (*BinarySource, bool) {
168825  	return nil, false
168826  }
168827  
168828  // AsOrcSource is the BasicCopySource implementation for SalesforceSource.
168829  func (ss SalesforceSource) AsOrcSource() (*OrcSource, bool) {
168830  	return nil, false
168831  }
168832  
168833  // AsJSONSource is the BasicCopySource implementation for SalesforceSource.
168834  func (ss SalesforceSource) AsJSONSource() (*JSONSource, bool) {
168835  	return nil, false
168836  }
168837  
168838  // AsDelimitedTextSource is the BasicCopySource implementation for SalesforceSource.
168839  func (ss SalesforceSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
168840  	return nil, false
168841  }
168842  
168843  // AsParquetSource is the BasicCopySource implementation for SalesforceSource.
168844  func (ss SalesforceSource) AsParquetSource() (*ParquetSource, bool) {
168845  	return nil, false
168846  }
168847  
168848  // AsAvroSource is the BasicCopySource implementation for SalesforceSource.
168849  func (ss SalesforceSource) AsAvroSource() (*AvroSource, bool) {
168850  	return nil, false
168851  }
168852  
168853  // AsCopySource is the BasicCopySource implementation for SalesforceSource.
168854  func (ss SalesforceSource) AsCopySource() (*CopySource, bool) {
168855  	return nil, false
168856  }
168857  
168858  // AsBasicCopySource is the BasicCopySource implementation for SalesforceSource.
168859  func (ss SalesforceSource) AsBasicCopySource() (BasicCopySource, bool) {
168860  	return &ss, true
168861  }
168862  
168863  // UnmarshalJSON is the custom unmarshaler for SalesforceSource struct.
168864  func (ss *SalesforceSource) UnmarshalJSON(body []byte) error {
168865  	var m map[string]*json.RawMessage
168866  	err := json.Unmarshal(body, &m)
168867  	if err != nil {
168868  		return err
168869  	}
168870  	for k, v := range m {
168871  		switch k {
168872  		case "query":
168873  			if v != nil {
168874  				var query interface{}
168875  				err = json.Unmarshal(*v, &query)
168876  				if err != nil {
168877  					return err
168878  				}
168879  				ss.Query = query
168880  			}
168881  		case "readBehavior":
168882  			if v != nil {
168883  				var readBehavior SalesforceSourceReadBehavior
168884  				err = json.Unmarshal(*v, &readBehavior)
168885  				if err != nil {
168886  					return err
168887  				}
168888  				ss.ReadBehavior = readBehavior
168889  			}
168890  		case "queryTimeout":
168891  			if v != nil {
168892  				var queryTimeout interface{}
168893  				err = json.Unmarshal(*v, &queryTimeout)
168894  				if err != nil {
168895  					return err
168896  				}
168897  				ss.QueryTimeout = queryTimeout
168898  			}
168899  		default:
168900  			if v != nil {
168901  				var additionalProperties interface{}
168902  				err = json.Unmarshal(*v, &additionalProperties)
168903  				if err != nil {
168904  					return err
168905  				}
168906  				if ss.AdditionalProperties == nil {
168907  					ss.AdditionalProperties = make(map[string]interface{})
168908  				}
168909  				ss.AdditionalProperties[k] = additionalProperties
168910  			}
168911  		case "sourceRetryCount":
168912  			if v != nil {
168913  				var sourceRetryCount interface{}
168914  				err = json.Unmarshal(*v, &sourceRetryCount)
168915  				if err != nil {
168916  					return err
168917  				}
168918  				ss.SourceRetryCount = sourceRetryCount
168919  			}
168920  		case "sourceRetryWait":
168921  			if v != nil {
168922  				var sourceRetryWait interface{}
168923  				err = json.Unmarshal(*v, &sourceRetryWait)
168924  				if err != nil {
168925  					return err
168926  				}
168927  				ss.SourceRetryWait = sourceRetryWait
168928  			}
168929  		case "maxConcurrentConnections":
168930  			if v != nil {
168931  				var maxConcurrentConnections interface{}
168932  				err = json.Unmarshal(*v, &maxConcurrentConnections)
168933  				if err != nil {
168934  					return err
168935  				}
168936  				ss.MaxConcurrentConnections = maxConcurrentConnections
168937  			}
168938  		case "type":
168939  			if v != nil {
168940  				var typeVar TypeBasicCopySource
168941  				err = json.Unmarshal(*v, &typeVar)
168942  				if err != nil {
168943  					return err
168944  				}
168945  				ss.Type = typeVar
168946  			}
168947  		}
168948  	}
168949  
168950  	return nil
168951  }
168952  
168953  // SapBwCubeDataset the SAP BW cube dataset.
168954  type SapBwCubeDataset struct {
168955  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
168956  	AdditionalProperties map[string]interface{} `json:""`
168957  	// Description - Dataset description.
168958  	Description *string `json:"description,omitempty"`
168959  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
168960  	Structure interface{} `json:"structure,omitempty"`
168961  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
168962  	Schema interface{} `json:"schema,omitempty"`
168963  	// LinkedServiceName - Linked service reference.
168964  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
168965  	// Parameters - Parameters for dataset.
168966  	Parameters map[string]*ParameterSpecification `json:"parameters"`
168967  	// Annotations - List of tags that can be used for describing the Dataset.
168968  	Annotations *[]interface{} `json:"annotations,omitempty"`
168969  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
168970  	Folder *DatasetFolder `json:"folder,omitempty"`
168971  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
168972  	Type TypeBasicDataset `json:"type,omitempty"`
168973  }
168974  
168975  // MarshalJSON is the custom marshaler for SapBwCubeDataset.
168976  func (sbcd SapBwCubeDataset) MarshalJSON() ([]byte, error) {
168977  	sbcd.Type = TypeSapBwCube
168978  	objectMap := make(map[string]interface{})
168979  	if sbcd.Description != nil {
168980  		objectMap["description"] = sbcd.Description
168981  	}
168982  	if sbcd.Structure != nil {
168983  		objectMap["structure"] = sbcd.Structure
168984  	}
168985  	if sbcd.Schema != nil {
168986  		objectMap["schema"] = sbcd.Schema
168987  	}
168988  	if sbcd.LinkedServiceName != nil {
168989  		objectMap["linkedServiceName"] = sbcd.LinkedServiceName
168990  	}
168991  	if sbcd.Parameters != nil {
168992  		objectMap["parameters"] = sbcd.Parameters
168993  	}
168994  	if sbcd.Annotations != nil {
168995  		objectMap["annotations"] = sbcd.Annotations
168996  	}
168997  	if sbcd.Folder != nil {
168998  		objectMap["folder"] = sbcd.Folder
168999  	}
169000  	if sbcd.Type != "" {
169001  		objectMap["type"] = sbcd.Type
169002  	}
169003  	for k, v := range sbcd.AdditionalProperties {
169004  		objectMap[k] = v
169005  	}
169006  	return json.Marshal(objectMap)
169007  }
169008  
169009  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169010  func (sbcd SapBwCubeDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
169011  	return nil, false
169012  }
169013  
169014  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169015  func (sbcd SapBwCubeDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
169016  	return nil, false
169017  }
169018  
169019  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169020  func (sbcd SapBwCubeDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
169021  	return nil, false
169022  }
169023  
169024  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169025  func (sbcd SapBwCubeDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
169026  	return nil, false
169027  }
169028  
169029  // AsResponsysObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169030  func (sbcd SapBwCubeDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
169031  	return nil, false
169032  }
169033  
169034  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169035  func (sbcd SapBwCubeDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
169036  	return nil, false
169037  }
169038  
169039  // AsVerticaTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169040  func (sbcd SapBwCubeDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
169041  	return nil, false
169042  }
169043  
169044  // AsNetezzaTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169045  func (sbcd SapBwCubeDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
169046  	return nil, false
169047  }
169048  
169049  // AsZohoObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169050  func (sbcd SapBwCubeDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
169051  	return nil, false
169052  }
169053  
169054  // AsXeroObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169055  func (sbcd SapBwCubeDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
169056  	return nil, false
169057  }
169058  
169059  // AsSquareObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169060  func (sbcd SapBwCubeDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
169061  	return nil, false
169062  }
169063  
169064  // AsSparkObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169065  func (sbcd SapBwCubeDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
169066  	return nil, false
169067  }
169068  
169069  // AsShopifyObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169070  func (sbcd SapBwCubeDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
169071  	return nil, false
169072  }
169073  
169074  // AsServiceNowObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169075  func (sbcd SapBwCubeDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
169076  	return nil, false
169077  }
169078  
169079  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169080  func (sbcd SapBwCubeDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
169081  	return nil, false
169082  }
169083  
169084  // AsPrestoObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169085  func (sbcd SapBwCubeDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
169086  	return nil, false
169087  }
169088  
169089  // AsPhoenixObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169090  func (sbcd SapBwCubeDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
169091  	return nil, false
169092  }
169093  
169094  // AsPaypalObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169095  func (sbcd SapBwCubeDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
169096  	return nil, false
169097  }
169098  
169099  // AsMarketoObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169100  func (sbcd SapBwCubeDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
169101  	return nil, false
169102  }
169103  
169104  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169105  func (sbcd SapBwCubeDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
169106  	return nil, false
169107  }
169108  
169109  // AsMariaDBTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169110  func (sbcd SapBwCubeDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
169111  	return nil, false
169112  }
169113  
169114  // AsMagentoObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169115  func (sbcd SapBwCubeDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
169116  	return nil, false
169117  }
169118  
169119  // AsJiraObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169120  func (sbcd SapBwCubeDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
169121  	return nil, false
169122  }
169123  
169124  // AsImpalaObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169125  func (sbcd SapBwCubeDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
169126  	return nil, false
169127  }
169128  
169129  // AsHubspotObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169130  func (sbcd SapBwCubeDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
169131  	return nil, false
169132  }
169133  
169134  // AsHiveObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169135  func (sbcd SapBwCubeDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
169136  	return nil, false
169137  }
169138  
169139  // AsHBaseObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169140  func (sbcd SapBwCubeDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
169141  	return nil, false
169142  }
169143  
169144  // AsGreenplumTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169145  func (sbcd SapBwCubeDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
169146  	return nil, false
169147  }
169148  
169149  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169150  func (sbcd SapBwCubeDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
169151  	return nil, false
169152  }
169153  
169154  // AsEloquaObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169155  func (sbcd SapBwCubeDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
169156  	return nil, false
169157  }
169158  
169159  // AsDrillTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169160  func (sbcd SapBwCubeDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
169161  	return nil, false
169162  }
169163  
169164  // AsCouchbaseTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169165  func (sbcd SapBwCubeDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
169166  	return nil, false
169167  }
169168  
169169  // AsConcurObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169170  func (sbcd SapBwCubeDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
169171  	return nil, false
169172  }
169173  
169174  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169175  func (sbcd SapBwCubeDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
169176  	return nil, false
169177  }
169178  
169179  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169180  func (sbcd SapBwCubeDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
169181  	return nil, false
169182  }
169183  
169184  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapBwCubeDataset.
169185  func (sbcd SapBwCubeDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
169186  	return nil, false
169187  }
169188  
169189  // AsWebTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169190  func (sbcd SapBwCubeDataset) AsWebTableDataset() (*WebTableDataset, bool) {
169191  	return nil, false
169192  }
169193  
169194  // AsSapTableResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169195  func (sbcd SapBwCubeDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
169196  	return nil, false
169197  }
169198  
169199  // AsRestResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169200  func (sbcd SapBwCubeDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
169201  	return nil, false
169202  }
169203  
169204  // AsSQLServerTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169205  func (sbcd SapBwCubeDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
169206  	return nil, false
169207  }
169208  
169209  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169210  func (sbcd SapBwCubeDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
169211  	return nil, false
169212  }
169213  
169214  // AsSapHanaTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169215  func (sbcd SapBwCubeDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
169216  	return nil, false
169217  }
169218  
169219  // AsSapEccResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169220  func (sbcd SapBwCubeDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
169221  	return nil, false
169222  }
169223  
169224  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169225  func (sbcd SapBwCubeDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
169226  	return nil, false
169227  }
169228  
169229  // AsSapBwCubeDataset is the BasicDataset implementation for SapBwCubeDataset.
169230  func (sbcd SapBwCubeDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
169231  	return &sbcd, true
169232  }
169233  
169234  // AsSybaseTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169235  func (sbcd SapBwCubeDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
169236  	return nil, false
169237  }
169238  
169239  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169240  func (sbcd SapBwCubeDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
169241  	return nil, false
169242  }
169243  
169244  // AsSalesforceObjectDataset is the BasicDataset implementation for SapBwCubeDataset.
169245  func (sbcd SapBwCubeDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
169246  	return nil, false
169247  }
169248  
169249  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169250  func (sbcd SapBwCubeDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
169251  	return nil, false
169252  }
169253  
169254  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169255  func (sbcd SapBwCubeDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
169256  	return nil, false
169257  }
169258  
169259  // AsMySQLTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169260  func (sbcd SapBwCubeDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
169261  	return nil, false
169262  }
169263  
169264  // AsOdbcTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169265  func (sbcd SapBwCubeDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
169266  	return nil, false
169267  }
169268  
169269  // AsInformixTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169270  func (sbcd SapBwCubeDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
169271  	return nil, false
169272  }
169273  
169274  // AsRelationalTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169275  func (sbcd SapBwCubeDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
169276  	return nil, false
169277  }
169278  
169279  // AsDb2TableDataset is the BasicDataset implementation for SapBwCubeDataset.
169280  func (sbcd SapBwCubeDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
169281  	return nil, false
169282  }
169283  
169284  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169285  func (sbcd SapBwCubeDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
169286  	return nil, false
169287  }
169288  
169289  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169290  func (sbcd SapBwCubeDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
169291  	return nil, false
169292  }
169293  
169294  // AsTeradataTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169295  func (sbcd SapBwCubeDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
169296  	return nil, false
169297  }
169298  
169299  // AsOracleTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169300  func (sbcd SapBwCubeDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
169301  	return nil, false
169302  }
169303  
169304  // AsODataResourceDataset is the BasicDataset implementation for SapBwCubeDataset.
169305  func (sbcd SapBwCubeDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
169306  	return nil, false
169307  }
169308  
169309  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapBwCubeDataset.
169310  func (sbcd SapBwCubeDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
169311  	return nil, false
169312  }
169313  
169314  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapBwCubeDataset.
169315  func (sbcd SapBwCubeDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
169316  	return nil, false
169317  }
169318  
169319  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapBwCubeDataset.
169320  func (sbcd SapBwCubeDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
169321  	return nil, false
169322  }
169323  
169324  // AsOffice365Dataset is the BasicDataset implementation for SapBwCubeDataset.
169325  func (sbcd SapBwCubeDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
169326  	return nil, false
169327  }
169328  
169329  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapBwCubeDataset.
169330  func (sbcd SapBwCubeDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
169331  	return nil, false
169332  }
169333  
169334  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapBwCubeDataset.
169335  func (sbcd SapBwCubeDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
169336  	return nil, false
169337  }
169338  
169339  // AsDynamicsEntityDataset is the BasicDataset implementation for SapBwCubeDataset.
169340  func (sbcd SapBwCubeDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
169341  	return nil, false
169342  }
169343  
169344  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapBwCubeDataset.
169345  func (sbcd SapBwCubeDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
169346  	return nil, false
169347  }
169348  
169349  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapBwCubeDataset.
169350  func (sbcd SapBwCubeDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
169351  	return nil, false
169352  }
169353  
169354  // AsCustomDataset is the BasicDataset implementation for SapBwCubeDataset.
169355  func (sbcd SapBwCubeDataset) AsCustomDataset() (*CustomDataset, bool) {
169356  	return nil, false
169357  }
169358  
169359  // AsCassandraTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169360  func (sbcd SapBwCubeDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
169361  	return nil, false
169362  }
169363  
169364  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169365  func (sbcd SapBwCubeDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
169366  	return nil, false
169367  }
169368  
169369  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapBwCubeDataset.
169370  func (sbcd SapBwCubeDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
169371  	return nil, false
169372  }
169373  
169374  // AsAzureSQLTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169375  func (sbcd SapBwCubeDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
169376  	return nil, false
169377  }
169378  
169379  // AsAzureTableDataset is the BasicDataset implementation for SapBwCubeDataset.
169380  func (sbcd SapBwCubeDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
169381  	return nil, false
169382  }
169383  
169384  // AsBinaryDataset is the BasicDataset implementation for SapBwCubeDataset.
169385  func (sbcd SapBwCubeDataset) AsBinaryDataset() (*BinaryDataset, bool) {
169386  	return nil, false
169387  }
169388  
169389  // AsOrcDataset is the BasicDataset implementation for SapBwCubeDataset.
169390  func (sbcd SapBwCubeDataset) AsOrcDataset() (*OrcDataset, bool) {
169391  	return nil, false
169392  }
169393  
169394  // AsJSONDataset is the BasicDataset implementation for SapBwCubeDataset.
169395  func (sbcd SapBwCubeDataset) AsJSONDataset() (*JSONDataset, bool) {
169396  	return nil, false
169397  }
169398  
169399  // AsDelimitedTextDataset is the BasicDataset implementation for SapBwCubeDataset.
169400  func (sbcd SapBwCubeDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
169401  	return nil, false
169402  }
169403  
169404  // AsParquetDataset is the BasicDataset implementation for SapBwCubeDataset.
169405  func (sbcd SapBwCubeDataset) AsParquetDataset() (*ParquetDataset, bool) {
169406  	return nil, false
169407  }
169408  
169409  // AsAvroDataset is the BasicDataset implementation for SapBwCubeDataset.
169410  func (sbcd SapBwCubeDataset) AsAvroDataset() (*AvroDataset, bool) {
169411  	return nil, false
169412  }
169413  
169414  // AsDataset is the BasicDataset implementation for SapBwCubeDataset.
169415  func (sbcd SapBwCubeDataset) AsDataset() (*Dataset, bool) {
169416  	return nil, false
169417  }
169418  
169419  // AsBasicDataset is the BasicDataset implementation for SapBwCubeDataset.
169420  func (sbcd SapBwCubeDataset) AsBasicDataset() (BasicDataset, bool) {
169421  	return &sbcd, true
169422  }
169423  
169424  // UnmarshalJSON is the custom unmarshaler for SapBwCubeDataset struct.
169425  func (sbcd *SapBwCubeDataset) UnmarshalJSON(body []byte) error {
169426  	var m map[string]*json.RawMessage
169427  	err := json.Unmarshal(body, &m)
169428  	if err != nil {
169429  		return err
169430  	}
169431  	for k, v := range m {
169432  		switch k {
169433  		default:
169434  			if v != nil {
169435  				var additionalProperties interface{}
169436  				err = json.Unmarshal(*v, &additionalProperties)
169437  				if err != nil {
169438  					return err
169439  				}
169440  				if sbcd.AdditionalProperties == nil {
169441  					sbcd.AdditionalProperties = make(map[string]interface{})
169442  				}
169443  				sbcd.AdditionalProperties[k] = additionalProperties
169444  			}
169445  		case "description":
169446  			if v != nil {
169447  				var description string
169448  				err = json.Unmarshal(*v, &description)
169449  				if err != nil {
169450  					return err
169451  				}
169452  				sbcd.Description = &description
169453  			}
169454  		case "structure":
169455  			if v != nil {
169456  				var structure interface{}
169457  				err = json.Unmarshal(*v, &structure)
169458  				if err != nil {
169459  					return err
169460  				}
169461  				sbcd.Structure = structure
169462  			}
169463  		case "schema":
169464  			if v != nil {
169465  				var schema interface{}
169466  				err = json.Unmarshal(*v, &schema)
169467  				if err != nil {
169468  					return err
169469  				}
169470  				sbcd.Schema = schema
169471  			}
169472  		case "linkedServiceName":
169473  			if v != nil {
169474  				var linkedServiceName LinkedServiceReference
169475  				err = json.Unmarshal(*v, &linkedServiceName)
169476  				if err != nil {
169477  					return err
169478  				}
169479  				sbcd.LinkedServiceName = &linkedServiceName
169480  			}
169481  		case "parameters":
169482  			if v != nil {
169483  				var parameters map[string]*ParameterSpecification
169484  				err = json.Unmarshal(*v, &parameters)
169485  				if err != nil {
169486  					return err
169487  				}
169488  				sbcd.Parameters = parameters
169489  			}
169490  		case "annotations":
169491  			if v != nil {
169492  				var annotations []interface{}
169493  				err = json.Unmarshal(*v, &annotations)
169494  				if err != nil {
169495  					return err
169496  				}
169497  				sbcd.Annotations = &annotations
169498  			}
169499  		case "folder":
169500  			if v != nil {
169501  				var folder DatasetFolder
169502  				err = json.Unmarshal(*v, &folder)
169503  				if err != nil {
169504  					return err
169505  				}
169506  				sbcd.Folder = &folder
169507  			}
169508  		case "type":
169509  			if v != nil {
169510  				var typeVar TypeBasicDataset
169511  				err = json.Unmarshal(*v, &typeVar)
169512  				if err != nil {
169513  					return err
169514  				}
169515  				sbcd.Type = typeVar
169516  			}
169517  		}
169518  	}
169519  
169520  	return nil
169521  }
169522  
169523  // SapBWLinkedService SAP Business Warehouse Linked Service.
169524  type SapBWLinkedService struct {
169525  	// SapBWLinkedServiceTypeProperties - Properties specific to this linked service type.
169526  	*SapBWLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
169527  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
169528  	AdditionalProperties map[string]interface{} `json:""`
169529  	// ConnectVia - The integration runtime reference.
169530  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
169531  	// Description - Linked service description.
169532  	Description *string `json:"description,omitempty"`
169533  	// Parameters - Parameters for linked service.
169534  	Parameters map[string]*ParameterSpecification `json:"parameters"`
169535  	// Annotations - List of tags that can be used for describing the linked service.
169536  	Annotations *[]interface{} `json:"annotations,omitempty"`
169537  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
169538  	Type TypeBasicLinkedService `json:"type,omitempty"`
169539  }
169540  
169541  // MarshalJSON is the custom marshaler for SapBWLinkedService.
169542  func (sbls SapBWLinkedService) MarshalJSON() ([]byte, error) {
169543  	sbls.Type = TypeSapBW
169544  	objectMap := make(map[string]interface{})
169545  	if sbls.SapBWLinkedServiceTypeProperties != nil {
169546  		objectMap["typeProperties"] = sbls.SapBWLinkedServiceTypeProperties
169547  	}
169548  	if sbls.ConnectVia != nil {
169549  		objectMap["connectVia"] = sbls.ConnectVia
169550  	}
169551  	if sbls.Description != nil {
169552  		objectMap["description"] = sbls.Description
169553  	}
169554  	if sbls.Parameters != nil {
169555  		objectMap["parameters"] = sbls.Parameters
169556  	}
169557  	if sbls.Annotations != nil {
169558  		objectMap["annotations"] = sbls.Annotations
169559  	}
169560  	if sbls.Type != "" {
169561  		objectMap["type"] = sbls.Type
169562  	}
169563  	for k, v := range sbls.AdditionalProperties {
169564  		objectMap[k] = v
169565  	}
169566  	return json.Marshal(objectMap)
169567  }
169568  
169569  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169570  func (sbls SapBWLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
169571  	return nil, false
169572  }
169573  
169574  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169575  func (sbls SapBWLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
169576  	return nil, false
169577  }
169578  
169579  // AsSapTableLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169580  func (sbls SapBWLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
169581  	return nil, false
169582  }
169583  
169584  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169585  func (sbls SapBWLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
169586  	return nil, false
169587  }
169588  
169589  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169590  func (sbls SapBWLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
169591  	return nil, false
169592  }
169593  
169594  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169595  func (sbls SapBWLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
169596  	return nil, false
169597  }
169598  
169599  // AsResponsysLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169600  func (sbls SapBWLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
169601  	return nil, false
169602  }
169603  
169604  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169605  func (sbls SapBWLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
169606  	return nil, false
169607  }
169608  
169609  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169610  func (sbls SapBWLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
169611  	return nil, false
169612  }
169613  
169614  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169615  func (sbls SapBWLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
169616  	return nil, false
169617  }
169618  
169619  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169620  func (sbls SapBWLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
169621  	return nil, false
169622  }
169623  
169624  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169625  func (sbls SapBWLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
169626  	return nil, false
169627  }
169628  
169629  // AsVerticaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169630  func (sbls SapBWLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
169631  	return nil, false
169632  }
169633  
169634  // AsZohoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169635  func (sbls SapBWLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
169636  	return nil, false
169637  }
169638  
169639  // AsXeroLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169640  func (sbls SapBWLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
169641  	return nil, false
169642  }
169643  
169644  // AsSquareLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169645  func (sbls SapBWLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
169646  	return nil, false
169647  }
169648  
169649  // AsSparkLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169650  func (sbls SapBWLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
169651  	return nil, false
169652  }
169653  
169654  // AsShopifyLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169655  func (sbls SapBWLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
169656  	return nil, false
169657  }
169658  
169659  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169660  func (sbls SapBWLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
169661  	return nil, false
169662  }
169663  
169664  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169665  func (sbls SapBWLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
169666  	return nil, false
169667  }
169668  
169669  // AsPrestoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169670  func (sbls SapBWLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
169671  	return nil, false
169672  }
169673  
169674  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169675  func (sbls SapBWLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
169676  	return nil, false
169677  }
169678  
169679  // AsPaypalLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169680  func (sbls SapBWLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
169681  	return nil, false
169682  }
169683  
169684  // AsMarketoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169685  func (sbls SapBWLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
169686  	return nil, false
169687  }
169688  
169689  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169690  func (sbls SapBWLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
169691  	return nil, false
169692  }
169693  
169694  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169695  func (sbls SapBWLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
169696  	return nil, false
169697  }
169698  
169699  // AsMagentoLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169700  func (sbls SapBWLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
169701  	return nil, false
169702  }
169703  
169704  // AsJiraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169705  func (sbls SapBWLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
169706  	return nil, false
169707  }
169708  
169709  // AsImpalaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169710  func (sbls SapBWLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
169711  	return nil, false
169712  }
169713  
169714  // AsHubspotLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169715  func (sbls SapBWLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
169716  	return nil, false
169717  }
169718  
169719  // AsHiveLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169720  func (sbls SapBWLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
169721  	return nil, false
169722  }
169723  
169724  // AsHBaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169725  func (sbls SapBWLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
169726  	return nil, false
169727  }
169728  
169729  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169730  func (sbls SapBWLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
169731  	return nil, false
169732  }
169733  
169734  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169735  func (sbls SapBWLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
169736  	return nil, false
169737  }
169738  
169739  // AsEloquaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169740  func (sbls SapBWLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
169741  	return nil, false
169742  }
169743  
169744  // AsDrillLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169745  func (sbls SapBWLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
169746  	return nil, false
169747  }
169748  
169749  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169750  func (sbls SapBWLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
169751  	return nil, false
169752  }
169753  
169754  // AsConcurLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169755  func (sbls SapBWLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
169756  	return nil, false
169757  }
169758  
169759  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169760  func (sbls SapBWLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
169761  	return nil, false
169762  }
169763  
169764  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169765  func (sbls SapBWLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
169766  	return nil, false
169767  }
169768  
169769  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169770  func (sbls SapBWLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
169771  	return nil, false
169772  }
169773  
169774  // AsSapBWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169775  func (sbls SapBWLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
169776  	return &sbls, true
169777  }
169778  
169779  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169780  func (sbls SapBWLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
169781  	return nil, false
169782  }
169783  
169784  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169785  func (sbls SapBWLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
169786  	return nil, false
169787  }
169788  
169789  // AsHTTPLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169790  func (sbls SapBWLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
169791  	return nil, false
169792  }
169793  
169794  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169795  func (sbls SapBWLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
169796  	return nil, false
169797  }
169798  
169799  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169800  func (sbls SapBWLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
169801  	return nil, false
169802  }
169803  
169804  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169805  func (sbls SapBWLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
169806  	return nil, false
169807  }
169808  
169809  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169810  func (sbls SapBWLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
169811  	return nil, false
169812  }
169813  
169814  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169815  func (sbls SapBWLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
169816  	return nil, false
169817  }
169818  
169819  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169820  func (sbls SapBWLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
169821  	return nil, false
169822  }
169823  
169824  // AsSapEccLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169825  func (sbls SapBWLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
169826  	return nil, false
169827  }
169828  
169829  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169830  func (sbls SapBWLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
169831  	return nil, false
169832  }
169833  
169834  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169835  func (sbls SapBWLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
169836  	return nil, false
169837  }
169838  
169839  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169840  func (sbls SapBWLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
169841  	return nil, false
169842  }
169843  
169844  // AsOffice365LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169845  func (sbls SapBWLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
169846  	return nil, false
169847  }
169848  
169849  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169850  func (sbls SapBWLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
169851  	return nil, false
169852  }
169853  
169854  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169855  func (sbls SapBWLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
169856  	return nil, false
169857  }
169858  
169859  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169860  func (sbls SapBWLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
169861  	return nil, false
169862  }
169863  
169864  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169865  func (sbls SapBWLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
169866  	return nil, false
169867  }
169868  
169869  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169870  func (sbls SapBWLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
169871  	return nil, false
169872  }
169873  
169874  // AsCassandraLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169875  func (sbls SapBWLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
169876  	return nil, false
169877  }
169878  
169879  // AsWebLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169880  func (sbls SapBWLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
169881  	return nil, false
169882  }
169883  
169884  // AsODataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169885  func (sbls SapBWLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
169886  	return nil, false
169887  }
169888  
169889  // AsHdfsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169890  func (sbls SapBWLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
169891  	return nil, false
169892  }
169893  
169894  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169895  func (sbls SapBWLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
169896  	return nil, false
169897  }
169898  
169899  // AsInformixLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169900  func (sbls SapBWLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
169901  	return nil, false
169902  }
169903  
169904  // AsOdbcLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169905  func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
169906  	return nil, false
169907  }
169908  
169909  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169910  func (sbls SapBWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
169911  	return nil, false
169912  }
169913  
169914  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169915  func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
169916  	return nil, false
169917  }
169918  
169919  // AsTeradataLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169920  func (sbls SapBWLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
169921  	return nil, false
169922  }
169923  
169924  // AsDb2LinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169925  func (sbls SapBWLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
169926  	return nil, false
169927  }
169928  
169929  // AsSybaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169930  func (sbls SapBWLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
169931  	return nil, false
169932  }
169933  
169934  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169935  func (sbls SapBWLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
169936  	return nil, false
169937  }
169938  
169939  // AsMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169940  func (sbls SapBWLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
169941  	return nil, false
169942  }
169943  
169944  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169945  func (sbls SapBWLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
169946  	return nil, false
169947  }
169948  
169949  // AsOracleLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169950  func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
169951  	return nil, false
169952  }
169953  
169954  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169955  func (sbls SapBWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
169956  	return nil, false
169957  }
169958  
169959  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169960  func (sbls SapBWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
169961  	return nil, false
169962  }
169963  
169964  // AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169965  func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
169966  	return nil, false
169967  }
169968  
169969  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169970  func (sbls SapBWLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
169971  	return nil, false
169972  }
169973  
169974  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169975  func (sbls SapBWLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
169976  	return nil, false
169977  }
169978  
169979  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169980  func (sbls SapBWLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
169981  	return nil, false
169982  }
169983  
169984  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169985  func (sbls SapBWLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
169986  	return nil, false
169987  }
169988  
169989  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169990  func (sbls SapBWLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
169991  	return nil, false
169992  }
169993  
169994  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
169995  func (sbls SapBWLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
169996  	return nil, false
169997  }
169998  
169999  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170000  func (sbls SapBWLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
170001  	return nil, false
170002  }
170003  
170004  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170005  func (sbls SapBWLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
170006  	return nil, false
170007  }
170008  
170009  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170010  func (sbls SapBWLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
170011  	return nil, false
170012  }
170013  
170014  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170015  func (sbls SapBWLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
170016  	return nil, false
170017  }
170018  
170019  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170020  func (sbls SapBWLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
170021  	return nil, false
170022  }
170023  
170024  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170025  func (sbls SapBWLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
170026  	return nil, false
170027  }
170028  
170029  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170030  func (sbls SapBWLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
170031  	return nil, false
170032  }
170033  
170034  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170035  func (sbls SapBWLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
170036  	return nil, false
170037  }
170038  
170039  // AsLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170040  func (sbls SapBWLinkedService) AsLinkedService() (*LinkedService, bool) {
170041  	return nil, false
170042  }
170043  
170044  // AsBasicLinkedService is the BasicLinkedService implementation for SapBWLinkedService.
170045  func (sbls SapBWLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
170046  	return &sbls, true
170047  }
170048  
170049  // UnmarshalJSON is the custom unmarshaler for SapBWLinkedService struct.
170050  func (sbls *SapBWLinkedService) UnmarshalJSON(body []byte) error {
170051  	var m map[string]*json.RawMessage
170052  	err := json.Unmarshal(body, &m)
170053  	if err != nil {
170054  		return err
170055  	}
170056  	for k, v := range m {
170057  		switch k {
170058  		case "typeProperties":
170059  			if v != nil {
170060  				var sapBWLinkedServiceTypeProperties SapBWLinkedServiceTypeProperties
170061  				err = json.Unmarshal(*v, &sapBWLinkedServiceTypeProperties)
170062  				if err != nil {
170063  					return err
170064  				}
170065  				sbls.SapBWLinkedServiceTypeProperties = &sapBWLinkedServiceTypeProperties
170066  			}
170067  		default:
170068  			if v != nil {
170069  				var additionalProperties interface{}
170070  				err = json.Unmarshal(*v, &additionalProperties)
170071  				if err != nil {
170072  					return err
170073  				}
170074  				if sbls.AdditionalProperties == nil {
170075  					sbls.AdditionalProperties = make(map[string]interface{})
170076  				}
170077  				sbls.AdditionalProperties[k] = additionalProperties
170078  			}
170079  		case "connectVia":
170080  			if v != nil {
170081  				var connectVia IntegrationRuntimeReference
170082  				err = json.Unmarshal(*v, &connectVia)
170083  				if err != nil {
170084  					return err
170085  				}
170086  				sbls.ConnectVia = &connectVia
170087  			}
170088  		case "description":
170089  			if v != nil {
170090  				var description string
170091  				err = json.Unmarshal(*v, &description)
170092  				if err != nil {
170093  					return err
170094  				}
170095  				sbls.Description = &description
170096  			}
170097  		case "parameters":
170098  			if v != nil {
170099  				var parameters map[string]*ParameterSpecification
170100  				err = json.Unmarshal(*v, &parameters)
170101  				if err != nil {
170102  					return err
170103  				}
170104  				sbls.Parameters = parameters
170105  			}
170106  		case "annotations":
170107  			if v != nil {
170108  				var annotations []interface{}
170109  				err = json.Unmarshal(*v, &annotations)
170110  				if err != nil {
170111  					return err
170112  				}
170113  				sbls.Annotations = &annotations
170114  			}
170115  		case "type":
170116  			if v != nil {
170117  				var typeVar TypeBasicLinkedService
170118  				err = json.Unmarshal(*v, &typeVar)
170119  				if err != nil {
170120  					return err
170121  				}
170122  				sbls.Type = typeVar
170123  			}
170124  		}
170125  	}
170126  
170127  	return nil
170128  }
170129  
170130  // SapBWLinkedServiceTypeProperties properties specific to this linked service type.
170131  type SapBWLinkedServiceTypeProperties struct {
170132  	// Server - Host name of the SAP BW instance. Type: string (or Expression with resultType string).
170133  	Server interface{} `json:"server,omitempty"`
170134  	// SystemNumber - System number of the BW system. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string).
170135  	SystemNumber interface{} `json:"systemNumber,omitempty"`
170136  	// 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).
170137  	ClientID interface{} `json:"clientId,omitempty"`
170138  	// UserName - Username to access the SAP BW server. Type: string (or Expression with resultType string).
170139  	UserName interface{} `json:"userName,omitempty"`
170140  	// Password - Password to access the SAP BW server.
170141  	Password BasicSecretBase `json:"password,omitempty"`
170142  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
170143  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
170144  }
170145  
170146  // UnmarshalJSON is the custom unmarshaler for SapBWLinkedServiceTypeProperties struct.
170147  func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
170148  	var m map[string]*json.RawMessage
170149  	err := json.Unmarshal(body, &m)
170150  	if err != nil {
170151  		return err
170152  	}
170153  	for k, v := range m {
170154  		switch k {
170155  		case "server":
170156  			if v != nil {
170157  				var server interface{}
170158  				err = json.Unmarshal(*v, &server)
170159  				if err != nil {
170160  					return err
170161  				}
170162  				sblstp.Server = server
170163  			}
170164  		case "systemNumber":
170165  			if v != nil {
170166  				var systemNumber interface{}
170167  				err = json.Unmarshal(*v, &systemNumber)
170168  				if err != nil {
170169  					return err
170170  				}
170171  				sblstp.SystemNumber = systemNumber
170172  			}
170173  		case "clientId":
170174  			if v != nil {
170175  				var clientID interface{}
170176  				err = json.Unmarshal(*v, &clientID)
170177  				if err != nil {
170178  					return err
170179  				}
170180  				sblstp.ClientID = clientID
170181  			}
170182  		case "userName":
170183  			if v != nil {
170184  				var userName interface{}
170185  				err = json.Unmarshal(*v, &userName)
170186  				if err != nil {
170187  					return err
170188  				}
170189  				sblstp.UserName = userName
170190  			}
170191  		case "password":
170192  			if v != nil {
170193  				password, err := unmarshalBasicSecretBase(*v)
170194  				if err != nil {
170195  					return err
170196  				}
170197  				sblstp.Password = password
170198  			}
170199  		case "encryptedCredential":
170200  			if v != nil {
170201  				var encryptedCredential interface{}
170202  				err = json.Unmarshal(*v, &encryptedCredential)
170203  				if err != nil {
170204  					return err
170205  				}
170206  				sblstp.EncryptedCredential = encryptedCredential
170207  			}
170208  		}
170209  	}
170210  
170211  	return nil
170212  }
170213  
170214  // SapBwSource a copy activity source for SapBW server via MDX.
170215  type SapBwSource struct {
170216  	// Query - MDX query. Type: string (or Expression with resultType string).
170217  	Query interface{} `json:"query,omitempty"`
170218  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
170219  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
170220  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
170221  	AdditionalProperties map[string]interface{} `json:""`
170222  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
170223  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
170224  	// 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])).
170225  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
170226  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
170227  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
170228  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
170229  	Type TypeBasicCopySource `json:"type,omitempty"`
170230  }
170231  
170232  // MarshalJSON is the custom marshaler for SapBwSource.
170233  func (sbs SapBwSource) MarshalJSON() ([]byte, error) {
170234  	sbs.Type = TypeSapBwSource
170235  	objectMap := make(map[string]interface{})
170236  	if sbs.Query != nil {
170237  		objectMap["query"] = sbs.Query
170238  	}
170239  	if sbs.QueryTimeout != nil {
170240  		objectMap["queryTimeout"] = sbs.QueryTimeout
170241  	}
170242  	if sbs.SourceRetryCount != nil {
170243  		objectMap["sourceRetryCount"] = sbs.SourceRetryCount
170244  	}
170245  	if sbs.SourceRetryWait != nil {
170246  		objectMap["sourceRetryWait"] = sbs.SourceRetryWait
170247  	}
170248  	if sbs.MaxConcurrentConnections != nil {
170249  		objectMap["maxConcurrentConnections"] = sbs.MaxConcurrentConnections
170250  	}
170251  	if sbs.Type != "" {
170252  		objectMap["type"] = sbs.Type
170253  	}
170254  	for k, v := range sbs.AdditionalProperties {
170255  		objectMap[k] = v
170256  	}
170257  	return json.Marshal(objectMap)
170258  }
170259  
170260  // AsHTTPSource is the BasicCopySource implementation for SapBwSource.
170261  func (sbs SapBwSource) AsHTTPSource() (*HTTPSource, bool) {
170262  	return nil, false
170263  }
170264  
170265  // AsAzureBlobFSSource is the BasicCopySource implementation for SapBwSource.
170266  func (sbs SapBwSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
170267  	return nil, false
170268  }
170269  
170270  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapBwSource.
170271  func (sbs SapBwSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
170272  	return nil, false
170273  }
170274  
170275  // AsOffice365Source is the BasicCopySource implementation for SapBwSource.
170276  func (sbs SapBwSource) AsOffice365Source() (*Office365Source, bool) {
170277  	return nil, false
170278  }
170279  
170280  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapBwSource.
170281  func (sbs SapBwSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
170282  	return nil, false
170283  }
170284  
170285  // AsMongoDbV2Source is the BasicCopySource implementation for SapBwSource.
170286  func (sbs SapBwSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
170287  	return nil, false
170288  }
170289  
170290  // AsMongoDbSource is the BasicCopySource implementation for SapBwSource.
170291  func (sbs SapBwSource) AsMongoDbSource() (*MongoDbSource, bool) {
170292  	return nil, false
170293  }
170294  
170295  // AsWebSource is the BasicCopySource implementation for SapBwSource.
170296  func (sbs SapBwSource) AsWebSource() (*WebSource, bool) {
170297  	return nil, false
170298  }
170299  
170300  // AsOracleSource is the BasicCopySource implementation for SapBwSource.
170301  func (sbs SapBwSource) AsOracleSource() (*OracleSource, bool) {
170302  	return nil, false
170303  }
170304  
170305  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapBwSource.
170306  func (sbs SapBwSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
170307  	return nil, false
170308  }
170309  
170310  // AsHdfsSource is the BasicCopySource implementation for SapBwSource.
170311  func (sbs SapBwSource) AsHdfsSource() (*HdfsSource, bool) {
170312  	return nil, false
170313  }
170314  
170315  // AsFileSystemSource is the BasicCopySource implementation for SapBwSource.
170316  func (sbs SapBwSource) AsFileSystemSource() (*FileSystemSource, bool) {
170317  	return nil, false
170318  }
170319  
170320  // AsRestSource is the BasicCopySource implementation for SapBwSource.
170321  func (sbs SapBwSource) AsRestSource() (*RestSource, bool) {
170322  	return nil, false
170323  }
170324  
170325  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapBwSource.
170326  func (sbs SapBwSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
170327  	return nil, false
170328  }
170329  
170330  // AsODataSource is the BasicCopySource implementation for SapBwSource.
170331  func (sbs SapBwSource) AsODataSource() (*ODataSource, bool) {
170332  	return nil, false
170333  }
170334  
170335  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapBwSource.
170336  func (sbs SapBwSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
170337  	return nil, false
170338  }
170339  
170340  // AsRelationalSource is the BasicCopySource implementation for SapBwSource.
170341  func (sbs SapBwSource) AsRelationalSource() (*RelationalSource, bool) {
170342  	return nil, false
170343  }
170344  
170345  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapBwSource.
170346  func (sbs SapBwSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
170347  	return nil, false
170348  }
170349  
170350  // AsDynamicsCrmSource is the BasicCopySource implementation for SapBwSource.
170351  func (sbs SapBwSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
170352  	return nil, false
170353  }
170354  
170355  // AsDynamicsSource is the BasicCopySource implementation for SapBwSource.
170356  func (sbs SapBwSource) AsDynamicsSource() (*DynamicsSource, bool) {
170357  	return nil, false
170358  }
170359  
170360  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapBwSource.
170361  func (sbs SapBwSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
170362  	return nil, false
170363  }
170364  
170365  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapBwSource.
170366  func (sbs SapBwSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
170367  	return nil, false
170368  }
170369  
170370  // AsBlobSource is the BasicCopySource implementation for SapBwSource.
170371  func (sbs SapBwSource) AsBlobSource() (*BlobSource, bool) {
170372  	return nil, false
170373  }
170374  
170375  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapBwSource.
170376  func (sbs SapBwSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
170377  	return nil, false
170378  }
170379  
170380  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapBwSource.
170381  func (sbs SapBwSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
170382  	return nil, false
170383  }
170384  
170385  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapBwSource.
170386  func (sbs SapBwSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
170387  	return nil, false
170388  }
170389  
170390  // AsDynamicsAXSource is the BasicCopySource implementation for SapBwSource.
170391  func (sbs SapBwSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
170392  	return nil, false
170393  }
170394  
170395  // AsResponsysSource is the BasicCopySource implementation for SapBwSource.
170396  func (sbs SapBwSource) AsResponsysSource() (*ResponsysSource, bool) {
170397  	return nil, false
170398  }
170399  
170400  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapBwSource.
170401  func (sbs SapBwSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
170402  	return nil, false
170403  }
170404  
170405  // AsVerticaSource is the BasicCopySource implementation for SapBwSource.
170406  func (sbs SapBwSource) AsVerticaSource() (*VerticaSource, bool) {
170407  	return nil, false
170408  }
170409  
170410  // AsNetezzaSource is the BasicCopySource implementation for SapBwSource.
170411  func (sbs SapBwSource) AsNetezzaSource() (*NetezzaSource, bool) {
170412  	return nil, false
170413  }
170414  
170415  // AsZohoSource is the BasicCopySource implementation for SapBwSource.
170416  func (sbs SapBwSource) AsZohoSource() (*ZohoSource, bool) {
170417  	return nil, false
170418  }
170419  
170420  // AsXeroSource is the BasicCopySource implementation for SapBwSource.
170421  func (sbs SapBwSource) AsXeroSource() (*XeroSource, bool) {
170422  	return nil, false
170423  }
170424  
170425  // AsSquareSource is the BasicCopySource implementation for SapBwSource.
170426  func (sbs SapBwSource) AsSquareSource() (*SquareSource, bool) {
170427  	return nil, false
170428  }
170429  
170430  // AsSparkSource is the BasicCopySource implementation for SapBwSource.
170431  func (sbs SapBwSource) AsSparkSource() (*SparkSource, bool) {
170432  	return nil, false
170433  }
170434  
170435  // AsShopifySource is the BasicCopySource implementation for SapBwSource.
170436  func (sbs SapBwSource) AsShopifySource() (*ShopifySource, bool) {
170437  	return nil, false
170438  }
170439  
170440  // AsServiceNowSource is the BasicCopySource implementation for SapBwSource.
170441  func (sbs SapBwSource) AsServiceNowSource() (*ServiceNowSource, bool) {
170442  	return nil, false
170443  }
170444  
170445  // AsQuickBooksSource is the BasicCopySource implementation for SapBwSource.
170446  func (sbs SapBwSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
170447  	return nil, false
170448  }
170449  
170450  // AsPrestoSource is the BasicCopySource implementation for SapBwSource.
170451  func (sbs SapBwSource) AsPrestoSource() (*PrestoSource, bool) {
170452  	return nil, false
170453  }
170454  
170455  // AsPhoenixSource is the BasicCopySource implementation for SapBwSource.
170456  func (sbs SapBwSource) AsPhoenixSource() (*PhoenixSource, bool) {
170457  	return nil, false
170458  }
170459  
170460  // AsPaypalSource is the BasicCopySource implementation for SapBwSource.
170461  func (sbs SapBwSource) AsPaypalSource() (*PaypalSource, bool) {
170462  	return nil, false
170463  }
170464  
170465  // AsMarketoSource is the BasicCopySource implementation for SapBwSource.
170466  func (sbs SapBwSource) AsMarketoSource() (*MarketoSource, bool) {
170467  	return nil, false
170468  }
170469  
170470  // AsAzureMariaDBSource is the BasicCopySource implementation for SapBwSource.
170471  func (sbs SapBwSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
170472  	return nil, false
170473  }
170474  
170475  // AsMariaDBSource is the BasicCopySource implementation for SapBwSource.
170476  func (sbs SapBwSource) AsMariaDBSource() (*MariaDBSource, bool) {
170477  	return nil, false
170478  }
170479  
170480  // AsMagentoSource is the BasicCopySource implementation for SapBwSource.
170481  func (sbs SapBwSource) AsMagentoSource() (*MagentoSource, bool) {
170482  	return nil, false
170483  }
170484  
170485  // AsJiraSource is the BasicCopySource implementation for SapBwSource.
170486  func (sbs SapBwSource) AsJiraSource() (*JiraSource, bool) {
170487  	return nil, false
170488  }
170489  
170490  // AsImpalaSource is the BasicCopySource implementation for SapBwSource.
170491  func (sbs SapBwSource) AsImpalaSource() (*ImpalaSource, bool) {
170492  	return nil, false
170493  }
170494  
170495  // AsHubspotSource is the BasicCopySource implementation for SapBwSource.
170496  func (sbs SapBwSource) AsHubspotSource() (*HubspotSource, bool) {
170497  	return nil, false
170498  }
170499  
170500  // AsHiveSource is the BasicCopySource implementation for SapBwSource.
170501  func (sbs SapBwSource) AsHiveSource() (*HiveSource, bool) {
170502  	return nil, false
170503  }
170504  
170505  // AsHBaseSource is the BasicCopySource implementation for SapBwSource.
170506  func (sbs SapBwSource) AsHBaseSource() (*HBaseSource, bool) {
170507  	return nil, false
170508  }
170509  
170510  // AsGreenplumSource is the BasicCopySource implementation for SapBwSource.
170511  func (sbs SapBwSource) AsGreenplumSource() (*GreenplumSource, bool) {
170512  	return nil, false
170513  }
170514  
170515  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapBwSource.
170516  func (sbs SapBwSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
170517  	return nil, false
170518  }
170519  
170520  // AsEloquaSource is the BasicCopySource implementation for SapBwSource.
170521  func (sbs SapBwSource) AsEloquaSource() (*EloquaSource, bool) {
170522  	return nil, false
170523  }
170524  
170525  // AsDrillSource is the BasicCopySource implementation for SapBwSource.
170526  func (sbs SapBwSource) AsDrillSource() (*DrillSource, bool) {
170527  	return nil, false
170528  }
170529  
170530  // AsCouchbaseSource is the BasicCopySource implementation for SapBwSource.
170531  func (sbs SapBwSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
170532  	return nil, false
170533  }
170534  
170535  // AsConcurSource is the BasicCopySource implementation for SapBwSource.
170536  func (sbs SapBwSource) AsConcurSource() (*ConcurSource, bool) {
170537  	return nil, false
170538  }
170539  
170540  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapBwSource.
170541  func (sbs SapBwSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
170542  	return nil, false
170543  }
170544  
170545  // AsAmazonMWSSource is the BasicCopySource implementation for SapBwSource.
170546  func (sbs SapBwSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
170547  	return nil, false
170548  }
170549  
170550  // AsCassandraSource is the BasicCopySource implementation for SapBwSource.
170551  func (sbs SapBwSource) AsCassandraSource() (*CassandraSource, bool) {
170552  	return nil, false
170553  }
170554  
170555  // AsTeradataSource is the BasicCopySource implementation for SapBwSource.
170556  func (sbs SapBwSource) AsTeradataSource() (*TeradataSource, bool) {
170557  	return nil, false
170558  }
170559  
170560  // AsAzureMySQLSource is the BasicCopySource implementation for SapBwSource.
170561  func (sbs SapBwSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
170562  	return nil, false
170563  }
170564  
170565  // AsSQLDWSource is the BasicCopySource implementation for SapBwSource.
170566  func (sbs SapBwSource) AsSQLDWSource() (*SQLDWSource, bool) {
170567  	return nil, false
170568  }
170569  
170570  // AsSQLMISource is the BasicCopySource implementation for SapBwSource.
170571  func (sbs SapBwSource) AsSQLMISource() (*SQLMISource, bool) {
170572  	return nil, false
170573  }
170574  
170575  // AsAzureSQLSource is the BasicCopySource implementation for SapBwSource.
170576  func (sbs SapBwSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
170577  	return nil, false
170578  }
170579  
170580  // AsSQLServerSource is the BasicCopySource implementation for SapBwSource.
170581  func (sbs SapBwSource) AsSQLServerSource() (*SQLServerSource, bool) {
170582  	return nil, false
170583  }
170584  
170585  // AsSQLSource is the BasicCopySource implementation for SapBwSource.
170586  func (sbs SapBwSource) AsSQLSource() (*SQLSource, bool) {
170587  	return nil, false
170588  }
170589  
170590  // AsSapTableSource is the BasicCopySource implementation for SapBwSource.
170591  func (sbs SapBwSource) AsSapTableSource() (*SapTableSource, bool) {
170592  	return nil, false
170593  }
170594  
170595  // AsSapOpenHubSource is the BasicCopySource implementation for SapBwSource.
170596  func (sbs SapBwSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
170597  	return nil, false
170598  }
170599  
170600  // AsSapHanaSource is the BasicCopySource implementation for SapBwSource.
170601  func (sbs SapBwSource) AsSapHanaSource() (*SapHanaSource, bool) {
170602  	return nil, false
170603  }
170604  
170605  // AsSapEccSource is the BasicCopySource implementation for SapBwSource.
170606  func (sbs SapBwSource) AsSapEccSource() (*SapEccSource, bool) {
170607  	return nil, false
170608  }
170609  
170610  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapBwSource.
170611  func (sbs SapBwSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
170612  	return nil, false
170613  }
170614  
170615  // AsSalesforceSource is the BasicCopySource implementation for SapBwSource.
170616  func (sbs SapBwSource) AsSalesforceSource() (*SalesforceSource, bool) {
170617  	return nil, false
170618  }
170619  
170620  // AsSapBwSource is the BasicCopySource implementation for SapBwSource.
170621  func (sbs SapBwSource) AsSapBwSource() (*SapBwSource, bool) {
170622  	return &sbs, true
170623  }
170624  
170625  // AsSybaseSource is the BasicCopySource implementation for SapBwSource.
170626  func (sbs SapBwSource) AsSybaseSource() (*SybaseSource, bool) {
170627  	return nil, false
170628  }
170629  
170630  // AsPostgreSQLSource is the BasicCopySource implementation for SapBwSource.
170631  func (sbs SapBwSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
170632  	return nil, false
170633  }
170634  
170635  // AsMySQLSource is the BasicCopySource implementation for SapBwSource.
170636  func (sbs SapBwSource) AsMySQLSource() (*MySQLSource, bool) {
170637  	return nil, false
170638  }
170639  
170640  // AsOdbcSource is the BasicCopySource implementation for SapBwSource.
170641  func (sbs SapBwSource) AsOdbcSource() (*OdbcSource, bool) {
170642  	return nil, false
170643  }
170644  
170645  // AsDb2Source is the BasicCopySource implementation for SapBwSource.
170646  func (sbs SapBwSource) AsDb2Source() (*Db2Source, bool) {
170647  	return nil, false
170648  }
170649  
170650  // AsInformixSource is the BasicCopySource implementation for SapBwSource.
170651  func (sbs SapBwSource) AsInformixSource() (*InformixSource, bool) {
170652  	return nil, false
170653  }
170654  
170655  // AsAzureTableSource is the BasicCopySource implementation for SapBwSource.
170656  func (sbs SapBwSource) AsAzureTableSource() (*AzureTableSource, bool) {
170657  	return nil, false
170658  }
170659  
170660  // AsTabularSource is the BasicCopySource implementation for SapBwSource.
170661  func (sbs SapBwSource) AsTabularSource() (*TabularSource, bool) {
170662  	return nil, false
170663  }
170664  
170665  // AsBasicTabularSource is the BasicCopySource implementation for SapBwSource.
170666  func (sbs SapBwSource) AsBasicTabularSource() (BasicTabularSource, bool) {
170667  	return &sbs, true
170668  }
170669  
170670  // AsBinarySource is the BasicCopySource implementation for SapBwSource.
170671  func (sbs SapBwSource) AsBinarySource() (*BinarySource, bool) {
170672  	return nil, false
170673  }
170674  
170675  // AsOrcSource is the BasicCopySource implementation for SapBwSource.
170676  func (sbs SapBwSource) AsOrcSource() (*OrcSource, bool) {
170677  	return nil, false
170678  }
170679  
170680  // AsJSONSource is the BasicCopySource implementation for SapBwSource.
170681  func (sbs SapBwSource) AsJSONSource() (*JSONSource, bool) {
170682  	return nil, false
170683  }
170684  
170685  // AsDelimitedTextSource is the BasicCopySource implementation for SapBwSource.
170686  func (sbs SapBwSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
170687  	return nil, false
170688  }
170689  
170690  // AsParquetSource is the BasicCopySource implementation for SapBwSource.
170691  func (sbs SapBwSource) AsParquetSource() (*ParquetSource, bool) {
170692  	return nil, false
170693  }
170694  
170695  // AsAvroSource is the BasicCopySource implementation for SapBwSource.
170696  func (sbs SapBwSource) AsAvroSource() (*AvroSource, bool) {
170697  	return nil, false
170698  }
170699  
170700  // AsCopySource is the BasicCopySource implementation for SapBwSource.
170701  func (sbs SapBwSource) AsCopySource() (*CopySource, bool) {
170702  	return nil, false
170703  }
170704  
170705  // AsBasicCopySource is the BasicCopySource implementation for SapBwSource.
170706  func (sbs SapBwSource) AsBasicCopySource() (BasicCopySource, bool) {
170707  	return &sbs, true
170708  }
170709  
170710  // UnmarshalJSON is the custom unmarshaler for SapBwSource struct.
170711  func (sbs *SapBwSource) UnmarshalJSON(body []byte) error {
170712  	var m map[string]*json.RawMessage
170713  	err := json.Unmarshal(body, &m)
170714  	if err != nil {
170715  		return err
170716  	}
170717  	for k, v := range m {
170718  		switch k {
170719  		case "query":
170720  			if v != nil {
170721  				var query interface{}
170722  				err = json.Unmarshal(*v, &query)
170723  				if err != nil {
170724  					return err
170725  				}
170726  				sbs.Query = query
170727  			}
170728  		case "queryTimeout":
170729  			if v != nil {
170730  				var queryTimeout interface{}
170731  				err = json.Unmarshal(*v, &queryTimeout)
170732  				if err != nil {
170733  					return err
170734  				}
170735  				sbs.QueryTimeout = queryTimeout
170736  			}
170737  		default:
170738  			if v != nil {
170739  				var additionalProperties interface{}
170740  				err = json.Unmarshal(*v, &additionalProperties)
170741  				if err != nil {
170742  					return err
170743  				}
170744  				if sbs.AdditionalProperties == nil {
170745  					sbs.AdditionalProperties = make(map[string]interface{})
170746  				}
170747  				sbs.AdditionalProperties[k] = additionalProperties
170748  			}
170749  		case "sourceRetryCount":
170750  			if v != nil {
170751  				var sourceRetryCount interface{}
170752  				err = json.Unmarshal(*v, &sourceRetryCount)
170753  				if err != nil {
170754  					return err
170755  				}
170756  				sbs.SourceRetryCount = sourceRetryCount
170757  			}
170758  		case "sourceRetryWait":
170759  			if v != nil {
170760  				var sourceRetryWait interface{}
170761  				err = json.Unmarshal(*v, &sourceRetryWait)
170762  				if err != nil {
170763  					return err
170764  				}
170765  				sbs.SourceRetryWait = sourceRetryWait
170766  			}
170767  		case "maxConcurrentConnections":
170768  			if v != nil {
170769  				var maxConcurrentConnections interface{}
170770  				err = json.Unmarshal(*v, &maxConcurrentConnections)
170771  				if err != nil {
170772  					return err
170773  				}
170774  				sbs.MaxConcurrentConnections = maxConcurrentConnections
170775  			}
170776  		case "type":
170777  			if v != nil {
170778  				var typeVar TypeBasicCopySource
170779  				err = json.Unmarshal(*v, &typeVar)
170780  				if err != nil {
170781  					return err
170782  				}
170783  				sbs.Type = typeVar
170784  			}
170785  		}
170786  	}
170787  
170788  	return nil
170789  }
170790  
170791  // SapCloudForCustomerLinkedService linked service for SAP Cloud for Customer.
170792  type SapCloudForCustomerLinkedService struct {
170793  	// SapCloudForCustomerLinkedServiceTypeProperties - SAP Cloud for Customer linked service properties.
170794  	*SapCloudForCustomerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
170795  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
170796  	AdditionalProperties map[string]interface{} `json:""`
170797  	// ConnectVia - The integration runtime reference.
170798  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
170799  	// Description - Linked service description.
170800  	Description *string `json:"description,omitempty"`
170801  	// Parameters - Parameters for linked service.
170802  	Parameters map[string]*ParameterSpecification `json:"parameters"`
170803  	// Annotations - List of tags that can be used for describing the linked service.
170804  	Annotations *[]interface{} `json:"annotations,omitempty"`
170805  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
170806  	Type TypeBasicLinkedService `json:"type,omitempty"`
170807  }
170808  
170809  // MarshalJSON is the custom marshaler for SapCloudForCustomerLinkedService.
170810  func (scfcls SapCloudForCustomerLinkedService) MarshalJSON() ([]byte, error) {
170811  	scfcls.Type = TypeSapCloudForCustomer
170812  	objectMap := make(map[string]interface{})
170813  	if scfcls.SapCloudForCustomerLinkedServiceTypeProperties != nil {
170814  		objectMap["typeProperties"] = scfcls.SapCloudForCustomerLinkedServiceTypeProperties
170815  	}
170816  	if scfcls.ConnectVia != nil {
170817  		objectMap["connectVia"] = scfcls.ConnectVia
170818  	}
170819  	if scfcls.Description != nil {
170820  		objectMap["description"] = scfcls.Description
170821  	}
170822  	if scfcls.Parameters != nil {
170823  		objectMap["parameters"] = scfcls.Parameters
170824  	}
170825  	if scfcls.Annotations != nil {
170826  		objectMap["annotations"] = scfcls.Annotations
170827  	}
170828  	if scfcls.Type != "" {
170829  		objectMap["type"] = scfcls.Type
170830  	}
170831  	for k, v := range scfcls.AdditionalProperties {
170832  		objectMap[k] = v
170833  	}
170834  	return json.Marshal(objectMap)
170835  }
170836  
170837  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170838  func (scfcls SapCloudForCustomerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
170839  	return nil, false
170840  }
170841  
170842  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170843  func (scfcls SapCloudForCustomerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
170844  	return nil, false
170845  }
170846  
170847  // AsSapTableLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170848  func (scfcls SapCloudForCustomerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
170849  	return nil, false
170850  }
170851  
170852  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170853  func (scfcls SapCloudForCustomerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
170854  	return nil, false
170855  }
170856  
170857  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170858  func (scfcls SapCloudForCustomerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
170859  	return nil, false
170860  }
170861  
170862  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170863  func (scfcls SapCloudForCustomerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
170864  	return nil, false
170865  }
170866  
170867  // AsResponsysLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170868  func (scfcls SapCloudForCustomerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
170869  	return nil, false
170870  }
170871  
170872  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170873  func (scfcls SapCloudForCustomerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
170874  	return nil, false
170875  }
170876  
170877  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170878  func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
170879  	return nil, false
170880  }
170881  
170882  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170883  func (scfcls SapCloudForCustomerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
170884  	return nil, false
170885  }
170886  
170887  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170888  func (scfcls SapCloudForCustomerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
170889  	return nil, false
170890  }
170891  
170892  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170893  func (scfcls SapCloudForCustomerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
170894  	return nil, false
170895  }
170896  
170897  // AsVerticaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170898  func (scfcls SapCloudForCustomerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
170899  	return nil, false
170900  }
170901  
170902  // AsZohoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170903  func (scfcls SapCloudForCustomerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
170904  	return nil, false
170905  }
170906  
170907  // AsXeroLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170908  func (scfcls SapCloudForCustomerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
170909  	return nil, false
170910  }
170911  
170912  // AsSquareLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170913  func (scfcls SapCloudForCustomerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
170914  	return nil, false
170915  }
170916  
170917  // AsSparkLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170918  func (scfcls SapCloudForCustomerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
170919  	return nil, false
170920  }
170921  
170922  // AsShopifyLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170923  func (scfcls SapCloudForCustomerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
170924  	return nil, false
170925  }
170926  
170927  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170928  func (scfcls SapCloudForCustomerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
170929  	return nil, false
170930  }
170931  
170932  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170933  func (scfcls SapCloudForCustomerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
170934  	return nil, false
170935  }
170936  
170937  // AsPrestoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170938  func (scfcls SapCloudForCustomerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
170939  	return nil, false
170940  }
170941  
170942  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170943  func (scfcls SapCloudForCustomerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
170944  	return nil, false
170945  }
170946  
170947  // AsPaypalLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170948  func (scfcls SapCloudForCustomerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
170949  	return nil, false
170950  }
170951  
170952  // AsMarketoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170953  func (scfcls SapCloudForCustomerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
170954  	return nil, false
170955  }
170956  
170957  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170958  func (scfcls SapCloudForCustomerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
170959  	return nil, false
170960  }
170961  
170962  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170963  func (scfcls SapCloudForCustomerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
170964  	return nil, false
170965  }
170966  
170967  // AsMagentoLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170968  func (scfcls SapCloudForCustomerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
170969  	return nil, false
170970  }
170971  
170972  // AsJiraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170973  func (scfcls SapCloudForCustomerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
170974  	return nil, false
170975  }
170976  
170977  // AsImpalaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170978  func (scfcls SapCloudForCustomerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
170979  	return nil, false
170980  }
170981  
170982  // AsHubspotLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170983  func (scfcls SapCloudForCustomerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
170984  	return nil, false
170985  }
170986  
170987  // AsHiveLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170988  func (scfcls SapCloudForCustomerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
170989  	return nil, false
170990  }
170991  
170992  // AsHBaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170993  func (scfcls SapCloudForCustomerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
170994  	return nil, false
170995  }
170996  
170997  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
170998  func (scfcls SapCloudForCustomerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
170999  	return nil, false
171000  }
171001  
171002  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171003  func (scfcls SapCloudForCustomerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
171004  	return nil, false
171005  }
171006  
171007  // AsEloquaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171008  func (scfcls SapCloudForCustomerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
171009  	return nil, false
171010  }
171011  
171012  // AsDrillLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171013  func (scfcls SapCloudForCustomerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
171014  	return nil, false
171015  }
171016  
171017  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171018  func (scfcls SapCloudForCustomerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
171019  	return nil, false
171020  }
171021  
171022  // AsConcurLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171023  func (scfcls SapCloudForCustomerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
171024  	return nil, false
171025  }
171026  
171027  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171028  func (scfcls SapCloudForCustomerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
171029  	return nil, false
171030  }
171031  
171032  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171033  func (scfcls SapCloudForCustomerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
171034  	return nil, false
171035  }
171036  
171037  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171038  func (scfcls SapCloudForCustomerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
171039  	return nil, false
171040  }
171041  
171042  // AsSapBWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171043  func (scfcls SapCloudForCustomerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
171044  	return nil, false
171045  }
171046  
171047  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171048  func (scfcls SapCloudForCustomerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
171049  	return nil, false
171050  }
171051  
171052  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171053  func (scfcls SapCloudForCustomerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
171054  	return nil, false
171055  }
171056  
171057  // AsHTTPLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171058  func (scfcls SapCloudForCustomerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
171059  	return nil, false
171060  }
171061  
171062  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171063  func (scfcls SapCloudForCustomerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
171064  	return nil, false
171065  }
171066  
171067  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171068  func (scfcls SapCloudForCustomerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
171069  	return nil, false
171070  }
171071  
171072  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171073  func (scfcls SapCloudForCustomerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
171074  	return nil, false
171075  }
171076  
171077  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171078  func (scfcls SapCloudForCustomerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
171079  	return nil, false
171080  }
171081  
171082  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171083  func (scfcls SapCloudForCustomerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
171084  	return nil, false
171085  }
171086  
171087  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171088  func (scfcls SapCloudForCustomerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
171089  	return nil, false
171090  }
171091  
171092  // AsSapEccLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171093  func (scfcls SapCloudForCustomerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
171094  	return nil, false
171095  }
171096  
171097  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171098  func (scfcls SapCloudForCustomerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
171099  	return &scfcls, true
171100  }
171101  
171102  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171103  func (scfcls SapCloudForCustomerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
171104  	return nil, false
171105  }
171106  
171107  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171108  func (scfcls SapCloudForCustomerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
171109  	return nil, false
171110  }
171111  
171112  // AsOffice365LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171113  func (scfcls SapCloudForCustomerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
171114  	return nil, false
171115  }
171116  
171117  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171118  func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
171119  	return nil, false
171120  }
171121  
171122  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171123  func (scfcls SapCloudForCustomerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
171124  	return nil, false
171125  }
171126  
171127  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171128  func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
171129  	return nil, false
171130  }
171131  
171132  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171133  func (scfcls SapCloudForCustomerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
171134  	return nil, false
171135  }
171136  
171137  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171138  func (scfcls SapCloudForCustomerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
171139  	return nil, false
171140  }
171141  
171142  // AsCassandraLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171143  func (scfcls SapCloudForCustomerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
171144  	return nil, false
171145  }
171146  
171147  // AsWebLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171148  func (scfcls SapCloudForCustomerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
171149  	return nil, false
171150  }
171151  
171152  // AsODataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171153  func (scfcls SapCloudForCustomerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
171154  	return nil, false
171155  }
171156  
171157  // AsHdfsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171158  func (scfcls SapCloudForCustomerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
171159  	return nil, false
171160  }
171161  
171162  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171163  func (scfcls SapCloudForCustomerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
171164  	return nil, false
171165  }
171166  
171167  // AsInformixLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171168  func (scfcls SapCloudForCustomerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
171169  	return nil, false
171170  }
171171  
171172  // AsOdbcLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171173  func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
171174  	return nil, false
171175  }
171176  
171177  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171178  func (scfcls SapCloudForCustomerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
171179  	return nil, false
171180  }
171181  
171182  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171183  func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
171184  	return nil, false
171185  }
171186  
171187  // AsTeradataLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171188  func (scfcls SapCloudForCustomerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
171189  	return nil, false
171190  }
171191  
171192  // AsDb2LinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171193  func (scfcls SapCloudForCustomerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
171194  	return nil, false
171195  }
171196  
171197  // AsSybaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171198  func (scfcls SapCloudForCustomerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
171199  	return nil, false
171200  }
171201  
171202  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171203  func (scfcls SapCloudForCustomerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
171204  	return nil, false
171205  }
171206  
171207  // AsMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171208  func (scfcls SapCloudForCustomerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
171209  	return nil, false
171210  }
171211  
171212  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171213  func (scfcls SapCloudForCustomerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
171214  	return nil, false
171215  }
171216  
171217  // AsOracleLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171218  func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
171219  	return nil, false
171220  }
171221  
171222  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171223  func (scfcls SapCloudForCustomerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
171224  	return nil, false
171225  }
171226  
171227  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171228  func (scfcls SapCloudForCustomerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
171229  	return nil, false
171230  }
171231  
171232  // AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171233  func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
171234  	return nil, false
171235  }
171236  
171237  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171238  func (scfcls SapCloudForCustomerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
171239  	return nil, false
171240  }
171241  
171242  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171243  func (scfcls SapCloudForCustomerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
171244  	return nil, false
171245  }
171246  
171247  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171248  func (scfcls SapCloudForCustomerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
171249  	return nil, false
171250  }
171251  
171252  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171253  func (scfcls SapCloudForCustomerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
171254  	return nil, false
171255  }
171256  
171257  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171258  func (scfcls SapCloudForCustomerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
171259  	return nil, false
171260  }
171261  
171262  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171263  func (scfcls SapCloudForCustomerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
171264  	return nil, false
171265  }
171266  
171267  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171268  func (scfcls SapCloudForCustomerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
171269  	return nil, false
171270  }
171271  
171272  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171273  func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
171274  	return nil, false
171275  }
171276  
171277  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171278  func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
171279  	return nil, false
171280  }
171281  
171282  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171283  func (scfcls SapCloudForCustomerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
171284  	return nil, false
171285  }
171286  
171287  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171288  func (scfcls SapCloudForCustomerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
171289  	return nil, false
171290  }
171291  
171292  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171293  func (scfcls SapCloudForCustomerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
171294  	return nil, false
171295  }
171296  
171297  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171298  func (scfcls SapCloudForCustomerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
171299  	return nil, false
171300  }
171301  
171302  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171303  func (scfcls SapCloudForCustomerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
171304  	return nil, false
171305  }
171306  
171307  // AsLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171308  func (scfcls SapCloudForCustomerLinkedService) AsLinkedService() (*LinkedService, bool) {
171309  	return nil, false
171310  }
171311  
171312  // AsBasicLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService.
171313  func (scfcls SapCloudForCustomerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
171314  	return &scfcls, true
171315  }
171316  
171317  // UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedService struct.
171318  func (scfcls *SapCloudForCustomerLinkedService) UnmarshalJSON(body []byte) error {
171319  	var m map[string]*json.RawMessage
171320  	err := json.Unmarshal(body, &m)
171321  	if err != nil {
171322  		return err
171323  	}
171324  	for k, v := range m {
171325  		switch k {
171326  		case "typeProperties":
171327  			if v != nil {
171328  				var sapCloudForCustomerLinkedServiceTypeProperties SapCloudForCustomerLinkedServiceTypeProperties
171329  				err = json.Unmarshal(*v, &sapCloudForCustomerLinkedServiceTypeProperties)
171330  				if err != nil {
171331  					return err
171332  				}
171333  				scfcls.SapCloudForCustomerLinkedServiceTypeProperties = &sapCloudForCustomerLinkedServiceTypeProperties
171334  			}
171335  		default:
171336  			if v != nil {
171337  				var additionalProperties interface{}
171338  				err = json.Unmarshal(*v, &additionalProperties)
171339  				if err != nil {
171340  					return err
171341  				}
171342  				if scfcls.AdditionalProperties == nil {
171343  					scfcls.AdditionalProperties = make(map[string]interface{})
171344  				}
171345  				scfcls.AdditionalProperties[k] = additionalProperties
171346  			}
171347  		case "connectVia":
171348  			if v != nil {
171349  				var connectVia IntegrationRuntimeReference
171350  				err = json.Unmarshal(*v, &connectVia)
171351  				if err != nil {
171352  					return err
171353  				}
171354  				scfcls.ConnectVia = &connectVia
171355  			}
171356  		case "description":
171357  			if v != nil {
171358  				var description string
171359  				err = json.Unmarshal(*v, &description)
171360  				if err != nil {
171361  					return err
171362  				}
171363  				scfcls.Description = &description
171364  			}
171365  		case "parameters":
171366  			if v != nil {
171367  				var parameters map[string]*ParameterSpecification
171368  				err = json.Unmarshal(*v, &parameters)
171369  				if err != nil {
171370  					return err
171371  				}
171372  				scfcls.Parameters = parameters
171373  			}
171374  		case "annotations":
171375  			if v != nil {
171376  				var annotations []interface{}
171377  				err = json.Unmarshal(*v, &annotations)
171378  				if err != nil {
171379  					return err
171380  				}
171381  				scfcls.Annotations = &annotations
171382  			}
171383  		case "type":
171384  			if v != nil {
171385  				var typeVar TypeBasicLinkedService
171386  				err = json.Unmarshal(*v, &typeVar)
171387  				if err != nil {
171388  					return err
171389  				}
171390  				scfcls.Type = typeVar
171391  			}
171392  		}
171393  	}
171394  
171395  	return nil
171396  }
171397  
171398  // SapCloudForCustomerLinkedServiceTypeProperties SAP Cloud for Customer linked service properties.
171399  type SapCloudForCustomerLinkedServiceTypeProperties struct {
171400  	// 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).
171401  	URL interface{} `json:"url,omitempty"`
171402  	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
171403  	Username interface{} `json:"username,omitempty"`
171404  	// Password - The password for Basic authentication.
171405  	Password BasicSecretBase `json:"password,omitempty"`
171406  	// 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).
171407  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
171408  }
171409  
171410  // UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerLinkedServiceTypeProperties struct.
171411  func (scfclstp *SapCloudForCustomerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
171412  	var m map[string]*json.RawMessage
171413  	err := json.Unmarshal(body, &m)
171414  	if err != nil {
171415  		return err
171416  	}
171417  	for k, v := range m {
171418  		switch k {
171419  		case "url":
171420  			if v != nil {
171421  				var URL interface{}
171422  				err = json.Unmarshal(*v, &URL)
171423  				if err != nil {
171424  					return err
171425  				}
171426  				scfclstp.URL = URL
171427  			}
171428  		case "username":
171429  			if v != nil {
171430  				var username interface{}
171431  				err = json.Unmarshal(*v, &username)
171432  				if err != nil {
171433  					return err
171434  				}
171435  				scfclstp.Username = username
171436  			}
171437  		case "password":
171438  			if v != nil {
171439  				password, err := unmarshalBasicSecretBase(*v)
171440  				if err != nil {
171441  					return err
171442  				}
171443  				scfclstp.Password = password
171444  			}
171445  		case "encryptedCredential":
171446  			if v != nil {
171447  				var encryptedCredential interface{}
171448  				err = json.Unmarshal(*v, &encryptedCredential)
171449  				if err != nil {
171450  					return err
171451  				}
171452  				scfclstp.EncryptedCredential = encryptedCredential
171453  			}
171454  		}
171455  	}
171456  
171457  	return nil
171458  }
171459  
171460  // SapCloudForCustomerResourceDataset the path of the SAP Cloud for Customer OData entity.
171461  type SapCloudForCustomerResourceDataset struct {
171462  	// SapCloudForCustomerResourceDatasetTypeProperties - SAP Cloud For Customer OData resource dataset properties.
171463  	*SapCloudForCustomerResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
171464  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
171465  	AdditionalProperties map[string]interface{} `json:""`
171466  	// Description - Dataset description.
171467  	Description *string `json:"description,omitempty"`
171468  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
171469  	Structure interface{} `json:"structure,omitempty"`
171470  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
171471  	Schema interface{} `json:"schema,omitempty"`
171472  	// LinkedServiceName - Linked service reference.
171473  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
171474  	// Parameters - Parameters for dataset.
171475  	Parameters map[string]*ParameterSpecification `json:"parameters"`
171476  	// Annotations - List of tags that can be used for describing the Dataset.
171477  	Annotations *[]interface{} `json:"annotations,omitempty"`
171478  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
171479  	Folder *DatasetFolder `json:"folder,omitempty"`
171480  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
171481  	Type TypeBasicDataset `json:"type,omitempty"`
171482  }
171483  
171484  // MarshalJSON is the custom marshaler for SapCloudForCustomerResourceDataset.
171485  func (scfcrd SapCloudForCustomerResourceDataset) MarshalJSON() ([]byte, error) {
171486  	scfcrd.Type = TypeSapCloudForCustomerResource
171487  	objectMap := make(map[string]interface{})
171488  	if scfcrd.SapCloudForCustomerResourceDatasetTypeProperties != nil {
171489  		objectMap["typeProperties"] = scfcrd.SapCloudForCustomerResourceDatasetTypeProperties
171490  	}
171491  	if scfcrd.Description != nil {
171492  		objectMap["description"] = scfcrd.Description
171493  	}
171494  	if scfcrd.Structure != nil {
171495  		objectMap["structure"] = scfcrd.Structure
171496  	}
171497  	if scfcrd.Schema != nil {
171498  		objectMap["schema"] = scfcrd.Schema
171499  	}
171500  	if scfcrd.LinkedServiceName != nil {
171501  		objectMap["linkedServiceName"] = scfcrd.LinkedServiceName
171502  	}
171503  	if scfcrd.Parameters != nil {
171504  		objectMap["parameters"] = scfcrd.Parameters
171505  	}
171506  	if scfcrd.Annotations != nil {
171507  		objectMap["annotations"] = scfcrd.Annotations
171508  	}
171509  	if scfcrd.Folder != nil {
171510  		objectMap["folder"] = scfcrd.Folder
171511  	}
171512  	if scfcrd.Type != "" {
171513  		objectMap["type"] = scfcrd.Type
171514  	}
171515  	for k, v := range scfcrd.AdditionalProperties {
171516  		objectMap[k] = v
171517  	}
171518  	return json.Marshal(objectMap)
171519  }
171520  
171521  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171522  func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
171523  	return nil, false
171524  }
171525  
171526  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171527  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
171528  	return nil, false
171529  }
171530  
171531  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171532  func (scfcrd SapCloudForCustomerResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
171533  	return nil, false
171534  }
171535  
171536  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171537  func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
171538  	return nil, false
171539  }
171540  
171541  // AsResponsysObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171542  func (scfcrd SapCloudForCustomerResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
171543  	return nil, false
171544  }
171545  
171546  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171547  func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
171548  	return nil, false
171549  }
171550  
171551  // AsVerticaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171552  func (scfcrd SapCloudForCustomerResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
171553  	return nil, false
171554  }
171555  
171556  // AsNetezzaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171557  func (scfcrd SapCloudForCustomerResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
171558  	return nil, false
171559  }
171560  
171561  // AsZohoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171562  func (scfcrd SapCloudForCustomerResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
171563  	return nil, false
171564  }
171565  
171566  // AsXeroObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171567  func (scfcrd SapCloudForCustomerResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
171568  	return nil, false
171569  }
171570  
171571  // AsSquareObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171572  func (scfcrd SapCloudForCustomerResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
171573  	return nil, false
171574  }
171575  
171576  // AsSparkObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171577  func (scfcrd SapCloudForCustomerResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
171578  	return nil, false
171579  }
171580  
171581  // AsShopifyObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171582  func (scfcrd SapCloudForCustomerResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
171583  	return nil, false
171584  }
171585  
171586  // AsServiceNowObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171587  func (scfcrd SapCloudForCustomerResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
171588  	return nil, false
171589  }
171590  
171591  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171592  func (scfcrd SapCloudForCustomerResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
171593  	return nil, false
171594  }
171595  
171596  // AsPrestoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171597  func (scfcrd SapCloudForCustomerResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
171598  	return nil, false
171599  }
171600  
171601  // AsPhoenixObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171602  func (scfcrd SapCloudForCustomerResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
171603  	return nil, false
171604  }
171605  
171606  // AsPaypalObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171607  func (scfcrd SapCloudForCustomerResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
171608  	return nil, false
171609  }
171610  
171611  // AsMarketoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171612  func (scfcrd SapCloudForCustomerResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
171613  	return nil, false
171614  }
171615  
171616  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171617  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
171618  	return nil, false
171619  }
171620  
171621  // AsMariaDBTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171622  func (scfcrd SapCloudForCustomerResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
171623  	return nil, false
171624  }
171625  
171626  // AsMagentoObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171627  func (scfcrd SapCloudForCustomerResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
171628  	return nil, false
171629  }
171630  
171631  // AsJiraObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171632  func (scfcrd SapCloudForCustomerResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
171633  	return nil, false
171634  }
171635  
171636  // AsImpalaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171637  func (scfcrd SapCloudForCustomerResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
171638  	return nil, false
171639  }
171640  
171641  // AsHubspotObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171642  func (scfcrd SapCloudForCustomerResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
171643  	return nil, false
171644  }
171645  
171646  // AsHiveObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171647  func (scfcrd SapCloudForCustomerResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
171648  	return nil, false
171649  }
171650  
171651  // AsHBaseObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171652  func (scfcrd SapCloudForCustomerResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
171653  	return nil, false
171654  }
171655  
171656  // AsGreenplumTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171657  func (scfcrd SapCloudForCustomerResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
171658  	return nil, false
171659  }
171660  
171661  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171662  func (scfcrd SapCloudForCustomerResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
171663  	return nil, false
171664  }
171665  
171666  // AsEloquaObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171667  func (scfcrd SapCloudForCustomerResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
171668  	return nil, false
171669  }
171670  
171671  // AsDrillTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171672  func (scfcrd SapCloudForCustomerResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
171673  	return nil, false
171674  }
171675  
171676  // AsCouchbaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171677  func (scfcrd SapCloudForCustomerResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
171678  	return nil, false
171679  }
171680  
171681  // AsConcurObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171682  func (scfcrd SapCloudForCustomerResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
171683  	return nil, false
171684  }
171685  
171686  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171687  func (scfcrd SapCloudForCustomerResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
171688  	return nil, false
171689  }
171690  
171691  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171692  func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
171693  	return nil, false
171694  }
171695  
171696  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171697  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
171698  	return nil, false
171699  }
171700  
171701  // AsWebTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171702  func (scfcrd SapCloudForCustomerResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
171703  	return nil, false
171704  }
171705  
171706  // AsSapTableResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171707  func (scfcrd SapCloudForCustomerResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
171708  	return nil, false
171709  }
171710  
171711  // AsRestResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171712  func (scfcrd SapCloudForCustomerResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
171713  	return nil, false
171714  }
171715  
171716  // AsSQLServerTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171717  func (scfcrd SapCloudForCustomerResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
171718  	return nil, false
171719  }
171720  
171721  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171722  func (scfcrd SapCloudForCustomerResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
171723  	return nil, false
171724  }
171725  
171726  // AsSapHanaTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171727  func (scfcrd SapCloudForCustomerResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
171728  	return nil, false
171729  }
171730  
171731  // AsSapEccResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171732  func (scfcrd SapCloudForCustomerResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
171733  	return nil, false
171734  }
171735  
171736  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171737  func (scfcrd SapCloudForCustomerResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
171738  	return &scfcrd, true
171739  }
171740  
171741  // AsSapBwCubeDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171742  func (scfcrd SapCloudForCustomerResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
171743  	return nil, false
171744  }
171745  
171746  // AsSybaseTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171747  func (scfcrd SapCloudForCustomerResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
171748  	return nil, false
171749  }
171750  
171751  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171752  func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
171753  	return nil, false
171754  }
171755  
171756  // AsSalesforceObjectDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171757  func (scfcrd SapCloudForCustomerResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
171758  	return nil, false
171759  }
171760  
171761  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171762  func (scfcrd SapCloudForCustomerResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
171763  	return nil, false
171764  }
171765  
171766  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171767  func (scfcrd SapCloudForCustomerResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
171768  	return nil, false
171769  }
171770  
171771  // AsMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171772  func (scfcrd SapCloudForCustomerResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
171773  	return nil, false
171774  }
171775  
171776  // AsOdbcTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171777  func (scfcrd SapCloudForCustomerResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
171778  	return nil, false
171779  }
171780  
171781  // AsInformixTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171782  func (scfcrd SapCloudForCustomerResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
171783  	return nil, false
171784  }
171785  
171786  // AsRelationalTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171787  func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
171788  	return nil, false
171789  }
171790  
171791  // AsDb2TableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171792  func (scfcrd SapCloudForCustomerResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
171793  	return nil, false
171794  }
171795  
171796  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171797  func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
171798  	return nil, false
171799  }
171800  
171801  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171802  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
171803  	return nil, false
171804  }
171805  
171806  // AsTeradataTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171807  func (scfcrd SapCloudForCustomerResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
171808  	return nil, false
171809  }
171810  
171811  // AsOracleTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171812  func (scfcrd SapCloudForCustomerResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
171813  	return nil, false
171814  }
171815  
171816  // AsODataResourceDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171817  func (scfcrd SapCloudForCustomerResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
171818  	return nil, false
171819  }
171820  
171821  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171822  func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
171823  	return nil, false
171824  }
171825  
171826  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171827  func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
171828  	return nil, false
171829  }
171830  
171831  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171832  func (scfcrd SapCloudForCustomerResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
171833  	return nil, false
171834  }
171835  
171836  // AsOffice365Dataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171837  func (scfcrd SapCloudForCustomerResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
171838  	return nil, false
171839  }
171840  
171841  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171842  func (scfcrd SapCloudForCustomerResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
171843  	return nil, false
171844  }
171845  
171846  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171847  func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
171848  	return nil, false
171849  }
171850  
171851  // AsDynamicsEntityDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171852  func (scfcrd SapCloudForCustomerResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
171853  	return nil, false
171854  }
171855  
171856  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171857  func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
171858  	return nil, false
171859  }
171860  
171861  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171862  func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
171863  	return nil, false
171864  }
171865  
171866  // AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171867  func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
171868  	return nil, false
171869  }
171870  
171871  // AsCassandraTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171872  func (scfcrd SapCloudForCustomerResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
171873  	return nil, false
171874  }
171875  
171876  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171877  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
171878  	return nil, false
171879  }
171880  
171881  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171882  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
171883  	return nil, false
171884  }
171885  
171886  // AsAzureSQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171887  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
171888  	return nil, false
171889  }
171890  
171891  // AsAzureTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171892  func (scfcrd SapCloudForCustomerResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
171893  	return nil, false
171894  }
171895  
171896  // AsBinaryDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171897  func (scfcrd SapCloudForCustomerResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
171898  	return nil, false
171899  }
171900  
171901  // AsOrcDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171902  func (scfcrd SapCloudForCustomerResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
171903  	return nil, false
171904  }
171905  
171906  // AsJSONDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171907  func (scfcrd SapCloudForCustomerResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
171908  	return nil, false
171909  }
171910  
171911  // AsDelimitedTextDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171912  func (scfcrd SapCloudForCustomerResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
171913  	return nil, false
171914  }
171915  
171916  // AsParquetDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171917  func (scfcrd SapCloudForCustomerResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
171918  	return nil, false
171919  }
171920  
171921  // AsAvroDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171922  func (scfcrd SapCloudForCustomerResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
171923  	return nil, false
171924  }
171925  
171926  // AsDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171927  func (scfcrd SapCloudForCustomerResourceDataset) AsDataset() (*Dataset, bool) {
171928  	return nil, false
171929  }
171930  
171931  // AsBasicDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset.
171932  func (scfcrd SapCloudForCustomerResourceDataset) AsBasicDataset() (BasicDataset, bool) {
171933  	return &scfcrd, true
171934  }
171935  
171936  // UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerResourceDataset struct.
171937  func (scfcrd *SapCloudForCustomerResourceDataset) UnmarshalJSON(body []byte) error {
171938  	var m map[string]*json.RawMessage
171939  	err := json.Unmarshal(body, &m)
171940  	if err != nil {
171941  		return err
171942  	}
171943  	for k, v := range m {
171944  		switch k {
171945  		case "typeProperties":
171946  			if v != nil {
171947  				var sapCloudForCustomerResourceDatasetTypeProperties SapCloudForCustomerResourceDatasetTypeProperties
171948  				err = json.Unmarshal(*v, &sapCloudForCustomerResourceDatasetTypeProperties)
171949  				if err != nil {
171950  					return err
171951  				}
171952  				scfcrd.SapCloudForCustomerResourceDatasetTypeProperties = &sapCloudForCustomerResourceDatasetTypeProperties
171953  			}
171954  		default:
171955  			if v != nil {
171956  				var additionalProperties interface{}
171957  				err = json.Unmarshal(*v, &additionalProperties)
171958  				if err != nil {
171959  					return err
171960  				}
171961  				if scfcrd.AdditionalProperties == nil {
171962  					scfcrd.AdditionalProperties = make(map[string]interface{})
171963  				}
171964  				scfcrd.AdditionalProperties[k] = additionalProperties
171965  			}
171966  		case "description":
171967  			if v != nil {
171968  				var description string
171969  				err = json.Unmarshal(*v, &description)
171970  				if err != nil {
171971  					return err
171972  				}
171973  				scfcrd.Description = &description
171974  			}
171975  		case "structure":
171976  			if v != nil {
171977  				var structure interface{}
171978  				err = json.Unmarshal(*v, &structure)
171979  				if err != nil {
171980  					return err
171981  				}
171982  				scfcrd.Structure = structure
171983  			}
171984  		case "schema":
171985  			if v != nil {
171986  				var schema interface{}
171987  				err = json.Unmarshal(*v, &schema)
171988  				if err != nil {
171989  					return err
171990  				}
171991  				scfcrd.Schema = schema
171992  			}
171993  		case "linkedServiceName":
171994  			if v != nil {
171995  				var linkedServiceName LinkedServiceReference
171996  				err = json.Unmarshal(*v, &linkedServiceName)
171997  				if err != nil {
171998  					return err
171999  				}
172000  				scfcrd.LinkedServiceName = &linkedServiceName
172001  			}
172002  		case "parameters":
172003  			if v != nil {
172004  				var parameters map[string]*ParameterSpecification
172005  				err = json.Unmarshal(*v, &parameters)
172006  				if err != nil {
172007  					return err
172008  				}
172009  				scfcrd.Parameters = parameters
172010  			}
172011  		case "annotations":
172012  			if v != nil {
172013  				var annotations []interface{}
172014  				err = json.Unmarshal(*v, &annotations)
172015  				if err != nil {
172016  					return err
172017  				}
172018  				scfcrd.Annotations = &annotations
172019  			}
172020  		case "folder":
172021  			if v != nil {
172022  				var folder DatasetFolder
172023  				err = json.Unmarshal(*v, &folder)
172024  				if err != nil {
172025  					return err
172026  				}
172027  				scfcrd.Folder = &folder
172028  			}
172029  		case "type":
172030  			if v != nil {
172031  				var typeVar TypeBasicDataset
172032  				err = json.Unmarshal(*v, &typeVar)
172033  				if err != nil {
172034  					return err
172035  				}
172036  				scfcrd.Type = typeVar
172037  			}
172038  		}
172039  	}
172040  
172041  	return nil
172042  }
172043  
172044  // SapCloudForCustomerResourceDatasetTypeProperties sap Cloud For Customer OData resource dataset
172045  // properties.
172046  type SapCloudForCustomerResourceDatasetTypeProperties struct {
172047  	// Path - The path of the SAP Cloud for Customer OData entity. Type: string (or Expression with resultType string).
172048  	Path interface{} `json:"path,omitempty"`
172049  }
172050  
172051  // SapCloudForCustomerSink a copy activity SAP Cloud for Customer sink.
172052  type SapCloudForCustomerSink struct {
172053  	// WriteBehavior - The write behavior for the operation. Default is 'Insert'. Possible values include: 'SapCloudForCustomerSinkWriteBehaviorInsert', 'SapCloudForCustomerSinkWriteBehaviorUpdate'
172054  	WriteBehavior SapCloudForCustomerSinkWriteBehavior `json:"writeBehavior,omitempty"`
172055  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
172056  	AdditionalProperties map[string]interface{} `json:""`
172057  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
172058  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
172059  	// 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])).
172060  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
172061  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
172062  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
172063  	// 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])).
172064  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
172065  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
172066  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
172067  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
172068  	Type TypeBasicCopySink `json:"type,omitempty"`
172069  }
172070  
172071  // MarshalJSON is the custom marshaler for SapCloudForCustomerSink.
172072  func (scfcs SapCloudForCustomerSink) MarshalJSON() ([]byte, error) {
172073  	scfcs.Type = TypeSapCloudForCustomerSink
172074  	objectMap := make(map[string]interface{})
172075  	if scfcs.WriteBehavior != "" {
172076  		objectMap["writeBehavior"] = scfcs.WriteBehavior
172077  	}
172078  	if scfcs.WriteBatchSize != nil {
172079  		objectMap["writeBatchSize"] = scfcs.WriteBatchSize
172080  	}
172081  	if scfcs.WriteBatchTimeout != nil {
172082  		objectMap["writeBatchTimeout"] = scfcs.WriteBatchTimeout
172083  	}
172084  	if scfcs.SinkRetryCount != nil {
172085  		objectMap["sinkRetryCount"] = scfcs.SinkRetryCount
172086  	}
172087  	if scfcs.SinkRetryWait != nil {
172088  		objectMap["sinkRetryWait"] = scfcs.SinkRetryWait
172089  	}
172090  	if scfcs.MaxConcurrentConnections != nil {
172091  		objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections
172092  	}
172093  	if scfcs.Type != "" {
172094  		objectMap["type"] = scfcs.Type
172095  	}
172096  	for k, v := range scfcs.AdditionalProperties {
172097  		objectMap[k] = v
172098  	}
172099  	return json.Marshal(objectMap)
172100  }
172101  
172102  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SapCloudForCustomerSink.
172103  func (scfcs SapCloudForCustomerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
172104  	return nil, false
172105  }
172106  
172107  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172108  func (scfcs SapCloudForCustomerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
172109  	return nil, false
172110  }
172111  
172112  // AsSalesforceSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172113  func (scfcs SapCloudForCustomerSink) AsSalesforceSink() (*SalesforceSink, bool) {
172114  	return nil, false
172115  }
172116  
172117  // AsAzureDataExplorerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172118  func (scfcs SapCloudForCustomerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
172119  	return nil, false
172120  }
172121  
172122  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172123  func (scfcs SapCloudForCustomerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
172124  	return nil, false
172125  }
172126  
172127  // AsDynamicsCrmSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172128  func (scfcs SapCloudForCustomerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
172129  	return nil, false
172130  }
172131  
172132  // AsDynamicsSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172133  func (scfcs SapCloudForCustomerSink) AsDynamicsSink() (*DynamicsSink, bool) {
172134  	return nil, false
172135  }
172136  
172137  // AsMicrosoftAccessSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172138  func (scfcs SapCloudForCustomerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
172139  	return nil, false
172140  }
172141  
172142  // AsInformixSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172143  func (scfcs SapCloudForCustomerSink) AsInformixSink() (*InformixSink, bool) {
172144  	return nil, false
172145  }
172146  
172147  // AsOdbcSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172148  func (scfcs SapCloudForCustomerSink) AsOdbcSink() (*OdbcSink, bool) {
172149  	return nil, false
172150  }
172151  
172152  // AsAzureSearchIndexSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172153  func (scfcs SapCloudForCustomerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
172154  	return nil, false
172155  }
172156  
172157  // AsAzureBlobFSSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172158  func (scfcs SapCloudForCustomerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
172159  	return nil, false
172160  }
172161  
172162  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172163  func (scfcs SapCloudForCustomerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
172164  	return nil, false
172165  }
172166  
172167  // AsOracleSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172168  func (scfcs SapCloudForCustomerSink) AsOracleSink() (*OracleSink, bool) {
172169  	return nil, false
172170  }
172171  
172172  // AsSQLDWSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172173  func (scfcs SapCloudForCustomerSink) AsSQLDWSink() (*SQLDWSink, bool) {
172174  	return nil, false
172175  }
172176  
172177  // AsSQLMISink is the BasicCopySink implementation for SapCloudForCustomerSink.
172178  func (scfcs SapCloudForCustomerSink) AsSQLMISink() (*SQLMISink, bool) {
172179  	return nil, false
172180  }
172181  
172182  // AsAzureSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172183  func (scfcs SapCloudForCustomerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
172184  	return nil, false
172185  }
172186  
172187  // AsSQLServerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172188  func (scfcs SapCloudForCustomerSink) AsSQLServerSink() (*SQLServerSink, bool) {
172189  	return nil, false
172190  }
172191  
172192  // AsSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172193  func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) {
172194  	return nil, false
172195  }
172196  
172197  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SapCloudForCustomerSink.
172198  func (scfcs SapCloudForCustomerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
172199  	return nil, false
172200  }
172201  
172202  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172203  func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
172204  	return nil, false
172205  }
172206  
172207  // AsFileSystemSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172208  func (scfcs SapCloudForCustomerSink) AsFileSystemSink() (*FileSystemSink, bool) {
172209  	return nil, false
172210  }
172211  
172212  // AsBlobSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172213  func (scfcs SapCloudForCustomerSink) AsBlobSink() (*BlobSink, bool) {
172214  	return nil, false
172215  }
172216  
172217  // AsBinarySink is the BasicCopySink implementation for SapCloudForCustomerSink.
172218  func (scfcs SapCloudForCustomerSink) AsBinarySink() (*BinarySink, bool) {
172219  	return nil, false
172220  }
172221  
172222  // AsParquetSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172223  func (scfcs SapCloudForCustomerSink) AsParquetSink() (*ParquetSink, bool) {
172224  	return nil, false
172225  }
172226  
172227  // AsAvroSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172228  func (scfcs SapCloudForCustomerSink) AsAvroSink() (*AvroSink, bool) {
172229  	return nil, false
172230  }
172231  
172232  // AsAzureTableSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172233  func (scfcs SapCloudForCustomerSink) AsAzureTableSink() (*AzureTableSink, bool) {
172234  	return nil, false
172235  }
172236  
172237  // AsAzureQueueSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172238  func (scfcs SapCloudForCustomerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
172239  	return nil, false
172240  }
172241  
172242  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172243  func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
172244  	return &scfcs, true
172245  }
172246  
172247  // AsAzureMySQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172248  func (scfcs SapCloudForCustomerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
172249  	return nil, false
172250  }
172251  
172252  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172253  func (scfcs SapCloudForCustomerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
172254  	return nil, false
172255  }
172256  
172257  // AsOrcSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172258  func (scfcs SapCloudForCustomerSink) AsOrcSink() (*OrcSink, bool) {
172259  	return nil, false
172260  }
172261  
172262  // AsJSONSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172263  func (scfcs SapCloudForCustomerSink) AsJSONSink() (*JSONSink, bool) {
172264  	return nil, false
172265  }
172266  
172267  // AsDelimitedTextSink is the BasicCopySink implementation for SapCloudForCustomerSink.
172268  func (scfcs SapCloudForCustomerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
172269  	return nil, false
172270  }
172271  
172272  // AsCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
172273  func (scfcs SapCloudForCustomerSink) AsCopySink() (*CopySink, bool) {
172274  	return nil, false
172275  }
172276  
172277  // AsBasicCopySink is the BasicCopySink implementation for SapCloudForCustomerSink.
172278  func (scfcs SapCloudForCustomerSink) AsBasicCopySink() (BasicCopySink, bool) {
172279  	return &scfcs, true
172280  }
172281  
172282  // UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSink struct.
172283  func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error {
172284  	var m map[string]*json.RawMessage
172285  	err := json.Unmarshal(body, &m)
172286  	if err != nil {
172287  		return err
172288  	}
172289  	for k, v := range m {
172290  		switch k {
172291  		case "writeBehavior":
172292  			if v != nil {
172293  				var writeBehavior SapCloudForCustomerSinkWriteBehavior
172294  				err = json.Unmarshal(*v, &writeBehavior)
172295  				if err != nil {
172296  					return err
172297  				}
172298  				scfcs.WriteBehavior = writeBehavior
172299  			}
172300  		default:
172301  			if v != nil {
172302  				var additionalProperties interface{}
172303  				err = json.Unmarshal(*v, &additionalProperties)
172304  				if err != nil {
172305  					return err
172306  				}
172307  				if scfcs.AdditionalProperties == nil {
172308  					scfcs.AdditionalProperties = make(map[string]interface{})
172309  				}
172310  				scfcs.AdditionalProperties[k] = additionalProperties
172311  			}
172312  		case "writeBatchSize":
172313  			if v != nil {
172314  				var writeBatchSize interface{}
172315  				err = json.Unmarshal(*v, &writeBatchSize)
172316  				if err != nil {
172317  					return err
172318  				}
172319  				scfcs.WriteBatchSize = writeBatchSize
172320  			}
172321  		case "writeBatchTimeout":
172322  			if v != nil {
172323  				var writeBatchTimeout interface{}
172324  				err = json.Unmarshal(*v, &writeBatchTimeout)
172325  				if err != nil {
172326  					return err
172327  				}
172328  				scfcs.WriteBatchTimeout = writeBatchTimeout
172329  			}
172330  		case "sinkRetryCount":
172331  			if v != nil {
172332  				var sinkRetryCount interface{}
172333  				err = json.Unmarshal(*v, &sinkRetryCount)
172334  				if err != nil {
172335  					return err
172336  				}
172337  				scfcs.SinkRetryCount = sinkRetryCount
172338  			}
172339  		case "sinkRetryWait":
172340  			if v != nil {
172341  				var sinkRetryWait interface{}
172342  				err = json.Unmarshal(*v, &sinkRetryWait)
172343  				if err != nil {
172344  					return err
172345  				}
172346  				scfcs.SinkRetryWait = sinkRetryWait
172347  			}
172348  		case "maxConcurrentConnections":
172349  			if v != nil {
172350  				var maxConcurrentConnections interface{}
172351  				err = json.Unmarshal(*v, &maxConcurrentConnections)
172352  				if err != nil {
172353  					return err
172354  				}
172355  				scfcs.MaxConcurrentConnections = maxConcurrentConnections
172356  			}
172357  		case "type":
172358  			if v != nil {
172359  				var typeVar TypeBasicCopySink
172360  				err = json.Unmarshal(*v, &typeVar)
172361  				if err != nil {
172362  					return err
172363  				}
172364  				scfcs.Type = typeVar
172365  			}
172366  		}
172367  	}
172368  
172369  	return nil
172370  }
172371  
172372  // SapCloudForCustomerSource a copy activity source for SAP Cloud for Customer source.
172373  type SapCloudForCustomerSource struct {
172374  	// Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string).
172375  	Query interface{} `json:"query,omitempty"`
172376  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
172377  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
172378  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
172379  	AdditionalProperties map[string]interface{} `json:""`
172380  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
172381  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
172382  	// 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])).
172383  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
172384  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
172385  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
172386  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
172387  	Type TypeBasicCopySource `json:"type,omitempty"`
172388  }
172389  
172390  // MarshalJSON is the custom marshaler for SapCloudForCustomerSource.
172391  func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) {
172392  	scfcs.Type = TypeSapCloudForCustomerSource
172393  	objectMap := make(map[string]interface{})
172394  	if scfcs.Query != nil {
172395  		objectMap["query"] = scfcs.Query
172396  	}
172397  	if scfcs.QueryTimeout != nil {
172398  		objectMap["queryTimeout"] = scfcs.QueryTimeout
172399  	}
172400  	if scfcs.SourceRetryCount != nil {
172401  		objectMap["sourceRetryCount"] = scfcs.SourceRetryCount
172402  	}
172403  	if scfcs.SourceRetryWait != nil {
172404  		objectMap["sourceRetryWait"] = scfcs.SourceRetryWait
172405  	}
172406  	if scfcs.MaxConcurrentConnections != nil {
172407  		objectMap["maxConcurrentConnections"] = scfcs.MaxConcurrentConnections
172408  	}
172409  	if scfcs.Type != "" {
172410  		objectMap["type"] = scfcs.Type
172411  	}
172412  	for k, v := range scfcs.AdditionalProperties {
172413  		objectMap[k] = v
172414  	}
172415  	return json.Marshal(objectMap)
172416  }
172417  
172418  // AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172419  func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) {
172420  	return nil, false
172421  }
172422  
172423  // AsAzureBlobFSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172424  func (scfcs SapCloudForCustomerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
172425  	return nil, false
172426  }
172427  
172428  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172429  func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
172430  	return nil, false
172431  }
172432  
172433  // AsOffice365Source is the BasicCopySource implementation for SapCloudForCustomerSource.
172434  func (scfcs SapCloudForCustomerSource) AsOffice365Source() (*Office365Source, bool) {
172435  	return nil, false
172436  }
172437  
172438  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapCloudForCustomerSource.
172439  func (scfcs SapCloudForCustomerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
172440  	return nil, false
172441  }
172442  
172443  // AsMongoDbV2Source is the BasicCopySource implementation for SapCloudForCustomerSource.
172444  func (scfcs SapCloudForCustomerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
172445  	return nil, false
172446  }
172447  
172448  // AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172449  func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) {
172450  	return nil, false
172451  }
172452  
172453  // AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172454  func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) {
172455  	return nil, false
172456  }
172457  
172458  // AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172459  func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) {
172460  	return nil, false
172461  }
172462  
172463  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172464  func (scfcs SapCloudForCustomerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
172465  	return nil, false
172466  }
172467  
172468  // AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172469  func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) {
172470  	return nil, false
172471  }
172472  
172473  // AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172474  func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) {
172475  	return nil, false
172476  }
172477  
172478  // AsRestSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172479  func (scfcs SapCloudForCustomerSource) AsRestSource() (*RestSource, bool) {
172480  	return nil, false
172481  }
172482  
172483  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172484  func (scfcs SapCloudForCustomerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
172485  	return nil, false
172486  }
172487  
172488  // AsODataSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172489  func (scfcs SapCloudForCustomerSource) AsODataSource() (*ODataSource, bool) {
172490  	return nil, false
172491  }
172492  
172493  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172494  func (scfcs SapCloudForCustomerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
172495  	return nil, false
172496  }
172497  
172498  // AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172499  func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) {
172500  	return nil, false
172501  }
172502  
172503  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172504  func (scfcs SapCloudForCustomerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
172505  	return nil, false
172506  }
172507  
172508  // AsDynamicsCrmSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172509  func (scfcs SapCloudForCustomerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
172510  	return nil, false
172511  }
172512  
172513  // AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172514  func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) {
172515  	return nil, false
172516  }
172517  
172518  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapCloudForCustomerSource.
172519  func (scfcs SapCloudForCustomerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
172520  	return nil, false
172521  }
172522  
172523  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172524  func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
172525  	return nil, false
172526  }
172527  
172528  // AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172529  func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) {
172530  	return nil, false
172531  }
172532  
172533  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172534  func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
172535  	return nil, false
172536  }
172537  
172538  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172539  func (scfcs SapCloudForCustomerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
172540  	return nil, false
172541  }
172542  
172543  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172544  func (scfcs SapCloudForCustomerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
172545  	return nil, false
172546  }
172547  
172548  // AsDynamicsAXSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172549  func (scfcs SapCloudForCustomerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
172550  	return nil, false
172551  }
172552  
172553  // AsResponsysSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172554  func (scfcs SapCloudForCustomerSource) AsResponsysSource() (*ResponsysSource, bool) {
172555  	return nil, false
172556  }
172557  
172558  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172559  func (scfcs SapCloudForCustomerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
172560  	return nil, false
172561  }
172562  
172563  // AsVerticaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172564  func (scfcs SapCloudForCustomerSource) AsVerticaSource() (*VerticaSource, bool) {
172565  	return nil, false
172566  }
172567  
172568  // AsNetezzaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172569  func (scfcs SapCloudForCustomerSource) AsNetezzaSource() (*NetezzaSource, bool) {
172570  	return nil, false
172571  }
172572  
172573  // AsZohoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172574  func (scfcs SapCloudForCustomerSource) AsZohoSource() (*ZohoSource, bool) {
172575  	return nil, false
172576  }
172577  
172578  // AsXeroSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172579  func (scfcs SapCloudForCustomerSource) AsXeroSource() (*XeroSource, bool) {
172580  	return nil, false
172581  }
172582  
172583  // AsSquareSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172584  func (scfcs SapCloudForCustomerSource) AsSquareSource() (*SquareSource, bool) {
172585  	return nil, false
172586  }
172587  
172588  // AsSparkSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172589  func (scfcs SapCloudForCustomerSource) AsSparkSource() (*SparkSource, bool) {
172590  	return nil, false
172591  }
172592  
172593  // AsShopifySource is the BasicCopySource implementation for SapCloudForCustomerSource.
172594  func (scfcs SapCloudForCustomerSource) AsShopifySource() (*ShopifySource, bool) {
172595  	return nil, false
172596  }
172597  
172598  // AsServiceNowSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172599  func (scfcs SapCloudForCustomerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
172600  	return nil, false
172601  }
172602  
172603  // AsQuickBooksSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172604  func (scfcs SapCloudForCustomerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
172605  	return nil, false
172606  }
172607  
172608  // AsPrestoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172609  func (scfcs SapCloudForCustomerSource) AsPrestoSource() (*PrestoSource, bool) {
172610  	return nil, false
172611  }
172612  
172613  // AsPhoenixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172614  func (scfcs SapCloudForCustomerSource) AsPhoenixSource() (*PhoenixSource, bool) {
172615  	return nil, false
172616  }
172617  
172618  // AsPaypalSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172619  func (scfcs SapCloudForCustomerSource) AsPaypalSource() (*PaypalSource, bool) {
172620  	return nil, false
172621  }
172622  
172623  // AsMarketoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172624  func (scfcs SapCloudForCustomerSource) AsMarketoSource() (*MarketoSource, bool) {
172625  	return nil, false
172626  }
172627  
172628  // AsAzureMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172629  func (scfcs SapCloudForCustomerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
172630  	return nil, false
172631  }
172632  
172633  // AsMariaDBSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172634  func (scfcs SapCloudForCustomerSource) AsMariaDBSource() (*MariaDBSource, bool) {
172635  	return nil, false
172636  }
172637  
172638  // AsMagentoSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172639  func (scfcs SapCloudForCustomerSource) AsMagentoSource() (*MagentoSource, bool) {
172640  	return nil, false
172641  }
172642  
172643  // AsJiraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172644  func (scfcs SapCloudForCustomerSource) AsJiraSource() (*JiraSource, bool) {
172645  	return nil, false
172646  }
172647  
172648  // AsImpalaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172649  func (scfcs SapCloudForCustomerSource) AsImpalaSource() (*ImpalaSource, bool) {
172650  	return nil, false
172651  }
172652  
172653  // AsHubspotSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172654  func (scfcs SapCloudForCustomerSource) AsHubspotSource() (*HubspotSource, bool) {
172655  	return nil, false
172656  }
172657  
172658  // AsHiveSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172659  func (scfcs SapCloudForCustomerSource) AsHiveSource() (*HiveSource, bool) {
172660  	return nil, false
172661  }
172662  
172663  // AsHBaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172664  func (scfcs SapCloudForCustomerSource) AsHBaseSource() (*HBaseSource, bool) {
172665  	return nil, false
172666  }
172667  
172668  // AsGreenplumSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172669  func (scfcs SapCloudForCustomerSource) AsGreenplumSource() (*GreenplumSource, bool) {
172670  	return nil, false
172671  }
172672  
172673  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapCloudForCustomerSource.
172674  func (scfcs SapCloudForCustomerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
172675  	return nil, false
172676  }
172677  
172678  // AsEloquaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172679  func (scfcs SapCloudForCustomerSource) AsEloquaSource() (*EloquaSource, bool) {
172680  	return nil, false
172681  }
172682  
172683  // AsDrillSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172684  func (scfcs SapCloudForCustomerSource) AsDrillSource() (*DrillSource, bool) {
172685  	return nil, false
172686  }
172687  
172688  // AsCouchbaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172689  func (scfcs SapCloudForCustomerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
172690  	return nil, false
172691  }
172692  
172693  // AsConcurSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172694  func (scfcs SapCloudForCustomerSource) AsConcurSource() (*ConcurSource, bool) {
172695  	return nil, false
172696  }
172697  
172698  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172699  func (scfcs SapCloudForCustomerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
172700  	return nil, false
172701  }
172702  
172703  // AsAmazonMWSSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172704  func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
172705  	return nil, false
172706  }
172707  
172708  // AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172709  func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) {
172710  	return nil, false
172711  }
172712  
172713  // AsTeradataSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172714  func (scfcs SapCloudForCustomerSource) AsTeradataSource() (*TeradataSource, bool) {
172715  	return nil, false
172716  }
172717  
172718  // AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172719  func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
172720  	return nil, false
172721  }
172722  
172723  // AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172724  func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) {
172725  	return nil, false
172726  }
172727  
172728  // AsSQLMISource is the BasicCopySource implementation for SapCloudForCustomerSource.
172729  func (scfcs SapCloudForCustomerSource) AsSQLMISource() (*SQLMISource, bool) {
172730  	return nil, false
172731  }
172732  
172733  // AsAzureSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172734  func (scfcs SapCloudForCustomerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
172735  	return nil, false
172736  }
172737  
172738  // AsSQLServerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172739  func (scfcs SapCloudForCustomerSource) AsSQLServerSource() (*SQLServerSource, bool) {
172740  	return nil, false
172741  }
172742  
172743  // AsSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172744  func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) {
172745  	return nil, false
172746  }
172747  
172748  // AsSapTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172749  func (scfcs SapCloudForCustomerSource) AsSapTableSource() (*SapTableSource, bool) {
172750  	return nil, false
172751  }
172752  
172753  // AsSapOpenHubSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172754  func (scfcs SapCloudForCustomerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
172755  	return nil, false
172756  }
172757  
172758  // AsSapHanaSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172759  func (scfcs SapCloudForCustomerSource) AsSapHanaSource() (*SapHanaSource, bool) {
172760  	return nil, false
172761  }
172762  
172763  // AsSapEccSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172764  func (scfcs SapCloudForCustomerSource) AsSapEccSource() (*SapEccSource, bool) {
172765  	return nil, false
172766  }
172767  
172768  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172769  func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
172770  	return &scfcs, true
172771  }
172772  
172773  // AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172774  func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) {
172775  	return nil, false
172776  }
172777  
172778  // AsSapBwSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172779  func (scfcs SapCloudForCustomerSource) AsSapBwSource() (*SapBwSource, bool) {
172780  	return nil, false
172781  }
172782  
172783  // AsSybaseSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172784  func (scfcs SapCloudForCustomerSource) AsSybaseSource() (*SybaseSource, bool) {
172785  	return nil, false
172786  }
172787  
172788  // AsPostgreSQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172789  func (scfcs SapCloudForCustomerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
172790  	return nil, false
172791  }
172792  
172793  // AsMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172794  func (scfcs SapCloudForCustomerSource) AsMySQLSource() (*MySQLSource, bool) {
172795  	return nil, false
172796  }
172797  
172798  // AsOdbcSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172799  func (scfcs SapCloudForCustomerSource) AsOdbcSource() (*OdbcSource, bool) {
172800  	return nil, false
172801  }
172802  
172803  // AsDb2Source is the BasicCopySource implementation for SapCloudForCustomerSource.
172804  func (scfcs SapCloudForCustomerSource) AsDb2Source() (*Db2Source, bool) {
172805  	return nil, false
172806  }
172807  
172808  // AsInformixSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172809  func (scfcs SapCloudForCustomerSource) AsInformixSource() (*InformixSource, bool) {
172810  	return nil, false
172811  }
172812  
172813  // AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172814  func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) {
172815  	return nil, false
172816  }
172817  
172818  // AsTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172819  func (scfcs SapCloudForCustomerSource) AsTabularSource() (*TabularSource, bool) {
172820  	return nil, false
172821  }
172822  
172823  // AsBasicTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172824  func (scfcs SapCloudForCustomerSource) AsBasicTabularSource() (BasicTabularSource, bool) {
172825  	return &scfcs, true
172826  }
172827  
172828  // AsBinarySource is the BasicCopySource implementation for SapCloudForCustomerSource.
172829  func (scfcs SapCloudForCustomerSource) AsBinarySource() (*BinarySource, bool) {
172830  	return nil, false
172831  }
172832  
172833  // AsOrcSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172834  func (scfcs SapCloudForCustomerSource) AsOrcSource() (*OrcSource, bool) {
172835  	return nil, false
172836  }
172837  
172838  // AsJSONSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172839  func (scfcs SapCloudForCustomerSource) AsJSONSource() (*JSONSource, bool) {
172840  	return nil, false
172841  }
172842  
172843  // AsDelimitedTextSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172844  func (scfcs SapCloudForCustomerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
172845  	return nil, false
172846  }
172847  
172848  // AsParquetSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172849  func (scfcs SapCloudForCustomerSource) AsParquetSource() (*ParquetSource, bool) {
172850  	return nil, false
172851  }
172852  
172853  // AsAvroSource is the BasicCopySource implementation for SapCloudForCustomerSource.
172854  func (scfcs SapCloudForCustomerSource) AsAvroSource() (*AvroSource, bool) {
172855  	return nil, false
172856  }
172857  
172858  // AsCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
172859  func (scfcs SapCloudForCustomerSource) AsCopySource() (*CopySource, bool) {
172860  	return nil, false
172861  }
172862  
172863  // AsBasicCopySource is the BasicCopySource implementation for SapCloudForCustomerSource.
172864  func (scfcs SapCloudForCustomerSource) AsBasicCopySource() (BasicCopySource, bool) {
172865  	return &scfcs, true
172866  }
172867  
172868  // UnmarshalJSON is the custom unmarshaler for SapCloudForCustomerSource struct.
172869  func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error {
172870  	var m map[string]*json.RawMessage
172871  	err := json.Unmarshal(body, &m)
172872  	if err != nil {
172873  		return err
172874  	}
172875  	for k, v := range m {
172876  		switch k {
172877  		case "query":
172878  			if v != nil {
172879  				var query interface{}
172880  				err = json.Unmarshal(*v, &query)
172881  				if err != nil {
172882  					return err
172883  				}
172884  				scfcs.Query = query
172885  			}
172886  		case "queryTimeout":
172887  			if v != nil {
172888  				var queryTimeout interface{}
172889  				err = json.Unmarshal(*v, &queryTimeout)
172890  				if err != nil {
172891  					return err
172892  				}
172893  				scfcs.QueryTimeout = queryTimeout
172894  			}
172895  		default:
172896  			if v != nil {
172897  				var additionalProperties interface{}
172898  				err = json.Unmarshal(*v, &additionalProperties)
172899  				if err != nil {
172900  					return err
172901  				}
172902  				if scfcs.AdditionalProperties == nil {
172903  					scfcs.AdditionalProperties = make(map[string]interface{})
172904  				}
172905  				scfcs.AdditionalProperties[k] = additionalProperties
172906  			}
172907  		case "sourceRetryCount":
172908  			if v != nil {
172909  				var sourceRetryCount interface{}
172910  				err = json.Unmarshal(*v, &sourceRetryCount)
172911  				if err != nil {
172912  					return err
172913  				}
172914  				scfcs.SourceRetryCount = sourceRetryCount
172915  			}
172916  		case "sourceRetryWait":
172917  			if v != nil {
172918  				var sourceRetryWait interface{}
172919  				err = json.Unmarshal(*v, &sourceRetryWait)
172920  				if err != nil {
172921  					return err
172922  				}
172923  				scfcs.SourceRetryWait = sourceRetryWait
172924  			}
172925  		case "maxConcurrentConnections":
172926  			if v != nil {
172927  				var maxConcurrentConnections interface{}
172928  				err = json.Unmarshal(*v, &maxConcurrentConnections)
172929  				if err != nil {
172930  					return err
172931  				}
172932  				scfcs.MaxConcurrentConnections = maxConcurrentConnections
172933  			}
172934  		case "type":
172935  			if v != nil {
172936  				var typeVar TypeBasicCopySource
172937  				err = json.Unmarshal(*v, &typeVar)
172938  				if err != nil {
172939  					return err
172940  				}
172941  				scfcs.Type = typeVar
172942  			}
172943  		}
172944  	}
172945  
172946  	return nil
172947  }
172948  
172949  // SapEccLinkedService linked service for SAP ERP Central Component(SAP ECC).
172950  type SapEccLinkedService struct {
172951  	// SapEccLinkedServiceTypeProperties - SAP ECC linked service properties.
172952  	*SapEccLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
172953  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
172954  	AdditionalProperties map[string]interface{} `json:""`
172955  	// ConnectVia - The integration runtime reference.
172956  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
172957  	// Description - Linked service description.
172958  	Description *string `json:"description,omitempty"`
172959  	// Parameters - Parameters for linked service.
172960  	Parameters map[string]*ParameterSpecification `json:"parameters"`
172961  	// Annotations - List of tags that can be used for describing the linked service.
172962  	Annotations *[]interface{} `json:"annotations,omitempty"`
172963  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
172964  	Type TypeBasicLinkedService `json:"type,omitempty"`
172965  }
172966  
172967  // MarshalJSON is the custom marshaler for SapEccLinkedService.
172968  func (sels SapEccLinkedService) MarshalJSON() ([]byte, error) {
172969  	sels.Type = TypeSapEcc
172970  	objectMap := make(map[string]interface{})
172971  	if sels.SapEccLinkedServiceTypeProperties != nil {
172972  		objectMap["typeProperties"] = sels.SapEccLinkedServiceTypeProperties
172973  	}
172974  	if sels.ConnectVia != nil {
172975  		objectMap["connectVia"] = sels.ConnectVia
172976  	}
172977  	if sels.Description != nil {
172978  		objectMap["description"] = sels.Description
172979  	}
172980  	if sels.Parameters != nil {
172981  		objectMap["parameters"] = sels.Parameters
172982  	}
172983  	if sels.Annotations != nil {
172984  		objectMap["annotations"] = sels.Annotations
172985  	}
172986  	if sels.Type != "" {
172987  		objectMap["type"] = sels.Type
172988  	}
172989  	for k, v := range sels.AdditionalProperties {
172990  		objectMap[k] = v
172991  	}
172992  	return json.Marshal(objectMap)
172993  }
172994  
172995  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
172996  func (sels SapEccLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
172997  	return nil, false
172998  }
172999  
173000  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173001  func (sels SapEccLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
173002  	return nil, false
173003  }
173004  
173005  // AsSapTableLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173006  func (sels SapEccLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
173007  	return nil, false
173008  }
173009  
173010  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173011  func (sels SapEccLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
173012  	return nil, false
173013  }
173014  
173015  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173016  func (sels SapEccLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
173017  	return nil, false
173018  }
173019  
173020  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173021  func (sels SapEccLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
173022  	return nil, false
173023  }
173024  
173025  // AsResponsysLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173026  func (sels SapEccLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
173027  	return nil, false
173028  }
173029  
173030  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173031  func (sels SapEccLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
173032  	return nil, false
173033  }
173034  
173035  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173036  func (sels SapEccLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
173037  	return nil, false
173038  }
173039  
173040  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173041  func (sels SapEccLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
173042  	return nil, false
173043  }
173044  
173045  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173046  func (sels SapEccLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
173047  	return nil, false
173048  }
173049  
173050  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173051  func (sels SapEccLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
173052  	return nil, false
173053  }
173054  
173055  // AsVerticaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173056  func (sels SapEccLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
173057  	return nil, false
173058  }
173059  
173060  // AsZohoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173061  func (sels SapEccLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
173062  	return nil, false
173063  }
173064  
173065  // AsXeroLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173066  func (sels SapEccLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
173067  	return nil, false
173068  }
173069  
173070  // AsSquareLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173071  func (sels SapEccLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
173072  	return nil, false
173073  }
173074  
173075  // AsSparkLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173076  func (sels SapEccLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
173077  	return nil, false
173078  }
173079  
173080  // AsShopifyLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173081  func (sels SapEccLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
173082  	return nil, false
173083  }
173084  
173085  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173086  func (sels SapEccLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
173087  	return nil, false
173088  }
173089  
173090  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173091  func (sels SapEccLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
173092  	return nil, false
173093  }
173094  
173095  // AsPrestoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173096  func (sels SapEccLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
173097  	return nil, false
173098  }
173099  
173100  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173101  func (sels SapEccLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
173102  	return nil, false
173103  }
173104  
173105  // AsPaypalLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173106  func (sels SapEccLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
173107  	return nil, false
173108  }
173109  
173110  // AsMarketoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173111  func (sels SapEccLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
173112  	return nil, false
173113  }
173114  
173115  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173116  func (sels SapEccLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
173117  	return nil, false
173118  }
173119  
173120  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173121  func (sels SapEccLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
173122  	return nil, false
173123  }
173124  
173125  // AsMagentoLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173126  func (sels SapEccLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
173127  	return nil, false
173128  }
173129  
173130  // AsJiraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173131  func (sels SapEccLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
173132  	return nil, false
173133  }
173134  
173135  // AsImpalaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173136  func (sels SapEccLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
173137  	return nil, false
173138  }
173139  
173140  // AsHubspotLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173141  func (sels SapEccLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
173142  	return nil, false
173143  }
173144  
173145  // AsHiveLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173146  func (sels SapEccLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
173147  	return nil, false
173148  }
173149  
173150  // AsHBaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173151  func (sels SapEccLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
173152  	return nil, false
173153  }
173154  
173155  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173156  func (sels SapEccLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
173157  	return nil, false
173158  }
173159  
173160  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173161  func (sels SapEccLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
173162  	return nil, false
173163  }
173164  
173165  // AsEloquaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173166  func (sels SapEccLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
173167  	return nil, false
173168  }
173169  
173170  // AsDrillLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173171  func (sels SapEccLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
173172  	return nil, false
173173  }
173174  
173175  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173176  func (sels SapEccLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
173177  	return nil, false
173178  }
173179  
173180  // AsConcurLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173181  func (sels SapEccLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
173182  	return nil, false
173183  }
173184  
173185  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173186  func (sels SapEccLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
173187  	return nil, false
173188  }
173189  
173190  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173191  func (sels SapEccLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
173192  	return nil, false
173193  }
173194  
173195  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173196  func (sels SapEccLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
173197  	return nil, false
173198  }
173199  
173200  // AsSapBWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173201  func (sels SapEccLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
173202  	return nil, false
173203  }
173204  
173205  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173206  func (sels SapEccLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
173207  	return nil, false
173208  }
173209  
173210  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173211  func (sels SapEccLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
173212  	return nil, false
173213  }
173214  
173215  // AsHTTPLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173216  func (sels SapEccLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
173217  	return nil, false
173218  }
173219  
173220  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173221  func (sels SapEccLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
173222  	return nil, false
173223  }
173224  
173225  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173226  func (sels SapEccLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
173227  	return nil, false
173228  }
173229  
173230  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173231  func (sels SapEccLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
173232  	return nil, false
173233  }
173234  
173235  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173236  func (sels SapEccLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
173237  	return nil, false
173238  }
173239  
173240  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173241  func (sels SapEccLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
173242  	return nil, false
173243  }
173244  
173245  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173246  func (sels SapEccLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
173247  	return nil, false
173248  }
173249  
173250  // AsSapEccLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173251  func (sels SapEccLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
173252  	return &sels, true
173253  }
173254  
173255  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173256  func (sels SapEccLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
173257  	return nil, false
173258  }
173259  
173260  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173261  func (sels SapEccLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
173262  	return nil, false
173263  }
173264  
173265  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173266  func (sels SapEccLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
173267  	return nil, false
173268  }
173269  
173270  // AsOffice365LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173271  func (sels SapEccLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
173272  	return nil, false
173273  }
173274  
173275  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173276  func (sels SapEccLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
173277  	return nil, false
173278  }
173279  
173280  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173281  func (sels SapEccLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
173282  	return nil, false
173283  }
173284  
173285  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173286  func (sels SapEccLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
173287  	return nil, false
173288  }
173289  
173290  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173291  func (sels SapEccLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
173292  	return nil, false
173293  }
173294  
173295  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173296  func (sels SapEccLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
173297  	return nil, false
173298  }
173299  
173300  // AsCassandraLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173301  func (sels SapEccLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
173302  	return nil, false
173303  }
173304  
173305  // AsWebLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173306  func (sels SapEccLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
173307  	return nil, false
173308  }
173309  
173310  // AsODataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173311  func (sels SapEccLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
173312  	return nil, false
173313  }
173314  
173315  // AsHdfsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173316  func (sels SapEccLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
173317  	return nil, false
173318  }
173319  
173320  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173321  func (sels SapEccLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
173322  	return nil, false
173323  }
173324  
173325  // AsInformixLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173326  func (sels SapEccLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
173327  	return nil, false
173328  }
173329  
173330  // AsOdbcLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173331  func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
173332  	return nil, false
173333  }
173334  
173335  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173336  func (sels SapEccLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
173337  	return nil, false
173338  }
173339  
173340  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173341  func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
173342  	return nil, false
173343  }
173344  
173345  // AsTeradataLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173346  func (sels SapEccLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
173347  	return nil, false
173348  }
173349  
173350  // AsDb2LinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173351  func (sels SapEccLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
173352  	return nil, false
173353  }
173354  
173355  // AsSybaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173356  func (sels SapEccLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
173357  	return nil, false
173358  }
173359  
173360  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173361  func (sels SapEccLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
173362  	return nil, false
173363  }
173364  
173365  // AsMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173366  func (sels SapEccLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
173367  	return nil, false
173368  }
173369  
173370  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173371  func (sels SapEccLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
173372  	return nil, false
173373  }
173374  
173375  // AsOracleLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173376  func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
173377  	return nil, false
173378  }
173379  
173380  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173381  func (sels SapEccLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
173382  	return nil, false
173383  }
173384  
173385  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173386  func (sels SapEccLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
173387  	return nil, false
173388  }
173389  
173390  // AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173391  func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
173392  	return nil, false
173393  }
173394  
173395  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173396  func (sels SapEccLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
173397  	return nil, false
173398  }
173399  
173400  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173401  func (sels SapEccLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
173402  	return nil, false
173403  }
173404  
173405  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173406  func (sels SapEccLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
173407  	return nil, false
173408  }
173409  
173410  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173411  func (sels SapEccLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
173412  	return nil, false
173413  }
173414  
173415  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173416  func (sels SapEccLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
173417  	return nil, false
173418  }
173419  
173420  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173421  func (sels SapEccLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
173422  	return nil, false
173423  }
173424  
173425  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173426  func (sels SapEccLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
173427  	return nil, false
173428  }
173429  
173430  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173431  func (sels SapEccLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
173432  	return nil, false
173433  }
173434  
173435  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173436  func (sels SapEccLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
173437  	return nil, false
173438  }
173439  
173440  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173441  func (sels SapEccLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
173442  	return nil, false
173443  }
173444  
173445  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173446  func (sels SapEccLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
173447  	return nil, false
173448  }
173449  
173450  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173451  func (sels SapEccLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
173452  	return nil, false
173453  }
173454  
173455  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173456  func (sels SapEccLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
173457  	return nil, false
173458  }
173459  
173460  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173461  func (sels SapEccLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
173462  	return nil, false
173463  }
173464  
173465  // AsLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173466  func (sels SapEccLinkedService) AsLinkedService() (*LinkedService, bool) {
173467  	return nil, false
173468  }
173469  
173470  // AsBasicLinkedService is the BasicLinkedService implementation for SapEccLinkedService.
173471  func (sels SapEccLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
173472  	return &sels, true
173473  }
173474  
173475  // UnmarshalJSON is the custom unmarshaler for SapEccLinkedService struct.
173476  func (sels *SapEccLinkedService) UnmarshalJSON(body []byte) error {
173477  	var m map[string]*json.RawMessage
173478  	err := json.Unmarshal(body, &m)
173479  	if err != nil {
173480  		return err
173481  	}
173482  	for k, v := range m {
173483  		switch k {
173484  		case "typeProperties":
173485  			if v != nil {
173486  				var sapEccLinkedServiceTypeProperties SapEccLinkedServiceTypeProperties
173487  				err = json.Unmarshal(*v, &sapEccLinkedServiceTypeProperties)
173488  				if err != nil {
173489  					return err
173490  				}
173491  				sels.SapEccLinkedServiceTypeProperties = &sapEccLinkedServiceTypeProperties
173492  			}
173493  		default:
173494  			if v != nil {
173495  				var additionalProperties interface{}
173496  				err = json.Unmarshal(*v, &additionalProperties)
173497  				if err != nil {
173498  					return err
173499  				}
173500  				if sels.AdditionalProperties == nil {
173501  					sels.AdditionalProperties = make(map[string]interface{})
173502  				}
173503  				sels.AdditionalProperties[k] = additionalProperties
173504  			}
173505  		case "connectVia":
173506  			if v != nil {
173507  				var connectVia IntegrationRuntimeReference
173508  				err = json.Unmarshal(*v, &connectVia)
173509  				if err != nil {
173510  					return err
173511  				}
173512  				sels.ConnectVia = &connectVia
173513  			}
173514  		case "description":
173515  			if v != nil {
173516  				var description string
173517  				err = json.Unmarshal(*v, &description)
173518  				if err != nil {
173519  					return err
173520  				}
173521  				sels.Description = &description
173522  			}
173523  		case "parameters":
173524  			if v != nil {
173525  				var parameters map[string]*ParameterSpecification
173526  				err = json.Unmarshal(*v, &parameters)
173527  				if err != nil {
173528  					return err
173529  				}
173530  				sels.Parameters = parameters
173531  			}
173532  		case "annotations":
173533  			if v != nil {
173534  				var annotations []interface{}
173535  				err = json.Unmarshal(*v, &annotations)
173536  				if err != nil {
173537  					return err
173538  				}
173539  				sels.Annotations = &annotations
173540  			}
173541  		case "type":
173542  			if v != nil {
173543  				var typeVar TypeBasicLinkedService
173544  				err = json.Unmarshal(*v, &typeVar)
173545  				if err != nil {
173546  					return err
173547  				}
173548  				sels.Type = typeVar
173549  			}
173550  		}
173551  	}
173552  
173553  	return nil
173554  }
173555  
173556  // SapEccLinkedServiceTypeProperties SAP ECC linked service properties.
173557  type SapEccLinkedServiceTypeProperties struct {
173558  	// 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).
173559  	URL *string `json:"url,omitempty"`
173560  	// Username - The username for Basic authentication. Type: string (or Expression with resultType string).
173561  	Username *string `json:"username,omitempty"`
173562  	// Password - The password for Basic authentication.
173563  	Password BasicSecretBase `json:"password,omitempty"`
173564  	// 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).
173565  	EncryptedCredential *string `json:"encryptedCredential,omitempty"`
173566  }
173567  
173568  // UnmarshalJSON is the custom unmarshaler for SapEccLinkedServiceTypeProperties struct.
173569  func (selstp *SapEccLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
173570  	var m map[string]*json.RawMessage
173571  	err := json.Unmarshal(body, &m)
173572  	if err != nil {
173573  		return err
173574  	}
173575  	for k, v := range m {
173576  		switch k {
173577  		case "url":
173578  			if v != nil {
173579  				var URL string
173580  				err = json.Unmarshal(*v, &URL)
173581  				if err != nil {
173582  					return err
173583  				}
173584  				selstp.URL = &URL
173585  			}
173586  		case "username":
173587  			if v != nil {
173588  				var username string
173589  				err = json.Unmarshal(*v, &username)
173590  				if err != nil {
173591  					return err
173592  				}
173593  				selstp.Username = &username
173594  			}
173595  		case "password":
173596  			if v != nil {
173597  				password, err := unmarshalBasicSecretBase(*v)
173598  				if err != nil {
173599  					return err
173600  				}
173601  				selstp.Password = password
173602  			}
173603  		case "encryptedCredential":
173604  			if v != nil {
173605  				var encryptedCredential string
173606  				err = json.Unmarshal(*v, &encryptedCredential)
173607  				if err != nil {
173608  					return err
173609  				}
173610  				selstp.EncryptedCredential = &encryptedCredential
173611  			}
173612  		}
173613  	}
173614  
173615  	return nil
173616  }
173617  
173618  // SapEccResourceDataset the path of the SAP ECC OData entity.
173619  type SapEccResourceDataset struct {
173620  	// SapEccResourceDatasetTypeProperties - SAP ECC OData resource dataset properties.
173621  	*SapEccResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
173622  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
173623  	AdditionalProperties map[string]interface{} `json:""`
173624  	// Description - Dataset description.
173625  	Description *string `json:"description,omitempty"`
173626  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
173627  	Structure interface{} `json:"structure,omitempty"`
173628  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
173629  	Schema interface{} `json:"schema,omitempty"`
173630  	// LinkedServiceName - Linked service reference.
173631  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
173632  	// Parameters - Parameters for dataset.
173633  	Parameters map[string]*ParameterSpecification `json:"parameters"`
173634  	// Annotations - List of tags that can be used for describing the Dataset.
173635  	Annotations *[]interface{} `json:"annotations,omitempty"`
173636  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
173637  	Folder *DatasetFolder `json:"folder,omitempty"`
173638  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
173639  	Type TypeBasicDataset `json:"type,omitempty"`
173640  }
173641  
173642  // MarshalJSON is the custom marshaler for SapEccResourceDataset.
173643  func (serd SapEccResourceDataset) MarshalJSON() ([]byte, error) {
173644  	serd.Type = TypeSapEccResource
173645  	objectMap := make(map[string]interface{})
173646  	if serd.SapEccResourceDatasetTypeProperties != nil {
173647  		objectMap["typeProperties"] = serd.SapEccResourceDatasetTypeProperties
173648  	}
173649  	if serd.Description != nil {
173650  		objectMap["description"] = serd.Description
173651  	}
173652  	if serd.Structure != nil {
173653  		objectMap["structure"] = serd.Structure
173654  	}
173655  	if serd.Schema != nil {
173656  		objectMap["schema"] = serd.Schema
173657  	}
173658  	if serd.LinkedServiceName != nil {
173659  		objectMap["linkedServiceName"] = serd.LinkedServiceName
173660  	}
173661  	if serd.Parameters != nil {
173662  		objectMap["parameters"] = serd.Parameters
173663  	}
173664  	if serd.Annotations != nil {
173665  		objectMap["annotations"] = serd.Annotations
173666  	}
173667  	if serd.Folder != nil {
173668  		objectMap["folder"] = serd.Folder
173669  	}
173670  	if serd.Type != "" {
173671  		objectMap["type"] = serd.Type
173672  	}
173673  	for k, v := range serd.AdditionalProperties {
173674  		objectMap[k] = v
173675  	}
173676  	return json.Marshal(objectMap)
173677  }
173678  
173679  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173680  func (serd SapEccResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
173681  	return nil, false
173682  }
173683  
173684  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173685  func (serd SapEccResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
173686  	return nil, false
173687  }
173688  
173689  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173690  func (serd SapEccResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
173691  	return nil, false
173692  }
173693  
173694  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173695  func (serd SapEccResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
173696  	return nil, false
173697  }
173698  
173699  // AsResponsysObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173700  func (serd SapEccResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
173701  	return nil, false
173702  }
173703  
173704  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173705  func (serd SapEccResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
173706  	return nil, false
173707  }
173708  
173709  // AsVerticaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173710  func (serd SapEccResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
173711  	return nil, false
173712  }
173713  
173714  // AsNetezzaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173715  func (serd SapEccResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
173716  	return nil, false
173717  }
173718  
173719  // AsZohoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173720  func (serd SapEccResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
173721  	return nil, false
173722  }
173723  
173724  // AsXeroObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173725  func (serd SapEccResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
173726  	return nil, false
173727  }
173728  
173729  // AsSquareObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173730  func (serd SapEccResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
173731  	return nil, false
173732  }
173733  
173734  // AsSparkObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173735  func (serd SapEccResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
173736  	return nil, false
173737  }
173738  
173739  // AsShopifyObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173740  func (serd SapEccResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
173741  	return nil, false
173742  }
173743  
173744  // AsServiceNowObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173745  func (serd SapEccResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
173746  	return nil, false
173747  }
173748  
173749  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173750  func (serd SapEccResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
173751  	return nil, false
173752  }
173753  
173754  // AsPrestoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173755  func (serd SapEccResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
173756  	return nil, false
173757  }
173758  
173759  // AsPhoenixObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173760  func (serd SapEccResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
173761  	return nil, false
173762  }
173763  
173764  // AsPaypalObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173765  func (serd SapEccResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
173766  	return nil, false
173767  }
173768  
173769  // AsMarketoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173770  func (serd SapEccResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
173771  	return nil, false
173772  }
173773  
173774  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173775  func (serd SapEccResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
173776  	return nil, false
173777  }
173778  
173779  // AsMariaDBTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173780  func (serd SapEccResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
173781  	return nil, false
173782  }
173783  
173784  // AsMagentoObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173785  func (serd SapEccResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
173786  	return nil, false
173787  }
173788  
173789  // AsJiraObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173790  func (serd SapEccResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
173791  	return nil, false
173792  }
173793  
173794  // AsImpalaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173795  func (serd SapEccResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
173796  	return nil, false
173797  }
173798  
173799  // AsHubspotObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173800  func (serd SapEccResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
173801  	return nil, false
173802  }
173803  
173804  // AsHiveObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173805  func (serd SapEccResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
173806  	return nil, false
173807  }
173808  
173809  // AsHBaseObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173810  func (serd SapEccResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
173811  	return nil, false
173812  }
173813  
173814  // AsGreenplumTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173815  func (serd SapEccResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
173816  	return nil, false
173817  }
173818  
173819  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173820  func (serd SapEccResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
173821  	return nil, false
173822  }
173823  
173824  // AsEloquaObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173825  func (serd SapEccResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
173826  	return nil, false
173827  }
173828  
173829  // AsDrillTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173830  func (serd SapEccResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
173831  	return nil, false
173832  }
173833  
173834  // AsCouchbaseTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173835  func (serd SapEccResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
173836  	return nil, false
173837  }
173838  
173839  // AsConcurObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173840  func (serd SapEccResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
173841  	return nil, false
173842  }
173843  
173844  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173845  func (serd SapEccResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
173846  	return nil, false
173847  }
173848  
173849  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173850  func (serd SapEccResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
173851  	return nil, false
173852  }
173853  
173854  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapEccResourceDataset.
173855  func (serd SapEccResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
173856  	return nil, false
173857  }
173858  
173859  // AsWebTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173860  func (serd SapEccResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
173861  	return nil, false
173862  }
173863  
173864  // AsSapTableResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173865  func (serd SapEccResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
173866  	return nil, false
173867  }
173868  
173869  // AsRestResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173870  func (serd SapEccResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
173871  	return nil, false
173872  }
173873  
173874  // AsSQLServerTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173875  func (serd SapEccResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
173876  	return nil, false
173877  }
173878  
173879  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173880  func (serd SapEccResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
173881  	return nil, false
173882  }
173883  
173884  // AsSapHanaTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173885  func (serd SapEccResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
173886  	return nil, false
173887  }
173888  
173889  // AsSapEccResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173890  func (serd SapEccResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
173891  	return &serd, true
173892  }
173893  
173894  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173895  func (serd SapEccResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
173896  	return nil, false
173897  }
173898  
173899  // AsSapBwCubeDataset is the BasicDataset implementation for SapEccResourceDataset.
173900  func (serd SapEccResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
173901  	return nil, false
173902  }
173903  
173904  // AsSybaseTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173905  func (serd SapEccResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
173906  	return nil, false
173907  }
173908  
173909  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173910  func (serd SapEccResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
173911  	return nil, false
173912  }
173913  
173914  // AsSalesforceObjectDataset is the BasicDataset implementation for SapEccResourceDataset.
173915  func (serd SapEccResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
173916  	return nil, false
173917  }
173918  
173919  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173920  func (serd SapEccResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
173921  	return nil, false
173922  }
173923  
173924  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173925  func (serd SapEccResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
173926  	return nil, false
173927  }
173928  
173929  // AsMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173930  func (serd SapEccResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
173931  	return nil, false
173932  }
173933  
173934  // AsOdbcTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173935  func (serd SapEccResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
173936  	return nil, false
173937  }
173938  
173939  // AsInformixTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173940  func (serd SapEccResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
173941  	return nil, false
173942  }
173943  
173944  // AsRelationalTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173945  func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
173946  	return nil, false
173947  }
173948  
173949  // AsDb2TableDataset is the BasicDataset implementation for SapEccResourceDataset.
173950  func (serd SapEccResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
173951  	return nil, false
173952  }
173953  
173954  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173955  func (serd SapEccResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
173956  	return nil, false
173957  }
173958  
173959  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173960  func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
173961  	return nil, false
173962  }
173963  
173964  // AsTeradataTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173965  func (serd SapEccResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
173966  	return nil, false
173967  }
173968  
173969  // AsOracleTableDataset is the BasicDataset implementation for SapEccResourceDataset.
173970  func (serd SapEccResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
173971  	return nil, false
173972  }
173973  
173974  // AsODataResourceDataset is the BasicDataset implementation for SapEccResourceDataset.
173975  func (serd SapEccResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
173976  	return nil, false
173977  }
173978  
173979  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
173980  func (serd SapEccResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
173981  	return nil, false
173982  }
173983  
173984  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
173985  func (serd SapEccResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
173986  	return nil, false
173987  }
173988  
173989  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
173990  func (serd SapEccResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
173991  	return nil, false
173992  }
173993  
173994  // AsOffice365Dataset is the BasicDataset implementation for SapEccResourceDataset.
173995  func (serd SapEccResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
173996  	return nil, false
173997  }
173998  
173999  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
174000  func (serd SapEccResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
174001  	return nil, false
174002  }
174003  
174004  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
174005  func (serd SapEccResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
174006  	return nil, false
174007  }
174008  
174009  // AsDynamicsEntityDataset is the BasicDataset implementation for SapEccResourceDataset.
174010  func (serd SapEccResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
174011  	return nil, false
174012  }
174013  
174014  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
174015  func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
174016  	return nil, false
174017  }
174018  
174019  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset.
174020  func (serd SapEccResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
174021  	return nil, false
174022  }
174023  
174024  // AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset.
174025  func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
174026  	return nil, false
174027  }
174028  
174029  // AsCassandraTableDataset is the BasicDataset implementation for SapEccResourceDataset.
174030  func (serd SapEccResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
174031  	return nil, false
174032  }
174033  
174034  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapEccResourceDataset.
174035  func (serd SapEccResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
174036  	return nil, false
174037  }
174038  
174039  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapEccResourceDataset.
174040  func (serd SapEccResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
174041  	return nil, false
174042  }
174043  
174044  // AsAzureSQLTableDataset is the BasicDataset implementation for SapEccResourceDataset.
174045  func (serd SapEccResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
174046  	return nil, false
174047  }
174048  
174049  // AsAzureTableDataset is the BasicDataset implementation for SapEccResourceDataset.
174050  func (serd SapEccResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
174051  	return nil, false
174052  }
174053  
174054  // AsBinaryDataset is the BasicDataset implementation for SapEccResourceDataset.
174055  func (serd SapEccResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
174056  	return nil, false
174057  }
174058  
174059  // AsOrcDataset is the BasicDataset implementation for SapEccResourceDataset.
174060  func (serd SapEccResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
174061  	return nil, false
174062  }
174063  
174064  // AsJSONDataset is the BasicDataset implementation for SapEccResourceDataset.
174065  func (serd SapEccResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
174066  	return nil, false
174067  }
174068  
174069  // AsDelimitedTextDataset is the BasicDataset implementation for SapEccResourceDataset.
174070  func (serd SapEccResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
174071  	return nil, false
174072  }
174073  
174074  // AsParquetDataset is the BasicDataset implementation for SapEccResourceDataset.
174075  func (serd SapEccResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
174076  	return nil, false
174077  }
174078  
174079  // AsAvroDataset is the BasicDataset implementation for SapEccResourceDataset.
174080  func (serd SapEccResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
174081  	return nil, false
174082  }
174083  
174084  // AsDataset is the BasicDataset implementation for SapEccResourceDataset.
174085  func (serd SapEccResourceDataset) AsDataset() (*Dataset, bool) {
174086  	return nil, false
174087  }
174088  
174089  // AsBasicDataset is the BasicDataset implementation for SapEccResourceDataset.
174090  func (serd SapEccResourceDataset) AsBasicDataset() (BasicDataset, bool) {
174091  	return &serd, true
174092  }
174093  
174094  // UnmarshalJSON is the custom unmarshaler for SapEccResourceDataset struct.
174095  func (serd *SapEccResourceDataset) UnmarshalJSON(body []byte) error {
174096  	var m map[string]*json.RawMessage
174097  	err := json.Unmarshal(body, &m)
174098  	if err != nil {
174099  		return err
174100  	}
174101  	for k, v := range m {
174102  		switch k {
174103  		case "typeProperties":
174104  			if v != nil {
174105  				var sapEccResourceDatasetTypeProperties SapEccResourceDatasetTypeProperties
174106  				err = json.Unmarshal(*v, &sapEccResourceDatasetTypeProperties)
174107  				if err != nil {
174108  					return err
174109  				}
174110  				serd.SapEccResourceDatasetTypeProperties = &sapEccResourceDatasetTypeProperties
174111  			}
174112  		default:
174113  			if v != nil {
174114  				var additionalProperties interface{}
174115  				err = json.Unmarshal(*v, &additionalProperties)
174116  				if err != nil {
174117  					return err
174118  				}
174119  				if serd.AdditionalProperties == nil {
174120  					serd.AdditionalProperties = make(map[string]interface{})
174121  				}
174122  				serd.AdditionalProperties[k] = additionalProperties
174123  			}
174124  		case "description":
174125  			if v != nil {
174126  				var description string
174127  				err = json.Unmarshal(*v, &description)
174128  				if err != nil {
174129  					return err
174130  				}
174131  				serd.Description = &description
174132  			}
174133  		case "structure":
174134  			if v != nil {
174135  				var structure interface{}
174136  				err = json.Unmarshal(*v, &structure)
174137  				if err != nil {
174138  					return err
174139  				}
174140  				serd.Structure = structure
174141  			}
174142  		case "schema":
174143  			if v != nil {
174144  				var schema interface{}
174145  				err = json.Unmarshal(*v, &schema)
174146  				if err != nil {
174147  					return err
174148  				}
174149  				serd.Schema = schema
174150  			}
174151  		case "linkedServiceName":
174152  			if v != nil {
174153  				var linkedServiceName LinkedServiceReference
174154  				err = json.Unmarshal(*v, &linkedServiceName)
174155  				if err != nil {
174156  					return err
174157  				}
174158  				serd.LinkedServiceName = &linkedServiceName
174159  			}
174160  		case "parameters":
174161  			if v != nil {
174162  				var parameters map[string]*ParameterSpecification
174163  				err = json.Unmarshal(*v, &parameters)
174164  				if err != nil {
174165  					return err
174166  				}
174167  				serd.Parameters = parameters
174168  			}
174169  		case "annotations":
174170  			if v != nil {
174171  				var annotations []interface{}
174172  				err = json.Unmarshal(*v, &annotations)
174173  				if err != nil {
174174  					return err
174175  				}
174176  				serd.Annotations = &annotations
174177  			}
174178  		case "folder":
174179  			if v != nil {
174180  				var folder DatasetFolder
174181  				err = json.Unmarshal(*v, &folder)
174182  				if err != nil {
174183  					return err
174184  				}
174185  				serd.Folder = &folder
174186  			}
174187  		case "type":
174188  			if v != nil {
174189  				var typeVar TypeBasicDataset
174190  				err = json.Unmarshal(*v, &typeVar)
174191  				if err != nil {
174192  					return err
174193  				}
174194  				serd.Type = typeVar
174195  			}
174196  		}
174197  	}
174198  
174199  	return nil
174200  }
174201  
174202  // SapEccResourceDatasetTypeProperties sap ECC OData resource dataset properties.
174203  type SapEccResourceDatasetTypeProperties struct {
174204  	// Path - The path of the SAP ECC OData entity. Type: string (or Expression with resultType string).
174205  	Path interface{} `json:"path,omitempty"`
174206  }
174207  
174208  // SapEccSource a copy activity source for SAP ECC source.
174209  type SapEccSource struct {
174210  	// Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string).
174211  	Query interface{} `json:"query,omitempty"`
174212  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
174213  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
174214  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
174215  	AdditionalProperties map[string]interface{} `json:""`
174216  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
174217  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
174218  	// 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])).
174219  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
174220  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
174221  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
174222  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
174223  	Type TypeBasicCopySource `json:"type,omitempty"`
174224  }
174225  
174226  // MarshalJSON is the custom marshaler for SapEccSource.
174227  func (ses SapEccSource) MarshalJSON() ([]byte, error) {
174228  	ses.Type = TypeSapEccSource
174229  	objectMap := make(map[string]interface{})
174230  	if ses.Query != nil {
174231  		objectMap["query"] = ses.Query
174232  	}
174233  	if ses.QueryTimeout != nil {
174234  		objectMap["queryTimeout"] = ses.QueryTimeout
174235  	}
174236  	if ses.SourceRetryCount != nil {
174237  		objectMap["sourceRetryCount"] = ses.SourceRetryCount
174238  	}
174239  	if ses.SourceRetryWait != nil {
174240  		objectMap["sourceRetryWait"] = ses.SourceRetryWait
174241  	}
174242  	if ses.MaxConcurrentConnections != nil {
174243  		objectMap["maxConcurrentConnections"] = ses.MaxConcurrentConnections
174244  	}
174245  	if ses.Type != "" {
174246  		objectMap["type"] = ses.Type
174247  	}
174248  	for k, v := range ses.AdditionalProperties {
174249  		objectMap[k] = v
174250  	}
174251  	return json.Marshal(objectMap)
174252  }
174253  
174254  // AsHTTPSource is the BasicCopySource implementation for SapEccSource.
174255  func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) {
174256  	return nil, false
174257  }
174258  
174259  // AsAzureBlobFSSource is the BasicCopySource implementation for SapEccSource.
174260  func (ses SapEccSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
174261  	return nil, false
174262  }
174263  
174264  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource.
174265  func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
174266  	return nil, false
174267  }
174268  
174269  // AsOffice365Source is the BasicCopySource implementation for SapEccSource.
174270  func (ses SapEccSource) AsOffice365Source() (*Office365Source, bool) {
174271  	return nil, false
174272  }
174273  
174274  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapEccSource.
174275  func (ses SapEccSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
174276  	return nil, false
174277  }
174278  
174279  // AsMongoDbV2Source is the BasicCopySource implementation for SapEccSource.
174280  func (ses SapEccSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
174281  	return nil, false
174282  }
174283  
174284  // AsMongoDbSource is the BasicCopySource implementation for SapEccSource.
174285  func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) {
174286  	return nil, false
174287  }
174288  
174289  // AsWebSource is the BasicCopySource implementation for SapEccSource.
174290  func (ses SapEccSource) AsWebSource() (*WebSource, bool) {
174291  	return nil, false
174292  }
174293  
174294  // AsOracleSource is the BasicCopySource implementation for SapEccSource.
174295  func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) {
174296  	return nil, false
174297  }
174298  
174299  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapEccSource.
174300  func (ses SapEccSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
174301  	return nil, false
174302  }
174303  
174304  // AsHdfsSource is the BasicCopySource implementation for SapEccSource.
174305  func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) {
174306  	return nil, false
174307  }
174308  
174309  // AsFileSystemSource is the BasicCopySource implementation for SapEccSource.
174310  func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) {
174311  	return nil, false
174312  }
174313  
174314  // AsRestSource is the BasicCopySource implementation for SapEccSource.
174315  func (ses SapEccSource) AsRestSource() (*RestSource, bool) {
174316  	return nil, false
174317  }
174318  
174319  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapEccSource.
174320  func (ses SapEccSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
174321  	return nil, false
174322  }
174323  
174324  // AsODataSource is the BasicCopySource implementation for SapEccSource.
174325  func (ses SapEccSource) AsODataSource() (*ODataSource, bool) {
174326  	return nil, false
174327  }
174328  
174329  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapEccSource.
174330  func (ses SapEccSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
174331  	return nil, false
174332  }
174333  
174334  // AsRelationalSource is the BasicCopySource implementation for SapEccSource.
174335  func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) {
174336  	return nil, false
174337  }
174338  
174339  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapEccSource.
174340  func (ses SapEccSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
174341  	return nil, false
174342  }
174343  
174344  // AsDynamicsCrmSource is the BasicCopySource implementation for SapEccSource.
174345  func (ses SapEccSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
174346  	return nil, false
174347  }
174348  
174349  // AsDynamicsSource is the BasicCopySource implementation for SapEccSource.
174350  func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) {
174351  	return nil, false
174352  }
174353  
174354  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapEccSource.
174355  func (ses SapEccSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
174356  	return nil, false
174357  }
174358  
174359  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource.
174360  func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
174361  	return nil, false
174362  }
174363  
174364  // AsBlobSource is the BasicCopySource implementation for SapEccSource.
174365  func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) {
174366  	return nil, false
174367  }
174368  
174369  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource.
174370  func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
174371  	return nil, false
174372  }
174373  
174374  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapEccSource.
174375  func (ses SapEccSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
174376  	return nil, false
174377  }
174378  
174379  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapEccSource.
174380  func (ses SapEccSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
174381  	return nil, false
174382  }
174383  
174384  // AsDynamicsAXSource is the BasicCopySource implementation for SapEccSource.
174385  func (ses SapEccSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
174386  	return nil, false
174387  }
174388  
174389  // AsResponsysSource is the BasicCopySource implementation for SapEccSource.
174390  func (ses SapEccSource) AsResponsysSource() (*ResponsysSource, bool) {
174391  	return nil, false
174392  }
174393  
174394  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapEccSource.
174395  func (ses SapEccSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
174396  	return nil, false
174397  }
174398  
174399  // AsVerticaSource is the BasicCopySource implementation for SapEccSource.
174400  func (ses SapEccSource) AsVerticaSource() (*VerticaSource, bool) {
174401  	return nil, false
174402  }
174403  
174404  // AsNetezzaSource is the BasicCopySource implementation for SapEccSource.
174405  func (ses SapEccSource) AsNetezzaSource() (*NetezzaSource, bool) {
174406  	return nil, false
174407  }
174408  
174409  // AsZohoSource is the BasicCopySource implementation for SapEccSource.
174410  func (ses SapEccSource) AsZohoSource() (*ZohoSource, bool) {
174411  	return nil, false
174412  }
174413  
174414  // AsXeroSource is the BasicCopySource implementation for SapEccSource.
174415  func (ses SapEccSource) AsXeroSource() (*XeroSource, bool) {
174416  	return nil, false
174417  }
174418  
174419  // AsSquareSource is the BasicCopySource implementation for SapEccSource.
174420  func (ses SapEccSource) AsSquareSource() (*SquareSource, bool) {
174421  	return nil, false
174422  }
174423  
174424  // AsSparkSource is the BasicCopySource implementation for SapEccSource.
174425  func (ses SapEccSource) AsSparkSource() (*SparkSource, bool) {
174426  	return nil, false
174427  }
174428  
174429  // AsShopifySource is the BasicCopySource implementation for SapEccSource.
174430  func (ses SapEccSource) AsShopifySource() (*ShopifySource, bool) {
174431  	return nil, false
174432  }
174433  
174434  // AsServiceNowSource is the BasicCopySource implementation for SapEccSource.
174435  func (ses SapEccSource) AsServiceNowSource() (*ServiceNowSource, bool) {
174436  	return nil, false
174437  }
174438  
174439  // AsQuickBooksSource is the BasicCopySource implementation for SapEccSource.
174440  func (ses SapEccSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
174441  	return nil, false
174442  }
174443  
174444  // AsPrestoSource is the BasicCopySource implementation for SapEccSource.
174445  func (ses SapEccSource) AsPrestoSource() (*PrestoSource, bool) {
174446  	return nil, false
174447  }
174448  
174449  // AsPhoenixSource is the BasicCopySource implementation for SapEccSource.
174450  func (ses SapEccSource) AsPhoenixSource() (*PhoenixSource, bool) {
174451  	return nil, false
174452  }
174453  
174454  // AsPaypalSource is the BasicCopySource implementation for SapEccSource.
174455  func (ses SapEccSource) AsPaypalSource() (*PaypalSource, bool) {
174456  	return nil, false
174457  }
174458  
174459  // AsMarketoSource is the BasicCopySource implementation for SapEccSource.
174460  func (ses SapEccSource) AsMarketoSource() (*MarketoSource, bool) {
174461  	return nil, false
174462  }
174463  
174464  // AsAzureMariaDBSource is the BasicCopySource implementation for SapEccSource.
174465  func (ses SapEccSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
174466  	return nil, false
174467  }
174468  
174469  // AsMariaDBSource is the BasicCopySource implementation for SapEccSource.
174470  func (ses SapEccSource) AsMariaDBSource() (*MariaDBSource, bool) {
174471  	return nil, false
174472  }
174473  
174474  // AsMagentoSource is the BasicCopySource implementation for SapEccSource.
174475  func (ses SapEccSource) AsMagentoSource() (*MagentoSource, bool) {
174476  	return nil, false
174477  }
174478  
174479  // AsJiraSource is the BasicCopySource implementation for SapEccSource.
174480  func (ses SapEccSource) AsJiraSource() (*JiraSource, bool) {
174481  	return nil, false
174482  }
174483  
174484  // AsImpalaSource is the BasicCopySource implementation for SapEccSource.
174485  func (ses SapEccSource) AsImpalaSource() (*ImpalaSource, bool) {
174486  	return nil, false
174487  }
174488  
174489  // AsHubspotSource is the BasicCopySource implementation for SapEccSource.
174490  func (ses SapEccSource) AsHubspotSource() (*HubspotSource, bool) {
174491  	return nil, false
174492  }
174493  
174494  // AsHiveSource is the BasicCopySource implementation for SapEccSource.
174495  func (ses SapEccSource) AsHiveSource() (*HiveSource, bool) {
174496  	return nil, false
174497  }
174498  
174499  // AsHBaseSource is the BasicCopySource implementation for SapEccSource.
174500  func (ses SapEccSource) AsHBaseSource() (*HBaseSource, bool) {
174501  	return nil, false
174502  }
174503  
174504  // AsGreenplumSource is the BasicCopySource implementation for SapEccSource.
174505  func (ses SapEccSource) AsGreenplumSource() (*GreenplumSource, bool) {
174506  	return nil, false
174507  }
174508  
174509  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapEccSource.
174510  func (ses SapEccSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
174511  	return nil, false
174512  }
174513  
174514  // AsEloquaSource is the BasicCopySource implementation for SapEccSource.
174515  func (ses SapEccSource) AsEloquaSource() (*EloquaSource, bool) {
174516  	return nil, false
174517  }
174518  
174519  // AsDrillSource is the BasicCopySource implementation for SapEccSource.
174520  func (ses SapEccSource) AsDrillSource() (*DrillSource, bool) {
174521  	return nil, false
174522  }
174523  
174524  // AsCouchbaseSource is the BasicCopySource implementation for SapEccSource.
174525  func (ses SapEccSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
174526  	return nil, false
174527  }
174528  
174529  // AsConcurSource is the BasicCopySource implementation for SapEccSource.
174530  func (ses SapEccSource) AsConcurSource() (*ConcurSource, bool) {
174531  	return nil, false
174532  }
174533  
174534  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapEccSource.
174535  func (ses SapEccSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
174536  	return nil, false
174537  }
174538  
174539  // AsAmazonMWSSource is the BasicCopySource implementation for SapEccSource.
174540  func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
174541  	return nil, false
174542  }
174543  
174544  // AsCassandraSource is the BasicCopySource implementation for SapEccSource.
174545  func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) {
174546  	return nil, false
174547  }
174548  
174549  // AsTeradataSource is the BasicCopySource implementation for SapEccSource.
174550  func (ses SapEccSource) AsTeradataSource() (*TeradataSource, bool) {
174551  	return nil, false
174552  }
174553  
174554  // AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource.
174555  func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
174556  	return nil, false
174557  }
174558  
174559  // AsSQLDWSource is the BasicCopySource implementation for SapEccSource.
174560  func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) {
174561  	return nil, false
174562  }
174563  
174564  // AsSQLMISource is the BasicCopySource implementation for SapEccSource.
174565  func (ses SapEccSource) AsSQLMISource() (*SQLMISource, bool) {
174566  	return nil, false
174567  }
174568  
174569  // AsAzureSQLSource is the BasicCopySource implementation for SapEccSource.
174570  func (ses SapEccSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
174571  	return nil, false
174572  }
174573  
174574  // AsSQLServerSource is the BasicCopySource implementation for SapEccSource.
174575  func (ses SapEccSource) AsSQLServerSource() (*SQLServerSource, bool) {
174576  	return nil, false
174577  }
174578  
174579  // AsSQLSource is the BasicCopySource implementation for SapEccSource.
174580  func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) {
174581  	return nil, false
174582  }
174583  
174584  // AsSapTableSource is the BasicCopySource implementation for SapEccSource.
174585  func (ses SapEccSource) AsSapTableSource() (*SapTableSource, bool) {
174586  	return nil, false
174587  }
174588  
174589  // AsSapOpenHubSource is the BasicCopySource implementation for SapEccSource.
174590  func (ses SapEccSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
174591  	return nil, false
174592  }
174593  
174594  // AsSapHanaSource is the BasicCopySource implementation for SapEccSource.
174595  func (ses SapEccSource) AsSapHanaSource() (*SapHanaSource, bool) {
174596  	return nil, false
174597  }
174598  
174599  // AsSapEccSource is the BasicCopySource implementation for SapEccSource.
174600  func (ses SapEccSource) AsSapEccSource() (*SapEccSource, bool) {
174601  	return &ses, true
174602  }
174603  
174604  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapEccSource.
174605  func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
174606  	return nil, false
174607  }
174608  
174609  // AsSalesforceSource is the BasicCopySource implementation for SapEccSource.
174610  func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) {
174611  	return nil, false
174612  }
174613  
174614  // AsSapBwSource is the BasicCopySource implementation for SapEccSource.
174615  func (ses SapEccSource) AsSapBwSource() (*SapBwSource, bool) {
174616  	return nil, false
174617  }
174618  
174619  // AsSybaseSource is the BasicCopySource implementation for SapEccSource.
174620  func (ses SapEccSource) AsSybaseSource() (*SybaseSource, bool) {
174621  	return nil, false
174622  }
174623  
174624  // AsPostgreSQLSource is the BasicCopySource implementation for SapEccSource.
174625  func (ses SapEccSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
174626  	return nil, false
174627  }
174628  
174629  // AsMySQLSource is the BasicCopySource implementation for SapEccSource.
174630  func (ses SapEccSource) AsMySQLSource() (*MySQLSource, bool) {
174631  	return nil, false
174632  }
174633  
174634  // AsOdbcSource is the BasicCopySource implementation for SapEccSource.
174635  func (ses SapEccSource) AsOdbcSource() (*OdbcSource, bool) {
174636  	return nil, false
174637  }
174638  
174639  // AsDb2Source is the BasicCopySource implementation for SapEccSource.
174640  func (ses SapEccSource) AsDb2Source() (*Db2Source, bool) {
174641  	return nil, false
174642  }
174643  
174644  // AsInformixSource is the BasicCopySource implementation for SapEccSource.
174645  func (ses SapEccSource) AsInformixSource() (*InformixSource, bool) {
174646  	return nil, false
174647  }
174648  
174649  // AsAzureTableSource is the BasicCopySource implementation for SapEccSource.
174650  func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) {
174651  	return nil, false
174652  }
174653  
174654  // AsTabularSource is the BasicCopySource implementation for SapEccSource.
174655  func (ses SapEccSource) AsTabularSource() (*TabularSource, bool) {
174656  	return nil, false
174657  }
174658  
174659  // AsBasicTabularSource is the BasicCopySource implementation for SapEccSource.
174660  func (ses SapEccSource) AsBasicTabularSource() (BasicTabularSource, bool) {
174661  	return &ses, true
174662  }
174663  
174664  // AsBinarySource is the BasicCopySource implementation for SapEccSource.
174665  func (ses SapEccSource) AsBinarySource() (*BinarySource, bool) {
174666  	return nil, false
174667  }
174668  
174669  // AsOrcSource is the BasicCopySource implementation for SapEccSource.
174670  func (ses SapEccSource) AsOrcSource() (*OrcSource, bool) {
174671  	return nil, false
174672  }
174673  
174674  // AsJSONSource is the BasicCopySource implementation for SapEccSource.
174675  func (ses SapEccSource) AsJSONSource() (*JSONSource, bool) {
174676  	return nil, false
174677  }
174678  
174679  // AsDelimitedTextSource is the BasicCopySource implementation for SapEccSource.
174680  func (ses SapEccSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
174681  	return nil, false
174682  }
174683  
174684  // AsParquetSource is the BasicCopySource implementation for SapEccSource.
174685  func (ses SapEccSource) AsParquetSource() (*ParquetSource, bool) {
174686  	return nil, false
174687  }
174688  
174689  // AsAvroSource is the BasicCopySource implementation for SapEccSource.
174690  func (ses SapEccSource) AsAvroSource() (*AvroSource, bool) {
174691  	return nil, false
174692  }
174693  
174694  // AsCopySource is the BasicCopySource implementation for SapEccSource.
174695  func (ses SapEccSource) AsCopySource() (*CopySource, bool) {
174696  	return nil, false
174697  }
174698  
174699  // AsBasicCopySource is the BasicCopySource implementation for SapEccSource.
174700  func (ses SapEccSource) AsBasicCopySource() (BasicCopySource, bool) {
174701  	return &ses, true
174702  }
174703  
174704  // UnmarshalJSON is the custom unmarshaler for SapEccSource struct.
174705  func (ses *SapEccSource) UnmarshalJSON(body []byte) error {
174706  	var m map[string]*json.RawMessage
174707  	err := json.Unmarshal(body, &m)
174708  	if err != nil {
174709  		return err
174710  	}
174711  	for k, v := range m {
174712  		switch k {
174713  		case "query":
174714  			if v != nil {
174715  				var query interface{}
174716  				err = json.Unmarshal(*v, &query)
174717  				if err != nil {
174718  					return err
174719  				}
174720  				ses.Query = query
174721  			}
174722  		case "queryTimeout":
174723  			if v != nil {
174724  				var queryTimeout interface{}
174725  				err = json.Unmarshal(*v, &queryTimeout)
174726  				if err != nil {
174727  					return err
174728  				}
174729  				ses.QueryTimeout = queryTimeout
174730  			}
174731  		default:
174732  			if v != nil {
174733  				var additionalProperties interface{}
174734  				err = json.Unmarshal(*v, &additionalProperties)
174735  				if err != nil {
174736  					return err
174737  				}
174738  				if ses.AdditionalProperties == nil {
174739  					ses.AdditionalProperties = make(map[string]interface{})
174740  				}
174741  				ses.AdditionalProperties[k] = additionalProperties
174742  			}
174743  		case "sourceRetryCount":
174744  			if v != nil {
174745  				var sourceRetryCount interface{}
174746  				err = json.Unmarshal(*v, &sourceRetryCount)
174747  				if err != nil {
174748  					return err
174749  				}
174750  				ses.SourceRetryCount = sourceRetryCount
174751  			}
174752  		case "sourceRetryWait":
174753  			if v != nil {
174754  				var sourceRetryWait interface{}
174755  				err = json.Unmarshal(*v, &sourceRetryWait)
174756  				if err != nil {
174757  					return err
174758  				}
174759  				ses.SourceRetryWait = sourceRetryWait
174760  			}
174761  		case "maxConcurrentConnections":
174762  			if v != nil {
174763  				var maxConcurrentConnections interface{}
174764  				err = json.Unmarshal(*v, &maxConcurrentConnections)
174765  				if err != nil {
174766  					return err
174767  				}
174768  				ses.MaxConcurrentConnections = maxConcurrentConnections
174769  			}
174770  		case "type":
174771  			if v != nil {
174772  				var typeVar TypeBasicCopySource
174773  				err = json.Unmarshal(*v, &typeVar)
174774  				if err != nil {
174775  					return err
174776  				}
174777  				ses.Type = typeVar
174778  			}
174779  		}
174780  	}
174781  
174782  	return nil
174783  }
174784  
174785  // SapHanaLinkedService SAP HANA Linked Service.
174786  type SapHanaLinkedService struct {
174787  	// SapHanaLinkedServiceProperties - Properties specific to this linked service type.
174788  	*SapHanaLinkedServiceProperties `json:"typeProperties,omitempty"`
174789  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
174790  	AdditionalProperties map[string]interface{} `json:""`
174791  	// ConnectVia - The integration runtime reference.
174792  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
174793  	// Description - Linked service description.
174794  	Description *string `json:"description,omitempty"`
174795  	// Parameters - Parameters for linked service.
174796  	Parameters map[string]*ParameterSpecification `json:"parameters"`
174797  	// Annotations - List of tags that can be used for describing the linked service.
174798  	Annotations *[]interface{} `json:"annotations,omitempty"`
174799  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
174800  	Type TypeBasicLinkedService `json:"type,omitempty"`
174801  }
174802  
174803  // MarshalJSON is the custom marshaler for SapHanaLinkedService.
174804  func (shls SapHanaLinkedService) MarshalJSON() ([]byte, error) {
174805  	shls.Type = TypeSapHana
174806  	objectMap := make(map[string]interface{})
174807  	if shls.SapHanaLinkedServiceProperties != nil {
174808  		objectMap["typeProperties"] = shls.SapHanaLinkedServiceProperties
174809  	}
174810  	if shls.ConnectVia != nil {
174811  		objectMap["connectVia"] = shls.ConnectVia
174812  	}
174813  	if shls.Description != nil {
174814  		objectMap["description"] = shls.Description
174815  	}
174816  	if shls.Parameters != nil {
174817  		objectMap["parameters"] = shls.Parameters
174818  	}
174819  	if shls.Annotations != nil {
174820  		objectMap["annotations"] = shls.Annotations
174821  	}
174822  	if shls.Type != "" {
174823  		objectMap["type"] = shls.Type
174824  	}
174825  	for k, v := range shls.AdditionalProperties {
174826  		objectMap[k] = v
174827  	}
174828  	return json.Marshal(objectMap)
174829  }
174830  
174831  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174832  func (shls SapHanaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
174833  	return nil, false
174834  }
174835  
174836  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174837  func (shls SapHanaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
174838  	return nil, false
174839  }
174840  
174841  // AsSapTableLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174842  func (shls SapHanaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
174843  	return nil, false
174844  }
174845  
174846  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174847  func (shls SapHanaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
174848  	return nil, false
174849  }
174850  
174851  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174852  func (shls SapHanaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
174853  	return nil, false
174854  }
174855  
174856  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174857  func (shls SapHanaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
174858  	return nil, false
174859  }
174860  
174861  // AsResponsysLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174862  func (shls SapHanaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
174863  	return nil, false
174864  }
174865  
174866  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174867  func (shls SapHanaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
174868  	return nil, false
174869  }
174870  
174871  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174872  func (shls SapHanaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
174873  	return nil, false
174874  }
174875  
174876  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174877  func (shls SapHanaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
174878  	return nil, false
174879  }
174880  
174881  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174882  func (shls SapHanaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
174883  	return nil, false
174884  }
174885  
174886  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174887  func (shls SapHanaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
174888  	return nil, false
174889  }
174890  
174891  // AsVerticaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174892  func (shls SapHanaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
174893  	return nil, false
174894  }
174895  
174896  // AsZohoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174897  func (shls SapHanaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
174898  	return nil, false
174899  }
174900  
174901  // AsXeroLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174902  func (shls SapHanaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
174903  	return nil, false
174904  }
174905  
174906  // AsSquareLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174907  func (shls SapHanaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
174908  	return nil, false
174909  }
174910  
174911  // AsSparkLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174912  func (shls SapHanaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
174913  	return nil, false
174914  }
174915  
174916  // AsShopifyLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174917  func (shls SapHanaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
174918  	return nil, false
174919  }
174920  
174921  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174922  func (shls SapHanaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
174923  	return nil, false
174924  }
174925  
174926  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174927  func (shls SapHanaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
174928  	return nil, false
174929  }
174930  
174931  // AsPrestoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174932  func (shls SapHanaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
174933  	return nil, false
174934  }
174935  
174936  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174937  func (shls SapHanaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
174938  	return nil, false
174939  }
174940  
174941  // AsPaypalLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174942  func (shls SapHanaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
174943  	return nil, false
174944  }
174945  
174946  // AsMarketoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174947  func (shls SapHanaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
174948  	return nil, false
174949  }
174950  
174951  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174952  func (shls SapHanaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
174953  	return nil, false
174954  }
174955  
174956  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174957  func (shls SapHanaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
174958  	return nil, false
174959  }
174960  
174961  // AsMagentoLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174962  func (shls SapHanaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
174963  	return nil, false
174964  }
174965  
174966  // AsJiraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174967  func (shls SapHanaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
174968  	return nil, false
174969  }
174970  
174971  // AsImpalaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174972  func (shls SapHanaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
174973  	return nil, false
174974  }
174975  
174976  // AsHubspotLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174977  func (shls SapHanaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
174978  	return nil, false
174979  }
174980  
174981  // AsHiveLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174982  func (shls SapHanaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
174983  	return nil, false
174984  }
174985  
174986  // AsHBaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174987  func (shls SapHanaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
174988  	return nil, false
174989  }
174990  
174991  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174992  func (shls SapHanaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
174993  	return nil, false
174994  }
174995  
174996  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
174997  func (shls SapHanaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
174998  	return nil, false
174999  }
175000  
175001  // AsEloquaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175002  func (shls SapHanaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
175003  	return nil, false
175004  }
175005  
175006  // AsDrillLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175007  func (shls SapHanaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
175008  	return nil, false
175009  }
175010  
175011  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175012  func (shls SapHanaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
175013  	return nil, false
175014  }
175015  
175016  // AsConcurLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175017  func (shls SapHanaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
175018  	return nil, false
175019  }
175020  
175021  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175022  func (shls SapHanaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
175023  	return nil, false
175024  }
175025  
175026  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175027  func (shls SapHanaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
175028  	return nil, false
175029  }
175030  
175031  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175032  func (shls SapHanaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
175033  	return &shls, true
175034  }
175035  
175036  // AsSapBWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175037  func (shls SapHanaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
175038  	return nil, false
175039  }
175040  
175041  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175042  func (shls SapHanaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
175043  	return nil, false
175044  }
175045  
175046  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175047  func (shls SapHanaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
175048  	return nil, false
175049  }
175050  
175051  // AsHTTPLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175052  func (shls SapHanaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
175053  	return nil, false
175054  }
175055  
175056  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175057  func (shls SapHanaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
175058  	return nil, false
175059  }
175060  
175061  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175062  func (shls SapHanaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
175063  	return nil, false
175064  }
175065  
175066  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175067  func (shls SapHanaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
175068  	return nil, false
175069  }
175070  
175071  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175072  func (shls SapHanaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
175073  	return nil, false
175074  }
175075  
175076  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175077  func (shls SapHanaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
175078  	return nil, false
175079  }
175080  
175081  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175082  func (shls SapHanaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
175083  	return nil, false
175084  }
175085  
175086  // AsSapEccLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175087  func (shls SapHanaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
175088  	return nil, false
175089  }
175090  
175091  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175092  func (shls SapHanaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
175093  	return nil, false
175094  }
175095  
175096  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175097  func (shls SapHanaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
175098  	return nil, false
175099  }
175100  
175101  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175102  func (shls SapHanaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
175103  	return nil, false
175104  }
175105  
175106  // AsOffice365LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175107  func (shls SapHanaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
175108  	return nil, false
175109  }
175110  
175111  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175112  func (shls SapHanaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
175113  	return nil, false
175114  }
175115  
175116  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175117  func (shls SapHanaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
175118  	return nil, false
175119  }
175120  
175121  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175122  func (shls SapHanaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
175123  	return nil, false
175124  }
175125  
175126  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175127  func (shls SapHanaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
175128  	return nil, false
175129  }
175130  
175131  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175132  func (shls SapHanaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
175133  	return nil, false
175134  }
175135  
175136  // AsCassandraLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175137  func (shls SapHanaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
175138  	return nil, false
175139  }
175140  
175141  // AsWebLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175142  func (shls SapHanaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
175143  	return nil, false
175144  }
175145  
175146  // AsODataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175147  func (shls SapHanaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
175148  	return nil, false
175149  }
175150  
175151  // AsHdfsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175152  func (shls SapHanaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
175153  	return nil, false
175154  }
175155  
175156  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175157  func (shls SapHanaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
175158  	return nil, false
175159  }
175160  
175161  // AsInformixLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175162  func (shls SapHanaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
175163  	return nil, false
175164  }
175165  
175166  // AsOdbcLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175167  func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
175168  	return nil, false
175169  }
175170  
175171  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175172  func (shls SapHanaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
175173  	return nil, false
175174  }
175175  
175176  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175177  func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
175178  	return nil, false
175179  }
175180  
175181  // AsTeradataLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175182  func (shls SapHanaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
175183  	return nil, false
175184  }
175185  
175186  // AsDb2LinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175187  func (shls SapHanaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
175188  	return nil, false
175189  }
175190  
175191  // AsSybaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175192  func (shls SapHanaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
175193  	return nil, false
175194  }
175195  
175196  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175197  func (shls SapHanaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
175198  	return nil, false
175199  }
175200  
175201  // AsMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175202  func (shls SapHanaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
175203  	return nil, false
175204  }
175205  
175206  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175207  func (shls SapHanaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
175208  	return nil, false
175209  }
175210  
175211  // AsOracleLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175212  func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
175213  	return nil, false
175214  }
175215  
175216  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175217  func (shls SapHanaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
175218  	return nil, false
175219  }
175220  
175221  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175222  func (shls SapHanaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
175223  	return nil, false
175224  }
175225  
175226  // AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175227  func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
175228  	return nil, false
175229  }
175230  
175231  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175232  func (shls SapHanaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
175233  	return nil, false
175234  }
175235  
175236  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175237  func (shls SapHanaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
175238  	return nil, false
175239  }
175240  
175241  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175242  func (shls SapHanaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
175243  	return nil, false
175244  }
175245  
175246  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175247  func (shls SapHanaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
175248  	return nil, false
175249  }
175250  
175251  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175252  func (shls SapHanaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
175253  	return nil, false
175254  }
175255  
175256  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175257  func (shls SapHanaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
175258  	return nil, false
175259  }
175260  
175261  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175262  func (shls SapHanaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
175263  	return nil, false
175264  }
175265  
175266  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175267  func (shls SapHanaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
175268  	return nil, false
175269  }
175270  
175271  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175272  func (shls SapHanaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
175273  	return nil, false
175274  }
175275  
175276  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175277  func (shls SapHanaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
175278  	return nil, false
175279  }
175280  
175281  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175282  func (shls SapHanaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
175283  	return nil, false
175284  }
175285  
175286  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175287  func (shls SapHanaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
175288  	return nil, false
175289  }
175290  
175291  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175292  func (shls SapHanaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
175293  	return nil, false
175294  }
175295  
175296  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175297  func (shls SapHanaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
175298  	return nil, false
175299  }
175300  
175301  // AsLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175302  func (shls SapHanaLinkedService) AsLinkedService() (*LinkedService, bool) {
175303  	return nil, false
175304  }
175305  
175306  // AsBasicLinkedService is the BasicLinkedService implementation for SapHanaLinkedService.
175307  func (shls SapHanaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
175308  	return &shls, true
175309  }
175310  
175311  // UnmarshalJSON is the custom unmarshaler for SapHanaLinkedService struct.
175312  func (shls *SapHanaLinkedService) UnmarshalJSON(body []byte) error {
175313  	var m map[string]*json.RawMessage
175314  	err := json.Unmarshal(body, &m)
175315  	if err != nil {
175316  		return err
175317  	}
175318  	for k, v := range m {
175319  		switch k {
175320  		case "typeProperties":
175321  			if v != nil {
175322  				var sapHanaLinkedServiceProperties SapHanaLinkedServiceProperties
175323  				err = json.Unmarshal(*v, &sapHanaLinkedServiceProperties)
175324  				if err != nil {
175325  					return err
175326  				}
175327  				shls.SapHanaLinkedServiceProperties = &sapHanaLinkedServiceProperties
175328  			}
175329  		default:
175330  			if v != nil {
175331  				var additionalProperties interface{}
175332  				err = json.Unmarshal(*v, &additionalProperties)
175333  				if err != nil {
175334  					return err
175335  				}
175336  				if shls.AdditionalProperties == nil {
175337  					shls.AdditionalProperties = make(map[string]interface{})
175338  				}
175339  				shls.AdditionalProperties[k] = additionalProperties
175340  			}
175341  		case "connectVia":
175342  			if v != nil {
175343  				var connectVia IntegrationRuntimeReference
175344  				err = json.Unmarshal(*v, &connectVia)
175345  				if err != nil {
175346  					return err
175347  				}
175348  				shls.ConnectVia = &connectVia
175349  			}
175350  		case "description":
175351  			if v != nil {
175352  				var description string
175353  				err = json.Unmarshal(*v, &description)
175354  				if err != nil {
175355  					return err
175356  				}
175357  				shls.Description = &description
175358  			}
175359  		case "parameters":
175360  			if v != nil {
175361  				var parameters map[string]*ParameterSpecification
175362  				err = json.Unmarshal(*v, &parameters)
175363  				if err != nil {
175364  					return err
175365  				}
175366  				shls.Parameters = parameters
175367  			}
175368  		case "annotations":
175369  			if v != nil {
175370  				var annotations []interface{}
175371  				err = json.Unmarshal(*v, &annotations)
175372  				if err != nil {
175373  					return err
175374  				}
175375  				shls.Annotations = &annotations
175376  			}
175377  		case "type":
175378  			if v != nil {
175379  				var typeVar TypeBasicLinkedService
175380  				err = json.Unmarshal(*v, &typeVar)
175381  				if err != nil {
175382  					return err
175383  				}
175384  				shls.Type = typeVar
175385  			}
175386  		}
175387  	}
175388  
175389  	return nil
175390  }
175391  
175392  // SapHanaLinkedServiceProperties properties specific to this linked service type.
175393  type SapHanaLinkedServiceProperties struct {
175394  	// ConnectionString - SAP HANA ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
175395  	ConnectionString interface{} `json:"connectionString,omitempty"`
175396  	// Server - Host name of the SAP HANA server. Type: string (or Expression with resultType string).
175397  	Server interface{} `json:"server,omitempty"`
175398  	// AuthenticationType - The authentication type to be used to connect to the SAP HANA server. Possible values include: 'SapHanaAuthenticationTypeBasic', 'SapHanaAuthenticationTypeWindows'
175399  	AuthenticationType SapHanaAuthenticationType `json:"authenticationType,omitempty"`
175400  	// UserName - Username to access the SAP HANA server. Type: string (or Expression with resultType string).
175401  	UserName interface{} `json:"userName,omitempty"`
175402  	// Password - Password to access the SAP HANA server.
175403  	Password BasicSecretBase `json:"password,omitempty"`
175404  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
175405  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
175406  }
175407  
175408  // UnmarshalJSON is the custom unmarshaler for SapHanaLinkedServiceProperties struct.
175409  func (shlsp *SapHanaLinkedServiceProperties) UnmarshalJSON(body []byte) error {
175410  	var m map[string]*json.RawMessage
175411  	err := json.Unmarshal(body, &m)
175412  	if err != nil {
175413  		return err
175414  	}
175415  	for k, v := range m {
175416  		switch k {
175417  		case "connectionString":
175418  			if v != nil {
175419  				var connectionString interface{}
175420  				err = json.Unmarshal(*v, &connectionString)
175421  				if err != nil {
175422  					return err
175423  				}
175424  				shlsp.ConnectionString = connectionString
175425  			}
175426  		case "server":
175427  			if v != nil {
175428  				var server interface{}
175429  				err = json.Unmarshal(*v, &server)
175430  				if err != nil {
175431  					return err
175432  				}
175433  				shlsp.Server = server
175434  			}
175435  		case "authenticationType":
175436  			if v != nil {
175437  				var authenticationType SapHanaAuthenticationType
175438  				err = json.Unmarshal(*v, &authenticationType)
175439  				if err != nil {
175440  					return err
175441  				}
175442  				shlsp.AuthenticationType = authenticationType
175443  			}
175444  		case "userName":
175445  			if v != nil {
175446  				var userName interface{}
175447  				err = json.Unmarshal(*v, &userName)
175448  				if err != nil {
175449  					return err
175450  				}
175451  				shlsp.UserName = userName
175452  			}
175453  		case "password":
175454  			if v != nil {
175455  				password, err := unmarshalBasicSecretBase(*v)
175456  				if err != nil {
175457  					return err
175458  				}
175459  				shlsp.Password = password
175460  			}
175461  		case "encryptedCredential":
175462  			if v != nil {
175463  				var encryptedCredential interface{}
175464  				err = json.Unmarshal(*v, &encryptedCredential)
175465  				if err != nil {
175466  					return err
175467  				}
175468  				shlsp.EncryptedCredential = encryptedCredential
175469  			}
175470  		}
175471  	}
175472  
175473  	return nil
175474  }
175475  
175476  // SapHanaPartitionSettings the settings that will be leveraged for SAP HANA source partitioning.
175477  type SapHanaPartitionSettings struct {
175478  	// PartitionColumnName - The name of the column that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
175479  	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
175480  }
175481  
175482  // SapHanaSource a copy activity source for SAP HANA source.
175483  type SapHanaSource struct {
175484  	// Query - SAP HANA Sql query. Type: string (or Expression with resultType string).
175485  	Query interface{} `json:"query,omitempty"`
175486  	// PacketSize - The packet size of data read from SAP HANA. Type: integer(or Expression with resultType integer).
175487  	PacketSize interface{} `json:"packetSize,omitempty"`
175488  	// PartitionOption - The partition mechanism that will be used for SAP HANA read in parallel. Possible values include: 'SapHanaPartitionOptionNone', 'SapHanaPartitionOptionPhysicalPartitionsOfTable', 'SapHanaPartitionOptionSapHanaDynamicRange'
175489  	PartitionOption SapHanaPartitionOption `json:"partitionOption,omitempty"`
175490  	// PartitionSettings - The settings that will be leveraged for SAP HANA source partitioning.
175491  	PartitionSettings *SapHanaPartitionSettings `json:"partitionSettings,omitempty"`
175492  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
175493  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
175494  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
175495  	AdditionalProperties map[string]interface{} `json:""`
175496  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
175497  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
175498  	// 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])).
175499  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
175500  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
175501  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
175502  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
175503  	Type TypeBasicCopySource `json:"type,omitempty"`
175504  }
175505  
175506  // MarshalJSON is the custom marshaler for SapHanaSource.
175507  func (shs SapHanaSource) MarshalJSON() ([]byte, error) {
175508  	shs.Type = TypeSapHanaSource
175509  	objectMap := make(map[string]interface{})
175510  	if shs.Query != nil {
175511  		objectMap["query"] = shs.Query
175512  	}
175513  	if shs.PacketSize != nil {
175514  		objectMap["packetSize"] = shs.PacketSize
175515  	}
175516  	if shs.PartitionOption != "" {
175517  		objectMap["partitionOption"] = shs.PartitionOption
175518  	}
175519  	if shs.PartitionSettings != nil {
175520  		objectMap["partitionSettings"] = shs.PartitionSettings
175521  	}
175522  	if shs.QueryTimeout != nil {
175523  		objectMap["queryTimeout"] = shs.QueryTimeout
175524  	}
175525  	if shs.SourceRetryCount != nil {
175526  		objectMap["sourceRetryCount"] = shs.SourceRetryCount
175527  	}
175528  	if shs.SourceRetryWait != nil {
175529  		objectMap["sourceRetryWait"] = shs.SourceRetryWait
175530  	}
175531  	if shs.MaxConcurrentConnections != nil {
175532  		objectMap["maxConcurrentConnections"] = shs.MaxConcurrentConnections
175533  	}
175534  	if shs.Type != "" {
175535  		objectMap["type"] = shs.Type
175536  	}
175537  	for k, v := range shs.AdditionalProperties {
175538  		objectMap[k] = v
175539  	}
175540  	return json.Marshal(objectMap)
175541  }
175542  
175543  // AsHTTPSource is the BasicCopySource implementation for SapHanaSource.
175544  func (shs SapHanaSource) AsHTTPSource() (*HTTPSource, bool) {
175545  	return nil, false
175546  }
175547  
175548  // AsAzureBlobFSSource is the BasicCopySource implementation for SapHanaSource.
175549  func (shs SapHanaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
175550  	return nil, false
175551  }
175552  
175553  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapHanaSource.
175554  func (shs SapHanaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
175555  	return nil, false
175556  }
175557  
175558  // AsOffice365Source is the BasicCopySource implementation for SapHanaSource.
175559  func (shs SapHanaSource) AsOffice365Source() (*Office365Source, bool) {
175560  	return nil, false
175561  }
175562  
175563  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapHanaSource.
175564  func (shs SapHanaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
175565  	return nil, false
175566  }
175567  
175568  // AsMongoDbV2Source is the BasicCopySource implementation for SapHanaSource.
175569  func (shs SapHanaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
175570  	return nil, false
175571  }
175572  
175573  // AsMongoDbSource is the BasicCopySource implementation for SapHanaSource.
175574  func (shs SapHanaSource) AsMongoDbSource() (*MongoDbSource, bool) {
175575  	return nil, false
175576  }
175577  
175578  // AsWebSource is the BasicCopySource implementation for SapHanaSource.
175579  func (shs SapHanaSource) AsWebSource() (*WebSource, bool) {
175580  	return nil, false
175581  }
175582  
175583  // AsOracleSource is the BasicCopySource implementation for SapHanaSource.
175584  func (shs SapHanaSource) AsOracleSource() (*OracleSource, bool) {
175585  	return nil, false
175586  }
175587  
175588  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapHanaSource.
175589  func (shs SapHanaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
175590  	return nil, false
175591  }
175592  
175593  // AsHdfsSource is the BasicCopySource implementation for SapHanaSource.
175594  func (shs SapHanaSource) AsHdfsSource() (*HdfsSource, bool) {
175595  	return nil, false
175596  }
175597  
175598  // AsFileSystemSource is the BasicCopySource implementation for SapHanaSource.
175599  func (shs SapHanaSource) AsFileSystemSource() (*FileSystemSource, bool) {
175600  	return nil, false
175601  }
175602  
175603  // AsRestSource is the BasicCopySource implementation for SapHanaSource.
175604  func (shs SapHanaSource) AsRestSource() (*RestSource, bool) {
175605  	return nil, false
175606  }
175607  
175608  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapHanaSource.
175609  func (shs SapHanaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
175610  	return nil, false
175611  }
175612  
175613  // AsODataSource is the BasicCopySource implementation for SapHanaSource.
175614  func (shs SapHanaSource) AsODataSource() (*ODataSource, bool) {
175615  	return nil, false
175616  }
175617  
175618  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapHanaSource.
175619  func (shs SapHanaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
175620  	return nil, false
175621  }
175622  
175623  // AsRelationalSource is the BasicCopySource implementation for SapHanaSource.
175624  func (shs SapHanaSource) AsRelationalSource() (*RelationalSource, bool) {
175625  	return nil, false
175626  }
175627  
175628  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapHanaSource.
175629  func (shs SapHanaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
175630  	return nil, false
175631  }
175632  
175633  // AsDynamicsCrmSource is the BasicCopySource implementation for SapHanaSource.
175634  func (shs SapHanaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
175635  	return nil, false
175636  }
175637  
175638  // AsDynamicsSource is the BasicCopySource implementation for SapHanaSource.
175639  func (shs SapHanaSource) AsDynamicsSource() (*DynamicsSource, bool) {
175640  	return nil, false
175641  }
175642  
175643  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapHanaSource.
175644  func (shs SapHanaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
175645  	return nil, false
175646  }
175647  
175648  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapHanaSource.
175649  func (shs SapHanaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
175650  	return nil, false
175651  }
175652  
175653  // AsBlobSource is the BasicCopySource implementation for SapHanaSource.
175654  func (shs SapHanaSource) AsBlobSource() (*BlobSource, bool) {
175655  	return nil, false
175656  }
175657  
175658  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapHanaSource.
175659  func (shs SapHanaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
175660  	return nil, false
175661  }
175662  
175663  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapHanaSource.
175664  func (shs SapHanaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
175665  	return nil, false
175666  }
175667  
175668  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapHanaSource.
175669  func (shs SapHanaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
175670  	return nil, false
175671  }
175672  
175673  // AsDynamicsAXSource is the BasicCopySource implementation for SapHanaSource.
175674  func (shs SapHanaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
175675  	return nil, false
175676  }
175677  
175678  // AsResponsysSource is the BasicCopySource implementation for SapHanaSource.
175679  func (shs SapHanaSource) AsResponsysSource() (*ResponsysSource, bool) {
175680  	return nil, false
175681  }
175682  
175683  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapHanaSource.
175684  func (shs SapHanaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
175685  	return nil, false
175686  }
175687  
175688  // AsVerticaSource is the BasicCopySource implementation for SapHanaSource.
175689  func (shs SapHanaSource) AsVerticaSource() (*VerticaSource, bool) {
175690  	return nil, false
175691  }
175692  
175693  // AsNetezzaSource is the BasicCopySource implementation for SapHanaSource.
175694  func (shs SapHanaSource) AsNetezzaSource() (*NetezzaSource, bool) {
175695  	return nil, false
175696  }
175697  
175698  // AsZohoSource is the BasicCopySource implementation for SapHanaSource.
175699  func (shs SapHanaSource) AsZohoSource() (*ZohoSource, bool) {
175700  	return nil, false
175701  }
175702  
175703  // AsXeroSource is the BasicCopySource implementation for SapHanaSource.
175704  func (shs SapHanaSource) AsXeroSource() (*XeroSource, bool) {
175705  	return nil, false
175706  }
175707  
175708  // AsSquareSource is the BasicCopySource implementation for SapHanaSource.
175709  func (shs SapHanaSource) AsSquareSource() (*SquareSource, bool) {
175710  	return nil, false
175711  }
175712  
175713  // AsSparkSource is the BasicCopySource implementation for SapHanaSource.
175714  func (shs SapHanaSource) AsSparkSource() (*SparkSource, bool) {
175715  	return nil, false
175716  }
175717  
175718  // AsShopifySource is the BasicCopySource implementation for SapHanaSource.
175719  func (shs SapHanaSource) AsShopifySource() (*ShopifySource, bool) {
175720  	return nil, false
175721  }
175722  
175723  // AsServiceNowSource is the BasicCopySource implementation for SapHanaSource.
175724  func (shs SapHanaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
175725  	return nil, false
175726  }
175727  
175728  // AsQuickBooksSource is the BasicCopySource implementation for SapHanaSource.
175729  func (shs SapHanaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
175730  	return nil, false
175731  }
175732  
175733  // AsPrestoSource is the BasicCopySource implementation for SapHanaSource.
175734  func (shs SapHanaSource) AsPrestoSource() (*PrestoSource, bool) {
175735  	return nil, false
175736  }
175737  
175738  // AsPhoenixSource is the BasicCopySource implementation for SapHanaSource.
175739  func (shs SapHanaSource) AsPhoenixSource() (*PhoenixSource, bool) {
175740  	return nil, false
175741  }
175742  
175743  // AsPaypalSource is the BasicCopySource implementation for SapHanaSource.
175744  func (shs SapHanaSource) AsPaypalSource() (*PaypalSource, bool) {
175745  	return nil, false
175746  }
175747  
175748  // AsMarketoSource is the BasicCopySource implementation for SapHanaSource.
175749  func (shs SapHanaSource) AsMarketoSource() (*MarketoSource, bool) {
175750  	return nil, false
175751  }
175752  
175753  // AsAzureMariaDBSource is the BasicCopySource implementation for SapHanaSource.
175754  func (shs SapHanaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
175755  	return nil, false
175756  }
175757  
175758  // AsMariaDBSource is the BasicCopySource implementation for SapHanaSource.
175759  func (shs SapHanaSource) AsMariaDBSource() (*MariaDBSource, bool) {
175760  	return nil, false
175761  }
175762  
175763  // AsMagentoSource is the BasicCopySource implementation for SapHanaSource.
175764  func (shs SapHanaSource) AsMagentoSource() (*MagentoSource, bool) {
175765  	return nil, false
175766  }
175767  
175768  // AsJiraSource is the BasicCopySource implementation for SapHanaSource.
175769  func (shs SapHanaSource) AsJiraSource() (*JiraSource, bool) {
175770  	return nil, false
175771  }
175772  
175773  // AsImpalaSource is the BasicCopySource implementation for SapHanaSource.
175774  func (shs SapHanaSource) AsImpalaSource() (*ImpalaSource, bool) {
175775  	return nil, false
175776  }
175777  
175778  // AsHubspotSource is the BasicCopySource implementation for SapHanaSource.
175779  func (shs SapHanaSource) AsHubspotSource() (*HubspotSource, bool) {
175780  	return nil, false
175781  }
175782  
175783  // AsHiveSource is the BasicCopySource implementation for SapHanaSource.
175784  func (shs SapHanaSource) AsHiveSource() (*HiveSource, bool) {
175785  	return nil, false
175786  }
175787  
175788  // AsHBaseSource is the BasicCopySource implementation for SapHanaSource.
175789  func (shs SapHanaSource) AsHBaseSource() (*HBaseSource, bool) {
175790  	return nil, false
175791  }
175792  
175793  // AsGreenplumSource is the BasicCopySource implementation for SapHanaSource.
175794  func (shs SapHanaSource) AsGreenplumSource() (*GreenplumSource, bool) {
175795  	return nil, false
175796  }
175797  
175798  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapHanaSource.
175799  func (shs SapHanaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
175800  	return nil, false
175801  }
175802  
175803  // AsEloquaSource is the BasicCopySource implementation for SapHanaSource.
175804  func (shs SapHanaSource) AsEloquaSource() (*EloquaSource, bool) {
175805  	return nil, false
175806  }
175807  
175808  // AsDrillSource is the BasicCopySource implementation for SapHanaSource.
175809  func (shs SapHanaSource) AsDrillSource() (*DrillSource, bool) {
175810  	return nil, false
175811  }
175812  
175813  // AsCouchbaseSource is the BasicCopySource implementation for SapHanaSource.
175814  func (shs SapHanaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
175815  	return nil, false
175816  }
175817  
175818  // AsConcurSource is the BasicCopySource implementation for SapHanaSource.
175819  func (shs SapHanaSource) AsConcurSource() (*ConcurSource, bool) {
175820  	return nil, false
175821  }
175822  
175823  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapHanaSource.
175824  func (shs SapHanaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
175825  	return nil, false
175826  }
175827  
175828  // AsAmazonMWSSource is the BasicCopySource implementation for SapHanaSource.
175829  func (shs SapHanaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
175830  	return nil, false
175831  }
175832  
175833  // AsCassandraSource is the BasicCopySource implementation for SapHanaSource.
175834  func (shs SapHanaSource) AsCassandraSource() (*CassandraSource, bool) {
175835  	return nil, false
175836  }
175837  
175838  // AsTeradataSource is the BasicCopySource implementation for SapHanaSource.
175839  func (shs SapHanaSource) AsTeradataSource() (*TeradataSource, bool) {
175840  	return nil, false
175841  }
175842  
175843  // AsAzureMySQLSource is the BasicCopySource implementation for SapHanaSource.
175844  func (shs SapHanaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
175845  	return nil, false
175846  }
175847  
175848  // AsSQLDWSource is the BasicCopySource implementation for SapHanaSource.
175849  func (shs SapHanaSource) AsSQLDWSource() (*SQLDWSource, bool) {
175850  	return nil, false
175851  }
175852  
175853  // AsSQLMISource is the BasicCopySource implementation for SapHanaSource.
175854  func (shs SapHanaSource) AsSQLMISource() (*SQLMISource, bool) {
175855  	return nil, false
175856  }
175857  
175858  // AsAzureSQLSource is the BasicCopySource implementation for SapHanaSource.
175859  func (shs SapHanaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
175860  	return nil, false
175861  }
175862  
175863  // AsSQLServerSource is the BasicCopySource implementation for SapHanaSource.
175864  func (shs SapHanaSource) AsSQLServerSource() (*SQLServerSource, bool) {
175865  	return nil, false
175866  }
175867  
175868  // AsSQLSource is the BasicCopySource implementation for SapHanaSource.
175869  func (shs SapHanaSource) AsSQLSource() (*SQLSource, bool) {
175870  	return nil, false
175871  }
175872  
175873  // AsSapTableSource is the BasicCopySource implementation for SapHanaSource.
175874  func (shs SapHanaSource) AsSapTableSource() (*SapTableSource, bool) {
175875  	return nil, false
175876  }
175877  
175878  // AsSapOpenHubSource is the BasicCopySource implementation for SapHanaSource.
175879  func (shs SapHanaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
175880  	return nil, false
175881  }
175882  
175883  // AsSapHanaSource is the BasicCopySource implementation for SapHanaSource.
175884  func (shs SapHanaSource) AsSapHanaSource() (*SapHanaSource, bool) {
175885  	return &shs, true
175886  }
175887  
175888  // AsSapEccSource is the BasicCopySource implementation for SapHanaSource.
175889  func (shs SapHanaSource) AsSapEccSource() (*SapEccSource, bool) {
175890  	return nil, false
175891  }
175892  
175893  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapHanaSource.
175894  func (shs SapHanaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
175895  	return nil, false
175896  }
175897  
175898  // AsSalesforceSource is the BasicCopySource implementation for SapHanaSource.
175899  func (shs SapHanaSource) AsSalesforceSource() (*SalesforceSource, bool) {
175900  	return nil, false
175901  }
175902  
175903  // AsSapBwSource is the BasicCopySource implementation for SapHanaSource.
175904  func (shs SapHanaSource) AsSapBwSource() (*SapBwSource, bool) {
175905  	return nil, false
175906  }
175907  
175908  // AsSybaseSource is the BasicCopySource implementation for SapHanaSource.
175909  func (shs SapHanaSource) AsSybaseSource() (*SybaseSource, bool) {
175910  	return nil, false
175911  }
175912  
175913  // AsPostgreSQLSource is the BasicCopySource implementation for SapHanaSource.
175914  func (shs SapHanaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
175915  	return nil, false
175916  }
175917  
175918  // AsMySQLSource is the BasicCopySource implementation for SapHanaSource.
175919  func (shs SapHanaSource) AsMySQLSource() (*MySQLSource, bool) {
175920  	return nil, false
175921  }
175922  
175923  // AsOdbcSource is the BasicCopySource implementation for SapHanaSource.
175924  func (shs SapHanaSource) AsOdbcSource() (*OdbcSource, bool) {
175925  	return nil, false
175926  }
175927  
175928  // AsDb2Source is the BasicCopySource implementation for SapHanaSource.
175929  func (shs SapHanaSource) AsDb2Source() (*Db2Source, bool) {
175930  	return nil, false
175931  }
175932  
175933  // AsInformixSource is the BasicCopySource implementation for SapHanaSource.
175934  func (shs SapHanaSource) AsInformixSource() (*InformixSource, bool) {
175935  	return nil, false
175936  }
175937  
175938  // AsAzureTableSource is the BasicCopySource implementation for SapHanaSource.
175939  func (shs SapHanaSource) AsAzureTableSource() (*AzureTableSource, bool) {
175940  	return nil, false
175941  }
175942  
175943  // AsTabularSource is the BasicCopySource implementation for SapHanaSource.
175944  func (shs SapHanaSource) AsTabularSource() (*TabularSource, bool) {
175945  	return nil, false
175946  }
175947  
175948  // AsBasicTabularSource is the BasicCopySource implementation for SapHanaSource.
175949  func (shs SapHanaSource) AsBasicTabularSource() (BasicTabularSource, bool) {
175950  	return &shs, true
175951  }
175952  
175953  // AsBinarySource is the BasicCopySource implementation for SapHanaSource.
175954  func (shs SapHanaSource) AsBinarySource() (*BinarySource, bool) {
175955  	return nil, false
175956  }
175957  
175958  // AsOrcSource is the BasicCopySource implementation for SapHanaSource.
175959  func (shs SapHanaSource) AsOrcSource() (*OrcSource, bool) {
175960  	return nil, false
175961  }
175962  
175963  // AsJSONSource is the BasicCopySource implementation for SapHanaSource.
175964  func (shs SapHanaSource) AsJSONSource() (*JSONSource, bool) {
175965  	return nil, false
175966  }
175967  
175968  // AsDelimitedTextSource is the BasicCopySource implementation for SapHanaSource.
175969  func (shs SapHanaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
175970  	return nil, false
175971  }
175972  
175973  // AsParquetSource is the BasicCopySource implementation for SapHanaSource.
175974  func (shs SapHanaSource) AsParquetSource() (*ParquetSource, bool) {
175975  	return nil, false
175976  }
175977  
175978  // AsAvroSource is the BasicCopySource implementation for SapHanaSource.
175979  func (shs SapHanaSource) AsAvroSource() (*AvroSource, bool) {
175980  	return nil, false
175981  }
175982  
175983  // AsCopySource is the BasicCopySource implementation for SapHanaSource.
175984  func (shs SapHanaSource) AsCopySource() (*CopySource, bool) {
175985  	return nil, false
175986  }
175987  
175988  // AsBasicCopySource is the BasicCopySource implementation for SapHanaSource.
175989  func (shs SapHanaSource) AsBasicCopySource() (BasicCopySource, bool) {
175990  	return &shs, true
175991  }
175992  
175993  // UnmarshalJSON is the custom unmarshaler for SapHanaSource struct.
175994  func (shs *SapHanaSource) UnmarshalJSON(body []byte) error {
175995  	var m map[string]*json.RawMessage
175996  	err := json.Unmarshal(body, &m)
175997  	if err != nil {
175998  		return err
175999  	}
176000  	for k, v := range m {
176001  		switch k {
176002  		case "query":
176003  			if v != nil {
176004  				var query interface{}
176005  				err = json.Unmarshal(*v, &query)
176006  				if err != nil {
176007  					return err
176008  				}
176009  				shs.Query = query
176010  			}
176011  		case "packetSize":
176012  			if v != nil {
176013  				var packetSize interface{}
176014  				err = json.Unmarshal(*v, &packetSize)
176015  				if err != nil {
176016  					return err
176017  				}
176018  				shs.PacketSize = packetSize
176019  			}
176020  		case "partitionOption":
176021  			if v != nil {
176022  				var partitionOption SapHanaPartitionOption
176023  				err = json.Unmarshal(*v, &partitionOption)
176024  				if err != nil {
176025  					return err
176026  				}
176027  				shs.PartitionOption = partitionOption
176028  			}
176029  		case "partitionSettings":
176030  			if v != nil {
176031  				var partitionSettings SapHanaPartitionSettings
176032  				err = json.Unmarshal(*v, &partitionSettings)
176033  				if err != nil {
176034  					return err
176035  				}
176036  				shs.PartitionSettings = &partitionSettings
176037  			}
176038  		case "queryTimeout":
176039  			if v != nil {
176040  				var queryTimeout interface{}
176041  				err = json.Unmarshal(*v, &queryTimeout)
176042  				if err != nil {
176043  					return err
176044  				}
176045  				shs.QueryTimeout = queryTimeout
176046  			}
176047  		default:
176048  			if v != nil {
176049  				var additionalProperties interface{}
176050  				err = json.Unmarshal(*v, &additionalProperties)
176051  				if err != nil {
176052  					return err
176053  				}
176054  				if shs.AdditionalProperties == nil {
176055  					shs.AdditionalProperties = make(map[string]interface{})
176056  				}
176057  				shs.AdditionalProperties[k] = additionalProperties
176058  			}
176059  		case "sourceRetryCount":
176060  			if v != nil {
176061  				var sourceRetryCount interface{}
176062  				err = json.Unmarshal(*v, &sourceRetryCount)
176063  				if err != nil {
176064  					return err
176065  				}
176066  				shs.SourceRetryCount = sourceRetryCount
176067  			}
176068  		case "sourceRetryWait":
176069  			if v != nil {
176070  				var sourceRetryWait interface{}
176071  				err = json.Unmarshal(*v, &sourceRetryWait)
176072  				if err != nil {
176073  					return err
176074  				}
176075  				shs.SourceRetryWait = sourceRetryWait
176076  			}
176077  		case "maxConcurrentConnections":
176078  			if v != nil {
176079  				var maxConcurrentConnections interface{}
176080  				err = json.Unmarshal(*v, &maxConcurrentConnections)
176081  				if err != nil {
176082  					return err
176083  				}
176084  				shs.MaxConcurrentConnections = maxConcurrentConnections
176085  			}
176086  		case "type":
176087  			if v != nil {
176088  				var typeVar TypeBasicCopySource
176089  				err = json.Unmarshal(*v, &typeVar)
176090  				if err != nil {
176091  					return err
176092  				}
176093  				shs.Type = typeVar
176094  			}
176095  		}
176096  	}
176097  
176098  	return nil
176099  }
176100  
176101  // SapHanaTableDataset SAP HANA Table properties.
176102  type SapHanaTableDataset struct {
176103  	// SapHanaTableDatasetTypeProperties - SAP HANA Table properties.
176104  	*SapHanaTableDatasetTypeProperties `json:"typeProperties,omitempty"`
176105  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176106  	AdditionalProperties map[string]interface{} `json:""`
176107  	// Description - Dataset description.
176108  	Description *string `json:"description,omitempty"`
176109  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
176110  	Structure interface{} `json:"structure,omitempty"`
176111  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
176112  	Schema interface{} `json:"schema,omitempty"`
176113  	// LinkedServiceName - Linked service reference.
176114  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
176115  	// Parameters - Parameters for dataset.
176116  	Parameters map[string]*ParameterSpecification `json:"parameters"`
176117  	// Annotations - List of tags that can be used for describing the Dataset.
176118  	Annotations *[]interface{} `json:"annotations,omitempty"`
176119  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
176120  	Folder *DatasetFolder `json:"folder,omitempty"`
176121  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
176122  	Type TypeBasicDataset `json:"type,omitempty"`
176123  }
176124  
176125  // MarshalJSON is the custom marshaler for SapHanaTableDataset.
176126  func (shtd SapHanaTableDataset) MarshalJSON() ([]byte, error) {
176127  	shtd.Type = TypeSapHanaTable
176128  	objectMap := make(map[string]interface{})
176129  	if shtd.SapHanaTableDatasetTypeProperties != nil {
176130  		objectMap["typeProperties"] = shtd.SapHanaTableDatasetTypeProperties
176131  	}
176132  	if shtd.Description != nil {
176133  		objectMap["description"] = shtd.Description
176134  	}
176135  	if shtd.Structure != nil {
176136  		objectMap["structure"] = shtd.Structure
176137  	}
176138  	if shtd.Schema != nil {
176139  		objectMap["schema"] = shtd.Schema
176140  	}
176141  	if shtd.LinkedServiceName != nil {
176142  		objectMap["linkedServiceName"] = shtd.LinkedServiceName
176143  	}
176144  	if shtd.Parameters != nil {
176145  		objectMap["parameters"] = shtd.Parameters
176146  	}
176147  	if shtd.Annotations != nil {
176148  		objectMap["annotations"] = shtd.Annotations
176149  	}
176150  	if shtd.Folder != nil {
176151  		objectMap["folder"] = shtd.Folder
176152  	}
176153  	if shtd.Type != "" {
176154  		objectMap["type"] = shtd.Type
176155  	}
176156  	for k, v := range shtd.AdditionalProperties {
176157  		objectMap[k] = v
176158  	}
176159  	return json.Marshal(objectMap)
176160  }
176161  
176162  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176163  func (shtd SapHanaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
176164  	return nil, false
176165  }
176166  
176167  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176168  func (shtd SapHanaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
176169  	return nil, false
176170  }
176171  
176172  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176173  func (shtd SapHanaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
176174  	return nil, false
176175  }
176176  
176177  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176178  func (shtd SapHanaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
176179  	return nil, false
176180  }
176181  
176182  // AsResponsysObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176183  func (shtd SapHanaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
176184  	return nil, false
176185  }
176186  
176187  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176188  func (shtd SapHanaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
176189  	return nil, false
176190  }
176191  
176192  // AsVerticaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176193  func (shtd SapHanaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
176194  	return nil, false
176195  }
176196  
176197  // AsNetezzaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176198  func (shtd SapHanaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
176199  	return nil, false
176200  }
176201  
176202  // AsZohoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176203  func (shtd SapHanaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
176204  	return nil, false
176205  }
176206  
176207  // AsXeroObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176208  func (shtd SapHanaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
176209  	return nil, false
176210  }
176211  
176212  // AsSquareObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176213  func (shtd SapHanaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
176214  	return nil, false
176215  }
176216  
176217  // AsSparkObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176218  func (shtd SapHanaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
176219  	return nil, false
176220  }
176221  
176222  // AsShopifyObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176223  func (shtd SapHanaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
176224  	return nil, false
176225  }
176226  
176227  // AsServiceNowObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176228  func (shtd SapHanaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
176229  	return nil, false
176230  }
176231  
176232  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176233  func (shtd SapHanaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
176234  	return nil, false
176235  }
176236  
176237  // AsPrestoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176238  func (shtd SapHanaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
176239  	return nil, false
176240  }
176241  
176242  // AsPhoenixObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176243  func (shtd SapHanaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
176244  	return nil, false
176245  }
176246  
176247  // AsPaypalObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176248  func (shtd SapHanaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
176249  	return nil, false
176250  }
176251  
176252  // AsMarketoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176253  func (shtd SapHanaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
176254  	return nil, false
176255  }
176256  
176257  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176258  func (shtd SapHanaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
176259  	return nil, false
176260  }
176261  
176262  // AsMariaDBTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176263  func (shtd SapHanaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
176264  	return nil, false
176265  }
176266  
176267  // AsMagentoObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176268  func (shtd SapHanaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
176269  	return nil, false
176270  }
176271  
176272  // AsJiraObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176273  func (shtd SapHanaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
176274  	return nil, false
176275  }
176276  
176277  // AsImpalaObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176278  func (shtd SapHanaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
176279  	return nil, false
176280  }
176281  
176282  // AsHubspotObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176283  func (shtd SapHanaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
176284  	return nil, false
176285  }
176286  
176287  // AsHiveObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176288  func (shtd SapHanaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
176289  	return nil, false
176290  }
176291  
176292  // AsHBaseObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176293  func (shtd SapHanaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
176294  	return nil, false
176295  }
176296  
176297  // AsGreenplumTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176298  func (shtd SapHanaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
176299  	return nil, false
176300  }
176301  
176302  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176303  func (shtd SapHanaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
176304  	return nil, false
176305  }
176306  
176307  // AsEloquaObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176308  func (shtd SapHanaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
176309  	return nil, false
176310  }
176311  
176312  // AsDrillTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176313  func (shtd SapHanaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
176314  	return nil, false
176315  }
176316  
176317  // AsCouchbaseTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176318  func (shtd SapHanaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
176319  	return nil, false
176320  }
176321  
176322  // AsConcurObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176323  func (shtd SapHanaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
176324  	return nil, false
176325  }
176326  
176327  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176328  func (shtd SapHanaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
176329  	return nil, false
176330  }
176331  
176332  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176333  func (shtd SapHanaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
176334  	return nil, false
176335  }
176336  
176337  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapHanaTableDataset.
176338  func (shtd SapHanaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
176339  	return nil, false
176340  }
176341  
176342  // AsWebTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176343  func (shtd SapHanaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
176344  	return nil, false
176345  }
176346  
176347  // AsSapTableResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176348  func (shtd SapHanaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
176349  	return nil, false
176350  }
176351  
176352  // AsRestResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176353  func (shtd SapHanaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
176354  	return nil, false
176355  }
176356  
176357  // AsSQLServerTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176358  func (shtd SapHanaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
176359  	return nil, false
176360  }
176361  
176362  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176363  func (shtd SapHanaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
176364  	return nil, false
176365  }
176366  
176367  // AsSapHanaTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176368  func (shtd SapHanaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
176369  	return &shtd, true
176370  }
176371  
176372  // AsSapEccResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176373  func (shtd SapHanaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
176374  	return nil, false
176375  }
176376  
176377  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176378  func (shtd SapHanaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
176379  	return nil, false
176380  }
176381  
176382  // AsSapBwCubeDataset is the BasicDataset implementation for SapHanaTableDataset.
176383  func (shtd SapHanaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
176384  	return nil, false
176385  }
176386  
176387  // AsSybaseTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176388  func (shtd SapHanaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
176389  	return nil, false
176390  }
176391  
176392  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176393  func (shtd SapHanaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
176394  	return nil, false
176395  }
176396  
176397  // AsSalesforceObjectDataset is the BasicDataset implementation for SapHanaTableDataset.
176398  func (shtd SapHanaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
176399  	return nil, false
176400  }
176401  
176402  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176403  func (shtd SapHanaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
176404  	return nil, false
176405  }
176406  
176407  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176408  func (shtd SapHanaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
176409  	return nil, false
176410  }
176411  
176412  // AsMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176413  func (shtd SapHanaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
176414  	return nil, false
176415  }
176416  
176417  // AsOdbcTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176418  func (shtd SapHanaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
176419  	return nil, false
176420  }
176421  
176422  // AsInformixTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176423  func (shtd SapHanaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
176424  	return nil, false
176425  }
176426  
176427  // AsRelationalTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176428  func (shtd SapHanaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
176429  	return nil, false
176430  }
176431  
176432  // AsDb2TableDataset is the BasicDataset implementation for SapHanaTableDataset.
176433  func (shtd SapHanaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
176434  	return nil, false
176435  }
176436  
176437  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176438  func (shtd SapHanaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
176439  	return nil, false
176440  }
176441  
176442  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176443  func (shtd SapHanaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
176444  	return nil, false
176445  }
176446  
176447  // AsTeradataTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176448  func (shtd SapHanaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
176449  	return nil, false
176450  }
176451  
176452  // AsOracleTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176453  func (shtd SapHanaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
176454  	return nil, false
176455  }
176456  
176457  // AsODataResourceDataset is the BasicDataset implementation for SapHanaTableDataset.
176458  func (shtd SapHanaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
176459  	return nil, false
176460  }
176461  
176462  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
176463  func (shtd SapHanaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
176464  	return nil, false
176465  }
176466  
176467  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
176468  func (shtd SapHanaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
176469  	return nil, false
176470  }
176471  
176472  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
176473  func (shtd SapHanaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
176474  	return nil, false
176475  }
176476  
176477  // AsOffice365Dataset is the BasicDataset implementation for SapHanaTableDataset.
176478  func (shtd SapHanaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
176479  	return nil, false
176480  }
176481  
176482  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
176483  func (shtd SapHanaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
176484  	return nil, false
176485  }
176486  
176487  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
176488  func (shtd SapHanaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
176489  	return nil, false
176490  }
176491  
176492  // AsDynamicsEntityDataset is the BasicDataset implementation for SapHanaTableDataset.
176493  func (shtd SapHanaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
176494  	return nil, false
176495  }
176496  
176497  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
176498  func (shtd SapHanaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
176499  	return nil, false
176500  }
176501  
176502  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset.
176503  func (shtd SapHanaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
176504  	return nil, false
176505  }
176506  
176507  // AsCustomDataset is the BasicDataset implementation for SapHanaTableDataset.
176508  func (shtd SapHanaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
176509  	return nil, false
176510  }
176511  
176512  // AsCassandraTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176513  func (shtd SapHanaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
176514  	return nil, false
176515  }
176516  
176517  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176518  func (shtd SapHanaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
176519  	return nil, false
176520  }
176521  
176522  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapHanaTableDataset.
176523  func (shtd SapHanaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
176524  	return nil, false
176525  }
176526  
176527  // AsAzureSQLTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176528  func (shtd SapHanaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
176529  	return nil, false
176530  }
176531  
176532  // AsAzureTableDataset is the BasicDataset implementation for SapHanaTableDataset.
176533  func (shtd SapHanaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
176534  	return nil, false
176535  }
176536  
176537  // AsBinaryDataset is the BasicDataset implementation for SapHanaTableDataset.
176538  func (shtd SapHanaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
176539  	return nil, false
176540  }
176541  
176542  // AsOrcDataset is the BasicDataset implementation for SapHanaTableDataset.
176543  func (shtd SapHanaTableDataset) AsOrcDataset() (*OrcDataset, bool) {
176544  	return nil, false
176545  }
176546  
176547  // AsJSONDataset is the BasicDataset implementation for SapHanaTableDataset.
176548  func (shtd SapHanaTableDataset) AsJSONDataset() (*JSONDataset, bool) {
176549  	return nil, false
176550  }
176551  
176552  // AsDelimitedTextDataset is the BasicDataset implementation for SapHanaTableDataset.
176553  func (shtd SapHanaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
176554  	return nil, false
176555  }
176556  
176557  // AsParquetDataset is the BasicDataset implementation for SapHanaTableDataset.
176558  func (shtd SapHanaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
176559  	return nil, false
176560  }
176561  
176562  // AsAvroDataset is the BasicDataset implementation for SapHanaTableDataset.
176563  func (shtd SapHanaTableDataset) AsAvroDataset() (*AvroDataset, bool) {
176564  	return nil, false
176565  }
176566  
176567  // AsDataset is the BasicDataset implementation for SapHanaTableDataset.
176568  func (shtd SapHanaTableDataset) AsDataset() (*Dataset, bool) {
176569  	return nil, false
176570  }
176571  
176572  // AsBasicDataset is the BasicDataset implementation for SapHanaTableDataset.
176573  func (shtd SapHanaTableDataset) AsBasicDataset() (BasicDataset, bool) {
176574  	return &shtd, true
176575  }
176576  
176577  // UnmarshalJSON is the custom unmarshaler for SapHanaTableDataset struct.
176578  func (shtd *SapHanaTableDataset) UnmarshalJSON(body []byte) error {
176579  	var m map[string]*json.RawMessage
176580  	err := json.Unmarshal(body, &m)
176581  	if err != nil {
176582  		return err
176583  	}
176584  	for k, v := range m {
176585  		switch k {
176586  		case "typeProperties":
176587  			if v != nil {
176588  				var sapHanaTableDatasetTypeProperties SapHanaTableDatasetTypeProperties
176589  				err = json.Unmarshal(*v, &sapHanaTableDatasetTypeProperties)
176590  				if err != nil {
176591  					return err
176592  				}
176593  				shtd.SapHanaTableDatasetTypeProperties = &sapHanaTableDatasetTypeProperties
176594  			}
176595  		default:
176596  			if v != nil {
176597  				var additionalProperties interface{}
176598  				err = json.Unmarshal(*v, &additionalProperties)
176599  				if err != nil {
176600  					return err
176601  				}
176602  				if shtd.AdditionalProperties == nil {
176603  					shtd.AdditionalProperties = make(map[string]interface{})
176604  				}
176605  				shtd.AdditionalProperties[k] = additionalProperties
176606  			}
176607  		case "description":
176608  			if v != nil {
176609  				var description string
176610  				err = json.Unmarshal(*v, &description)
176611  				if err != nil {
176612  					return err
176613  				}
176614  				shtd.Description = &description
176615  			}
176616  		case "structure":
176617  			if v != nil {
176618  				var structure interface{}
176619  				err = json.Unmarshal(*v, &structure)
176620  				if err != nil {
176621  					return err
176622  				}
176623  				shtd.Structure = structure
176624  			}
176625  		case "schema":
176626  			if v != nil {
176627  				var schema interface{}
176628  				err = json.Unmarshal(*v, &schema)
176629  				if err != nil {
176630  					return err
176631  				}
176632  				shtd.Schema = schema
176633  			}
176634  		case "linkedServiceName":
176635  			if v != nil {
176636  				var linkedServiceName LinkedServiceReference
176637  				err = json.Unmarshal(*v, &linkedServiceName)
176638  				if err != nil {
176639  					return err
176640  				}
176641  				shtd.LinkedServiceName = &linkedServiceName
176642  			}
176643  		case "parameters":
176644  			if v != nil {
176645  				var parameters map[string]*ParameterSpecification
176646  				err = json.Unmarshal(*v, &parameters)
176647  				if err != nil {
176648  					return err
176649  				}
176650  				shtd.Parameters = parameters
176651  			}
176652  		case "annotations":
176653  			if v != nil {
176654  				var annotations []interface{}
176655  				err = json.Unmarshal(*v, &annotations)
176656  				if err != nil {
176657  					return err
176658  				}
176659  				shtd.Annotations = &annotations
176660  			}
176661  		case "folder":
176662  			if v != nil {
176663  				var folder DatasetFolder
176664  				err = json.Unmarshal(*v, &folder)
176665  				if err != nil {
176666  					return err
176667  				}
176668  				shtd.Folder = &folder
176669  			}
176670  		case "type":
176671  			if v != nil {
176672  				var typeVar TypeBasicDataset
176673  				err = json.Unmarshal(*v, &typeVar)
176674  				if err != nil {
176675  					return err
176676  				}
176677  				shtd.Type = typeVar
176678  			}
176679  		}
176680  	}
176681  
176682  	return nil
176683  }
176684  
176685  // SapHanaTableDatasetTypeProperties SAP HANA Table properties.
176686  type SapHanaTableDatasetTypeProperties struct {
176687  	// Schema - The schema name of SAP HANA. Type: string (or Expression with resultType string).
176688  	Schema interface{} `json:"schema,omitempty"`
176689  	// Table - The table name of SAP HANA. Type: string (or Expression with resultType string).
176690  	Table interface{} `json:"table,omitempty"`
176691  }
176692  
176693  // SapOpenHubLinkedService SAP Business Warehouse Open Hub Destination Linked Service.
176694  type SapOpenHubLinkedService struct {
176695  	// SapOpenHubLinkedServiceTypeProperties - Properties specific to SAP Business Warehouse Open Hub Destination linked service type.
176696  	*SapOpenHubLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
176697  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
176698  	AdditionalProperties map[string]interface{} `json:""`
176699  	// ConnectVia - The integration runtime reference.
176700  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
176701  	// Description - Linked service description.
176702  	Description *string `json:"description,omitempty"`
176703  	// Parameters - Parameters for linked service.
176704  	Parameters map[string]*ParameterSpecification `json:"parameters"`
176705  	// Annotations - List of tags that can be used for describing the linked service.
176706  	Annotations *[]interface{} `json:"annotations,omitempty"`
176707  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
176708  	Type TypeBasicLinkedService `json:"type,omitempty"`
176709  }
176710  
176711  // MarshalJSON is the custom marshaler for SapOpenHubLinkedService.
176712  func (sohls SapOpenHubLinkedService) MarshalJSON() ([]byte, error) {
176713  	sohls.Type = TypeSapOpenHub
176714  	objectMap := make(map[string]interface{})
176715  	if sohls.SapOpenHubLinkedServiceTypeProperties != nil {
176716  		objectMap["typeProperties"] = sohls.SapOpenHubLinkedServiceTypeProperties
176717  	}
176718  	if sohls.ConnectVia != nil {
176719  		objectMap["connectVia"] = sohls.ConnectVia
176720  	}
176721  	if sohls.Description != nil {
176722  		objectMap["description"] = sohls.Description
176723  	}
176724  	if sohls.Parameters != nil {
176725  		objectMap["parameters"] = sohls.Parameters
176726  	}
176727  	if sohls.Annotations != nil {
176728  		objectMap["annotations"] = sohls.Annotations
176729  	}
176730  	if sohls.Type != "" {
176731  		objectMap["type"] = sohls.Type
176732  	}
176733  	for k, v := range sohls.AdditionalProperties {
176734  		objectMap[k] = v
176735  	}
176736  	return json.Marshal(objectMap)
176737  }
176738  
176739  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176740  func (sohls SapOpenHubLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
176741  	return nil, false
176742  }
176743  
176744  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176745  func (sohls SapOpenHubLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
176746  	return nil, false
176747  }
176748  
176749  // AsSapTableLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176750  func (sohls SapOpenHubLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
176751  	return nil, false
176752  }
176753  
176754  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176755  func (sohls SapOpenHubLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
176756  	return nil, false
176757  }
176758  
176759  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176760  func (sohls SapOpenHubLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
176761  	return nil, false
176762  }
176763  
176764  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176765  func (sohls SapOpenHubLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
176766  	return nil, false
176767  }
176768  
176769  // AsResponsysLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176770  func (sohls SapOpenHubLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
176771  	return nil, false
176772  }
176773  
176774  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176775  func (sohls SapOpenHubLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
176776  	return nil, false
176777  }
176778  
176779  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176780  func (sohls SapOpenHubLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
176781  	return nil, false
176782  }
176783  
176784  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176785  func (sohls SapOpenHubLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
176786  	return nil, false
176787  }
176788  
176789  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176790  func (sohls SapOpenHubLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
176791  	return nil, false
176792  }
176793  
176794  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176795  func (sohls SapOpenHubLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
176796  	return nil, false
176797  }
176798  
176799  // AsVerticaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176800  func (sohls SapOpenHubLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
176801  	return nil, false
176802  }
176803  
176804  // AsZohoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176805  func (sohls SapOpenHubLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
176806  	return nil, false
176807  }
176808  
176809  // AsXeroLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176810  func (sohls SapOpenHubLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
176811  	return nil, false
176812  }
176813  
176814  // AsSquareLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176815  func (sohls SapOpenHubLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
176816  	return nil, false
176817  }
176818  
176819  // AsSparkLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176820  func (sohls SapOpenHubLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
176821  	return nil, false
176822  }
176823  
176824  // AsShopifyLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176825  func (sohls SapOpenHubLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
176826  	return nil, false
176827  }
176828  
176829  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176830  func (sohls SapOpenHubLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
176831  	return nil, false
176832  }
176833  
176834  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176835  func (sohls SapOpenHubLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
176836  	return nil, false
176837  }
176838  
176839  // AsPrestoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176840  func (sohls SapOpenHubLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
176841  	return nil, false
176842  }
176843  
176844  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176845  func (sohls SapOpenHubLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
176846  	return nil, false
176847  }
176848  
176849  // AsPaypalLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176850  func (sohls SapOpenHubLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
176851  	return nil, false
176852  }
176853  
176854  // AsMarketoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176855  func (sohls SapOpenHubLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
176856  	return nil, false
176857  }
176858  
176859  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176860  func (sohls SapOpenHubLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
176861  	return nil, false
176862  }
176863  
176864  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176865  func (sohls SapOpenHubLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
176866  	return nil, false
176867  }
176868  
176869  // AsMagentoLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176870  func (sohls SapOpenHubLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
176871  	return nil, false
176872  }
176873  
176874  // AsJiraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176875  func (sohls SapOpenHubLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
176876  	return nil, false
176877  }
176878  
176879  // AsImpalaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176880  func (sohls SapOpenHubLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
176881  	return nil, false
176882  }
176883  
176884  // AsHubspotLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176885  func (sohls SapOpenHubLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
176886  	return nil, false
176887  }
176888  
176889  // AsHiveLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176890  func (sohls SapOpenHubLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
176891  	return nil, false
176892  }
176893  
176894  // AsHBaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176895  func (sohls SapOpenHubLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
176896  	return nil, false
176897  }
176898  
176899  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176900  func (sohls SapOpenHubLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
176901  	return nil, false
176902  }
176903  
176904  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176905  func (sohls SapOpenHubLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
176906  	return nil, false
176907  }
176908  
176909  // AsEloquaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176910  func (sohls SapOpenHubLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
176911  	return nil, false
176912  }
176913  
176914  // AsDrillLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176915  func (sohls SapOpenHubLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
176916  	return nil, false
176917  }
176918  
176919  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176920  func (sohls SapOpenHubLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
176921  	return nil, false
176922  }
176923  
176924  // AsConcurLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176925  func (sohls SapOpenHubLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
176926  	return nil, false
176927  }
176928  
176929  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176930  func (sohls SapOpenHubLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
176931  	return nil, false
176932  }
176933  
176934  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176935  func (sohls SapOpenHubLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
176936  	return nil, false
176937  }
176938  
176939  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176940  func (sohls SapOpenHubLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
176941  	return nil, false
176942  }
176943  
176944  // AsSapBWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176945  func (sohls SapOpenHubLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
176946  	return nil, false
176947  }
176948  
176949  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176950  func (sohls SapOpenHubLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
176951  	return nil, false
176952  }
176953  
176954  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176955  func (sohls SapOpenHubLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
176956  	return nil, false
176957  }
176958  
176959  // AsHTTPLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176960  func (sohls SapOpenHubLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
176961  	return nil, false
176962  }
176963  
176964  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176965  func (sohls SapOpenHubLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
176966  	return nil, false
176967  }
176968  
176969  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176970  func (sohls SapOpenHubLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
176971  	return nil, false
176972  }
176973  
176974  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176975  func (sohls SapOpenHubLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
176976  	return nil, false
176977  }
176978  
176979  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176980  func (sohls SapOpenHubLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
176981  	return nil, false
176982  }
176983  
176984  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176985  func (sohls SapOpenHubLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
176986  	return nil, false
176987  }
176988  
176989  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176990  func (sohls SapOpenHubLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
176991  	return &sohls, true
176992  }
176993  
176994  // AsSapEccLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
176995  func (sohls SapOpenHubLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
176996  	return nil, false
176997  }
176998  
176999  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177000  func (sohls SapOpenHubLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
177001  	return nil, false
177002  }
177003  
177004  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177005  func (sohls SapOpenHubLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
177006  	return nil, false
177007  }
177008  
177009  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177010  func (sohls SapOpenHubLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
177011  	return nil, false
177012  }
177013  
177014  // AsOffice365LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177015  func (sohls SapOpenHubLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
177016  	return nil, false
177017  }
177018  
177019  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177020  func (sohls SapOpenHubLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
177021  	return nil, false
177022  }
177023  
177024  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177025  func (sohls SapOpenHubLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
177026  	return nil, false
177027  }
177028  
177029  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177030  func (sohls SapOpenHubLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
177031  	return nil, false
177032  }
177033  
177034  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177035  func (sohls SapOpenHubLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
177036  	return nil, false
177037  }
177038  
177039  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177040  func (sohls SapOpenHubLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
177041  	return nil, false
177042  }
177043  
177044  // AsCassandraLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177045  func (sohls SapOpenHubLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
177046  	return nil, false
177047  }
177048  
177049  // AsWebLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177050  func (sohls SapOpenHubLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
177051  	return nil, false
177052  }
177053  
177054  // AsODataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177055  func (sohls SapOpenHubLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
177056  	return nil, false
177057  }
177058  
177059  // AsHdfsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177060  func (sohls SapOpenHubLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
177061  	return nil, false
177062  }
177063  
177064  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177065  func (sohls SapOpenHubLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
177066  	return nil, false
177067  }
177068  
177069  // AsInformixLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177070  func (sohls SapOpenHubLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
177071  	return nil, false
177072  }
177073  
177074  // AsOdbcLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177075  func (sohls SapOpenHubLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
177076  	return nil, false
177077  }
177078  
177079  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177080  func (sohls SapOpenHubLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
177081  	return nil, false
177082  }
177083  
177084  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177085  func (sohls SapOpenHubLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
177086  	return nil, false
177087  }
177088  
177089  // AsTeradataLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177090  func (sohls SapOpenHubLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
177091  	return nil, false
177092  }
177093  
177094  // AsDb2LinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177095  func (sohls SapOpenHubLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
177096  	return nil, false
177097  }
177098  
177099  // AsSybaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177100  func (sohls SapOpenHubLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
177101  	return nil, false
177102  }
177103  
177104  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177105  func (sohls SapOpenHubLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
177106  	return nil, false
177107  }
177108  
177109  // AsMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177110  func (sohls SapOpenHubLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
177111  	return nil, false
177112  }
177113  
177114  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177115  func (sohls SapOpenHubLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
177116  	return nil, false
177117  }
177118  
177119  // AsOracleLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177120  func (sohls SapOpenHubLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
177121  	return nil, false
177122  }
177123  
177124  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177125  func (sohls SapOpenHubLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
177126  	return nil, false
177127  }
177128  
177129  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177130  func (sohls SapOpenHubLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
177131  	return nil, false
177132  }
177133  
177134  // AsFileServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177135  func (sohls SapOpenHubLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
177136  	return nil, false
177137  }
177138  
177139  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177140  func (sohls SapOpenHubLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
177141  	return nil, false
177142  }
177143  
177144  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177145  func (sohls SapOpenHubLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
177146  	return nil, false
177147  }
177148  
177149  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177150  func (sohls SapOpenHubLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
177151  	return nil, false
177152  }
177153  
177154  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177155  func (sohls SapOpenHubLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
177156  	return nil, false
177157  }
177158  
177159  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177160  func (sohls SapOpenHubLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
177161  	return nil, false
177162  }
177163  
177164  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177165  func (sohls SapOpenHubLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
177166  	return nil, false
177167  }
177168  
177169  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177170  func (sohls SapOpenHubLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
177171  	return nil, false
177172  }
177173  
177174  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177175  func (sohls SapOpenHubLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
177176  	return nil, false
177177  }
177178  
177179  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177180  func (sohls SapOpenHubLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
177181  	return nil, false
177182  }
177183  
177184  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177185  func (sohls SapOpenHubLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
177186  	return nil, false
177187  }
177188  
177189  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177190  func (sohls SapOpenHubLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
177191  	return nil, false
177192  }
177193  
177194  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177195  func (sohls SapOpenHubLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
177196  	return nil, false
177197  }
177198  
177199  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177200  func (sohls SapOpenHubLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
177201  	return nil, false
177202  }
177203  
177204  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177205  func (sohls SapOpenHubLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
177206  	return nil, false
177207  }
177208  
177209  // AsLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177210  func (sohls SapOpenHubLinkedService) AsLinkedService() (*LinkedService, bool) {
177211  	return nil, false
177212  }
177213  
177214  // AsBasicLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService.
177215  func (sohls SapOpenHubLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
177216  	return &sohls, true
177217  }
177218  
177219  // UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedService struct.
177220  func (sohls *SapOpenHubLinkedService) UnmarshalJSON(body []byte) error {
177221  	var m map[string]*json.RawMessage
177222  	err := json.Unmarshal(body, &m)
177223  	if err != nil {
177224  		return err
177225  	}
177226  	for k, v := range m {
177227  		switch k {
177228  		case "typeProperties":
177229  			if v != nil {
177230  				var sapOpenHubLinkedServiceTypeProperties SapOpenHubLinkedServiceTypeProperties
177231  				err = json.Unmarshal(*v, &sapOpenHubLinkedServiceTypeProperties)
177232  				if err != nil {
177233  					return err
177234  				}
177235  				sohls.SapOpenHubLinkedServiceTypeProperties = &sapOpenHubLinkedServiceTypeProperties
177236  			}
177237  		default:
177238  			if v != nil {
177239  				var additionalProperties interface{}
177240  				err = json.Unmarshal(*v, &additionalProperties)
177241  				if err != nil {
177242  					return err
177243  				}
177244  				if sohls.AdditionalProperties == nil {
177245  					sohls.AdditionalProperties = make(map[string]interface{})
177246  				}
177247  				sohls.AdditionalProperties[k] = additionalProperties
177248  			}
177249  		case "connectVia":
177250  			if v != nil {
177251  				var connectVia IntegrationRuntimeReference
177252  				err = json.Unmarshal(*v, &connectVia)
177253  				if err != nil {
177254  					return err
177255  				}
177256  				sohls.ConnectVia = &connectVia
177257  			}
177258  		case "description":
177259  			if v != nil {
177260  				var description string
177261  				err = json.Unmarshal(*v, &description)
177262  				if err != nil {
177263  					return err
177264  				}
177265  				sohls.Description = &description
177266  			}
177267  		case "parameters":
177268  			if v != nil {
177269  				var parameters map[string]*ParameterSpecification
177270  				err = json.Unmarshal(*v, &parameters)
177271  				if err != nil {
177272  					return err
177273  				}
177274  				sohls.Parameters = parameters
177275  			}
177276  		case "annotations":
177277  			if v != nil {
177278  				var annotations []interface{}
177279  				err = json.Unmarshal(*v, &annotations)
177280  				if err != nil {
177281  					return err
177282  				}
177283  				sohls.Annotations = &annotations
177284  			}
177285  		case "type":
177286  			if v != nil {
177287  				var typeVar TypeBasicLinkedService
177288  				err = json.Unmarshal(*v, &typeVar)
177289  				if err != nil {
177290  					return err
177291  				}
177292  				sohls.Type = typeVar
177293  			}
177294  		}
177295  	}
177296  
177297  	return nil
177298  }
177299  
177300  // SapOpenHubLinkedServiceTypeProperties properties specific to SAP Business Warehouse Open Hub Destination
177301  // linked service type.
177302  type SapOpenHubLinkedServiceTypeProperties struct {
177303  	// Server - Host name of the SAP BW instance where the open hub destination is located. Type: string (or Expression with resultType string).
177304  	Server interface{} `json:"server,omitempty"`
177305  	// 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).
177306  	SystemNumber interface{} `json:"systemNumber,omitempty"`
177307  	// 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).
177308  	ClientID interface{} `json:"clientId,omitempty"`
177309  	// 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).
177310  	Language interface{} `json:"language,omitempty"`
177311  	// UserName - Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string).
177312  	UserName interface{} `json:"userName,omitempty"`
177313  	// Password - Password to access the SAP BW server where the open hub destination is located.
177314  	Password BasicSecretBase `json:"password,omitempty"`
177315  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
177316  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
177317  }
177318  
177319  // UnmarshalJSON is the custom unmarshaler for SapOpenHubLinkedServiceTypeProperties struct.
177320  func (sohlstp *SapOpenHubLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
177321  	var m map[string]*json.RawMessage
177322  	err := json.Unmarshal(body, &m)
177323  	if err != nil {
177324  		return err
177325  	}
177326  	for k, v := range m {
177327  		switch k {
177328  		case "server":
177329  			if v != nil {
177330  				var server interface{}
177331  				err = json.Unmarshal(*v, &server)
177332  				if err != nil {
177333  					return err
177334  				}
177335  				sohlstp.Server = server
177336  			}
177337  		case "systemNumber":
177338  			if v != nil {
177339  				var systemNumber interface{}
177340  				err = json.Unmarshal(*v, &systemNumber)
177341  				if err != nil {
177342  					return err
177343  				}
177344  				sohlstp.SystemNumber = systemNumber
177345  			}
177346  		case "clientId":
177347  			if v != nil {
177348  				var clientID interface{}
177349  				err = json.Unmarshal(*v, &clientID)
177350  				if err != nil {
177351  					return err
177352  				}
177353  				sohlstp.ClientID = clientID
177354  			}
177355  		case "language":
177356  			if v != nil {
177357  				var language interface{}
177358  				err = json.Unmarshal(*v, &language)
177359  				if err != nil {
177360  					return err
177361  				}
177362  				sohlstp.Language = language
177363  			}
177364  		case "userName":
177365  			if v != nil {
177366  				var userName interface{}
177367  				err = json.Unmarshal(*v, &userName)
177368  				if err != nil {
177369  					return err
177370  				}
177371  				sohlstp.UserName = userName
177372  			}
177373  		case "password":
177374  			if v != nil {
177375  				password, err := unmarshalBasicSecretBase(*v)
177376  				if err != nil {
177377  					return err
177378  				}
177379  				sohlstp.Password = password
177380  			}
177381  		case "encryptedCredential":
177382  			if v != nil {
177383  				var encryptedCredential interface{}
177384  				err = json.Unmarshal(*v, &encryptedCredential)
177385  				if err != nil {
177386  					return err
177387  				}
177388  				sohlstp.EncryptedCredential = encryptedCredential
177389  			}
177390  		}
177391  	}
177392  
177393  	return nil
177394  }
177395  
177396  // SapOpenHubSource a copy activity source for SAP Business Warehouse Open Hub Destination source.
177397  type SapOpenHubSource struct {
177398  	// ExcludeLastRequest - Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean).
177399  	ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"`
177400  	// 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 ).
177401  	BaseRequestID interface{} `json:"baseRequestId,omitempty"`
177402  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
177403  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
177404  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
177405  	AdditionalProperties map[string]interface{} `json:""`
177406  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
177407  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
177408  	// 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])).
177409  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
177410  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
177411  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
177412  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
177413  	Type TypeBasicCopySource `json:"type,omitempty"`
177414  }
177415  
177416  // MarshalJSON is the custom marshaler for SapOpenHubSource.
177417  func (sohs SapOpenHubSource) MarshalJSON() ([]byte, error) {
177418  	sohs.Type = TypeSapOpenHubSource
177419  	objectMap := make(map[string]interface{})
177420  	if sohs.ExcludeLastRequest != nil {
177421  		objectMap["excludeLastRequest"] = sohs.ExcludeLastRequest
177422  	}
177423  	if sohs.BaseRequestID != nil {
177424  		objectMap["baseRequestId"] = sohs.BaseRequestID
177425  	}
177426  	if sohs.QueryTimeout != nil {
177427  		objectMap["queryTimeout"] = sohs.QueryTimeout
177428  	}
177429  	if sohs.SourceRetryCount != nil {
177430  		objectMap["sourceRetryCount"] = sohs.SourceRetryCount
177431  	}
177432  	if sohs.SourceRetryWait != nil {
177433  		objectMap["sourceRetryWait"] = sohs.SourceRetryWait
177434  	}
177435  	if sohs.MaxConcurrentConnections != nil {
177436  		objectMap["maxConcurrentConnections"] = sohs.MaxConcurrentConnections
177437  	}
177438  	if sohs.Type != "" {
177439  		objectMap["type"] = sohs.Type
177440  	}
177441  	for k, v := range sohs.AdditionalProperties {
177442  		objectMap[k] = v
177443  	}
177444  	return json.Marshal(objectMap)
177445  }
177446  
177447  // AsHTTPSource is the BasicCopySource implementation for SapOpenHubSource.
177448  func (sohs SapOpenHubSource) AsHTTPSource() (*HTTPSource, bool) {
177449  	return nil, false
177450  }
177451  
177452  // AsAzureBlobFSSource is the BasicCopySource implementation for SapOpenHubSource.
177453  func (sohs SapOpenHubSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
177454  	return nil, false
177455  }
177456  
177457  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapOpenHubSource.
177458  func (sohs SapOpenHubSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
177459  	return nil, false
177460  }
177461  
177462  // AsOffice365Source is the BasicCopySource implementation for SapOpenHubSource.
177463  func (sohs SapOpenHubSource) AsOffice365Source() (*Office365Source, bool) {
177464  	return nil, false
177465  }
177466  
177467  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapOpenHubSource.
177468  func (sohs SapOpenHubSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
177469  	return nil, false
177470  }
177471  
177472  // AsMongoDbV2Source is the BasicCopySource implementation for SapOpenHubSource.
177473  func (sohs SapOpenHubSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
177474  	return nil, false
177475  }
177476  
177477  // AsMongoDbSource is the BasicCopySource implementation for SapOpenHubSource.
177478  func (sohs SapOpenHubSource) AsMongoDbSource() (*MongoDbSource, bool) {
177479  	return nil, false
177480  }
177481  
177482  // AsWebSource is the BasicCopySource implementation for SapOpenHubSource.
177483  func (sohs SapOpenHubSource) AsWebSource() (*WebSource, bool) {
177484  	return nil, false
177485  }
177486  
177487  // AsOracleSource is the BasicCopySource implementation for SapOpenHubSource.
177488  func (sohs SapOpenHubSource) AsOracleSource() (*OracleSource, bool) {
177489  	return nil, false
177490  }
177491  
177492  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapOpenHubSource.
177493  func (sohs SapOpenHubSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
177494  	return nil, false
177495  }
177496  
177497  // AsHdfsSource is the BasicCopySource implementation for SapOpenHubSource.
177498  func (sohs SapOpenHubSource) AsHdfsSource() (*HdfsSource, bool) {
177499  	return nil, false
177500  }
177501  
177502  // AsFileSystemSource is the BasicCopySource implementation for SapOpenHubSource.
177503  func (sohs SapOpenHubSource) AsFileSystemSource() (*FileSystemSource, bool) {
177504  	return nil, false
177505  }
177506  
177507  // AsRestSource is the BasicCopySource implementation for SapOpenHubSource.
177508  func (sohs SapOpenHubSource) AsRestSource() (*RestSource, bool) {
177509  	return nil, false
177510  }
177511  
177512  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource.
177513  func (sohs SapOpenHubSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
177514  	return nil, false
177515  }
177516  
177517  // AsODataSource is the BasicCopySource implementation for SapOpenHubSource.
177518  func (sohs SapOpenHubSource) AsODataSource() (*ODataSource, bool) {
177519  	return nil, false
177520  }
177521  
177522  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapOpenHubSource.
177523  func (sohs SapOpenHubSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
177524  	return nil, false
177525  }
177526  
177527  // AsRelationalSource is the BasicCopySource implementation for SapOpenHubSource.
177528  func (sohs SapOpenHubSource) AsRelationalSource() (*RelationalSource, bool) {
177529  	return nil, false
177530  }
177531  
177532  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapOpenHubSource.
177533  func (sohs SapOpenHubSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
177534  	return nil, false
177535  }
177536  
177537  // AsDynamicsCrmSource is the BasicCopySource implementation for SapOpenHubSource.
177538  func (sohs SapOpenHubSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
177539  	return nil, false
177540  }
177541  
177542  // AsDynamicsSource is the BasicCopySource implementation for SapOpenHubSource.
177543  func (sohs SapOpenHubSource) AsDynamicsSource() (*DynamicsSource, bool) {
177544  	return nil, false
177545  }
177546  
177547  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapOpenHubSource.
177548  func (sohs SapOpenHubSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
177549  	return nil, false
177550  }
177551  
177552  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapOpenHubSource.
177553  func (sohs SapOpenHubSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
177554  	return nil, false
177555  }
177556  
177557  // AsBlobSource is the BasicCopySource implementation for SapOpenHubSource.
177558  func (sohs SapOpenHubSource) AsBlobSource() (*BlobSource, bool) {
177559  	return nil, false
177560  }
177561  
177562  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapOpenHubSource.
177563  func (sohs SapOpenHubSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
177564  	return nil, false
177565  }
177566  
177567  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapOpenHubSource.
177568  func (sohs SapOpenHubSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
177569  	return nil, false
177570  }
177571  
177572  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource.
177573  func (sohs SapOpenHubSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
177574  	return nil, false
177575  }
177576  
177577  // AsDynamicsAXSource is the BasicCopySource implementation for SapOpenHubSource.
177578  func (sohs SapOpenHubSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
177579  	return nil, false
177580  }
177581  
177582  // AsResponsysSource is the BasicCopySource implementation for SapOpenHubSource.
177583  func (sohs SapOpenHubSource) AsResponsysSource() (*ResponsysSource, bool) {
177584  	return nil, false
177585  }
177586  
177587  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapOpenHubSource.
177588  func (sohs SapOpenHubSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
177589  	return nil, false
177590  }
177591  
177592  // AsVerticaSource is the BasicCopySource implementation for SapOpenHubSource.
177593  func (sohs SapOpenHubSource) AsVerticaSource() (*VerticaSource, bool) {
177594  	return nil, false
177595  }
177596  
177597  // AsNetezzaSource is the BasicCopySource implementation for SapOpenHubSource.
177598  func (sohs SapOpenHubSource) AsNetezzaSource() (*NetezzaSource, bool) {
177599  	return nil, false
177600  }
177601  
177602  // AsZohoSource is the BasicCopySource implementation for SapOpenHubSource.
177603  func (sohs SapOpenHubSource) AsZohoSource() (*ZohoSource, bool) {
177604  	return nil, false
177605  }
177606  
177607  // AsXeroSource is the BasicCopySource implementation for SapOpenHubSource.
177608  func (sohs SapOpenHubSource) AsXeroSource() (*XeroSource, bool) {
177609  	return nil, false
177610  }
177611  
177612  // AsSquareSource is the BasicCopySource implementation for SapOpenHubSource.
177613  func (sohs SapOpenHubSource) AsSquareSource() (*SquareSource, bool) {
177614  	return nil, false
177615  }
177616  
177617  // AsSparkSource is the BasicCopySource implementation for SapOpenHubSource.
177618  func (sohs SapOpenHubSource) AsSparkSource() (*SparkSource, bool) {
177619  	return nil, false
177620  }
177621  
177622  // AsShopifySource is the BasicCopySource implementation for SapOpenHubSource.
177623  func (sohs SapOpenHubSource) AsShopifySource() (*ShopifySource, bool) {
177624  	return nil, false
177625  }
177626  
177627  // AsServiceNowSource is the BasicCopySource implementation for SapOpenHubSource.
177628  func (sohs SapOpenHubSource) AsServiceNowSource() (*ServiceNowSource, bool) {
177629  	return nil, false
177630  }
177631  
177632  // AsQuickBooksSource is the BasicCopySource implementation for SapOpenHubSource.
177633  func (sohs SapOpenHubSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
177634  	return nil, false
177635  }
177636  
177637  // AsPrestoSource is the BasicCopySource implementation for SapOpenHubSource.
177638  func (sohs SapOpenHubSource) AsPrestoSource() (*PrestoSource, bool) {
177639  	return nil, false
177640  }
177641  
177642  // AsPhoenixSource is the BasicCopySource implementation for SapOpenHubSource.
177643  func (sohs SapOpenHubSource) AsPhoenixSource() (*PhoenixSource, bool) {
177644  	return nil, false
177645  }
177646  
177647  // AsPaypalSource is the BasicCopySource implementation for SapOpenHubSource.
177648  func (sohs SapOpenHubSource) AsPaypalSource() (*PaypalSource, bool) {
177649  	return nil, false
177650  }
177651  
177652  // AsMarketoSource is the BasicCopySource implementation for SapOpenHubSource.
177653  func (sohs SapOpenHubSource) AsMarketoSource() (*MarketoSource, bool) {
177654  	return nil, false
177655  }
177656  
177657  // AsAzureMariaDBSource is the BasicCopySource implementation for SapOpenHubSource.
177658  func (sohs SapOpenHubSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
177659  	return nil, false
177660  }
177661  
177662  // AsMariaDBSource is the BasicCopySource implementation for SapOpenHubSource.
177663  func (sohs SapOpenHubSource) AsMariaDBSource() (*MariaDBSource, bool) {
177664  	return nil, false
177665  }
177666  
177667  // AsMagentoSource is the BasicCopySource implementation for SapOpenHubSource.
177668  func (sohs SapOpenHubSource) AsMagentoSource() (*MagentoSource, bool) {
177669  	return nil, false
177670  }
177671  
177672  // AsJiraSource is the BasicCopySource implementation for SapOpenHubSource.
177673  func (sohs SapOpenHubSource) AsJiraSource() (*JiraSource, bool) {
177674  	return nil, false
177675  }
177676  
177677  // AsImpalaSource is the BasicCopySource implementation for SapOpenHubSource.
177678  func (sohs SapOpenHubSource) AsImpalaSource() (*ImpalaSource, bool) {
177679  	return nil, false
177680  }
177681  
177682  // AsHubspotSource is the BasicCopySource implementation for SapOpenHubSource.
177683  func (sohs SapOpenHubSource) AsHubspotSource() (*HubspotSource, bool) {
177684  	return nil, false
177685  }
177686  
177687  // AsHiveSource is the BasicCopySource implementation for SapOpenHubSource.
177688  func (sohs SapOpenHubSource) AsHiveSource() (*HiveSource, bool) {
177689  	return nil, false
177690  }
177691  
177692  // AsHBaseSource is the BasicCopySource implementation for SapOpenHubSource.
177693  func (sohs SapOpenHubSource) AsHBaseSource() (*HBaseSource, bool) {
177694  	return nil, false
177695  }
177696  
177697  // AsGreenplumSource is the BasicCopySource implementation for SapOpenHubSource.
177698  func (sohs SapOpenHubSource) AsGreenplumSource() (*GreenplumSource, bool) {
177699  	return nil, false
177700  }
177701  
177702  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapOpenHubSource.
177703  func (sohs SapOpenHubSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
177704  	return nil, false
177705  }
177706  
177707  // AsEloquaSource is the BasicCopySource implementation for SapOpenHubSource.
177708  func (sohs SapOpenHubSource) AsEloquaSource() (*EloquaSource, bool) {
177709  	return nil, false
177710  }
177711  
177712  // AsDrillSource is the BasicCopySource implementation for SapOpenHubSource.
177713  func (sohs SapOpenHubSource) AsDrillSource() (*DrillSource, bool) {
177714  	return nil, false
177715  }
177716  
177717  // AsCouchbaseSource is the BasicCopySource implementation for SapOpenHubSource.
177718  func (sohs SapOpenHubSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
177719  	return nil, false
177720  }
177721  
177722  // AsConcurSource is the BasicCopySource implementation for SapOpenHubSource.
177723  func (sohs SapOpenHubSource) AsConcurSource() (*ConcurSource, bool) {
177724  	return nil, false
177725  }
177726  
177727  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource.
177728  func (sohs SapOpenHubSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
177729  	return nil, false
177730  }
177731  
177732  // AsAmazonMWSSource is the BasicCopySource implementation for SapOpenHubSource.
177733  func (sohs SapOpenHubSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
177734  	return nil, false
177735  }
177736  
177737  // AsCassandraSource is the BasicCopySource implementation for SapOpenHubSource.
177738  func (sohs SapOpenHubSource) AsCassandraSource() (*CassandraSource, bool) {
177739  	return nil, false
177740  }
177741  
177742  // AsTeradataSource is the BasicCopySource implementation for SapOpenHubSource.
177743  func (sohs SapOpenHubSource) AsTeradataSource() (*TeradataSource, bool) {
177744  	return nil, false
177745  }
177746  
177747  // AsAzureMySQLSource is the BasicCopySource implementation for SapOpenHubSource.
177748  func (sohs SapOpenHubSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
177749  	return nil, false
177750  }
177751  
177752  // AsSQLDWSource is the BasicCopySource implementation for SapOpenHubSource.
177753  func (sohs SapOpenHubSource) AsSQLDWSource() (*SQLDWSource, bool) {
177754  	return nil, false
177755  }
177756  
177757  // AsSQLMISource is the BasicCopySource implementation for SapOpenHubSource.
177758  func (sohs SapOpenHubSource) AsSQLMISource() (*SQLMISource, bool) {
177759  	return nil, false
177760  }
177761  
177762  // AsAzureSQLSource is the BasicCopySource implementation for SapOpenHubSource.
177763  func (sohs SapOpenHubSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
177764  	return nil, false
177765  }
177766  
177767  // AsSQLServerSource is the BasicCopySource implementation for SapOpenHubSource.
177768  func (sohs SapOpenHubSource) AsSQLServerSource() (*SQLServerSource, bool) {
177769  	return nil, false
177770  }
177771  
177772  // AsSQLSource is the BasicCopySource implementation for SapOpenHubSource.
177773  func (sohs SapOpenHubSource) AsSQLSource() (*SQLSource, bool) {
177774  	return nil, false
177775  }
177776  
177777  // AsSapTableSource is the BasicCopySource implementation for SapOpenHubSource.
177778  func (sohs SapOpenHubSource) AsSapTableSource() (*SapTableSource, bool) {
177779  	return nil, false
177780  }
177781  
177782  // AsSapOpenHubSource is the BasicCopySource implementation for SapOpenHubSource.
177783  func (sohs SapOpenHubSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
177784  	return &sohs, true
177785  }
177786  
177787  // AsSapHanaSource is the BasicCopySource implementation for SapOpenHubSource.
177788  func (sohs SapOpenHubSource) AsSapHanaSource() (*SapHanaSource, bool) {
177789  	return nil, false
177790  }
177791  
177792  // AsSapEccSource is the BasicCopySource implementation for SapOpenHubSource.
177793  func (sohs SapOpenHubSource) AsSapEccSource() (*SapEccSource, bool) {
177794  	return nil, false
177795  }
177796  
177797  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapOpenHubSource.
177798  func (sohs SapOpenHubSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
177799  	return nil, false
177800  }
177801  
177802  // AsSalesforceSource is the BasicCopySource implementation for SapOpenHubSource.
177803  func (sohs SapOpenHubSource) AsSalesforceSource() (*SalesforceSource, bool) {
177804  	return nil, false
177805  }
177806  
177807  // AsSapBwSource is the BasicCopySource implementation for SapOpenHubSource.
177808  func (sohs SapOpenHubSource) AsSapBwSource() (*SapBwSource, bool) {
177809  	return nil, false
177810  }
177811  
177812  // AsSybaseSource is the BasicCopySource implementation for SapOpenHubSource.
177813  func (sohs SapOpenHubSource) AsSybaseSource() (*SybaseSource, bool) {
177814  	return nil, false
177815  }
177816  
177817  // AsPostgreSQLSource is the BasicCopySource implementation for SapOpenHubSource.
177818  func (sohs SapOpenHubSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
177819  	return nil, false
177820  }
177821  
177822  // AsMySQLSource is the BasicCopySource implementation for SapOpenHubSource.
177823  func (sohs SapOpenHubSource) AsMySQLSource() (*MySQLSource, bool) {
177824  	return nil, false
177825  }
177826  
177827  // AsOdbcSource is the BasicCopySource implementation for SapOpenHubSource.
177828  func (sohs SapOpenHubSource) AsOdbcSource() (*OdbcSource, bool) {
177829  	return nil, false
177830  }
177831  
177832  // AsDb2Source is the BasicCopySource implementation for SapOpenHubSource.
177833  func (sohs SapOpenHubSource) AsDb2Source() (*Db2Source, bool) {
177834  	return nil, false
177835  }
177836  
177837  // AsInformixSource is the BasicCopySource implementation for SapOpenHubSource.
177838  func (sohs SapOpenHubSource) AsInformixSource() (*InformixSource, bool) {
177839  	return nil, false
177840  }
177841  
177842  // AsAzureTableSource is the BasicCopySource implementation for SapOpenHubSource.
177843  func (sohs SapOpenHubSource) AsAzureTableSource() (*AzureTableSource, bool) {
177844  	return nil, false
177845  }
177846  
177847  // AsTabularSource is the BasicCopySource implementation for SapOpenHubSource.
177848  func (sohs SapOpenHubSource) AsTabularSource() (*TabularSource, bool) {
177849  	return nil, false
177850  }
177851  
177852  // AsBasicTabularSource is the BasicCopySource implementation for SapOpenHubSource.
177853  func (sohs SapOpenHubSource) AsBasicTabularSource() (BasicTabularSource, bool) {
177854  	return &sohs, true
177855  }
177856  
177857  // AsBinarySource is the BasicCopySource implementation for SapOpenHubSource.
177858  func (sohs SapOpenHubSource) AsBinarySource() (*BinarySource, bool) {
177859  	return nil, false
177860  }
177861  
177862  // AsOrcSource is the BasicCopySource implementation for SapOpenHubSource.
177863  func (sohs SapOpenHubSource) AsOrcSource() (*OrcSource, bool) {
177864  	return nil, false
177865  }
177866  
177867  // AsJSONSource is the BasicCopySource implementation for SapOpenHubSource.
177868  func (sohs SapOpenHubSource) AsJSONSource() (*JSONSource, bool) {
177869  	return nil, false
177870  }
177871  
177872  // AsDelimitedTextSource is the BasicCopySource implementation for SapOpenHubSource.
177873  func (sohs SapOpenHubSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
177874  	return nil, false
177875  }
177876  
177877  // AsParquetSource is the BasicCopySource implementation for SapOpenHubSource.
177878  func (sohs SapOpenHubSource) AsParquetSource() (*ParquetSource, bool) {
177879  	return nil, false
177880  }
177881  
177882  // AsAvroSource is the BasicCopySource implementation for SapOpenHubSource.
177883  func (sohs SapOpenHubSource) AsAvroSource() (*AvroSource, bool) {
177884  	return nil, false
177885  }
177886  
177887  // AsCopySource is the BasicCopySource implementation for SapOpenHubSource.
177888  func (sohs SapOpenHubSource) AsCopySource() (*CopySource, bool) {
177889  	return nil, false
177890  }
177891  
177892  // AsBasicCopySource is the BasicCopySource implementation for SapOpenHubSource.
177893  func (sohs SapOpenHubSource) AsBasicCopySource() (BasicCopySource, bool) {
177894  	return &sohs, true
177895  }
177896  
177897  // UnmarshalJSON is the custom unmarshaler for SapOpenHubSource struct.
177898  func (sohs *SapOpenHubSource) UnmarshalJSON(body []byte) error {
177899  	var m map[string]*json.RawMessage
177900  	err := json.Unmarshal(body, &m)
177901  	if err != nil {
177902  		return err
177903  	}
177904  	for k, v := range m {
177905  		switch k {
177906  		case "excludeLastRequest":
177907  			if v != nil {
177908  				var excludeLastRequest interface{}
177909  				err = json.Unmarshal(*v, &excludeLastRequest)
177910  				if err != nil {
177911  					return err
177912  				}
177913  				sohs.ExcludeLastRequest = excludeLastRequest
177914  			}
177915  		case "baseRequestId":
177916  			if v != nil {
177917  				var baseRequestID interface{}
177918  				err = json.Unmarshal(*v, &baseRequestID)
177919  				if err != nil {
177920  					return err
177921  				}
177922  				sohs.BaseRequestID = baseRequestID
177923  			}
177924  		case "queryTimeout":
177925  			if v != nil {
177926  				var queryTimeout interface{}
177927  				err = json.Unmarshal(*v, &queryTimeout)
177928  				if err != nil {
177929  					return err
177930  				}
177931  				sohs.QueryTimeout = queryTimeout
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 sohs.AdditionalProperties == nil {
177941  					sohs.AdditionalProperties = make(map[string]interface{})
177942  				}
177943  				sohs.AdditionalProperties[k] = additionalProperties
177944  			}
177945  		case "sourceRetryCount":
177946  			if v != nil {
177947  				var sourceRetryCount interface{}
177948  				err = json.Unmarshal(*v, &sourceRetryCount)
177949  				if err != nil {
177950  					return err
177951  				}
177952  				sohs.SourceRetryCount = sourceRetryCount
177953  			}
177954  		case "sourceRetryWait":
177955  			if v != nil {
177956  				var sourceRetryWait interface{}
177957  				err = json.Unmarshal(*v, &sourceRetryWait)
177958  				if err != nil {
177959  					return err
177960  				}
177961  				sohs.SourceRetryWait = sourceRetryWait
177962  			}
177963  		case "maxConcurrentConnections":
177964  			if v != nil {
177965  				var maxConcurrentConnections interface{}
177966  				err = json.Unmarshal(*v, &maxConcurrentConnections)
177967  				if err != nil {
177968  					return err
177969  				}
177970  				sohs.MaxConcurrentConnections = maxConcurrentConnections
177971  			}
177972  		case "type":
177973  			if v != nil {
177974  				var typeVar TypeBasicCopySource
177975  				err = json.Unmarshal(*v, &typeVar)
177976  				if err != nil {
177977  					return err
177978  				}
177979  				sohs.Type = typeVar
177980  			}
177981  		}
177982  	}
177983  
177984  	return nil
177985  }
177986  
177987  // SapOpenHubTableDataset sap Business Warehouse Open Hub Destination Table properties.
177988  type SapOpenHubTableDataset struct {
177989  	// SapOpenHubTableDatasetTypeProperties - Sap Business Warehouse Open Hub Destination Table properties.
177990  	*SapOpenHubTableDatasetTypeProperties `json:"typeProperties,omitempty"`
177991  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
177992  	AdditionalProperties map[string]interface{} `json:""`
177993  	// Description - Dataset description.
177994  	Description *string `json:"description,omitempty"`
177995  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
177996  	Structure interface{} `json:"structure,omitempty"`
177997  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
177998  	Schema interface{} `json:"schema,omitempty"`
177999  	// LinkedServiceName - Linked service reference.
178000  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
178001  	// Parameters - Parameters for dataset.
178002  	Parameters map[string]*ParameterSpecification `json:"parameters"`
178003  	// Annotations - List of tags that can be used for describing the Dataset.
178004  	Annotations *[]interface{} `json:"annotations,omitempty"`
178005  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
178006  	Folder *DatasetFolder `json:"folder,omitempty"`
178007  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
178008  	Type TypeBasicDataset `json:"type,omitempty"`
178009  }
178010  
178011  // MarshalJSON is the custom marshaler for SapOpenHubTableDataset.
178012  func (sohtd SapOpenHubTableDataset) MarshalJSON() ([]byte, error) {
178013  	sohtd.Type = TypeSapOpenHubTable
178014  	objectMap := make(map[string]interface{})
178015  	if sohtd.SapOpenHubTableDatasetTypeProperties != nil {
178016  		objectMap["typeProperties"] = sohtd.SapOpenHubTableDatasetTypeProperties
178017  	}
178018  	if sohtd.Description != nil {
178019  		objectMap["description"] = sohtd.Description
178020  	}
178021  	if sohtd.Structure != nil {
178022  		objectMap["structure"] = sohtd.Structure
178023  	}
178024  	if sohtd.Schema != nil {
178025  		objectMap["schema"] = sohtd.Schema
178026  	}
178027  	if sohtd.LinkedServiceName != nil {
178028  		objectMap["linkedServiceName"] = sohtd.LinkedServiceName
178029  	}
178030  	if sohtd.Parameters != nil {
178031  		objectMap["parameters"] = sohtd.Parameters
178032  	}
178033  	if sohtd.Annotations != nil {
178034  		objectMap["annotations"] = sohtd.Annotations
178035  	}
178036  	if sohtd.Folder != nil {
178037  		objectMap["folder"] = sohtd.Folder
178038  	}
178039  	if sohtd.Type != "" {
178040  		objectMap["type"] = sohtd.Type
178041  	}
178042  	for k, v := range sohtd.AdditionalProperties {
178043  		objectMap[k] = v
178044  	}
178045  	return json.Marshal(objectMap)
178046  }
178047  
178048  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178049  func (sohtd SapOpenHubTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
178050  	return nil, false
178051  }
178052  
178053  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178054  func (sohtd SapOpenHubTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
178055  	return nil, false
178056  }
178057  
178058  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178059  func (sohtd SapOpenHubTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
178060  	return nil, false
178061  }
178062  
178063  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178064  func (sohtd SapOpenHubTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
178065  	return nil, false
178066  }
178067  
178068  // AsResponsysObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178069  func (sohtd SapOpenHubTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
178070  	return nil, false
178071  }
178072  
178073  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178074  func (sohtd SapOpenHubTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
178075  	return nil, false
178076  }
178077  
178078  // AsVerticaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178079  func (sohtd SapOpenHubTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
178080  	return nil, false
178081  }
178082  
178083  // AsNetezzaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178084  func (sohtd SapOpenHubTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
178085  	return nil, false
178086  }
178087  
178088  // AsZohoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178089  func (sohtd SapOpenHubTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
178090  	return nil, false
178091  }
178092  
178093  // AsXeroObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178094  func (sohtd SapOpenHubTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
178095  	return nil, false
178096  }
178097  
178098  // AsSquareObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178099  func (sohtd SapOpenHubTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
178100  	return nil, false
178101  }
178102  
178103  // AsSparkObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178104  func (sohtd SapOpenHubTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
178105  	return nil, false
178106  }
178107  
178108  // AsShopifyObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178109  func (sohtd SapOpenHubTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
178110  	return nil, false
178111  }
178112  
178113  // AsServiceNowObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178114  func (sohtd SapOpenHubTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
178115  	return nil, false
178116  }
178117  
178118  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178119  func (sohtd SapOpenHubTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
178120  	return nil, false
178121  }
178122  
178123  // AsPrestoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178124  func (sohtd SapOpenHubTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
178125  	return nil, false
178126  }
178127  
178128  // AsPhoenixObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178129  func (sohtd SapOpenHubTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
178130  	return nil, false
178131  }
178132  
178133  // AsPaypalObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178134  func (sohtd SapOpenHubTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
178135  	return nil, false
178136  }
178137  
178138  // AsMarketoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178139  func (sohtd SapOpenHubTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
178140  	return nil, false
178141  }
178142  
178143  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178144  func (sohtd SapOpenHubTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
178145  	return nil, false
178146  }
178147  
178148  // AsMariaDBTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178149  func (sohtd SapOpenHubTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
178150  	return nil, false
178151  }
178152  
178153  // AsMagentoObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178154  func (sohtd SapOpenHubTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
178155  	return nil, false
178156  }
178157  
178158  // AsJiraObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178159  func (sohtd SapOpenHubTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
178160  	return nil, false
178161  }
178162  
178163  // AsImpalaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178164  func (sohtd SapOpenHubTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
178165  	return nil, false
178166  }
178167  
178168  // AsHubspotObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178169  func (sohtd SapOpenHubTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
178170  	return nil, false
178171  }
178172  
178173  // AsHiveObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178174  func (sohtd SapOpenHubTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
178175  	return nil, false
178176  }
178177  
178178  // AsHBaseObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178179  func (sohtd SapOpenHubTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
178180  	return nil, false
178181  }
178182  
178183  // AsGreenplumTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178184  func (sohtd SapOpenHubTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
178185  	return nil, false
178186  }
178187  
178188  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178189  func (sohtd SapOpenHubTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
178190  	return nil, false
178191  }
178192  
178193  // AsEloquaObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178194  func (sohtd SapOpenHubTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
178195  	return nil, false
178196  }
178197  
178198  // AsDrillTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178199  func (sohtd SapOpenHubTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
178200  	return nil, false
178201  }
178202  
178203  // AsCouchbaseTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178204  func (sohtd SapOpenHubTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
178205  	return nil, false
178206  }
178207  
178208  // AsConcurObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178209  func (sohtd SapOpenHubTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
178210  	return nil, false
178211  }
178212  
178213  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178214  func (sohtd SapOpenHubTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
178215  	return nil, false
178216  }
178217  
178218  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178219  func (sohtd SapOpenHubTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
178220  	return nil, false
178221  }
178222  
178223  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178224  func (sohtd SapOpenHubTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
178225  	return nil, false
178226  }
178227  
178228  // AsWebTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178229  func (sohtd SapOpenHubTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
178230  	return nil, false
178231  }
178232  
178233  // AsSapTableResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178234  func (sohtd SapOpenHubTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
178235  	return nil, false
178236  }
178237  
178238  // AsRestResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178239  func (sohtd SapOpenHubTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
178240  	return nil, false
178241  }
178242  
178243  // AsSQLServerTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178244  func (sohtd SapOpenHubTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
178245  	return nil, false
178246  }
178247  
178248  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178249  func (sohtd SapOpenHubTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
178250  	return &sohtd, true
178251  }
178252  
178253  // AsSapHanaTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178254  func (sohtd SapOpenHubTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
178255  	return nil, false
178256  }
178257  
178258  // AsSapEccResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178259  func (sohtd SapOpenHubTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
178260  	return nil, false
178261  }
178262  
178263  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178264  func (sohtd SapOpenHubTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
178265  	return nil, false
178266  }
178267  
178268  // AsSapBwCubeDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178269  func (sohtd SapOpenHubTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
178270  	return nil, false
178271  }
178272  
178273  // AsSybaseTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178274  func (sohtd SapOpenHubTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
178275  	return nil, false
178276  }
178277  
178278  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178279  func (sohtd SapOpenHubTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
178280  	return nil, false
178281  }
178282  
178283  // AsSalesforceObjectDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178284  func (sohtd SapOpenHubTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
178285  	return nil, false
178286  }
178287  
178288  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178289  func (sohtd SapOpenHubTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
178290  	return nil, false
178291  }
178292  
178293  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178294  func (sohtd SapOpenHubTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
178295  	return nil, false
178296  }
178297  
178298  // AsMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178299  func (sohtd SapOpenHubTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
178300  	return nil, false
178301  }
178302  
178303  // AsOdbcTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178304  func (sohtd SapOpenHubTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
178305  	return nil, false
178306  }
178307  
178308  // AsInformixTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178309  func (sohtd SapOpenHubTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
178310  	return nil, false
178311  }
178312  
178313  // AsRelationalTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178314  func (sohtd SapOpenHubTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
178315  	return nil, false
178316  }
178317  
178318  // AsDb2TableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178319  func (sohtd SapOpenHubTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
178320  	return nil, false
178321  }
178322  
178323  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178324  func (sohtd SapOpenHubTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
178325  	return nil, false
178326  }
178327  
178328  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178329  func (sohtd SapOpenHubTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
178330  	return nil, false
178331  }
178332  
178333  // AsTeradataTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178334  func (sohtd SapOpenHubTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
178335  	return nil, false
178336  }
178337  
178338  // AsOracleTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178339  func (sohtd SapOpenHubTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
178340  	return nil, false
178341  }
178342  
178343  // AsODataResourceDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178344  func (sohtd SapOpenHubTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
178345  	return nil, false
178346  }
178347  
178348  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178349  func (sohtd SapOpenHubTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
178350  	return nil, false
178351  }
178352  
178353  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178354  func (sohtd SapOpenHubTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
178355  	return nil, false
178356  }
178357  
178358  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178359  func (sohtd SapOpenHubTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
178360  	return nil, false
178361  }
178362  
178363  // AsOffice365Dataset is the BasicDataset implementation for SapOpenHubTableDataset.
178364  func (sohtd SapOpenHubTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
178365  	return nil, false
178366  }
178367  
178368  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178369  func (sohtd SapOpenHubTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
178370  	return nil, false
178371  }
178372  
178373  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178374  func (sohtd SapOpenHubTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
178375  	return nil, false
178376  }
178377  
178378  // AsDynamicsEntityDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178379  func (sohtd SapOpenHubTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
178380  	return nil, false
178381  }
178382  
178383  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178384  func (sohtd SapOpenHubTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
178385  	return nil, false
178386  }
178387  
178388  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178389  func (sohtd SapOpenHubTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
178390  	return nil, false
178391  }
178392  
178393  // AsCustomDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178394  func (sohtd SapOpenHubTableDataset) AsCustomDataset() (*CustomDataset, bool) {
178395  	return nil, false
178396  }
178397  
178398  // AsCassandraTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178399  func (sohtd SapOpenHubTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
178400  	return nil, false
178401  }
178402  
178403  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178404  func (sohtd SapOpenHubTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
178405  	return nil, false
178406  }
178407  
178408  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178409  func (sohtd SapOpenHubTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
178410  	return nil, false
178411  }
178412  
178413  // AsAzureSQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178414  func (sohtd SapOpenHubTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
178415  	return nil, false
178416  }
178417  
178418  // AsAzureTableDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178419  func (sohtd SapOpenHubTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
178420  	return nil, false
178421  }
178422  
178423  // AsBinaryDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178424  func (sohtd SapOpenHubTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
178425  	return nil, false
178426  }
178427  
178428  // AsOrcDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178429  func (sohtd SapOpenHubTableDataset) AsOrcDataset() (*OrcDataset, bool) {
178430  	return nil, false
178431  }
178432  
178433  // AsJSONDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178434  func (sohtd SapOpenHubTableDataset) AsJSONDataset() (*JSONDataset, bool) {
178435  	return nil, false
178436  }
178437  
178438  // AsDelimitedTextDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178439  func (sohtd SapOpenHubTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
178440  	return nil, false
178441  }
178442  
178443  // AsParquetDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178444  func (sohtd SapOpenHubTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
178445  	return nil, false
178446  }
178447  
178448  // AsAvroDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178449  func (sohtd SapOpenHubTableDataset) AsAvroDataset() (*AvroDataset, bool) {
178450  	return nil, false
178451  }
178452  
178453  // AsDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178454  func (sohtd SapOpenHubTableDataset) AsDataset() (*Dataset, bool) {
178455  	return nil, false
178456  }
178457  
178458  // AsBasicDataset is the BasicDataset implementation for SapOpenHubTableDataset.
178459  func (sohtd SapOpenHubTableDataset) AsBasicDataset() (BasicDataset, bool) {
178460  	return &sohtd, true
178461  }
178462  
178463  // UnmarshalJSON is the custom unmarshaler for SapOpenHubTableDataset struct.
178464  func (sohtd *SapOpenHubTableDataset) UnmarshalJSON(body []byte) error {
178465  	var m map[string]*json.RawMessage
178466  	err := json.Unmarshal(body, &m)
178467  	if err != nil {
178468  		return err
178469  	}
178470  	for k, v := range m {
178471  		switch k {
178472  		case "typeProperties":
178473  			if v != nil {
178474  				var sapOpenHubTableDatasetTypeProperties SapOpenHubTableDatasetTypeProperties
178475  				err = json.Unmarshal(*v, &sapOpenHubTableDatasetTypeProperties)
178476  				if err != nil {
178477  					return err
178478  				}
178479  				sohtd.SapOpenHubTableDatasetTypeProperties = &sapOpenHubTableDatasetTypeProperties
178480  			}
178481  		default:
178482  			if v != nil {
178483  				var additionalProperties interface{}
178484  				err = json.Unmarshal(*v, &additionalProperties)
178485  				if err != nil {
178486  					return err
178487  				}
178488  				if sohtd.AdditionalProperties == nil {
178489  					sohtd.AdditionalProperties = make(map[string]interface{})
178490  				}
178491  				sohtd.AdditionalProperties[k] = additionalProperties
178492  			}
178493  		case "description":
178494  			if v != nil {
178495  				var description string
178496  				err = json.Unmarshal(*v, &description)
178497  				if err != nil {
178498  					return err
178499  				}
178500  				sohtd.Description = &description
178501  			}
178502  		case "structure":
178503  			if v != nil {
178504  				var structure interface{}
178505  				err = json.Unmarshal(*v, &structure)
178506  				if err != nil {
178507  					return err
178508  				}
178509  				sohtd.Structure = structure
178510  			}
178511  		case "schema":
178512  			if v != nil {
178513  				var schema interface{}
178514  				err = json.Unmarshal(*v, &schema)
178515  				if err != nil {
178516  					return err
178517  				}
178518  				sohtd.Schema = schema
178519  			}
178520  		case "linkedServiceName":
178521  			if v != nil {
178522  				var linkedServiceName LinkedServiceReference
178523  				err = json.Unmarshal(*v, &linkedServiceName)
178524  				if err != nil {
178525  					return err
178526  				}
178527  				sohtd.LinkedServiceName = &linkedServiceName
178528  			}
178529  		case "parameters":
178530  			if v != nil {
178531  				var parameters map[string]*ParameterSpecification
178532  				err = json.Unmarshal(*v, &parameters)
178533  				if err != nil {
178534  					return err
178535  				}
178536  				sohtd.Parameters = parameters
178537  			}
178538  		case "annotations":
178539  			if v != nil {
178540  				var annotations []interface{}
178541  				err = json.Unmarshal(*v, &annotations)
178542  				if err != nil {
178543  					return err
178544  				}
178545  				sohtd.Annotations = &annotations
178546  			}
178547  		case "folder":
178548  			if v != nil {
178549  				var folder DatasetFolder
178550  				err = json.Unmarshal(*v, &folder)
178551  				if err != nil {
178552  					return err
178553  				}
178554  				sohtd.Folder = &folder
178555  			}
178556  		case "type":
178557  			if v != nil {
178558  				var typeVar TypeBasicDataset
178559  				err = json.Unmarshal(*v, &typeVar)
178560  				if err != nil {
178561  					return err
178562  				}
178563  				sohtd.Type = typeVar
178564  			}
178565  		}
178566  	}
178567  
178568  	return nil
178569  }
178570  
178571  // SapOpenHubTableDatasetTypeProperties sap Business Warehouse Open Hub Destination Table properties.
178572  type SapOpenHubTableDatasetTypeProperties struct {
178573  	// OpenHubDestinationName - The name of the Open Hub Destination with destination type as Database Table. Type: string (or Expression with resultType string).
178574  	OpenHubDestinationName interface{} `json:"openHubDestinationName,omitempty"`
178575  	// ExcludeLastRequest - Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean).
178576  	ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"`
178577  	// 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 ).
178578  	BaseRequestID interface{} `json:"baseRequestId,omitempty"`
178579  }
178580  
178581  // SapTableLinkedService SAP Table Linked Service.
178582  type SapTableLinkedService struct {
178583  	// SapTableLinkedServiceTypeProperties - Properties specific to this linked service type.
178584  	*SapTableLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
178585  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
178586  	AdditionalProperties map[string]interface{} `json:""`
178587  	// ConnectVia - The integration runtime reference.
178588  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
178589  	// Description - Linked service description.
178590  	Description *string `json:"description,omitempty"`
178591  	// Parameters - Parameters for linked service.
178592  	Parameters map[string]*ParameterSpecification `json:"parameters"`
178593  	// Annotations - List of tags that can be used for describing the linked service.
178594  	Annotations *[]interface{} `json:"annotations,omitempty"`
178595  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
178596  	Type TypeBasicLinkedService `json:"type,omitempty"`
178597  }
178598  
178599  // MarshalJSON is the custom marshaler for SapTableLinkedService.
178600  func (stls SapTableLinkedService) MarshalJSON() ([]byte, error) {
178601  	stls.Type = TypeSapTable
178602  	objectMap := make(map[string]interface{})
178603  	if stls.SapTableLinkedServiceTypeProperties != nil {
178604  		objectMap["typeProperties"] = stls.SapTableLinkedServiceTypeProperties
178605  	}
178606  	if stls.ConnectVia != nil {
178607  		objectMap["connectVia"] = stls.ConnectVia
178608  	}
178609  	if stls.Description != nil {
178610  		objectMap["description"] = stls.Description
178611  	}
178612  	if stls.Parameters != nil {
178613  		objectMap["parameters"] = stls.Parameters
178614  	}
178615  	if stls.Annotations != nil {
178616  		objectMap["annotations"] = stls.Annotations
178617  	}
178618  	if stls.Type != "" {
178619  		objectMap["type"] = stls.Type
178620  	}
178621  	for k, v := range stls.AdditionalProperties {
178622  		objectMap[k] = v
178623  	}
178624  	return json.Marshal(objectMap)
178625  }
178626  
178627  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178628  func (stls SapTableLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
178629  	return nil, false
178630  }
178631  
178632  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178633  func (stls SapTableLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
178634  	return nil, false
178635  }
178636  
178637  // AsSapTableLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178638  func (stls SapTableLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
178639  	return &stls, true
178640  }
178641  
178642  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178643  func (stls SapTableLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
178644  	return nil, false
178645  }
178646  
178647  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178648  func (stls SapTableLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
178649  	return nil, false
178650  }
178651  
178652  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178653  func (stls SapTableLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
178654  	return nil, false
178655  }
178656  
178657  // AsResponsysLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178658  func (stls SapTableLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
178659  	return nil, false
178660  }
178661  
178662  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178663  func (stls SapTableLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
178664  	return nil, false
178665  }
178666  
178667  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178668  func (stls SapTableLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
178669  	return nil, false
178670  }
178671  
178672  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178673  func (stls SapTableLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
178674  	return nil, false
178675  }
178676  
178677  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178678  func (stls SapTableLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
178679  	return nil, false
178680  }
178681  
178682  // AsNetezzaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178683  func (stls SapTableLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
178684  	return nil, false
178685  }
178686  
178687  // AsVerticaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178688  func (stls SapTableLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
178689  	return nil, false
178690  }
178691  
178692  // AsZohoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178693  func (stls SapTableLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
178694  	return nil, false
178695  }
178696  
178697  // AsXeroLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178698  func (stls SapTableLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
178699  	return nil, false
178700  }
178701  
178702  // AsSquareLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178703  func (stls SapTableLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
178704  	return nil, false
178705  }
178706  
178707  // AsSparkLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178708  func (stls SapTableLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
178709  	return nil, false
178710  }
178711  
178712  // AsShopifyLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178713  func (stls SapTableLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
178714  	return nil, false
178715  }
178716  
178717  // AsServiceNowLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178718  func (stls SapTableLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
178719  	return nil, false
178720  }
178721  
178722  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178723  func (stls SapTableLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
178724  	return nil, false
178725  }
178726  
178727  // AsPrestoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178728  func (stls SapTableLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
178729  	return nil, false
178730  }
178731  
178732  // AsPhoenixLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178733  func (stls SapTableLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
178734  	return nil, false
178735  }
178736  
178737  // AsPaypalLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178738  func (stls SapTableLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
178739  	return nil, false
178740  }
178741  
178742  // AsMarketoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178743  func (stls SapTableLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
178744  	return nil, false
178745  }
178746  
178747  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178748  func (stls SapTableLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
178749  	return nil, false
178750  }
178751  
178752  // AsMariaDBLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178753  func (stls SapTableLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
178754  	return nil, false
178755  }
178756  
178757  // AsMagentoLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178758  func (stls SapTableLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
178759  	return nil, false
178760  }
178761  
178762  // AsJiraLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178763  func (stls SapTableLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
178764  	return nil, false
178765  }
178766  
178767  // AsImpalaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178768  func (stls SapTableLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
178769  	return nil, false
178770  }
178771  
178772  // AsHubspotLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178773  func (stls SapTableLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
178774  	return nil, false
178775  }
178776  
178777  // AsHiveLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178778  func (stls SapTableLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
178779  	return nil, false
178780  }
178781  
178782  // AsHBaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178783  func (stls SapTableLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
178784  	return nil, false
178785  }
178786  
178787  // AsGreenplumLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178788  func (stls SapTableLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
178789  	return nil, false
178790  }
178791  
178792  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178793  func (stls SapTableLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
178794  	return nil, false
178795  }
178796  
178797  // AsEloquaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178798  func (stls SapTableLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
178799  	return nil, false
178800  }
178801  
178802  // AsDrillLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178803  func (stls SapTableLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
178804  	return nil, false
178805  }
178806  
178807  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178808  func (stls SapTableLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
178809  	return nil, false
178810  }
178811  
178812  // AsConcurLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178813  func (stls SapTableLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
178814  	return nil, false
178815  }
178816  
178817  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178818  func (stls SapTableLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
178819  	return nil, false
178820  }
178821  
178822  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178823  func (stls SapTableLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
178824  	return nil, false
178825  }
178826  
178827  // AsSapHanaLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178828  func (stls SapTableLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
178829  	return nil, false
178830  }
178831  
178832  // AsSapBWLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178833  func (stls SapTableLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
178834  	return nil, false
178835  }
178836  
178837  // AsSftpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178838  func (stls SapTableLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
178839  	return nil, false
178840  }
178841  
178842  // AsFtpServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178843  func (stls SapTableLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
178844  	return nil, false
178845  }
178846  
178847  // AsHTTPLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178848  func (stls SapTableLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
178849  	return nil, false
178850  }
178851  
178852  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178853  func (stls SapTableLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
178854  	return nil, false
178855  }
178856  
178857  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178858  func (stls SapTableLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
178859  	return nil, false
178860  }
178861  
178862  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178863  func (stls SapTableLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
178864  	return nil, false
178865  }
178866  
178867  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178868  func (stls SapTableLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
178869  	return nil, false
178870  }
178871  
178872  // AsRestServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178873  func (stls SapTableLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
178874  	return nil, false
178875  }
178876  
178877  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178878  func (stls SapTableLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
178879  	return nil, false
178880  }
178881  
178882  // AsSapEccLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178883  func (stls SapTableLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
178884  	return nil, false
178885  }
178886  
178887  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178888  func (stls SapTableLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
178889  	return nil, false
178890  }
178891  
178892  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178893  func (stls SapTableLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
178894  	return nil, false
178895  }
178896  
178897  // AsSalesforceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178898  func (stls SapTableLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
178899  	return nil, false
178900  }
178901  
178902  // AsOffice365LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178903  func (stls SapTableLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
178904  	return nil, false
178905  }
178906  
178907  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178908  func (stls SapTableLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
178909  	return nil, false
178910  }
178911  
178912  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178913  func (stls SapTableLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
178914  	return nil, false
178915  }
178916  
178917  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178918  func (stls SapTableLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
178919  	return nil, false
178920  }
178921  
178922  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178923  func (stls SapTableLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
178924  	return nil, false
178925  }
178926  
178927  // AsMongoDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178928  func (stls SapTableLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
178929  	return nil, false
178930  }
178931  
178932  // AsCassandraLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178933  func (stls SapTableLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
178934  	return nil, false
178935  }
178936  
178937  // AsWebLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178938  func (stls SapTableLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
178939  	return nil, false
178940  }
178941  
178942  // AsODataLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178943  func (stls SapTableLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
178944  	return nil, false
178945  }
178946  
178947  // AsHdfsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178948  func (stls SapTableLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
178949  	return nil, false
178950  }
178951  
178952  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178953  func (stls SapTableLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
178954  	return nil, false
178955  }
178956  
178957  // AsInformixLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178958  func (stls SapTableLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
178959  	return nil, false
178960  }
178961  
178962  // AsOdbcLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178963  func (stls SapTableLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
178964  	return nil, false
178965  }
178966  
178967  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178968  func (stls SapTableLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
178969  	return nil, false
178970  }
178971  
178972  // AsAzureMLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178973  func (stls SapTableLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
178974  	return nil, false
178975  }
178976  
178977  // AsTeradataLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178978  func (stls SapTableLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
178979  	return nil, false
178980  }
178981  
178982  // AsDb2LinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178983  func (stls SapTableLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
178984  	return nil, false
178985  }
178986  
178987  // AsSybaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178988  func (stls SapTableLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
178989  	return nil, false
178990  }
178991  
178992  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178993  func (stls SapTableLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
178994  	return nil, false
178995  }
178996  
178997  // AsMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
178998  func (stls SapTableLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
178999  	return nil, false
179000  }
179001  
179002  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179003  func (stls SapTableLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
179004  	return nil, false
179005  }
179006  
179007  // AsOracleLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179008  func (stls SapTableLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
179009  	return nil, false
179010  }
179011  
179012  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179013  func (stls SapTableLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
179014  	return nil, false
179015  }
179016  
179017  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179018  func (stls SapTableLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
179019  	return nil, false
179020  }
179021  
179022  // AsFileServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179023  func (stls SapTableLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
179024  	return nil, false
179025  }
179026  
179027  // AsHDInsightLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179028  func (stls SapTableLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
179029  	return nil, false
179030  }
179031  
179032  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179033  func (stls SapTableLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
179034  	return nil, false
179035  }
179036  
179037  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179038  func (stls SapTableLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
179039  	return nil, false
179040  }
179041  
179042  // AsDynamicsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179043  func (stls SapTableLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
179044  	return nil, false
179045  }
179046  
179047  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179048  func (stls SapTableLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
179049  	return nil, false
179050  }
179051  
179052  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179053  func (stls SapTableLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
179054  	return nil, false
179055  }
179056  
179057  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179058  func (stls SapTableLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
179059  	return nil, false
179060  }
179061  
179062  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179063  func (stls SapTableLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
179064  	return nil, false
179065  }
179066  
179067  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179068  func (stls SapTableLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
179069  	return nil, false
179070  }
179071  
179072  // AsSQLServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179073  func (stls SapTableLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
179074  	return nil, false
179075  }
179076  
179077  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179078  func (stls SapTableLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
179079  	return nil, false
179080  }
179081  
179082  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179083  func (stls SapTableLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
179084  	return nil, false
179085  }
179086  
179087  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179088  func (stls SapTableLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
179089  	return nil, false
179090  }
179091  
179092  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179093  func (stls SapTableLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
179094  	return nil, false
179095  }
179096  
179097  // AsLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179098  func (stls SapTableLinkedService) AsLinkedService() (*LinkedService, bool) {
179099  	return nil, false
179100  }
179101  
179102  // AsBasicLinkedService is the BasicLinkedService implementation for SapTableLinkedService.
179103  func (stls SapTableLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
179104  	return &stls, true
179105  }
179106  
179107  // UnmarshalJSON is the custom unmarshaler for SapTableLinkedService struct.
179108  func (stls *SapTableLinkedService) UnmarshalJSON(body []byte) error {
179109  	var m map[string]*json.RawMessage
179110  	err := json.Unmarshal(body, &m)
179111  	if err != nil {
179112  		return err
179113  	}
179114  	for k, v := range m {
179115  		switch k {
179116  		case "typeProperties":
179117  			if v != nil {
179118  				var sapTableLinkedServiceTypeProperties SapTableLinkedServiceTypeProperties
179119  				err = json.Unmarshal(*v, &sapTableLinkedServiceTypeProperties)
179120  				if err != nil {
179121  					return err
179122  				}
179123  				stls.SapTableLinkedServiceTypeProperties = &sapTableLinkedServiceTypeProperties
179124  			}
179125  		default:
179126  			if v != nil {
179127  				var additionalProperties interface{}
179128  				err = json.Unmarshal(*v, &additionalProperties)
179129  				if err != nil {
179130  					return err
179131  				}
179132  				if stls.AdditionalProperties == nil {
179133  					stls.AdditionalProperties = make(map[string]interface{})
179134  				}
179135  				stls.AdditionalProperties[k] = additionalProperties
179136  			}
179137  		case "connectVia":
179138  			if v != nil {
179139  				var connectVia IntegrationRuntimeReference
179140  				err = json.Unmarshal(*v, &connectVia)
179141  				if err != nil {
179142  					return err
179143  				}
179144  				stls.ConnectVia = &connectVia
179145  			}
179146  		case "description":
179147  			if v != nil {
179148  				var description string
179149  				err = json.Unmarshal(*v, &description)
179150  				if err != nil {
179151  					return err
179152  				}
179153  				stls.Description = &description
179154  			}
179155  		case "parameters":
179156  			if v != nil {
179157  				var parameters map[string]*ParameterSpecification
179158  				err = json.Unmarshal(*v, &parameters)
179159  				if err != nil {
179160  					return err
179161  				}
179162  				stls.Parameters = parameters
179163  			}
179164  		case "annotations":
179165  			if v != nil {
179166  				var annotations []interface{}
179167  				err = json.Unmarshal(*v, &annotations)
179168  				if err != nil {
179169  					return err
179170  				}
179171  				stls.Annotations = &annotations
179172  			}
179173  		case "type":
179174  			if v != nil {
179175  				var typeVar TypeBasicLinkedService
179176  				err = json.Unmarshal(*v, &typeVar)
179177  				if err != nil {
179178  					return err
179179  				}
179180  				stls.Type = typeVar
179181  			}
179182  		}
179183  	}
179184  
179185  	return nil
179186  }
179187  
179188  // SapTableLinkedServiceTypeProperties properties specific to this linked service type.
179189  type SapTableLinkedServiceTypeProperties struct {
179190  	// Server - Host name of the SAP instance where the table is located. Type: string (or Expression with resultType string).
179191  	Server interface{} `json:"server,omitempty"`
179192  	// 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).
179193  	SystemNumber interface{} `json:"systemNumber,omitempty"`
179194  	// 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).
179195  	ClientID interface{} `json:"clientId,omitempty"`
179196  	// Language - Language of the SAP system where the table is located. The default value is EN. Type: string (or Expression with resultType string).
179197  	Language interface{} `json:"language,omitempty"`
179198  	// SystemID - SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string).
179199  	SystemID interface{} `json:"systemId,omitempty"`
179200  	// UserName - Username to access the SAP server where the table is located. Type: string (or Expression with resultType string).
179201  	UserName interface{} `json:"userName,omitempty"`
179202  	// Password - Password to access the SAP server where the table is located.
179203  	Password BasicSecretBase `json:"password,omitempty"`
179204  	// MessageServer - The hostname of the SAP Message Server. Type: string (or Expression with resultType string).
179205  	MessageServer interface{} `json:"messageServer,omitempty"`
179206  	// MessageServerService - The service name or port number of the Message Server. Type: string (or Expression with resultType string).
179207  	MessageServerService interface{} `json:"messageServerService,omitempty"`
179208  	// 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).
179209  	SncMode interface{} `json:"sncMode,omitempty"`
179210  	// SncMyName - Initiator's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
179211  	SncMyName interface{} `json:"sncMyName,omitempty"`
179212  	// SncPartnerName - Communication partner's SNC name to access the SAP server where the table is located. Type: string (or Expression with resultType string).
179213  	SncPartnerName interface{} `json:"sncPartnerName,omitempty"`
179214  	// SncLibraryPath - External security product's library to access the SAP server where the table is located. Type: string (or Expression with resultType string).
179215  	SncLibraryPath interface{} `json:"sncLibraryPath,omitempty"`
179216  	// SncQop - SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string (or Expression with resultType string).
179217  	SncQop interface{} `json:"sncQop,omitempty"`
179218  	// LogonGroup - The Logon Group for the SAP System. Type: string (or Expression with resultType string).
179219  	LogonGroup interface{} `json:"logonGroup,omitempty"`
179220  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
179221  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
179222  }
179223  
179224  // UnmarshalJSON is the custom unmarshaler for SapTableLinkedServiceTypeProperties struct.
179225  func (stlstp *SapTableLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
179226  	var m map[string]*json.RawMessage
179227  	err := json.Unmarshal(body, &m)
179228  	if err != nil {
179229  		return err
179230  	}
179231  	for k, v := range m {
179232  		switch k {
179233  		case "server":
179234  			if v != nil {
179235  				var server interface{}
179236  				err = json.Unmarshal(*v, &server)
179237  				if err != nil {
179238  					return err
179239  				}
179240  				stlstp.Server = server
179241  			}
179242  		case "systemNumber":
179243  			if v != nil {
179244  				var systemNumber interface{}
179245  				err = json.Unmarshal(*v, &systemNumber)
179246  				if err != nil {
179247  					return err
179248  				}
179249  				stlstp.SystemNumber = systemNumber
179250  			}
179251  		case "clientId":
179252  			if v != nil {
179253  				var clientID interface{}
179254  				err = json.Unmarshal(*v, &clientID)
179255  				if err != nil {
179256  					return err
179257  				}
179258  				stlstp.ClientID = clientID
179259  			}
179260  		case "language":
179261  			if v != nil {
179262  				var language interface{}
179263  				err = json.Unmarshal(*v, &language)
179264  				if err != nil {
179265  					return err
179266  				}
179267  				stlstp.Language = language
179268  			}
179269  		case "systemId":
179270  			if v != nil {
179271  				var systemID interface{}
179272  				err = json.Unmarshal(*v, &systemID)
179273  				if err != nil {
179274  					return err
179275  				}
179276  				stlstp.SystemID = systemID
179277  			}
179278  		case "userName":
179279  			if v != nil {
179280  				var userName interface{}
179281  				err = json.Unmarshal(*v, &userName)
179282  				if err != nil {
179283  					return err
179284  				}
179285  				stlstp.UserName = userName
179286  			}
179287  		case "password":
179288  			if v != nil {
179289  				password, err := unmarshalBasicSecretBase(*v)
179290  				if err != nil {
179291  					return err
179292  				}
179293  				stlstp.Password = password
179294  			}
179295  		case "messageServer":
179296  			if v != nil {
179297  				var messageServer interface{}
179298  				err = json.Unmarshal(*v, &messageServer)
179299  				if err != nil {
179300  					return err
179301  				}
179302  				stlstp.MessageServer = messageServer
179303  			}
179304  		case "messageServerService":
179305  			if v != nil {
179306  				var messageServerService interface{}
179307  				err = json.Unmarshal(*v, &messageServerService)
179308  				if err != nil {
179309  					return err
179310  				}
179311  				stlstp.MessageServerService = messageServerService
179312  			}
179313  		case "sncMode":
179314  			if v != nil {
179315  				var sncMode interface{}
179316  				err = json.Unmarshal(*v, &sncMode)
179317  				if err != nil {
179318  					return err
179319  				}
179320  				stlstp.SncMode = sncMode
179321  			}
179322  		case "sncMyName":
179323  			if v != nil {
179324  				var sncMyName interface{}
179325  				err = json.Unmarshal(*v, &sncMyName)
179326  				if err != nil {
179327  					return err
179328  				}
179329  				stlstp.SncMyName = sncMyName
179330  			}
179331  		case "sncPartnerName":
179332  			if v != nil {
179333  				var sncPartnerName interface{}
179334  				err = json.Unmarshal(*v, &sncPartnerName)
179335  				if err != nil {
179336  					return err
179337  				}
179338  				stlstp.SncPartnerName = sncPartnerName
179339  			}
179340  		case "sncLibraryPath":
179341  			if v != nil {
179342  				var sncLibraryPath interface{}
179343  				err = json.Unmarshal(*v, &sncLibraryPath)
179344  				if err != nil {
179345  					return err
179346  				}
179347  				stlstp.SncLibraryPath = sncLibraryPath
179348  			}
179349  		case "sncQop":
179350  			if v != nil {
179351  				var sncQop interface{}
179352  				err = json.Unmarshal(*v, &sncQop)
179353  				if err != nil {
179354  					return err
179355  				}
179356  				stlstp.SncQop = sncQop
179357  			}
179358  		case "logonGroup":
179359  			if v != nil {
179360  				var logonGroup interface{}
179361  				err = json.Unmarshal(*v, &logonGroup)
179362  				if err != nil {
179363  					return err
179364  				}
179365  				stlstp.LogonGroup = logonGroup
179366  			}
179367  		case "encryptedCredential":
179368  			if v != nil {
179369  				var encryptedCredential interface{}
179370  				err = json.Unmarshal(*v, &encryptedCredential)
179371  				if err != nil {
179372  					return err
179373  				}
179374  				stlstp.EncryptedCredential = encryptedCredential
179375  			}
179376  		}
179377  	}
179378  
179379  	return nil
179380  }
179381  
179382  // SapTablePartitionSettings the settings that will be leveraged for SAP table source partitioning.
179383  type SapTablePartitionSettings struct {
179384  	// PartitionColumnName - The name of the column that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
179385  	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
179386  	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
179387  	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
179388  	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
179389  	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
179390  	// MaxPartitionsNumber - The maximum value of partitions the table will be split into. Type: integer (or Expression with resultType string).
179391  	MaxPartitionsNumber interface{} `json:"maxPartitionsNumber,omitempty"`
179392  }
179393  
179394  // SapTableResourceDataset SAP Table Resource properties.
179395  type SapTableResourceDataset struct {
179396  	// SapTableResourceDatasetTypeProperties - SAP Table Resource properties.
179397  	*SapTableResourceDatasetTypeProperties `json:"typeProperties,omitempty"`
179398  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
179399  	AdditionalProperties map[string]interface{} `json:""`
179400  	// Description - Dataset description.
179401  	Description *string `json:"description,omitempty"`
179402  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
179403  	Structure interface{} `json:"structure,omitempty"`
179404  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
179405  	Schema interface{} `json:"schema,omitempty"`
179406  	// LinkedServiceName - Linked service reference.
179407  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
179408  	// Parameters - Parameters for dataset.
179409  	Parameters map[string]*ParameterSpecification `json:"parameters"`
179410  	// Annotations - List of tags that can be used for describing the Dataset.
179411  	Annotations *[]interface{} `json:"annotations,omitempty"`
179412  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
179413  	Folder *DatasetFolder `json:"folder,omitempty"`
179414  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
179415  	Type TypeBasicDataset `json:"type,omitempty"`
179416  }
179417  
179418  // MarshalJSON is the custom marshaler for SapTableResourceDataset.
179419  func (strd SapTableResourceDataset) MarshalJSON() ([]byte, error) {
179420  	strd.Type = TypeSapTableResource
179421  	objectMap := make(map[string]interface{})
179422  	if strd.SapTableResourceDatasetTypeProperties != nil {
179423  		objectMap["typeProperties"] = strd.SapTableResourceDatasetTypeProperties
179424  	}
179425  	if strd.Description != nil {
179426  		objectMap["description"] = strd.Description
179427  	}
179428  	if strd.Structure != nil {
179429  		objectMap["structure"] = strd.Structure
179430  	}
179431  	if strd.Schema != nil {
179432  		objectMap["schema"] = strd.Schema
179433  	}
179434  	if strd.LinkedServiceName != nil {
179435  		objectMap["linkedServiceName"] = strd.LinkedServiceName
179436  	}
179437  	if strd.Parameters != nil {
179438  		objectMap["parameters"] = strd.Parameters
179439  	}
179440  	if strd.Annotations != nil {
179441  		objectMap["annotations"] = strd.Annotations
179442  	}
179443  	if strd.Folder != nil {
179444  		objectMap["folder"] = strd.Folder
179445  	}
179446  	if strd.Type != "" {
179447  		objectMap["type"] = strd.Type
179448  	}
179449  	for k, v := range strd.AdditionalProperties {
179450  		objectMap[k] = v
179451  	}
179452  	return json.Marshal(objectMap)
179453  }
179454  
179455  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179456  func (strd SapTableResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
179457  	return nil, false
179458  }
179459  
179460  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179461  func (strd SapTableResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
179462  	return nil, false
179463  }
179464  
179465  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179466  func (strd SapTableResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
179467  	return nil, false
179468  }
179469  
179470  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179471  func (strd SapTableResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
179472  	return nil, false
179473  }
179474  
179475  // AsResponsysObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179476  func (strd SapTableResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
179477  	return nil, false
179478  }
179479  
179480  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179481  func (strd SapTableResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
179482  	return nil, false
179483  }
179484  
179485  // AsVerticaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179486  func (strd SapTableResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
179487  	return nil, false
179488  }
179489  
179490  // AsNetezzaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179491  func (strd SapTableResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
179492  	return nil, false
179493  }
179494  
179495  // AsZohoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179496  func (strd SapTableResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
179497  	return nil, false
179498  }
179499  
179500  // AsXeroObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179501  func (strd SapTableResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
179502  	return nil, false
179503  }
179504  
179505  // AsSquareObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179506  func (strd SapTableResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
179507  	return nil, false
179508  }
179509  
179510  // AsSparkObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179511  func (strd SapTableResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
179512  	return nil, false
179513  }
179514  
179515  // AsShopifyObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179516  func (strd SapTableResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
179517  	return nil, false
179518  }
179519  
179520  // AsServiceNowObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179521  func (strd SapTableResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
179522  	return nil, false
179523  }
179524  
179525  // AsQuickBooksObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179526  func (strd SapTableResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
179527  	return nil, false
179528  }
179529  
179530  // AsPrestoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179531  func (strd SapTableResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
179532  	return nil, false
179533  }
179534  
179535  // AsPhoenixObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179536  func (strd SapTableResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
179537  	return nil, false
179538  }
179539  
179540  // AsPaypalObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179541  func (strd SapTableResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
179542  	return nil, false
179543  }
179544  
179545  // AsMarketoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179546  func (strd SapTableResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
179547  	return nil, false
179548  }
179549  
179550  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179551  func (strd SapTableResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
179552  	return nil, false
179553  }
179554  
179555  // AsMariaDBTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179556  func (strd SapTableResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
179557  	return nil, false
179558  }
179559  
179560  // AsMagentoObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179561  func (strd SapTableResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
179562  	return nil, false
179563  }
179564  
179565  // AsJiraObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179566  func (strd SapTableResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
179567  	return nil, false
179568  }
179569  
179570  // AsImpalaObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179571  func (strd SapTableResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
179572  	return nil, false
179573  }
179574  
179575  // AsHubspotObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179576  func (strd SapTableResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
179577  	return nil, false
179578  }
179579  
179580  // AsHiveObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179581  func (strd SapTableResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
179582  	return nil, false
179583  }
179584  
179585  // AsHBaseObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179586  func (strd SapTableResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
179587  	return nil, false
179588  }
179589  
179590  // AsGreenplumTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179591  func (strd SapTableResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
179592  	return nil, false
179593  }
179594  
179595  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179596  func (strd SapTableResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
179597  	return nil, false
179598  }
179599  
179600  // AsEloquaObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179601  func (strd SapTableResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
179602  	return nil, false
179603  }
179604  
179605  // AsDrillTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179606  func (strd SapTableResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
179607  	return nil, false
179608  }
179609  
179610  // AsCouchbaseTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179611  func (strd SapTableResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
179612  	return nil, false
179613  }
179614  
179615  // AsConcurObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179616  func (strd SapTableResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
179617  	return nil, false
179618  }
179619  
179620  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179621  func (strd SapTableResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
179622  	return nil, false
179623  }
179624  
179625  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179626  func (strd SapTableResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
179627  	return nil, false
179628  }
179629  
179630  // AsAzureSearchIndexDataset is the BasicDataset implementation for SapTableResourceDataset.
179631  func (strd SapTableResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
179632  	return nil, false
179633  }
179634  
179635  // AsWebTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179636  func (strd SapTableResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) {
179637  	return nil, false
179638  }
179639  
179640  // AsSapTableResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179641  func (strd SapTableResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
179642  	return &strd, true
179643  }
179644  
179645  // AsRestResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179646  func (strd SapTableResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
179647  	return nil, false
179648  }
179649  
179650  // AsSQLServerTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179651  func (strd SapTableResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
179652  	return nil, false
179653  }
179654  
179655  // AsSapOpenHubTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179656  func (strd SapTableResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
179657  	return nil, false
179658  }
179659  
179660  // AsSapHanaTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179661  func (strd SapTableResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
179662  	return nil, false
179663  }
179664  
179665  // AsSapEccResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179666  func (strd SapTableResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
179667  	return nil, false
179668  }
179669  
179670  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179671  func (strd SapTableResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
179672  	return nil, false
179673  }
179674  
179675  // AsSapBwCubeDataset is the BasicDataset implementation for SapTableResourceDataset.
179676  func (strd SapTableResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
179677  	return nil, false
179678  }
179679  
179680  // AsSybaseTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179681  func (strd SapTableResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
179682  	return nil, false
179683  }
179684  
179685  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179686  func (strd SapTableResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
179687  	return nil, false
179688  }
179689  
179690  // AsSalesforceObjectDataset is the BasicDataset implementation for SapTableResourceDataset.
179691  func (strd SapTableResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
179692  	return nil, false
179693  }
179694  
179695  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179696  func (strd SapTableResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
179697  	return nil, false
179698  }
179699  
179700  // AsPostgreSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179701  func (strd SapTableResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
179702  	return nil, false
179703  }
179704  
179705  // AsMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179706  func (strd SapTableResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
179707  	return nil, false
179708  }
179709  
179710  // AsOdbcTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179711  func (strd SapTableResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
179712  	return nil, false
179713  }
179714  
179715  // AsInformixTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179716  func (strd SapTableResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
179717  	return nil, false
179718  }
179719  
179720  // AsRelationalTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179721  func (strd SapTableResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
179722  	return nil, false
179723  }
179724  
179725  // AsDb2TableDataset is the BasicDataset implementation for SapTableResourceDataset.
179726  func (strd SapTableResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
179727  	return nil, false
179728  }
179729  
179730  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179731  func (strd SapTableResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
179732  	return nil, false
179733  }
179734  
179735  // AsAzureMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179736  func (strd SapTableResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
179737  	return nil, false
179738  }
179739  
179740  // AsTeradataTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179741  func (strd SapTableResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
179742  	return nil, false
179743  }
179744  
179745  // AsOracleTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179746  func (strd SapTableResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
179747  	return nil, false
179748  }
179749  
179750  // AsODataResourceDataset is the BasicDataset implementation for SapTableResourceDataset.
179751  func (strd SapTableResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
179752  	return nil, false
179753  }
179754  
179755  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
179756  func (strd SapTableResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
179757  	return nil, false
179758  }
179759  
179760  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
179761  func (strd SapTableResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
179762  	return nil, false
179763  }
179764  
179765  // AsMongoDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
179766  func (strd SapTableResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
179767  	return nil, false
179768  }
179769  
179770  // AsOffice365Dataset is the BasicDataset implementation for SapTableResourceDataset.
179771  func (strd SapTableResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
179772  	return nil, false
179773  }
179774  
179775  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
179776  func (strd SapTableResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
179777  	return nil, false
179778  }
179779  
179780  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
179781  func (strd SapTableResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
179782  	return nil, false
179783  }
179784  
179785  // AsDynamicsEntityDataset is the BasicDataset implementation for SapTableResourceDataset.
179786  func (strd SapTableResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
179787  	return nil, false
179788  }
179789  
179790  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
179791  func (strd SapTableResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
179792  	return nil, false
179793  }
179794  
179795  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset.
179796  func (strd SapTableResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
179797  	return nil, false
179798  }
179799  
179800  // AsCustomDataset is the BasicDataset implementation for SapTableResourceDataset.
179801  func (strd SapTableResourceDataset) AsCustomDataset() (*CustomDataset, bool) {
179802  	return nil, false
179803  }
179804  
179805  // AsCassandraTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179806  func (strd SapTableResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
179807  	return nil, false
179808  }
179809  
179810  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179811  func (strd SapTableResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
179812  	return nil, false
179813  }
179814  
179815  // AsAzureSQLMITableDataset is the BasicDataset implementation for SapTableResourceDataset.
179816  func (strd SapTableResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
179817  	return nil, false
179818  }
179819  
179820  // AsAzureSQLTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179821  func (strd SapTableResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
179822  	return nil, false
179823  }
179824  
179825  // AsAzureTableDataset is the BasicDataset implementation for SapTableResourceDataset.
179826  func (strd SapTableResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
179827  	return nil, false
179828  }
179829  
179830  // AsBinaryDataset is the BasicDataset implementation for SapTableResourceDataset.
179831  func (strd SapTableResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) {
179832  	return nil, false
179833  }
179834  
179835  // AsOrcDataset is the BasicDataset implementation for SapTableResourceDataset.
179836  func (strd SapTableResourceDataset) AsOrcDataset() (*OrcDataset, bool) {
179837  	return nil, false
179838  }
179839  
179840  // AsJSONDataset is the BasicDataset implementation for SapTableResourceDataset.
179841  func (strd SapTableResourceDataset) AsJSONDataset() (*JSONDataset, bool) {
179842  	return nil, false
179843  }
179844  
179845  // AsDelimitedTextDataset is the BasicDataset implementation for SapTableResourceDataset.
179846  func (strd SapTableResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
179847  	return nil, false
179848  }
179849  
179850  // AsParquetDataset is the BasicDataset implementation for SapTableResourceDataset.
179851  func (strd SapTableResourceDataset) AsParquetDataset() (*ParquetDataset, bool) {
179852  	return nil, false
179853  }
179854  
179855  // AsAvroDataset is the BasicDataset implementation for SapTableResourceDataset.
179856  func (strd SapTableResourceDataset) AsAvroDataset() (*AvroDataset, bool) {
179857  	return nil, false
179858  }
179859  
179860  // AsDataset is the BasicDataset implementation for SapTableResourceDataset.
179861  func (strd SapTableResourceDataset) AsDataset() (*Dataset, bool) {
179862  	return nil, false
179863  }
179864  
179865  // AsBasicDataset is the BasicDataset implementation for SapTableResourceDataset.
179866  func (strd SapTableResourceDataset) AsBasicDataset() (BasicDataset, bool) {
179867  	return &strd, true
179868  }
179869  
179870  // UnmarshalJSON is the custom unmarshaler for SapTableResourceDataset struct.
179871  func (strd *SapTableResourceDataset) UnmarshalJSON(body []byte) error {
179872  	var m map[string]*json.RawMessage
179873  	err := json.Unmarshal(body, &m)
179874  	if err != nil {
179875  		return err
179876  	}
179877  	for k, v := range m {
179878  		switch k {
179879  		case "typeProperties":
179880  			if v != nil {
179881  				var sapTableResourceDatasetTypeProperties SapTableResourceDatasetTypeProperties
179882  				err = json.Unmarshal(*v, &sapTableResourceDatasetTypeProperties)
179883  				if err != nil {
179884  					return err
179885  				}
179886  				strd.SapTableResourceDatasetTypeProperties = &sapTableResourceDatasetTypeProperties
179887  			}
179888  		default:
179889  			if v != nil {
179890  				var additionalProperties interface{}
179891  				err = json.Unmarshal(*v, &additionalProperties)
179892  				if err != nil {
179893  					return err
179894  				}
179895  				if strd.AdditionalProperties == nil {
179896  					strd.AdditionalProperties = make(map[string]interface{})
179897  				}
179898  				strd.AdditionalProperties[k] = additionalProperties
179899  			}
179900  		case "description":
179901  			if v != nil {
179902  				var description string
179903  				err = json.Unmarshal(*v, &description)
179904  				if err != nil {
179905  					return err
179906  				}
179907  				strd.Description = &description
179908  			}
179909  		case "structure":
179910  			if v != nil {
179911  				var structure interface{}
179912  				err = json.Unmarshal(*v, &structure)
179913  				if err != nil {
179914  					return err
179915  				}
179916  				strd.Structure = structure
179917  			}
179918  		case "schema":
179919  			if v != nil {
179920  				var schema interface{}
179921  				err = json.Unmarshal(*v, &schema)
179922  				if err != nil {
179923  					return err
179924  				}
179925  				strd.Schema = schema
179926  			}
179927  		case "linkedServiceName":
179928  			if v != nil {
179929  				var linkedServiceName LinkedServiceReference
179930  				err = json.Unmarshal(*v, &linkedServiceName)
179931  				if err != nil {
179932  					return err
179933  				}
179934  				strd.LinkedServiceName = &linkedServiceName
179935  			}
179936  		case "parameters":
179937  			if v != nil {
179938  				var parameters map[string]*ParameterSpecification
179939  				err = json.Unmarshal(*v, &parameters)
179940  				if err != nil {
179941  					return err
179942  				}
179943  				strd.Parameters = parameters
179944  			}
179945  		case "annotations":
179946  			if v != nil {
179947  				var annotations []interface{}
179948  				err = json.Unmarshal(*v, &annotations)
179949  				if err != nil {
179950  					return err
179951  				}
179952  				strd.Annotations = &annotations
179953  			}
179954  		case "folder":
179955  			if v != nil {
179956  				var folder DatasetFolder
179957  				err = json.Unmarshal(*v, &folder)
179958  				if err != nil {
179959  					return err
179960  				}
179961  				strd.Folder = &folder
179962  			}
179963  		case "type":
179964  			if v != nil {
179965  				var typeVar TypeBasicDataset
179966  				err = json.Unmarshal(*v, &typeVar)
179967  				if err != nil {
179968  					return err
179969  				}
179970  				strd.Type = typeVar
179971  			}
179972  		}
179973  	}
179974  
179975  	return nil
179976  }
179977  
179978  // SapTableResourceDatasetTypeProperties SAP Table Resource properties.
179979  type SapTableResourceDatasetTypeProperties struct {
179980  	// TableName - The name of the SAP Table. Type: string (or Expression with resultType string).
179981  	TableName interface{} `json:"tableName,omitempty"`
179982  }
179983  
179984  // SapTableSource a copy activity source for SAP Table source.
179985  type SapTableSource struct {
179986  	// RowCount - The number of rows to be retrieved. Type: integer(or Expression with resultType integer).
179987  	RowCount interface{} `json:"rowCount,omitempty"`
179988  	// RowSkips - The number of rows that will be skipped. Type: integer (or Expression with resultType integer).
179989  	RowSkips interface{} `json:"rowSkips,omitempty"`
179990  	// RfcTableFields - The fields of the SAP table that will be retrieved. For example, column0, column1. Type: string (or Expression with resultType string).
179991  	RfcTableFields interface{} `json:"rfcTableFields,omitempty"`
179992  	// RfcTableOptions - The options for the filtering of the SAP Table. For example, COLUMN0 EQ SOME VALUE. Type: string (or Expression with resultType string).
179993  	RfcTableOptions interface{} `json:"rfcTableOptions,omitempty"`
179994  	// 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).
179995  	BatchSize interface{} `json:"batchSize,omitempty"`
179996  	// CustomRfcReadTableFunctionModule - Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string).
179997  	CustomRfcReadTableFunctionModule interface{} `json:"customRfcReadTableFunctionModule,omitempty"`
179998  	// PartitionOption - The partition mechanism that will be used for SAP table read in parallel. Possible values include: 'SapTablePartitionOptionNone', 'SapTablePartitionOptionPartitionOnInt', 'SapTablePartitionOptionPartitionOnCalendarYear', 'SapTablePartitionOptionPartitionOnCalendarMonth', 'SapTablePartitionOptionPartitionOnCalendarDate', 'SapTablePartitionOptionPartitionOnTime'
179999  	PartitionOption SapTablePartitionOption `json:"partitionOption,omitempty"`
180000  	// PartitionSettings - The settings that will be leveraged for SAP table source partitioning.
180001  	PartitionSettings *SapTablePartitionSettings `json:"partitionSettings,omitempty"`
180002  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
180003  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
180004  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180005  	AdditionalProperties map[string]interface{} `json:""`
180006  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
180007  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
180008  	// 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])).
180009  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
180010  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
180011  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
180012  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
180013  	Type TypeBasicCopySource `json:"type,omitempty"`
180014  }
180015  
180016  // MarshalJSON is the custom marshaler for SapTableSource.
180017  func (sts SapTableSource) MarshalJSON() ([]byte, error) {
180018  	sts.Type = TypeSapTableSource
180019  	objectMap := make(map[string]interface{})
180020  	if sts.RowCount != nil {
180021  		objectMap["rowCount"] = sts.RowCount
180022  	}
180023  	if sts.RowSkips != nil {
180024  		objectMap["rowSkips"] = sts.RowSkips
180025  	}
180026  	if sts.RfcTableFields != nil {
180027  		objectMap["rfcTableFields"] = sts.RfcTableFields
180028  	}
180029  	if sts.RfcTableOptions != nil {
180030  		objectMap["rfcTableOptions"] = sts.RfcTableOptions
180031  	}
180032  	if sts.BatchSize != nil {
180033  		objectMap["batchSize"] = sts.BatchSize
180034  	}
180035  	if sts.CustomRfcReadTableFunctionModule != nil {
180036  		objectMap["customRfcReadTableFunctionModule"] = sts.CustomRfcReadTableFunctionModule
180037  	}
180038  	if sts.PartitionOption != "" {
180039  		objectMap["partitionOption"] = sts.PartitionOption
180040  	}
180041  	if sts.PartitionSettings != nil {
180042  		objectMap["partitionSettings"] = sts.PartitionSettings
180043  	}
180044  	if sts.QueryTimeout != nil {
180045  		objectMap["queryTimeout"] = sts.QueryTimeout
180046  	}
180047  	if sts.SourceRetryCount != nil {
180048  		objectMap["sourceRetryCount"] = sts.SourceRetryCount
180049  	}
180050  	if sts.SourceRetryWait != nil {
180051  		objectMap["sourceRetryWait"] = sts.SourceRetryWait
180052  	}
180053  	if sts.MaxConcurrentConnections != nil {
180054  		objectMap["maxConcurrentConnections"] = sts.MaxConcurrentConnections
180055  	}
180056  	if sts.Type != "" {
180057  		objectMap["type"] = sts.Type
180058  	}
180059  	for k, v := range sts.AdditionalProperties {
180060  		objectMap[k] = v
180061  	}
180062  	return json.Marshal(objectMap)
180063  }
180064  
180065  // AsHTTPSource is the BasicCopySource implementation for SapTableSource.
180066  func (sts SapTableSource) AsHTTPSource() (*HTTPSource, bool) {
180067  	return nil, false
180068  }
180069  
180070  // AsAzureBlobFSSource is the BasicCopySource implementation for SapTableSource.
180071  func (sts SapTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
180072  	return nil, false
180073  }
180074  
180075  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapTableSource.
180076  func (sts SapTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
180077  	return nil, false
180078  }
180079  
180080  // AsOffice365Source is the BasicCopySource implementation for SapTableSource.
180081  func (sts SapTableSource) AsOffice365Source() (*Office365Source, bool) {
180082  	return nil, false
180083  }
180084  
180085  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapTableSource.
180086  func (sts SapTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
180087  	return nil, false
180088  }
180089  
180090  // AsMongoDbV2Source is the BasicCopySource implementation for SapTableSource.
180091  func (sts SapTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
180092  	return nil, false
180093  }
180094  
180095  // AsMongoDbSource is the BasicCopySource implementation for SapTableSource.
180096  func (sts SapTableSource) AsMongoDbSource() (*MongoDbSource, bool) {
180097  	return nil, false
180098  }
180099  
180100  // AsWebSource is the BasicCopySource implementation for SapTableSource.
180101  func (sts SapTableSource) AsWebSource() (*WebSource, bool) {
180102  	return nil, false
180103  }
180104  
180105  // AsOracleSource is the BasicCopySource implementation for SapTableSource.
180106  func (sts SapTableSource) AsOracleSource() (*OracleSource, bool) {
180107  	return nil, false
180108  }
180109  
180110  // AsAzureDataExplorerSource is the BasicCopySource implementation for SapTableSource.
180111  func (sts SapTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
180112  	return nil, false
180113  }
180114  
180115  // AsHdfsSource is the BasicCopySource implementation for SapTableSource.
180116  func (sts SapTableSource) AsHdfsSource() (*HdfsSource, bool) {
180117  	return nil, false
180118  }
180119  
180120  // AsFileSystemSource is the BasicCopySource implementation for SapTableSource.
180121  func (sts SapTableSource) AsFileSystemSource() (*FileSystemSource, bool) {
180122  	return nil, false
180123  }
180124  
180125  // AsRestSource is the BasicCopySource implementation for SapTableSource.
180126  func (sts SapTableSource) AsRestSource() (*RestSource, bool) {
180127  	return nil, false
180128  }
180129  
180130  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapTableSource.
180131  func (sts SapTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
180132  	return nil, false
180133  }
180134  
180135  // AsODataSource is the BasicCopySource implementation for SapTableSource.
180136  func (sts SapTableSource) AsODataSource() (*ODataSource, bool) {
180137  	return nil, false
180138  }
180139  
180140  // AsMicrosoftAccessSource is the BasicCopySource implementation for SapTableSource.
180141  func (sts SapTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
180142  	return nil, false
180143  }
180144  
180145  // AsRelationalSource is the BasicCopySource implementation for SapTableSource.
180146  func (sts SapTableSource) AsRelationalSource() (*RelationalSource, bool) {
180147  	return nil, false
180148  }
180149  
180150  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapTableSource.
180151  func (sts SapTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
180152  	return nil, false
180153  }
180154  
180155  // AsDynamicsCrmSource is the BasicCopySource implementation for SapTableSource.
180156  func (sts SapTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
180157  	return nil, false
180158  }
180159  
180160  // AsDynamicsSource is the BasicCopySource implementation for SapTableSource.
180161  func (sts SapTableSource) AsDynamicsSource() (*DynamicsSource, bool) {
180162  	return nil, false
180163  }
180164  
180165  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapTableSource.
180166  func (sts SapTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
180167  	return nil, false
180168  }
180169  
180170  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SapTableSource.
180171  func (sts SapTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
180172  	return nil, false
180173  }
180174  
180175  // AsBlobSource is the BasicCopySource implementation for SapTableSource.
180176  func (sts SapTableSource) AsBlobSource() (*BlobSource, bool) {
180177  	return nil, false
180178  }
180179  
180180  // AsAmazonRedshiftSource is the BasicCopySource implementation for SapTableSource.
180181  func (sts SapTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
180182  	return nil, false
180183  }
180184  
180185  // AsGoogleAdWordsSource is the BasicCopySource implementation for SapTableSource.
180186  func (sts SapTableSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
180187  	return nil, false
180188  }
180189  
180190  // AsOracleServiceCloudSource is the BasicCopySource implementation for SapTableSource.
180191  func (sts SapTableSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
180192  	return nil, false
180193  }
180194  
180195  // AsDynamicsAXSource is the BasicCopySource implementation for SapTableSource.
180196  func (sts SapTableSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
180197  	return nil, false
180198  }
180199  
180200  // AsResponsysSource is the BasicCopySource implementation for SapTableSource.
180201  func (sts SapTableSource) AsResponsysSource() (*ResponsysSource, bool) {
180202  	return nil, false
180203  }
180204  
180205  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SapTableSource.
180206  func (sts SapTableSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
180207  	return nil, false
180208  }
180209  
180210  // AsVerticaSource is the BasicCopySource implementation for SapTableSource.
180211  func (sts SapTableSource) AsVerticaSource() (*VerticaSource, bool) {
180212  	return nil, false
180213  }
180214  
180215  // AsNetezzaSource is the BasicCopySource implementation for SapTableSource.
180216  func (sts SapTableSource) AsNetezzaSource() (*NetezzaSource, bool) {
180217  	return nil, false
180218  }
180219  
180220  // AsZohoSource is the BasicCopySource implementation for SapTableSource.
180221  func (sts SapTableSource) AsZohoSource() (*ZohoSource, bool) {
180222  	return nil, false
180223  }
180224  
180225  // AsXeroSource is the BasicCopySource implementation for SapTableSource.
180226  func (sts SapTableSource) AsXeroSource() (*XeroSource, bool) {
180227  	return nil, false
180228  }
180229  
180230  // AsSquareSource is the BasicCopySource implementation for SapTableSource.
180231  func (sts SapTableSource) AsSquareSource() (*SquareSource, bool) {
180232  	return nil, false
180233  }
180234  
180235  // AsSparkSource is the BasicCopySource implementation for SapTableSource.
180236  func (sts SapTableSource) AsSparkSource() (*SparkSource, bool) {
180237  	return nil, false
180238  }
180239  
180240  // AsShopifySource is the BasicCopySource implementation for SapTableSource.
180241  func (sts SapTableSource) AsShopifySource() (*ShopifySource, bool) {
180242  	return nil, false
180243  }
180244  
180245  // AsServiceNowSource is the BasicCopySource implementation for SapTableSource.
180246  func (sts SapTableSource) AsServiceNowSource() (*ServiceNowSource, bool) {
180247  	return nil, false
180248  }
180249  
180250  // AsQuickBooksSource is the BasicCopySource implementation for SapTableSource.
180251  func (sts SapTableSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
180252  	return nil, false
180253  }
180254  
180255  // AsPrestoSource is the BasicCopySource implementation for SapTableSource.
180256  func (sts SapTableSource) AsPrestoSource() (*PrestoSource, bool) {
180257  	return nil, false
180258  }
180259  
180260  // AsPhoenixSource is the BasicCopySource implementation for SapTableSource.
180261  func (sts SapTableSource) AsPhoenixSource() (*PhoenixSource, bool) {
180262  	return nil, false
180263  }
180264  
180265  // AsPaypalSource is the BasicCopySource implementation for SapTableSource.
180266  func (sts SapTableSource) AsPaypalSource() (*PaypalSource, bool) {
180267  	return nil, false
180268  }
180269  
180270  // AsMarketoSource is the BasicCopySource implementation for SapTableSource.
180271  func (sts SapTableSource) AsMarketoSource() (*MarketoSource, bool) {
180272  	return nil, false
180273  }
180274  
180275  // AsAzureMariaDBSource is the BasicCopySource implementation for SapTableSource.
180276  func (sts SapTableSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
180277  	return nil, false
180278  }
180279  
180280  // AsMariaDBSource is the BasicCopySource implementation for SapTableSource.
180281  func (sts SapTableSource) AsMariaDBSource() (*MariaDBSource, bool) {
180282  	return nil, false
180283  }
180284  
180285  // AsMagentoSource is the BasicCopySource implementation for SapTableSource.
180286  func (sts SapTableSource) AsMagentoSource() (*MagentoSource, bool) {
180287  	return nil, false
180288  }
180289  
180290  // AsJiraSource is the BasicCopySource implementation for SapTableSource.
180291  func (sts SapTableSource) AsJiraSource() (*JiraSource, bool) {
180292  	return nil, false
180293  }
180294  
180295  // AsImpalaSource is the BasicCopySource implementation for SapTableSource.
180296  func (sts SapTableSource) AsImpalaSource() (*ImpalaSource, bool) {
180297  	return nil, false
180298  }
180299  
180300  // AsHubspotSource is the BasicCopySource implementation for SapTableSource.
180301  func (sts SapTableSource) AsHubspotSource() (*HubspotSource, bool) {
180302  	return nil, false
180303  }
180304  
180305  // AsHiveSource is the BasicCopySource implementation for SapTableSource.
180306  func (sts SapTableSource) AsHiveSource() (*HiveSource, bool) {
180307  	return nil, false
180308  }
180309  
180310  // AsHBaseSource is the BasicCopySource implementation for SapTableSource.
180311  func (sts SapTableSource) AsHBaseSource() (*HBaseSource, bool) {
180312  	return nil, false
180313  }
180314  
180315  // AsGreenplumSource is the BasicCopySource implementation for SapTableSource.
180316  func (sts SapTableSource) AsGreenplumSource() (*GreenplumSource, bool) {
180317  	return nil, false
180318  }
180319  
180320  // AsGoogleBigQuerySource is the BasicCopySource implementation for SapTableSource.
180321  func (sts SapTableSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
180322  	return nil, false
180323  }
180324  
180325  // AsEloquaSource is the BasicCopySource implementation for SapTableSource.
180326  func (sts SapTableSource) AsEloquaSource() (*EloquaSource, bool) {
180327  	return nil, false
180328  }
180329  
180330  // AsDrillSource is the BasicCopySource implementation for SapTableSource.
180331  func (sts SapTableSource) AsDrillSource() (*DrillSource, bool) {
180332  	return nil, false
180333  }
180334  
180335  // AsCouchbaseSource is the BasicCopySource implementation for SapTableSource.
180336  func (sts SapTableSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
180337  	return nil, false
180338  }
180339  
180340  // AsConcurSource is the BasicCopySource implementation for SapTableSource.
180341  func (sts SapTableSource) AsConcurSource() (*ConcurSource, bool) {
180342  	return nil, false
180343  }
180344  
180345  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SapTableSource.
180346  func (sts SapTableSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
180347  	return nil, false
180348  }
180349  
180350  // AsAmazonMWSSource is the BasicCopySource implementation for SapTableSource.
180351  func (sts SapTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
180352  	return nil, false
180353  }
180354  
180355  // AsCassandraSource is the BasicCopySource implementation for SapTableSource.
180356  func (sts SapTableSource) AsCassandraSource() (*CassandraSource, bool) {
180357  	return nil, false
180358  }
180359  
180360  // AsTeradataSource is the BasicCopySource implementation for SapTableSource.
180361  func (sts SapTableSource) AsTeradataSource() (*TeradataSource, bool) {
180362  	return nil, false
180363  }
180364  
180365  // AsAzureMySQLSource is the BasicCopySource implementation for SapTableSource.
180366  func (sts SapTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
180367  	return nil, false
180368  }
180369  
180370  // AsSQLDWSource is the BasicCopySource implementation for SapTableSource.
180371  func (sts SapTableSource) AsSQLDWSource() (*SQLDWSource, bool) {
180372  	return nil, false
180373  }
180374  
180375  // AsSQLMISource is the BasicCopySource implementation for SapTableSource.
180376  func (sts SapTableSource) AsSQLMISource() (*SQLMISource, bool) {
180377  	return nil, false
180378  }
180379  
180380  // AsAzureSQLSource is the BasicCopySource implementation for SapTableSource.
180381  func (sts SapTableSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
180382  	return nil, false
180383  }
180384  
180385  // AsSQLServerSource is the BasicCopySource implementation for SapTableSource.
180386  func (sts SapTableSource) AsSQLServerSource() (*SQLServerSource, bool) {
180387  	return nil, false
180388  }
180389  
180390  // AsSQLSource is the BasicCopySource implementation for SapTableSource.
180391  func (sts SapTableSource) AsSQLSource() (*SQLSource, bool) {
180392  	return nil, false
180393  }
180394  
180395  // AsSapTableSource is the BasicCopySource implementation for SapTableSource.
180396  func (sts SapTableSource) AsSapTableSource() (*SapTableSource, bool) {
180397  	return &sts, true
180398  }
180399  
180400  // AsSapOpenHubSource is the BasicCopySource implementation for SapTableSource.
180401  func (sts SapTableSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
180402  	return nil, false
180403  }
180404  
180405  // AsSapHanaSource is the BasicCopySource implementation for SapTableSource.
180406  func (sts SapTableSource) AsSapHanaSource() (*SapHanaSource, bool) {
180407  	return nil, false
180408  }
180409  
180410  // AsSapEccSource is the BasicCopySource implementation for SapTableSource.
180411  func (sts SapTableSource) AsSapEccSource() (*SapEccSource, bool) {
180412  	return nil, false
180413  }
180414  
180415  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SapTableSource.
180416  func (sts SapTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
180417  	return nil, false
180418  }
180419  
180420  // AsSalesforceSource is the BasicCopySource implementation for SapTableSource.
180421  func (sts SapTableSource) AsSalesforceSource() (*SalesforceSource, bool) {
180422  	return nil, false
180423  }
180424  
180425  // AsSapBwSource is the BasicCopySource implementation for SapTableSource.
180426  func (sts SapTableSource) AsSapBwSource() (*SapBwSource, bool) {
180427  	return nil, false
180428  }
180429  
180430  // AsSybaseSource is the BasicCopySource implementation for SapTableSource.
180431  func (sts SapTableSource) AsSybaseSource() (*SybaseSource, bool) {
180432  	return nil, false
180433  }
180434  
180435  // AsPostgreSQLSource is the BasicCopySource implementation for SapTableSource.
180436  func (sts SapTableSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
180437  	return nil, false
180438  }
180439  
180440  // AsMySQLSource is the BasicCopySource implementation for SapTableSource.
180441  func (sts SapTableSource) AsMySQLSource() (*MySQLSource, bool) {
180442  	return nil, false
180443  }
180444  
180445  // AsOdbcSource is the BasicCopySource implementation for SapTableSource.
180446  func (sts SapTableSource) AsOdbcSource() (*OdbcSource, bool) {
180447  	return nil, false
180448  }
180449  
180450  // AsDb2Source is the BasicCopySource implementation for SapTableSource.
180451  func (sts SapTableSource) AsDb2Source() (*Db2Source, bool) {
180452  	return nil, false
180453  }
180454  
180455  // AsInformixSource is the BasicCopySource implementation for SapTableSource.
180456  func (sts SapTableSource) AsInformixSource() (*InformixSource, bool) {
180457  	return nil, false
180458  }
180459  
180460  // AsAzureTableSource is the BasicCopySource implementation for SapTableSource.
180461  func (sts SapTableSource) AsAzureTableSource() (*AzureTableSource, bool) {
180462  	return nil, false
180463  }
180464  
180465  // AsTabularSource is the BasicCopySource implementation for SapTableSource.
180466  func (sts SapTableSource) AsTabularSource() (*TabularSource, bool) {
180467  	return nil, false
180468  }
180469  
180470  // AsBasicTabularSource is the BasicCopySource implementation for SapTableSource.
180471  func (sts SapTableSource) AsBasicTabularSource() (BasicTabularSource, bool) {
180472  	return &sts, true
180473  }
180474  
180475  // AsBinarySource is the BasicCopySource implementation for SapTableSource.
180476  func (sts SapTableSource) AsBinarySource() (*BinarySource, bool) {
180477  	return nil, false
180478  }
180479  
180480  // AsOrcSource is the BasicCopySource implementation for SapTableSource.
180481  func (sts SapTableSource) AsOrcSource() (*OrcSource, bool) {
180482  	return nil, false
180483  }
180484  
180485  // AsJSONSource is the BasicCopySource implementation for SapTableSource.
180486  func (sts SapTableSource) AsJSONSource() (*JSONSource, bool) {
180487  	return nil, false
180488  }
180489  
180490  // AsDelimitedTextSource is the BasicCopySource implementation for SapTableSource.
180491  func (sts SapTableSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
180492  	return nil, false
180493  }
180494  
180495  // AsParquetSource is the BasicCopySource implementation for SapTableSource.
180496  func (sts SapTableSource) AsParquetSource() (*ParquetSource, bool) {
180497  	return nil, false
180498  }
180499  
180500  // AsAvroSource is the BasicCopySource implementation for SapTableSource.
180501  func (sts SapTableSource) AsAvroSource() (*AvroSource, bool) {
180502  	return nil, false
180503  }
180504  
180505  // AsCopySource is the BasicCopySource implementation for SapTableSource.
180506  func (sts SapTableSource) AsCopySource() (*CopySource, bool) {
180507  	return nil, false
180508  }
180509  
180510  // AsBasicCopySource is the BasicCopySource implementation for SapTableSource.
180511  func (sts SapTableSource) AsBasicCopySource() (BasicCopySource, bool) {
180512  	return &sts, true
180513  }
180514  
180515  // UnmarshalJSON is the custom unmarshaler for SapTableSource struct.
180516  func (sts *SapTableSource) UnmarshalJSON(body []byte) error {
180517  	var m map[string]*json.RawMessage
180518  	err := json.Unmarshal(body, &m)
180519  	if err != nil {
180520  		return err
180521  	}
180522  	for k, v := range m {
180523  		switch k {
180524  		case "rowCount":
180525  			if v != nil {
180526  				var rowCount interface{}
180527  				err = json.Unmarshal(*v, &rowCount)
180528  				if err != nil {
180529  					return err
180530  				}
180531  				sts.RowCount = rowCount
180532  			}
180533  		case "rowSkips":
180534  			if v != nil {
180535  				var rowSkips interface{}
180536  				err = json.Unmarshal(*v, &rowSkips)
180537  				if err != nil {
180538  					return err
180539  				}
180540  				sts.RowSkips = rowSkips
180541  			}
180542  		case "rfcTableFields":
180543  			if v != nil {
180544  				var rfcTableFields interface{}
180545  				err = json.Unmarshal(*v, &rfcTableFields)
180546  				if err != nil {
180547  					return err
180548  				}
180549  				sts.RfcTableFields = rfcTableFields
180550  			}
180551  		case "rfcTableOptions":
180552  			if v != nil {
180553  				var rfcTableOptions interface{}
180554  				err = json.Unmarshal(*v, &rfcTableOptions)
180555  				if err != nil {
180556  					return err
180557  				}
180558  				sts.RfcTableOptions = rfcTableOptions
180559  			}
180560  		case "batchSize":
180561  			if v != nil {
180562  				var batchSize interface{}
180563  				err = json.Unmarshal(*v, &batchSize)
180564  				if err != nil {
180565  					return err
180566  				}
180567  				sts.BatchSize = batchSize
180568  			}
180569  		case "customRfcReadTableFunctionModule":
180570  			if v != nil {
180571  				var customRfcReadTableFunctionModule interface{}
180572  				err = json.Unmarshal(*v, &customRfcReadTableFunctionModule)
180573  				if err != nil {
180574  					return err
180575  				}
180576  				sts.CustomRfcReadTableFunctionModule = customRfcReadTableFunctionModule
180577  			}
180578  		case "partitionOption":
180579  			if v != nil {
180580  				var partitionOption SapTablePartitionOption
180581  				err = json.Unmarshal(*v, &partitionOption)
180582  				if err != nil {
180583  					return err
180584  				}
180585  				sts.PartitionOption = partitionOption
180586  			}
180587  		case "partitionSettings":
180588  			if v != nil {
180589  				var partitionSettings SapTablePartitionSettings
180590  				err = json.Unmarshal(*v, &partitionSettings)
180591  				if err != nil {
180592  					return err
180593  				}
180594  				sts.PartitionSettings = &partitionSettings
180595  			}
180596  		case "queryTimeout":
180597  			if v != nil {
180598  				var queryTimeout interface{}
180599  				err = json.Unmarshal(*v, &queryTimeout)
180600  				if err != nil {
180601  					return err
180602  				}
180603  				sts.QueryTimeout = queryTimeout
180604  			}
180605  		default:
180606  			if v != nil {
180607  				var additionalProperties interface{}
180608  				err = json.Unmarshal(*v, &additionalProperties)
180609  				if err != nil {
180610  					return err
180611  				}
180612  				if sts.AdditionalProperties == nil {
180613  					sts.AdditionalProperties = make(map[string]interface{})
180614  				}
180615  				sts.AdditionalProperties[k] = additionalProperties
180616  			}
180617  		case "sourceRetryCount":
180618  			if v != nil {
180619  				var sourceRetryCount interface{}
180620  				err = json.Unmarshal(*v, &sourceRetryCount)
180621  				if err != nil {
180622  					return err
180623  				}
180624  				sts.SourceRetryCount = sourceRetryCount
180625  			}
180626  		case "sourceRetryWait":
180627  			if v != nil {
180628  				var sourceRetryWait interface{}
180629  				err = json.Unmarshal(*v, &sourceRetryWait)
180630  				if err != nil {
180631  					return err
180632  				}
180633  				sts.SourceRetryWait = sourceRetryWait
180634  			}
180635  		case "maxConcurrentConnections":
180636  			if v != nil {
180637  				var maxConcurrentConnections interface{}
180638  				err = json.Unmarshal(*v, &maxConcurrentConnections)
180639  				if err != nil {
180640  					return err
180641  				}
180642  				sts.MaxConcurrentConnections = maxConcurrentConnections
180643  			}
180644  		case "type":
180645  			if v != nil {
180646  				var typeVar TypeBasicCopySource
180647  				err = json.Unmarshal(*v, &typeVar)
180648  				if err != nil {
180649  					return err
180650  				}
180651  				sts.Type = typeVar
180652  			}
180653  		}
180654  	}
180655  
180656  	return nil
180657  }
180658  
180659  // ScheduleTrigger trigger that creates pipeline runs periodically, on schedule.
180660  type ScheduleTrigger struct {
180661  	// ScheduleTriggerTypeProperties - Schedule Trigger properties.
180662  	*ScheduleTriggerTypeProperties `json:"typeProperties,omitempty"`
180663  	// Pipelines - Pipelines that need to be started.
180664  	Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"`
180665  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180666  	AdditionalProperties map[string]interface{} `json:""`
180667  	// Description - Trigger description.
180668  	Description *string `json:"description,omitempty"`
180669  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
180670  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
180671  	// Annotations - List of tags that can be used for describing the trigger.
180672  	Annotations *[]interface{} `json:"annotations,omitempty"`
180673  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
180674  	Type TypeBasicTrigger `json:"type,omitempty"`
180675  }
180676  
180677  // MarshalJSON is the custom marshaler for ScheduleTrigger.
180678  func (st ScheduleTrigger) MarshalJSON() ([]byte, error) {
180679  	st.Type = TypeScheduleTrigger
180680  	objectMap := make(map[string]interface{})
180681  	if st.ScheduleTriggerTypeProperties != nil {
180682  		objectMap["typeProperties"] = st.ScheduleTriggerTypeProperties
180683  	}
180684  	if st.Pipelines != nil {
180685  		objectMap["pipelines"] = st.Pipelines
180686  	}
180687  	if st.Description != nil {
180688  		objectMap["description"] = st.Description
180689  	}
180690  	if st.Annotations != nil {
180691  		objectMap["annotations"] = st.Annotations
180692  	}
180693  	if st.Type != "" {
180694  		objectMap["type"] = st.Type
180695  	}
180696  	for k, v := range st.AdditionalProperties {
180697  		objectMap[k] = v
180698  	}
180699  	return json.Marshal(objectMap)
180700  }
180701  
180702  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
180703  func (st ScheduleTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
180704  	return nil, false
180705  }
180706  
180707  // AsChainingTrigger is the BasicTrigger implementation for ScheduleTrigger.
180708  func (st ScheduleTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
180709  	return nil, false
180710  }
180711  
180712  // AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger.
180713  func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
180714  	return nil, false
180715  }
180716  
180717  // AsBlobEventsTrigger is the BasicTrigger implementation for ScheduleTrigger.
180718  func (st ScheduleTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
180719  	return nil, false
180720  }
180721  
180722  // AsBlobTrigger is the BasicTrigger implementation for ScheduleTrigger.
180723  func (st ScheduleTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
180724  	return nil, false
180725  }
180726  
180727  // AsScheduleTrigger is the BasicTrigger implementation for ScheduleTrigger.
180728  func (st ScheduleTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
180729  	return &st, true
180730  }
180731  
180732  // AsMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
180733  func (st ScheduleTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
180734  	return nil, false
180735  }
180736  
180737  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ScheduleTrigger.
180738  func (st ScheduleTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
180739  	return &st, true
180740  }
180741  
180742  // AsTrigger is the BasicTrigger implementation for ScheduleTrigger.
180743  func (st ScheduleTrigger) AsTrigger() (*Trigger, bool) {
180744  	return nil, false
180745  }
180746  
180747  // AsBasicTrigger is the BasicTrigger implementation for ScheduleTrigger.
180748  func (st ScheduleTrigger) AsBasicTrigger() (BasicTrigger, bool) {
180749  	return &st, true
180750  }
180751  
180752  // UnmarshalJSON is the custom unmarshaler for ScheduleTrigger struct.
180753  func (st *ScheduleTrigger) UnmarshalJSON(body []byte) error {
180754  	var m map[string]*json.RawMessage
180755  	err := json.Unmarshal(body, &m)
180756  	if err != nil {
180757  		return err
180758  	}
180759  	for k, v := range m {
180760  		switch k {
180761  		case "typeProperties":
180762  			if v != nil {
180763  				var scheduleTriggerTypeProperties ScheduleTriggerTypeProperties
180764  				err = json.Unmarshal(*v, &scheduleTriggerTypeProperties)
180765  				if err != nil {
180766  					return err
180767  				}
180768  				st.ScheduleTriggerTypeProperties = &scheduleTriggerTypeProperties
180769  			}
180770  		case "pipelines":
180771  			if v != nil {
180772  				var pipelines []TriggerPipelineReference
180773  				err = json.Unmarshal(*v, &pipelines)
180774  				if err != nil {
180775  					return err
180776  				}
180777  				st.Pipelines = &pipelines
180778  			}
180779  		default:
180780  			if v != nil {
180781  				var additionalProperties interface{}
180782  				err = json.Unmarshal(*v, &additionalProperties)
180783  				if err != nil {
180784  					return err
180785  				}
180786  				if st.AdditionalProperties == nil {
180787  					st.AdditionalProperties = make(map[string]interface{})
180788  				}
180789  				st.AdditionalProperties[k] = additionalProperties
180790  			}
180791  		case "description":
180792  			if v != nil {
180793  				var description string
180794  				err = json.Unmarshal(*v, &description)
180795  				if err != nil {
180796  					return err
180797  				}
180798  				st.Description = &description
180799  			}
180800  		case "runtimeState":
180801  			if v != nil {
180802  				var runtimeState TriggerRuntimeState
180803  				err = json.Unmarshal(*v, &runtimeState)
180804  				if err != nil {
180805  					return err
180806  				}
180807  				st.RuntimeState = runtimeState
180808  			}
180809  		case "annotations":
180810  			if v != nil {
180811  				var annotations []interface{}
180812  				err = json.Unmarshal(*v, &annotations)
180813  				if err != nil {
180814  					return err
180815  				}
180816  				st.Annotations = &annotations
180817  			}
180818  		case "type":
180819  			if v != nil {
180820  				var typeVar TypeBasicTrigger
180821  				err = json.Unmarshal(*v, &typeVar)
180822  				if err != nil {
180823  					return err
180824  				}
180825  				st.Type = typeVar
180826  			}
180827  		}
180828  	}
180829  
180830  	return nil
180831  }
180832  
180833  // ScheduleTriggerRecurrence the workflow trigger recurrence.
180834  type ScheduleTriggerRecurrence struct {
180835  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
180836  	AdditionalProperties map[string]interface{} `json:""`
180837  	// Frequency - The frequency. Possible values include: 'NotSpecified', 'Minute', 'Hour', 'Day', 'Week', 'Month', 'Year'
180838  	Frequency RecurrenceFrequency `json:"frequency,omitempty"`
180839  	// Interval - The interval.
180840  	Interval *int32 `json:"interval,omitempty"`
180841  	// StartTime - The start time.
180842  	StartTime *date.Time `json:"startTime,omitempty"`
180843  	// EndTime - The end time.
180844  	EndTime *date.Time `json:"endTime,omitempty"`
180845  	// TimeZone - The time zone.
180846  	TimeZone *string `json:"timeZone,omitempty"`
180847  	// Schedule - The recurrence schedule.
180848  	Schedule *RecurrenceSchedule `json:"schedule,omitempty"`
180849  }
180850  
180851  // MarshalJSON is the custom marshaler for ScheduleTriggerRecurrence.
180852  func (str ScheduleTriggerRecurrence) MarshalJSON() ([]byte, error) {
180853  	objectMap := make(map[string]interface{})
180854  	if str.Frequency != "" {
180855  		objectMap["frequency"] = str.Frequency
180856  	}
180857  	if str.Interval != nil {
180858  		objectMap["interval"] = str.Interval
180859  	}
180860  	if str.StartTime != nil {
180861  		objectMap["startTime"] = str.StartTime
180862  	}
180863  	if str.EndTime != nil {
180864  		objectMap["endTime"] = str.EndTime
180865  	}
180866  	if str.TimeZone != nil {
180867  		objectMap["timeZone"] = str.TimeZone
180868  	}
180869  	if str.Schedule != nil {
180870  		objectMap["schedule"] = str.Schedule
180871  	}
180872  	for k, v := range str.AdditionalProperties {
180873  		objectMap[k] = v
180874  	}
180875  	return json.Marshal(objectMap)
180876  }
180877  
180878  // UnmarshalJSON is the custom unmarshaler for ScheduleTriggerRecurrence struct.
180879  func (str *ScheduleTriggerRecurrence) UnmarshalJSON(body []byte) error {
180880  	var m map[string]*json.RawMessage
180881  	err := json.Unmarshal(body, &m)
180882  	if err != nil {
180883  		return err
180884  	}
180885  	for k, v := range m {
180886  		switch k {
180887  		default:
180888  			if v != nil {
180889  				var additionalProperties interface{}
180890  				err = json.Unmarshal(*v, &additionalProperties)
180891  				if err != nil {
180892  					return err
180893  				}
180894  				if str.AdditionalProperties == nil {
180895  					str.AdditionalProperties = make(map[string]interface{})
180896  				}
180897  				str.AdditionalProperties[k] = additionalProperties
180898  			}
180899  		case "frequency":
180900  			if v != nil {
180901  				var frequency RecurrenceFrequency
180902  				err = json.Unmarshal(*v, &frequency)
180903  				if err != nil {
180904  					return err
180905  				}
180906  				str.Frequency = frequency
180907  			}
180908  		case "interval":
180909  			if v != nil {
180910  				var interval int32
180911  				err = json.Unmarshal(*v, &interval)
180912  				if err != nil {
180913  					return err
180914  				}
180915  				str.Interval = &interval
180916  			}
180917  		case "startTime":
180918  			if v != nil {
180919  				var startTime date.Time
180920  				err = json.Unmarshal(*v, &startTime)
180921  				if err != nil {
180922  					return err
180923  				}
180924  				str.StartTime = &startTime
180925  			}
180926  		case "endTime":
180927  			if v != nil {
180928  				var endTime date.Time
180929  				err = json.Unmarshal(*v, &endTime)
180930  				if err != nil {
180931  					return err
180932  				}
180933  				str.EndTime = &endTime
180934  			}
180935  		case "timeZone":
180936  			if v != nil {
180937  				var timeZone string
180938  				err = json.Unmarshal(*v, &timeZone)
180939  				if err != nil {
180940  					return err
180941  				}
180942  				str.TimeZone = &timeZone
180943  			}
180944  		case "schedule":
180945  			if v != nil {
180946  				var schedule RecurrenceSchedule
180947  				err = json.Unmarshal(*v, &schedule)
180948  				if err != nil {
180949  					return err
180950  				}
180951  				str.Schedule = &schedule
180952  			}
180953  		}
180954  	}
180955  
180956  	return nil
180957  }
180958  
180959  // ScheduleTriggerTypeProperties schedule Trigger properties.
180960  type ScheduleTriggerTypeProperties struct {
180961  	// Recurrence - Recurrence schedule configuration.
180962  	Recurrence *ScheduleTriggerRecurrence `json:"recurrence,omitempty"`
180963  }
180964  
180965  // ScriptAction custom script action to run on HDI ondemand cluster once it's up.
180966  type ScriptAction struct {
180967  	// Name - The user provided name of the script action.
180968  	Name *string `json:"name,omitempty"`
180969  	// URI - The URI for the script action.
180970  	URI *string `json:"uri,omitempty"`
180971  	// Roles - The node types on which the script action should be executed. Possible values include: 'Headnode', 'Workernode', 'Zookeeper'
180972  	Roles HdiNodeTypes `json:"roles,omitempty"`
180973  	// Parameters - The parameters for the script action.
180974  	Parameters *string `json:"parameters,omitempty"`
180975  }
180976  
180977  // BasicSecretBase the base definition of a secret type.
180978  type BasicSecretBase interface {
180979  	AsSecureString() (*SecureString, bool)
180980  	AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool)
180981  	AsSecretBase() (*SecretBase, bool)
180982  }
180983  
180984  // SecretBase the base definition of a secret type.
180985  type SecretBase struct {
180986  	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
180987  	Type Type `json:"type,omitempty"`
180988  }
180989  
180990  func unmarshalBasicSecretBase(body []byte) (BasicSecretBase, error) {
180991  	var m map[string]interface{}
180992  	err := json.Unmarshal(body, &m)
180993  	if err != nil {
180994  		return nil, err
180995  	}
180996  
180997  	switch m["type"] {
180998  	case string(TypeSecureString):
180999  		var ss SecureString
181000  		err := json.Unmarshal(body, &ss)
181001  		return ss, err
181002  	case string(TypeAzureKeyVaultSecret):
181003  		var akvsr AzureKeyVaultSecretReference
181004  		err := json.Unmarshal(body, &akvsr)
181005  		return akvsr, err
181006  	default:
181007  		var sb SecretBase
181008  		err := json.Unmarshal(body, &sb)
181009  		return sb, err
181010  	}
181011  }
181012  func unmarshalBasicSecretBaseArray(body []byte) ([]BasicSecretBase, error) {
181013  	var rawMessages []*json.RawMessage
181014  	err := json.Unmarshal(body, &rawMessages)
181015  	if err != nil {
181016  		return nil, err
181017  	}
181018  
181019  	sbArray := make([]BasicSecretBase, len(rawMessages))
181020  
181021  	for index, rawMessage := range rawMessages {
181022  		sb, err := unmarshalBasicSecretBase(*rawMessage)
181023  		if err != nil {
181024  			return nil, err
181025  		}
181026  		sbArray[index] = sb
181027  	}
181028  	return sbArray, nil
181029  }
181030  
181031  // MarshalJSON is the custom marshaler for SecretBase.
181032  func (sb SecretBase) MarshalJSON() ([]byte, error) {
181033  	sb.Type = TypeSecretBase
181034  	objectMap := make(map[string]interface{})
181035  	if sb.Type != "" {
181036  		objectMap["type"] = sb.Type
181037  	}
181038  	return json.Marshal(objectMap)
181039  }
181040  
181041  // AsSecureString is the BasicSecretBase implementation for SecretBase.
181042  func (sb SecretBase) AsSecureString() (*SecureString, bool) {
181043  	return nil, false
181044  }
181045  
181046  // AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecretBase.
181047  func (sb SecretBase) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
181048  	return nil, false
181049  }
181050  
181051  // AsSecretBase is the BasicSecretBase implementation for SecretBase.
181052  func (sb SecretBase) AsSecretBase() (*SecretBase, bool) {
181053  	return &sb, true
181054  }
181055  
181056  // AsBasicSecretBase is the BasicSecretBase implementation for SecretBase.
181057  func (sb SecretBase) AsBasicSecretBase() (BasicSecretBase, bool) {
181058  	return &sb, true
181059  }
181060  
181061  // SecureString azure Synapse secure string definition. The string value will be masked with asterisks '*'
181062  // during Get or List API calls.
181063  type SecureString struct {
181064  	// Value - Value of secure string.
181065  	Value *string `json:"value,omitempty"`
181066  	// Type - Possible values include: 'TypeSecretBase', 'TypeSecureString', 'TypeAzureKeyVaultSecret'
181067  	Type Type `json:"type,omitempty"`
181068  }
181069  
181070  // MarshalJSON is the custom marshaler for SecureString.
181071  func (ss SecureString) MarshalJSON() ([]byte, error) {
181072  	ss.Type = TypeSecureString
181073  	objectMap := make(map[string]interface{})
181074  	if ss.Value != nil {
181075  		objectMap["value"] = ss.Value
181076  	}
181077  	if ss.Type != "" {
181078  		objectMap["type"] = ss.Type
181079  	}
181080  	return json.Marshal(objectMap)
181081  }
181082  
181083  // AsSecureString is the BasicSecretBase implementation for SecureString.
181084  func (ss SecureString) AsSecureString() (*SecureString, bool) {
181085  	return &ss, true
181086  }
181087  
181088  // AsAzureKeyVaultSecretReference is the BasicSecretBase implementation for SecureString.
181089  func (ss SecureString) AsAzureKeyVaultSecretReference() (*AzureKeyVaultSecretReference, bool) {
181090  	return nil, false
181091  }
181092  
181093  // AsSecretBase is the BasicSecretBase implementation for SecureString.
181094  func (ss SecureString) AsSecretBase() (*SecretBase, bool) {
181095  	return nil, false
181096  }
181097  
181098  // AsBasicSecretBase is the BasicSecretBase implementation for SecureString.
181099  func (ss SecureString) AsBasicSecretBase() (BasicSecretBase, bool) {
181100  	return &ss, true
181101  }
181102  
181103  // SelfDependencyTumblingWindowTriggerReference self referenced tumbling window trigger dependency.
181104  type SelfDependencyTumblingWindowTriggerReference struct {
181105  	// Offset - Timespan applied to the start time of a tumbling window when evaluating dependency.
181106  	Offset *string `json:"offset,omitempty"`
181107  	// Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used.
181108  	Size *string `json:"size,omitempty"`
181109  	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
181110  	Type TypeBasicDependencyReference `json:"type,omitempty"`
181111  }
181112  
181113  // MarshalJSON is the custom marshaler for SelfDependencyTumblingWindowTriggerReference.
181114  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) MarshalJSON() ([]byte, error) {
181115  	sdtwtr.Type = TypeSelfDependencyTumblingWindowTriggerReference
181116  	objectMap := make(map[string]interface{})
181117  	if sdtwtr.Offset != nil {
181118  		objectMap["offset"] = sdtwtr.Offset
181119  	}
181120  	if sdtwtr.Size != nil {
181121  		objectMap["size"] = sdtwtr.Size
181122  	}
181123  	if sdtwtr.Type != "" {
181124  		objectMap["type"] = sdtwtr.Type
181125  	}
181126  	return json.Marshal(objectMap)
181127  }
181128  
181129  // AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181130  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
181131  	return &sdtwtr, true
181132  }
181133  
181134  // AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181135  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
181136  	return nil, false
181137  }
181138  
181139  // AsTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181140  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
181141  	return nil, false
181142  }
181143  
181144  // AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181145  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
181146  	return nil, false
181147  }
181148  
181149  // AsDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181150  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsDependencyReference() (*DependencyReference, bool) {
181151  	return nil, false
181152  }
181153  
181154  // AsBasicDependencyReference is the BasicDependencyReference implementation for SelfDependencyTumblingWindowTriggerReference.
181155  func (sdtwtr SelfDependencyTumblingWindowTriggerReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
181156  	return &sdtwtr, true
181157  }
181158  
181159  // SelfHostedIntegrationRuntime self-hosted integration runtime.
181160  type SelfHostedIntegrationRuntime struct {
181161  	// SelfHostedIntegrationRuntimeTypeProperties - When this property is not null, means this is a linked integration runtime. The property is used to access original integration runtime.
181162  	*SelfHostedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"`
181163  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
181164  	AdditionalProperties map[string]interface{} `json:""`
181165  	// Description - Integration runtime description.
181166  	Description *string `json:"description,omitempty"`
181167  	// Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged'
181168  	Type TypeBasicIntegrationRuntime `json:"type,omitempty"`
181169  }
181170  
181171  // MarshalJSON is the custom marshaler for SelfHostedIntegrationRuntime.
181172  func (shir SelfHostedIntegrationRuntime) MarshalJSON() ([]byte, error) {
181173  	shir.Type = TypeSelfHosted
181174  	objectMap := make(map[string]interface{})
181175  	if shir.SelfHostedIntegrationRuntimeTypeProperties != nil {
181176  		objectMap["typeProperties"] = shir.SelfHostedIntegrationRuntimeTypeProperties
181177  	}
181178  	if shir.Description != nil {
181179  		objectMap["description"] = shir.Description
181180  	}
181181  	if shir.Type != "" {
181182  		objectMap["type"] = shir.Type
181183  	}
181184  	for k, v := range shir.AdditionalProperties {
181185  		objectMap[k] = v
181186  	}
181187  	return json.Marshal(objectMap)
181188  }
181189  
181190  // AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
181191  func (shir SelfHostedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) {
181192  	return &shir, true
181193  }
181194  
181195  // AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
181196  func (shir SelfHostedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) {
181197  	return nil, false
181198  }
181199  
181200  // AsIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
181201  func (shir SelfHostedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) {
181202  	return nil, false
181203  }
181204  
181205  // AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for SelfHostedIntegrationRuntime.
181206  func (shir SelfHostedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) {
181207  	return &shir, true
181208  }
181209  
181210  // UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntime struct.
181211  func (shir *SelfHostedIntegrationRuntime) UnmarshalJSON(body []byte) error {
181212  	var m map[string]*json.RawMessage
181213  	err := json.Unmarshal(body, &m)
181214  	if err != nil {
181215  		return err
181216  	}
181217  	for k, v := range m {
181218  		switch k {
181219  		case "typeProperties":
181220  			if v != nil {
181221  				var selfHostedIntegrationRuntimeTypeProperties SelfHostedIntegrationRuntimeTypeProperties
181222  				err = json.Unmarshal(*v, &selfHostedIntegrationRuntimeTypeProperties)
181223  				if err != nil {
181224  					return err
181225  				}
181226  				shir.SelfHostedIntegrationRuntimeTypeProperties = &selfHostedIntegrationRuntimeTypeProperties
181227  			}
181228  		default:
181229  			if v != nil {
181230  				var additionalProperties interface{}
181231  				err = json.Unmarshal(*v, &additionalProperties)
181232  				if err != nil {
181233  					return err
181234  				}
181235  				if shir.AdditionalProperties == nil {
181236  					shir.AdditionalProperties = make(map[string]interface{})
181237  				}
181238  				shir.AdditionalProperties[k] = additionalProperties
181239  			}
181240  		case "description":
181241  			if v != nil {
181242  				var description string
181243  				err = json.Unmarshal(*v, &description)
181244  				if err != nil {
181245  					return err
181246  				}
181247  				shir.Description = &description
181248  			}
181249  		case "type":
181250  			if v != nil {
181251  				var typeVar TypeBasicIntegrationRuntime
181252  				err = json.Unmarshal(*v, &typeVar)
181253  				if err != nil {
181254  					return err
181255  				}
181256  				shir.Type = typeVar
181257  			}
181258  		}
181259  	}
181260  
181261  	return nil
181262  }
181263  
181264  // SelfHostedIntegrationRuntimeTypeProperties the self-hosted integration runtime properties.
181265  type SelfHostedIntegrationRuntimeTypeProperties struct {
181266  	// LinkedInfo - Linked integration runtime type from data factory
181267  	LinkedInfo BasicLinkedIntegrationRuntimeType `json:"linkedInfo,omitempty"`
181268  }
181269  
181270  // UnmarshalJSON is the custom unmarshaler for SelfHostedIntegrationRuntimeTypeProperties struct.
181271  func (shirtp *SelfHostedIntegrationRuntimeTypeProperties) UnmarshalJSON(body []byte) error {
181272  	var m map[string]*json.RawMessage
181273  	err := json.Unmarshal(body, &m)
181274  	if err != nil {
181275  		return err
181276  	}
181277  	for k, v := range m {
181278  		switch k {
181279  		case "linkedInfo":
181280  			if v != nil {
181281  				linkedInfo, err := unmarshalBasicLinkedIntegrationRuntimeType(*v)
181282  				if err != nil {
181283  					return err
181284  				}
181285  				shirtp.LinkedInfo = linkedInfo
181286  			}
181287  		}
181288  	}
181289  
181290  	return nil
181291  }
181292  
181293  // ServiceNowLinkedService serviceNow server linked service.
181294  type ServiceNowLinkedService struct {
181295  	// ServiceNowLinkedServiceTypeProperties - ServiceNow server linked service properties.
181296  	*ServiceNowLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
181297  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
181298  	AdditionalProperties map[string]interface{} `json:""`
181299  	// ConnectVia - The integration runtime reference.
181300  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
181301  	// Description - Linked service description.
181302  	Description *string `json:"description,omitempty"`
181303  	// Parameters - Parameters for linked service.
181304  	Parameters map[string]*ParameterSpecification `json:"parameters"`
181305  	// Annotations - List of tags that can be used for describing the linked service.
181306  	Annotations *[]interface{} `json:"annotations,omitempty"`
181307  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
181308  	Type TypeBasicLinkedService `json:"type,omitempty"`
181309  }
181310  
181311  // MarshalJSON is the custom marshaler for ServiceNowLinkedService.
181312  func (snls ServiceNowLinkedService) MarshalJSON() ([]byte, error) {
181313  	snls.Type = TypeServiceNow
181314  	objectMap := make(map[string]interface{})
181315  	if snls.ServiceNowLinkedServiceTypeProperties != nil {
181316  		objectMap["typeProperties"] = snls.ServiceNowLinkedServiceTypeProperties
181317  	}
181318  	if snls.ConnectVia != nil {
181319  		objectMap["connectVia"] = snls.ConnectVia
181320  	}
181321  	if snls.Description != nil {
181322  		objectMap["description"] = snls.Description
181323  	}
181324  	if snls.Parameters != nil {
181325  		objectMap["parameters"] = snls.Parameters
181326  	}
181327  	if snls.Annotations != nil {
181328  		objectMap["annotations"] = snls.Annotations
181329  	}
181330  	if snls.Type != "" {
181331  		objectMap["type"] = snls.Type
181332  	}
181333  	for k, v := range snls.AdditionalProperties {
181334  		objectMap[k] = v
181335  	}
181336  	return json.Marshal(objectMap)
181337  }
181338  
181339  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181340  func (snls ServiceNowLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
181341  	return nil, false
181342  }
181343  
181344  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181345  func (snls ServiceNowLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
181346  	return nil, false
181347  }
181348  
181349  // AsSapTableLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181350  func (snls ServiceNowLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
181351  	return nil, false
181352  }
181353  
181354  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181355  func (snls ServiceNowLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
181356  	return nil, false
181357  }
181358  
181359  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181360  func (snls ServiceNowLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
181361  	return nil, false
181362  }
181363  
181364  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181365  func (snls ServiceNowLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
181366  	return nil, false
181367  }
181368  
181369  // AsResponsysLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181370  func (snls ServiceNowLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
181371  	return nil, false
181372  }
181373  
181374  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181375  func (snls ServiceNowLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
181376  	return nil, false
181377  }
181378  
181379  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181380  func (snls ServiceNowLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
181381  	return nil, false
181382  }
181383  
181384  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181385  func (snls ServiceNowLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
181386  	return nil, false
181387  }
181388  
181389  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181390  func (snls ServiceNowLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
181391  	return nil, false
181392  }
181393  
181394  // AsNetezzaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181395  func (snls ServiceNowLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
181396  	return nil, false
181397  }
181398  
181399  // AsVerticaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181400  func (snls ServiceNowLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
181401  	return nil, false
181402  }
181403  
181404  // AsZohoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181405  func (snls ServiceNowLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
181406  	return nil, false
181407  }
181408  
181409  // AsXeroLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181410  func (snls ServiceNowLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
181411  	return nil, false
181412  }
181413  
181414  // AsSquareLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181415  func (snls ServiceNowLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
181416  	return nil, false
181417  }
181418  
181419  // AsSparkLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181420  func (snls ServiceNowLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
181421  	return nil, false
181422  }
181423  
181424  // AsShopifyLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181425  func (snls ServiceNowLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
181426  	return nil, false
181427  }
181428  
181429  // AsServiceNowLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181430  func (snls ServiceNowLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
181431  	return &snls, true
181432  }
181433  
181434  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181435  func (snls ServiceNowLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
181436  	return nil, false
181437  }
181438  
181439  // AsPrestoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181440  func (snls ServiceNowLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
181441  	return nil, false
181442  }
181443  
181444  // AsPhoenixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181445  func (snls ServiceNowLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
181446  	return nil, false
181447  }
181448  
181449  // AsPaypalLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181450  func (snls ServiceNowLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
181451  	return nil, false
181452  }
181453  
181454  // AsMarketoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181455  func (snls ServiceNowLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
181456  	return nil, false
181457  }
181458  
181459  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181460  func (snls ServiceNowLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
181461  	return nil, false
181462  }
181463  
181464  // AsMariaDBLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181465  func (snls ServiceNowLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
181466  	return nil, false
181467  }
181468  
181469  // AsMagentoLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181470  func (snls ServiceNowLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
181471  	return nil, false
181472  }
181473  
181474  // AsJiraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181475  func (snls ServiceNowLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
181476  	return nil, false
181477  }
181478  
181479  // AsImpalaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181480  func (snls ServiceNowLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
181481  	return nil, false
181482  }
181483  
181484  // AsHubspotLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181485  func (snls ServiceNowLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
181486  	return nil, false
181487  }
181488  
181489  // AsHiveLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181490  func (snls ServiceNowLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
181491  	return nil, false
181492  }
181493  
181494  // AsHBaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181495  func (snls ServiceNowLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
181496  	return nil, false
181497  }
181498  
181499  // AsGreenplumLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181500  func (snls ServiceNowLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
181501  	return nil, false
181502  }
181503  
181504  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181505  func (snls ServiceNowLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
181506  	return nil, false
181507  }
181508  
181509  // AsEloquaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181510  func (snls ServiceNowLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
181511  	return nil, false
181512  }
181513  
181514  // AsDrillLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181515  func (snls ServiceNowLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
181516  	return nil, false
181517  }
181518  
181519  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181520  func (snls ServiceNowLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
181521  	return nil, false
181522  }
181523  
181524  // AsConcurLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181525  func (snls ServiceNowLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
181526  	return nil, false
181527  }
181528  
181529  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181530  func (snls ServiceNowLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
181531  	return nil, false
181532  }
181533  
181534  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181535  func (snls ServiceNowLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
181536  	return nil, false
181537  }
181538  
181539  // AsSapHanaLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181540  func (snls ServiceNowLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
181541  	return nil, false
181542  }
181543  
181544  // AsSapBWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181545  func (snls ServiceNowLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
181546  	return nil, false
181547  }
181548  
181549  // AsSftpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181550  func (snls ServiceNowLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
181551  	return nil, false
181552  }
181553  
181554  // AsFtpServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181555  func (snls ServiceNowLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
181556  	return nil, false
181557  }
181558  
181559  // AsHTTPLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181560  func (snls ServiceNowLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
181561  	return nil, false
181562  }
181563  
181564  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181565  func (snls ServiceNowLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
181566  	return nil, false
181567  }
181568  
181569  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181570  func (snls ServiceNowLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
181571  	return nil, false
181572  }
181573  
181574  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181575  func (snls ServiceNowLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
181576  	return nil, false
181577  }
181578  
181579  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181580  func (snls ServiceNowLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
181581  	return nil, false
181582  }
181583  
181584  // AsRestServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181585  func (snls ServiceNowLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
181586  	return nil, false
181587  }
181588  
181589  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181590  func (snls ServiceNowLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
181591  	return nil, false
181592  }
181593  
181594  // AsSapEccLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181595  func (snls ServiceNowLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
181596  	return nil, false
181597  }
181598  
181599  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181600  func (snls ServiceNowLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
181601  	return nil, false
181602  }
181603  
181604  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181605  func (snls ServiceNowLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
181606  	return nil, false
181607  }
181608  
181609  // AsSalesforceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181610  func (snls ServiceNowLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
181611  	return nil, false
181612  }
181613  
181614  // AsOffice365LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181615  func (snls ServiceNowLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
181616  	return nil, false
181617  }
181618  
181619  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181620  func (snls ServiceNowLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
181621  	return nil, false
181622  }
181623  
181624  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181625  func (snls ServiceNowLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
181626  	return nil, false
181627  }
181628  
181629  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181630  func (snls ServiceNowLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
181631  	return nil, false
181632  }
181633  
181634  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181635  func (snls ServiceNowLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
181636  	return nil, false
181637  }
181638  
181639  // AsMongoDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181640  func (snls ServiceNowLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
181641  	return nil, false
181642  }
181643  
181644  // AsCassandraLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181645  func (snls ServiceNowLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
181646  	return nil, false
181647  }
181648  
181649  // AsWebLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181650  func (snls ServiceNowLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
181651  	return nil, false
181652  }
181653  
181654  // AsODataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181655  func (snls ServiceNowLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
181656  	return nil, false
181657  }
181658  
181659  // AsHdfsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181660  func (snls ServiceNowLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
181661  	return nil, false
181662  }
181663  
181664  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181665  func (snls ServiceNowLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
181666  	return nil, false
181667  }
181668  
181669  // AsInformixLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181670  func (snls ServiceNowLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
181671  	return nil, false
181672  }
181673  
181674  // AsOdbcLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181675  func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
181676  	return nil, false
181677  }
181678  
181679  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181680  func (snls ServiceNowLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
181681  	return nil, false
181682  }
181683  
181684  // AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181685  func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
181686  	return nil, false
181687  }
181688  
181689  // AsTeradataLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181690  func (snls ServiceNowLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
181691  	return nil, false
181692  }
181693  
181694  // AsDb2LinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181695  func (snls ServiceNowLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
181696  	return nil, false
181697  }
181698  
181699  // AsSybaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181700  func (snls ServiceNowLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
181701  	return nil, false
181702  }
181703  
181704  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181705  func (snls ServiceNowLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
181706  	return nil, false
181707  }
181708  
181709  // AsMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181710  func (snls ServiceNowLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
181711  	return nil, false
181712  }
181713  
181714  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181715  func (snls ServiceNowLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
181716  	return nil, false
181717  }
181718  
181719  // AsOracleLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181720  func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
181721  	return nil, false
181722  }
181723  
181724  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181725  func (snls ServiceNowLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
181726  	return nil, false
181727  }
181728  
181729  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181730  func (snls ServiceNowLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
181731  	return nil, false
181732  }
181733  
181734  // AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181735  func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
181736  	return nil, false
181737  }
181738  
181739  // AsHDInsightLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181740  func (snls ServiceNowLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
181741  	return nil, false
181742  }
181743  
181744  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181745  func (snls ServiceNowLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
181746  	return nil, false
181747  }
181748  
181749  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181750  func (snls ServiceNowLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
181751  	return nil, false
181752  }
181753  
181754  // AsDynamicsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181755  func (snls ServiceNowLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
181756  	return nil, false
181757  }
181758  
181759  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181760  func (snls ServiceNowLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
181761  	return nil, false
181762  }
181763  
181764  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181765  func (snls ServiceNowLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
181766  	return nil, false
181767  }
181768  
181769  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181770  func (snls ServiceNowLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
181771  	return nil, false
181772  }
181773  
181774  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181775  func (snls ServiceNowLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
181776  	return nil, false
181777  }
181778  
181779  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181780  func (snls ServiceNowLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
181781  	return nil, false
181782  }
181783  
181784  // AsSQLServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181785  func (snls ServiceNowLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
181786  	return nil, false
181787  }
181788  
181789  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181790  func (snls ServiceNowLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
181791  	return nil, false
181792  }
181793  
181794  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181795  func (snls ServiceNowLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
181796  	return nil, false
181797  }
181798  
181799  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181800  func (snls ServiceNowLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
181801  	return nil, false
181802  }
181803  
181804  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181805  func (snls ServiceNowLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
181806  	return nil, false
181807  }
181808  
181809  // AsLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181810  func (snls ServiceNowLinkedService) AsLinkedService() (*LinkedService, bool) {
181811  	return nil, false
181812  }
181813  
181814  // AsBasicLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService.
181815  func (snls ServiceNowLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
181816  	return &snls, true
181817  }
181818  
181819  // UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedService struct.
181820  func (snls *ServiceNowLinkedService) UnmarshalJSON(body []byte) error {
181821  	var m map[string]*json.RawMessage
181822  	err := json.Unmarshal(body, &m)
181823  	if err != nil {
181824  		return err
181825  	}
181826  	for k, v := range m {
181827  		switch k {
181828  		case "typeProperties":
181829  			if v != nil {
181830  				var serviceNowLinkedServiceTypeProperties ServiceNowLinkedServiceTypeProperties
181831  				err = json.Unmarshal(*v, &serviceNowLinkedServiceTypeProperties)
181832  				if err != nil {
181833  					return err
181834  				}
181835  				snls.ServiceNowLinkedServiceTypeProperties = &serviceNowLinkedServiceTypeProperties
181836  			}
181837  		default:
181838  			if v != nil {
181839  				var additionalProperties interface{}
181840  				err = json.Unmarshal(*v, &additionalProperties)
181841  				if err != nil {
181842  					return err
181843  				}
181844  				if snls.AdditionalProperties == nil {
181845  					snls.AdditionalProperties = make(map[string]interface{})
181846  				}
181847  				snls.AdditionalProperties[k] = additionalProperties
181848  			}
181849  		case "connectVia":
181850  			if v != nil {
181851  				var connectVia IntegrationRuntimeReference
181852  				err = json.Unmarshal(*v, &connectVia)
181853  				if err != nil {
181854  					return err
181855  				}
181856  				snls.ConnectVia = &connectVia
181857  			}
181858  		case "description":
181859  			if v != nil {
181860  				var description string
181861  				err = json.Unmarshal(*v, &description)
181862  				if err != nil {
181863  					return err
181864  				}
181865  				snls.Description = &description
181866  			}
181867  		case "parameters":
181868  			if v != nil {
181869  				var parameters map[string]*ParameterSpecification
181870  				err = json.Unmarshal(*v, &parameters)
181871  				if err != nil {
181872  					return err
181873  				}
181874  				snls.Parameters = parameters
181875  			}
181876  		case "annotations":
181877  			if v != nil {
181878  				var annotations []interface{}
181879  				err = json.Unmarshal(*v, &annotations)
181880  				if err != nil {
181881  					return err
181882  				}
181883  				snls.Annotations = &annotations
181884  			}
181885  		case "type":
181886  			if v != nil {
181887  				var typeVar TypeBasicLinkedService
181888  				err = json.Unmarshal(*v, &typeVar)
181889  				if err != nil {
181890  					return err
181891  				}
181892  				snls.Type = typeVar
181893  			}
181894  		}
181895  	}
181896  
181897  	return nil
181898  }
181899  
181900  // ServiceNowLinkedServiceTypeProperties serviceNow server linked service properties.
181901  type ServiceNowLinkedServiceTypeProperties struct {
181902  	// Endpoint - The endpoint of the ServiceNow server. (i.e. <instance>.service-now.com)
181903  	Endpoint interface{} `json:"endpoint,omitempty"`
181904  	// AuthenticationType - The authentication type to use. Possible values include: 'ServiceNowAuthenticationTypeBasic', 'ServiceNowAuthenticationTypeOAuth2'
181905  	AuthenticationType ServiceNowAuthenticationType `json:"authenticationType,omitempty"`
181906  	// Username - The user name used to connect to the ServiceNow server for Basic and OAuth2 authentication.
181907  	Username interface{} `json:"username,omitempty"`
181908  	// Password - The password corresponding to the user name for Basic and OAuth2 authentication.
181909  	Password BasicSecretBase `json:"password,omitempty"`
181910  	// ClientID - The client id for OAuth2 authentication.
181911  	ClientID interface{} `json:"clientId,omitempty"`
181912  	// ClientSecret - The client secret for OAuth2 authentication.
181913  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
181914  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
181915  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
181916  	// 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.
181917  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
181918  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
181919  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
181920  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
181921  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
181922  }
181923  
181924  // UnmarshalJSON is the custom unmarshaler for ServiceNowLinkedServiceTypeProperties struct.
181925  func (snlstp *ServiceNowLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
181926  	var m map[string]*json.RawMessage
181927  	err := json.Unmarshal(body, &m)
181928  	if err != nil {
181929  		return err
181930  	}
181931  	for k, v := range m {
181932  		switch k {
181933  		case "endpoint":
181934  			if v != nil {
181935  				var endpoint interface{}
181936  				err = json.Unmarshal(*v, &endpoint)
181937  				if err != nil {
181938  					return err
181939  				}
181940  				snlstp.Endpoint = endpoint
181941  			}
181942  		case "authenticationType":
181943  			if v != nil {
181944  				var authenticationType ServiceNowAuthenticationType
181945  				err = json.Unmarshal(*v, &authenticationType)
181946  				if err != nil {
181947  					return err
181948  				}
181949  				snlstp.AuthenticationType = authenticationType
181950  			}
181951  		case "username":
181952  			if v != nil {
181953  				var username interface{}
181954  				err = json.Unmarshal(*v, &username)
181955  				if err != nil {
181956  					return err
181957  				}
181958  				snlstp.Username = username
181959  			}
181960  		case "password":
181961  			if v != nil {
181962  				password, err := unmarshalBasicSecretBase(*v)
181963  				if err != nil {
181964  					return err
181965  				}
181966  				snlstp.Password = password
181967  			}
181968  		case "clientId":
181969  			if v != nil {
181970  				var clientID interface{}
181971  				err = json.Unmarshal(*v, &clientID)
181972  				if err != nil {
181973  					return err
181974  				}
181975  				snlstp.ClientID = clientID
181976  			}
181977  		case "clientSecret":
181978  			if v != nil {
181979  				clientSecret, err := unmarshalBasicSecretBase(*v)
181980  				if err != nil {
181981  					return err
181982  				}
181983  				snlstp.ClientSecret = clientSecret
181984  			}
181985  		case "useEncryptedEndpoints":
181986  			if v != nil {
181987  				var useEncryptedEndpoints interface{}
181988  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
181989  				if err != nil {
181990  					return err
181991  				}
181992  				snlstp.UseEncryptedEndpoints = useEncryptedEndpoints
181993  			}
181994  		case "useHostVerification":
181995  			if v != nil {
181996  				var useHostVerification interface{}
181997  				err = json.Unmarshal(*v, &useHostVerification)
181998  				if err != nil {
181999  					return err
182000  				}
182001  				snlstp.UseHostVerification = useHostVerification
182002  			}
182003  		case "usePeerVerification":
182004  			if v != nil {
182005  				var usePeerVerification interface{}
182006  				err = json.Unmarshal(*v, &usePeerVerification)
182007  				if err != nil {
182008  					return err
182009  				}
182010  				snlstp.UsePeerVerification = usePeerVerification
182011  			}
182012  		case "encryptedCredential":
182013  			if v != nil {
182014  				var encryptedCredential interface{}
182015  				err = json.Unmarshal(*v, &encryptedCredential)
182016  				if err != nil {
182017  					return err
182018  				}
182019  				snlstp.EncryptedCredential = encryptedCredential
182020  			}
182021  		}
182022  	}
182023  
182024  	return nil
182025  }
182026  
182027  // ServiceNowObjectDataset serviceNow server dataset.
182028  type ServiceNowObjectDataset struct {
182029  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
182030  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
182031  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
182032  	AdditionalProperties map[string]interface{} `json:""`
182033  	// Description - Dataset description.
182034  	Description *string `json:"description,omitempty"`
182035  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
182036  	Structure interface{} `json:"structure,omitempty"`
182037  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
182038  	Schema interface{} `json:"schema,omitempty"`
182039  	// LinkedServiceName - Linked service reference.
182040  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
182041  	// Parameters - Parameters for dataset.
182042  	Parameters map[string]*ParameterSpecification `json:"parameters"`
182043  	// Annotations - List of tags that can be used for describing the Dataset.
182044  	Annotations *[]interface{} `json:"annotations,omitempty"`
182045  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
182046  	Folder *DatasetFolder `json:"folder,omitempty"`
182047  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
182048  	Type TypeBasicDataset `json:"type,omitempty"`
182049  }
182050  
182051  // MarshalJSON is the custom marshaler for ServiceNowObjectDataset.
182052  func (snod ServiceNowObjectDataset) MarshalJSON() ([]byte, error) {
182053  	snod.Type = TypeServiceNowObject
182054  	objectMap := make(map[string]interface{})
182055  	if snod.GenericDatasetTypeProperties != nil {
182056  		objectMap["typeProperties"] = snod.GenericDatasetTypeProperties
182057  	}
182058  	if snod.Description != nil {
182059  		objectMap["description"] = snod.Description
182060  	}
182061  	if snod.Structure != nil {
182062  		objectMap["structure"] = snod.Structure
182063  	}
182064  	if snod.Schema != nil {
182065  		objectMap["schema"] = snod.Schema
182066  	}
182067  	if snod.LinkedServiceName != nil {
182068  		objectMap["linkedServiceName"] = snod.LinkedServiceName
182069  	}
182070  	if snod.Parameters != nil {
182071  		objectMap["parameters"] = snod.Parameters
182072  	}
182073  	if snod.Annotations != nil {
182074  		objectMap["annotations"] = snod.Annotations
182075  	}
182076  	if snod.Folder != nil {
182077  		objectMap["folder"] = snod.Folder
182078  	}
182079  	if snod.Type != "" {
182080  		objectMap["type"] = snod.Type
182081  	}
182082  	for k, v := range snod.AdditionalProperties {
182083  		objectMap[k] = v
182084  	}
182085  	return json.Marshal(objectMap)
182086  }
182087  
182088  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182089  func (snod ServiceNowObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
182090  	return nil, false
182091  }
182092  
182093  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182094  func (snod ServiceNowObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
182095  	return nil, false
182096  }
182097  
182098  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182099  func (snod ServiceNowObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
182100  	return nil, false
182101  }
182102  
182103  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182104  func (snod ServiceNowObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
182105  	return nil, false
182106  }
182107  
182108  // AsResponsysObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182109  func (snod ServiceNowObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
182110  	return nil, false
182111  }
182112  
182113  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182114  func (snod ServiceNowObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
182115  	return nil, false
182116  }
182117  
182118  // AsVerticaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182119  func (snod ServiceNowObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
182120  	return nil, false
182121  }
182122  
182123  // AsNetezzaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182124  func (snod ServiceNowObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
182125  	return nil, false
182126  }
182127  
182128  // AsZohoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182129  func (snod ServiceNowObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
182130  	return nil, false
182131  }
182132  
182133  // AsXeroObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182134  func (snod ServiceNowObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
182135  	return nil, false
182136  }
182137  
182138  // AsSquareObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182139  func (snod ServiceNowObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
182140  	return nil, false
182141  }
182142  
182143  // AsSparkObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182144  func (snod ServiceNowObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
182145  	return nil, false
182146  }
182147  
182148  // AsShopifyObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182149  func (snod ServiceNowObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
182150  	return nil, false
182151  }
182152  
182153  // AsServiceNowObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182154  func (snod ServiceNowObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
182155  	return &snod, true
182156  }
182157  
182158  // AsQuickBooksObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182159  func (snod ServiceNowObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
182160  	return nil, false
182161  }
182162  
182163  // AsPrestoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182164  func (snod ServiceNowObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
182165  	return nil, false
182166  }
182167  
182168  // AsPhoenixObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182169  func (snod ServiceNowObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
182170  	return nil, false
182171  }
182172  
182173  // AsPaypalObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182174  func (snod ServiceNowObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
182175  	return nil, false
182176  }
182177  
182178  // AsMarketoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182179  func (snod ServiceNowObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
182180  	return nil, false
182181  }
182182  
182183  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182184  func (snod ServiceNowObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
182185  	return nil, false
182186  }
182187  
182188  // AsMariaDBTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182189  func (snod ServiceNowObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
182190  	return nil, false
182191  }
182192  
182193  // AsMagentoObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182194  func (snod ServiceNowObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
182195  	return nil, false
182196  }
182197  
182198  // AsJiraObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182199  func (snod ServiceNowObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
182200  	return nil, false
182201  }
182202  
182203  // AsImpalaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182204  func (snod ServiceNowObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
182205  	return nil, false
182206  }
182207  
182208  // AsHubspotObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182209  func (snod ServiceNowObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
182210  	return nil, false
182211  }
182212  
182213  // AsHiveObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182214  func (snod ServiceNowObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
182215  	return nil, false
182216  }
182217  
182218  // AsHBaseObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182219  func (snod ServiceNowObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
182220  	return nil, false
182221  }
182222  
182223  // AsGreenplumTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182224  func (snod ServiceNowObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
182225  	return nil, false
182226  }
182227  
182228  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182229  func (snod ServiceNowObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
182230  	return nil, false
182231  }
182232  
182233  // AsEloquaObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182234  func (snod ServiceNowObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
182235  	return nil, false
182236  }
182237  
182238  // AsDrillTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182239  func (snod ServiceNowObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
182240  	return nil, false
182241  }
182242  
182243  // AsCouchbaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182244  func (snod ServiceNowObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
182245  	return nil, false
182246  }
182247  
182248  // AsConcurObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182249  func (snod ServiceNowObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
182250  	return nil, false
182251  }
182252  
182253  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182254  func (snod ServiceNowObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
182255  	return nil, false
182256  }
182257  
182258  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182259  func (snod ServiceNowObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
182260  	return nil, false
182261  }
182262  
182263  // AsAzureSearchIndexDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182264  func (snod ServiceNowObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
182265  	return nil, false
182266  }
182267  
182268  // AsWebTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182269  func (snod ServiceNowObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
182270  	return nil, false
182271  }
182272  
182273  // AsSapTableResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182274  func (snod ServiceNowObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
182275  	return nil, false
182276  }
182277  
182278  // AsRestResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182279  func (snod ServiceNowObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
182280  	return nil, false
182281  }
182282  
182283  // AsSQLServerTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182284  func (snod ServiceNowObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
182285  	return nil, false
182286  }
182287  
182288  // AsSapOpenHubTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182289  func (snod ServiceNowObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
182290  	return nil, false
182291  }
182292  
182293  // AsSapHanaTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182294  func (snod ServiceNowObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
182295  	return nil, false
182296  }
182297  
182298  // AsSapEccResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182299  func (snod ServiceNowObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
182300  	return nil, false
182301  }
182302  
182303  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182304  func (snod ServiceNowObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
182305  	return nil, false
182306  }
182307  
182308  // AsSapBwCubeDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182309  func (snod ServiceNowObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
182310  	return nil, false
182311  }
182312  
182313  // AsSybaseTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182314  func (snod ServiceNowObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
182315  	return nil, false
182316  }
182317  
182318  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182319  func (snod ServiceNowObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
182320  	return nil, false
182321  }
182322  
182323  // AsSalesforceObjectDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182324  func (snod ServiceNowObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
182325  	return nil, false
182326  }
182327  
182328  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182329  func (snod ServiceNowObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
182330  	return nil, false
182331  }
182332  
182333  // AsPostgreSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182334  func (snod ServiceNowObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
182335  	return nil, false
182336  }
182337  
182338  // AsMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182339  func (snod ServiceNowObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
182340  	return nil, false
182341  }
182342  
182343  // AsOdbcTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182344  func (snod ServiceNowObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
182345  	return nil, false
182346  }
182347  
182348  // AsInformixTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182349  func (snod ServiceNowObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
182350  	return nil, false
182351  }
182352  
182353  // AsRelationalTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182354  func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
182355  	return nil, false
182356  }
182357  
182358  // AsDb2TableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182359  func (snod ServiceNowObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
182360  	return nil, false
182361  }
182362  
182363  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182364  func (snod ServiceNowObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
182365  	return nil, false
182366  }
182367  
182368  // AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182369  func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
182370  	return nil, false
182371  }
182372  
182373  // AsTeradataTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182374  func (snod ServiceNowObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
182375  	return nil, false
182376  }
182377  
182378  // AsOracleTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182379  func (snod ServiceNowObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
182380  	return nil, false
182381  }
182382  
182383  // AsODataResourceDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182384  func (snod ServiceNowObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
182385  	return nil, false
182386  }
182387  
182388  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182389  func (snod ServiceNowObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
182390  	return nil, false
182391  }
182392  
182393  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182394  func (snod ServiceNowObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
182395  	return nil, false
182396  }
182397  
182398  // AsMongoDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182399  func (snod ServiceNowObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
182400  	return nil, false
182401  }
182402  
182403  // AsOffice365Dataset is the BasicDataset implementation for ServiceNowObjectDataset.
182404  func (snod ServiceNowObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
182405  	return nil, false
182406  }
182407  
182408  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182409  func (snod ServiceNowObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
182410  	return nil, false
182411  }
182412  
182413  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182414  func (snod ServiceNowObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
182415  	return nil, false
182416  }
182417  
182418  // AsDynamicsEntityDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182419  func (snod ServiceNowObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
182420  	return nil, false
182421  }
182422  
182423  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182424  func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
182425  	return nil, false
182426  }
182427  
182428  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182429  func (snod ServiceNowObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
182430  	return nil, false
182431  }
182432  
182433  // AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182434  func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
182435  	return nil, false
182436  }
182437  
182438  // AsCassandraTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182439  func (snod ServiceNowObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
182440  	return nil, false
182441  }
182442  
182443  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182444  func (snod ServiceNowObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
182445  	return nil, false
182446  }
182447  
182448  // AsAzureSQLMITableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182449  func (snod ServiceNowObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
182450  	return nil, false
182451  }
182452  
182453  // AsAzureSQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182454  func (snod ServiceNowObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
182455  	return nil, false
182456  }
182457  
182458  // AsAzureTableDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182459  func (snod ServiceNowObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
182460  	return nil, false
182461  }
182462  
182463  // AsBinaryDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182464  func (snod ServiceNowObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
182465  	return nil, false
182466  }
182467  
182468  // AsOrcDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182469  func (snod ServiceNowObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
182470  	return nil, false
182471  }
182472  
182473  // AsJSONDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182474  func (snod ServiceNowObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
182475  	return nil, false
182476  }
182477  
182478  // AsDelimitedTextDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182479  func (snod ServiceNowObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
182480  	return nil, false
182481  }
182482  
182483  // AsParquetDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182484  func (snod ServiceNowObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
182485  	return nil, false
182486  }
182487  
182488  // AsAvroDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182489  func (snod ServiceNowObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
182490  	return nil, false
182491  }
182492  
182493  // AsDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182494  func (snod ServiceNowObjectDataset) AsDataset() (*Dataset, bool) {
182495  	return nil, false
182496  }
182497  
182498  // AsBasicDataset is the BasicDataset implementation for ServiceNowObjectDataset.
182499  func (snod ServiceNowObjectDataset) AsBasicDataset() (BasicDataset, bool) {
182500  	return &snod, true
182501  }
182502  
182503  // UnmarshalJSON is the custom unmarshaler for ServiceNowObjectDataset struct.
182504  func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error {
182505  	var m map[string]*json.RawMessage
182506  	err := json.Unmarshal(body, &m)
182507  	if err != nil {
182508  		return err
182509  	}
182510  	for k, v := range m {
182511  		switch k {
182512  		case "typeProperties":
182513  			if v != nil {
182514  				var genericDatasetTypeProperties GenericDatasetTypeProperties
182515  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
182516  				if err != nil {
182517  					return err
182518  				}
182519  				snod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
182520  			}
182521  		default:
182522  			if v != nil {
182523  				var additionalProperties interface{}
182524  				err = json.Unmarshal(*v, &additionalProperties)
182525  				if err != nil {
182526  					return err
182527  				}
182528  				if snod.AdditionalProperties == nil {
182529  					snod.AdditionalProperties = make(map[string]interface{})
182530  				}
182531  				snod.AdditionalProperties[k] = additionalProperties
182532  			}
182533  		case "description":
182534  			if v != nil {
182535  				var description string
182536  				err = json.Unmarshal(*v, &description)
182537  				if err != nil {
182538  					return err
182539  				}
182540  				snod.Description = &description
182541  			}
182542  		case "structure":
182543  			if v != nil {
182544  				var structure interface{}
182545  				err = json.Unmarshal(*v, &structure)
182546  				if err != nil {
182547  					return err
182548  				}
182549  				snod.Structure = structure
182550  			}
182551  		case "schema":
182552  			if v != nil {
182553  				var schema interface{}
182554  				err = json.Unmarshal(*v, &schema)
182555  				if err != nil {
182556  					return err
182557  				}
182558  				snod.Schema = schema
182559  			}
182560  		case "linkedServiceName":
182561  			if v != nil {
182562  				var linkedServiceName LinkedServiceReference
182563  				err = json.Unmarshal(*v, &linkedServiceName)
182564  				if err != nil {
182565  					return err
182566  				}
182567  				snod.LinkedServiceName = &linkedServiceName
182568  			}
182569  		case "parameters":
182570  			if v != nil {
182571  				var parameters map[string]*ParameterSpecification
182572  				err = json.Unmarshal(*v, &parameters)
182573  				if err != nil {
182574  					return err
182575  				}
182576  				snod.Parameters = parameters
182577  			}
182578  		case "annotations":
182579  			if v != nil {
182580  				var annotations []interface{}
182581  				err = json.Unmarshal(*v, &annotations)
182582  				if err != nil {
182583  					return err
182584  				}
182585  				snod.Annotations = &annotations
182586  			}
182587  		case "folder":
182588  			if v != nil {
182589  				var folder DatasetFolder
182590  				err = json.Unmarshal(*v, &folder)
182591  				if err != nil {
182592  					return err
182593  				}
182594  				snod.Folder = &folder
182595  			}
182596  		case "type":
182597  			if v != nil {
182598  				var typeVar TypeBasicDataset
182599  				err = json.Unmarshal(*v, &typeVar)
182600  				if err != nil {
182601  					return err
182602  				}
182603  				snod.Type = typeVar
182604  			}
182605  		}
182606  	}
182607  
182608  	return nil
182609  }
182610  
182611  // ServiceNowSource a copy activity ServiceNow server source.
182612  type ServiceNowSource struct {
182613  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
182614  	Query interface{} `json:"query,omitempty"`
182615  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
182616  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
182617  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
182618  	AdditionalProperties map[string]interface{} `json:""`
182619  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
182620  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
182621  	// 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])).
182622  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
182623  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
182624  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
182625  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
182626  	Type TypeBasicCopySource `json:"type,omitempty"`
182627  }
182628  
182629  // MarshalJSON is the custom marshaler for ServiceNowSource.
182630  func (sns ServiceNowSource) MarshalJSON() ([]byte, error) {
182631  	sns.Type = TypeServiceNowSource
182632  	objectMap := make(map[string]interface{})
182633  	if sns.Query != nil {
182634  		objectMap["query"] = sns.Query
182635  	}
182636  	if sns.QueryTimeout != nil {
182637  		objectMap["queryTimeout"] = sns.QueryTimeout
182638  	}
182639  	if sns.SourceRetryCount != nil {
182640  		objectMap["sourceRetryCount"] = sns.SourceRetryCount
182641  	}
182642  	if sns.SourceRetryWait != nil {
182643  		objectMap["sourceRetryWait"] = sns.SourceRetryWait
182644  	}
182645  	if sns.MaxConcurrentConnections != nil {
182646  		objectMap["maxConcurrentConnections"] = sns.MaxConcurrentConnections
182647  	}
182648  	if sns.Type != "" {
182649  		objectMap["type"] = sns.Type
182650  	}
182651  	for k, v := range sns.AdditionalProperties {
182652  		objectMap[k] = v
182653  	}
182654  	return json.Marshal(objectMap)
182655  }
182656  
182657  // AsHTTPSource is the BasicCopySource implementation for ServiceNowSource.
182658  func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) {
182659  	return nil, false
182660  }
182661  
182662  // AsAzureBlobFSSource is the BasicCopySource implementation for ServiceNowSource.
182663  func (sns ServiceNowSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
182664  	return nil, false
182665  }
182666  
182667  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource.
182668  func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
182669  	return nil, false
182670  }
182671  
182672  // AsOffice365Source is the BasicCopySource implementation for ServiceNowSource.
182673  func (sns ServiceNowSource) AsOffice365Source() (*Office365Source, bool) {
182674  	return nil, false
182675  }
182676  
182677  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ServiceNowSource.
182678  func (sns ServiceNowSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
182679  	return nil, false
182680  }
182681  
182682  // AsMongoDbV2Source is the BasicCopySource implementation for ServiceNowSource.
182683  func (sns ServiceNowSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
182684  	return nil, false
182685  }
182686  
182687  // AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource.
182688  func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) {
182689  	return nil, false
182690  }
182691  
182692  // AsWebSource is the BasicCopySource implementation for ServiceNowSource.
182693  func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) {
182694  	return nil, false
182695  }
182696  
182697  // AsOracleSource is the BasicCopySource implementation for ServiceNowSource.
182698  func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) {
182699  	return nil, false
182700  }
182701  
182702  // AsAzureDataExplorerSource is the BasicCopySource implementation for ServiceNowSource.
182703  func (sns ServiceNowSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
182704  	return nil, false
182705  }
182706  
182707  // AsHdfsSource is the BasicCopySource implementation for ServiceNowSource.
182708  func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) {
182709  	return nil, false
182710  }
182711  
182712  // AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource.
182713  func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) {
182714  	return nil, false
182715  }
182716  
182717  // AsRestSource is the BasicCopySource implementation for ServiceNowSource.
182718  func (sns ServiceNowSource) AsRestSource() (*RestSource, bool) {
182719  	return nil, false
182720  }
182721  
182722  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ServiceNowSource.
182723  func (sns ServiceNowSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
182724  	return nil, false
182725  }
182726  
182727  // AsODataSource is the BasicCopySource implementation for ServiceNowSource.
182728  func (sns ServiceNowSource) AsODataSource() (*ODataSource, bool) {
182729  	return nil, false
182730  }
182731  
182732  // AsMicrosoftAccessSource is the BasicCopySource implementation for ServiceNowSource.
182733  func (sns ServiceNowSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
182734  	return nil, false
182735  }
182736  
182737  // AsRelationalSource is the BasicCopySource implementation for ServiceNowSource.
182738  func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) {
182739  	return nil, false
182740  }
182741  
182742  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ServiceNowSource.
182743  func (sns ServiceNowSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
182744  	return nil, false
182745  }
182746  
182747  // AsDynamicsCrmSource is the BasicCopySource implementation for ServiceNowSource.
182748  func (sns ServiceNowSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
182749  	return nil, false
182750  }
182751  
182752  // AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource.
182753  func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) {
182754  	return nil, false
182755  }
182756  
182757  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ServiceNowSource.
182758  func (sns ServiceNowSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
182759  	return nil, false
182760  }
182761  
182762  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource.
182763  func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
182764  	return nil, false
182765  }
182766  
182767  // AsBlobSource is the BasicCopySource implementation for ServiceNowSource.
182768  func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) {
182769  	return nil, false
182770  }
182771  
182772  // AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource.
182773  func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
182774  	return nil, false
182775  }
182776  
182777  // AsGoogleAdWordsSource is the BasicCopySource implementation for ServiceNowSource.
182778  func (sns ServiceNowSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
182779  	return nil, false
182780  }
182781  
182782  // AsOracleServiceCloudSource is the BasicCopySource implementation for ServiceNowSource.
182783  func (sns ServiceNowSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
182784  	return nil, false
182785  }
182786  
182787  // AsDynamicsAXSource is the BasicCopySource implementation for ServiceNowSource.
182788  func (sns ServiceNowSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
182789  	return nil, false
182790  }
182791  
182792  // AsResponsysSource is the BasicCopySource implementation for ServiceNowSource.
182793  func (sns ServiceNowSource) AsResponsysSource() (*ResponsysSource, bool) {
182794  	return nil, false
182795  }
182796  
182797  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ServiceNowSource.
182798  func (sns ServiceNowSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
182799  	return nil, false
182800  }
182801  
182802  // AsVerticaSource is the BasicCopySource implementation for ServiceNowSource.
182803  func (sns ServiceNowSource) AsVerticaSource() (*VerticaSource, bool) {
182804  	return nil, false
182805  }
182806  
182807  // AsNetezzaSource is the BasicCopySource implementation for ServiceNowSource.
182808  func (sns ServiceNowSource) AsNetezzaSource() (*NetezzaSource, bool) {
182809  	return nil, false
182810  }
182811  
182812  // AsZohoSource is the BasicCopySource implementation for ServiceNowSource.
182813  func (sns ServiceNowSource) AsZohoSource() (*ZohoSource, bool) {
182814  	return nil, false
182815  }
182816  
182817  // AsXeroSource is the BasicCopySource implementation for ServiceNowSource.
182818  func (sns ServiceNowSource) AsXeroSource() (*XeroSource, bool) {
182819  	return nil, false
182820  }
182821  
182822  // AsSquareSource is the BasicCopySource implementation for ServiceNowSource.
182823  func (sns ServiceNowSource) AsSquareSource() (*SquareSource, bool) {
182824  	return nil, false
182825  }
182826  
182827  // AsSparkSource is the BasicCopySource implementation for ServiceNowSource.
182828  func (sns ServiceNowSource) AsSparkSource() (*SparkSource, bool) {
182829  	return nil, false
182830  }
182831  
182832  // AsShopifySource is the BasicCopySource implementation for ServiceNowSource.
182833  func (sns ServiceNowSource) AsShopifySource() (*ShopifySource, bool) {
182834  	return nil, false
182835  }
182836  
182837  // AsServiceNowSource is the BasicCopySource implementation for ServiceNowSource.
182838  func (sns ServiceNowSource) AsServiceNowSource() (*ServiceNowSource, bool) {
182839  	return &sns, true
182840  }
182841  
182842  // AsQuickBooksSource is the BasicCopySource implementation for ServiceNowSource.
182843  func (sns ServiceNowSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
182844  	return nil, false
182845  }
182846  
182847  // AsPrestoSource is the BasicCopySource implementation for ServiceNowSource.
182848  func (sns ServiceNowSource) AsPrestoSource() (*PrestoSource, bool) {
182849  	return nil, false
182850  }
182851  
182852  // AsPhoenixSource is the BasicCopySource implementation for ServiceNowSource.
182853  func (sns ServiceNowSource) AsPhoenixSource() (*PhoenixSource, bool) {
182854  	return nil, false
182855  }
182856  
182857  // AsPaypalSource is the BasicCopySource implementation for ServiceNowSource.
182858  func (sns ServiceNowSource) AsPaypalSource() (*PaypalSource, bool) {
182859  	return nil, false
182860  }
182861  
182862  // AsMarketoSource is the BasicCopySource implementation for ServiceNowSource.
182863  func (sns ServiceNowSource) AsMarketoSource() (*MarketoSource, bool) {
182864  	return nil, false
182865  }
182866  
182867  // AsAzureMariaDBSource is the BasicCopySource implementation for ServiceNowSource.
182868  func (sns ServiceNowSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
182869  	return nil, false
182870  }
182871  
182872  // AsMariaDBSource is the BasicCopySource implementation for ServiceNowSource.
182873  func (sns ServiceNowSource) AsMariaDBSource() (*MariaDBSource, bool) {
182874  	return nil, false
182875  }
182876  
182877  // AsMagentoSource is the BasicCopySource implementation for ServiceNowSource.
182878  func (sns ServiceNowSource) AsMagentoSource() (*MagentoSource, bool) {
182879  	return nil, false
182880  }
182881  
182882  // AsJiraSource is the BasicCopySource implementation for ServiceNowSource.
182883  func (sns ServiceNowSource) AsJiraSource() (*JiraSource, bool) {
182884  	return nil, false
182885  }
182886  
182887  // AsImpalaSource is the BasicCopySource implementation for ServiceNowSource.
182888  func (sns ServiceNowSource) AsImpalaSource() (*ImpalaSource, bool) {
182889  	return nil, false
182890  }
182891  
182892  // AsHubspotSource is the BasicCopySource implementation for ServiceNowSource.
182893  func (sns ServiceNowSource) AsHubspotSource() (*HubspotSource, bool) {
182894  	return nil, false
182895  }
182896  
182897  // AsHiveSource is the BasicCopySource implementation for ServiceNowSource.
182898  func (sns ServiceNowSource) AsHiveSource() (*HiveSource, bool) {
182899  	return nil, false
182900  }
182901  
182902  // AsHBaseSource is the BasicCopySource implementation for ServiceNowSource.
182903  func (sns ServiceNowSource) AsHBaseSource() (*HBaseSource, bool) {
182904  	return nil, false
182905  }
182906  
182907  // AsGreenplumSource is the BasicCopySource implementation for ServiceNowSource.
182908  func (sns ServiceNowSource) AsGreenplumSource() (*GreenplumSource, bool) {
182909  	return nil, false
182910  }
182911  
182912  // AsGoogleBigQuerySource is the BasicCopySource implementation for ServiceNowSource.
182913  func (sns ServiceNowSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
182914  	return nil, false
182915  }
182916  
182917  // AsEloquaSource is the BasicCopySource implementation for ServiceNowSource.
182918  func (sns ServiceNowSource) AsEloquaSource() (*EloquaSource, bool) {
182919  	return nil, false
182920  }
182921  
182922  // AsDrillSource is the BasicCopySource implementation for ServiceNowSource.
182923  func (sns ServiceNowSource) AsDrillSource() (*DrillSource, bool) {
182924  	return nil, false
182925  }
182926  
182927  // AsCouchbaseSource is the BasicCopySource implementation for ServiceNowSource.
182928  func (sns ServiceNowSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
182929  	return nil, false
182930  }
182931  
182932  // AsConcurSource is the BasicCopySource implementation for ServiceNowSource.
182933  func (sns ServiceNowSource) AsConcurSource() (*ConcurSource, bool) {
182934  	return nil, false
182935  }
182936  
182937  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
182938  func (sns ServiceNowSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
182939  	return nil, false
182940  }
182941  
182942  // AsAmazonMWSSource is the BasicCopySource implementation for ServiceNowSource.
182943  func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
182944  	return nil, false
182945  }
182946  
182947  // AsCassandraSource is the BasicCopySource implementation for ServiceNowSource.
182948  func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) {
182949  	return nil, false
182950  }
182951  
182952  // AsTeradataSource is the BasicCopySource implementation for ServiceNowSource.
182953  func (sns ServiceNowSource) AsTeradataSource() (*TeradataSource, bool) {
182954  	return nil, false
182955  }
182956  
182957  // AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource.
182958  func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
182959  	return nil, false
182960  }
182961  
182962  // AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource.
182963  func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) {
182964  	return nil, false
182965  }
182966  
182967  // AsSQLMISource is the BasicCopySource implementation for ServiceNowSource.
182968  func (sns ServiceNowSource) AsSQLMISource() (*SQLMISource, bool) {
182969  	return nil, false
182970  }
182971  
182972  // AsAzureSQLSource is the BasicCopySource implementation for ServiceNowSource.
182973  func (sns ServiceNowSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
182974  	return nil, false
182975  }
182976  
182977  // AsSQLServerSource is the BasicCopySource implementation for ServiceNowSource.
182978  func (sns ServiceNowSource) AsSQLServerSource() (*SQLServerSource, bool) {
182979  	return nil, false
182980  }
182981  
182982  // AsSQLSource is the BasicCopySource implementation for ServiceNowSource.
182983  func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) {
182984  	return nil, false
182985  }
182986  
182987  // AsSapTableSource is the BasicCopySource implementation for ServiceNowSource.
182988  func (sns ServiceNowSource) AsSapTableSource() (*SapTableSource, bool) {
182989  	return nil, false
182990  }
182991  
182992  // AsSapOpenHubSource is the BasicCopySource implementation for ServiceNowSource.
182993  func (sns ServiceNowSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
182994  	return nil, false
182995  }
182996  
182997  // AsSapHanaSource is the BasicCopySource implementation for ServiceNowSource.
182998  func (sns ServiceNowSource) AsSapHanaSource() (*SapHanaSource, bool) {
182999  	return nil, false
183000  }
183001  
183002  // AsSapEccSource is the BasicCopySource implementation for ServiceNowSource.
183003  func (sns ServiceNowSource) AsSapEccSource() (*SapEccSource, bool) {
183004  	return nil, false
183005  }
183006  
183007  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ServiceNowSource.
183008  func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
183009  	return nil, false
183010  }
183011  
183012  // AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource.
183013  func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) {
183014  	return nil, false
183015  }
183016  
183017  // AsSapBwSource is the BasicCopySource implementation for ServiceNowSource.
183018  func (sns ServiceNowSource) AsSapBwSource() (*SapBwSource, bool) {
183019  	return nil, false
183020  }
183021  
183022  // AsSybaseSource is the BasicCopySource implementation for ServiceNowSource.
183023  func (sns ServiceNowSource) AsSybaseSource() (*SybaseSource, bool) {
183024  	return nil, false
183025  }
183026  
183027  // AsPostgreSQLSource is the BasicCopySource implementation for ServiceNowSource.
183028  func (sns ServiceNowSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
183029  	return nil, false
183030  }
183031  
183032  // AsMySQLSource is the BasicCopySource implementation for ServiceNowSource.
183033  func (sns ServiceNowSource) AsMySQLSource() (*MySQLSource, bool) {
183034  	return nil, false
183035  }
183036  
183037  // AsOdbcSource is the BasicCopySource implementation for ServiceNowSource.
183038  func (sns ServiceNowSource) AsOdbcSource() (*OdbcSource, bool) {
183039  	return nil, false
183040  }
183041  
183042  // AsDb2Source is the BasicCopySource implementation for ServiceNowSource.
183043  func (sns ServiceNowSource) AsDb2Source() (*Db2Source, bool) {
183044  	return nil, false
183045  }
183046  
183047  // AsInformixSource is the BasicCopySource implementation for ServiceNowSource.
183048  func (sns ServiceNowSource) AsInformixSource() (*InformixSource, bool) {
183049  	return nil, false
183050  }
183051  
183052  // AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource.
183053  func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) {
183054  	return nil, false
183055  }
183056  
183057  // AsTabularSource is the BasicCopySource implementation for ServiceNowSource.
183058  func (sns ServiceNowSource) AsTabularSource() (*TabularSource, bool) {
183059  	return nil, false
183060  }
183061  
183062  // AsBasicTabularSource is the BasicCopySource implementation for ServiceNowSource.
183063  func (sns ServiceNowSource) AsBasicTabularSource() (BasicTabularSource, bool) {
183064  	return &sns, true
183065  }
183066  
183067  // AsBinarySource is the BasicCopySource implementation for ServiceNowSource.
183068  func (sns ServiceNowSource) AsBinarySource() (*BinarySource, bool) {
183069  	return nil, false
183070  }
183071  
183072  // AsOrcSource is the BasicCopySource implementation for ServiceNowSource.
183073  func (sns ServiceNowSource) AsOrcSource() (*OrcSource, bool) {
183074  	return nil, false
183075  }
183076  
183077  // AsJSONSource is the BasicCopySource implementation for ServiceNowSource.
183078  func (sns ServiceNowSource) AsJSONSource() (*JSONSource, bool) {
183079  	return nil, false
183080  }
183081  
183082  // AsDelimitedTextSource is the BasicCopySource implementation for ServiceNowSource.
183083  func (sns ServiceNowSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
183084  	return nil, false
183085  }
183086  
183087  // AsParquetSource is the BasicCopySource implementation for ServiceNowSource.
183088  func (sns ServiceNowSource) AsParquetSource() (*ParquetSource, bool) {
183089  	return nil, false
183090  }
183091  
183092  // AsAvroSource is the BasicCopySource implementation for ServiceNowSource.
183093  func (sns ServiceNowSource) AsAvroSource() (*AvroSource, bool) {
183094  	return nil, false
183095  }
183096  
183097  // AsCopySource is the BasicCopySource implementation for ServiceNowSource.
183098  func (sns ServiceNowSource) AsCopySource() (*CopySource, bool) {
183099  	return nil, false
183100  }
183101  
183102  // AsBasicCopySource is the BasicCopySource implementation for ServiceNowSource.
183103  func (sns ServiceNowSource) AsBasicCopySource() (BasicCopySource, bool) {
183104  	return &sns, true
183105  }
183106  
183107  // UnmarshalJSON is the custom unmarshaler for ServiceNowSource struct.
183108  func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error {
183109  	var m map[string]*json.RawMessage
183110  	err := json.Unmarshal(body, &m)
183111  	if err != nil {
183112  		return err
183113  	}
183114  	for k, v := range m {
183115  		switch k {
183116  		case "query":
183117  			if v != nil {
183118  				var query interface{}
183119  				err = json.Unmarshal(*v, &query)
183120  				if err != nil {
183121  					return err
183122  				}
183123  				sns.Query = query
183124  			}
183125  		case "queryTimeout":
183126  			if v != nil {
183127  				var queryTimeout interface{}
183128  				err = json.Unmarshal(*v, &queryTimeout)
183129  				if err != nil {
183130  					return err
183131  				}
183132  				sns.QueryTimeout = queryTimeout
183133  			}
183134  		default:
183135  			if v != nil {
183136  				var additionalProperties interface{}
183137  				err = json.Unmarshal(*v, &additionalProperties)
183138  				if err != nil {
183139  					return err
183140  				}
183141  				if sns.AdditionalProperties == nil {
183142  					sns.AdditionalProperties = make(map[string]interface{})
183143  				}
183144  				sns.AdditionalProperties[k] = additionalProperties
183145  			}
183146  		case "sourceRetryCount":
183147  			if v != nil {
183148  				var sourceRetryCount interface{}
183149  				err = json.Unmarshal(*v, &sourceRetryCount)
183150  				if err != nil {
183151  					return err
183152  				}
183153  				sns.SourceRetryCount = sourceRetryCount
183154  			}
183155  		case "sourceRetryWait":
183156  			if v != nil {
183157  				var sourceRetryWait interface{}
183158  				err = json.Unmarshal(*v, &sourceRetryWait)
183159  				if err != nil {
183160  					return err
183161  				}
183162  				sns.SourceRetryWait = sourceRetryWait
183163  			}
183164  		case "maxConcurrentConnections":
183165  			if v != nil {
183166  				var maxConcurrentConnections interface{}
183167  				err = json.Unmarshal(*v, &maxConcurrentConnections)
183168  				if err != nil {
183169  					return err
183170  				}
183171  				sns.MaxConcurrentConnections = maxConcurrentConnections
183172  			}
183173  		case "type":
183174  			if v != nil {
183175  				var typeVar TypeBasicCopySource
183176  				err = json.Unmarshal(*v, &typeVar)
183177  				if err != nil {
183178  					return err
183179  				}
183180  				sns.Type = typeVar
183181  			}
183182  		}
183183  	}
183184  
183185  	return nil
183186  }
183187  
183188  // SetVariableActivity set value for a Variable.
183189  type SetVariableActivity struct {
183190  	// SetVariableActivityTypeProperties - Set Variable activity properties.
183191  	*SetVariableActivityTypeProperties `json:"typeProperties,omitempty"`
183192  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183193  	AdditionalProperties map[string]interface{} `json:""`
183194  	// Name - Activity name.
183195  	Name *string `json:"name,omitempty"`
183196  	// Description - Activity description.
183197  	Description *string `json:"description,omitempty"`
183198  	// DependsOn - Activity depends on condition.
183199  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
183200  	// UserProperties - Activity user properties.
183201  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
183202  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
183203  	Type TypeBasicActivity `json:"type,omitempty"`
183204  }
183205  
183206  // MarshalJSON is the custom marshaler for SetVariableActivity.
183207  func (sva SetVariableActivity) MarshalJSON() ([]byte, error) {
183208  	sva.Type = TypeSetVariable
183209  	objectMap := make(map[string]interface{})
183210  	if sva.SetVariableActivityTypeProperties != nil {
183211  		objectMap["typeProperties"] = sva.SetVariableActivityTypeProperties
183212  	}
183213  	if sva.Name != nil {
183214  		objectMap["name"] = sva.Name
183215  	}
183216  	if sva.Description != nil {
183217  		objectMap["description"] = sva.Description
183218  	}
183219  	if sva.DependsOn != nil {
183220  		objectMap["dependsOn"] = sva.DependsOn
183221  	}
183222  	if sva.UserProperties != nil {
183223  		objectMap["userProperties"] = sva.UserProperties
183224  	}
183225  	if sva.Type != "" {
183226  		objectMap["type"] = sva.Type
183227  	}
183228  	for k, v := range sva.AdditionalProperties {
183229  		objectMap[k] = v
183230  	}
183231  	return json.Marshal(objectMap)
183232  }
183233  
183234  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SetVariableActivity.
183235  func (sva SetVariableActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
183236  	return nil, false
183237  }
183238  
183239  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SetVariableActivity.
183240  func (sva SetVariableActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
183241  	return nil, false
183242  }
183243  
183244  // AsSynapseNotebookActivity is the BasicActivity implementation for SetVariableActivity.
183245  func (sva SetVariableActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
183246  	return nil, false
183247  }
183248  
183249  // AsExecuteDataFlowActivity is the BasicActivity implementation for SetVariableActivity.
183250  func (sva SetVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
183251  	return nil, false
183252  }
183253  
183254  // AsAzureFunctionActivity is the BasicActivity implementation for SetVariableActivity.
183255  func (sva SetVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
183256  	return nil, false
183257  }
183258  
183259  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SetVariableActivity.
183260  func (sva SetVariableActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
183261  	return nil, false
183262  }
183263  
183264  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SetVariableActivity.
183265  func (sva SetVariableActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
183266  	return nil, false
183267  }
183268  
183269  // AsDatabricksNotebookActivity is the BasicActivity implementation for SetVariableActivity.
183270  func (sva SetVariableActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
183271  	return nil, false
183272  }
183273  
183274  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SetVariableActivity.
183275  func (sva SetVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
183276  	return nil, false
183277  }
183278  
183279  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity.
183280  func (sva SetVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
183281  	return nil, false
183282  }
183283  
183284  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SetVariableActivity.
183285  func (sva SetVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
183286  	return nil, false
183287  }
183288  
183289  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SetVariableActivity.
183290  func (sva SetVariableActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
183291  	return nil, false
183292  }
183293  
183294  // AsGetMetadataActivity is the BasicActivity implementation for SetVariableActivity.
183295  func (sva SetVariableActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
183296  	return nil, false
183297  }
183298  
183299  // AsWebActivity is the BasicActivity implementation for SetVariableActivity.
183300  func (sva SetVariableActivity) AsWebActivity() (*WebActivity, bool) {
183301  	return nil, false
183302  }
183303  
183304  // AsLookupActivity is the BasicActivity implementation for SetVariableActivity.
183305  func (sva SetVariableActivity) AsLookupActivity() (*LookupActivity, bool) {
183306  	return nil, false
183307  }
183308  
183309  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SetVariableActivity.
183310  func (sva SetVariableActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
183311  	return nil, false
183312  }
183313  
183314  // AsDeleteActivity is the BasicActivity implementation for SetVariableActivity.
183315  func (sva SetVariableActivity) AsDeleteActivity() (*DeleteActivity, bool) {
183316  	return nil, false
183317  }
183318  
183319  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SetVariableActivity.
183320  func (sva SetVariableActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
183321  	return nil, false
183322  }
183323  
183324  // AsCustomActivity is the BasicActivity implementation for SetVariableActivity.
183325  func (sva SetVariableActivity) AsCustomActivity() (*CustomActivity, bool) {
183326  	return nil, false
183327  }
183328  
183329  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SetVariableActivity.
183330  func (sva SetVariableActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
183331  	return nil, false
183332  }
183333  
183334  // AsHDInsightSparkActivity is the BasicActivity implementation for SetVariableActivity.
183335  func (sva SetVariableActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
183336  	return nil, false
183337  }
183338  
183339  // AsHDInsightStreamingActivity is the BasicActivity implementation for SetVariableActivity.
183340  func (sva SetVariableActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
183341  	return nil, false
183342  }
183343  
183344  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SetVariableActivity.
183345  func (sva SetVariableActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
183346  	return nil, false
183347  }
183348  
183349  // AsHDInsightPigActivity is the BasicActivity implementation for SetVariableActivity.
183350  func (sva SetVariableActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
183351  	return nil, false
183352  }
183353  
183354  // AsHDInsightHiveActivity is the BasicActivity implementation for SetVariableActivity.
183355  func (sva SetVariableActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
183356  	return nil, false
183357  }
183358  
183359  // AsCopyActivity is the BasicActivity implementation for SetVariableActivity.
183360  func (sva SetVariableActivity) AsCopyActivity() (*CopyActivity, bool) {
183361  	return nil, false
183362  }
183363  
183364  // AsExecutionActivity is the BasicActivity implementation for SetVariableActivity.
183365  func (sva SetVariableActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
183366  	return nil, false
183367  }
183368  
183369  // AsBasicExecutionActivity is the BasicActivity implementation for SetVariableActivity.
183370  func (sva SetVariableActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
183371  	return nil, false
183372  }
183373  
183374  // AsWebHookActivity is the BasicActivity implementation for SetVariableActivity.
183375  func (sva SetVariableActivity) AsWebHookActivity() (*WebHookActivity, bool) {
183376  	return nil, false
183377  }
183378  
183379  // AsAppendVariableActivity is the BasicActivity implementation for SetVariableActivity.
183380  func (sva SetVariableActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
183381  	return nil, false
183382  }
183383  
183384  // AsSetVariableActivity is the BasicActivity implementation for SetVariableActivity.
183385  func (sva SetVariableActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
183386  	return &sva, true
183387  }
183388  
183389  // AsFilterActivity is the BasicActivity implementation for SetVariableActivity.
183390  func (sva SetVariableActivity) AsFilterActivity() (*FilterActivity, bool) {
183391  	return nil, false
183392  }
183393  
183394  // AsValidationActivity is the BasicActivity implementation for SetVariableActivity.
183395  func (sva SetVariableActivity) AsValidationActivity() (*ValidationActivity, bool) {
183396  	return nil, false
183397  }
183398  
183399  // AsUntilActivity is the BasicActivity implementation for SetVariableActivity.
183400  func (sva SetVariableActivity) AsUntilActivity() (*UntilActivity, bool) {
183401  	return nil, false
183402  }
183403  
183404  // AsWaitActivity is the BasicActivity implementation for SetVariableActivity.
183405  func (sva SetVariableActivity) AsWaitActivity() (*WaitActivity, bool) {
183406  	return nil, false
183407  }
183408  
183409  // AsForEachActivity is the BasicActivity implementation for SetVariableActivity.
183410  func (sva SetVariableActivity) AsForEachActivity() (*ForEachActivity, bool) {
183411  	return nil, false
183412  }
183413  
183414  // AsSwitchActivity is the BasicActivity implementation for SetVariableActivity.
183415  func (sva SetVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) {
183416  	return nil, false
183417  }
183418  
183419  // AsIfConditionActivity is the BasicActivity implementation for SetVariableActivity.
183420  func (sva SetVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
183421  	return nil, false
183422  }
183423  
183424  // AsExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity.
183425  func (sva SetVariableActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
183426  	return nil, false
183427  }
183428  
183429  // AsControlActivity is the BasicActivity implementation for SetVariableActivity.
183430  func (sva SetVariableActivity) AsControlActivity() (*ControlActivity, bool) {
183431  	return nil, false
183432  }
183433  
183434  // AsBasicControlActivity is the BasicActivity implementation for SetVariableActivity.
183435  func (sva SetVariableActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
183436  	return &sva, true
183437  }
183438  
183439  // AsActivity is the BasicActivity implementation for SetVariableActivity.
183440  func (sva SetVariableActivity) AsActivity() (*Activity, bool) {
183441  	return nil, false
183442  }
183443  
183444  // AsBasicActivity is the BasicActivity implementation for SetVariableActivity.
183445  func (sva SetVariableActivity) AsBasicActivity() (BasicActivity, bool) {
183446  	return &sva, true
183447  }
183448  
183449  // UnmarshalJSON is the custom unmarshaler for SetVariableActivity struct.
183450  func (sva *SetVariableActivity) UnmarshalJSON(body []byte) error {
183451  	var m map[string]*json.RawMessage
183452  	err := json.Unmarshal(body, &m)
183453  	if err != nil {
183454  		return err
183455  	}
183456  	for k, v := range m {
183457  		switch k {
183458  		case "typeProperties":
183459  			if v != nil {
183460  				var setVariableActivityTypeProperties SetVariableActivityTypeProperties
183461  				err = json.Unmarshal(*v, &setVariableActivityTypeProperties)
183462  				if err != nil {
183463  					return err
183464  				}
183465  				sva.SetVariableActivityTypeProperties = &setVariableActivityTypeProperties
183466  			}
183467  		default:
183468  			if v != nil {
183469  				var additionalProperties interface{}
183470  				err = json.Unmarshal(*v, &additionalProperties)
183471  				if err != nil {
183472  					return err
183473  				}
183474  				if sva.AdditionalProperties == nil {
183475  					sva.AdditionalProperties = make(map[string]interface{})
183476  				}
183477  				sva.AdditionalProperties[k] = additionalProperties
183478  			}
183479  		case "name":
183480  			if v != nil {
183481  				var name string
183482  				err = json.Unmarshal(*v, &name)
183483  				if err != nil {
183484  					return err
183485  				}
183486  				sva.Name = &name
183487  			}
183488  		case "description":
183489  			if v != nil {
183490  				var description string
183491  				err = json.Unmarshal(*v, &description)
183492  				if err != nil {
183493  					return err
183494  				}
183495  				sva.Description = &description
183496  			}
183497  		case "dependsOn":
183498  			if v != nil {
183499  				var dependsOn []ActivityDependency
183500  				err = json.Unmarshal(*v, &dependsOn)
183501  				if err != nil {
183502  					return err
183503  				}
183504  				sva.DependsOn = &dependsOn
183505  			}
183506  		case "userProperties":
183507  			if v != nil {
183508  				var userProperties []UserProperty
183509  				err = json.Unmarshal(*v, &userProperties)
183510  				if err != nil {
183511  					return err
183512  				}
183513  				sva.UserProperties = &userProperties
183514  			}
183515  		case "type":
183516  			if v != nil {
183517  				var typeVar TypeBasicActivity
183518  				err = json.Unmarshal(*v, &typeVar)
183519  				if err != nil {
183520  					return err
183521  				}
183522  				sva.Type = typeVar
183523  			}
183524  		}
183525  	}
183526  
183527  	return nil
183528  }
183529  
183530  // SetVariableActivityTypeProperties setVariable activity properties.
183531  type SetVariableActivityTypeProperties struct {
183532  	// VariableName - Name of the variable whose value needs to be set.
183533  	VariableName *string `json:"variableName,omitempty"`
183534  	// Value - Value to be set. Could be a static value or Expression
183535  	Value interface{} `json:"value,omitempty"`
183536  }
183537  
183538  // SftpLocation the location of SFTP dataset.
183539  type SftpLocation struct {
183540  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183541  	AdditionalProperties map[string]interface{} `json:""`
183542  	// FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string)
183543  	FolderPath interface{} `json:"folderPath,omitempty"`
183544  	// FileName - Specify the file name of dataset. Type: string (or Expression with resultType string).
183545  	FileName interface{} `json:"fileName,omitempty"`
183546  	// Type - Possible values include: 'TypeDatasetLocation', 'TypeHdfsLocation', 'TypeHTTPServerLocation', 'TypeSftpLocation', 'TypeFtpServerLocation', 'TypeGoogleCloudStorageLocation', 'TypeAzureFileStorageLocation', 'TypeFileServerLocation', 'TypeAmazonS3Location', 'TypeAzureDataLakeStoreLocation', 'TypeAzureBlobFSLocation', 'TypeAzureBlobStorageLocation'
183547  	Type TypeBasicDatasetLocation `json:"type,omitempty"`
183548  }
183549  
183550  // MarshalJSON is the custom marshaler for SftpLocation.
183551  func (sl SftpLocation) MarshalJSON() ([]byte, error) {
183552  	sl.Type = TypeSftpLocation
183553  	objectMap := make(map[string]interface{})
183554  	if sl.FolderPath != nil {
183555  		objectMap["folderPath"] = sl.FolderPath
183556  	}
183557  	if sl.FileName != nil {
183558  		objectMap["fileName"] = sl.FileName
183559  	}
183560  	if sl.Type != "" {
183561  		objectMap["type"] = sl.Type
183562  	}
183563  	for k, v := range sl.AdditionalProperties {
183564  		objectMap[k] = v
183565  	}
183566  	return json.Marshal(objectMap)
183567  }
183568  
183569  // AsHdfsLocation is the BasicDatasetLocation implementation for SftpLocation.
183570  func (sl SftpLocation) AsHdfsLocation() (*HdfsLocation, bool) {
183571  	return nil, false
183572  }
183573  
183574  // AsHTTPServerLocation is the BasicDatasetLocation implementation for SftpLocation.
183575  func (sl SftpLocation) AsHTTPServerLocation() (*HTTPServerLocation, bool) {
183576  	return nil, false
183577  }
183578  
183579  // AsSftpLocation is the BasicDatasetLocation implementation for SftpLocation.
183580  func (sl SftpLocation) AsSftpLocation() (*SftpLocation, bool) {
183581  	return &sl, true
183582  }
183583  
183584  // AsFtpServerLocation is the BasicDatasetLocation implementation for SftpLocation.
183585  func (sl SftpLocation) AsFtpServerLocation() (*FtpServerLocation, bool) {
183586  	return nil, false
183587  }
183588  
183589  // AsGoogleCloudStorageLocation is the BasicDatasetLocation implementation for SftpLocation.
183590  func (sl SftpLocation) AsGoogleCloudStorageLocation() (*GoogleCloudStorageLocation, bool) {
183591  	return nil, false
183592  }
183593  
183594  // AsAzureFileStorageLocation is the BasicDatasetLocation implementation for SftpLocation.
183595  func (sl SftpLocation) AsAzureFileStorageLocation() (*AzureFileStorageLocation, bool) {
183596  	return nil, false
183597  }
183598  
183599  // AsFileServerLocation is the BasicDatasetLocation implementation for SftpLocation.
183600  func (sl SftpLocation) AsFileServerLocation() (*FileServerLocation, bool) {
183601  	return nil, false
183602  }
183603  
183604  // AsAmazonS3Location is the BasicDatasetLocation implementation for SftpLocation.
183605  func (sl SftpLocation) AsAmazonS3Location() (*AmazonS3Location, bool) {
183606  	return nil, false
183607  }
183608  
183609  // AsAzureDataLakeStoreLocation is the BasicDatasetLocation implementation for SftpLocation.
183610  func (sl SftpLocation) AsAzureDataLakeStoreLocation() (*AzureDataLakeStoreLocation, bool) {
183611  	return nil, false
183612  }
183613  
183614  // AsAzureBlobFSLocation is the BasicDatasetLocation implementation for SftpLocation.
183615  func (sl SftpLocation) AsAzureBlobFSLocation() (*AzureBlobFSLocation, bool) {
183616  	return nil, false
183617  }
183618  
183619  // AsAzureBlobStorageLocation is the BasicDatasetLocation implementation for SftpLocation.
183620  func (sl SftpLocation) AsAzureBlobStorageLocation() (*AzureBlobStorageLocation, bool) {
183621  	return nil, false
183622  }
183623  
183624  // AsDatasetLocation is the BasicDatasetLocation implementation for SftpLocation.
183625  func (sl SftpLocation) AsDatasetLocation() (*DatasetLocation, bool) {
183626  	return nil, false
183627  }
183628  
183629  // AsBasicDatasetLocation is the BasicDatasetLocation implementation for SftpLocation.
183630  func (sl SftpLocation) AsBasicDatasetLocation() (BasicDatasetLocation, bool) {
183631  	return &sl, true
183632  }
183633  
183634  // UnmarshalJSON is the custom unmarshaler for SftpLocation struct.
183635  func (sl *SftpLocation) UnmarshalJSON(body []byte) error {
183636  	var m map[string]*json.RawMessage
183637  	err := json.Unmarshal(body, &m)
183638  	if err != nil {
183639  		return err
183640  	}
183641  	for k, v := range m {
183642  		switch k {
183643  		default:
183644  			if v != nil {
183645  				var additionalProperties interface{}
183646  				err = json.Unmarshal(*v, &additionalProperties)
183647  				if err != nil {
183648  					return err
183649  				}
183650  				if sl.AdditionalProperties == nil {
183651  					sl.AdditionalProperties = make(map[string]interface{})
183652  				}
183653  				sl.AdditionalProperties[k] = additionalProperties
183654  			}
183655  		case "folderPath":
183656  			if v != nil {
183657  				var folderPath interface{}
183658  				err = json.Unmarshal(*v, &folderPath)
183659  				if err != nil {
183660  					return err
183661  				}
183662  				sl.FolderPath = folderPath
183663  			}
183664  		case "fileName":
183665  			if v != nil {
183666  				var fileName interface{}
183667  				err = json.Unmarshal(*v, &fileName)
183668  				if err != nil {
183669  					return err
183670  				}
183671  				sl.FileName = fileName
183672  			}
183673  		case "type":
183674  			if v != nil {
183675  				var typeVar TypeBasicDatasetLocation
183676  				err = json.Unmarshal(*v, &typeVar)
183677  				if err != nil {
183678  					return err
183679  				}
183680  				sl.Type = typeVar
183681  			}
183682  		}
183683  	}
183684  
183685  	return nil
183686  }
183687  
183688  // SftpReadSettings sftp read settings.
183689  type SftpReadSettings struct {
183690  	// Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
183691  	Recursive interface{} `json:"recursive,omitempty"`
183692  	// WildcardFolderPath - Sftp wildcardFolderPath. Type: string (or Expression with resultType string).
183693  	WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"`
183694  	// WildcardFileName - Sftp wildcardFileName. Type: string (or Expression with resultType string).
183695  	WildcardFileName interface{} `json:"wildcardFileName,omitempty"`
183696  	// ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string).
183697  	ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"`
183698  	// ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string).
183699  	ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"`
183700  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183701  	AdditionalProperties map[string]interface{} `json:""`
183702  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
183703  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
183704  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
183705  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
183706  }
183707  
183708  // MarshalJSON is the custom marshaler for SftpReadSettings.
183709  func (srs SftpReadSettings) MarshalJSON() ([]byte, error) {
183710  	srs.Type = TypeSftpReadSettings
183711  	objectMap := make(map[string]interface{})
183712  	if srs.Recursive != nil {
183713  		objectMap["recursive"] = srs.Recursive
183714  	}
183715  	if srs.WildcardFolderPath != nil {
183716  		objectMap["wildcardFolderPath"] = srs.WildcardFolderPath
183717  	}
183718  	if srs.WildcardFileName != nil {
183719  		objectMap["wildcardFileName"] = srs.WildcardFileName
183720  	}
183721  	if srs.ModifiedDatetimeStart != nil {
183722  		objectMap["modifiedDatetimeStart"] = srs.ModifiedDatetimeStart
183723  	}
183724  	if srs.ModifiedDatetimeEnd != nil {
183725  		objectMap["modifiedDatetimeEnd"] = srs.ModifiedDatetimeEnd
183726  	}
183727  	if srs.MaxConcurrentConnections != nil {
183728  		objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections
183729  	}
183730  	if srs.Type != "" {
183731  		objectMap["type"] = srs.Type
183732  	}
183733  	for k, v := range srs.AdditionalProperties {
183734  		objectMap[k] = v
183735  	}
183736  	return json.Marshal(objectMap)
183737  }
183738  
183739  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183740  func (srs SftpReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
183741  	return nil, false
183742  }
183743  
183744  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183745  func (srs SftpReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
183746  	return nil, false
183747  }
183748  
183749  // AsSftpReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183750  func (srs SftpReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
183751  	return &srs, true
183752  }
183753  
183754  // AsFtpReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183755  func (srs SftpReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
183756  	return nil, false
183757  }
183758  
183759  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183760  func (srs SftpReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
183761  	return nil, false
183762  }
183763  
183764  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183765  func (srs SftpReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
183766  	return nil, false
183767  }
183768  
183769  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183770  func (srs SftpReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
183771  	return nil, false
183772  }
183773  
183774  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183775  func (srs SftpReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
183776  	return nil, false
183777  }
183778  
183779  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183780  func (srs SftpReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
183781  	return nil, false
183782  }
183783  
183784  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183785  func (srs SftpReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
183786  	return nil, false
183787  }
183788  
183789  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183790  func (srs SftpReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
183791  	return nil, false
183792  }
183793  
183794  // AsStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183795  func (srs SftpReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
183796  	return nil, false
183797  }
183798  
183799  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for SftpReadSettings.
183800  func (srs SftpReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
183801  	return &srs, true
183802  }
183803  
183804  // UnmarshalJSON is the custom unmarshaler for SftpReadSettings struct.
183805  func (srs *SftpReadSettings) UnmarshalJSON(body []byte) error {
183806  	var m map[string]*json.RawMessage
183807  	err := json.Unmarshal(body, &m)
183808  	if err != nil {
183809  		return err
183810  	}
183811  	for k, v := range m {
183812  		switch k {
183813  		case "recursive":
183814  			if v != nil {
183815  				var recursive interface{}
183816  				err = json.Unmarshal(*v, &recursive)
183817  				if err != nil {
183818  					return err
183819  				}
183820  				srs.Recursive = recursive
183821  			}
183822  		case "wildcardFolderPath":
183823  			if v != nil {
183824  				var wildcardFolderPath interface{}
183825  				err = json.Unmarshal(*v, &wildcardFolderPath)
183826  				if err != nil {
183827  					return err
183828  				}
183829  				srs.WildcardFolderPath = wildcardFolderPath
183830  			}
183831  		case "wildcardFileName":
183832  			if v != nil {
183833  				var wildcardFileName interface{}
183834  				err = json.Unmarshal(*v, &wildcardFileName)
183835  				if err != nil {
183836  					return err
183837  				}
183838  				srs.WildcardFileName = wildcardFileName
183839  			}
183840  		case "modifiedDatetimeStart":
183841  			if v != nil {
183842  				var modifiedDatetimeStart interface{}
183843  				err = json.Unmarshal(*v, &modifiedDatetimeStart)
183844  				if err != nil {
183845  					return err
183846  				}
183847  				srs.ModifiedDatetimeStart = modifiedDatetimeStart
183848  			}
183849  		case "modifiedDatetimeEnd":
183850  			if v != nil {
183851  				var modifiedDatetimeEnd interface{}
183852  				err = json.Unmarshal(*v, &modifiedDatetimeEnd)
183853  				if err != nil {
183854  					return err
183855  				}
183856  				srs.ModifiedDatetimeEnd = modifiedDatetimeEnd
183857  			}
183858  		default:
183859  			if v != nil {
183860  				var additionalProperties interface{}
183861  				err = json.Unmarshal(*v, &additionalProperties)
183862  				if err != nil {
183863  					return err
183864  				}
183865  				if srs.AdditionalProperties == nil {
183866  					srs.AdditionalProperties = make(map[string]interface{})
183867  				}
183868  				srs.AdditionalProperties[k] = additionalProperties
183869  			}
183870  		case "maxConcurrentConnections":
183871  			if v != nil {
183872  				var maxConcurrentConnections interface{}
183873  				err = json.Unmarshal(*v, &maxConcurrentConnections)
183874  				if err != nil {
183875  					return err
183876  				}
183877  				srs.MaxConcurrentConnections = maxConcurrentConnections
183878  			}
183879  		case "type":
183880  			if v != nil {
183881  				var typeVar TypeBasicStoreReadSettings
183882  				err = json.Unmarshal(*v, &typeVar)
183883  				if err != nil {
183884  					return err
183885  				}
183886  				srs.Type = typeVar
183887  			}
183888  		}
183889  	}
183890  
183891  	return nil
183892  }
183893  
183894  // SftpServerLinkedService a linked service for an SSH File Transfer Protocol (SFTP) server.
183895  type SftpServerLinkedService struct {
183896  	// SftpServerLinkedServiceTypeProperties - Properties specific to this linked service type.
183897  	*SftpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
183898  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
183899  	AdditionalProperties map[string]interface{} `json:""`
183900  	// ConnectVia - The integration runtime reference.
183901  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
183902  	// Description - Linked service description.
183903  	Description *string `json:"description,omitempty"`
183904  	// Parameters - Parameters for linked service.
183905  	Parameters map[string]*ParameterSpecification `json:"parameters"`
183906  	// Annotations - List of tags that can be used for describing the linked service.
183907  	Annotations *[]interface{} `json:"annotations,omitempty"`
183908  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
183909  	Type TypeBasicLinkedService `json:"type,omitempty"`
183910  }
183911  
183912  // MarshalJSON is the custom marshaler for SftpServerLinkedService.
183913  func (ssls SftpServerLinkedService) MarshalJSON() ([]byte, error) {
183914  	ssls.Type = TypeSftp
183915  	objectMap := make(map[string]interface{})
183916  	if ssls.SftpServerLinkedServiceTypeProperties != nil {
183917  		objectMap["typeProperties"] = ssls.SftpServerLinkedServiceTypeProperties
183918  	}
183919  	if ssls.ConnectVia != nil {
183920  		objectMap["connectVia"] = ssls.ConnectVia
183921  	}
183922  	if ssls.Description != nil {
183923  		objectMap["description"] = ssls.Description
183924  	}
183925  	if ssls.Parameters != nil {
183926  		objectMap["parameters"] = ssls.Parameters
183927  	}
183928  	if ssls.Annotations != nil {
183929  		objectMap["annotations"] = ssls.Annotations
183930  	}
183931  	if ssls.Type != "" {
183932  		objectMap["type"] = ssls.Type
183933  	}
183934  	for k, v := range ssls.AdditionalProperties {
183935  		objectMap[k] = v
183936  	}
183937  	return json.Marshal(objectMap)
183938  }
183939  
183940  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183941  func (ssls SftpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
183942  	return nil, false
183943  }
183944  
183945  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183946  func (ssls SftpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
183947  	return nil, false
183948  }
183949  
183950  // AsSapTableLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183951  func (ssls SftpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
183952  	return nil, false
183953  }
183954  
183955  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183956  func (ssls SftpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
183957  	return nil, false
183958  }
183959  
183960  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183961  func (ssls SftpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
183962  	return nil, false
183963  }
183964  
183965  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183966  func (ssls SftpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
183967  	return nil, false
183968  }
183969  
183970  // AsResponsysLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183971  func (ssls SftpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
183972  	return nil, false
183973  }
183974  
183975  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183976  func (ssls SftpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
183977  	return nil, false
183978  }
183979  
183980  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183981  func (ssls SftpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
183982  	return nil, false
183983  }
183984  
183985  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183986  func (ssls SftpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
183987  	return nil, false
183988  }
183989  
183990  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183991  func (ssls SftpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
183992  	return nil, false
183993  }
183994  
183995  // AsNetezzaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
183996  func (ssls SftpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
183997  	return nil, false
183998  }
183999  
184000  // AsVerticaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184001  func (ssls SftpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
184002  	return nil, false
184003  }
184004  
184005  // AsZohoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184006  func (ssls SftpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
184007  	return nil, false
184008  }
184009  
184010  // AsXeroLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184011  func (ssls SftpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
184012  	return nil, false
184013  }
184014  
184015  // AsSquareLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184016  func (ssls SftpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
184017  	return nil, false
184018  }
184019  
184020  // AsSparkLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184021  func (ssls SftpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
184022  	return nil, false
184023  }
184024  
184025  // AsShopifyLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184026  func (ssls SftpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
184027  	return nil, false
184028  }
184029  
184030  // AsServiceNowLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184031  func (ssls SftpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
184032  	return nil, false
184033  }
184034  
184035  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184036  func (ssls SftpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
184037  	return nil, false
184038  }
184039  
184040  // AsPrestoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184041  func (ssls SftpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
184042  	return nil, false
184043  }
184044  
184045  // AsPhoenixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184046  func (ssls SftpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
184047  	return nil, false
184048  }
184049  
184050  // AsPaypalLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184051  func (ssls SftpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
184052  	return nil, false
184053  }
184054  
184055  // AsMarketoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184056  func (ssls SftpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
184057  	return nil, false
184058  }
184059  
184060  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184061  func (ssls SftpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
184062  	return nil, false
184063  }
184064  
184065  // AsMariaDBLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184066  func (ssls SftpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
184067  	return nil, false
184068  }
184069  
184070  // AsMagentoLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184071  func (ssls SftpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
184072  	return nil, false
184073  }
184074  
184075  // AsJiraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184076  func (ssls SftpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
184077  	return nil, false
184078  }
184079  
184080  // AsImpalaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184081  func (ssls SftpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
184082  	return nil, false
184083  }
184084  
184085  // AsHubspotLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184086  func (ssls SftpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
184087  	return nil, false
184088  }
184089  
184090  // AsHiveLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184091  func (ssls SftpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
184092  	return nil, false
184093  }
184094  
184095  // AsHBaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184096  func (ssls SftpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
184097  	return nil, false
184098  }
184099  
184100  // AsGreenplumLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184101  func (ssls SftpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
184102  	return nil, false
184103  }
184104  
184105  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184106  func (ssls SftpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
184107  	return nil, false
184108  }
184109  
184110  // AsEloquaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184111  func (ssls SftpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
184112  	return nil, false
184113  }
184114  
184115  // AsDrillLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184116  func (ssls SftpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
184117  	return nil, false
184118  }
184119  
184120  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184121  func (ssls SftpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
184122  	return nil, false
184123  }
184124  
184125  // AsConcurLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184126  func (ssls SftpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
184127  	return nil, false
184128  }
184129  
184130  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184131  func (ssls SftpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
184132  	return nil, false
184133  }
184134  
184135  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184136  func (ssls SftpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
184137  	return nil, false
184138  }
184139  
184140  // AsSapHanaLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184141  func (ssls SftpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
184142  	return nil, false
184143  }
184144  
184145  // AsSapBWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184146  func (ssls SftpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
184147  	return nil, false
184148  }
184149  
184150  // AsSftpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184151  func (ssls SftpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
184152  	return &ssls, true
184153  }
184154  
184155  // AsFtpServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184156  func (ssls SftpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
184157  	return nil, false
184158  }
184159  
184160  // AsHTTPLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184161  func (ssls SftpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
184162  	return nil, false
184163  }
184164  
184165  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184166  func (ssls SftpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
184167  	return nil, false
184168  }
184169  
184170  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184171  func (ssls SftpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
184172  	return nil, false
184173  }
184174  
184175  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184176  func (ssls SftpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
184177  	return nil, false
184178  }
184179  
184180  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184181  func (ssls SftpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
184182  	return nil, false
184183  }
184184  
184185  // AsRestServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184186  func (ssls SftpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
184187  	return nil, false
184188  }
184189  
184190  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184191  func (ssls SftpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
184192  	return nil, false
184193  }
184194  
184195  // AsSapEccLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184196  func (ssls SftpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
184197  	return nil, false
184198  }
184199  
184200  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184201  func (ssls SftpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
184202  	return nil, false
184203  }
184204  
184205  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184206  func (ssls SftpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
184207  	return nil, false
184208  }
184209  
184210  // AsSalesforceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184211  func (ssls SftpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
184212  	return nil, false
184213  }
184214  
184215  // AsOffice365LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184216  func (ssls SftpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
184217  	return nil, false
184218  }
184219  
184220  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184221  func (ssls SftpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
184222  	return nil, false
184223  }
184224  
184225  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184226  func (ssls SftpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
184227  	return nil, false
184228  }
184229  
184230  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184231  func (ssls SftpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
184232  	return nil, false
184233  }
184234  
184235  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184236  func (ssls SftpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
184237  	return nil, false
184238  }
184239  
184240  // AsMongoDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184241  func (ssls SftpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
184242  	return nil, false
184243  }
184244  
184245  // AsCassandraLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184246  func (ssls SftpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
184247  	return nil, false
184248  }
184249  
184250  // AsWebLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184251  func (ssls SftpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
184252  	return nil, false
184253  }
184254  
184255  // AsODataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184256  func (ssls SftpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
184257  	return nil, false
184258  }
184259  
184260  // AsHdfsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184261  func (ssls SftpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
184262  	return nil, false
184263  }
184264  
184265  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184266  func (ssls SftpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
184267  	return nil, false
184268  }
184269  
184270  // AsInformixLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184271  func (ssls SftpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
184272  	return nil, false
184273  }
184274  
184275  // AsOdbcLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184276  func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
184277  	return nil, false
184278  }
184279  
184280  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184281  func (ssls SftpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
184282  	return nil, false
184283  }
184284  
184285  // AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184286  func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
184287  	return nil, false
184288  }
184289  
184290  // AsTeradataLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184291  func (ssls SftpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
184292  	return nil, false
184293  }
184294  
184295  // AsDb2LinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184296  func (ssls SftpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
184297  	return nil, false
184298  }
184299  
184300  // AsSybaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184301  func (ssls SftpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
184302  	return nil, false
184303  }
184304  
184305  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184306  func (ssls SftpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
184307  	return nil, false
184308  }
184309  
184310  // AsMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184311  func (ssls SftpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
184312  	return nil, false
184313  }
184314  
184315  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184316  func (ssls SftpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
184317  	return nil, false
184318  }
184319  
184320  // AsOracleLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184321  func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
184322  	return nil, false
184323  }
184324  
184325  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184326  func (ssls SftpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
184327  	return nil, false
184328  }
184329  
184330  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184331  func (ssls SftpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
184332  	return nil, false
184333  }
184334  
184335  // AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184336  func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
184337  	return nil, false
184338  }
184339  
184340  // AsHDInsightLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184341  func (ssls SftpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
184342  	return nil, false
184343  }
184344  
184345  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184346  func (ssls SftpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
184347  	return nil, false
184348  }
184349  
184350  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184351  func (ssls SftpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
184352  	return nil, false
184353  }
184354  
184355  // AsDynamicsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184356  func (ssls SftpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
184357  	return nil, false
184358  }
184359  
184360  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184361  func (ssls SftpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
184362  	return nil, false
184363  }
184364  
184365  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184366  func (ssls SftpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
184367  	return nil, false
184368  }
184369  
184370  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184371  func (ssls SftpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
184372  	return nil, false
184373  }
184374  
184375  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184376  func (ssls SftpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
184377  	return nil, false
184378  }
184379  
184380  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184381  func (ssls SftpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
184382  	return nil, false
184383  }
184384  
184385  // AsSQLServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184386  func (ssls SftpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
184387  	return nil, false
184388  }
184389  
184390  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184391  func (ssls SftpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
184392  	return nil, false
184393  }
184394  
184395  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184396  func (ssls SftpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
184397  	return nil, false
184398  }
184399  
184400  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184401  func (ssls SftpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
184402  	return nil, false
184403  }
184404  
184405  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184406  func (ssls SftpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
184407  	return nil, false
184408  }
184409  
184410  // AsLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184411  func (ssls SftpServerLinkedService) AsLinkedService() (*LinkedService, bool) {
184412  	return nil, false
184413  }
184414  
184415  // AsBasicLinkedService is the BasicLinkedService implementation for SftpServerLinkedService.
184416  func (ssls SftpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
184417  	return &ssls, true
184418  }
184419  
184420  // UnmarshalJSON is the custom unmarshaler for SftpServerLinkedService struct.
184421  func (ssls *SftpServerLinkedService) UnmarshalJSON(body []byte) error {
184422  	var m map[string]*json.RawMessage
184423  	err := json.Unmarshal(body, &m)
184424  	if err != nil {
184425  		return err
184426  	}
184427  	for k, v := range m {
184428  		switch k {
184429  		case "typeProperties":
184430  			if v != nil {
184431  				var sftpServerLinkedServiceTypeProperties SftpServerLinkedServiceTypeProperties
184432  				err = json.Unmarshal(*v, &sftpServerLinkedServiceTypeProperties)
184433  				if err != nil {
184434  					return err
184435  				}
184436  				ssls.SftpServerLinkedServiceTypeProperties = &sftpServerLinkedServiceTypeProperties
184437  			}
184438  		default:
184439  			if v != nil {
184440  				var additionalProperties interface{}
184441  				err = json.Unmarshal(*v, &additionalProperties)
184442  				if err != nil {
184443  					return err
184444  				}
184445  				if ssls.AdditionalProperties == nil {
184446  					ssls.AdditionalProperties = make(map[string]interface{})
184447  				}
184448  				ssls.AdditionalProperties[k] = additionalProperties
184449  			}
184450  		case "connectVia":
184451  			if v != nil {
184452  				var connectVia IntegrationRuntimeReference
184453  				err = json.Unmarshal(*v, &connectVia)
184454  				if err != nil {
184455  					return err
184456  				}
184457  				ssls.ConnectVia = &connectVia
184458  			}
184459  		case "description":
184460  			if v != nil {
184461  				var description string
184462  				err = json.Unmarshal(*v, &description)
184463  				if err != nil {
184464  					return err
184465  				}
184466  				ssls.Description = &description
184467  			}
184468  		case "parameters":
184469  			if v != nil {
184470  				var parameters map[string]*ParameterSpecification
184471  				err = json.Unmarshal(*v, &parameters)
184472  				if err != nil {
184473  					return err
184474  				}
184475  				ssls.Parameters = parameters
184476  			}
184477  		case "annotations":
184478  			if v != nil {
184479  				var annotations []interface{}
184480  				err = json.Unmarshal(*v, &annotations)
184481  				if err != nil {
184482  					return err
184483  				}
184484  				ssls.Annotations = &annotations
184485  			}
184486  		case "type":
184487  			if v != nil {
184488  				var typeVar TypeBasicLinkedService
184489  				err = json.Unmarshal(*v, &typeVar)
184490  				if err != nil {
184491  					return err
184492  				}
184493  				ssls.Type = typeVar
184494  			}
184495  		}
184496  	}
184497  
184498  	return nil
184499  }
184500  
184501  // SftpServerLinkedServiceTypeProperties properties specific to this linked service type.
184502  type SftpServerLinkedServiceTypeProperties struct {
184503  	// Host - The SFTP server host name. Type: string (or Expression with resultType string).
184504  	Host interface{} `json:"host,omitempty"`
184505  	// 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.
184506  	Port interface{} `json:"port,omitempty"`
184507  	// AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'SftpAuthenticationTypeBasic', 'SftpAuthenticationTypeSSHPublicKey'
184508  	AuthenticationType SftpAuthenticationType `json:"authenticationType,omitempty"`
184509  	// UserName - The username used to log on to the SFTP server. Type: string (or Expression with resultType string).
184510  	UserName interface{} `json:"userName,omitempty"`
184511  	// Password - Password to logon the SFTP server for Basic authentication.
184512  	Password BasicSecretBase `json:"password,omitempty"`
184513  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
184514  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
184515  	// 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).
184516  	PrivateKeyPath interface{} `json:"privateKeyPath,omitempty"`
184517  	// 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.
184518  	PrivateKeyContent BasicSecretBase `json:"privateKeyContent,omitempty"`
184519  	// PassPhrase - The password to decrypt the SSH private key if the SSH private key is encrypted.
184520  	PassPhrase BasicSecretBase `json:"passPhrase,omitempty"`
184521  	// SkipHostKeyValidation - If true, skip the SSH host key validation. Default value is false. Type: boolean (or Expression with resultType boolean).
184522  	SkipHostKeyValidation interface{} `json:"skipHostKeyValidation,omitempty"`
184523  	// 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).
184524  	HostKeyFingerprint interface{} `json:"hostKeyFingerprint,omitempty"`
184525  }
184526  
184527  // UnmarshalJSON is the custom unmarshaler for SftpServerLinkedServiceTypeProperties struct.
184528  func (sslstp *SftpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
184529  	var m map[string]*json.RawMessage
184530  	err := json.Unmarshal(body, &m)
184531  	if err != nil {
184532  		return err
184533  	}
184534  	for k, v := range m {
184535  		switch k {
184536  		case "host":
184537  			if v != nil {
184538  				var host interface{}
184539  				err = json.Unmarshal(*v, &host)
184540  				if err != nil {
184541  					return err
184542  				}
184543  				sslstp.Host = host
184544  			}
184545  		case "port":
184546  			if v != nil {
184547  				var port interface{}
184548  				err = json.Unmarshal(*v, &port)
184549  				if err != nil {
184550  					return err
184551  				}
184552  				sslstp.Port = port
184553  			}
184554  		case "authenticationType":
184555  			if v != nil {
184556  				var authenticationType SftpAuthenticationType
184557  				err = json.Unmarshal(*v, &authenticationType)
184558  				if err != nil {
184559  					return err
184560  				}
184561  				sslstp.AuthenticationType = authenticationType
184562  			}
184563  		case "userName":
184564  			if v != nil {
184565  				var userName interface{}
184566  				err = json.Unmarshal(*v, &userName)
184567  				if err != nil {
184568  					return err
184569  				}
184570  				sslstp.UserName = userName
184571  			}
184572  		case "password":
184573  			if v != nil {
184574  				password, err := unmarshalBasicSecretBase(*v)
184575  				if err != nil {
184576  					return err
184577  				}
184578  				sslstp.Password = password
184579  			}
184580  		case "encryptedCredential":
184581  			if v != nil {
184582  				var encryptedCredential interface{}
184583  				err = json.Unmarshal(*v, &encryptedCredential)
184584  				if err != nil {
184585  					return err
184586  				}
184587  				sslstp.EncryptedCredential = encryptedCredential
184588  			}
184589  		case "privateKeyPath":
184590  			if v != nil {
184591  				var privateKeyPath interface{}
184592  				err = json.Unmarshal(*v, &privateKeyPath)
184593  				if err != nil {
184594  					return err
184595  				}
184596  				sslstp.PrivateKeyPath = privateKeyPath
184597  			}
184598  		case "privateKeyContent":
184599  			if v != nil {
184600  				privateKeyContent, err := unmarshalBasicSecretBase(*v)
184601  				if err != nil {
184602  					return err
184603  				}
184604  				sslstp.PrivateKeyContent = privateKeyContent
184605  			}
184606  		case "passPhrase":
184607  			if v != nil {
184608  				passPhrase, err := unmarshalBasicSecretBase(*v)
184609  				if err != nil {
184610  					return err
184611  				}
184612  				sslstp.PassPhrase = passPhrase
184613  			}
184614  		case "skipHostKeyValidation":
184615  			if v != nil {
184616  				var skipHostKeyValidation interface{}
184617  				err = json.Unmarshal(*v, &skipHostKeyValidation)
184618  				if err != nil {
184619  					return err
184620  				}
184621  				sslstp.SkipHostKeyValidation = skipHostKeyValidation
184622  			}
184623  		case "hostKeyFingerprint":
184624  			if v != nil {
184625  				var hostKeyFingerprint interface{}
184626  				err = json.Unmarshal(*v, &hostKeyFingerprint)
184627  				if err != nil {
184628  					return err
184629  				}
184630  				sslstp.HostKeyFingerprint = hostKeyFingerprint
184631  			}
184632  		}
184633  	}
184634  
184635  	return nil
184636  }
184637  
184638  // SftpWriteSettings sftp write settings.
184639  type SftpWriteSettings struct {
184640  	// OperationTimeout - Specifies the timeout for writing each chunk to SFTP server. Default value: 01:00:00 (one hour). Type: string (or Expression with resultType string).
184641  	OperationTimeout interface{} `json:"operationTimeout,omitempty"`
184642  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
184643  	AdditionalProperties map[string]interface{} `json:""`
184644  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
184645  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
184646  	// CopyBehavior - The type of copy behavior for copy sink.
184647  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
184648  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
184649  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
184650  }
184651  
184652  // MarshalJSON is the custom marshaler for SftpWriteSettings.
184653  func (sws SftpWriteSettings) MarshalJSON() ([]byte, error) {
184654  	sws.Type = TypeSftpWriteSettings
184655  	objectMap := make(map[string]interface{})
184656  	if sws.OperationTimeout != nil {
184657  		objectMap["operationTimeout"] = sws.OperationTimeout
184658  	}
184659  	if sws.MaxConcurrentConnections != nil {
184660  		objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections
184661  	}
184662  	if sws.CopyBehavior != nil {
184663  		objectMap["copyBehavior"] = sws.CopyBehavior
184664  	}
184665  	if sws.Type != "" {
184666  		objectMap["type"] = sws.Type
184667  	}
184668  	for k, v := range sws.AdditionalProperties {
184669  		objectMap[k] = v
184670  	}
184671  	return json.Marshal(objectMap)
184672  }
184673  
184674  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184675  func (sws SftpWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
184676  	return nil, false
184677  }
184678  
184679  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184680  func (sws SftpWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
184681  	return nil, false
184682  }
184683  
184684  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184685  func (sws SftpWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
184686  	return nil, false
184687  }
184688  
184689  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184690  func (sws SftpWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
184691  	return nil, false
184692  }
184693  
184694  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184695  func (sws SftpWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
184696  	return &sws, true
184697  }
184698  
184699  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184700  func (sws SftpWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
184701  	return nil, false
184702  }
184703  
184704  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for SftpWriteSettings.
184705  func (sws SftpWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
184706  	return &sws, true
184707  }
184708  
184709  // UnmarshalJSON is the custom unmarshaler for SftpWriteSettings struct.
184710  func (sws *SftpWriteSettings) UnmarshalJSON(body []byte) error {
184711  	var m map[string]*json.RawMessage
184712  	err := json.Unmarshal(body, &m)
184713  	if err != nil {
184714  		return err
184715  	}
184716  	for k, v := range m {
184717  		switch k {
184718  		case "operationTimeout":
184719  			if v != nil {
184720  				var operationTimeout interface{}
184721  				err = json.Unmarshal(*v, &operationTimeout)
184722  				if err != nil {
184723  					return err
184724  				}
184725  				sws.OperationTimeout = operationTimeout
184726  			}
184727  		default:
184728  			if v != nil {
184729  				var additionalProperties interface{}
184730  				err = json.Unmarshal(*v, &additionalProperties)
184731  				if err != nil {
184732  					return err
184733  				}
184734  				if sws.AdditionalProperties == nil {
184735  					sws.AdditionalProperties = make(map[string]interface{})
184736  				}
184737  				sws.AdditionalProperties[k] = additionalProperties
184738  			}
184739  		case "maxConcurrentConnections":
184740  			if v != nil {
184741  				var maxConcurrentConnections interface{}
184742  				err = json.Unmarshal(*v, &maxConcurrentConnections)
184743  				if err != nil {
184744  					return err
184745  				}
184746  				sws.MaxConcurrentConnections = maxConcurrentConnections
184747  			}
184748  		case "copyBehavior":
184749  			if v != nil {
184750  				var copyBehavior interface{}
184751  				err = json.Unmarshal(*v, &copyBehavior)
184752  				if err != nil {
184753  					return err
184754  				}
184755  				sws.CopyBehavior = copyBehavior
184756  			}
184757  		case "type":
184758  			if v != nil {
184759  				var typeVar TypeBasicStoreWriteSettings
184760  				err = json.Unmarshal(*v, &typeVar)
184761  				if err != nil {
184762  					return err
184763  				}
184764  				sws.Type = typeVar
184765  			}
184766  		}
184767  	}
184768  
184769  	return nil
184770  }
184771  
184772  // ShopifyLinkedService shopify Service linked service.
184773  type ShopifyLinkedService struct {
184774  	// ShopifyLinkedServiceTypeProperties - Shopify Service linked service properties.
184775  	*ShopifyLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
184776  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
184777  	AdditionalProperties map[string]interface{} `json:""`
184778  	// ConnectVia - The integration runtime reference.
184779  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
184780  	// Description - Linked service description.
184781  	Description *string `json:"description,omitempty"`
184782  	// Parameters - Parameters for linked service.
184783  	Parameters map[string]*ParameterSpecification `json:"parameters"`
184784  	// Annotations - List of tags that can be used for describing the linked service.
184785  	Annotations *[]interface{} `json:"annotations,omitempty"`
184786  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
184787  	Type TypeBasicLinkedService `json:"type,omitempty"`
184788  }
184789  
184790  // MarshalJSON is the custom marshaler for ShopifyLinkedService.
184791  func (sls ShopifyLinkedService) MarshalJSON() ([]byte, error) {
184792  	sls.Type = TypeShopify
184793  	objectMap := make(map[string]interface{})
184794  	if sls.ShopifyLinkedServiceTypeProperties != nil {
184795  		objectMap["typeProperties"] = sls.ShopifyLinkedServiceTypeProperties
184796  	}
184797  	if sls.ConnectVia != nil {
184798  		objectMap["connectVia"] = sls.ConnectVia
184799  	}
184800  	if sls.Description != nil {
184801  		objectMap["description"] = sls.Description
184802  	}
184803  	if sls.Parameters != nil {
184804  		objectMap["parameters"] = sls.Parameters
184805  	}
184806  	if sls.Annotations != nil {
184807  		objectMap["annotations"] = sls.Annotations
184808  	}
184809  	if sls.Type != "" {
184810  		objectMap["type"] = sls.Type
184811  	}
184812  	for k, v := range sls.AdditionalProperties {
184813  		objectMap[k] = v
184814  	}
184815  	return json.Marshal(objectMap)
184816  }
184817  
184818  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184819  func (sls ShopifyLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
184820  	return nil, false
184821  }
184822  
184823  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184824  func (sls ShopifyLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
184825  	return nil, false
184826  }
184827  
184828  // AsSapTableLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184829  func (sls ShopifyLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
184830  	return nil, false
184831  }
184832  
184833  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184834  func (sls ShopifyLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
184835  	return nil, false
184836  }
184837  
184838  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184839  func (sls ShopifyLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
184840  	return nil, false
184841  }
184842  
184843  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184844  func (sls ShopifyLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
184845  	return nil, false
184846  }
184847  
184848  // AsResponsysLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184849  func (sls ShopifyLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
184850  	return nil, false
184851  }
184852  
184853  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184854  func (sls ShopifyLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
184855  	return nil, false
184856  }
184857  
184858  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184859  func (sls ShopifyLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
184860  	return nil, false
184861  }
184862  
184863  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184864  func (sls ShopifyLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
184865  	return nil, false
184866  }
184867  
184868  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184869  func (sls ShopifyLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
184870  	return nil, false
184871  }
184872  
184873  // AsNetezzaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184874  func (sls ShopifyLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
184875  	return nil, false
184876  }
184877  
184878  // AsVerticaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184879  func (sls ShopifyLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
184880  	return nil, false
184881  }
184882  
184883  // AsZohoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184884  func (sls ShopifyLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
184885  	return nil, false
184886  }
184887  
184888  // AsXeroLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184889  func (sls ShopifyLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
184890  	return nil, false
184891  }
184892  
184893  // AsSquareLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184894  func (sls ShopifyLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
184895  	return nil, false
184896  }
184897  
184898  // AsSparkLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184899  func (sls ShopifyLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
184900  	return nil, false
184901  }
184902  
184903  // AsShopifyLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184904  func (sls ShopifyLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
184905  	return &sls, true
184906  }
184907  
184908  // AsServiceNowLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184909  func (sls ShopifyLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
184910  	return nil, false
184911  }
184912  
184913  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184914  func (sls ShopifyLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
184915  	return nil, false
184916  }
184917  
184918  // AsPrestoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184919  func (sls ShopifyLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
184920  	return nil, false
184921  }
184922  
184923  // AsPhoenixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184924  func (sls ShopifyLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
184925  	return nil, false
184926  }
184927  
184928  // AsPaypalLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184929  func (sls ShopifyLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
184930  	return nil, false
184931  }
184932  
184933  // AsMarketoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184934  func (sls ShopifyLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
184935  	return nil, false
184936  }
184937  
184938  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184939  func (sls ShopifyLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
184940  	return nil, false
184941  }
184942  
184943  // AsMariaDBLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184944  func (sls ShopifyLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
184945  	return nil, false
184946  }
184947  
184948  // AsMagentoLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184949  func (sls ShopifyLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
184950  	return nil, false
184951  }
184952  
184953  // AsJiraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184954  func (sls ShopifyLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
184955  	return nil, false
184956  }
184957  
184958  // AsImpalaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184959  func (sls ShopifyLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
184960  	return nil, false
184961  }
184962  
184963  // AsHubspotLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184964  func (sls ShopifyLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
184965  	return nil, false
184966  }
184967  
184968  // AsHiveLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184969  func (sls ShopifyLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
184970  	return nil, false
184971  }
184972  
184973  // AsHBaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184974  func (sls ShopifyLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
184975  	return nil, false
184976  }
184977  
184978  // AsGreenplumLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184979  func (sls ShopifyLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
184980  	return nil, false
184981  }
184982  
184983  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184984  func (sls ShopifyLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
184985  	return nil, false
184986  }
184987  
184988  // AsEloquaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184989  func (sls ShopifyLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
184990  	return nil, false
184991  }
184992  
184993  // AsDrillLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184994  func (sls ShopifyLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
184995  	return nil, false
184996  }
184997  
184998  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
184999  func (sls ShopifyLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
185000  	return nil, false
185001  }
185002  
185003  // AsConcurLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185004  func (sls ShopifyLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
185005  	return nil, false
185006  }
185007  
185008  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185009  func (sls ShopifyLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
185010  	return nil, false
185011  }
185012  
185013  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185014  func (sls ShopifyLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
185015  	return nil, false
185016  }
185017  
185018  // AsSapHanaLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185019  func (sls ShopifyLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
185020  	return nil, false
185021  }
185022  
185023  // AsSapBWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185024  func (sls ShopifyLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
185025  	return nil, false
185026  }
185027  
185028  // AsSftpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185029  func (sls ShopifyLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
185030  	return nil, false
185031  }
185032  
185033  // AsFtpServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185034  func (sls ShopifyLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
185035  	return nil, false
185036  }
185037  
185038  // AsHTTPLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185039  func (sls ShopifyLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
185040  	return nil, false
185041  }
185042  
185043  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185044  func (sls ShopifyLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
185045  	return nil, false
185046  }
185047  
185048  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185049  func (sls ShopifyLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
185050  	return nil, false
185051  }
185052  
185053  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185054  func (sls ShopifyLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
185055  	return nil, false
185056  }
185057  
185058  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185059  func (sls ShopifyLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
185060  	return nil, false
185061  }
185062  
185063  // AsRestServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185064  func (sls ShopifyLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
185065  	return nil, false
185066  }
185067  
185068  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185069  func (sls ShopifyLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
185070  	return nil, false
185071  }
185072  
185073  // AsSapEccLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185074  func (sls ShopifyLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
185075  	return nil, false
185076  }
185077  
185078  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185079  func (sls ShopifyLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
185080  	return nil, false
185081  }
185082  
185083  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185084  func (sls ShopifyLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
185085  	return nil, false
185086  }
185087  
185088  // AsSalesforceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185089  func (sls ShopifyLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
185090  	return nil, false
185091  }
185092  
185093  // AsOffice365LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185094  func (sls ShopifyLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
185095  	return nil, false
185096  }
185097  
185098  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185099  func (sls ShopifyLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
185100  	return nil, false
185101  }
185102  
185103  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185104  func (sls ShopifyLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
185105  	return nil, false
185106  }
185107  
185108  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185109  func (sls ShopifyLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
185110  	return nil, false
185111  }
185112  
185113  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185114  func (sls ShopifyLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
185115  	return nil, false
185116  }
185117  
185118  // AsMongoDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185119  func (sls ShopifyLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
185120  	return nil, false
185121  }
185122  
185123  // AsCassandraLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185124  func (sls ShopifyLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
185125  	return nil, false
185126  }
185127  
185128  // AsWebLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185129  func (sls ShopifyLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
185130  	return nil, false
185131  }
185132  
185133  // AsODataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185134  func (sls ShopifyLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
185135  	return nil, false
185136  }
185137  
185138  // AsHdfsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185139  func (sls ShopifyLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
185140  	return nil, false
185141  }
185142  
185143  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185144  func (sls ShopifyLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
185145  	return nil, false
185146  }
185147  
185148  // AsInformixLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185149  func (sls ShopifyLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
185150  	return nil, false
185151  }
185152  
185153  // AsOdbcLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185154  func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
185155  	return nil, false
185156  }
185157  
185158  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185159  func (sls ShopifyLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
185160  	return nil, false
185161  }
185162  
185163  // AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185164  func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
185165  	return nil, false
185166  }
185167  
185168  // AsTeradataLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185169  func (sls ShopifyLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
185170  	return nil, false
185171  }
185172  
185173  // AsDb2LinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185174  func (sls ShopifyLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
185175  	return nil, false
185176  }
185177  
185178  // AsSybaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185179  func (sls ShopifyLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
185180  	return nil, false
185181  }
185182  
185183  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185184  func (sls ShopifyLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
185185  	return nil, false
185186  }
185187  
185188  // AsMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185189  func (sls ShopifyLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
185190  	return nil, false
185191  }
185192  
185193  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185194  func (sls ShopifyLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
185195  	return nil, false
185196  }
185197  
185198  // AsOracleLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185199  func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
185200  	return nil, false
185201  }
185202  
185203  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185204  func (sls ShopifyLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
185205  	return nil, false
185206  }
185207  
185208  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185209  func (sls ShopifyLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
185210  	return nil, false
185211  }
185212  
185213  // AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185214  func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
185215  	return nil, false
185216  }
185217  
185218  // AsHDInsightLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185219  func (sls ShopifyLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
185220  	return nil, false
185221  }
185222  
185223  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185224  func (sls ShopifyLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
185225  	return nil, false
185226  }
185227  
185228  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185229  func (sls ShopifyLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
185230  	return nil, false
185231  }
185232  
185233  // AsDynamicsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185234  func (sls ShopifyLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
185235  	return nil, false
185236  }
185237  
185238  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185239  func (sls ShopifyLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
185240  	return nil, false
185241  }
185242  
185243  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185244  func (sls ShopifyLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
185245  	return nil, false
185246  }
185247  
185248  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185249  func (sls ShopifyLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
185250  	return nil, false
185251  }
185252  
185253  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185254  func (sls ShopifyLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
185255  	return nil, false
185256  }
185257  
185258  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185259  func (sls ShopifyLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
185260  	return nil, false
185261  }
185262  
185263  // AsSQLServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185264  func (sls ShopifyLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
185265  	return nil, false
185266  }
185267  
185268  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185269  func (sls ShopifyLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
185270  	return nil, false
185271  }
185272  
185273  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185274  func (sls ShopifyLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
185275  	return nil, false
185276  }
185277  
185278  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185279  func (sls ShopifyLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
185280  	return nil, false
185281  }
185282  
185283  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185284  func (sls ShopifyLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
185285  	return nil, false
185286  }
185287  
185288  // AsLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185289  func (sls ShopifyLinkedService) AsLinkedService() (*LinkedService, bool) {
185290  	return nil, false
185291  }
185292  
185293  // AsBasicLinkedService is the BasicLinkedService implementation for ShopifyLinkedService.
185294  func (sls ShopifyLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
185295  	return &sls, true
185296  }
185297  
185298  // UnmarshalJSON is the custom unmarshaler for ShopifyLinkedService struct.
185299  func (sls *ShopifyLinkedService) UnmarshalJSON(body []byte) error {
185300  	var m map[string]*json.RawMessage
185301  	err := json.Unmarshal(body, &m)
185302  	if err != nil {
185303  		return err
185304  	}
185305  	for k, v := range m {
185306  		switch k {
185307  		case "typeProperties":
185308  			if v != nil {
185309  				var shopifyLinkedServiceTypeProperties ShopifyLinkedServiceTypeProperties
185310  				err = json.Unmarshal(*v, &shopifyLinkedServiceTypeProperties)
185311  				if err != nil {
185312  					return err
185313  				}
185314  				sls.ShopifyLinkedServiceTypeProperties = &shopifyLinkedServiceTypeProperties
185315  			}
185316  		default:
185317  			if v != nil {
185318  				var additionalProperties interface{}
185319  				err = json.Unmarshal(*v, &additionalProperties)
185320  				if err != nil {
185321  					return err
185322  				}
185323  				if sls.AdditionalProperties == nil {
185324  					sls.AdditionalProperties = make(map[string]interface{})
185325  				}
185326  				sls.AdditionalProperties[k] = additionalProperties
185327  			}
185328  		case "connectVia":
185329  			if v != nil {
185330  				var connectVia IntegrationRuntimeReference
185331  				err = json.Unmarshal(*v, &connectVia)
185332  				if err != nil {
185333  					return err
185334  				}
185335  				sls.ConnectVia = &connectVia
185336  			}
185337  		case "description":
185338  			if v != nil {
185339  				var description string
185340  				err = json.Unmarshal(*v, &description)
185341  				if err != nil {
185342  					return err
185343  				}
185344  				sls.Description = &description
185345  			}
185346  		case "parameters":
185347  			if v != nil {
185348  				var parameters map[string]*ParameterSpecification
185349  				err = json.Unmarshal(*v, &parameters)
185350  				if err != nil {
185351  					return err
185352  				}
185353  				sls.Parameters = parameters
185354  			}
185355  		case "annotations":
185356  			if v != nil {
185357  				var annotations []interface{}
185358  				err = json.Unmarshal(*v, &annotations)
185359  				if err != nil {
185360  					return err
185361  				}
185362  				sls.Annotations = &annotations
185363  			}
185364  		case "type":
185365  			if v != nil {
185366  				var typeVar TypeBasicLinkedService
185367  				err = json.Unmarshal(*v, &typeVar)
185368  				if err != nil {
185369  					return err
185370  				}
185371  				sls.Type = typeVar
185372  			}
185373  		}
185374  	}
185375  
185376  	return nil
185377  }
185378  
185379  // ShopifyLinkedServiceTypeProperties shopify Service linked service properties.
185380  type ShopifyLinkedServiceTypeProperties struct {
185381  	// Host - The endpoint of the Shopify server. (i.e. mystore.myshopify.com)
185382  	Host interface{} `json:"host,omitempty"`
185383  	// AccessToken - The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.
185384  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
185385  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
185386  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
185387  	// 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.
185388  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
185389  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
185390  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
185391  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
185392  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
185393  }
185394  
185395  // UnmarshalJSON is the custom unmarshaler for ShopifyLinkedServiceTypeProperties struct.
185396  func (slstp *ShopifyLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
185397  	var m map[string]*json.RawMessage
185398  	err := json.Unmarshal(body, &m)
185399  	if err != nil {
185400  		return err
185401  	}
185402  	for k, v := range m {
185403  		switch k {
185404  		case "host":
185405  			if v != nil {
185406  				var host interface{}
185407  				err = json.Unmarshal(*v, &host)
185408  				if err != nil {
185409  					return err
185410  				}
185411  				slstp.Host = host
185412  			}
185413  		case "accessToken":
185414  			if v != nil {
185415  				accessToken, err := unmarshalBasicSecretBase(*v)
185416  				if err != nil {
185417  					return err
185418  				}
185419  				slstp.AccessToken = accessToken
185420  			}
185421  		case "useEncryptedEndpoints":
185422  			if v != nil {
185423  				var useEncryptedEndpoints interface{}
185424  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
185425  				if err != nil {
185426  					return err
185427  				}
185428  				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
185429  			}
185430  		case "useHostVerification":
185431  			if v != nil {
185432  				var useHostVerification interface{}
185433  				err = json.Unmarshal(*v, &useHostVerification)
185434  				if err != nil {
185435  					return err
185436  				}
185437  				slstp.UseHostVerification = useHostVerification
185438  			}
185439  		case "usePeerVerification":
185440  			if v != nil {
185441  				var usePeerVerification interface{}
185442  				err = json.Unmarshal(*v, &usePeerVerification)
185443  				if err != nil {
185444  					return err
185445  				}
185446  				slstp.UsePeerVerification = usePeerVerification
185447  			}
185448  		case "encryptedCredential":
185449  			if v != nil {
185450  				var encryptedCredential interface{}
185451  				err = json.Unmarshal(*v, &encryptedCredential)
185452  				if err != nil {
185453  					return err
185454  				}
185455  				slstp.EncryptedCredential = encryptedCredential
185456  			}
185457  		}
185458  	}
185459  
185460  	return nil
185461  }
185462  
185463  // ShopifyObjectDataset shopify Service dataset.
185464  type ShopifyObjectDataset struct {
185465  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
185466  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
185467  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
185468  	AdditionalProperties map[string]interface{} `json:""`
185469  	// Description - Dataset description.
185470  	Description *string `json:"description,omitempty"`
185471  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
185472  	Structure interface{} `json:"structure,omitempty"`
185473  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
185474  	Schema interface{} `json:"schema,omitempty"`
185475  	// LinkedServiceName - Linked service reference.
185476  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
185477  	// Parameters - Parameters for dataset.
185478  	Parameters map[string]*ParameterSpecification `json:"parameters"`
185479  	// Annotations - List of tags that can be used for describing the Dataset.
185480  	Annotations *[]interface{} `json:"annotations,omitempty"`
185481  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
185482  	Folder *DatasetFolder `json:"folder,omitempty"`
185483  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
185484  	Type TypeBasicDataset `json:"type,omitempty"`
185485  }
185486  
185487  // MarshalJSON is the custom marshaler for ShopifyObjectDataset.
185488  func (sod ShopifyObjectDataset) MarshalJSON() ([]byte, error) {
185489  	sod.Type = TypeShopifyObject
185490  	objectMap := make(map[string]interface{})
185491  	if sod.GenericDatasetTypeProperties != nil {
185492  		objectMap["typeProperties"] = sod.GenericDatasetTypeProperties
185493  	}
185494  	if sod.Description != nil {
185495  		objectMap["description"] = sod.Description
185496  	}
185497  	if sod.Structure != nil {
185498  		objectMap["structure"] = sod.Structure
185499  	}
185500  	if sod.Schema != nil {
185501  		objectMap["schema"] = sod.Schema
185502  	}
185503  	if sod.LinkedServiceName != nil {
185504  		objectMap["linkedServiceName"] = sod.LinkedServiceName
185505  	}
185506  	if sod.Parameters != nil {
185507  		objectMap["parameters"] = sod.Parameters
185508  	}
185509  	if sod.Annotations != nil {
185510  		objectMap["annotations"] = sod.Annotations
185511  	}
185512  	if sod.Folder != nil {
185513  		objectMap["folder"] = sod.Folder
185514  	}
185515  	if sod.Type != "" {
185516  		objectMap["type"] = sod.Type
185517  	}
185518  	for k, v := range sod.AdditionalProperties {
185519  		objectMap[k] = v
185520  	}
185521  	return json.Marshal(objectMap)
185522  }
185523  
185524  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185525  func (sod ShopifyObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
185526  	return nil, false
185527  }
185528  
185529  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185530  func (sod ShopifyObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
185531  	return nil, false
185532  }
185533  
185534  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185535  func (sod ShopifyObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
185536  	return nil, false
185537  }
185538  
185539  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185540  func (sod ShopifyObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
185541  	return nil, false
185542  }
185543  
185544  // AsResponsysObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185545  func (sod ShopifyObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
185546  	return nil, false
185547  }
185548  
185549  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185550  func (sod ShopifyObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
185551  	return nil, false
185552  }
185553  
185554  // AsVerticaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185555  func (sod ShopifyObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
185556  	return nil, false
185557  }
185558  
185559  // AsNetezzaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185560  func (sod ShopifyObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
185561  	return nil, false
185562  }
185563  
185564  // AsZohoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185565  func (sod ShopifyObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
185566  	return nil, false
185567  }
185568  
185569  // AsXeroObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185570  func (sod ShopifyObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
185571  	return nil, false
185572  }
185573  
185574  // AsSquareObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185575  func (sod ShopifyObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
185576  	return nil, false
185577  }
185578  
185579  // AsSparkObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185580  func (sod ShopifyObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
185581  	return nil, false
185582  }
185583  
185584  // AsShopifyObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185585  func (sod ShopifyObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
185586  	return &sod, true
185587  }
185588  
185589  // AsServiceNowObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185590  func (sod ShopifyObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
185591  	return nil, false
185592  }
185593  
185594  // AsQuickBooksObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185595  func (sod ShopifyObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
185596  	return nil, false
185597  }
185598  
185599  // AsPrestoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185600  func (sod ShopifyObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
185601  	return nil, false
185602  }
185603  
185604  // AsPhoenixObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185605  func (sod ShopifyObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
185606  	return nil, false
185607  }
185608  
185609  // AsPaypalObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185610  func (sod ShopifyObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
185611  	return nil, false
185612  }
185613  
185614  // AsMarketoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185615  func (sod ShopifyObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
185616  	return nil, false
185617  }
185618  
185619  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185620  func (sod ShopifyObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
185621  	return nil, false
185622  }
185623  
185624  // AsMariaDBTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185625  func (sod ShopifyObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
185626  	return nil, false
185627  }
185628  
185629  // AsMagentoObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185630  func (sod ShopifyObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
185631  	return nil, false
185632  }
185633  
185634  // AsJiraObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185635  func (sod ShopifyObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
185636  	return nil, false
185637  }
185638  
185639  // AsImpalaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185640  func (sod ShopifyObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
185641  	return nil, false
185642  }
185643  
185644  // AsHubspotObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185645  func (sod ShopifyObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
185646  	return nil, false
185647  }
185648  
185649  // AsHiveObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185650  func (sod ShopifyObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
185651  	return nil, false
185652  }
185653  
185654  // AsHBaseObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185655  func (sod ShopifyObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
185656  	return nil, false
185657  }
185658  
185659  // AsGreenplumTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185660  func (sod ShopifyObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
185661  	return nil, false
185662  }
185663  
185664  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185665  func (sod ShopifyObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
185666  	return nil, false
185667  }
185668  
185669  // AsEloquaObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185670  func (sod ShopifyObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
185671  	return nil, false
185672  }
185673  
185674  // AsDrillTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185675  func (sod ShopifyObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
185676  	return nil, false
185677  }
185678  
185679  // AsCouchbaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185680  func (sod ShopifyObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
185681  	return nil, false
185682  }
185683  
185684  // AsConcurObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185685  func (sod ShopifyObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
185686  	return nil, false
185687  }
185688  
185689  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185690  func (sod ShopifyObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
185691  	return nil, false
185692  }
185693  
185694  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185695  func (sod ShopifyObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
185696  	return nil, false
185697  }
185698  
185699  // AsAzureSearchIndexDataset is the BasicDataset implementation for ShopifyObjectDataset.
185700  func (sod ShopifyObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
185701  	return nil, false
185702  }
185703  
185704  // AsWebTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185705  func (sod ShopifyObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
185706  	return nil, false
185707  }
185708  
185709  // AsSapTableResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185710  func (sod ShopifyObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
185711  	return nil, false
185712  }
185713  
185714  // AsRestResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185715  func (sod ShopifyObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
185716  	return nil, false
185717  }
185718  
185719  // AsSQLServerTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185720  func (sod ShopifyObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
185721  	return nil, false
185722  }
185723  
185724  // AsSapOpenHubTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185725  func (sod ShopifyObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
185726  	return nil, false
185727  }
185728  
185729  // AsSapHanaTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185730  func (sod ShopifyObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
185731  	return nil, false
185732  }
185733  
185734  // AsSapEccResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185735  func (sod ShopifyObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
185736  	return nil, false
185737  }
185738  
185739  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185740  func (sod ShopifyObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
185741  	return nil, false
185742  }
185743  
185744  // AsSapBwCubeDataset is the BasicDataset implementation for ShopifyObjectDataset.
185745  func (sod ShopifyObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
185746  	return nil, false
185747  }
185748  
185749  // AsSybaseTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185750  func (sod ShopifyObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
185751  	return nil, false
185752  }
185753  
185754  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185755  func (sod ShopifyObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
185756  	return nil, false
185757  }
185758  
185759  // AsSalesforceObjectDataset is the BasicDataset implementation for ShopifyObjectDataset.
185760  func (sod ShopifyObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
185761  	return nil, false
185762  }
185763  
185764  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185765  func (sod ShopifyObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
185766  	return nil, false
185767  }
185768  
185769  // AsPostgreSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185770  func (sod ShopifyObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
185771  	return nil, false
185772  }
185773  
185774  // AsMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185775  func (sod ShopifyObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
185776  	return nil, false
185777  }
185778  
185779  // AsOdbcTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185780  func (sod ShopifyObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
185781  	return nil, false
185782  }
185783  
185784  // AsInformixTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185785  func (sod ShopifyObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
185786  	return nil, false
185787  }
185788  
185789  // AsRelationalTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185790  func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
185791  	return nil, false
185792  }
185793  
185794  // AsDb2TableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185795  func (sod ShopifyObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
185796  	return nil, false
185797  }
185798  
185799  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185800  func (sod ShopifyObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
185801  	return nil, false
185802  }
185803  
185804  // AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185805  func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
185806  	return nil, false
185807  }
185808  
185809  // AsTeradataTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185810  func (sod ShopifyObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
185811  	return nil, false
185812  }
185813  
185814  // AsOracleTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185815  func (sod ShopifyObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
185816  	return nil, false
185817  }
185818  
185819  // AsODataResourceDataset is the BasicDataset implementation for ShopifyObjectDataset.
185820  func (sod ShopifyObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
185821  	return nil, false
185822  }
185823  
185824  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
185825  func (sod ShopifyObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
185826  	return nil, false
185827  }
185828  
185829  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
185830  func (sod ShopifyObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
185831  	return nil, false
185832  }
185833  
185834  // AsMongoDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
185835  func (sod ShopifyObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
185836  	return nil, false
185837  }
185838  
185839  // AsOffice365Dataset is the BasicDataset implementation for ShopifyObjectDataset.
185840  func (sod ShopifyObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
185841  	return nil, false
185842  }
185843  
185844  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
185845  func (sod ShopifyObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
185846  	return nil, false
185847  }
185848  
185849  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
185850  func (sod ShopifyObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
185851  	return nil, false
185852  }
185853  
185854  // AsDynamicsEntityDataset is the BasicDataset implementation for ShopifyObjectDataset.
185855  func (sod ShopifyObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
185856  	return nil, false
185857  }
185858  
185859  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
185860  func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
185861  	return nil, false
185862  }
185863  
185864  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset.
185865  func (sod ShopifyObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
185866  	return nil, false
185867  }
185868  
185869  // AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset.
185870  func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
185871  	return nil, false
185872  }
185873  
185874  // AsCassandraTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185875  func (sod ShopifyObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
185876  	return nil, false
185877  }
185878  
185879  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185880  func (sod ShopifyObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
185881  	return nil, false
185882  }
185883  
185884  // AsAzureSQLMITableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185885  func (sod ShopifyObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
185886  	return nil, false
185887  }
185888  
185889  // AsAzureSQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185890  func (sod ShopifyObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
185891  	return nil, false
185892  }
185893  
185894  // AsAzureTableDataset is the BasicDataset implementation for ShopifyObjectDataset.
185895  func (sod ShopifyObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
185896  	return nil, false
185897  }
185898  
185899  // AsBinaryDataset is the BasicDataset implementation for ShopifyObjectDataset.
185900  func (sod ShopifyObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
185901  	return nil, false
185902  }
185903  
185904  // AsOrcDataset is the BasicDataset implementation for ShopifyObjectDataset.
185905  func (sod ShopifyObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
185906  	return nil, false
185907  }
185908  
185909  // AsJSONDataset is the BasicDataset implementation for ShopifyObjectDataset.
185910  func (sod ShopifyObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
185911  	return nil, false
185912  }
185913  
185914  // AsDelimitedTextDataset is the BasicDataset implementation for ShopifyObjectDataset.
185915  func (sod ShopifyObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
185916  	return nil, false
185917  }
185918  
185919  // AsParquetDataset is the BasicDataset implementation for ShopifyObjectDataset.
185920  func (sod ShopifyObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
185921  	return nil, false
185922  }
185923  
185924  // AsAvroDataset is the BasicDataset implementation for ShopifyObjectDataset.
185925  func (sod ShopifyObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
185926  	return nil, false
185927  }
185928  
185929  // AsDataset is the BasicDataset implementation for ShopifyObjectDataset.
185930  func (sod ShopifyObjectDataset) AsDataset() (*Dataset, bool) {
185931  	return nil, false
185932  }
185933  
185934  // AsBasicDataset is the BasicDataset implementation for ShopifyObjectDataset.
185935  func (sod ShopifyObjectDataset) AsBasicDataset() (BasicDataset, bool) {
185936  	return &sod, true
185937  }
185938  
185939  // UnmarshalJSON is the custom unmarshaler for ShopifyObjectDataset struct.
185940  func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error {
185941  	var m map[string]*json.RawMessage
185942  	err := json.Unmarshal(body, &m)
185943  	if err != nil {
185944  		return err
185945  	}
185946  	for k, v := range m {
185947  		switch k {
185948  		case "typeProperties":
185949  			if v != nil {
185950  				var genericDatasetTypeProperties GenericDatasetTypeProperties
185951  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
185952  				if err != nil {
185953  					return err
185954  				}
185955  				sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
185956  			}
185957  		default:
185958  			if v != nil {
185959  				var additionalProperties interface{}
185960  				err = json.Unmarshal(*v, &additionalProperties)
185961  				if err != nil {
185962  					return err
185963  				}
185964  				if sod.AdditionalProperties == nil {
185965  					sod.AdditionalProperties = make(map[string]interface{})
185966  				}
185967  				sod.AdditionalProperties[k] = additionalProperties
185968  			}
185969  		case "description":
185970  			if v != nil {
185971  				var description string
185972  				err = json.Unmarshal(*v, &description)
185973  				if err != nil {
185974  					return err
185975  				}
185976  				sod.Description = &description
185977  			}
185978  		case "structure":
185979  			if v != nil {
185980  				var structure interface{}
185981  				err = json.Unmarshal(*v, &structure)
185982  				if err != nil {
185983  					return err
185984  				}
185985  				sod.Structure = structure
185986  			}
185987  		case "schema":
185988  			if v != nil {
185989  				var schema interface{}
185990  				err = json.Unmarshal(*v, &schema)
185991  				if err != nil {
185992  					return err
185993  				}
185994  				sod.Schema = schema
185995  			}
185996  		case "linkedServiceName":
185997  			if v != nil {
185998  				var linkedServiceName LinkedServiceReference
185999  				err = json.Unmarshal(*v, &linkedServiceName)
186000  				if err != nil {
186001  					return err
186002  				}
186003  				sod.LinkedServiceName = &linkedServiceName
186004  			}
186005  		case "parameters":
186006  			if v != nil {
186007  				var parameters map[string]*ParameterSpecification
186008  				err = json.Unmarshal(*v, &parameters)
186009  				if err != nil {
186010  					return err
186011  				}
186012  				sod.Parameters = parameters
186013  			}
186014  		case "annotations":
186015  			if v != nil {
186016  				var annotations []interface{}
186017  				err = json.Unmarshal(*v, &annotations)
186018  				if err != nil {
186019  					return err
186020  				}
186021  				sod.Annotations = &annotations
186022  			}
186023  		case "folder":
186024  			if v != nil {
186025  				var folder DatasetFolder
186026  				err = json.Unmarshal(*v, &folder)
186027  				if err != nil {
186028  					return err
186029  				}
186030  				sod.Folder = &folder
186031  			}
186032  		case "type":
186033  			if v != nil {
186034  				var typeVar TypeBasicDataset
186035  				err = json.Unmarshal(*v, &typeVar)
186036  				if err != nil {
186037  					return err
186038  				}
186039  				sod.Type = typeVar
186040  			}
186041  		}
186042  	}
186043  
186044  	return nil
186045  }
186046  
186047  // ShopifySource a copy activity Shopify Service source.
186048  type ShopifySource struct {
186049  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
186050  	Query interface{} `json:"query,omitempty"`
186051  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
186052  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
186053  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
186054  	AdditionalProperties map[string]interface{} `json:""`
186055  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
186056  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
186057  	// 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])).
186058  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
186059  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
186060  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
186061  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
186062  	Type TypeBasicCopySource `json:"type,omitempty"`
186063  }
186064  
186065  // MarshalJSON is the custom marshaler for ShopifySource.
186066  func (ss ShopifySource) MarshalJSON() ([]byte, error) {
186067  	ss.Type = TypeShopifySource
186068  	objectMap := make(map[string]interface{})
186069  	if ss.Query != nil {
186070  		objectMap["query"] = ss.Query
186071  	}
186072  	if ss.QueryTimeout != nil {
186073  		objectMap["queryTimeout"] = ss.QueryTimeout
186074  	}
186075  	if ss.SourceRetryCount != nil {
186076  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
186077  	}
186078  	if ss.SourceRetryWait != nil {
186079  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
186080  	}
186081  	if ss.MaxConcurrentConnections != nil {
186082  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
186083  	}
186084  	if ss.Type != "" {
186085  		objectMap["type"] = ss.Type
186086  	}
186087  	for k, v := range ss.AdditionalProperties {
186088  		objectMap[k] = v
186089  	}
186090  	return json.Marshal(objectMap)
186091  }
186092  
186093  // AsHTTPSource is the BasicCopySource implementation for ShopifySource.
186094  func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) {
186095  	return nil, false
186096  }
186097  
186098  // AsAzureBlobFSSource is the BasicCopySource implementation for ShopifySource.
186099  func (ss ShopifySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
186100  	return nil, false
186101  }
186102  
186103  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource.
186104  func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
186105  	return nil, false
186106  }
186107  
186108  // AsOffice365Source is the BasicCopySource implementation for ShopifySource.
186109  func (ss ShopifySource) AsOffice365Source() (*Office365Source, bool) {
186110  	return nil, false
186111  }
186112  
186113  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ShopifySource.
186114  func (ss ShopifySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
186115  	return nil, false
186116  }
186117  
186118  // AsMongoDbV2Source is the BasicCopySource implementation for ShopifySource.
186119  func (ss ShopifySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
186120  	return nil, false
186121  }
186122  
186123  // AsMongoDbSource is the BasicCopySource implementation for ShopifySource.
186124  func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) {
186125  	return nil, false
186126  }
186127  
186128  // AsWebSource is the BasicCopySource implementation for ShopifySource.
186129  func (ss ShopifySource) AsWebSource() (*WebSource, bool) {
186130  	return nil, false
186131  }
186132  
186133  // AsOracleSource is the BasicCopySource implementation for ShopifySource.
186134  func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) {
186135  	return nil, false
186136  }
186137  
186138  // AsAzureDataExplorerSource is the BasicCopySource implementation for ShopifySource.
186139  func (ss ShopifySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
186140  	return nil, false
186141  }
186142  
186143  // AsHdfsSource is the BasicCopySource implementation for ShopifySource.
186144  func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) {
186145  	return nil, false
186146  }
186147  
186148  // AsFileSystemSource is the BasicCopySource implementation for ShopifySource.
186149  func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) {
186150  	return nil, false
186151  }
186152  
186153  // AsRestSource is the BasicCopySource implementation for ShopifySource.
186154  func (ss ShopifySource) AsRestSource() (*RestSource, bool) {
186155  	return nil, false
186156  }
186157  
186158  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ShopifySource.
186159  func (ss ShopifySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
186160  	return nil, false
186161  }
186162  
186163  // AsODataSource is the BasicCopySource implementation for ShopifySource.
186164  func (ss ShopifySource) AsODataSource() (*ODataSource, bool) {
186165  	return nil, false
186166  }
186167  
186168  // AsMicrosoftAccessSource is the BasicCopySource implementation for ShopifySource.
186169  func (ss ShopifySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
186170  	return nil, false
186171  }
186172  
186173  // AsRelationalSource is the BasicCopySource implementation for ShopifySource.
186174  func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) {
186175  	return nil, false
186176  }
186177  
186178  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ShopifySource.
186179  func (ss ShopifySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
186180  	return nil, false
186181  }
186182  
186183  // AsDynamicsCrmSource is the BasicCopySource implementation for ShopifySource.
186184  func (ss ShopifySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
186185  	return nil, false
186186  }
186187  
186188  // AsDynamicsSource is the BasicCopySource implementation for ShopifySource.
186189  func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) {
186190  	return nil, false
186191  }
186192  
186193  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ShopifySource.
186194  func (ss ShopifySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
186195  	return nil, false
186196  }
186197  
186198  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource.
186199  func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
186200  	return nil, false
186201  }
186202  
186203  // AsBlobSource is the BasicCopySource implementation for ShopifySource.
186204  func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) {
186205  	return nil, false
186206  }
186207  
186208  // AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource.
186209  func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
186210  	return nil, false
186211  }
186212  
186213  // AsGoogleAdWordsSource is the BasicCopySource implementation for ShopifySource.
186214  func (ss ShopifySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
186215  	return nil, false
186216  }
186217  
186218  // AsOracleServiceCloudSource is the BasicCopySource implementation for ShopifySource.
186219  func (ss ShopifySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
186220  	return nil, false
186221  }
186222  
186223  // AsDynamicsAXSource is the BasicCopySource implementation for ShopifySource.
186224  func (ss ShopifySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
186225  	return nil, false
186226  }
186227  
186228  // AsResponsysSource is the BasicCopySource implementation for ShopifySource.
186229  func (ss ShopifySource) AsResponsysSource() (*ResponsysSource, bool) {
186230  	return nil, false
186231  }
186232  
186233  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ShopifySource.
186234  func (ss ShopifySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
186235  	return nil, false
186236  }
186237  
186238  // AsVerticaSource is the BasicCopySource implementation for ShopifySource.
186239  func (ss ShopifySource) AsVerticaSource() (*VerticaSource, bool) {
186240  	return nil, false
186241  }
186242  
186243  // AsNetezzaSource is the BasicCopySource implementation for ShopifySource.
186244  func (ss ShopifySource) AsNetezzaSource() (*NetezzaSource, bool) {
186245  	return nil, false
186246  }
186247  
186248  // AsZohoSource is the BasicCopySource implementation for ShopifySource.
186249  func (ss ShopifySource) AsZohoSource() (*ZohoSource, bool) {
186250  	return nil, false
186251  }
186252  
186253  // AsXeroSource is the BasicCopySource implementation for ShopifySource.
186254  func (ss ShopifySource) AsXeroSource() (*XeroSource, bool) {
186255  	return nil, false
186256  }
186257  
186258  // AsSquareSource is the BasicCopySource implementation for ShopifySource.
186259  func (ss ShopifySource) AsSquareSource() (*SquareSource, bool) {
186260  	return nil, false
186261  }
186262  
186263  // AsSparkSource is the BasicCopySource implementation for ShopifySource.
186264  func (ss ShopifySource) AsSparkSource() (*SparkSource, bool) {
186265  	return nil, false
186266  }
186267  
186268  // AsShopifySource is the BasicCopySource implementation for ShopifySource.
186269  func (ss ShopifySource) AsShopifySource() (*ShopifySource, bool) {
186270  	return &ss, true
186271  }
186272  
186273  // AsServiceNowSource is the BasicCopySource implementation for ShopifySource.
186274  func (ss ShopifySource) AsServiceNowSource() (*ServiceNowSource, bool) {
186275  	return nil, false
186276  }
186277  
186278  // AsQuickBooksSource is the BasicCopySource implementation for ShopifySource.
186279  func (ss ShopifySource) AsQuickBooksSource() (*QuickBooksSource, bool) {
186280  	return nil, false
186281  }
186282  
186283  // AsPrestoSource is the BasicCopySource implementation for ShopifySource.
186284  func (ss ShopifySource) AsPrestoSource() (*PrestoSource, bool) {
186285  	return nil, false
186286  }
186287  
186288  // AsPhoenixSource is the BasicCopySource implementation for ShopifySource.
186289  func (ss ShopifySource) AsPhoenixSource() (*PhoenixSource, bool) {
186290  	return nil, false
186291  }
186292  
186293  // AsPaypalSource is the BasicCopySource implementation for ShopifySource.
186294  func (ss ShopifySource) AsPaypalSource() (*PaypalSource, bool) {
186295  	return nil, false
186296  }
186297  
186298  // AsMarketoSource is the BasicCopySource implementation for ShopifySource.
186299  func (ss ShopifySource) AsMarketoSource() (*MarketoSource, bool) {
186300  	return nil, false
186301  }
186302  
186303  // AsAzureMariaDBSource is the BasicCopySource implementation for ShopifySource.
186304  func (ss ShopifySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
186305  	return nil, false
186306  }
186307  
186308  // AsMariaDBSource is the BasicCopySource implementation for ShopifySource.
186309  func (ss ShopifySource) AsMariaDBSource() (*MariaDBSource, bool) {
186310  	return nil, false
186311  }
186312  
186313  // AsMagentoSource is the BasicCopySource implementation for ShopifySource.
186314  func (ss ShopifySource) AsMagentoSource() (*MagentoSource, bool) {
186315  	return nil, false
186316  }
186317  
186318  // AsJiraSource is the BasicCopySource implementation for ShopifySource.
186319  func (ss ShopifySource) AsJiraSource() (*JiraSource, bool) {
186320  	return nil, false
186321  }
186322  
186323  // AsImpalaSource is the BasicCopySource implementation for ShopifySource.
186324  func (ss ShopifySource) AsImpalaSource() (*ImpalaSource, bool) {
186325  	return nil, false
186326  }
186327  
186328  // AsHubspotSource is the BasicCopySource implementation for ShopifySource.
186329  func (ss ShopifySource) AsHubspotSource() (*HubspotSource, bool) {
186330  	return nil, false
186331  }
186332  
186333  // AsHiveSource is the BasicCopySource implementation for ShopifySource.
186334  func (ss ShopifySource) AsHiveSource() (*HiveSource, bool) {
186335  	return nil, false
186336  }
186337  
186338  // AsHBaseSource is the BasicCopySource implementation for ShopifySource.
186339  func (ss ShopifySource) AsHBaseSource() (*HBaseSource, bool) {
186340  	return nil, false
186341  }
186342  
186343  // AsGreenplumSource is the BasicCopySource implementation for ShopifySource.
186344  func (ss ShopifySource) AsGreenplumSource() (*GreenplumSource, bool) {
186345  	return nil, false
186346  }
186347  
186348  // AsGoogleBigQuerySource is the BasicCopySource implementation for ShopifySource.
186349  func (ss ShopifySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
186350  	return nil, false
186351  }
186352  
186353  // AsEloquaSource is the BasicCopySource implementation for ShopifySource.
186354  func (ss ShopifySource) AsEloquaSource() (*EloquaSource, bool) {
186355  	return nil, false
186356  }
186357  
186358  // AsDrillSource is the BasicCopySource implementation for ShopifySource.
186359  func (ss ShopifySource) AsDrillSource() (*DrillSource, bool) {
186360  	return nil, false
186361  }
186362  
186363  // AsCouchbaseSource is the BasicCopySource implementation for ShopifySource.
186364  func (ss ShopifySource) AsCouchbaseSource() (*CouchbaseSource, bool) {
186365  	return nil, false
186366  }
186367  
186368  // AsConcurSource is the BasicCopySource implementation for ShopifySource.
186369  func (ss ShopifySource) AsConcurSource() (*ConcurSource, bool) {
186370  	return nil, false
186371  }
186372  
186373  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ShopifySource.
186374  func (ss ShopifySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
186375  	return nil, false
186376  }
186377  
186378  // AsAmazonMWSSource is the BasicCopySource implementation for ShopifySource.
186379  func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
186380  	return nil, false
186381  }
186382  
186383  // AsCassandraSource is the BasicCopySource implementation for ShopifySource.
186384  func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) {
186385  	return nil, false
186386  }
186387  
186388  // AsTeradataSource is the BasicCopySource implementation for ShopifySource.
186389  func (ss ShopifySource) AsTeradataSource() (*TeradataSource, bool) {
186390  	return nil, false
186391  }
186392  
186393  // AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource.
186394  func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
186395  	return nil, false
186396  }
186397  
186398  // AsSQLDWSource is the BasicCopySource implementation for ShopifySource.
186399  func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) {
186400  	return nil, false
186401  }
186402  
186403  // AsSQLMISource is the BasicCopySource implementation for ShopifySource.
186404  func (ss ShopifySource) AsSQLMISource() (*SQLMISource, bool) {
186405  	return nil, false
186406  }
186407  
186408  // AsAzureSQLSource is the BasicCopySource implementation for ShopifySource.
186409  func (ss ShopifySource) AsAzureSQLSource() (*AzureSQLSource, bool) {
186410  	return nil, false
186411  }
186412  
186413  // AsSQLServerSource is the BasicCopySource implementation for ShopifySource.
186414  func (ss ShopifySource) AsSQLServerSource() (*SQLServerSource, bool) {
186415  	return nil, false
186416  }
186417  
186418  // AsSQLSource is the BasicCopySource implementation for ShopifySource.
186419  func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) {
186420  	return nil, false
186421  }
186422  
186423  // AsSapTableSource is the BasicCopySource implementation for ShopifySource.
186424  func (ss ShopifySource) AsSapTableSource() (*SapTableSource, bool) {
186425  	return nil, false
186426  }
186427  
186428  // AsSapOpenHubSource is the BasicCopySource implementation for ShopifySource.
186429  func (ss ShopifySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
186430  	return nil, false
186431  }
186432  
186433  // AsSapHanaSource is the BasicCopySource implementation for ShopifySource.
186434  func (ss ShopifySource) AsSapHanaSource() (*SapHanaSource, bool) {
186435  	return nil, false
186436  }
186437  
186438  // AsSapEccSource is the BasicCopySource implementation for ShopifySource.
186439  func (ss ShopifySource) AsSapEccSource() (*SapEccSource, bool) {
186440  	return nil, false
186441  }
186442  
186443  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ShopifySource.
186444  func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
186445  	return nil, false
186446  }
186447  
186448  // AsSalesforceSource is the BasicCopySource implementation for ShopifySource.
186449  func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) {
186450  	return nil, false
186451  }
186452  
186453  // AsSapBwSource is the BasicCopySource implementation for ShopifySource.
186454  func (ss ShopifySource) AsSapBwSource() (*SapBwSource, bool) {
186455  	return nil, false
186456  }
186457  
186458  // AsSybaseSource is the BasicCopySource implementation for ShopifySource.
186459  func (ss ShopifySource) AsSybaseSource() (*SybaseSource, bool) {
186460  	return nil, false
186461  }
186462  
186463  // AsPostgreSQLSource is the BasicCopySource implementation for ShopifySource.
186464  func (ss ShopifySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
186465  	return nil, false
186466  }
186467  
186468  // AsMySQLSource is the BasicCopySource implementation for ShopifySource.
186469  func (ss ShopifySource) AsMySQLSource() (*MySQLSource, bool) {
186470  	return nil, false
186471  }
186472  
186473  // AsOdbcSource is the BasicCopySource implementation for ShopifySource.
186474  func (ss ShopifySource) AsOdbcSource() (*OdbcSource, bool) {
186475  	return nil, false
186476  }
186477  
186478  // AsDb2Source is the BasicCopySource implementation for ShopifySource.
186479  func (ss ShopifySource) AsDb2Source() (*Db2Source, bool) {
186480  	return nil, false
186481  }
186482  
186483  // AsInformixSource is the BasicCopySource implementation for ShopifySource.
186484  func (ss ShopifySource) AsInformixSource() (*InformixSource, bool) {
186485  	return nil, false
186486  }
186487  
186488  // AsAzureTableSource is the BasicCopySource implementation for ShopifySource.
186489  func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) {
186490  	return nil, false
186491  }
186492  
186493  // AsTabularSource is the BasicCopySource implementation for ShopifySource.
186494  func (ss ShopifySource) AsTabularSource() (*TabularSource, bool) {
186495  	return nil, false
186496  }
186497  
186498  // AsBasicTabularSource is the BasicCopySource implementation for ShopifySource.
186499  func (ss ShopifySource) AsBasicTabularSource() (BasicTabularSource, bool) {
186500  	return &ss, true
186501  }
186502  
186503  // AsBinarySource is the BasicCopySource implementation for ShopifySource.
186504  func (ss ShopifySource) AsBinarySource() (*BinarySource, bool) {
186505  	return nil, false
186506  }
186507  
186508  // AsOrcSource is the BasicCopySource implementation for ShopifySource.
186509  func (ss ShopifySource) AsOrcSource() (*OrcSource, bool) {
186510  	return nil, false
186511  }
186512  
186513  // AsJSONSource is the BasicCopySource implementation for ShopifySource.
186514  func (ss ShopifySource) AsJSONSource() (*JSONSource, bool) {
186515  	return nil, false
186516  }
186517  
186518  // AsDelimitedTextSource is the BasicCopySource implementation for ShopifySource.
186519  func (ss ShopifySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
186520  	return nil, false
186521  }
186522  
186523  // AsParquetSource is the BasicCopySource implementation for ShopifySource.
186524  func (ss ShopifySource) AsParquetSource() (*ParquetSource, bool) {
186525  	return nil, false
186526  }
186527  
186528  // AsAvroSource is the BasicCopySource implementation for ShopifySource.
186529  func (ss ShopifySource) AsAvroSource() (*AvroSource, bool) {
186530  	return nil, false
186531  }
186532  
186533  // AsCopySource is the BasicCopySource implementation for ShopifySource.
186534  func (ss ShopifySource) AsCopySource() (*CopySource, bool) {
186535  	return nil, false
186536  }
186537  
186538  // AsBasicCopySource is the BasicCopySource implementation for ShopifySource.
186539  func (ss ShopifySource) AsBasicCopySource() (BasicCopySource, bool) {
186540  	return &ss, true
186541  }
186542  
186543  // UnmarshalJSON is the custom unmarshaler for ShopifySource struct.
186544  func (ss *ShopifySource) UnmarshalJSON(body []byte) error {
186545  	var m map[string]*json.RawMessage
186546  	err := json.Unmarshal(body, &m)
186547  	if err != nil {
186548  		return err
186549  	}
186550  	for k, v := range m {
186551  		switch k {
186552  		case "query":
186553  			if v != nil {
186554  				var query interface{}
186555  				err = json.Unmarshal(*v, &query)
186556  				if err != nil {
186557  					return err
186558  				}
186559  				ss.Query = query
186560  			}
186561  		case "queryTimeout":
186562  			if v != nil {
186563  				var queryTimeout interface{}
186564  				err = json.Unmarshal(*v, &queryTimeout)
186565  				if err != nil {
186566  					return err
186567  				}
186568  				ss.QueryTimeout = queryTimeout
186569  			}
186570  		default:
186571  			if v != nil {
186572  				var additionalProperties interface{}
186573  				err = json.Unmarshal(*v, &additionalProperties)
186574  				if err != nil {
186575  					return err
186576  				}
186577  				if ss.AdditionalProperties == nil {
186578  					ss.AdditionalProperties = make(map[string]interface{})
186579  				}
186580  				ss.AdditionalProperties[k] = additionalProperties
186581  			}
186582  		case "sourceRetryCount":
186583  			if v != nil {
186584  				var sourceRetryCount interface{}
186585  				err = json.Unmarshal(*v, &sourceRetryCount)
186586  				if err != nil {
186587  					return err
186588  				}
186589  				ss.SourceRetryCount = sourceRetryCount
186590  			}
186591  		case "sourceRetryWait":
186592  			if v != nil {
186593  				var sourceRetryWait interface{}
186594  				err = json.Unmarshal(*v, &sourceRetryWait)
186595  				if err != nil {
186596  					return err
186597  				}
186598  				ss.SourceRetryWait = sourceRetryWait
186599  			}
186600  		case "maxConcurrentConnections":
186601  			if v != nil {
186602  				var maxConcurrentConnections interface{}
186603  				err = json.Unmarshal(*v, &maxConcurrentConnections)
186604  				if err != nil {
186605  					return err
186606  				}
186607  				ss.MaxConcurrentConnections = maxConcurrentConnections
186608  			}
186609  		case "type":
186610  			if v != nil {
186611  				var typeVar TypeBasicCopySource
186612  				err = json.Unmarshal(*v, &typeVar)
186613  				if err != nil {
186614  					return err
186615  				}
186616  				ss.Type = typeVar
186617  			}
186618  		}
186619  	}
186620  
186621  	return nil
186622  }
186623  
186624  // Sku SQL pool SKU
186625  type Sku struct {
186626  	// Tier - The service tier
186627  	Tier *string `json:"tier,omitempty"`
186628  	// Name - The SKU name
186629  	Name *string `json:"name,omitempty"`
186630  	// Capacity - If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.
186631  	Capacity *int32 `json:"capacity,omitempty"`
186632  }
186633  
186634  // SparkBatchJob ...
186635  type SparkBatchJob struct {
186636  	autorest.Response `json:"-"`
186637  	LivyInfo          *SparkBatchJobState `json:"livyInfo,omitempty"`
186638  	// Name - The batch name.
186639  	Name *string `json:"name,omitempty"`
186640  	// WorkspaceName - The workspace name.
186641  	WorkspaceName *string `json:"workspaceName,omitempty"`
186642  	// SparkPoolName - The Spark pool name.
186643  	SparkPoolName *string `json:"sparkPoolName,omitempty"`
186644  	// SubmitterName - The submitter name.
186645  	SubmitterName *string `json:"submitterName,omitempty"`
186646  	// SubmitterID - The submitter identifier.
186647  	SubmitterID *string `json:"submitterId,omitempty"`
186648  	// ArtifactID - The artifact identifier.
186649  	ArtifactID *string `json:"artifactId,omitempty"`
186650  	// JobType - The job type. Possible values include: 'SparkBatch', 'SparkSession'
186651  	JobType SparkJobType `json:"jobType,omitempty"`
186652  	// Result - The Spark batch job result. Possible values include: 'SparkBatchJobResultTypeUncertain', 'SparkBatchJobResultTypeSucceeded', 'SparkBatchJobResultTypeFailed', 'SparkBatchJobResultTypeCancelled'
186653  	Result SparkBatchJobResultType `json:"result,omitempty"`
186654  	// Scheduler - The scheduler information.
186655  	Scheduler *SparkScheduler `json:"schedulerInfo,omitempty"`
186656  	// Plugin - The plugin information.
186657  	Plugin *SparkServicePlugin `json:"pluginInfo,omitempty"`
186658  	// Errors - The error information.
186659  	Errors *[]SparkServiceError `json:"errorInfo,omitempty"`
186660  	// Tags - The tags.
186661  	Tags map[string]*string `json:"tags"`
186662  	// ID - The session Id.
186663  	ID *int32 `json:"id,omitempty"`
186664  	// AppID - The application id of this session
186665  	AppID *string `json:"appId,omitempty"`
186666  	// AppInfo - The detailed application info.
186667  	AppInfo map[string]*string `json:"appInfo"`
186668  	// State - The batch state
186669  	State *string `json:"state,omitempty"`
186670  	// LogLines - The log lines.
186671  	LogLines *[]string `json:"log,omitempty"`
186672  }
186673  
186674  // MarshalJSON is the custom marshaler for SparkBatchJob.
186675  func (sbj SparkBatchJob) MarshalJSON() ([]byte, error) {
186676  	objectMap := make(map[string]interface{})
186677  	if sbj.LivyInfo != nil {
186678  		objectMap["livyInfo"] = sbj.LivyInfo
186679  	}
186680  	if sbj.Name != nil {
186681  		objectMap["name"] = sbj.Name
186682  	}
186683  	if sbj.WorkspaceName != nil {
186684  		objectMap["workspaceName"] = sbj.WorkspaceName
186685  	}
186686  	if sbj.SparkPoolName != nil {
186687  		objectMap["sparkPoolName"] = sbj.SparkPoolName
186688  	}
186689  	if sbj.SubmitterName != nil {
186690  		objectMap["submitterName"] = sbj.SubmitterName
186691  	}
186692  	if sbj.SubmitterID != nil {
186693  		objectMap["submitterId"] = sbj.SubmitterID
186694  	}
186695  	if sbj.ArtifactID != nil {
186696  		objectMap["artifactId"] = sbj.ArtifactID
186697  	}
186698  	if sbj.JobType != "" {
186699  		objectMap["jobType"] = sbj.JobType
186700  	}
186701  	if sbj.Result != "" {
186702  		objectMap["result"] = sbj.Result
186703  	}
186704  	if sbj.Scheduler != nil {
186705  		objectMap["schedulerInfo"] = sbj.Scheduler
186706  	}
186707  	if sbj.Plugin != nil {
186708  		objectMap["pluginInfo"] = sbj.Plugin
186709  	}
186710  	if sbj.Errors != nil {
186711  		objectMap["errorInfo"] = sbj.Errors
186712  	}
186713  	if sbj.Tags != nil {
186714  		objectMap["tags"] = sbj.Tags
186715  	}
186716  	if sbj.ID != nil {
186717  		objectMap["id"] = sbj.ID
186718  	}
186719  	if sbj.AppID != nil {
186720  		objectMap["appId"] = sbj.AppID
186721  	}
186722  	if sbj.AppInfo != nil {
186723  		objectMap["appInfo"] = sbj.AppInfo
186724  	}
186725  	if sbj.State != nil {
186726  		objectMap["state"] = sbj.State
186727  	}
186728  	if sbj.LogLines != nil {
186729  		objectMap["log"] = sbj.LogLines
186730  	}
186731  	return json.Marshal(objectMap)
186732  }
186733  
186734  // SparkBatchJobState ...
186735  type SparkBatchJobState struct {
186736  	// NotStartedAt - the time that at which "not_started" livy state was first seen.
186737  	NotStartedAt *date.Time `json:"notStartedAt,omitempty"`
186738  	// StartingAt - the time that at which "starting" livy state was first seen.
186739  	StartingAt *date.Time `json:"startingAt,omitempty"`
186740  	// RunningAt - the time that at which "running" livy state was first seen.
186741  	RunningAt *date.Time `json:"runningAt,omitempty"`
186742  	// DeadAt - time that at which "dead" livy state was first seen.
186743  	DeadAt *date.Time `json:"deadAt,omitempty"`
186744  	// SuccessAt - the time that at which "success" livy state was first seen.
186745  	SuccessAt *date.Time `json:"successAt,omitempty"`
186746  	// TerminatedAt - the time that at which "killed" livy state was first seen.
186747  	TerminatedAt *date.Time `json:"killedAt,omitempty"`
186748  	// RecoveringAt - the time that at which "recovering" livy state was first seen.
186749  	RecoveringAt *date.Time `json:"recoveringAt,omitempty"`
186750  	// CurrentState - the Spark job state.
186751  	CurrentState       *string       `json:"currentState,omitempty"`
186752  	JobCreationRequest *SparkRequest `json:"jobCreationRequest,omitempty"`
186753  }
186754  
186755  // SparkDatasetTypeProperties spark Properties
186756  type SparkDatasetTypeProperties struct {
186757  	// TableName - This property will be retired. Please consider using schema + table properties instead.
186758  	TableName interface{} `json:"tableName,omitempty"`
186759  	// Table - The table name of the Spark. Type: string (or Expression with resultType string).
186760  	Table interface{} `json:"table,omitempty"`
186761  	// Schema - The schema name of the Spark. Type: string (or Expression with resultType string).
186762  	Schema interface{} `json:"schema,omitempty"`
186763  }
186764  
186765  // SparkJobDefinition spark job definition.
186766  type SparkJobDefinition struct {
186767  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
186768  	AdditionalProperties map[string]interface{} `json:""`
186769  	// Description - The description of the Spark job definition.
186770  	Description *string `json:"description,omitempty"`
186771  	// TargetBigDataPool - Big data pool reference.
186772  	TargetBigDataPool *BigDataPoolReference `json:"targetBigDataPool,omitempty"`
186773  	// RequiredSparkVersion - The required Spark version of the application.
186774  	RequiredSparkVersion *string `json:"requiredSparkVersion,omitempty"`
186775  	// Language - The language of the Spark application.
186776  	Language *string `json:"language,omitempty"`
186777  	// JobProperties - The properties of the Spark job.
186778  	JobProperties *SparkJobProperties `json:"jobProperties,omitempty"`
186779  }
186780  
186781  // MarshalJSON is the custom marshaler for SparkJobDefinition.
186782  func (sjd SparkJobDefinition) MarshalJSON() ([]byte, error) {
186783  	objectMap := make(map[string]interface{})
186784  	if sjd.Description != nil {
186785  		objectMap["description"] = sjd.Description
186786  	}
186787  	if sjd.TargetBigDataPool != nil {
186788  		objectMap["targetBigDataPool"] = sjd.TargetBigDataPool
186789  	}
186790  	if sjd.RequiredSparkVersion != nil {
186791  		objectMap["requiredSparkVersion"] = sjd.RequiredSparkVersion
186792  	}
186793  	if sjd.Language != nil {
186794  		objectMap["language"] = sjd.Language
186795  	}
186796  	if sjd.JobProperties != nil {
186797  		objectMap["jobProperties"] = sjd.JobProperties
186798  	}
186799  	for k, v := range sjd.AdditionalProperties {
186800  		objectMap[k] = v
186801  	}
186802  	return json.Marshal(objectMap)
186803  }
186804  
186805  // UnmarshalJSON is the custom unmarshaler for SparkJobDefinition struct.
186806  func (sjd *SparkJobDefinition) UnmarshalJSON(body []byte) error {
186807  	var m map[string]*json.RawMessage
186808  	err := json.Unmarshal(body, &m)
186809  	if err != nil {
186810  		return err
186811  	}
186812  	for k, v := range m {
186813  		switch k {
186814  		default:
186815  			if v != nil {
186816  				var additionalProperties interface{}
186817  				err = json.Unmarshal(*v, &additionalProperties)
186818  				if err != nil {
186819  					return err
186820  				}
186821  				if sjd.AdditionalProperties == nil {
186822  					sjd.AdditionalProperties = make(map[string]interface{})
186823  				}
186824  				sjd.AdditionalProperties[k] = additionalProperties
186825  			}
186826  		case "description":
186827  			if v != nil {
186828  				var description string
186829  				err = json.Unmarshal(*v, &description)
186830  				if err != nil {
186831  					return err
186832  				}
186833  				sjd.Description = &description
186834  			}
186835  		case "targetBigDataPool":
186836  			if v != nil {
186837  				var targetBigDataPool BigDataPoolReference
186838  				err = json.Unmarshal(*v, &targetBigDataPool)
186839  				if err != nil {
186840  					return err
186841  				}
186842  				sjd.TargetBigDataPool = &targetBigDataPool
186843  			}
186844  		case "requiredSparkVersion":
186845  			if v != nil {
186846  				var requiredSparkVersion string
186847  				err = json.Unmarshal(*v, &requiredSparkVersion)
186848  				if err != nil {
186849  					return err
186850  				}
186851  				sjd.RequiredSparkVersion = &requiredSparkVersion
186852  			}
186853  		case "language":
186854  			if v != nil {
186855  				var language string
186856  				err = json.Unmarshal(*v, &language)
186857  				if err != nil {
186858  					return err
186859  				}
186860  				sjd.Language = &language
186861  			}
186862  		case "jobProperties":
186863  			if v != nil {
186864  				var jobProperties SparkJobProperties
186865  				err = json.Unmarshal(*v, &jobProperties)
186866  				if err != nil {
186867  					return err
186868  				}
186869  				sjd.JobProperties = &jobProperties
186870  			}
186871  		}
186872  	}
186873  
186874  	return nil
186875  }
186876  
186877  // SparkJobDefinitionDebugSparkJobDefinitionFuture an abstraction for monitoring and retrieving the results
186878  // of a long-running operation.
186879  type SparkJobDefinitionDebugSparkJobDefinitionFuture struct {
186880  	azure.FutureAPI
186881  	// Result returns the result of the asynchronous operation.
186882  	// If the operation has not completed it will return an error.
186883  	Result func(SparkJobDefinitionClient) (SparkBatchJob, error)
186884  }
186885  
186886  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
186887  func (future *SparkJobDefinitionDebugSparkJobDefinitionFuture) UnmarshalJSON(body []byte) error {
186888  	var azFuture azure.Future
186889  	if err := json.Unmarshal(body, &azFuture); err != nil {
186890  		return err
186891  	}
186892  	future.FutureAPI = &azFuture
186893  	future.Result = future.result
186894  	return nil
186895  }
186896  
186897  // result is the default implementation for SparkJobDefinitionDebugSparkJobDefinitionFuture.Result.
186898  func (future *SparkJobDefinitionDebugSparkJobDefinitionFuture) result(client SparkJobDefinitionClient) (sbj SparkBatchJob, err error) {
186899  	var done bool
186900  	done, err = future.DoneWithContext(context.Background(), client)
186901  	if err != nil {
186902  		err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture", "Result", future.Response(), "Polling failure")
186903  		return
186904  	}
186905  	if !done {
186906  		sbj.Response.Response = future.Response()
186907  		err = azure.NewAsyncOpIncompleteError("artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture")
186908  		return
186909  	}
186910  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
186911  	if sbj.Response.Response, err = future.GetResult(sender); err == nil && sbj.Response.Response.StatusCode != http.StatusNoContent {
186912  		sbj, err = client.DebugSparkJobDefinitionResponder(sbj.Response.Response)
186913  		if err != nil {
186914  			err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionDebugSparkJobDefinitionFuture", "Result", sbj.Response.Response, "Failure responding to request")
186915  		}
186916  	}
186917  	return
186918  }
186919  
186920  // SparkJobDefinitionExecuteSparkJobDefinitionFuture an abstraction for monitoring and retrieving the
186921  // results of a long-running operation.
186922  type SparkJobDefinitionExecuteSparkJobDefinitionFuture struct {
186923  	azure.FutureAPI
186924  	// Result returns the result of the asynchronous operation.
186925  	// If the operation has not completed it will return an error.
186926  	Result func(SparkJobDefinitionClient) (SparkBatchJob, error)
186927  }
186928  
186929  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
186930  func (future *SparkJobDefinitionExecuteSparkJobDefinitionFuture) UnmarshalJSON(body []byte) error {
186931  	var azFuture azure.Future
186932  	if err := json.Unmarshal(body, &azFuture); err != nil {
186933  		return err
186934  	}
186935  	future.FutureAPI = &azFuture
186936  	future.Result = future.result
186937  	return nil
186938  }
186939  
186940  // result is the default implementation for SparkJobDefinitionExecuteSparkJobDefinitionFuture.Result.
186941  func (future *SparkJobDefinitionExecuteSparkJobDefinitionFuture) result(client SparkJobDefinitionClient) (sbj SparkBatchJob, err error) {
186942  	var done bool
186943  	done, err = future.DoneWithContext(context.Background(), client)
186944  	if err != nil {
186945  		err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture", "Result", future.Response(), "Polling failure")
186946  		return
186947  	}
186948  	if !done {
186949  		sbj.Response.Response = future.Response()
186950  		err = azure.NewAsyncOpIncompleteError("artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture")
186951  		return
186952  	}
186953  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
186954  	if sbj.Response.Response, err = future.GetResult(sender); err == nil && sbj.Response.Response.StatusCode != http.StatusNoContent {
186955  		sbj, err = client.ExecuteSparkJobDefinitionResponder(sbj.Response.Response)
186956  		if err != nil {
186957  			err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionExecuteSparkJobDefinitionFuture", "Result", sbj.Response.Response, "Failure responding to request")
186958  		}
186959  	}
186960  	return
186961  }
186962  
186963  // SparkJobDefinitionRenameSparkJobDefinitionFuture an abstraction for monitoring and retrieving the
186964  // results of a long-running operation.
186965  type SparkJobDefinitionRenameSparkJobDefinitionFuture struct {
186966  	azure.FutureAPI
186967  	// Result returns the result of the asynchronous operation.
186968  	// If the operation has not completed it will return an error.
186969  	Result func(SparkJobDefinitionClient) (autorest.Response, error)
186970  }
186971  
186972  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
186973  func (future *SparkJobDefinitionRenameSparkJobDefinitionFuture) UnmarshalJSON(body []byte) error {
186974  	var azFuture azure.Future
186975  	if err := json.Unmarshal(body, &azFuture); err != nil {
186976  		return err
186977  	}
186978  	future.FutureAPI = &azFuture
186979  	future.Result = future.result
186980  	return nil
186981  }
186982  
186983  // result is the default implementation for SparkJobDefinitionRenameSparkJobDefinitionFuture.Result.
186984  func (future *SparkJobDefinitionRenameSparkJobDefinitionFuture) result(client SparkJobDefinitionClient) (ar autorest.Response, err error) {
186985  	var done bool
186986  	done, err = future.DoneWithContext(context.Background(), client)
186987  	if err != nil {
186988  		err = autorest.NewErrorWithError(err, "artifacts.SparkJobDefinitionRenameSparkJobDefinitionFuture", "Result", future.Response(), "Polling failure")
186989  		return
186990  	}
186991  	if !done {
186992  		ar.Response = future.Response()
186993  		err = azure.NewAsyncOpIncompleteError("artifacts.SparkJobDefinitionRenameSparkJobDefinitionFuture")
186994  		return
186995  	}
186996  	ar.Response = future.Response()
186997  	return
186998  }
186999  
187000  // SparkJobDefinitionResource spark job definition resource type.
187001  type SparkJobDefinitionResource struct {
187002  	autorest.Response `json:"-"`
187003  	// Properties - Properties of spark job definition.
187004  	Properties *SparkJobDefinition `json:"properties,omitempty"`
187005  	// Etag - READ-ONLY; Resource Etag.
187006  	Etag *string `json:"etag,omitempty"`
187007  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
187008  	ID *string `json:"id,omitempty"`
187009  	// Name - READ-ONLY; The name of the resource
187010  	Name *string `json:"name,omitempty"`
187011  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
187012  	Type *string `json:"type,omitempty"`
187013  }
187014  
187015  // MarshalJSON is the custom marshaler for SparkJobDefinitionResource.
187016  func (sjdr SparkJobDefinitionResource) MarshalJSON() ([]byte, error) {
187017  	objectMap := make(map[string]interface{})
187018  	if sjdr.Properties != nil {
187019  		objectMap["properties"] = sjdr.Properties
187020  	}
187021  	return json.Marshal(objectMap)
187022  }
187023  
187024  // SparkJobDefinitionsListResponse a list of spark job definitions resources.
187025  type SparkJobDefinitionsListResponse struct {
187026  	autorest.Response `json:"-"`
187027  	// Value - List of spark job definitions.
187028  	Value *[]SparkJobDefinitionResource `json:"value,omitempty"`
187029  	// NextLink - The link to the next page of results, if any remaining results exist.
187030  	NextLink *string `json:"nextLink,omitempty"`
187031  }
187032  
187033  // SparkJobDefinitionsListResponseIterator provides access to a complete listing of
187034  // SparkJobDefinitionResource values.
187035  type SparkJobDefinitionsListResponseIterator struct {
187036  	i    int
187037  	page SparkJobDefinitionsListResponsePage
187038  }
187039  
187040  // NextWithContext advances to the next value.  If there was an error making
187041  // the request the iterator does not advance and the error is returned.
187042  func (iter *SparkJobDefinitionsListResponseIterator) NextWithContext(ctx context.Context) (err error) {
187043  	if tracing.IsEnabled() {
187044  		ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionsListResponseIterator.NextWithContext")
187045  		defer func() {
187046  			sc := -1
187047  			if iter.Response().Response.Response != nil {
187048  				sc = iter.Response().Response.Response.StatusCode
187049  			}
187050  			tracing.EndSpan(ctx, sc, err)
187051  		}()
187052  	}
187053  	iter.i++
187054  	if iter.i < len(iter.page.Values()) {
187055  		return nil
187056  	}
187057  	err = iter.page.NextWithContext(ctx)
187058  	if err != nil {
187059  		iter.i--
187060  		return err
187061  	}
187062  	iter.i = 0
187063  	return nil
187064  }
187065  
187066  // Next advances to the next value.  If there was an error making
187067  // the request the iterator does not advance and the error is returned.
187068  // Deprecated: Use NextWithContext() instead.
187069  func (iter *SparkJobDefinitionsListResponseIterator) Next() error {
187070  	return iter.NextWithContext(context.Background())
187071  }
187072  
187073  // NotDone returns true if the enumeration should be started or is not yet complete.
187074  func (iter SparkJobDefinitionsListResponseIterator) NotDone() bool {
187075  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
187076  }
187077  
187078  // Response returns the raw server response from the last page request.
187079  func (iter SparkJobDefinitionsListResponseIterator) Response() SparkJobDefinitionsListResponse {
187080  	return iter.page.Response()
187081  }
187082  
187083  // Value returns the current value or a zero-initialized value if the
187084  // iterator has advanced beyond the end of the collection.
187085  func (iter SparkJobDefinitionsListResponseIterator) Value() SparkJobDefinitionResource {
187086  	if !iter.page.NotDone() {
187087  		return SparkJobDefinitionResource{}
187088  	}
187089  	return iter.page.Values()[iter.i]
187090  }
187091  
187092  // Creates a new instance of the SparkJobDefinitionsListResponseIterator type.
187093  func NewSparkJobDefinitionsListResponseIterator(page SparkJobDefinitionsListResponsePage) SparkJobDefinitionsListResponseIterator {
187094  	return SparkJobDefinitionsListResponseIterator{page: page}
187095  }
187096  
187097  // IsEmpty returns true if the ListResult contains no values.
187098  func (sjdlr SparkJobDefinitionsListResponse) IsEmpty() bool {
187099  	return sjdlr.Value == nil || len(*sjdlr.Value) == 0
187100  }
187101  
187102  // hasNextLink returns true if the NextLink is not empty.
187103  func (sjdlr SparkJobDefinitionsListResponse) hasNextLink() bool {
187104  	return sjdlr.NextLink != nil && len(*sjdlr.NextLink) != 0
187105  }
187106  
187107  // sparkJobDefinitionsListResponsePreparer prepares a request to retrieve the next set of results.
187108  // It returns nil if no more results exist.
187109  func (sjdlr SparkJobDefinitionsListResponse) sparkJobDefinitionsListResponsePreparer(ctx context.Context) (*http.Request, error) {
187110  	if !sjdlr.hasNextLink() {
187111  		return nil, nil
187112  	}
187113  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
187114  		autorest.AsJSON(),
187115  		autorest.AsGet(),
187116  		autorest.WithBaseURL(to.String(sjdlr.NextLink)))
187117  }
187118  
187119  // SparkJobDefinitionsListResponsePage contains a page of SparkJobDefinitionResource values.
187120  type SparkJobDefinitionsListResponsePage struct {
187121  	fn    func(context.Context, SparkJobDefinitionsListResponse) (SparkJobDefinitionsListResponse, error)
187122  	sjdlr SparkJobDefinitionsListResponse
187123  }
187124  
187125  // NextWithContext advances to the next page of values.  If there was an error making
187126  // the request the page does not advance and the error is returned.
187127  func (page *SparkJobDefinitionsListResponsePage) NextWithContext(ctx context.Context) (err error) {
187128  	if tracing.IsEnabled() {
187129  		ctx = tracing.StartSpan(ctx, fqdn+"/SparkJobDefinitionsListResponsePage.NextWithContext")
187130  		defer func() {
187131  			sc := -1
187132  			if page.Response().Response.Response != nil {
187133  				sc = page.Response().Response.Response.StatusCode
187134  			}
187135  			tracing.EndSpan(ctx, sc, err)
187136  		}()
187137  	}
187138  	for {
187139  		next, err := page.fn(ctx, page.sjdlr)
187140  		if err != nil {
187141  			return err
187142  		}
187143  		page.sjdlr = next
187144  		if !next.hasNextLink() || !next.IsEmpty() {
187145  			break
187146  		}
187147  	}
187148  	return nil
187149  }
187150  
187151  // Next advances to the next page of values.  If there was an error making
187152  // the request the page does not advance and the error is returned.
187153  // Deprecated: Use NextWithContext() instead.
187154  func (page *SparkJobDefinitionsListResponsePage) Next() error {
187155  	return page.NextWithContext(context.Background())
187156  }
187157  
187158  // NotDone returns true if the page enumeration should be started or is not yet complete.
187159  func (page SparkJobDefinitionsListResponsePage) NotDone() bool {
187160  	return !page.sjdlr.IsEmpty()
187161  }
187162  
187163  // Response returns the raw server response from the last page request.
187164  func (page SparkJobDefinitionsListResponsePage) Response() SparkJobDefinitionsListResponse {
187165  	return page.sjdlr
187166  }
187167  
187168  // Values returns the slice of values for the current page or nil if there are no values.
187169  func (page SparkJobDefinitionsListResponsePage) Values() []SparkJobDefinitionResource {
187170  	if page.sjdlr.IsEmpty() {
187171  		return nil
187172  	}
187173  	return *page.sjdlr.Value
187174  }
187175  
187176  // Creates a new instance of the SparkJobDefinitionsListResponsePage type.
187177  func NewSparkJobDefinitionsListResponsePage(cur SparkJobDefinitionsListResponse, getNextPage func(context.Context, SparkJobDefinitionsListResponse) (SparkJobDefinitionsListResponse, error)) SparkJobDefinitionsListResponsePage {
187178  	return SparkJobDefinitionsListResponsePage{
187179  		fn:    getNextPage,
187180  		sjdlr: cur,
187181  	}
187182  }
187183  
187184  // SparkJobProperties the properties of the Spark job.
187185  type SparkJobProperties struct {
187186  	// Name - The name of the job.
187187  	Name *string `json:"name,omitempty"`
187188  	// File - File containing the application to execute.
187189  	File *string `json:"file,omitempty"`
187190  	// ClassName - Main class for Java/Scala application.
187191  	ClassName *string `json:"className,omitempty"`
187192  	// Conf - Spark configuration properties.
187193  	Conf interface{} `json:"conf,omitempty"`
187194  	// Args - Command line arguments for the application.
187195  	Args *[]string `json:"args,omitempty"`
187196  	// Jars - Jars to be used in this job.
187197  	Jars *[]string `json:"jars,omitempty"`
187198  	// Files - files to be used in this job.
187199  	Files *[]string `json:"files,omitempty"`
187200  	// Archives - Archives to be used in this job.
187201  	Archives *[]string `json:"archives,omitempty"`
187202  	// DriverMemory - Amount of memory to use for the driver process.
187203  	DriverMemory *string `json:"driverMemory,omitempty"`
187204  	// DriverCores - Number of cores to use for the driver.
187205  	DriverCores *int32 `json:"driverCores,omitempty"`
187206  	// ExecutorMemory - Amount of memory to use per executor process.
187207  	ExecutorMemory *string `json:"executorMemory,omitempty"`
187208  	// ExecutorCores - Number of cores to use for each executor.
187209  	ExecutorCores *int32 `json:"executorCores,omitempty"`
187210  	// NumExecutors - Number of executors to launch for this job.
187211  	NumExecutors *int32 `json:"numExecutors,omitempty"`
187212  }
187213  
187214  // SparkLinkedService spark Server linked service.
187215  type SparkLinkedService struct {
187216  	// SparkLinkedServiceTypeProperties - Spark Server linked service properties.
187217  	*SparkLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
187218  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
187219  	AdditionalProperties map[string]interface{} `json:""`
187220  	// ConnectVia - The integration runtime reference.
187221  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
187222  	// Description - Linked service description.
187223  	Description *string `json:"description,omitempty"`
187224  	// Parameters - Parameters for linked service.
187225  	Parameters map[string]*ParameterSpecification `json:"parameters"`
187226  	// Annotations - List of tags that can be used for describing the linked service.
187227  	Annotations *[]interface{} `json:"annotations,omitempty"`
187228  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
187229  	Type TypeBasicLinkedService `json:"type,omitempty"`
187230  }
187231  
187232  // MarshalJSON is the custom marshaler for SparkLinkedService.
187233  func (sls SparkLinkedService) MarshalJSON() ([]byte, error) {
187234  	sls.Type = TypeSpark
187235  	objectMap := make(map[string]interface{})
187236  	if sls.SparkLinkedServiceTypeProperties != nil {
187237  		objectMap["typeProperties"] = sls.SparkLinkedServiceTypeProperties
187238  	}
187239  	if sls.ConnectVia != nil {
187240  		objectMap["connectVia"] = sls.ConnectVia
187241  	}
187242  	if sls.Description != nil {
187243  		objectMap["description"] = sls.Description
187244  	}
187245  	if sls.Parameters != nil {
187246  		objectMap["parameters"] = sls.Parameters
187247  	}
187248  	if sls.Annotations != nil {
187249  		objectMap["annotations"] = sls.Annotations
187250  	}
187251  	if sls.Type != "" {
187252  		objectMap["type"] = sls.Type
187253  	}
187254  	for k, v := range sls.AdditionalProperties {
187255  		objectMap[k] = v
187256  	}
187257  	return json.Marshal(objectMap)
187258  }
187259  
187260  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187261  func (sls SparkLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
187262  	return nil, false
187263  }
187264  
187265  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187266  func (sls SparkLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
187267  	return nil, false
187268  }
187269  
187270  // AsSapTableLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187271  func (sls SparkLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
187272  	return nil, false
187273  }
187274  
187275  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187276  func (sls SparkLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
187277  	return nil, false
187278  }
187279  
187280  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187281  func (sls SparkLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
187282  	return nil, false
187283  }
187284  
187285  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187286  func (sls SparkLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
187287  	return nil, false
187288  }
187289  
187290  // AsResponsysLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187291  func (sls SparkLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
187292  	return nil, false
187293  }
187294  
187295  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187296  func (sls SparkLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
187297  	return nil, false
187298  }
187299  
187300  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187301  func (sls SparkLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
187302  	return nil, false
187303  }
187304  
187305  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187306  func (sls SparkLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
187307  	return nil, false
187308  }
187309  
187310  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187311  func (sls SparkLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
187312  	return nil, false
187313  }
187314  
187315  // AsNetezzaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187316  func (sls SparkLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
187317  	return nil, false
187318  }
187319  
187320  // AsVerticaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187321  func (sls SparkLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
187322  	return nil, false
187323  }
187324  
187325  // AsZohoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187326  func (sls SparkLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
187327  	return nil, false
187328  }
187329  
187330  // AsXeroLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187331  func (sls SparkLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
187332  	return nil, false
187333  }
187334  
187335  // AsSquareLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187336  func (sls SparkLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
187337  	return nil, false
187338  }
187339  
187340  // AsSparkLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187341  func (sls SparkLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
187342  	return &sls, true
187343  }
187344  
187345  // AsShopifyLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187346  func (sls SparkLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
187347  	return nil, false
187348  }
187349  
187350  // AsServiceNowLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187351  func (sls SparkLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
187352  	return nil, false
187353  }
187354  
187355  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187356  func (sls SparkLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
187357  	return nil, false
187358  }
187359  
187360  // AsPrestoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187361  func (sls SparkLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
187362  	return nil, false
187363  }
187364  
187365  // AsPhoenixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187366  func (sls SparkLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
187367  	return nil, false
187368  }
187369  
187370  // AsPaypalLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187371  func (sls SparkLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
187372  	return nil, false
187373  }
187374  
187375  // AsMarketoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187376  func (sls SparkLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
187377  	return nil, false
187378  }
187379  
187380  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187381  func (sls SparkLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
187382  	return nil, false
187383  }
187384  
187385  // AsMariaDBLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187386  func (sls SparkLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
187387  	return nil, false
187388  }
187389  
187390  // AsMagentoLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187391  func (sls SparkLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
187392  	return nil, false
187393  }
187394  
187395  // AsJiraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187396  func (sls SparkLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
187397  	return nil, false
187398  }
187399  
187400  // AsImpalaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187401  func (sls SparkLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
187402  	return nil, false
187403  }
187404  
187405  // AsHubspotLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187406  func (sls SparkLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
187407  	return nil, false
187408  }
187409  
187410  // AsHiveLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187411  func (sls SparkLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
187412  	return nil, false
187413  }
187414  
187415  // AsHBaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187416  func (sls SparkLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
187417  	return nil, false
187418  }
187419  
187420  // AsGreenplumLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187421  func (sls SparkLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
187422  	return nil, false
187423  }
187424  
187425  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187426  func (sls SparkLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
187427  	return nil, false
187428  }
187429  
187430  // AsEloquaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187431  func (sls SparkLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
187432  	return nil, false
187433  }
187434  
187435  // AsDrillLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187436  func (sls SparkLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
187437  	return nil, false
187438  }
187439  
187440  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187441  func (sls SparkLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
187442  	return nil, false
187443  }
187444  
187445  // AsConcurLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187446  func (sls SparkLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
187447  	return nil, false
187448  }
187449  
187450  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187451  func (sls SparkLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
187452  	return nil, false
187453  }
187454  
187455  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187456  func (sls SparkLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
187457  	return nil, false
187458  }
187459  
187460  // AsSapHanaLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187461  func (sls SparkLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
187462  	return nil, false
187463  }
187464  
187465  // AsSapBWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187466  func (sls SparkLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
187467  	return nil, false
187468  }
187469  
187470  // AsSftpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187471  func (sls SparkLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
187472  	return nil, false
187473  }
187474  
187475  // AsFtpServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187476  func (sls SparkLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
187477  	return nil, false
187478  }
187479  
187480  // AsHTTPLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187481  func (sls SparkLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
187482  	return nil, false
187483  }
187484  
187485  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187486  func (sls SparkLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
187487  	return nil, false
187488  }
187489  
187490  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187491  func (sls SparkLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
187492  	return nil, false
187493  }
187494  
187495  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187496  func (sls SparkLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
187497  	return nil, false
187498  }
187499  
187500  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SparkLinkedService.
187501  func (sls SparkLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
187502  	return nil, false
187503  }
187504  
187505  // AsRestServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187506  func (sls SparkLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
187507  	return nil, false
187508  }
187509  
187510  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187511  func (sls SparkLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
187512  	return nil, false
187513  }
187514  
187515  // AsSapEccLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187516  func (sls SparkLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
187517  	return nil, false
187518  }
187519  
187520  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187521  func (sls SparkLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
187522  	return nil, false
187523  }
187524  
187525  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187526  func (sls SparkLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
187527  	return nil, false
187528  }
187529  
187530  // AsSalesforceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187531  func (sls SparkLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
187532  	return nil, false
187533  }
187534  
187535  // AsOffice365LinkedService is the BasicLinkedService implementation for SparkLinkedService.
187536  func (sls SparkLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
187537  	return nil, false
187538  }
187539  
187540  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187541  func (sls SparkLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
187542  	return nil, false
187543  }
187544  
187545  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187546  func (sls SparkLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
187547  	return nil, false
187548  }
187549  
187550  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SparkLinkedService.
187551  func (sls SparkLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
187552  	return nil, false
187553  }
187554  
187555  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
187556  func (sls SparkLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
187557  	return nil, false
187558  }
187559  
187560  // AsMongoDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187561  func (sls SparkLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
187562  	return nil, false
187563  }
187564  
187565  // AsCassandraLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187566  func (sls SparkLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
187567  	return nil, false
187568  }
187569  
187570  // AsWebLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187571  func (sls SparkLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
187572  	return nil, false
187573  }
187574  
187575  // AsODataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187576  func (sls SparkLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
187577  	return nil, false
187578  }
187579  
187580  // AsHdfsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187581  func (sls SparkLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
187582  	return nil, false
187583  }
187584  
187585  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187586  func (sls SparkLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
187587  	return nil, false
187588  }
187589  
187590  // AsInformixLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187591  func (sls SparkLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
187592  	return nil, false
187593  }
187594  
187595  // AsOdbcLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187596  func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
187597  	return nil, false
187598  }
187599  
187600  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187601  func (sls SparkLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
187602  	return nil, false
187603  }
187604  
187605  // AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187606  func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
187607  	return nil, false
187608  }
187609  
187610  // AsTeradataLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187611  func (sls SparkLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
187612  	return nil, false
187613  }
187614  
187615  // AsDb2LinkedService is the BasicLinkedService implementation for SparkLinkedService.
187616  func (sls SparkLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
187617  	return nil, false
187618  }
187619  
187620  // AsSybaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187621  func (sls SparkLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
187622  	return nil, false
187623  }
187624  
187625  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187626  func (sls SparkLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
187627  	return nil, false
187628  }
187629  
187630  // AsMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187631  func (sls SparkLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
187632  	return nil, false
187633  }
187634  
187635  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187636  func (sls SparkLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
187637  	return nil, false
187638  }
187639  
187640  // AsOracleLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187641  func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
187642  	return nil, false
187643  }
187644  
187645  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187646  func (sls SparkLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
187647  	return nil, false
187648  }
187649  
187650  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187651  func (sls SparkLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
187652  	return nil, false
187653  }
187654  
187655  // AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187656  func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
187657  	return nil, false
187658  }
187659  
187660  // AsHDInsightLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187661  func (sls SparkLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
187662  	return nil, false
187663  }
187664  
187665  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187666  func (sls SparkLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
187667  	return nil, false
187668  }
187669  
187670  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187671  func (sls SparkLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
187672  	return nil, false
187673  }
187674  
187675  // AsDynamicsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187676  func (sls SparkLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
187677  	return nil, false
187678  }
187679  
187680  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187681  func (sls SparkLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
187682  	return nil, false
187683  }
187684  
187685  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187686  func (sls SparkLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
187687  	return nil, false
187688  }
187689  
187690  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187691  func (sls SparkLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
187692  	return nil, false
187693  }
187694  
187695  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SparkLinkedService.
187696  func (sls SparkLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
187697  	return nil, false
187698  }
187699  
187700  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187701  func (sls SparkLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
187702  	return nil, false
187703  }
187704  
187705  // AsSQLServerLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187706  func (sls SparkLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
187707  	return nil, false
187708  }
187709  
187710  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187711  func (sls SparkLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
187712  	return nil, false
187713  }
187714  
187715  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187716  func (sls SparkLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
187717  	return nil, false
187718  }
187719  
187720  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187721  func (sls SparkLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
187722  	return nil, false
187723  }
187724  
187725  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187726  func (sls SparkLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
187727  	return nil, false
187728  }
187729  
187730  // AsLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187731  func (sls SparkLinkedService) AsLinkedService() (*LinkedService, bool) {
187732  	return nil, false
187733  }
187734  
187735  // AsBasicLinkedService is the BasicLinkedService implementation for SparkLinkedService.
187736  func (sls SparkLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
187737  	return &sls, true
187738  }
187739  
187740  // UnmarshalJSON is the custom unmarshaler for SparkLinkedService struct.
187741  func (sls *SparkLinkedService) UnmarshalJSON(body []byte) error {
187742  	var m map[string]*json.RawMessage
187743  	err := json.Unmarshal(body, &m)
187744  	if err != nil {
187745  		return err
187746  	}
187747  	for k, v := range m {
187748  		switch k {
187749  		case "typeProperties":
187750  			if v != nil {
187751  				var sparkLinkedServiceTypeProperties SparkLinkedServiceTypeProperties
187752  				err = json.Unmarshal(*v, &sparkLinkedServiceTypeProperties)
187753  				if err != nil {
187754  					return err
187755  				}
187756  				sls.SparkLinkedServiceTypeProperties = &sparkLinkedServiceTypeProperties
187757  			}
187758  		default:
187759  			if v != nil {
187760  				var additionalProperties interface{}
187761  				err = json.Unmarshal(*v, &additionalProperties)
187762  				if err != nil {
187763  					return err
187764  				}
187765  				if sls.AdditionalProperties == nil {
187766  					sls.AdditionalProperties = make(map[string]interface{})
187767  				}
187768  				sls.AdditionalProperties[k] = additionalProperties
187769  			}
187770  		case "connectVia":
187771  			if v != nil {
187772  				var connectVia IntegrationRuntimeReference
187773  				err = json.Unmarshal(*v, &connectVia)
187774  				if err != nil {
187775  					return err
187776  				}
187777  				sls.ConnectVia = &connectVia
187778  			}
187779  		case "description":
187780  			if v != nil {
187781  				var description string
187782  				err = json.Unmarshal(*v, &description)
187783  				if err != nil {
187784  					return err
187785  				}
187786  				sls.Description = &description
187787  			}
187788  		case "parameters":
187789  			if v != nil {
187790  				var parameters map[string]*ParameterSpecification
187791  				err = json.Unmarshal(*v, &parameters)
187792  				if err != nil {
187793  					return err
187794  				}
187795  				sls.Parameters = parameters
187796  			}
187797  		case "annotations":
187798  			if v != nil {
187799  				var annotations []interface{}
187800  				err = json.Unmarshal(*v, &annotations)
187801  				if err != nil {
187802  					return err
187803  				}
187804  				sls.Annotations = &annotations
187805  			}
187806  		case "type":
187807  			if v != nil {
187808  				var typeVar TypeBasicLinkedService
187809  				err = json.Unmarshal(*v, &typeVar)
187810  				if err != nil {
187811  					return err
187812  				}
187813  				sls.Type = typeVar
187814  			}
187815  		}
187816  	}
187817  
187818  	return nil
187819  }
187820  
187821  // SparkLinkedServiceTypeProperties spark Server linked service properties.
187822  type SparkLinkedServiceTypeProperties struct {
187823  	// Host - IP address or host name of the Spark server
187824  	Host interface{} `json:"host,omitempty"`
187825  	// Port - The TCP port that the Spark server uses to listen for client connections.
187826  	Port interface{} `json:"port,omitempty"`
187827  	// ServerType - The type of Spark server. Possible values include: 'SharkServer', 'SharkServer2', 'SparkThriftServer'
187828  	ServerType SparkServerType `json:"serverType,omitempty"`
187829  	// ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'SparkThriftTransportProtocolBinary', 'SparkThriftTransportProtocolSASL', 'SparkThriftTransportProtocolHTTP'
187830  	ThriftTransportProtocol SparkThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"`
187831  	// AuthenticationType - The authentication method used to access the Spark server. Possible values include: 'SparkAuthenticationTypeAnonymous', 'SparkAuthenticationTypeUsername', 'SparkAuthenticationTypeUsernameAndPassword', 'SparkAuthenticationTypeWindowsAzureHDInsightService'
187832  	AuthenticationType SparkAuthenticationType `json:"authenticationType,omitempty"`
187833  	// Username - The user name that you use to access Spark Server.
187834  	Username interface{} `json:"username,omitempty"`
187835  	// Password - The password corresponding to the user name that you provided in the Username field
187836  	Password BasicSecretBase `json:"password,omitempty"`
187837  	// HTTPPath - The partial URL corresponding to the Spark server.
187838  	HTTPPath interface{} `json:"httpPath,omitempty"`
187839  	// EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false.
187840  	EnableSsl interface{} `json:"enableSsl,omitempty"`
187841  	// 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.
187842  	TrustedCertPath interface{} `json:"trustedCertPath,omitempty"`
187843  	// UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.
187844  	UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"`
187845  	// 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.
187846  	AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"`
187847  	// AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false.
187848  	AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"`
187849  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
187850  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
187851  }
187852  
187853  // UnmarshalJSON is the custom unmarshaler for SparkLinkedServiceTypeProperties struct.
187854  func (slstp *SparkLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
187855  	var m map[string]*json.RawMessage
187856  	err := json.Unmarshal(body, &m)
187857  	if err != nil {
187858  		return err
187859  	}
187860  	for k, v := range m {
187861  		switch k {
187862  		case "host":
187863  			if v != nil {
187864  				var host interface{}
187865  				err = json.Unmarshal(*v, &host)
187866  				if err != nil {
187867  					return err
187868  				}
187869  				slstp.Host = host
187870  			}
187871  		case "port":
187872  			if v != nil {
187873  				var port interface{}
187874  				err = json.Unmarshal(*v, &port)
187875  				if err != nil {
187876  					return err
187877  				}
187878  				slstp.Port = port
187879  			}
187880  		case "serverType":
187881  			if v != nil {
187882  				var serverType SparkServerType
187883  				err = json.Unmarshal(*v, &serverType)
187884  				if err != nil {
187885  					return err
187886  				}
187887  				slstp.ServerType = serverType
187888  			}
187889  		case "thriftTransportProtocol":
187890  			if v != nil {
187891  				var thriftTransportProtocol SparkThriftTransportProtocol
187892  				err = json.Unmarshal(*v, &thriftTransportProtocol)
187893  				if err != nil {
187894  					return err
187895  				}
187896  				slstp.ThriftTransportProtocol = thriftTransportProtocol
187897  			}
187898  		case "authenticationType":
187899  			if v != nil {
187900  				var authenticationType SparkAuthenticationType
187901  				err = json.Unmarshal(*v, &authenticationType)
187902  				if err != nil {
187903  					return err
187904  				}
187905  				slstp.AuthenticationType = authenticationType
187906  			}
187907  		case "username":
187908  			if v != nil {
187909  				var username interface{}
187910  				err = json.Unmarshal(*v, &username)
187911  				if err != nil {
187912  					return err
187913  				}
187914  				slstp.Username = username
187915  			}
187916  		case "password":
187917  			if v != nil {
187918  				password, err := unmarshalBasicSecretBase(*v)
187919  				if err != nil {
187920  					return err
187921  				}
187922  				slstp.Password = password
187923  			}
187924  		case "httpPath":
187925  			if v != nil {
187926  				var HTTPPath interface{}
187927  				err = json.Unmarshal(*v, &HTTPPath)
187928  				if err != nil {
187929  					return err
187930  				}
187931  				slstp.HTTPPath = HTTPPath
187932  			}
187933  		case "enableSsl":
187934  			if v != nil {
187935  				var enableSsl interface{}
187936  				err = json.Unmarshal(*v, &enableSsl)
187937  				if err != nil {
187938  					return err
187939  				}
187940  				slstp.EnableSsl = enableSsl
187941  			}
187942  		case "trustedCertPath":
187943  			if v != nil {
187944  				var trustedCertPath interface{}
187945  				err = json.Unmarshal(*v, &trustedCertPath)
187946  				if err != nil {
187947  					return err
187948  				}
187949  				slstp.TrustedCertPath = trustedCertPath
187950  			}
187951  		case "useSystemTrustStore":
187952  			if v != nil {
187953  				var useSystemTrustStore interface{}
187954  				err = json.Unmarshal(*v, &useSystemTrustStore)
187955  				if err != nil {
187956  					return err
187957  				}
187958  				slstp.UseSystemTrustStore = useSystemTrustStore
187959  			}
187960  		case "allowHostNameCNMismatch":
187961  			if v != nil {
187962  				var allowHostNameCNMismatch interface{}
187963  				err = json.Unmarshal(*v, &allowHostNameCNMismatch)
187964  				if err != nil {
187965  					return err
187966  				}
187967  				slstp.AllowHostNameCNMismatch = allowHostNameCNMismatch
187968  			}
187969  		case "allowSelfSignedServerCert":
187970  			if v != nil {
187971  				var allowSelfSignedServerCert interface{}
187972  				err = json.Unmarshal(*v, &allowSelfSignedServerCert)
187973  				if err != nil {
187974  					return err
187975  				}
187976  				slstp.AllowSelfSignedServerCert = allowSelfSignedServerCert
187977  			}
187978  		case "encryptedCredential":
187979  			if v != nil {
187980  				var encryptedCredential interface{}
187981  				err = json.Unmarshal(*v, &encryptedCredential)
187982  				if err != nil {
187983  					return err
187984  				}
187985  				slstp.EncryptedCredential = encryptedCredential
187986  			}
187987  		}
187988  	}
187989  
187990  	return nil
187991  }
187992  
187993  // SparkObjectDataset spark Server dataset.
187994  type SparkObjectDataset struct {
187995  	// SparkDatasetTypeProperties - Properties specific to this dataset type.
187996  	*SparkDatasetTypeProperties `json:"typeProperties,omitempty"`
187997  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
187998  	AdditionalProperties map[string]interface{} `json:""`
187999  	// Description - Dataset description.
188000  	Description *string `json:"description,omitempty"`
188001  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
188002  	Structure interface{} `json:"structure,omitempty"`
188003  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
188004  	Schema interface{} `json:"schema,omitempty"`
188005  	// LinkedServiceName - Linked service reference.
188006  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
188007  	// Parameters - Parameters for dataset.
188008  	Parameters map[string]*ParameterSpecification `json:"parameters"`
188009  	// Annotations - List of tags that can be used for describing the Dataset.
188010  	Annotations *[]interface{} `json:"annotations,omitempty"`
188011  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
188012  	Folder *DatasetFolder `json:"folder,omitempty"`
188013  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
188014  	Type TypeBasicDataset `json:"type,omitempty"`
188015  }
188016  
188017  // MarshalJSON is the custom marshaler for SparkObjectDataset.
188018  func (sod SparkObjectDataset) MarshalJSON() ([]byte, error) {
188019  	sod.Type = TypeSparkObject
188020  	objectMap := make(map[string]interface{})
188021  	if sod.SparkDatasetTypeProperties != nil {
188022  		objectMap["typeProperties"] = sod.SparkDatasetTypeProperties
188023  	}
188024  	if sod.Description != nil {
188025  		objectMap["description"] = sod.Description
188026  	}
188027  	if sod.Structure != nil {
188028  		objectMap["structure"] = sod.Structure
188029  	}
188030  	if sod.Schema != nil {
188031  		objectMap["schema"] = sod.Schema
188032  	}
188033  	if sod.LinkedServiceName != nil {
188034  		objectMap["linkedServiceName"] = sod.LinkedServiceName
188035  	}
188036  	if sod.Parameters != nil {
188037  		objectMap["parameters"] = sod.Parameters
188038  	}
188039  	if sod.Annotations != nil {
188040  		objectMap["annotations"] = sod.Annotations
188041  	}
188042  	if sod.Folder != nil {
188043  		objectMap["folder"] = sod.Folder
188044  	}
188045  	if sod.Type != "" {
188046  		objectMap["type"] = sod.Type
188047  	}
188048  	for k, v := range sod.AdditionalProperties {
188049  		objectMap[k] = v
188050  	}
188051  	return json.Marshal(objectMap)
188052  }
188053  
188054  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188055  func (sod SparkObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
188056  	return nil, false
188057  }
188058  
188059  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SparkObjectDataset.
188060  func (sod SparkObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
188061  	return nil, false
188062  }
188063  
188064  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188065  func (sod SparkObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
188066  	return nil, false
188067  }
188068  
188069  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188070  func (sod SparkObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
188071  	return nil, false
188072  }
188073  
188074  // AsResponsysObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188075  func (sod SparkObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
188076  	return nil, false
188077  }
188078  
188079  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188080  func (sod SparkObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
188081  	return nil, false
188082  }
188083  
188084  // AsVerticaTableDataset is the BasicDataset implementation for SparkObjectDataset.
188085  func (sod SparkObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
188086  	return nil, false
188087  }
188088  
188089  // AsNetezzaTableDataset is the BasicDataset implementation for SparkObjectDataset.
188090  func (sod SparkObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
188091  	return nil, false
188092  }
188093  
188094  // AsZohoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188095  func (sod SparkObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
188096  	return nil, false
188097  }
188098  
188099  // AsXeroObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188100  func (sod SparkObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
188101  	return nil, false
188102  }
188103  
188104  // AsSquareObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188105  func (sod SparkObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
188106  	return nil, false
188107  }
188108  
188109  // AsSparkObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188110  func (sod SparkObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
188111  	return &sod, true
188112  }
188113  
188114  // AsShopifyObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188115  func (sod SparkObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
188116  	return nil, false
188117  }
188118  
188119  // AsServiceNowObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188120  func (sod SparkObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
188121  	return nil, false
188122  }
188123  
188124  // AsQuickBooksObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188125  func (sod SparkObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
188126  	return nil, false
188127  }
188128  
188129  // AsPrestoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188130  func (sod SparkObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
188131  	return nil, false
188132  }
188133  
188134  // AsPhoenixObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188135  func (sod SparkObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
188136  	return nil, false
188137  }
188138  
188139  // AsPaypalObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188140  func (sod SparkObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
188141  	return nil, false
188142  }
188143  
188144  // AsMarketoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188145  func (sod SparkObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
188146  	return nil, false
188147  }
188148  
188149  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset.
188150  func (sod SparkObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
188151  	return nil, false
188152  }
188153  
188154  // AsMariaDBTableDataset is the BasicDataset implementation for SparkObjectDataset.
188155  func (sod SparkObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
188156  	return nil, false
188157  }
188158  
188159  // AsMagentoObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188160  func (sod SparkObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
188161  	return nil, false
188162  }
188163  
188164  // AsJiraObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188165  func (sod SparkObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
188166  	return nil, false
188167  }
188168  
188169  // AsImpalaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188170  func (sod SparkObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
188171  	return nil, false
188172  }
188173  
188174  // AsHubspotObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188175  func (sod SparkObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
188176  	return nil, false
188177  }
188178  
188179  // AsHiveObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188180  func (sod SparkObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
188181  	return nil, false
188182  }
188183  
188184  // AsHBaseObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188185  func (sod SparkObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
188186  	return nil, false
188187  }
188188  
188189  // AsGreenplumTableDataset is the BasicDataset implementation for SparkObjectDataset.
188190  func (sod SparkObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
188191  	return nil, false
188192  }
188193  
188194  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188195  func (sod SparkObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
188196  	return nil, false
188197  }
188198  
188199  // AsEloquaObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188200  func (sod SparkObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
188201  	return nil, false
188202  }
188203  
188204  // AsDrillTableDataset is the BasicDataset implementation for SparkObjectDataset.
188205  func (sod SparkObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
188206  	return nil, false
188207  }
188208  
188209  // AsCouchbaseTableDataset is the BasicDataset implementation for SparkObjectDataset.
188210  func (sod SparkObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
188211  	return nil, false
188212  }
188213  
188214  // AsConcurObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188215  func (sod SparkObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
188216  	return nil, false
188217  }
188218  
188219  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
188220  func (sod SparkObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
188221  	return nil, false
188222  }
188223  
188224  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188225  func (sod SparkObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
188226  	return nil, false
188227  }
188228  
188229  // AsAzureSearchIndexDataset is the BasicDataset implementation for SparkObjectDataset.
188230  func (sod SparkObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
188231  	return nil, false
188232  }
188233  
188234  // AsWebTableDataset is the BasicDataset implementation for SparkObjectDataset.
188235  func (sod SparkObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
188236  	return nil, false
188237  }
188238  
188239  // AsSapTableResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188240  func (sod SparkObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
188241  	return nil, false
188242  }
188243  
188244  // AsRestResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188245  func (sod SparkObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
188246  	return nil, false
188247  }
188248  
188249  // AsSQLServerTableDataset is the BasicDataset implementation for SparkObjectDataset.
188250  func (sod SparkObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
188251  	return nil, false
188252  }
188253  
188254  // AsSapOpenHubTableDataset is the BasicDataset implementation for SparkObjectDataset.
188255  func (sod SparkObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
188256  	return nil, false
188257  }
188258  
188259  // AsSapHanaTableDataset is the BasicDataset implementation for SparkObjectDataset.
188260  func (sod SparkObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
188261  	return nil, false
188262  }
188263  
188264  // AsSapEccResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188265  func (sod SparkObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
188266  	return nil, false
188267  }
188268  
188269  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188270  func (sod SparkObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
188271  	return nil, false
188272  }
188273  
188274  // AsSapBwCubeDataset is the BasicDataset implementation for SparkObjectDataset.
188275  func (sod SparkObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
188276  	return nil, false
188277  }
188278  
188279  // AsSybaseTableDataset is the BasicDataset implementation for SparkObjectDataset.
188280  func (sod SparkObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
188281  	return nil, false
188282  }
188283  
188284  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188285  func (sod SparkObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
188286  	return nil, false
188287  }
188288  
188289  // AsSalesforceObjectDataset is the BasicDataset implementation for SparkObjectDataset.
188290  func (sod SparkObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
188291  	return nil, false
188292  }
188293  
188294  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SparkObjectDataset.
188295  func (sod SparkObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
188296  	return nil, false
188297  }
188298  
188299  // AsPostgreSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
188300  func (sod SparkObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
188301  	return nil, false
188302  }
188303  
188304  // AsMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
188305  func (sod SparkObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
188306  	return nil, false
188307  }
188308  
188309  // AsOdbcTableDataset is the BasicDataset implementation for SparkObjectDataset.
188310  func (sod SparkObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
188311  	return nil, false
188312  }
188313  
188314  // AsInformixTableDataset is the BasicDataset implementation for SparkObjectDataset.
188315  func (sod SparkObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
188316  	return nil, false
188317  }
188318  
188319  // AsRelationalTableDataset is the BasicDataset implementation for SparkObjectDataset.
188320  func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
188321  	return nil, false
188322  }
188323  
188324  // AsDb2TableDataset is the BasicDataset implementation for SparkObjectDataset.
188325  func (sod SparkObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
188326  	return nil, false
188327  }
188328  
188329  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SparkObjectDataset.
188330  func (sod SparkObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
188331  	return nil, false
188332  }
188333  
188334  // AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
188335  func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
188336  	return nil, false
188337  }
188338  
188339  // AsTeradataTableDataset is the BasicDataset implementation for SparkObjectDataset.
188340  func (sod SparkObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
188341  	return nil, false
188342  }
188343  
188344  // AsOracleTableDataset is the BasicDataset implementation for SparkObjectDataset.
188345  func (sod SparkObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
188346  	return nil, false
188347  }
188348  
188349  // AsODataResourceDataset is the BasicDataset implementation for SparkObjectDataset.
188350  func (sod SparkObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
188351  	return nil, false
188352  }
188353  
188354  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset.
188355  func (sod SparkObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
188356  	return nil, false
188357  }
188358  
188359  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SparkObjectDataset.
188360  func (sod SparkObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
188361  	return nil, false
188362  }
188363  
188364  // AsMongoDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
188365  func (sod SparkObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
188366  	return nil, false
188367  }
188368  
188369  // AsOffice365Dataset is the BasicDataset implementation for SparkObjectDataset.
188370  func (sod SparkObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
188371  	return nil, false
188372  }
188373  
188374  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
188375  func (sod SparkObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
188376  	return nil, false
188377  }
188378  
188379  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SparkObjectDataset.
188380  func (sod SparkObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
188381  	return nil, false
188382  }
188383  
188384  // AsDynamicsEntityDataset is the BasicDataset implementation for SparkObjectDataset.
188385  func (sod SparkObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
188386  	return nil, false
188387  }
188388  
188389  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SparkObjectDataset.
188390  func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
188391  	return nil, false
188392  }
188393  
188394  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset.
188395  func (sod SparkObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
188396  	return nil, false
188397  }
188398  
188399  // AsCustomDataset is the BasicDataset implementation for SparkObjectDataset.
188400  func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
188401  	return nil, false
188402  }
188403  
188404  // AsCassandraTableDataset is the BasicDataset implementation for SparkObjectDataset.
188405  func (sod SparkObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
188406  	return nil, false
188407  }
188408  
188409  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SparkObjectDataset.
188410  func (sod SparkObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
188411  	return nil, false
188412  }
188413  
188414  // AsAzureSQLMITableDataset is the BasicDataset implementation for SparkObjectDataset.
188415  func (sod SparkObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
188416  	return nil, false
188417  }
188418  
188419  // AsAzureSQLTableDataset is the BasicDataset implementation for SparkObjectDataset.
188420  func (sod SparkObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
188421  	return nil, false
188422  }
188423  
188424  // AsAzureTableDataset is the BasicDataset implementation for SparkObjectDataset.
188425  func (sod SparkObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
188426  	return nil, false
188427  }
188428  
188429  // AsBinaryDataset is the BasicDataset implementation for SparkObjectDataset.
188430  func (sod SparkObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
188431  	return nil, false
188432  }
188433  
188434  // AsOrcDataset is the BasicDataset implementation for SparkObjectDataset.
188435  func (sod SparkObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
188436  	return nil, false
188437  }
188438  
188439  // AsJSONDataset is the BasicDataset implementation for SparkObjectDataset.
188440  func (sod SparkObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
188441  	return nil, false
188442  }
188443  
188444  // AsDelimitedTextDataset is the BasicDataset implementation for SparkObjectDataset.
188445  func (sod SparkObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
188446  	return nil, false
188447  }
188448  
188449  // AsParquetDataset is the BasicDataset implementation for SparkObjectDataset.
188450  func (sod SparkObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
188451  	return nil, false
188452  }
188453  
188454  // AsAvroDataset is the BasicDataset implementation for SparkObjectDataset.
188455  func (sod SparkObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
188456  	return nil, false
188457  }
188458  
188459  // AsDataset is the BasicDataset implementation for SparkObjectDataset.
188460  func (sod SparkObjectDataset) AsDataset() (*Dataset, bool) {
188461  	return nil, false
188462  }
188463  
188464  // AsBasicDataset is the BasicDataset implementation for SparkObjectDataset.
188465  func (sod SparkObjectDataset) AsBasicDataset() (BasicDataset, bool) {
188466  	return &sod, true
188467  }
188468  
188469  // UnmarshalJSON is the custom unmarshaler for SparkObjectDataset struct.
188470  func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error {
188471  	var m map[string]*json.RawMessage
188472  	err := json.Unmarshal(body, &m)
188473  	if err != nil {
188474  		return err
188475  	}
188476  	for k, v := range m {
188477  		switch k {
188478  		case "typeProperties":
188479  			if v != nil {
188480  				var sparkDatasetTypeProperties SparkDatasetTypeProperties
188481  				err = json.Unmarshal(*v, &sparkDatasetTypeProperties)
188482  				if err != nil {
188483  					return err
188484  				}
188485  				sod.SparkDatasetTypeProperties = &sparkDatasetTypeProperties
188486  			}
188487  		default:
188488  			if v != nil {
188489  				var additionalProperties interface{}
188490  				err = json.Unmarshal(*v, &additionalProperties)
188491  				if err != nil {
188492  					return err
188493  				}
188494  				if sod.AdditionalProperties == nil {
188495  					sod.AdditionalProperties = make(map[string]interface{})
188496  				}
188497  				sod.AdditionalProperties[k] = additionalProperties
188498  			}
188499  		case "description":
188500  			if v != nil {
188501  				var description string
188502  				err = json.Unmarshal(*v, &description)
188503  				if err != nil {
188504  					return err
188505  				}
188506  				sod.Description = &description
188507  			}
188508  		case "structure":
188509  			if v != nil {
188510  				var structure interface{}
188511  				err = json.Unmarshal(*v, &structure)
188512  				if err != nil {
188513  					return err
188514  				}
188515  				sod.Structure = structure
188516  			}
188517  		case "schema":
188518  			if v != nil {
188519  				var schema interface{}
188520  				err = json.Unmarshal(*v, &schema)
188521  				if err != nil {
188522  					return err
188523  				}
188524  				sod.Schema = schema
188525  			}
188526  		case "linkedServiceName":
188527  			if v != nil {
188528  				var linkedServiceName LinkedServiceReference
188529  				err = json.Unmarshal(*v, &linkedServiceName)
188530  				if err != nil {
188531  					return err
188532  				}
188533  				sod.LinkedServiceName = &linkedServiceName
188534  			}
188535  		case "parameters":
188536  			if v != nil {
188537  				var parameters map[string]*ParameterSpecification
188538  				err = json.Unmarshal(*v, &parameters)
188539  				if err != nil {
188540  					return err
188541  				}
188542  				sod.Parameters = parameters
188543  			}
188544  		case "annotations":
188545  			if v != nil {
188546  				var annotations []interface{}
188547  				err = json.Unmarshal(*v, &annotations)
188548  				if err != nil {
188549  					return err
188550  				}
188551  				sod.Annotations = &annotations
188552  			}
188553  		case "folder":
188554  			if v != nil {
188555  				var folder DatasetFolder
188556  				err = json.Unmarshal(*v, &folder)
188557  				if err != nil {
188558  					return err
188559  				}
188560  				sod.Folder = &folder
188561  			}
188562  		case "type":
188563  			if v != nil {
188564  				var typeVar TypeBasicDataset
188565  				err = json.Unmarshal(*v, &typeVar)
188566  				if err != nil {
188567  					return err
188568  				}
188569  				sod.Type = typeVar
188570  			}
188571  		}
188572  	}
188573  
188574  	return nil
188575  }
188576  
188577  // SparkRequest ...
188578  type SparkRequest struct {
188579  	Name           *string            `json:"name,omitempty"`
188580  	File           *string            `json:"file,omitempty"`
188581  	ClassName      *string            `json:"className,omitempty"`
188582  	Arguments      *[]string          `json:"args,omitempty"`
188583  	Jars           *[]string          `json:"jars,omitempty"`
188584  	PythonFiles    *[]string          `json:"pyFiles,omitempty"`
188585  	Files          *[]string          `json:"files,omitempty"`
188586  	Archives       *[]string          `json:"archives,omitempty"`
188587  	Configuration  map[string]*string `json:"conf"`
188588  	DriverMemory   *string            `json:"driverMemory,omitempty"`
188589  	DriverCores    *int32             `json:"driverCores,omitempty"`
188590  	ExecutorMemory *string            `json:"executorMemory,omitempty"`
188591  	ExecutorCores  *int32             `json:"executorCores,omitempty"`
188592  	ExecutorCount  *int32             `json:"numExecutors,omitempty"`
188593  }
188594  
188595  // MarshalJSON is the custom marshaler for SparkRequest.
188596  func (sr SparkRequest) MarshalJSON() ([]byte, error) {
188597  	objectMap := make(map[string]interface{})
188598  	if sr.Name != nil {
188599  		objectMap["name"] = sr.Name
188600  	}
188601  	if sr.File != nil {
188602  		objectMap["file"] = sr.File
188603  	}
188604  	if sr.ClassName != nil {
188605  		objectMap["className"] = sr.ClassName
188606  	}
188607  	if sr.Arguments != nil {
188608  		objectMap["args"] = sr.Arguments
188609  	}
188610  	if sr.Jars != nil {
188611  		objectMap["jars"] = sr.Jars
188612  	}
188613  	if sr.PythonFiles != nil {
188614  		objectMap["pyFiles"] = sr.PythonFiles
188615  	}
188616  	if sr.Files != nil {
188617  		objectMap["files"] = sr.Files
188618  	}
188619  	if sr.Archives != nil {
188620  		objectMap["archives"] = sr.Archives
188621  	}
188622  	if sr.Configuration != nil {
188623  		objectMap["conf"] = sr.Configuration
188624  	}
188625  	if sr.DriverMemory != nil {
188626  		objectMap["driverMemory"] = sr.DriverMemory
188627  	}
188628  	if sr.DriverCores != nil {
188629  		objectMap["driverCores"] = sr.DriverCores
188630  	}
188631  	if sr.ExecutorMemory != nil {
188632  		objectMap["executorMemory"] = sr.ExecutorMemory
188633  	}
188634  	if sr.ExecutorCores != nil {
188635  		objectMap["executorCores"] = sr.ExecutorCores
188636  	}
188637  	if sr.ExecutorCount != nil {
188638  		objectMap["numExecutors"] = sr.ExecutorCount
188639  	}
188640  	return json.Marshal(objectMap)
188641  }
188642  
188643  // SparkScheduler ...
188644  type SparkScheduler struct {
188645  	SubmittedAt             *date.Time `json:"submittedAt,omitempty"`
188646  	ScheduledAt             *date.Time `json:"scheduledAt,omitempty"`
188647  	EndedAt                 *date.Time `json:"endedAt,omitempty"`
188648  	CancellationRequestedAt *date.Time `json:"cancellationRequestedAt,omitempty"`
188649  	// CurrentState - Possible values include: 'SchedulerCurrentStateQueued', 'SchedulerCurrentStateScheduled', 'SchedulerCurrentStateEnded'
188650  	CurrentState SchedulerCurrentState `json:"currentState,omitempty"`
188651  }
188652  
188653  // SparkServiceError ...
188654  type SparkServiceError struct {
188655  	Message   *string `json:"message,omitempty"`
188656  	ErrorCode *string `json:"errorCode,omitempty"`
188657  	// Source - Possible values include: 'SparkErrorSourceSystem', 'SparkErrorSourceUser', 'SparkErrorSourceUnknown', 'SparkErrorSourceDependency'
188658  	Source SparkErrorSource `json:"source,omitempty"`
188659  }
188660  
188661  // SparkServicePlugin ...
188662  type SparkServicePlugin struct {
188663  	PreparationStartedAt         *date.Time `json:"preparationStartedAt,omitempty"`
188664  	ResourceAcquisitionStartedAt *date.Time `json:"resourceAcquisitionStartedAt,omitempty"`
188665  	SubmissionStartedAt          *date.Time `json:"submissionStartedAt,omitempty"`
188666  	MonitoringStartedAt          *date.Time `json:"monitoringStartedAt,omitempty"`
188667  	CleanupStartedAt             *date.Time `json:"cleanupStartedAt,omitempty"`
188668  	// CurrentState - Possible values include: 'Preparation', 'ResourceAcquisition', 'Queued', 'Submission', 'Monitoring', 'Cleanup', 'Ended'
188669  	CurrentState PluginCurrentState `json:"currentState,omitempty"`
188670  }
188671  
188672  // SparkSource a copy activity Spark Server source.
188673  type SparkSource struct {
188674  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
188675  	Query interface{} `json:"query,omitempty"`
188676  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
188677  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
188678  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
188679  	AdditionalProperties map[string]interface{} `json:""`
188680  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
188681  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
188682  	// 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])).
188683  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
188684  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
188685  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
188686  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
188687  	Type TypeBasicCopySource `json:"type,omitempty"`
188688  }
188689  
188690  // MarshalJSON is the custom marshaler for SparkSource.
188691  func (ss SparkSource) MarshalJSON() ([]byte, error) {
188692  	ss.Type = TypeSparkSource
188693  	objectMap := make(map[string]interface{})
188694  	if ss.Query != nil {
188695  		objectMap["query"] = ss.Query
188696  	}
188697  	if ss.QueryTimeout != nil {
188698  		objectMap["queryTimeout"] = ss.QueryTimeout
188699  	}
188700  	if ss.SourceRetryCount != nil {
188701  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
188702  	}
188703  	if ss.SourceRetryWait != nil {
188704  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
188705  	}
188706  	if ss.MaxConcurrentConnections != nil {
188707  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
188708  	}
188709  	if ss.Type != "" {
188710  		objectMap["type"] = ss.Type
188711  	}
188712  	for k, v := range ss.AdditionalProperties {
188713  		objectMap[k] = v
188714  	}
188715  	return json.Marshal(objectMap)
188716  }
188717  
188718  // AsHTTPSource is the BasicCopySource implementation for SparkSource.
188719  func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) {
188720  	return nil, false
188721  }
188722  
188723  // AsAzureBlobFSSource is the BasicCopySource implementation for SparkSource.
188724  func (ss SparkSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
188725  	return nil, false
188726  }
188727  
188728  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource.
188729  func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
188730  	return nil, false
188731  }
188732  
188733  // AsOffice365Source is the BasicCopySource implementation for SparkSource.
188734  func (ss SparkSource) AsOffice365Source() (*Office365Source, bool) {
188735  	return nil, false
188736  }
188737  
188738  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SparkSource.
188739  func (ss SparkSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
188740  	return nil, false
188741  }
188742  
188743  // AsMongoDbV2Source is the BasicCopySource implementation for SparkSource.
188744  func (ss SparkSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
188745  	return nil, false
188746  }
188747  
188748  // AsMongoDbSource is the BasicCopySource implementation for SparkSource.
188749  func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) {
188750  	return nil, false
188751  }
188752  
188753  // AsWebSource is the BasicCopySource implementation for SparkSource.
188754  func (ss SparkSource) AsWebSource() (*WebSource, bool) {
188755  	return nil, false
188756  }
188757  
188758  // AsOracleSource is the BasicCopySource implementation for SparkSource.
188759  func (ss SparkSource) AsOracleSource() (*OracleSource, bool) {
188760  	return nil, false
188761  }
188762  
188763  // AsAzureDataExplorerSource is the BasicCopySource implementation for SparkSource.
188764  func (ss SparkSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
188765  	return nil, false
188766  }
188767  
188768  // AsHdfsSource is the BasicCopySource implementation for SparkSource.
188769  func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) {
188770  	return nil, false
188771  }
188772  
188773  // AsFileSystemSource is the BasicCopySource implementation for SparkSource.
188774  func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) {
188775  	return nil, false
188776  }
188777  
188778  // AsRestSource is the BasicCopySource implementation for SparkSource.
188779  func (ss SparkSource) AsRestSource() (*RestSource, bool) {
188780  	return nil, false
188781  }
188782  
188783  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SparkSource.
188784  func (ss SparkSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
188785  	return nil, false
188786  }
188787  
188788  // AsODataSource is the BasicCopySource implementation for SparkSource.
188789  func (ss SparkSource) AsODataSource() (*ODataSource, bool) {
188790  	return nil, false
188791  }
188792  
188793  // AsMicrosoftAccessSource is the BasicCopySource implementation for SparkSource.
188794  func (ss SparkSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
188795  	return nil, false
188796  }
188797  
188798  // AsRelationalSource is the BasicCopySource implementation for SparkSource.
188799  func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) {
188800  	return nil, false
188801  }
188802  
188803  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SparkSource.
188804  func (ss SparkSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
188805  	return nil, false
188806  }
188807  
188808  // AsDynamicsCrmSource is the BasicCopySource implementation for SparkSource.
188809  func (ss SparkSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
188810  	return nil, false
188811  }
188812  
188813  // AsDynamicsSource is the BasicCopySource implementation for SparkSource.
188814  func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) {
188815  	return nil, false
188816  }
188817  
188818  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SparkSource.
188819  func (ss SparkSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
188820  	return nil, false
188821  }
188822  
188823  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource.
188824  func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
188825  	return nil, false
188826  }
188827  
188828  // AsBlobSource is the BasicCopySource implementation for SparkSource.
188829  func (ss SparkSource) AsBlobSource() (*BlobSource, bool) {
188830  	return nil, false
188831  }
188832  
188833  // AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource.
188834  func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
188835  	return nil, false
188836  }
188837  
188838  // AsGoogleAdWordsSource is the BasicCopySource implementation for SparkSource.
188839  func (ss SparkSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
188840  	return nil, false
188841  }
188842  
188843  // AsOracleServiceCloudSource is the BasicCopySource implementation for SparkSource.
188844  func (ss SparkSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
188845  	return nil, false
188846  }
188847  
188848  // AsDynamicsAXSource is the BasicCopySource implementation for SparkSource.
188849  func (ss SparkSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
188850  	return nil, false
188851  }
188852  
188853  // AsResponsysSource is the BasicCopySource implementation for SparkSource.
188854  func (ss SparkSource) AsResponsysSource() (*ResponsysSource, bool) {
188855  	return nil, false
188856  }
188857  
188858  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SparkSource.
188859  func (ss SparkSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
188860  	return nil, false
188861  }
188862  
188863  // AsVerticaSource is the BasicCopySource implementation for SparkSource.
188864  func (ss SparkSource) AsVerticaSource() (*VerticaSource, bool) {
188865  	return nil, false
188866  }
188867  
188868  // AsNetezzaSource is the BasicCopySource implementation for SparkSource.
188869  func (ss SparkSource) AsNetezzaSource() (*NetezzaSource, bool) {
188870  	return nil, false
188871  }
188872  
188873  // AsZohoSource is the BasicCopySource implementation for SparkSource.
188874  func (ss SparkSource) AsZohoSource() (*ZohoSource, bool) {
188875  	return nil, false
188876  }
188877  
188878  // AsXeroSource is the BasicCopySource implementation for SparkSource.
188879  func (ss SparkSource) AsXeroSource() (*XeroSource, bool) {
188880  	return nil, false
188881  }
188882  
188883  // AsSquareSource is the BasicCopySource implementation for SparkSource.
188884  func (ss SparkSource) AsSquareSource() (*SquareSource, bool) {
188885  	return nil, false
188886  }
188887  
188888  // AsSparkSource is the BasicCopySource implementation for SparkSource.
188889  func (ss SparkSource) AsSparkSource() (*SparkSource, bool) {
188890  	return &ss, true
188891  }
188892  
188893  // AsShopifySource is the BasicCopySource implementation for SparkSource.
188894  func (ss SparkSource) AsShopifySource() (*ShopifySource, bool) {
188895  	return nil, false
188896  }
188897  
188898  // AsServiceNowSource is the BasicCopySource implementation for SparkSource.
188899  func (ss SparkSource) AsServiceNowSource() (*ServiceNowSource, bool) {
188900  	return nil, false
188901  }
188902  
188903  // AsQuickBooksSource is the BasicCopySource implementation for SparkSource.
188904  func (ss SparkSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
188905  	return nil, false
188906  }
188907  
188908  // AsPrestoSource is the BasicCopySource implementation for SparkSource.
188909  func (ss SparkSource) AsPrestoSource() (*PrestoSource, bool) {
188910  	return nil, false
188911  }
188912  
188913  // AsPhoenixSource is the BasicCopySource implementation for SparkSource.
188914  func (ss SparkSource) AsPhoenixSource() (*PhoenixSource, bool) {
188915  	return nil, false
188916  }
188917  
188918  // AsPaypalSource is the BasicCopySource implementation for SparkSource.
188919  func (ss SparkSource) AsPaypalSource() (*PaypalSource, bool) {
188920  	return nil, false
188921  }
188922  
188923  // AsMarketoSource is the BasicCopySource implementation for SparkSource.
188924  func (ss SparkSource) AsMarketoSource() (*MarketoSource, bool) {
188925  	return nil, false
188926  }
188927  
188928  // AsAzureMariaDBSource is the BasicCopySource implementation for SparkSource.
188929  func (ss SparkSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
188930  	return nil, false
188931  }
188932  
188933  // AsMariaDBSource is the BasicCopySource implementation for SparkSource.
188934  func (ss SparkSource) AsMariaDBSource() (*MariaDBSource, bool) {
188935  	return nil, false
188936  }
188937  
188938  // AsMagentoSource is the BasicCopySource implementation for SparkSource.
188939  func (ss SparkSource) AsMagentoSource() (*MagentoSource, bool) {
188940  	return nil, false
188941  }
188942  
188943  // AsJiraSource is the BasicCopySource implementation for SparkSource.
188944  func (ss SparkSource) AsJiraSource() (*JiraSource, bool) {
188945  	return nil, false
188946  }
188947  
188948  // AsImpalaSource is the BasicCopySource implementation for SparkSource.
188949  func (ss SparkSource) AsImpalaSource() (*ImpalaSource, bool) {
188950  	return nil, false
188951  }
188952  
188953  // AsHubspotSource is the BasicCopySource implementation for SparkSource.
188954  func (ss SparkSource) AsHubspotSource() (*HubspotSource, bool) {
188955  	return nil, false
188956  }
188957  
188958  // AsHiveSource is the BasicCopySource implementation for SparkSource.
188959  func (ss SparkSource) AsHiveSource() (*HiveSource, bool) {
188960  	return nil, false
188961  }
188962  
188963  // AsHBaseSource is the BasicCopySource implementation for SparkSource.
188964  func (ss SparkSource) AsHBaseSource() (*HBaseSource, bool) {
188965  	return nil, false
188966  }
188967  
188968  // AsGreenplumSource is the BasicCopySource implementation for SparkSource.
188969  func (ss SparkSource) AsGreenplumSource() (*GreenplumSource, bool) {
188970  	return nil, false
188971  }
188972  
188973  // AsGoogleBigQuerySource is the BasicCopySource implementation for SparkSource.
188974  func (ss SparkSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
188975  	return nil, false
188976  }
188977  
188978  // AsEloquaSource is the BasicCopySource implementation for SparkSource.
188979  func (ss SparkSource) AsEloquaSource() (*EloquaSource, bool) {
188980  	return nil, false
188981  }
188982  
188983  // AsDrillSource is the BasicCopySource implementation for SparkSource.
188984  func (ss SparkSource) AsDrillSource() (*DrillSource, bool) {
188985  	return nil, false
188986  }
188987  
188988  // AsCouchbaseSource is the BasicCopySource implementation for SparkSource.
188989  func (ss SparkSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
188990  	return nil, false
188991  }
188992  
188993  // AsConcurSource is the BasicCopySource implementation for SparkSource.
188994  func (ss SparkSource) AsConcurSource() (*ConcurSource, bool) {
188995  	return nil, false
188996  }
188997  
188998  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SparkSource.
188999  func (ss SparkSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
189000  	return nil, false
189001  }
189002  
189003  // AsAmazonMWSSource is the BasicCopySource implementation for SparkSource.
189004  func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
189005  	return nil, false
189006  }
189007  
189008  // AsCassandraSource is the BasicCopySource implementation for SparkSource.
189009  func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) {
189010  	return nil, false
189011  }
189012  
189013  // AsTeradataSource is the BasicCopySource implementation for SparkSource.
189014  func (ss SparkSource) AsTeradataSource() (*TeradataSource, bool) {
189015  	return nil, false
189016  }
189017  
189018  // AsAzureMySQLSource is the BasicCopySource implementation for SparkSource.
189019  func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
189020  	return nil, false
189021  }
189022  
189023  // AsSQLDWSource is the BasicCopySource implementation for SparkSource.
189024  func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) {
189025  	return nil, false
189026  }
189027  
189028  // AsSQLMISource is the BasicCopySource implementation for SparkSource.
189029  func (ss SparkSource) AsSQLMISource() (*SQLMISource, bool) {
189030  	return nil, false
189031  }
189032  
189033  // AsAzureSQLSource is the BasicCopySource implementation for SparkSource.
189034  func (ss SparkSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
189035  	return nil, false
189036  }
189037  
189038  // AsSQLServerSource is the BasicCopySource implementation for SparkSource.
189039  func (ss SparkSource) AsSQLServerSource() (*SQLServerSource, bool) {
189040  	return nil, false
189041  }
189042  
189043  // AsSQLSource is the BasicCopySource implementation for SparkSource.
189044  func (ss SparkSource) AsSQLSource() (*SQLSource, bool) {
189045  	return nil, false
189046  }
189047  
189048  // AsSapTableSource is the BasicCopySource implementation for SparkSource.
189049  func (ss SparkSource) AsSapTableSource() (*SapTableSource, bool) {
189050  	return nil, false
189051  }
189052  
189053  // AsSapOpenHubSource is the BasicCopySource implementation for SparkSource.
189054  func (ss SparkSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
189055  	return nil, false
189056  }
189057  
189058  // AsSapHanaSource is the BasicCopySource implementation for SparkSource.
189059  func (ss SparkSource) AsSapHanaSource() (*SapHanaSource, bool) {
189060  	return nil, false
189061  }
189062  
189063  // AsSapEccSource is the BasicCopySource implementation for SparkSource.
189064  func (ss SparkSource) AsSapEccSource() (*SapEccSource, bool) {
189065  	return nil, false
189066  }
189067  
189068  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SparkSource.
189069  func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
189070  	return nil, false
189071  }
189072  
189073  // AsSalesforceSource is the BasicCopySource implementation for SparkSource.
189074  func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) {
189075  	return nil, false
189076  }
189077  
189078  // AsSapBwSource is the BasicCopySource implementation for SparkSource.
189079  func (ss SparkSource) AsSapBwSource() (*SapBwSource, bool) {
189080  	return nil, false
189081  }
189082  
189083  // AsSybaseSource is the BasicCopySource implementation for SparkSource.
189084  func (ss SparkSource) AsSybaseSource() (*SybaseSource, bool) {
189085  	return nil, false
189086  }
189087  
189088  // AsPostgreSQLSource is the BasicCopySource implementation for SparkSource.
189089  func (ss SparkSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
189090  	return nil, false
189091  }
189092  
189093  // AsMySQLSource is the BasicCopySource implementation for SparkSource.
189094  func (ss SparkSource) AsMySQLSource() (*MySQLSource, bool) {
189095  	return nil, false
189096  }
189097  
189098  // AsOdbcSource is the BasicCopySource implementation for SparkSource.
189099  func (ss SparkSource) AsOdbcSource() (*OdbcSource, bool) {
189100  	return nil, false
189101  }
189102  
189103  // AsDb2Source is the BasicCopySource implementation for SparkSource.
189104  func (ss SparkSource) AsDb2Source() (*Db2Source, bool) {
189105  	return nil, false
189106  }
189107  
189108  // AsInformixSource is the BasicCopySource implementation for SparkSource.
189109  func (ss SparkSource) AsInformixSource() (*InformixSource, bool) {
189110  	return nil, false
189111  }
189112  
189113  // AsAzureTableSource is the BasicCopySource implementation for SparkSource.
189114  func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) {
189115  	return nil, false
189116  }
189117  
189118  // AsTabularSource is the BasicCopySource implementation for SparkSource.
189119  func (ss SparkSource) AsTabularSource() (*TabularSource, bool) {
189120  	return nil, false
189121  }
189122  
189123  // AsBasicTabularSource is the BasicCopySource implementation for SparkSource.
189124  func (ss SparkSource) AsBasicTabularSource() (BasicTabularSource, bool) {
189125  	return &ss, true
189126  }
189127  
189128  // AsBinarySource is the BasicCopySource implementation for SparkSource.
189129  func (ss SparkSource) AsBinarySource() (*BinarySource, bool) {
189130  	return nil, false
189131  }
189132  
189133  // AsOrcSource is the BasicCopySource implementation for SparkSource.
189134  func (ss SparkSource) AsOrcSource() (*OrcSource, bool) {
189135  	return nil, false
189136  }
189137  
189138  // AsJSONSource is the BasicCopySource implementation for SparkSource.
189139  func (ss SparkSource) AsJSONSource() (*JSONSource, bool) {
189140  	return nil, false
189141  }
189142  
189143  // AsDelimitedTextSource is the BasicCopySource implementation for SparkSource.
189144  func (ss SparkSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
189145  	return nil, false
189146  }
189147  
189148  // AsParquetSource is the BasicCopySource implementation for SparkSource.
189149  func (ss SparkSource) AsParquetSource() (*ParquetSource, bool) {
189150  	return nil, false
189151  }
189152  
189153  // AsAvroSource is the BasicCopySource implementation for SparkSource.
189154  func (ss SparkSource) AsAvroSource() (*AvroSource, bool) {
189155  	return nil, false
189156  }
189157  
189158  // AsCopySource is the BasicCopySource implementation for SparkSource.
189159  func (ss SparkSource) AsCopySource() (*CopySource, bool) {
189160  	return nil, false
189161  }
189162  
189163  // AsBasicCopySource is the BasicCopySource implementation for SparkSource.
189164  func (ss SparkSource) AsBasicCopySource() (BasicCopySource, bool) {
189165  	return &ss, true
189166  }
189167  
189168  // UnmarshalJSON is the custom unmarshaler for SparkSource struct.
189169  func (ss *SparkSource) UnmarshalJSON(body []byte) error {
189170  	var m map[string]*json.RawMessage
189171  	err := json.Unmarshal(body, &m)
189172  	if err != nil {
189173  		return err
189174  	}
189175  	for k, v := range m {
189176  		switch k {
189177  		case "query":
189178  			if v != nil {
189179  				var query interface{}
189180  				err = json.Unmarshal(*v, &query)
189181  				if err != nil {
189182  					return err
189183  				}
189184  				ss.Query = query
189185  			}
189186  		case "queryTimeout":
189187  			if v != nil {
189188  				var queryTimeout interface{}
189189  				err = json.Unmarshal(*v, &queryTimeout)
189190  				if err != nil {
189191  					return err
189192  				}
189193  				ss.QueryTimeout = queryTimeout
189194  			}
189195  		default:
189196  			if v != nil {
189197  				var additionalProperties interface{}
189198  				err = json.Unmarshal(*v, &additionalProperties)
189199  				if err != nil {
189200  					return err
189201  				}
189202  				if ss.AdditionalProperties == nil {
189203  					ss.AdditionalProperties = make(map[string]interface{})
189204  				}
189205  				ss.AdditionalProperties[k] = additionalProperties
189206  			}
189207  		case "sourceRetryCount":
189208  			if v != nil {
189209  				var sourceRetryCount interface{}
189210  				err = json.Unmarshal(*v, &sourceRetryCount)
189211  				if err != nil {
189212  					return err
189213  				}
189214  				ss.SourceRetryCount = sourceRetryCount
189215  			}
189216  		case "sourceRetryWait":
189217  			if v != nil {
189218  				var sourceRetryWait interface{}
189219  				err = json.Unmarshal(*v, &sourceRetryWait)
189220  				if err != nil {
189221  					return err
189222  				}
189223  				ss.SourceRetryWait = sourceRetryWait
189224  			}
189225  		case "maxConcurrentConnections":
189226  			if v != nil {
189227  				var maxConcurrentConnections interface{}
189228  				err = json.Unmarshal(*v, &maxConcurrentConnections)
189229  				if err != nil {
189230  					return err
189231  				}
189232  				ss.MaxConcurrentConnections = maxConcurrentConnections
189233  			}
189234  		case "type":
189235  			if v != nil {
189236  				var typeVar TypeBasicCopySource
189237  				err = json.Unmarshal(*v, &typeVar)
189238  				if err != nil {
189239  					return err
189240  				}
189241  				ss.Type = typeVar
189242  			}
189243  		}
189244  	}
189245  
189246  	return nil
189247  }
189248  
189249  // SQLConnection the connection used to execute the SQL script.
189250  type SQLConnection struct {
189251  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
189252  	AdditionalProperties map[string]interface{} `json:""`
189253  	// Type - The type of the connection. Possible values include: 'SQLConnectionTypeSQLOnDemand', 'SQLConnectionTypeSQLPool'
189254  	Type SQLConnectionType `json:"type,omitempty"`
189255  	// Name - The identifier of the connection.
189256  	Name *string `json:"name,omitempty"`
189257  }
189258  
189259  // MarshalJSON is the custom marshaler for SQLConnection.
189260  func (sc SQLConnection) MarshalJSON() ([]byte, error) {
189261  	objectMap := make(map[string]interface{})
189262  	if sc.Type != "" {
189263  		objectMap["type"] = sc.Type
189264  	}
189265  	if sc.Name != nil {
189266  		objectMap["name"] = sc.Name
189267  	}
189268  	for k, v := range sc.AdditionalProperties {
189269  		objectMap[k] = v
189270  	}
189271  	return json.Marshal(objectMap)
189272  }
189273  
189274  // UnmarshalJSON is the custom unmarshaler for SQLConnection struct.
189275  func (sc *SQLConnection) UnmarshalJSON(body []byte) error {
189276  	var m map[string]*json.RawMessage
189277  	err := json.Unmarshal(body, &m)
189278  	if err != nil {
189279  		return err
189280  	}
189281  	for k, v := range m {
189282  		switch k {
189283  		default:
189284  			if v != nil {
189285  				var additionalProperties interface{}
189286  				err = json.Unmarshal(*v, &additionalProperties)
189287  				if err != nil {
189288  					return err
189289  				}
189290  				if sc.AdditionalProperties == nil {
189291  					sc.AdditionalProperties = make(map[string]interface{})
189292  				}
189293  				sc.AdditionalProperties[k] = additionalProperties
189294  			}
189295  		case "type":
189296  			if v != nil {
189297  				var typeVar SQLConnectionType
189298  				err = json.Unmarshal(*v, &typeVar)
189299  				if err != nil {
189300  					return err
189301  				}
189302  				sc.Type = typeVar
189303  			}
189304  		case "name":
189305  			if v != nil {
189306  				var name string
189307  				err = json.Unmarshal(*v, &name)
189308  				if err != nil {
189309  					return err
189310  				}
189311  				sc.Name = &name
189312  			}
189313  		}
189314  	}
189315  
189316  	return nil
189317  }
189318  
189319  // SQLDWSink a copy activity SQL Data Warehouse sink.
189320  type SQLDWSink struct {
189321  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
189322  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
189323  	// AllowPolyBase - Indicates to use PolyBase to copy data into SQL Data Warehouse when applicable. Type: boolean (or Expression with resultType boolean).
189324  	AllowPolyBase interface{} `json:"allowPolyBase,omitempty"`
189325  	// PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true.
189326  	PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"`
189327  	// AllowCopyCommand - Indicates to use Copy Command to copy data into SQL Data Warehouse. Type: boolean (or Expression with resultType boolean).
189328  	AllowCopyCommand interface{} `json:"allowCopyCommand,omitempty"`
189329  	// CopyCommandSettings - Specifies Copy Command related settings when allowCopyCommand is true.
189330  	CopyCommandSettings *DWCopyCommandSettings `json:"copyCommandSettings,omitempty"`
189331  	// TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string).
189332  	TableOption interface{} `json:"tableOption,omitempty"`
189333  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
189334  	AdditionalProperties map[string]interface{} `json:""`
189335  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
189336  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
189337  	// 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])).
189338  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
189339  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
189340  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
189341  	// 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])).
189342  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
189343  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
189344  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
189345  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
189346  	Type TypeBasicCopySink `json:"type,omitempty"`
189347  }
189348  
189349  // MarshalJSON is the custom marshaler for SQLDWSink.
189350  func (sds SQLDWSink) MarshalJSON() ([]byte, error) {
189351  	sds.Type = TypeSQLDWSink
189352  	objectMap := make(map[string]interface{})
189353  	if sds.PreCopyScript != nil {
189354  		objectMap["preCopyScript"] = sds.PreCopyScript
189355  	}
189356  	if sds.AllowPolyBase != nil {
189357  		objectMap["allowPolyBase"] = sds.AllowPolyBase
189358  	}
189359  	if sds.PolyBaseSettings != nil {
189360  		objectMap["polyBaseSettings"] = sds.PolyBaseSettings
189361  	}
189362  	if sds.AllowCopyCommand != nil {
189363  		objectMap["allowCopyCommand"] = sds.AllowCopyCommand
189364  	}
189365  	if sds.CopyCommandSettings != nil {
189366  		objectMap["copyCommandSettings"] = sds.CopyCommandSettings
189367  	}
189368  	if sds.TableOption != nil {
189369  		objectMap["tableOption"] = sds.TableOption
189370  	}
189371  	if sds.WriteBatchSize != nil {
189372  		objectMap["writeBatchSize"] = sds.WriteBatchSize
189373  	}
189374  	if sds.WriteBatchTimeout != nil {
189375  		objectMap["writeBatchTimeout"] = sds.WriteBatchTimeout
189376  	}
189377  	if sds.SinkRetryCount != nil {
189378  		objectMap["sinkRetryCount"] = sds.SinkRetryCount
189379  	}
189380  	if sds.SinkRetryWait != nil {
189381  		objectMap["sinkRetryWait"] = sds.SinkRetryWait
189382  	}
189383  	if sds.MaxConcurrentConnections != nil {
189384  		objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections
189385  	}
189386  	if sds.Type != "" {
189387  		objectMap["type"] = sds.Type
189388  	}
189389  	for k, v := range sds.AdditionalProperties {
189390  		objectMap[k] = v
189391  	}
189392  	return json.Marshal(objectMap)
189393  }
189394  
189395  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLDWSink.
189396  func (sds SQLDWSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
189397  	return nil, false
189398  }
189399  
189400  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLDWSink.
189401  func (sds SQLDWSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
189402  	return nil, false
189403  }
189404  
189405  // AsSalesforceSink is the BasicCopySink implementation for SQLDWSink.
189406  func (sds SQLDWSink) AsSalesforceSink() (*SalesforceSink, bool) {
189407  	return nil, false
189408  }
189409  
189410  // AsAzureDataExplorerSink is the BasicCopySink implementation for SQLDWSink.
189411  func (sds SQLDWSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
189412  	return nil, false
189413  }
189414  
189415  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLDWSink.
189416  func (sds SQLDWSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
189417  	return nil, false
189418  }
189419  
189420  // AsDynamicsCrmSink is the BasicCopySink implementation for SQLDWSink.
189421  func (sds SQLDWSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
189422  	return nil, false
189423  }
189424  
189425  // AsDynamicsSink is the BasicCopySink implementation for SQLDWSink.
189426  func (sds SQLDWSink) AsDynamicsSink() (*DynamicsSink, bool) {
189427  	return nil, false
189428  }
189429  
189430  // AsMicrosoftAccessSink is the BasicCopySink implementation for SQLDWSink.
189431  func (sds SQLDWSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
189432  	return nil, false
189433  }
189434  
189435  // AsInformixSink is the BasicCopySink implementation for SQLDWSink.
189436  func (sds SQLDWSink) AsInformixSink() (*InformixSink, bool) {
189437  	return nil, false
189438  }
189439  
189440  // AsOdbcSink is the BasicCopySink implementation for SQLDWSink.
189441  func (sds SQLDWSink) AsOdbcSink() (*OdbcSink, bool) {
189442  	return nil, false
189443  }
189444  
189445  // AsAzureSearchIndexSink is the BasicCopySink implementation for SQLDWSink.
189446  func (sds SQLDWSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
189447  	return nil, false
189448  }
189449  
189450  // AsAzureBlobFSSink is the BasicCopySink implementation for SQLDWSink.
189451  func (sds SQLDWSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
189452  	return nil, false
189453  }
189454  
189455  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLDWSink.
189456  func (sds SQLDWSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
189457  	return nil, false
189458  }
189459  
189460  // AsOracleSink is the BasicCopySink implementation for SQLDWSink.
189461  func (sds SQLDWSink) AsOracleSink() (*OracleSink, bool) {
189462  	return nil, false
189463  }
189464  
189465  // AsSQLDWSink is the BasicCopySink implementation for SQLDWSink.
189466  func (sds SQLDWSink) AsSQLDWSink() (*SQLDWSink, bool) {
189467  	return &sds, true
189468  }
189469  
189470  // AsSQLMISink is the BasicCopySink implementation for SQLDWSink.
189471  func (sds SQLDWSink) AsSQLMISink() (*SQLMISink, bool) {
189472  	return nil, false
189473  }
189474  
189475  // AsAzureSQLSink is the BasicCopySink implementation for SQLDWSink.
189476  func (sds SQLDWSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
189477  	return nil, false
189478  }
189479  
189480  // AsSQLServerSink is the BasicCopySink implementation for SQLDWSink.
189481  func (sds SQLDWSink) AsSQLServerSink() (*SQLServerSink, bool) {
189482  	return nil, false
189483  }
189484  
189485  // AsSQLSink is the BasicCopySink implementation for SQLDWSink.
189486  func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) {
189487  	return nil, false
189488  }
189489  
189490  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLDWSink.
189491  func (sds SQLDWSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
189492  	return nil, false
189493  }
189494  
189495  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink.
189496  func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
189497  	return nil, false
189498  }
189499  
189500  // AsFileSystemSink is the BasicCopySink implementation for SQLDWSink.
189501  func (sds SQLDWSink) AsFileSystemSink() (*FileSystemSink, bool) {
189502  	return nil, false
189503  }
189504  
189505  // AsBlobSink is the BasicCopySink implementation for SQLDWSink.
189506  func (sds SQLDWSink) AsBlobSink() (*BlobSink, bool) {
189507  	return nil, false
189508  }
189509  
189510  // AsBinarySink is the BasicCopySink implementation for SQLDWSink.
189511  func (sds SQLDWSink) AsBinarySink() (*BinarySink, bool) {
189512  	return nil, false
189513  }
189514  
189515  // AsParquetSink is the BasicCopySink implementation for SQLDWSink.
189516  func (sds SQLDWSink) AsParquetSink() (*ParquetSink, bool) {
189517  	return nil, false
189518  }
189519  
189520  // AsAvroSink is the BasicCopySink implementation for SQLDWSink.
189521  func (sds SQLDWSink) AsAvroSink() (*AvroSink, bool) {
189522  	return nil, false
189523  }
189524  
189525  // AsAzureTableSink is the BasicCopySink implementation for SQLDWSink.
189526  func (sds SQLDWSink) AsAzureTableSink() (*AzureTableSink, bool) {
189527  	return nil, false
189528  }
189529  
189530  // AsAzureQueueSink is the BasicCopySink implementation for SQLDWSink.
189531  func (sds SQLDWSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
189532  	return nil, false
189533  }
189534  
189535  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLDWSink.
189536  func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
189537  	return nil, false
189538  }
189539  
189540  // AsAzureMySQLSink is the BasicCopySink implementation for SQLDWSink.
189541  func (sds SQLDWSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
189542  	return nil, false
189543  }
189544  
189545  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLDWSink.
189546  func (sds SQLDWSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
189547  	return nil, false
189548  }
189549  
189550  // AsOrcSink is the BasicCopySink implementation for SQLDWSink.
189551  func (sds SQLDWSink) AsOrcSink() (*OrcSink, bool) {
189552  	return nil, false
189553  }
189554  
189555  // AsJSONSink is the BasicCopySink implementation for SQLDWSink.
189556  func (sds SQLDWSink) AsJSONSink() (*JSONSink, bool) {
189557  	return nil, false
189558  }
189559  
189560  // AsDelimitedTextSink is the BasicCopySink implementation for SQLDWSink.
189561  func (sds SQLDWSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
189562  	return nil, false
189563  }
189564  
189565  // AsCopySink is the BasicCopySink implementation for SQLDWSink.
189566  func (sds SQLDWSink) AsCopySink() (*CopySink, bool) {
189567  	return nil, false
189568  }
189569  
189570  // AsBasicCopySink is the BasicCopySink implementation for SQLDWSink.
189571  func (sds SQLDWSink) AsBasicCopySink() (BasicCopySink, bool) {
189572  	return &sds, true
189573  }
189574  
189575  // UnmarshalJSON is the custom unmarshaler for SQLDWSink struct.
189576  func (sds *SQLDWSink) UnmarshalJSON(body []byte) error {
189577  	var m map[string]*json.RawMessage
189578  	err := json.Unmarshal(body, &m)
189579  	if err != nil {
189580  		return err
189581  	}
189582  	for k, v := range m {
189583  		switch k {
189584  		case "preCopyScript":
189585  			if v != nil {
189586  				var preCopyScript interface{}
189587  				err = json.Unmarshal(*v, &preCopyScript)
189588  				if err != nil {
189589  					return err
189590  				}
189591  				sds.PreCopyScript = preCopyScript
189592  			}
189593  		case "allowPolyBase":
189594  			if v != nil {
189595  				var allowPolyBase interface{}
189596  				err = json.Unmarshal(*v, &allowPolyBase)
189597  				if err != nil {
189598  					return err
189599  				}
189600  				sds.AllowPolyBase = allowPolyBase
189601  			}
189602  		case "polyBaseSettings":
189603  			if v != nil {
189604  				var polyBaseSettings PolybaseSettings
189605  				err = json.Unmarshal(*v, &polyBaseSettings)
189606  				if err != nil {
189607  					return err
189608  				}
189609  				sds.PolyBaseSettings = &polyBaseSettings
189610  			}
189611  		case "allowCopyCommand":
189612  			if v != nil {
189613  				var allowCopyCommand interface{}
189614  				err = json.Unmarshal(*v, &allowCopyCommand)
189615  				if err != nil {
189616  					return err
189617  				}
189618  				sds.AllowCopyCommand = allowCopyCommand
189619  			}
189620  		case "copyCommandSettings":
189621  			if v != nil {
189622  				var copyCommandSettings DWCopyCommandSettings
189623  				err = json.Unmarshal(*v, &copyCommandSettings)
189624  				if err != nil {
189625  					return err
189626  				}
189627  				sds.CopyCommandSettings = &copyCommandSettings
189628  			}
189629  		case "tableOption":
189630  			if v != nil {
189631  				var tableOption interface{}
189632  				err = json.Unmarshal(*v, &tableOption)
189633  				if err != nil {
189634  					return err
189635  				}
189636  				sds.TableOption = tableOption
189637  			}
189638  		default:
189639  			if v != nil {
189640  				var additionalProperties interface{}
189641  				err = json.Unmarshal(*v, &additionalProperties)
189642  				if err != nil {
189643  					return err
189644  				}
189645  				if sds.AdditionalProperties == nil {
189646  					sds.AdditionalProperties = make(map[string]interface{})
189647  				}
189648  				sds.AdditionalProperties[k] = additionalProperties
189649  			}
189650  		case "writeBatchSize":
189651  			if v != nil {
189652  				var writeBatchSize interface{}
189653  				err = json.Unmarshal(*v, &writeBatchSize)
189654  				if err != nil {
189655  					return err
189656  				}
189657  				sds.WriteBatchSize = writeBatchSize
189658  			}
189659  		case "writeBatchTimeout":
189660  			if v != nil {
189661  				var writeBatchTimeout interface{}
189662  				err = json.Unmarshal(*v, &writeBatchTimeout)
189663  				if err != nil {
189664  					return err
189665  				}
189666  				sds.WriteBatchTimeout = writeBatchTimeout
189667  			}
189668  		case "sinkRetryCount":
189669  			if v != nil {
189670  				var sinkRetryCount interface{}
189671  				err = json.Unmarshal(*v, &sinkRetryCount)
189672  				if err != nil {
189673  					return err
189674  				}
189675  				sds.SinkRetryCount = sinkRetryCount
189676  			}
189677  		case "sinkRetryWait":
189678  			if v != nil {
189679  				var sinkRetryWait interface{}
189680  				err = json.Unmarshal(*v, &sinkRetryWait)
189681  				if err != nil {
189682  					return err
189683  				}
189684  				sds.SinkRetryWait = sinkRetryWait
189685  			}
189686  		case "maxConcurrentConnections":
189687  			if v != nil {
189688  				var maxConcurrentConnections interface{}
189689  				err = json.Unmarshal(*v, &maxConcurrentConnections)
189690  				if err != nil {
189691  					return err
189692  				}
189693  				sds.MaxConcurrentConnections = maxConcurrentConnections
189694  			}
189695  		case "type":
189696  			if v != nil {
189697  				var typeVar TypeBasicCopySink
189698  				err = json.Unmarshal(*v, &typeVar)
189699  				if err != nil {
189700  					return err
189701  				}
189702  				sds.Type = typeVar
189703  			}
189704  		}
189705  	}
189706  
189707  	return nil
189708  }
189709  
189710  // SQLDWSource a copy activity SQL Data Warehouse source.
189711  type SQLDWSource struct {
189712  	// SQLReaderQuery - SQL Data Warehouse reader query. Type: string (or Expression with resultType string).
189713  	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
189714  	// 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).
189715  	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
189716  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter.
189717  	StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"`
189718  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
189719  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
189720  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
189721  	AdditionalProperties map[string]interface{} `json:""`
189722  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
189723  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
189724  	// 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])).
189725  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
189726  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
189727  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
189728  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
189729  	Type TypeBasicCopySource `json:"type,omitempty"`
189730  }
189731  
189732  // MarshalJSON is the custom marshaler for SQLDWSource.
189733  func (sds SQLDWSource) MarshalJSON() ([]byte, error) {
189734  	sds.Type = TypeSQLDWSource
189735  	objectMap := make(map[string]interface{})
189736  	if sds.SQLReaderQuery != nil {
189737  		objectMap["sqlReaderQuery"] = sds.SQLReaderQuery
189738  	}
189739  	if sds.SQLReaderStoredProcedureName != nil {
189740  		objectMap["sqlReaderStoredProcedureName"] = sds.SQLReaderStoredProcedureName
189741  	}
189742  	if sds.StoredProcedureParameters != nil {
189743  		objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters
189744  	}
189745  	if sds.QueryTimeout != nil {
189746  		objectMap["queryTimeout"] = sds.QueryTimeout
189747  	}
189748  	if sds.SourceRetryCount != nil {
189749  		objectMap["sourceRetryCount"] = sds.SourceRetryCount
189750  	}
189751  	if sds.SourceRetryWait != nil {
189752  		objectMap["sourceRetryWait"] = sds.SourceRetryWait
189753  	}
189754  	if sds.MaxConcurrentConnections != nil {
189755  		objectMap["maxConcurrentConnections"] = sds.MaxConcurrentConnections
189756  	}
189757  	if sds.Type != "" {
189758  		objectMap["type"] = sds.Type
189759  	}
189760  	for k, v := range sds.AdditionalProperties {
189761  		objectMap[k] = v
189762  	}
189763  	return json.Marshal(objectMap)
189764  }
189765  
189766  // AsHTTPSource is the BasicCopySource implementation for SQLDWSource.
189767  func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) {
189768  	return nil, false
189769  }
189770  
189771  // AsAzureBlobFSSource is the BasicCopySource implementation for SQLDWSource.
189772  func (sds SQLDWSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
189773  	return nil, false
189774  }
189775  
189776  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource.
189777  func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
189778  	return nil, false
189779  }
189780  
189781  // AsOffice365Source is the BasicCopySource implementation for SQLDWSource.
189782  func (sds SQLDWSource) AsOffice365Source() (*Office365Source, bool) {
189783  	return nil, false
189784  }
189785  
189786  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLDWSource.
189787  func (sds SQLDWSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
189788  	return nil, false
189789  }
189790  
189791  // AsMongoDbV2Source is the BasicCopySource implementation for SQLDWSource.
189792  func (sds SQLDWSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
189793  	return nil, false
189794  }
189795  
189796  // AsMongoDbSource is the BasicCopySource implementation for SQLDWSource.
189797  func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) {
189798  	return nil, false
189799  }
189800  
189801  // AsWebSource is the BasicCopySource implementation for SQLDWSource.
189802  func (sds SQLDWSource) AsWebSource() (*WebSource, bool) {
189803  	return nil, false
189804  }
189805  
189806  // AsOracleSource is the BasicCopySource implementation for SQLDWSource.
189807  func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) {
189808  	return nil, false
189809  }
189810  
189811  // AsAzureDataExplorerSource is the BasicCopySource implementation for SQLDWSource.
189812  func (sds SQLDWSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
189813  	return nil, false
189814  }
189815  
189816  // AsHdfsSource is the BasicCopySource implementation for SQLDWSource.
189817  func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) {
189818  	return nil, false
189819  }
189820  
189821  // AsFileSystemSource is the BasicCopySource implementation for SQLDWSource.
189822  func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) {
189823  	return nil, false
189824  }
189825  
189826  // AsRestSource is the BasicCopySource implementation for SQLDWSource.
189827  func (sds SQLDWSource) AsRestSource() (*RestSource, bool) {
189828  	return nil, false
189829  }
189830  
189831  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLDWSource.
189832  func (sds SQLDWSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
189833  	return nil, false
189834  }
189835  
189836  // AsODataSource is the BasicCopySource implementation for SQLDWSource.
189837  func (sds SQLDWSource) AsODataSource() (*ODataSource, bool) {
189838  	return nil, false
189839  }
189840  
189841  // AsMicrosoftAccessSource is the BasicCopySource implementation for SQLDWSource.
189842  func (sds SQLDWSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
189843  	return nil, false
189844  }
189845  
189846  // AsRelationalSource is the BasicCopySource implementation for SQLDWSource.
189847  func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) {
189848  	return nil, false
189849  }
189850  
189851  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLDWSource.
189852  func (sds SQLDWSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
189853  	return nil, false
189854  }
189855  
189856  // AsDynamicsCrmSource is the BasicCopySource implementation for SQLDWSource.
189857  func (sds SQLDWSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
189858  	return nil, false
189859  }
189860  
189861  // AsDynamicsSource is the BasicCopySource implementation for SQLDWSource.
189862  func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) {
189863  	return nil, false
189864  }
189865  
189866  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLDWSource.
189867  func (sds SQLDWSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
189868  	return nil, false
189869  }
189870  
189871  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource.
189872  func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
189873  	return nil, false
189874  }
189875  
189876  // AsBlobSource is the BasicCopySource implementation for SQLDWSource.
189877  func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) {
189878  	return nil, false
189879  }
189880  
189881  // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource.
189882  func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
189883  	return nil, false
189884  }
189885  
189886  // AsGoogleAdWordsSource is the BasicCopySource implementation for SQLDWSource.
189887  func (sds SQLDWSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
189888  	return nil, false
189889  }
189890  
189891  // AsOracleServiceCloudSource is the BasicCopySource implementation for SQLDWSource.
189892  func (sds SQLDWSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
189893  	return nil, false
189894  }
189895  
189896  // AsDynamicsAXSource is the BasicCopySource implementation for SQLDWSource.
189897  func (sds SQLDWSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
189898  	return nil, false
189899  }
189900  
189901  // AsResponsysSource is the BasicCopySource implementation for SQLDWSource.
189902  func (sds SQLDWSource) AsResponsysSource() (*ResponsysSource, bool) {
189903  	return nil, false
189904  }
189905  
189906  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLDWSource.
189907  func (sds SQLDWSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
189908  	return nil, false
189909  }
189910  
189911  // AsVerticaSource is the BasicCopySource implementation for SQLDWSource.
189912  func (sds SQLDWSource) AsVerticaSource() (*VerticaSource, bool) {
189913  	return nil, false
189914  }
189915  
189916  // AsNetezzaSource is the BasicCopySource implementation for SQLDWSource.
189917  func (sds SQLDWSource) AsNetezzaSource() (*NetezzaSource, bool) {
189918  	return nil, false
189919  }
189920  
189921  // AsZohoSource is the BasicCopySource implementation for SQLDWSource.
189922  func (sds SQLDWSource) AsZohoSource() (*ZohoSource, bool) {
189923  	return nil, false
189924  }
189925  
189926  // AsXeroSource is the BasicCopySource implementation for SQLDWSource.
189927  func (sds SQLDWSource) AsXeroSource() (*XeroSource, bool) {
189928  	return nil, false
189929  }
189930  
189931  // AsSquareSource is the BasicCopySource implementation for SQLDWSource.
189932  func (sds SQLDWSource) AsSquareSource() (*SquareSource, bool) {
189933  	return nil, false
189934  }
189935  
189936  // AsSparkSource is the BasicCopySource implementation for SQLDWSource.
189937  func (sds SQLDWSource) AsSparkSource() (*SparkSource, bool) {
189938  	return nil, false
189939  }
189940  
189941  // AsShopifySource is the BasicCopySource implementation for SQLDWSource.
189942  func (sds SQLDWSource) AsShopifySource() (*ShopifySource, bool) {
189943  	return nil, false
189944  }
189945  
189946  // AsServiceNowSource is the BasicCopySource implementation for SQLDWSource.
189947  func (sds SQLDWSource) AsServiceNowSource() (*ServiceNowSource, bool) {
189948  	return nil, false
189949  }
189950  
189951  // AsQuickBooksSource is the BasicCopySource implementation for SQLDWSource.
189952  func (sds SQLDWSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
189953  	return nil, false
189954  }
189955  
189956  // AsPrestoSource is the BasicCopySource implementation for SQLDWSource.
189957  func (sds SQLDWSource) AsPrestoSource() (*PrestoSource, bool) {
189958  	return nil, false
189959  }
189960  
189961  // AsPhoenixSource is the BasicCopySource implementation for SQLDWSource.
189962  func (sds SQLDWSource) AsPhoenixSource() (*PhoenixSource, bool) {
189963  	return nil, false
189964  }
189965  
189966  // AsPaypalSource is the BasicCopySource implementation for SQLDWSource.
189967  func (sds SQLDWSource) AsPaypalSource() (*PaypalSource, bool) {
189968  	return nil, false
189969  }
189970  
189971  // AsMarketoSource is the BasicCopySource implementation for SQLDWSource.
189972  func (sds SQLDWSource) AsMarketoSource() (*MarketoSource, bool) {
189973  	return nil, false
189974  }
189975  
189976  // AsAzureMariaDBSource is the BasicCopySource implementation for SQLDWSource.
189977  func (sds SQLDWSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
189978  	return nil, false
189979  }
189980  
189981  // AsMariaDBSource is the BasicCopySource implementation for SQLDWSource.
189982  func (sds SQLDWSource) AsMariaDBSource() (*MariaDBSource, bool) {
189983  	return nil, false
189984  }
189985  
189986  // AsMagentoSource is the BasicCopySource implementation for SQLDWSource.
189987  func (sds SQLDWSource) AsMagentoSource() (*MagentoSource, bool) {
189988  	return nil, false
189989  }
189990  
189991  // AsJiraSource is the BasicCopySource implementation for SQLDWSource.
189992  func (sds SQLDWSource) AsJiraSource() (*JiraSource, bool) {
189993  	return nil, false
189994  }
189995  
189996  // AsImpalaSource is the BasicCopySource implementation for SQLDWSource.
189997  func (sds SQLDWSource) AsImpalaSource() (*ImpalaSource, bool) {
189998  	return nil, false
189999  }
190000  
190001  // AsHubspotSource is the BasicCopySource implementation for SQLDWSource.
190002  func (sds SQLDWSource) AsHubspotSource() (*HubspotSource, bool) {
190003  	return nil, false
190004  }
190005  
190006  // AsHiveSource is the BasicCopySource implementation for SQLDWSource.
190007  func (sds SQLDWSource) AsHiveSource() (*HiveSource, bool) {
190008  	return nil, false
190009  }
190010  
190011  // AsHBaseSource is the BasicCopySource implementation for SQLDWSource.
190012  func (sds SQLDWSource) AsHBaseSource() (*HBaseSource, bool) {
190013  	return nil, false
190014  }
190015  
190016  // AsGreenplumSource is the BasicCopySource implementation for SQLDWSource.
190017  func (sds SQLDWSource) AsGreenplumSource() (*GreenplumSource, bool) {
190018  	return nil, false
190019  }
190020  
190021  // AsGoogleBigQuerySource is the BasicCopySource implementation for SQLDWSource.
190022  func (sds SQLDWSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
190023  	return nil, false
190024  }
190025  
190026  // AsEloquaSource is the BasicCopySource implementation for SQLDWSource.
190027  func (sds SQLDWSource) AsEloquaSource() (*EloquaSource, bool) {
190028  	return nil, false
190029  }
190030  
190031  // AsDrillSource is the BasicCopySource implementation for SQLDWSource.
190032  func (sds SQLDWSource) AsDrillSource() (*DrillSource, bool) {
190033  	return nil, false
190034  }
190035  
190036  // AsCouchbaseSource is the BasicCopySource implementation for SQLDWSource.
190037  func (sds SQLDWSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
190038  	return nil, false
190039  }
190040  
190041  // AsConcurSource is the BasicCopySource implementation for SQLDWSource.
190042  func (sds SQLDWSource) AsConcurSource() (*ConcurSource, bool) {
190043  	return nil, false
190044  }
190045  
190046  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
190047  func (sds SQLDWSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
190048  	return nil, false
190049  }
190050  
190051  // AsAmazonMWSSource is the BasicCopySource implementation for SQLDWSource.
190052  func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
190053  	return nil, false
190054  }
190055  
190056  // AsCassandraSource is the BasicCopySource implementation for SQLDWSource.
190057  func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) {
190058  	return nil, false
190059  }
190060  
190061  // AsTeradataSource is the BasicCopySource implementation for SQLDWSource.
190062  func (sds SQLDWSource) AsTeradataSource() (*TeradataSource, bool) {
190063  	return nil, false
190064  }
190065  
190066  // AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource.
190067  func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
190068  	return nil, false
190069  }
190070  
190071  // AsSQLDWSource is the BasicCopySource implementation for SQLDWSource.
190072  func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) {
190073  	return &sds, true
190074  }
190075  
190076  // AsSQLMISource is the BasicCopySource implementation for SQLDWSource.
190077  func (sds SQLDWSource) AsSQLMISource() (*SQLMISource, bool) {
190078  	return nil, false
190079  }
190080  
190081  // AsAzureSQLSource is the BasicCopySource implementation for SQLDWSource.
190082  func (sds SQLDWSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
190083  	return nil, false
190084  }
190085  
190086  // AsSQLServerSource is the BasicCopySource implementation for SQLDWSource.
190087  func (sds SQLDWSource) AsSQLServerSource() (*SQLServerSource, bool) {
190088  	return nil, false
190089  }
190090  
190091  // AsSQLSource is the BasicCopySource implementation for SQLDWSource.
190092  func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) {
190093  	return nil, false
190094  }
190095  
190096  // AsSapTableSource is the BasicCopySource implementation for SQLDWSource.
190097  func (sds SQLDWSource) AsSapTableSource() (*SapTableSource, bool) {
190098  	return nil, false
190099  }
190100  
190101  // AsSapOpenHubSource is the BasicCopySource implementation for SQLDWSource.
190102  func (sds SQLDWSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
190103  	return nil, false
190104  }
190105  
190106  // AsSapHanaSource is the BasicCopySource implementation for SQLDWSource.
190107  func (sds SQLDWSource) AsSapHanaSource() (*SapHanaSource, bool) {
190108  	return nil, false
190109  }
190110  
190111  // AsSapEccSource is the BasicCopySource implementation for SQLDWSource.
190112  func (sds SQLDWSource) AsSapEccSource() (*SapEccSource, bool) {
190113  	return nil, false
190114  }
190115  
190116  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLDWSource.
190117  func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
190118  	return nil, false
190119  }
190120  
190121  // AsSalesforceSource is the BasicCopySource implementation for SQLDWSource.
190122  func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) {
190123  	return nil, false
190124  }
190125  
190126  // AsSapBwSource is the BasicCopySource implementation for SQLDWSource.
190127  func (sds SQLDWSource) AsSapBwSource() (*SapBwSource, bool) {
190128  	return nil, false
190129  }
190130  
190131  // AsSybaseSource is the BasicCopySource implementation for SQLDWSource.
190132  func (sds SQLDWSource) AsSybaseSource() (*SybaseSource, bool) {
190133  	return nil, false
190134  }
190135  
190136  // AsPostgreSQLSource is the BasicCopySource implementation for SQLDWSource.
190137  func (sds SQLDWSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
190138  	return nil, false
190139  }
190140  
190141  // AsMySQLSource is the BasicCopySource implementation for SQLDWSource.
190142  func (sds SQLDWSource) AsMySQLSource() (*MySQLSource, bool) {
190143  	return nil, false
190144  }
190145  
190146  // AsOdbcSource is the BasicCopySource implementation for SQLDWSource.
190147  func (sds SQLDWSource) AsOdbcSource() (*OdbcSource, bool) {
190148  	return nil, false
190149  }
190150  
190151  // AsDb2Source is the BasicCopySource implementation for SQLDWSource.
190152  func (sds SQLDWSource) AsDb2Source() (*Db2Source, bool) {
190153  	return nil, false
190154  }
190155  
190156  // AsInformixSource is the BasicCopySource implementation for SQLDWSource.
190157  func (sds SQLDWSource) AsInformixSource() (*InformixSource, bool) {
190158  	return nil, false
190159  }
190160  
190161  // AsAzureTableSource is the BasicCopySource implementation for SQLDWSource.
190162  func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) {
190163  	return nil, false
190164  }
190165  
190166  // AsTabularSource is the BasicCopySource implementation for SQLDWSource.
190167  func (sds SQLDWSource) AsTabularSource() (*TabularSource, bool) {
190168  	return nil, false
190169  }
190170  
190171  // AsBasicTabularSource is the BasicCopySource implementation for SQLDWSource.
190172  func (sds SQLDWSource) AsBasicTabularSource() (BasicTabularSource, bool) {
190173  	return &sds, true
190174  }
190175  
190176  // AsBinarySource is the BasicCopySource implementation for SQLDWSource.
190177  func (sds SQLDWSource) AsBinarySource() (*BinarySource, bool) {
190178  	return nil, false
190179  }
190180  
190181  // AsOrcSource is the BasicCopySource implementation for SQLDWSource.
190182  func (sds SQLDWSource) AsOrcSource() (*OrcSource, bool) {
190183  	return nil, false
190184  }
190185  
190186  // AsJSONSource is the BasicCopySource implementation for SQLDWSource.
190187  func (sds SQLDWSource) AsJSONSource() (*JSONSource, bool) {
190188  	return nil, false
190189  }
190190  
190191  // AsDelimitedTextSource is the BasicCopySource implementation for SQLDWSource.
190192  func (sds SQLDWSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
190193  	return nil, false
190194  }
190195  
190196  // AsParquetSource is the BasicCopySource implementation for SQLDWSource.
190197  func (sds SQLDWSource) AsParquetSource() (*ParquetSource, bool) {
190198  	return nil, false
190199  }
190200  
190201  // AsAvroSource is the BasicCopySource implementation for SQLDWSource.
190202  func (sds SQLDWSource) AsAvroSource() (*AvroSource, bool) {
190203  	return nil, false
190204  }
190205  
190206  // AsCopySource is the BasicCopySource implementation for SQLDWSource.
190207  func (sds SQLDWSource) AsCopySource() (*CopySource, bool) {
190208  	return nil, false
190209  }
190210  
190211  // AsBasicCopySource is the BasicCopySource implementation for SQLDWSource.
190212  func (sds SQLDWSource) AsBasicCopySource() (BasicCopySource, bool) {
190213  	return &sds, true
190214  }
190215  
190216  // UnmarshalJSON is the custom unmarshaler for SQLDWSource struct.
190217  func (sds *SQLDWSource) UnmarshalJSON(body []byte) error {
190218  	var m map[string]*json.RawMessage
190219  	err := json.Unmarshal(body, &m)
190220  	if err != nil {
190221  		return err
190222  	}
190223  	for k, v := range m {
190224  		switch k {
190225  		case "sqlReaderQuery":
190226  			if v != nil {
190227  				var SQLReaderQuery interface{}
190228  				err = json.Unmarshal(*v, &SQLReaderQuery)
190229  				if err != nil {
190230  					return err
190231  				}
190232  				sds.SQLReaderQuery = SQLReaderQuery
190233  			}
190234  		case "sqlReaderStoredProcedureName":
190235  			if v != nil {
190236  				var SQLReaderStoredProcedureName interface{}
190237  				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
190238  				if err != nil {
190239  					return err
190240  				}
190241  				sds.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
190242  			}
190243  		case "storedProcedureParameters":
190244  			if v != nil {
190245  				var storedProcedureParameters interface{}
190246  				err = json.Unmarshal(*v, &storedProcedureParameters)
190247  				if err != nil {
190248  					return err
190249  				}
190250  				sds.StoredProcedureParameters = storedProcedureParameters
190251  			}
190252  		case "queryTimeout":
190253  			if v != nil {
190254  				var queryTimeout interface{}
190255  				err = json.Unmarshal(*v, &queryTimeout)
190256  				if err != nil {
190257  					return err
190258  				}
190259  				sds.QueryTimeout = queryTimeout
190260  			}
190261  		default:
190262  			if v != nil {
190263  				var additionalProperties interface{}
190264  				err = json.Unmarshal(*v, &additionalProperties)
190265  				if err != nil {
190266  					return err
190267  				}
190268  				if sds.AdditionalProperties == nil {
190269  					sds.AdditionalProperties = make(map[string]interface{})
190270  				}
190271  				sds.AdditionalProperties[k] = additionalProperties
190272  			}
190273  		case "sourceRetryCount":
190274  			if v != nil {
190275  				var sourceRetryCount interface{}
190276  				err = json.Unmarshal(*v, &sourceRetryCount)
190277  				if err != nil {
190278  					return err
190279  				}
190280  				sds.SourceRetryCount = sourceRetryCount
190281  			}
190282  		case "sourceRetryWait":
190283  			if v != nil {
190284  				var sourceRetryWait interface{}
190285  				err = json.Unmarshal(*v, &sourceRetryWait)
190286  				if err != nil {
190287  					return err
190288  				}
190289  				sds.SourceRetryWait = sourceRetryWait
190290  			}
190291  		case "maxConcurrentConnections":
190292  			if v != nil {
190293  				var maxConcurrentConnections interface{}
190294  				err = json.Unmarshal(*v, &maxConcurrentConnections)
190295  				if err != nil {
190296  					return err
190297  				}
190298  				sds.MaxConcurrentConnections = maxConcurrentConnections
190299  			}
190300  		case "type":
190301  			if v != nil {
190302  				var typeVar TypeBasicCopySource
190303  				err = json.Unmarshal(*v, &typeVar)
190304  				if err != nil {
190305  					return err
190306  				}
190307  				sds.Type = typeVar
190308  			}
190309  		}
190310  	}
190311  
190312  	return nil
190313  }
190314  
190315  // SQLMISink a copy activity Azure SQL Managed Instance sink.
190316  type SQLMISink struct {
190317  	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
190318  	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
190319  	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
190320  	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
190321  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
190322  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
190323  	// StoredProcedureParameters - SQL stored procedure parameters.
190324  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
190325  	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
190326  	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
190327  	// TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string).
190328  	TableOption interface{} `json:"tableOption,omitempty"`
190329  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
190330  	AdditionalProperties map[string]interface{} `json:""`
190331  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
190332  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
190333  	// 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])).
190334  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
190335  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
190336  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
190337  	// 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])).
190338  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
190339  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
190340  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
190341  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
190342  	Type TypeBasicCopySink `json:"type,omitempty"`
190343  }
190344  
190345  // MarshalJSON is the custom marshaler for SQLMISink.
190346  func (sms SQLMISink) MarshalJSON() ([]byte, error) {
190347  	sms.Type = TypeSQLMISink
190348  	objectMap := make(map[string]interface{})
190349  	if sms.SQLWriterStoredProcedureName != nil {
190350  		objectMap["sqlWriterStoredProcedureName"] = sms.SQLWriterStoredProcedureName
190351  	}
190352  	if sms.SQLWriterTableType != nil {
190353  		objectMap["sqlWriterTableType"] = sms.SQLWriterTableType
190354  	}
190355  	if sms.PreCopyScript != nil {
190356  		objectMap["preCopyScript"] = sms.PreCopyScript
190357  	}
190358  	if sms.StoredProcedureParameters != nil {
190359  		objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters
190360  	}
190361  	if sms.StoredProcedureTableTypeParameterName != nil {
190362  		objectMap["storedProcedureTableTypeParameterName"] = sms.StoredProcedureTableTypeParameterName
190363  	}
190364  	if sms.TableOption != nil {
190365  		objectMap["tableOption"] = sms.TableOption
190366  	}
190367  	if sms.WriteBatchSize != nil {
190368  		objectMap["writeBatchSize"] = sms.WriteBatchSize
190369  	}
190370  	if sms.WriteBatchTimeout != nil {
190371  		objectMap["writeBatchTimeout"] = sms.WriteBatchTimeout
190372  	}
190373  	if sms.SinkRetryCount != nil {
190374  		objectMap["sinkRetryCount"] = sms.SinkRetryCount
190375  	}
190376  	if sms.SinkRetryWait != nil {
190377  		objectMap["sinkRetryWait"] = sms.SinkRetryWait
190378  	}
190379  	if sms.MaxConcurrentConnections != nil {
190380  		objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections
190381  	}
190382  	if sms.Type != "" {
190383  		objectMap["type"] = sms.Type
190384  	}
190385  	for k, v := range sms.AdditionalProperties {
190386  		objectMap[k] = v
190387  	}
190388  	return json.Marshal(objectMap)
190389  }
190390  
190391  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLMISink.
190392  func (sms SQLMISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
190393  	return nil, false
190394  }
190395  
190396  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLMISink.
190397  func (sms SQLMISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
190398  	return nil, false
190399  }
190400  
190401  // AsSalesforceSink is the BasicCopySink implementation for SQLMISink.
190402  func (sms SQLMISink) AsSalesforceSink() (*SalesforceSink, bool) {
190403  	return nil, false
190404  }
190405  
190406  // AsAzureDataExplorerSink is the BasicCopySink implementation for SQLMISink.
190407  func (sms SQLMISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
190408  	return nil, false
190409  }
190410  
190411  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLMISink.
190412  func (sms SQLMISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
190413  	return nil, false
190414  }
190415  
190416  // AsDynamicsCrmSink is the BasicCopySink implementation for SQLMISink.
190417  func (sms SQLMISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
190418  	return nil, false
190419  }
190420  
190421  // AsDynamicsSink is the BasicCopySink implementation for SQLMISink.
190422  func (sms SQLMISink) AsDynamicsSink() (*DynamicsSink, bool) {
190423  	return nil, false
190424  }
190425  
190426  // AsMicrosoftAccessSink is the BasicCopySink implementation for SQLMISink.
190427  func (sms SQLMISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
190428  	return nil, false
190429  }
190430  
190431  // AsInformixSink is the BasicCopySink implementation for SQLMISink.
190432  func (sms SQLMISink) AsInformixSink() (*InformixSink, bool) {
190433  	return nil, false
190434  }
190435  
190436  // AsOdbcSink is the BasicCopySink implementation for SQLMISink.
190437  func (sms SQLMISink) AsOdbcSink() (*OdbcSink, bool) {
190438  	return nil, false
190439  }
190440  
190441  // AsAzureSearchIndexSink is the BasicCopySink implementation for SQLMISink.
190442  func (sms SQLMISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
190443  	return nil, false
190444  }
190445  
190446  // AsAzureBlobFSSink is the BasicCopySink implementation for SQLMISink.
190447  func (sms SQLMISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
190448  	return nil, false
190449  }
190450  
190451  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLMISink.
190452  func (sms SQLMISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
190453  	return nil, false
190454  }
190455  
190456  // AsOracleSink is the BasicCopySink implementation for SQLMISink.
190457  func (sms SQLMISink) AsOracleSink() (*OracleSink, bool) {
190458  	return nil, false
190459  }
190460  
190461  // AsSQLDWSink is the BasicCopySink implementation for SQLMISink.
190462  func (sms SQLMISink) AsSQLDWSink() (*SQLDWSink, bool) {
190463  	return nil, false
190464  }
190465  
190466  // AsSQLMISink is the BasicCopySink implementation for SQLMISink.
190467  func (sms SQLMISink) AsSQLMISink() (*SQLMISink, bool) {
190468  	return &sms, true
190469  }
190470  
190471  // AsAzureSQLSink is the BasicCopySink implementation for SQLMISink.
190472  func (sms SQLMISink) AsAzureSQLSink() (*AzureSQLSink, bool) {
190473  	return nil, false
190474  }
190475  
190476  // AsSQLServerSink is the BasicCopySink implementation for SQLMISink.
190477  func (sms SQLMISink) AsSQLServerSink() (*SQLServerSink, bool) {
190478  	return nil, false
190479  }
190480  
190481  // AsSQLSink is the BasicCopySink implementation for SQLMISink.
190482  func (sms SQLMISink) AsSQLSink() (*SQLSink, bool) {
190483  	return nil, false
190484  }
190485  
190486  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLMISink.
190487  func (sms SQLMISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
190488  	return nil, false
190489  }
190490  
190491  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLMISink.
190492  func (sms SQLMISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
190493  	return nil, false
190494  }
190495  
190496  // AsFileSystemSink is the BasicCopySink implementation for SQLMISink.
190497  func (sms SQLMISink) AsFileSystemSink() (*FileSystemSink, bool) {
190498  	return nil, false
190499  }
190500  
190501  // AsBlobSink is the BasicCopySink implementation for SQLMISink.
190502  func (sms SQLMISink) AsBlobSink() (*BlobSink, bool) {
190503  	return nil, false
190504  }
190505  
190506  // AsBinarySink is the BasicCopySink implementation for SQLMISink.
190507  func (sms SQLMISink) AsBinarySink() (*BinarySink, bool) {
190508  	return nil, false
190509  }
190510  
190511  // AsParquetSink is the BasicCopySink implementation for SQLMISink.
190512  func (sms SQLMISink) AsParquetSink() (*ParquetSink, bool) {
190513  	return nil, false
190514  }
190515  
190516  // AsAvroSink is the BasicCopySink implementation for SQLMISink.
190517  func (sms SQLMISink) AsAvroSink() (*AvroSink, bool) {
190518  	return nil, false
190519  }
190520  
190521  // AsAzureTableSink is the BasicCopySink implementation for SQLMISink.
190522  func (sms SQLMISink) AsAzureTableSink() (*AzureTableSink, bool) {
190523  	return nil, false
190524  }
190525  
190526  // AsAzureQueueSink is the BasicCopySink implementation for SQLMISink.
190527  func (sms SQLMISink) AsAzureQueueSink() (*AzureQueueSink, bool) {
190528  	return nil, false
190529  }
190530  
190531  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLMISink.
190532  func (sms SQLMISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
190533  	return nil, false
190534  }
190535  
190536  // AsAzureMySQLSink is the BasicCopySink implementation for SQLMISink.
190537  func (sms SQLMISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
190538  	return nil, false
190539  }
190540  
190541  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLMISink.
190542  func (sms SQLMISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
190543  	return nil, false
190544  }
190545  
190546  // AsOrcSink is the BasicCopySink implementation for SQLMISink.
190547  func (sms SQLMISink) AsOrcSink() (*OrcSink, bool) {
190548  	return nil, false
190549  }
190550  
190551  // AsJSONSink is the BasicCopySink implementation for SQLMISink.
190552  func (sms SQLMISink) AsJSONSink() (*JSONSink, bool) {
190553  	return nil, false
190554  }
190555  
190556  // AsDelimitedTextSink is the BasicCopySink implementation for SQLMISink.
190557  func (sms SQLMISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
190558  	return nil, false
190559  }
190560  
190561  // AsCopySink is the BasicCopySink implementation for SQLMISink.
190562  func (sms SQLMISink) AsCopySink() (*CopySink, bool) {
190563  	return nil, false
190564  }
190565  
190566  // AsBasicCopySink is the BasicCopySink implementation for SQLMISink.
190567  func (sms SQLMISink) AsBasicCopySink() (BasicCopySink, bool) {
190568  	return &sms, true
190569  }
190570  
190571  // UnmarshalJSON is the custom unmarshaler for SQLMISink struct.
190572  func (sms *SQLMISink) UnmarshalJSON(body []byte) error {
190573  	var m map[string]*json.RawMessage
190574  	err := json.Unmarshal(body, &m)
190575  	if err != nil {
190576  		return err
190577  	}
190578  	for k, v := range m {
190579  		switch k {
190580  		case "sqlWriterStoredProcedureName":
190581  			if v != nil {
190582  				var SQLWriterStoredProcedureName interface{}
190583  				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
190584  				if err != nil {
190585  					return err
190586  				}
190587  				sms.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
190588  			}
190589  		case "sqlWriterTableType":
190590  			if v != nil {
190591  				var SQLWriterTableType interface{}
190592  				err = json.Unmarshal(*v, &SQLWriterTableType)
190593  				if err != nil {
190594  					return err
190595  				}
190596  				sms.SQLWriterTableType = SQLWriterTableType
190597  			}
190598  		case "preCopyScript":
190599  			if v != nil {
190600  				var preCopyScript interface{}
190601  				err = json.Unmarshal(*v, &preCopyScript)
190602  				if err != nil {
190603  					return err
190604  				}
190605  				sms.PreCopyScript = preCopyScript
190606  			}
190607  		case "storedProcedureParameters":
190608  			if v != nil {
190609  				var storedProcedureParameters map[string]*StoredProcedureParameter
190610  				err = json.Unmarshal(*v, &storedProcedureParameters)
190611  				if err != nil {
190612  					return err
190613  				}
190614  				sms.StoredProcedureParameters = storedProcedureParameters
190615  			}
190616  		case "storedProcedureTableTypeParameterName":
190617  			if v != nil {
190618  				var storedProcedureTableTypeParameterName interface{}
190619  				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
190620  				if err != nil {
190621  					return err
190622  				}
190623  				sms.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
190624  			}
190625  		case "tableOption":
190626  			if v != nil {
190627  				var tableOption interface{}
190628  				err = json.Unmarshal(*v, &tableOption)
190629  				if err != nil {
190630  					return err
190631  				}
190632  				sms.TableOption = tableOption
190633  			}
190634  		default:
190635  			if v != nil {
190636  				var additionalProperties interface{}
190637  				err = json.Unmarshal(*v, &additionalProperties)
190638  				if err != nil {
190639  					return err
190640  				}
190641  				if sms.AdditionalProperties == nil {
190642  					sms.AdditionalProperties = make(map[string]interface{})
190643  				}
190644  				sms.AdditionalProperties[k] = additionalProperties
190645  			}
190646  		case "writeBatchSize":
190647  			if v != nil {
190648  				var writeBatchSize interface{}
190649  				err = json.Unmarshal(*v, &writeBatchSize)
190650  				if err != nil {
190651  					return err
190652  				}
190653  				sms.WriteBatchSize = writeBatchSize
190654  			}
190655  		case "writeBatchTimeout":
190656  			if v != nil {
190657  				var writeBatchTimeout interface{}
190658  				err = json.Unmarshal(*v, &writeBatchTimeout)
190659  				if err != nil {
190660  					return err
190661  				}
190662  				sms.WriteBatchTimeout = writeBatchTimeout
190663  			}
190664  		case "sinkRetryCount":
190665  			if v != nil {
190666  				var sinkRetryCount interface{}
190667  				err = json.Unmarshal(*v, &sinkRetryCount)
190668  				if err != nil {
190669  					return err
190670  				}
190671  				sms.SinkRetryCount = sinkRetryCount
190672  			}
190673  		case "sinkRetryWait":
190674  			if v != nil {
190675  				var sinkRetryWait interface{}
190676  				err = json.Unmarshal(*v, &sinkRetryWait)
190677  				if err != nil {
190678  					return err
190679  				}
190680  				sms.SinkRetryWait = sinkRetryWait
190681  			}
190682  		case "maxConcurrentConnections":
190683  			if v != nil {
190684  				var maxConcurrentConnections interface{}
190685  				err = json.Unmarshal(*v, &maxConcurrentConnections)
190686  				if err != nil {
190687  					return err
190688  				}
190689  				sms.MaxConcurrentConnections = maxConcurrentConnections
190690  			}
190691  		case "type":
190692  			if v != nil {
190693  				var typeVar TypeBasicCopySink
190694  				err = json.Unmarshal(*v, &typeVar)
190695  				if err != nil {
190696  					return err
190697  				}
190698  				sms.Type = typeVar
190699  			}
190700  		}
190701  	}
190702  
190703  	return nil
190704  }
190705  
190706  // SQLMISource a copy activity Azure SQL Managed Instance source.
190707  type SQLMISource struct {
190708  	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
190709  	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
190710  	// 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).
190711  	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
190712  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
190713  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
190714  	// ProduceAdditionalTypes - Which additional types to produce.
190715  	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
190716  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
190717  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
190718  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
190719  	AdditionalProperties map[string]interface{} `json:""`
190720  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
190721  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
190722  	// 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])).
190723  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
190724  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
190725  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
190726  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
190727  	Type TypeBasicCopySource `json:"type,omitempty"`
190728  }
190729  
190730  // MarshalJSON is the custom marshaler for SQLMISource.
190731  func (sms SQLMISource) MarshalJSON() ([]byte, error) {
190732  	sms.Type = TypeSQLMISource
190733  	objectMap := make(map[string]interface{})
190734  	if sms.SQLReaderQuery != nil {
190735  		objectMap["sqlReaderQuery"] = sms.SQLReaderQuery
190736  	}
190737  	if sms.SQLReaderStoredProcedureName != nil {
190738  		objectMap["sqlReaderStoredProcedureName"] = sms.SQLReaderStoredProcedureName
190739  	}
190740  	if sms.StoredProcedureParameters != nil {
190741  		objectMap["storedProcedureParameters"] = sms.StoredProcedureParameters
190742  	}
190743  	if sms.ProduceAdditionalTypes != nil {
190744  		objectMap["produceAdditionalTypes"] = sms.ProduceAdditionalTypes
190745  	}
190746  	if sms.QueryTimeout != nil {
190747  		objectMap["queryTimeout"] = sms.QueryTimeout
190748  	}
190749  	if sms.SourceRetryCount != nil {
190750  		objectMap["sourceRetryCount"] = sms.SourceRetryCount
190751  	}
190752  	if sms.SourceRetryWait != nil {
190753  		objectMap["sourceRetryWait"] = sms.SourceRetryWait
190754  	}
190755  	if sms.MaxConcurrentConnections != nil {
190756  		objectMap["maxConcurrentConnections"] = sms.MaxConcurrentConnections
190757  	}
190758  	if sms.Type != "" {
190759  		objectMap["type"] = sms.Type
190760  	}
190761  	for k, v := range sms.AdditionalProperties {
190762  		objectMap[k] = v
190763  	}
190764  	return json.Marshal(objectMap)
190765  }
190766  
190767  // AsHTTPSource is the BasicCopySource implementation for SQLMISource.
190768  func (sms SQLMISource) AsHTTPSource() (*HTTPSource, bool) {
190769  	return nil, false
190770  }
190771  
190772  // AsAzureBlobFSSource is the BasicCopySource implementation for SQLMISource.
190773  func (sms SQLMISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
190774  	return nil, false
190775  }
190776  
190777  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLMISource.
190778  func (sms SQLMISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
190779  	return nil, false
190780  }
190781  
190782  // AsOffice365Source is the BasicCopySource implementation for SQLMISource.
190783  func (sms SQLMISource) AsOffice365Source() (*Office365Source, bool) {
190784  	return nil, false
190785  }
190786  
190787  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLMISource.
190788  func (sms SQLMISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
190789  	return nil, false
190790  }
190791  
190792  // AsMongoDbV2Source is the BasicCopySource implementation for SQLMISource.
190793  func (sms SQLMISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
190794  	return nil, false
190795  }
190796  
190797  // AsMongoDbSource is the BasicCopySource implementation for SQLMISource.
190798  func (sms SQLMISource) AsMongoDbSource() (*MongoDbSource, bool) {
190799  	return nil, false
190800  }
190801  
190802  // AsWebSource is the BasicCopySource implementation for SQLMISource.
190803  func (sms SQLMISource) AsWebSource() (*WebSource, bool) {
190804  	return nil, false
190805  }
190806  
190807  // AsOracleSource is the BasicCopySource implementation for SQLMISource.
190808  func (sms SQLMISource) AsOracleSource() (*OracleSource, bool) {
190809  	return nil, false
190810  }
190811  
190812  // AsAzureDataExplorerSource is the BasicCopySource implementation for SQLMISource.
190813  func (sms SQLMISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
190814  	return nil, false
190815  }
190816  
190817  // AsHdfsSource is the BasicCopySource implementation for SQLMISource.
190818  func (sms SQLMISource) AsHdfsSource() (*HdfsSource, bool) {
190819  	return nil, false
190820  }
190821  
190822  // AsFileSystemSource is the BasicCopySource implementation for SQLMISource.
190823  func (sms SQLMISource) AsFileSystemSource() (*FileSystemSource, bool) {
190824  	return nil, false
190825  }
190826  
190827  // AsRestSource is the BasicCopySource implementation for SQLMISource.
190828  func (sms SQLMISource) AsRestSource() (*RestSource, bool) {
190829  	return nil, false
190830  }
190831  
190832  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLMISource.
190833  func (sms SQLMISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
190834  	return nil, false
190835  }
190836  
190837  // AsODataSource is the BasicCopySource implementation for SQLMISource.
190838  func (sms SQLMISource) AsODataSource() (*ODataSource, bool) {
190839  	return nil, false
190840  }
190841  
190842  // AsMicrosoftAccessSource is the BasicCopySource implementation for SQLMISource.
190843  func (sms SQLMISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
190844  	return nil, false
190845  }
190846  
190847  // AsRelationalSource is the BasicCopySource implementation for SQLMISource.
190848  func (sms SQLMISource) AsRelationalSource() (*RelationalSource, bool) {
190849  	return nil, false
190850  }
190851  
190852  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLMISource.
190853  func (sms SQLMISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
190854  	return nil, false
190855  }
190856  
190857  // AsDynamicsCrmSource is the BasicCopySource implementation for SQLMISource.
190858  func (sms SQLMISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
190859  	return nil, false
190860  }
190861  
190862  // AsDynamicsSource is the BasicCopySource implementation for SQLMISource.
190863  func (sms SQLMISource) AsDynamicsSource() (*DynamicsSource, bool) {
190864  	return nil, false
190865  }
190866  
190867  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLMISource.
190868  func (sms SQLMISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
190869  	return nil, false
190870  }
190871  
190872  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLMISource.
190873  func (sms SQLMISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
190874  	return nil, false
190875  }
190876  
190877  // AsBlobSource is the BasicCopySource implementation for SQLMISource.
190878  func (sms SQLMISource) AsBlobSource() (*BlobSource, bool) {
190879  	return nil, false
190880  }
190881  
190882  // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLMISource.
190883  func (sms SQLMISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
190884  	return nil, false
190885  }
190886  
190887  // AsGoogleAdWordsSource is the BasicCopySource implementation for SQLMISource.
190888  func (sms SQLMISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
190889  	return nil, false
190890  }
190891  
190892  // AsOracleServiceCloudSource is the BasicCopySource implementation for SQLMISource.
190893  func (sms SQLMISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
190894  	return nil, false
190895  }
190896  
190897  // AsDynamicsAXSource is the BasicCopySource implementation for SQLMISource.
190898  func (sms SQLMISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
190899  	return nil, false
190900  }
190901  
190902  // AsResponsysSource is the BasicCopySource implementation for SQLMISource.
190903  func (sms SQLMISource) AsResponsysSource() (*ResponsysSource, bool) {
190904  	return nil, false
190905  }
190906  
190907  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLMISource.
190908  func (sms SQLMISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
190909  	return nil, false
190910  }
190911  
190912  // AsVerticaSource is the BasicCopySource implementation for SQLMISource.
190913  func (sms SQLMISource) AsVerticaSource() (*VerticaSource, bool) {
190914  	return nil, false
190915  }
190916  
190917  // AsNetezzaSource is the BasicCopySource implementation for SQLMISource.
190918  func (sms SQLMISource) AsNetezzaSource() (*NetezzaSource, bool) {
190919  	return nil, false
190920  }
190921  
190922  // AsZohoSource is the BasicCopySource implementation for SQLMISource.
190923  func (sms SQLMISource) AsZohoSource() (*ZohoSource, bool) {
190924  	return nil, false
190925  }
190926  
190927  // AsXeroSource is the BasicCopySource implementation for SQLMISource.
190928  func (sms SQLMISource) AsXeroSource() (*XeroSource, bool) {
190929  	return nil, false
190930  }
190931  
190932  // AsSquareSource is the BasicCopySource implementation for SQLMISource.
190933  func (sms SQLMISource) AsSquareSource() (*SquareSource, bool) {
190934  	return nil, false
190935  }
190936  
190937  // AsSparkSource is the BasicCopySource implementation for SQLMISource.
190938  func (sms SQLMISource) AsSparkSource() (*SparkSource, bool) {
190939  	return nil, false
190940  }
190941  
190942  // AsShopifySource is the BasicCopySource implementation for SQLMISource.
190943  func (sms SQLMISource) AsShopifySource() (*ShopifySource, bool) {
190944  	return nil, false
190945  }
190946  
190947  // AsServiceNowSource is the BasicCopySource implementation for SQLMISource.
190948  func (sms SQLMISource) AsServiceNowSource() (*ServiceNowSource, bool) {
190949  	return nil, false
190950  }
190951  
190952  // AsQuickBooksSource is the BasicCopySource implementation for SQLMISource.
190953  func (sms SQLMISource) AsQuickBooksSource() (*QuickBooksSource, bool) {
190954  	return nil, false
190955  }
190956  
190957  // AsPrestoSource is the BasicCopySource implementation for SQLMISource.
190958  func (sms SQLMISource) AsPrestoSource() (*PrestoSource, bool) {
190959  	return nil, false
190960  }
190961  
190962  // AsPhoenixSource is the BasicCopySource implementation for SQLMISource.
190963  func (sms SQLMISource) AsPhoenixSource() (*PhoenixSource, bool) {
190964  	return nil, false
190965  }
190966  
190967  // AsPaypalSource is the BasicCopySource implementation for SQLMISource.
190968  func (sms SQLMISource) AsPaypalSource() (*PaypalSource, bool) {
190969  	return nil, false
190970  }
190971  
190972  // AsMarketoSource is the BasicCopySource implementation for SQLMISource.
190973  func (sms SQLMISource) AsMarketoSource() (*MarketoSource, bool) {
190974  	return nil, false
190975  }
190976  
190977  // AsAzureMariaDBSource is the BasicCopySource implementation for SQLMISource.
190978  func (sms SQLMISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
190979  	return nil, false
190980  }
190981  
190982  // AsMariaDBSource is the BasicCopySource implementation for SQLMISource.
190983  func (sms SQLMISource) AsMariaDBSource() (*MariaDBSource, bool) {
190984  	return nil, false
190985  }
190986  
190987  // AsMagentoSource is the BasicCopySource implementation for SQLMISource.
190988  func (sms SQLMISource) AsMagentoSource() (*MagentoSource, bool) {
190989  	return nil, false
190990  }
190991  
190992  // AsJiraSource is the BasicCopySource implementation for SQLMISource.
190993  func (sms SQLMISource) AsJiraSource() (*JiraSource, bool) {
190994  	return nil, false
190995  }
190996  
190997  // AsImpalaSource is the BasicCopySource implementation for SQLMISource.
190998  func (sms SQLMISource) AsImpalaSource() (*ImpalaSource, bool) {
190999  	return nil, false
191000  }
191001  
191002  // AsHubspotSource is the BasicCopySource implementation for SQLMISource.
191003  func (sms SQLMISource) AsHubspotSource() (*HubspotSource, bool) {
191004  	return nil, false
191005  }
191006  
191007  // AsHiveSource is the BasicCopySource implementation for SQLMISource.
191008  func (sms SQLMISource) AsHiveSource() (*HiveSource, bool) {
191009  	return nil, false
191010  }
191011  
191012  // AsHBaseSource is the BasicCopySource implementation for SQLMISource.
191013  func (sms SQLMISource) AsHBaseSource() (*HBaseSource, bool) {
191014  	return nil, false
191015  }
191016  
191017  // AsGreenplumSource is the BasicCopySource implementation for SQLMISource.
191018  func (sms SQLMISource) AsGreenplumSource() (*GreenplumSource, bool) {
191019  	return nil, false
191020  }
191021  
191022  // AsGoogleBigQuerySource is the BasicCopySource implementation for SQLMISource.
191023  func (sms SQLMISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
191024  	return nil, false
191025  }
191026  
191027  // AsEloquaSource is the BasicCopySource implementation for SQLMISource.
191028  func (sms SQLMISource) AsEloquaSource() (*EloquaSource, bool) {
191029  	return nil, false
191030  }
191031  
191032  // AsDrillSource is the BasicCopySource implementation for SQLMISource.
191033  func (sms SQLMISource) AsDrillSource() (*DrillSource, bool) {
191034  	return nil, false
191035  }
191036  
191037  // AsCouchbaseSource is the BasicCopySource implementation for SQLMISource.
191038  func (sms SQLMISource) AsCouchbaseSource() (*CouchbaseSource, bool) {
191039  	return nil, false
191040  }
191041  
191042  // AsConcurSource is the BasicCopySource implementation for SQLMISource.
191043  func (sms SQLMISource) AsConcurSource() (*ConcurSource, bool) {
191044  	return nil, false
191045  }
191046  
191047  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLMISource.
191048  func (sms SQLMISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
191049  	return nil, false
191050  }
191051  
191052  // AsAmazonMWSSource is the BasicCopySource implementation for SQLMISource.
191053  func (sms SQLMISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
191054  	return nil, false
191055  }
191056  
191057  // AsCassandraSource is the BasicCopySource implementation for SQLMISource.
191058  func (sms SQLMISource) AsCassandraSource() (*CassandraSource, bool) {
191059  	return nil, false
191060  }
191061  
191062  // AsTeradataSource is the BasicCopySource implementation for SQLMISource.
191063  func (sms SQLMISource) AsTeradataSource() (*TeradataSource, bool) {
191064  	return nil, false
191065  }
191066  
191067  // AsAzureMySQLSource is the BasicCopySource implementation for SQLMISource.
191068  func (sms SQLMISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
191069  	return nil, false
191070  }
191071  
191072  // AsSQLDWSource is the BasicCopySource implementation for SQLMISource.
191073  func (sms SQLMISource) AsSQLDWSource() (*SQLDWSource, bool) {
191074  	return nil, false
191075  }
191076  
191077  // AsSQLMISource is the BasicCopySource implementation for SQLMISource.
191078  func (sms SQLMISource) AsSQLMISource() (*SQLMISource, bool) {
191079  	return &sms, true
191080  }
191081  
191082  // AsAzureSQLSource is the BasicCopySource implementation for SQLMISource.
191083  func (sms SQLMISource) AsAzureSQLSource() (*AzureSQLSource, bool) {
191084  	return nil, false
191085  }
191086  
191087  // AsSQLServerSource is the BasicCopySource implementation for SQLMISource.
191088  func (sms SQLMISource) AsSQLServerSource() (*SQLServerSource, bool) {
191089  	return nil, false
191090  }
191091  
191092  // AsSQLSource is the BasicCopySource implementation for SQLMISource.
191093  func (sms SQLMISource) AsSQLSource() (*SQLSource, bool) {
191094  	return nil, false
191095  }
191096  
191097  // AsSapTableSource is the BasicCopySource implementation for SQLMISource.
191098  func (sms SQLMISource) AsSapTableSource() (*SapTableSource, bool) {
191099  	return nil, false
191100  }
191101  
191102  // AsSapOpenHubSource is the BasicCopySource implementation for SQLMISource.
191103  func (sms SQLMISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
191104  	return nil, false
191105  }
191106  
191107  // AsSapHanaSource is the BasicCopySource implementation for SQLMISource.
191108  func (sms SQLMISource) AsSapHanaSource() (*SapHanaSource, bool) {
191109  	return nil, false
191110  }
191111  
191112  // AsSapEccSource is the BasicCopySource implementation for SQLMISource.
191113  func (sms SQLMISource) AsSapEccSource() (*SapEccSource, bool) {
191114  	return nil, false
191115  }
191116  
191117  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLMISource.
191118  func (sms SQLMISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
191119  	return nil, false
191120  }
191121  
191122  // AsSalesforceSource is the BasicCopySource implementation for SQLMISource.
191123  func (sms SQLMISource) AsSalesforceSource() (*SalesforceSource, bool) {
191124  	return nil, false
191125  }
191126  
191127  // AsSapBwSource is the BasicCopySource implementation for SQLMISource.
191128  func (sms SQLMISource) AsSapBwSource() (*SapBwSource, bool) {
191129  	return nil, false
191130  }
191131  
191132  // AsSybaseSource is the BasicCopySource implementation for SQLMISource.
191133  func (sms SQLMISource) AsSybaseSource() (*SybaseSource, bool) {
191134  	return nil, false
191135  }
191136  
191137  // AsPostgreSQLSource is the BasicCopySource implementation for SQLMISource.
191138  func (sms SQLMISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
191139  	return nil, false
191140  }
191141  
191142  // AsMySQLSource is the BasicCopySource implementation for SQLMISource.
191143  func (sms SQLMISource) AsMySQLSource() (*MySQLSource, bool) {
191144  	return nil, false
191145  }
191146  
191147  // AsOdbcSource is the BasicCopySource implementation for SQLMISource.
191148  func (sms SQLMISource) AsOdbcSource() (*OdbcSource, bool) {
191149  	return nil, false
191150  }
191151  
191152  // AsDb2Source is the BasicCopySource implementation for SQLMISource.
191153  func (sms SQLMISource) AsDb2Source() (*Db2Source, bool) {
191154  	return nil, false
191155  }
191156  
191157  // AsInformixSource is the BasicCopySource implementation for SQLMISource.
191158  func (sms SQLMISource) AsInformixSource() (*InformixSource, bool) {
191159  	return nil, false
191160  }
191161  
191162  // AsAzureTableSource is the BasicCopySource implementation for SQLMISource.
191163  func (sms SQLMISource) AsAzureTableSource() (*AzureTableSource, bool) {
191164  	return nil, false
191165  }
191166  
191167  // AsTabularSource is the BasicCopySource implementation for SQLMISource.
191168  func (sms SQLMISource) AsTabularSource() (*TabularSource, bool) {
191169  	return nil, false
191170  }
191171  
191172  // AsBasicTabularSource is the BasicCopySource implementation for SQLMISource.
191173  func (sms SQLMISource) AsBasicTabularSource() (BasicTabularSource, bool) {
191174  	return &sms, true
191175  }
191176  
191177  // AsBinarySource is the BasicCopySource implementation for SQLMISource.
191178  func (sms SQLMISource) AsBinarySource() (*BinarySource, bool) {
191179  	return nil, false
191180  }
191181  
191182  // AsOrcSource is the BasicCopySource implementation for SQLMISource.
191183  func (sms SQLMISource) AsOrcSource() (*OrcSource, bool) {
191184  	return nil, false
191185  }
191186  
191187  // AsJSONSource is the BasicCopySource implementation for SQLMISource.
191188  func (sms SQLMISource) AsJSONSource() (*JSONSource, bool) {
191189  	return nil, false
191190  }
191191  
191192  // AsDelimitedTextSource is the BasicCopySource implementation for SQLMISource.
191193  func (sms SQLMISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
191194  	return nil, false
191195  }
191196  
191197  // AsParquetSource is the BasicCopySource implementation for SQLMISource.
191198  func (sms SQLMISource) AsParquetSource() (*ParquetSource, bool) {
191199  	return nil, false
191200  }
191201  
191202  // AsAvroSource is the BasicCopySource implementation for SQLMISource.
191203  func (sms SQLMISource) AsAvroSource() (*AvroSource, bool) {
191204  	return nil, false
191205  }
191206  
191207  // AsCopySource is the BasicCopySource implementation for SQLMISource.
191208  func (sms SQLMISource) AsCopySource() (*CopySource, bool) {
191209  	return nil, false
191210  }
191211  
191212  // AsBasicCopySource is the BasicCopySource implementation for SQLMISource.
191213  func (sms SQLMISource) AsBasicCopySource() (BasicCopySource, bool) {
191214  	return &sms, true
191215  }
191216  
191217  // UnmarshalJSON is the custom unmarshaler for SQLMISource struct.
191218  func (sms *SQLMISource) UnmarshalJSON(body []byte) error {
191219  	var m map[string]*json.RawMessage
191220  	err := json.Unmarshal(body, &m)
191221  	if err != nil {
191222  		return err
191223  	}
191224  	for k, v := range m {
191225  		switch k {
191226  		case "sqlReaderQuery":
191227  			if v != nil {
191228  				var SQLReaderQuery interface{}
191229  				err = json.Unmarshal(*v, &SQLReaderQuery)
191230  				if err != nil {
191231  					return err
191232  				}
191233  				sms.SQLReaderQuery = SQLReaderQuery
191234  			}
191235  		case "sqlReaderStoredProcedureName":
191236  			if v != nil {
191237  				var SQLReaderStoredProcedureName interface{}
191238  				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
191239  				if err != nil {
191240  					return err
191241  				}
191242  				sms.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
191243  			}
191244  		case "storedProcedureParameters":
191245  			if v != nil {
191246  				var storedProcedureParameters map[string]*StoredProcedureParameter
191247  				err = json.Unmarshal(*v, &storedProcedureParameters)
191248  				if err != nil {
191249  					return err
191250  				}
191251  				sms.StoredProcedureParameters = storedProcedureParameters
191252  			}
191253  		case "produceAdditionalTypes":
191254  			if v != nil {
191255  				var produceAdditionalTypes interface{}
191256  				err = json.Unmarshal(*v, &produceAdditionalTypes)
191257  				if err != nil {
191258  					return err
191259  				}
191260  				sms.ProduceAdditionalTypes = produceAdditionalTypes
191261  			}
191262  		case "queryTimeout":
191263  			if v != nil {
191264  				var queryTimeout interface{}
191265  				err = json.Unmarshal(*v, &queryTimeout)
191266  				if err != nil {
191267  					return err
191268  				}
191269  				sms.QueryTimeout = queryTimeout
191270  			}
191271  		default:
191272  			if v != nil {
191273  				var additionalProperties interface{}
191274  				err = json.Unmarshal(*v, &additionalProperties)
191275  				if err != nil {
191276  					return err
191277  				}
191278  				if sms.AdditionalProperties == nil {
191279  					sms.AdditionalProperties = make(map[string]interface{})
191280  				}
191281  				sms.AdditionalProperties[k] = additionalProperties
191282  			}
191283  		case "sourceRetryCount":
191284  			if v != nil {
191285  				var sourceRetryCount interface{}
191286  				err = json.Unmarshal(*v, &sourceRetryCount)
191287  				if err != nil {
191288  					return err
191289  				}
191290  				sms.SourceRetryCount = sourceRetryCount
191291  			}
191292  		case "sourceRetryWait":
191293  			if v != nil {
191294  				var sourceRetryWait interface{}
191295  				err = json.Unmarshal(*v, &sourceRetryWait)
191296  				if err != nil {
191297  					return err
191298  				}
191299  				sms.SourceRetryWait = sourceRetryWait
191300  			}
191301  		case "maxConcurrentConnections":
191302  			if v != nil {
191303  				var maxConcurrentConnections interface{}
191304  				err = json.Unmarshal(*v, &maxConcurrentConnections)
191305  				if err != nil {
191306  					return err
191307  				}
191308  				sms.MaxConcurrentConnections = maxConcurrentConnections
191309  			}
191310  		case "type":
191311  			if v != nil {
191312  				var typeVar TypeBasicCopySource
191313  				err = json.Unmarshal(*v, &typeVar)
191314  				if err != nil {
191315  					return err
191316  				}
191317  				sms.Type = typeVar
191318  			}
191319  		}
191320  	}
191321  
191322  	return nil
191323  }
191324  
191325  // SQLPool a SQL Analytics pool
191326  type SQLPool struct {
191327  	autorest.Response `json:"-"`
191328  	// Sku - SQL pool SKU
191329  	Sku *Sku `json:"sku,omitempty"`
191330  	// SQLPoolResourceProperties - SQL pool properties
191331  	*SQLPoolResourceProperties `json:"properties,omitempty"`
191332  	// Tags - Resource tags.
191333  	Tags map[string]*string `json:"tags"`
191334  	// Location - The geo-location where the resource lives
191335  	Location *string `json:"location,omitempty"`
191336  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
191337  	ID *string `json:"id,omitempty"`
191338  	// Name - READ-ONLY; The name of the resource
191339  	Name *string `json:"name,omitempty"`
191340  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
191341  	Type *string `json:"type,omitempty"`
191342  }
191343  
191344  // MarshalJSON is the custom marshaler for SQLPool.
191345  func (sp SQLPool) MarshalJSON() ([]byte, error) {
191346  	objectMap := make(map[string]interface{})
191347  	if sp.Sku != nil {
191348  		objectMap["sku"] = sp.Sku
191349  	}
191350  	if sp.SQLPoolResourceProperties != nil {
191351  		objectMap["properties"] = sp.SQLPoolResourceProperties
191352  	}
191353  	if sp.Tags != nil {
191354  		objectMap["tags"] = sp.Tags
191355  	}
191356  	if sp.Location != nil {
191357  		objectMap["location"] = sp.Location
191358  	}
191359  	return json.Marshal(objectMap)
191360  }
191361  
191362  // UnmarshalJSON is the custom unmarshaler for SQLPool struct.
191363  func (sp *SQLPool) UnmarshalJSON(body []byte) error {
191364  	var m map[string]*json.RawMessage
191365  	err := json.Unmarshal(body, &m)
191366  	if err != nil {
191367  		return err
191368  	}
191369  	for k, v := range m {
191370  		switch k {
191371  		case "sku":
191372  			if v != nil {
191373  				var sku Sku
191374  				err = json.Unmarshal(*v, &sku)
191375  				if err != nil {
191376  					return err
191377  				}
191378  				sp.Sku = &sku
191379  			}
191380  		case "properties":
191381  			if v != nil {
191382  				var SQLPoolResourceProperties SQLPoolResourceProperties
191383  				err = json.Unmarshal(*v, &SQLPoolResourceProperties)
191384  				if err != nil {
191385  					return err
191386  				}
191387  				sp.SQLPoolResourceProperties = &SQLPoolResourceProperties
191388  			}
191389  		case "tags":
191390  			if v != nil {
191391  				var tags map[string]*string
191392  				err = json.Unmarshal(*v, &tags)
191393  				if err != nil {
191394  					return err
191395  				}
191396  				sp.Tags = tags
191397  			}
191398  		case "location":
191399  			if v != nil {
191400  				var location string
191401  				err = json.Unmarshal(*v, &location)
191402  				if err != nil {
191403  					return err
191404  				}
191405  				sp.Location = &location
191406  			}
191407  		case "id":
191408  			if v != nil {
191409  				var ID string
191410  				err = json.Unmarshal(*v, &ID)
191411  				if err != nil {
191412  					return err
191413  				}
191414  				sp.ID = &ID
191415  			}
191416  		case "name":
191417  			if v != nil {
191418  				var name string
191419  				err = json.Unmarshal(*v, &name)
191420  				if err != nil {
191421  					return err
191422  				}
191423  				sp.Name = &name
191424  			}
191425  		case "type":
191426  			if v != nil {
191427  				var typeVar string
191428  				err = json.Unmarshal(*v, &typeVar)
191429  				if err != nil {
191430  					return err
191431  				}
191432  				sp.Type = &typeVar
191433  			}
191434  		}
191435  	}
191436  
191437  	return nil
191438  }
191439  
191440  // SQLPoolInfoListResult list of SQL pools
191441  type SQLPoolInfoListResult struct {
191442  	autorest.Response `json:"-"`
191443  	// NextLink - Link to the next page of results
191444  	NextLink *string `json:"nextLink,omitempty"`
191445  	// Value - List of SQL pools
191446  	Value *[]SQLPool `json:"value,omitempty"`
191447  }
191448  
191449  // SQLPoolReference SQL pool reference type.
191450  type SQLPoolReference struct {
191451  	// Type - SQL pool reference type.
191452  	Type *string `json:"type,omitempty"`
191453  	// ReferenceName - Reference SQL pool name.
191454  	ReferenceName *string `json:"referenceName,omitempty"`
191455  }
191456  
191457  // SQLPoolResourceProperties properties of a SQL Analytics pool
191458  type SQLPoolResourceProperties struct {
191459  	// MaxSizeBytes - Maximum size in bytes
191460  	MaxSizeBytes *int64 `json:"maxSizeBytes,omitempty"`
191461  	// Collation - Collation mode
191462  	Collation *string `json:"collation,omitempty"`
191463  	// SourceDatabaseID - Source database to create from
191464  	SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"`
191465  	// RecoverableDatabaseID - Backup database to restore from
191466  	RecoverableDatabaseID *string `json:"recoverableDatabaseId,omitempty"`
191467  	// ProvisioningState - Resource state
191468  	ProvisioningState *string `json:"provisioningState,omitempty"`
191469  	// Status - Resource status
191470  	Status *string `json:"status,omitempty"`
191471  	// RestorePointInTime - Snapshot time to restore
191472  	RestorePointInTime *string `json:"restorePointInTime,omitempty"`
191473  	// CreateMode - What is this?
191474  	CreateMode *string `json:"createMode,omitempty"`
191475  	// CreationDate - Date the SQL pool was created
191476  	CreationDate *date.Time `json:"creationDate,omitempty"`
191477  }
191478  
191479  // SQLPoolStoredProcedureActivity execute SQL pool stored procedure activity.
191480  type SQLPoolStoredProcedureActivity struct {
191481  	// SQLPool - SQL pool stored procedure reference.
191482  	SQLPool *SQLPoolReference `json:"sqlPool,omitempty"`
191483  	// SQLPoolStoredProcedureActivityTypeProperties - Execute SQL pool stored procedure activity properties.
191484  	*SQLPoolStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"`
191485  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
191486  	AdditionalProperties map[string]interface{} `json:""`
191487  	// Name - Activity name.
191488  	Name *string `json:"name,omitempty"`
191489  	// Description - Activity description.
191490  	Description *string `json:"description,omitempty"`
191491  	// DependsOn - Activity depends on condition.
191492  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
191493  	// UserProperties - Activity user properties.
191494  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
191495  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
191496  	Type TypeBasicActivity `json:"type,omitempty"`
191497  }
191498  
191499  // MarshalJSON is the custom marshaler for SQLPoolStoredProcedureActivity.
191500  func (spspa SQLPoolStoredProcedureActivity) MarshalJSON() ([]byte, error) {
191501  	spspa.Type = TypeSQLPoolStoredProcedure
191502  	objectMap := make(map[string]interface{})
191503  	if spspa.SQLPool != nil {
191504  		objectMap["sqlPool"] = spspa.SQLPool
191505  	}
191506  	if spspa.SQLPoolStoredProcedureActivityTypeProperties != nil {
191507  		objectMap["typeProperties"] = spspa.SQLPoolStoredProcedureActivityTypeProperties
191508  	}
191509  	if spspa.Name != nil {
191510  		objectMap["name"] = spspa.Name
191511  	}
191512  	if spspa.Description != nil {
191513  		objectMap["description"] = spspa.Description
191514  	}
191515  	if spspa.DependsOn != nil {
191516  		objectMap["dependsOn"] = spspa.DependsOn
191517  	}
191518  	if spspa.UserProperties != nil {
191519  		objectMap["userProperties"] = spspa.UserProperties
191520  	}
191521  	if spspa.Type != "" {
191522  		objectMap["type"] = spspa.Type
191523  	}
191524  	for k, v := range spspa.AdditionalProperties {
191525  		objectMap[k] = v
191526  	}
191527  	return json.Marshal(objectMap)
191528  }
191529  
191530  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191531  func (spspa SQLPoolStoredProcedureActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
191532  	return &spspa, true
191533  }
191534  
191535  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191536  func (spspa SQLPoolStoredProcedureActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
191537  	return nil, false
191538  }
191539  
191540  // AsSynapseNotebookActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191541  func (spspa SQLPoolStoredProcedureActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
191542  	return nil, false
191543  }
191544  
191545  // AsExecuteDataFlowActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191546  func (spspa SQLPoolStoredProcedureActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
191547  	return nil, false
191548  }
191549  
191550  // AsAzureFunctionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191551  func (spspa SQLPoolStoredProcedureActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
191552  	return nil, false
191553  }
191554  
191555  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191556  func (spspa SQLPoolStoredProcedureActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
191557  	return nil, false
191558  }
191559  
191560  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191561  func (spspa SQLPoolStoredProcedureActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
191562  	return nil, false
191563  }
191564  
191565  // AsDatabricksNotebookActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191566  func (spspa SQLPoolStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
191567  	return nil, false
191568  }
191569  
191570  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191571  func (spspa SQLPoolStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
191572  	return nil, false
191573  }
191574  
191575  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191576  func (spspa SQLPoolStoredProcedureActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
191577  	return nil, false
191578  }
191579  
191580  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191581  func (spspa SQLPoolStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
191582  	return nil, false
191583  }
191584  
191585  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191586  func (spspa SQLPoolStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
191587  	return nil, false
191588  }
191589  
191590  // AsGetMetadataActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191591  func (spspa SQLPoolStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
191592  	return nil, false
191593  }
191594  
191595  // AsWebActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191596  func (spspa SQLPoolStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) {
191597  	return nil, false
191598  }
191599  
191600  // AsLookupActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191601  func (spspa SQLPoolStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) {
191602  	return nil, false
191603  }
191604  
191605  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191606  func (spspa SQLPoolStoredProcedureActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
191607  	return nil, false
191608  }
191609  
191610  // AsDeleteActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191611  func (spspa SQLPoolStoredProcedureActivity) AsDeleteActivity() (*DeleteActivity, bool) {
191612  	return nil, false
191613  }
191614  
191615  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191616  func (spspa SQLPoolStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
191617  	return nil, false
191618  }
191619  
191620  // AsCustomActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191621  func (spspa SQLPoolStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) {
191622  	return nil, false
191623  }
191624  
191625  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191626  func (spspa SQLPoolStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
191627  	return nil, false
191628  }
191629  
191630  // AsHDInsightSparkActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191631  func (spspa SQLPoolStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
191632  	return nil, false
191633  }
191634  
191635  // AsHDInsightStreamingActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191636  func (spspa SQLPoolStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
191637  	return nil, false
191638  }
191639  
191640  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191641  func (spspa SQLPoolStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
191642  	return nil, false
191643  }
191644  
191645  // AsHDInsightPigActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191646  func (spspa SQLPoolStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
191647  	return nil, false
191648  }
191649  
191650  // AsHDInsightHiveActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191651  func (spspa SQLPoolStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
191652  	return nil, false
191653  }
191654  
191655  // AsCopyActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191656  func (spspa SQLPoolStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) {
191657  	return nil, false
191658  }
191659  
191660  // AsExecutionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191661  func (spspa SQLPoolStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
191662  	return nil, false
191663  }
191664  
191665  // AsBasicExecutionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191666  func (spspa SQLPoolStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
191667  	return nil, false
191668  }
191669  
191670  // AsWebHookActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191671  func (spspa SQLPoolStoredProcedureActivity) AsWebHookActivity() (*WebHookActivity, bool) {
191672  	return nil, false
191673  }
191674  
191675  // AsAppendVariableActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191676  func (spspa SQLPoolStoredProcedureActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
191677  	return nil, false
191678  }
191679  
191680  // AsSetVariableActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191681  func (spspa SQLPoolStoredProcedureActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
191682  	return nil, false
191683  }
191684  
191685  // AsFilterActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191686  func (spspa SQLPoolStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) {
191687  	return nil, false
191688  }
191689  
191690  // AsValidationActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191691  func (spspa SQLPoolStoredProcedureActivity) AsValidationActivity() (*ValidationActivity, bool) {
191692  	return nil, false
191693  }
191694  
191695  // AsUntilActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191696  func (spspa SQLPoolStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) {
191697  	return nil, false
191698  }
191699  
191700  // AsWaitActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191701  func (spspa SQLPoolStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) {
191702  	return nil, false
191703  }
191704  
191705  // AsForEachActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191706  func (spspa SQLPoolStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) {
191707  	return nil, false
191708  }
191709  
191710  // AsSwitchActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191711  func (spspa SQLPoolStoredProcedureActivity) AsSwitchActivity() (*SwitchActivity, bool) {
191712  	return nil, false
191713  }
191714  
191715  // AsIfConditionActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191716  func (spspa SQLPoolStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
191717  	return nil, false
191718  }
191719  
191720  // AsExecutePipelineActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191721  func (spspa SQLPoolStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
191722  	return nil, false
191723  }
191724  
191725  // AsControlActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191726  func (spspa SQLPoolStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) {
191727  	return nil, false
191728  }
191729  
191730  // AsBasicControlActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191731  func (spspa SQLPoolStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
191732  	return nil, false
191733  }
191734  
191735  // AsActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191736  func (spspa SQLPoolStoredProcedureActivity) AsActivity() (*Activity, bool) {
191737  	return nil, false
191738  }
191739  
191740  // AsBasicActivity is the BasicActivity implementation for SQLPoolStoredProcedureActivity.
191741  func (spspa SQLPoolStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) {
191742  	return &spspa, true
191743  }
191744  
191745  // UnmarshalJSON is the custom unmarshaler for SQLPoolStoredProcedureActivity struct.
191746  func (spspa *SQLPoolStoredProcedureActivity) UnmarshalJSON(body []byte) error {
191747  	var m map[string]*json.RawMessage
191748  	err := json.Unmarshal(body, &m)
191749  	if err != nil {
191750  		return err
191751  	}
191752  	for k, v := range m {
191753  		switch k {
191754  		case "sqlPool":
191755  			if v != nil {
191756  				var SQLPool SQLPoolReference
191757  				err = json.Unmarshal(*v, &SQLPool)
191758  				if err != nil {
191759  					return err
191760  				}
191761  				spspa.SQLPool = &SQLPool
191762  			}
191763  		case "typeProperties":
191764  			if v != nil {
191765  				var SQLPoolStoredProcedureActivityTypeProperties SQLPoolStoredProcedureActivityTypeProperties
191766  				err = json.Unmarshal(*v, &SQLPoolStoredProcedureActivityTypeProperties)
191767  				if err != nil {
191768  					return err
191769  				}
191770  				spspa.SQLPoolStoredProcedureActivityTypeProperties = &SQLPoolStoredProcedureActivityTypeProperties
191771  			}
191772  		default:
191773  			if v != nil {
191774  				var additionalProperties interface{}
191775  				err = json.Unmarshal(*v, &additionalProperties)
191776  				if err != nil {
191777  					return err
191778  				}
191779  				if spspa.AdditionalProperties == nil {
191780  					spspa.AdditionalProperties = make(map[string]interface{})
191781  				}
191782  				spspa.AdditionalProperties[k] = additionalProperties
191783  			}
191784  		case "name":
191785  			if v != nil {
191786  				var name string
191787  				err = json.Unmarshal(*v, &name)
191788  				if err != nil {
191789  					return err
191790  				}
191791  				spspa.Name = &name
191792  			}
191793  		case "description":
191794  			if v != nil {
191795  				var description string
191796  				err = json.Unmarshal(*v, &description)
191797  				if err != nil {
191798  					return err
191799  				}
191800  				spspa.Description = &description
191801  			}
191802  		case "dependsOn":
191803  			if v != nil {
191804  				var dependsOn []ActivityDependency
191805  				err = json.Unmarshal(*v, &dependsOn)
191806  				if err != nil {
191807  					return err
191808  				}
191809  				spspa.DependsOn = &dependsOn
191810  			}
191811  		case "userProperties":
191812  			if v != nil {
191813  				var userProperties []UserProperty
191814  				err = json.Unmarshal(*v, &userProperties)
191815  				if err != nil {
191816  					return err
191817  				}
191818  				spspa.UserProperties = &userProperties
191819  			}
191820  		case "type":
191821  			if v != nil {
191822  				var typeVar TypeBasicActivity
191823  				err = json.Unmarshal(*v, &typeVar)
191824  				if err != nil {
191825  					return err
191826  				}
191827  				spspa.Type = typeVar
191828  			}
191829  		}
191830  	}
191831  
191832  	return nil
191833  }
191834  
191835  // SQLPoolStoredProcedureActivityTypeProperties SQL stored procedure activity properties.
191836  type SQLPoolStoredProcedureActivityTypeProperties struct {
191837  	// StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string).
191838  	StoredProcedureName interface{} `json:"storedProcedureName,omitempty"`
191839  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
191840  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
191841  }
191842  
191843  // MarshalJSON is the custom marshaler for SQLPoolStoredProcedureActivityTypeProperties.
191844  func (spspatp SQLPoolStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) {
191845  	objectMap := make(map[string]interface{})
191846  	if spspatp.StoredProcedureName != nil {
191847  		objectMap["storedProcedureName"] = spspatp.StoredProcedureName
191848  	}
191849  	if spspatp.StoredProcedureParameters != nil {
191850  		objectMap["storedProcedureParameters"] = spspatp.StoredProcedureParameters
191851  	}
191852  	return json.Marshal(objectMap)
191853  }
191854  
191855  // SQLScript SQL script.
191856  type SQLScript struct {
191857  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
191858  	AdditionalProperties map[string]interface{} `json:""`
191859  	// Description - The description of the SQL script.
191860  	Description *string `json:"description,omitempty"`
191861  	// Type - The type of the SQL script. Possible values include: 'SQLQuery'
191862  	Type SQLScriptType `json:"type,omitempty"`
191863  	// Content - The content of the SQL script.
191864  	Content *SQLScriptContent `json:"content,omitempty"`
191865  }
191866  
191867  // MarshalJSON is the custom marshaler for SQLScript.
191868  func (ss SQLScript) MarshalJSON() ([]byte, error) {
191869  	objectMap := make(map[string]interface{})
191870  	if ss.Description != nil {
191871  		objectMap["description"] = ss.Description
191872  	}
191873  	if ss.Type != "" {
191874  		objectMap["type"] = ss.Type
191875  	}
191876  	if ss.Content != nil {
191877  		objectMap["content"] = ss.Content
191878  	}
191879  	for k, v := range ss.AdditionalProperties {
191880  		objectMap[k] = v
191881  	}
191882  	return json.Marshal(objectMap)
191883  }
191884  
191885  // UnmarshalJSON is the custom unmarshaler for SQLScript struct.
191886  func (ss *SQLScript) UnmarshalJSON(body []byte) error {
191887  	var m map[string]*json.RawMessage
191888  	err := json.Unmarshal(body, &m)
191889  	if err != nil {
191890  		return err
191891  	}
191892  	for k, v := range m {
191893  		switch k {
191894  		default:
191895  			if v != nil {
191896  				var additionalProperties interface{}
191897  				err = json.Unmarshal(*v, &additionalProperties)
191898  				if err != nil {
191899  					return err
191900  				}
191901  				if ss.AdditionalProperties == nil {
191902  					ss.AdditionalProperties = make(map[string]interface{})
191903  				}
191904  				ss.AdditionalProperties[k] = additionalProperties
191905  			}
191906  		case "description":
191907  			if v != nil {
191908  				var description string
191909  				err = json.Unmarshal(*v, &description)
191910  				if err != nil {
191911  					return err
191912  				}
191913  				ss.Description = &description
191914  			}
191915  		case "type":
191916  			if v != nil {
191917  				var typeVar SQLScriptType
191918  				err = json.Unmarshal(*v, &typeVar)
191919  				if err != nil {
191920  					return err
191921  				}
191922  				ss.Type = typeVar
191923  			}
191924  		case "content":
191925  			if v != nil {
191926  				var content SQLScriptContent
191927  				err = json.Unmarshal(*v, &content)
191928  				if err != nil {
191929  					return err
191930  				}
191931  				ss.Content = &content
191932  			}
191933  		}
191934  	}
191935  
191936  	return nil
191937  }
191938  
191939  // SQLScriptContent the content of the SQL script.
191940  type SQLScriptContent struct {
191941  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
191942  	AdditionalProperties map[string]interface{} `json:""`
191943  	// Query - SQL query to execute.
191944  	Query *string `json:"query,omitempty"`
191945  	// CurrentConnection - The connection used to execute the SQL script.
191946  	CurrentConnection *SQLConnection `json:"currentConnection,omitempty"`
191947  	// Metadata - The metadata of the SQL script.
191948  	Metadata *SQLScriptMetadata `json:"metadata,omitempty"`
191949  }
191950  
191951  // MarshalJSON is the custom marshaler for SQLScriptContent.
191952  func (ssc SQLScriptContent) MarshalJSON() ([]byte, error) {
191953  	objectMap := make(map[string]interface{})
191954  	if ssc.Query != nil {
191955  		objectMap["query"] = ssc.Query
191956  	}
191957  	if ssc.CurrentConnection != nil {
191958  		objectMap["currentConnection"] = ssc.CurrentConnection
191959  	}
191960  	if ssc.Metadata != nil {
191961  		objectMap["metadata"] = ssc.Metadata
191962  	}
191963  	for k, v := range ssc.AdditionalProperties {
191964  		objectMap[k] = v
191965  	}
191966  	return json.Marshal(objectMap)
191967  }
191968  
191969  // UnmarshalJSON is the custom unmarshaler for SQLScriptContent struct.
191970  func (ssc *SQLScriptContent) UnmarshalJSON(body []byte) error {
191971  	var m map[string]*json.RawMessage
191972  	err := json.Unmarshal(body, &m)
191973  	if err != nil {
191974  		return err
191975  	}
191976  	for k, v := range m {
191977  		switch k {
191978  		default:
191979  			if v != nil {
191980  				var additionalProperties interface{}
191981  				err = json.Unmarshal(*v, &additionalProperties)
191982  				if err != nil {
191983  					return err
191984  				}
191985  				if ssc.AdditionalProperties == nil {
191986  					ssc.AdditionalProperties = make(map[string]interface{})
191987  				}
191988  				ssc.AdditionalProperties[k] = additionalProperties
191989  			}
191990  		case "query":
191991  			if v != nil {
191992  				var query string
191993  				err = json.Unmarshal(*v, &query)
191994  				if err != nil {
191995  					return err
191996  				}
191997  				ssc.Query = &query
191998  			}
191999  		case "currentConnection":
192000  			if v != nil {
192001  				var currentConnection SQLConnection
192002  				err = json.Unmarshal(*v, &currentConnection)
192003  				if err != nil {
192004  					return err
192005  				}
192006  				ssc.CurrentConnection = &currentConnection
192007  			}
192008  		case "metadata":
192009  			if v != nil {
192010  				var metadata SQLScriptMetadata
192011  				err = json.Unmarshal(*v, &metadata)
192012  				if err != nil {
192013  					return err
192014  				}
192015  				ssc.Metadata = &metadata
192016  			}
192017  		}
192018  	}
192019  
192020  	return nil
192021  }
192022  
192023  // SQLScriptMetadata the metadata of the SQL script.
192024  type SQLScriptMetadata struct {
192025  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
192026  	AdditionalProperties map[string]interface{} `json:""`
192027  	// Language - The language of the SQL script.
192028  	Language *string `json:"language,omitempty"`
192029  }
192030  
192031  // MarshalJSON is the custom marshaler for SQLScriptMetadata.
192032  func (ssm SQLScriptMetadata) MarshalJSON() ([]byte, error) {
192033  	objectMap := make(map[string]interface{})
192034  	if ssm.Language != nil {
192035  		objectMap["language"] = ssm.Language
192036  	}
192037  	for k, v := range ssm.AdditionalProperties {
192038  		objectMap[k] = v
192039  	}
192040  	return json.Marshal(objectMap)
192041  }
192042  
192043  // UnmarshalJSON is the custom unmarshaler for SQLScriptMetadata struct.
192044  func (ssm *SQLScriptMetadata) UnmarshalJSON(body []byte) error {
192045  	var m map[string]*json.RawMessage
192046  	err := json.Unmarshal(body, &m)
192047  	if err != nil {
192048  		return err
192049  	}
192050  	for k, v := range m {
192051  		switch k {
192052  		default:
192053  			if v != nil {
192054  				var additionalProperties interface{}
192055  				err = json.Unmarshal(*v, &additionalProperties)
192056  				if err != nil {
192057  					return err
192058  				}
192059  				if ssm.AdditionalProperties == nil {
192060  					ssm.AdditionalProperties = make(map[string]interface{})
192061  				}
192062  				ssm.AdditionalProperties[k] = additionalProperties
192063  			}
192064  		case "language":
192065  			if v != nil {
192066  				var language string
192067  				err = json.Unmarshal(*v, &language)
192068  				if err != nil {
192069  					return err
192070  				}
192071  				ssm.Language = &language
192072  			}
192073  		}
192074  	}
192075  
192076  	return nil
192077  }
192078  
192079  // SQLScriptRenameSQLScriptFuture an abstraction for monitoring and retrieving the results of a
192080  // long-running operation.
192081  type SQLScriptRenameSQLScriptFuture struct {
192082  	azure.FutureAPI
192083  	// Result returns the result of the asynchronous operation.
192084  	// If the operation has not completed it will return an error.
192085  	Result func(SQLScriptClient) (autorest.Response, error)
192086  }
192087  
192088  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
192089  func (future *SQLScriptRenameSQLScriptFuture) UnmarshalJSON(body []byte) error {
192090  	var azFuture azure.Future
192091  	if err := json.Unmarshal(body, &azFuture); err != nil {
192092  		return err
192093  	}
192094  	future.FutureAPI = &azFuture
192095  	future.Result = future.result
192096  	return nil
192097  }
192098  
192099  // result is the default implementation for SQLScriptRenameSQLScriptFuture.Result.
192100  func (future *SQLScriptRenameSQLScriptFuture) result(client SQLScriptClient) (ar autorest.Response, err error) {
192101  	var done bool
192102  	done, err = future.DoneWithContext(context.Background(), client)
192103  	if err != nil {
192104  		err = autorest.NewErrorWithError(err, "artifacts.SQLScriptRenameSQLScriptFuture", "Result", future.Response(), "Polling failure")
192105  		return
192106  	}
192107  	if !done {
192108  		ar.Response = future.Response()
192109  		err = azure.NewAsyncOpIncompleteError("artifacts.SQLScriptRenameSQLScriptFuture")
192110  		return
192111  	}
192112  	ar.Response = future.Response()
192113  	return
192114  }
192115  
192116  // SQLScriptResource sql Script resource type.
192117  type SQLScriptResource struct {
192118  	autorest.Response `json:"-"`
192119  	// ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
192120  	ID *string `json:"id,omitempty"`
192121  	// Name - The name of the resource
192122  	Name *string `json:"name,omitempty"`
192123  	// Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
192124  	Type *string `json:"type,omitempty"`
192125  	// Etag - READ-ONLY; Resource Etag.
192126  	Etag *string `json:"etag,omitempty"`
192127  	// Properties - Properties of sql script.
192128  	Properties *SQLScript `json:"properties,omitempty"`
192129  }
192130  
192131  // MarshalJSON is the custom marshaler for SQLScriptResource.
192132  func (ssr SQLScriptResource) MarshalJSON() ([]byte, error) {
192133  	objectMap := make(map[string]interface{})
192134  	if ssr.Name != nil {
192135  		objectMap["name"] = ssr.Name
192136  	}
192137  	if ssr.Properties != nil {
192138  		objectMap["properties"] = ssr.Properties
192139  	}
192140  	return json.Marshal(objectMap)
192141  }
192142  
192143  // SQLScriptsListResponse a list of sql scripts resources.
192144  type SQLScriptsListResponse struct {
192145  	autorest.Response `json:"-"`
192146  	// Value - List of sql scripts.
192147  	Value *[]SQLScriptResource `json:"value,omitempty"`
192148  	// NextLink - The link to the next page of results, if any remaining results exist.
192149  	NextLink *string `json:"nextLink,omitempty"`
192150  }
192151  
192152  // SQLScriptsListResponseIterator provides access to a complete listing of SQLScriptResource values.
192153  type SQLScriptsListResponseIterator struct {
192154  	i    int
192155  	page SQLScriptsListResponsePage
192156  }
192157  
192158  // NextWithContext advances to the next value.  If there was an error making
192159  // the request the iterator does not advance and the error is returned.
192160  func (iter *SQLScriptsListResponseIterator) NextWithContext(ctx context.Context) (err error) {
192161  	if tracing.IsEnabled() {
192162  		ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptsListResponseIterator.NextWithContext")
192163  		defer func() {
192164  			sc := -1
192165  			if iter.Response().Response.Response != nil {
192166  				sc = iter.Response().Response.Response.StatusCode
192167  			}
192168  			tracing.EndSpan(ctx, sc, err)
192169  		}()
192170  	}
192171  	iter.i++
192172  	if iter.i < len(iter.page.Values()) {
192173  		return nil
192174  	}
192175  	err = iter.page.NextWithContext(ctx)
192176  	if err != nil {
192177  		iter.i--
192178  		return err
192179  	}
192180  	iter.i = 0
192181  	return nil
192182  }
192183  
192184  // Next advances to the next value.  If there was an error making
192185  // the request the iterator does not advance and the error is returned.
192186  // Deprecated: Use NextWithContext() instead.
192187  func (iter *SQLScriptsListResponseIterator) Next() error {
192188  	return iter.NextWithContext(context.Background())
192189  }
192190  
192191  // NotDone returns true if the enumeration should be started or is not yet complete.
192192  func (iter SQLScriptsListResponseIterator) NotDone() bool {
192193  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
192194  }
192195  
192196  // Response returns the raw server response from the last page request.
192197  func (iter SQLScriptsListResponseIterator) Response() SQLScriptsListResponse {
192198  	return iter.page.Response()
192199  }
192200  
192201  // Value returns the current value or a zero-initialized value if the
192202  // iterator has advanced beyond the end of the collection.
192203  func (iter SQLScriptsListResponseIterator) Value() SQLScriptResource {
192204  	if !iter.page.NotDone() {
192205  		return SQLScriptResource{}
192206  	}
192207  	return iter.page.Values()[iter.i]
192208  }
192209  
192210  // Creates a new instance of the SQLScriptsListResponseIterator type.
192211  func NewSQLScriptsListResponseIterator(page SQLScriptsListResponsePage) SQLScriptsListResponseIterator {
192212  	return SQLScriptsListResponseIterator{page: page}
192213  }
192214  
192215  // IsEmpty returns true if the ListResult contains no values.
192216  func (sslr SQLScriptsListResponse) IsEmpty() bool {
192217  	return sslr.Value == nil || len(*sslr.Value) == 0
192218  }
192219  
192220  // hasNextLink returns true if the NextLink is not empty.
192221  func (sslr SQLScriptsListResponse) hasNextLink() bool {
192222  	return sslr.NextLink != nil && len(*sslr.NextLink) != 0
192223  }
192224  
192225  // sQLScriptsListResponsePreparer prepares a request to retrieve the next set of results.
192226  // It returns nil if no more results exist.
192227  func (sslr SQLScriptsListResponse) sQLScriptsListResponsePreparer(ctx context.Context) (*http.Request, error) {
192228  	if !sslr.hasNextLink() {
192229  		return nil, nil
192230  	}
192231  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
192232  		autorest.AsJSON(),
192233  		autorest.AsGet(),
192234  		autorest.WithBaseURL(to.String(sslr.NextLink)))
192235  }
192236  
192237  // SQLScriptsListResponsePage contains a page of SQLScriptResource values.
192238  type SQLScriptsListResponsePage struct {
192239  	fn   func(context.Context, SQLScriptsListResponse) (SQLScriptsListResponse, error)
192240  	sslr SQLScriptsListResponse
192241  }
192242  
192243  // NextWithContext advances to the next page of values.  If there was an error making
192244  // the request the page does not advance and the error is returned.
192245  func (page *SQLScriptsListResponsePage) NextWithContext(ctx context.Context) (err error) {
192246  	if tracing.IsEnabled() {
192247  		ctx = tracing.StartSpan(ctx, fqdn+"/SQLScriptsListResponsePage.NextWithContext")
192248  		defer func() {
192249  			sc := -1
192250  			if page.Response().Response.Response != nil {
192251  				sc = page.Response().Response.Response.StatusCode
192252  			}
192253  			tracing.EndSpan(ctx, sc, err)
192254  		}()
192255  	}
192256  	for {
192257  		next, err := page.fn(ctx, page.sslr)
192258  		if err != nil {
192259  			return err
192260  		}
192261  		page.sslr = next
192262  		if !next.hasNextLink() || !next.IsEmpty() {
192263  			break
192264  		}
192265  	}
192266  	return nil
192267  }
192268  
192269  // Next advances to the next page of values.  If there was an error making
192270  // the request the page does not advance and the error is returned.
192271  // Deprecated: Use NextWithContext() instead.
192272  func (page *SQLScriptsListResponsePage) Next() error {
192273  	return page.NextWithContext(context.Background())
192274  }
192275  
192276  // NotDone returns true if the page enumeration should be started or is not yet complete.
192277  func (page SQLScriptsListResponsePage) NotDone() bool {
192278  	return !page.sslr.IsEmpty()
192279  }
192280  
192281  // Response returns the raw server response from the last page request.
192282  func (page SQLScriptsListResponsePage) Response() SQLScriptsListResponse {
192283  	return page.sslr
192284  }
192285  
192286  // Values returns the slice of values for the current page or nil if there are no values.
192287  func (page SQLScriptsListResponsePage) Values() []SQLScriptResource {
192288  	if page.sslr.IsEmpty() {
192289  		return nil
192290  	}
192291  	return *page.sslr.Value
192292  }
192293  
192294  // Creates a new instance of the SQLScriptsListResponsePage type.
192295  func NewSQLScriptsListResponsePage(cur SQLScriptsListResponse, getNextPage func(context.Context, SQLScriptsListResponse) (SQLScriptsListResponse, error)) SQLScriptsListResponsePage {
192296  	return SQLScriptsListResponsePage{
192297  		fn:   getNextPage,
192298  		sslr: cur,
192299  	}
192300  }
192301  
192302  // SQLServerLinkedService SQL Server linked service.
192303  type SQLServerLinkedService struct {
192304  	// SQLServerLinkedServiceTypeProperties - SQL Server linked service properties.
192305  	*SQLServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
192306  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
192307  	AdditionalProperties map[string]interface{} `json:""`
192308  	// ConnectVia - The integration runtime reference.
192309  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
192310  	// Description - Linked service description.
192311  	Description *string `json:"description,omitempty"`
192312  	// Parameters - Parameters for linked service.
192313  	Parameters map[string]*ParameterSpecification `json:"parameters"`
192314  	// Annotations - List of tags that can be used for describing the linked service.
192315  	Annotations *[]interface{} `json:"annotations,omitempty"`
192316  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
192317  	Type TypeBasicLinkedService `json:"type,omitempty"`
192318  }
192319  
192320  // MarshalJSON is the custom marshaler for SQLServerLinkedService.
192321  func (ssls SQLServerLinkedService) MarshalJSON() ([]byte, error) {
192322  	ssls.Type = TypeSQLServer
192323  	objectMap := make(map[string]interface{})
192324  	if ssls.SQLServerLinkedServiceTypeProperties != nil {
192325  		objectMap["typeProperties"] = ssls.SQLServerLinkedServiceTypeProperties
192326  	}
192327  	if ssls.ConnectVia != nil {
192328  		objectMap["connectVia"] = ssls.ConnectVia
192329  	}
192330  	if ssls.Description != nil {
192331  		objectMap["description"] = ssls.Description
192332  	}
192333  	if ssls.Parameters != nil {
192334  		objectMap["parameters"] = ssls.Parameters
192335  	}
192336  	if ssls.Annotations != nil {
192337  		objectMap["annotations"] = ssls.Annotations
192338  	}
192339  	if ssls.Type != "" {
192340  		objectMap["type"] = ssls.Type
192341  	}
192342  	for k, v := range ssls.AdditionalProperties {
192343  		objectMap[k] = v
192344  	}
192345  	return json.Marshal(objectMap)
192346  }
192347  
192348  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192349  func (ssls SQLServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
192350  	return nil, false
192351  }
192352  
192353  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192354  func (ssls SQLServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
192355  	return nil, false
192356  }
192357  
192358  // AsSapTableLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192359  func (ssls SQLServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
192360  	return nil, false
192361  }
192362  
192363  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192364  func (ssls SQLServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
192365  	return nil, false
192366  }
192367  
192368  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192369  func (ssls SQLServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
192370  	return nil, false
192371  }
192372  
192373  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192374  func (ssls SQLServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
192375  	return nil, false
192376  }
192377  
192378  // AsResponsysLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192379  func (ssls SQLServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
192380  	return nil, false
192381  }
192382  
192383  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192384  func (ssls SQLServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
192385  	return nil, false
192386  }
192387  
192388  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192389  func (ssls SQLServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
192390  	return nil, false
192391  }
192392  
192393  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192394  func (ssls SQLServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
192395  	return nil, false
192396  }
192397  
192398  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192399  func (ssls SQLServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
192400  	return nil, false
192401  }
192402  
192403  // AsNetezzaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192404  func (ssls SQLServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
192405  	return nil, false
192406  }
192407  
192408  // AsVerticaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192409  func (ssls SQLServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
192410  	return nil, false
192411  }
192412  
192413  // AsZohoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192414  func (ssls SQLServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
192415  	return nil, false
192416  }
192417  
192418  // AsXeroLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192419  func (ssls SQLServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
192420  	return nil, false
192421  }
192422  
192423  // AsSquareLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192424  func (ssls SQLServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
192425  	return nil, false
192426  }
192427  
192428  // AsSparkLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192429  func (ssls SQLServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
192430  	return nil, false
192431  }
192432  
192433  // AsShopifyLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192434  func (ssls SQLServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
192435  	return nil, false
192436  }
192437  
192438  // AsServiceNowLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192439  func (ssls SQLServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
192440  	return nil, false
192441  }
192442  
192443  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192444  func (ssls SQLServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
192445  	return nil, false
192446  }
192447  
192448  // AsPrestoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192449  func (ssls SQLServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
192450  	return nil, false
192451  }
192452  
192453  // AsPhoenixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192454  func (ssls SQLServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
192455  	return nil, false
192456  }
192457  
192458  // AsPaypalLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192459  func (ssls SQLServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
192460  	return nil, false
192461  }
192462  
192463  // AsMarketoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192464  func (ssls SQLServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
192465  	return nil, false
192466  }
192467  
192468  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192469  func (ssls SQLServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
192470  	return nil, false
192471  }
192472  
192473  // AsMariaDBLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192474  func (ssls SQLServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
192475  	return nil, false
192476  }
192477  
192478  // AsMagentoLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192479  func (ssls SQLServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
192480  	return nil, false
192481  }
192482  
192483  // AsJiraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192484  func (ssls SQLServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
192485  	return nil, false
192486  }
192487  
192488  // AsImpalaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192489  func (ssls SQLServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
192490  	return nil, false
192491  }
192492  
192493  // AsHubspotLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192494  func (ssls SQLServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
192495  	return nil, false
192496  }
192497  
192498  // AsHiveLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192499  func (ssls SQLServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
192500  	return nil, false
192501  }
192502  
192503  // AsHBaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192504  func (ssls SQLServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
192505  	return nil, false
192506  }
192507  
192508  // AsGreenplumLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192509  func (ssls SQLServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
192510  	return nil, false
192511  }
192512  
192513  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192514  func (ssls SQLServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
192515  	return nil, false
192516  }
192517  
192518  // AsEloquaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192519  func (ssls SQLServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
192520  	return nil, false
192521  }
192522  
192523  // AsDrillLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192524  func (ssls SQLServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
192525  	return nil, false
192526  }
192527  
192528  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192529  func (ssls SQLServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
192530  	return nil, false
192531  }
192532  
192533  // AsConcurLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192534  func (ssls SQLServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
192535  	return nil, false
192536  }
192537  
192538  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192539  func (ssls SQLServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
192540  	return nil, false
192541  }
192542  
192543  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192544  func (ssls SQLServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
192545  	return nil, false
192546  }
192547  
192548  // AsSapHanaLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192549  func (ssls SQLServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
192550  	return nil, false
192551  }
192552  
192553  // AsSapBWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192554  func (ssls SQLServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
192555  	return nil, false
192556  }
192557  
192558  // AsSftpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192559  func (ssls SQLServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
192560  	return nil, false
192561  }
192562  
192563  // AsFtpServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192564  func (ssls SQLServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
192565  	return nil, false
192566  }
192567  
192568  // AsHTTPLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192569  func (ssls SQLServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
192570  	return nil, false
192571  }
192572  
192573  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192574  func (ssls SQLServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
192575  	return nil, false
192576  }
192577  
192578  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192579  func (ssls SQLServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
192580  	return nil, false
192581  }
192582  
192583  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192584  func (ssls SQLServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
192585  	return nil, false
192586  }
192587  
192588  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192589  func (ssls SQLServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
192590  	return nil, false
192591  }
192592  
192593  // AsRestServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192594  func (ssls SQLServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
192595  	return nil, false
192596  }
192597  
192598  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192599  func (ssls SQLServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
192600  	return nil, false
192601  }
192602  
192603  // AsSapEccLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192604  func (ssls SQLServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
192605  	return nil, false
192606  }
192607  
192608  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192609  func (ssls SQLServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
192610  	return nil, false
192611  }
192612  
192613  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192614  func (ssls SQLServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
192615  	return nil, false
192616  }
192617  
192618  // AsSalesforceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192619  func (ssls SQLServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
192620  	return nil, false
192621  }
192622  
192623  // AsOffice365LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192624  func (ssls SQLServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
192625  	return nil, false
192626  }
192627  
192628  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192629  func (ssls SQLServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
192630  	return nil, false
192631  }
192632  
192633  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192634  func (ssls SQLServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
192635  	return nil, false
192636  }
192637  
192638  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192639  func (ssls SQLServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
192640  	return nil, false
192641  }
192642  
192643  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192644  func (ssls SQLServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
192645  	return nil, false
192646  }
192647  
192648  // AsMongoDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192649  func (ssls SQLServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
192650  	return nil, false
192651  }
192652  
192653  // AsCassandraLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192654  func (ssls SQLServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
192655  	return nil, false
192656  }
192657  
192658  // AsWebLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192659  func (ssls SQLServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
192660  	return nil, false
192661  }
192662  
192663  // AsODataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192664  func (ssls SQLServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
192665  	return nil, false
192666  }
192667  
192668  // AsHdfsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192669  func (ssls SQLServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
192670  	return nil, false
192671  }
192672  
192673  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192674  func (ssls SQLServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
192675  	return nil, false
192676  }
192677  
192678  // AsInformixLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192679  func (ssls SQLServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
192680  	return nil, false
192681  }
192682  
192683  // AsOdbcLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192684  func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
192685  	return nil, false
192686  }
192687  
192688  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192689  func (ssls SQLServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
192690  	return nil, false
192691  }
192692  
192693  // AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192694  func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
192695  	return nil, false
192696  }
192697  
192698  // AsTeradataLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192699  func (ssls SQLServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
192700  	return nil, false
192701  }
192702  
192703  // AsDb2LinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192704  func (ssls SQLServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
192705  	return nil, false
192706  }
192707  
192708  // AsSybaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192709  func (ssls SQLServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
192710  	return nil, false
192711  }
192712  
192713  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192714  func (ssls SQLServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
192715  	return nil, false
192716  }
192717  
192718  // AsMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192719  func (ssls SQLServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
192720  	return nil, false
192721  }
192722  
192723  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192724  func (ssls SQLServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
192725  	return nil, false
192726  }
192727  
192728  // AsOracleLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192729  func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
192730  	return nil, false
192731  }
192732  
192733  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192734  func (ssls SQLServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
192735  	return nil, false
192736  }
192737  
192738  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192739  func (ssls SQLServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
192740  	return nil, false
192741  }
192742  
192743  // AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192744  func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
192745  	return nil, false
192746  }
192747  
192748  // AsHDInsightLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192749  func (ssls SQLServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
192750  	return nil, false
192751  }
192752  
192753  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192754  func (ssls SQLServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
192755  	return nil, false
192756  }
192757  
192758  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192759  func (ssls SQLServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
192760  	return nil, false
192761  }
192762  
192763  // AsDynamicsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192764  func (ssls SQLServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
192765  	return nil, false
192766  }
192767  
192768  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192769  func (ssls SQLServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
192770  	return nil, false
192771  }
192772  
192773  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192774  func (ssls SQLServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
192775  	return nil, false
192776  }
192777  
192778  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192779  func (ssls SQLServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
192780  	return nil, false
192781  }
192782  
192783  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192784  func (ssls SQLServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
192785  	return nil, false
192786  }
192787  
192788  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192789  func (ssls SQLServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
192790  	return nil, false
192791  }
192792  
192793  // AsSQLServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192794  func (ssls SQLServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
192795  	return &ssls, true
192796  }
192797  
192798  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192799  func (ssls SQLServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
192800  	return nil, false
192801  }
192802  
192803  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192804  func (ssls SQLServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
192805  	return nil, false
192806  }
192807  
192808  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192809  func (ssls SQLServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
192810  	return nil, false
192811  }
192812  
192813  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192814  func (ssls SQLServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
192815  	return nil, false
192816  }
192817  
192818  // AsLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192819  func (ssls SQLServerLinkedService) AsLinkedService() (*LinkedService, bool) {
192820  	return nil, false
192821  }
192822  
192823  // AsBasicLinkedService is the BasicLinkedService implementation for SQLServerLinkedService.
192824  func (ssls SQLServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
192825  	return &ssls, true
192826  }
192827  
192828  // UnmarshalJSON is the custom unmarshaler for SQLServerLinkedService struct.
192829  func (ssls *SQLServerLinkedService) UnmarshalJSON(body []byte) error {
192830  	var m map[string]*json.RawMessage
192831  	err := json.Unmarshal(body, &m)
192832  	if err != nil {
192833  		return err
192834  	}
192835  	for k, v := range m {
192836  		switch k {
192837  		case "typeProperties":
192838  			if v != nil {
192839  				var SQLServerLinkedServiceTypeProperties SQLServerLinkedServiceTypeProperties
192840  				err = json.Unmarshal(*v, &SQLServerLinkedServiceTypeProperties)
192841  				if err != nil {
192842  					return err
192843  				}
192844  				ssls.SQLServerLinkedServiceTypeProperties = &SQLServerLinkedServiceTypeProperties
192845  			}
192846  		default:
192847  			if v != nil {
192848  				var additionalProperties interface{}
192849  				err = json.Unmarshal(*v, &additionalProperties)
192850  				if err != nil {
192851  					return err
192852  				}
192853  				if ssls.AdditionalProperties == nil {
192854  					ssls.AdditionalProperties = make(map[string]interface{})
192855  				}
192856  				ssls.AdditionalProperties[k] = additionalProperties
192857  			}
192858  		case "connectVia":
192859  			if v != nil {
192860  				var connectVia IntegrationRuntimeReference
192861  				err = json.Unmarshal(*v, &connectVia)
192862  				if err != nil {
192863  					return err
192864  				}
192865  				ssls.ConnectVia = &connectVia
192866  			}
192867  		case "description":
192868  			if v != nil {
192869  				var description string
192870  				err = json.Unmarshal(*v, &description)
192871  				if err != nil {
192872  					return err
192873  				}
192874  				ssls.Description = &description
192875  			}
192876  		case "parameters":
192877  			if v != nil {
192878  				var parameters map[string]*ParameterSpecification
192879  				err = json.Unmarshal(*v, &parameters)
192880  				if err != nil {
192881  					return err
192882  				}
192883  				ssls.Parameters = parameters
192884  			}
192885  		case "annotations":
192886  			if v != nil {
192887  				var annotations []interface{}
192888  				err = json.Unmarshal(*v, &annotations)
192889  				if err != nil {
192890  					return err
192891  				}
192892  				ssls.Annotations = &annotations
192893  			}
192894  		case "type":
192895  			if v != nil {
192896  				var typeVar TypeBasicLinkedService
192897  				err = json.Unmarshal(*v, &typeVar)
192898  				if err != nil {
192899  					return err
192900  				}
192901  				ssls.Type = typeVar
192902  			}
192903  		}
192904  	}
192905  
192906  	return nil
192907  }
192908  
192909  // SQLServerLinkedServiceTypeProperties SQL Server linked service properties.
192910  type SQLServerLinkedServiceTypeProperties struct {
192911  	// ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
192912  	ConnectionString interface{} `json:"connectionString,omitempty"`
192913  	// UserName - The on-premises Windows authentication user name. Type: string (or Expression with resultType string).
192914  	UserName interface{} `json:"userName,omitempty"`
192915  	// Password - The on-premises Windows authentication password.
192916  	Password BasicSecretBase `json:"password,omitempty"`
192917  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
192918  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
192919  }
192920  
192921  // UnmarshalJSON is the custom unmarshaler for SQLServerLinkedServiceTypeProperties struct.
192922  func (sslstp *SQLServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
192923  	var m map[string]*json.RawMessage
192924  	err := json.Unmarshal(body, &m)
192925  	if err != nil {
192926  		return err
192927  	}
192928  	for k, v := range m {
192929  		switch k {
192930  		case "connectionString":
192931  			if v != nil {
192932  				var connectionString interface{}
192933  				err = json.Unmarshal(*v, &connectionString)
192934  				if err != nil {
192935  					return err
192936  				}
192937  				sslstp.ConnectionString = connectionString
192938  			}
192939  		case "userName":
192940  			if v != nil {
192941  				var userName interface{}
192942  				err = json.Unmarshal(*v, &userName)
192943  				if err != nil {
192944  					return err
192945  				}
192946  				sslstp.UserName = userName
192947  			}
192948  		case "password":
192949  			if v != nil {
192950  				password, err := unmarshalBasicSecretBase(*v)
192951  				if err != nil {
192952  					return err
192953  				}
192954  				sslstp.Password = password
192955  			}
192956  		case "encryptedCredential":
192957  			if v != nil {
192958  				var encryptedCredential interface{}
192959  				err = json.Unmarshal(*v, &encryptedCredential)
192960  				if err != nil {
192961  					return err
192962  				}
192963  				sslstp.EncryptedCredential = encryptedCredential
192964  			}
192965  		}
192966  	}
192967  
192968  	return nil
192969  }
192970  
192971  // SQLServerSink a copy activity SQL server sink.
192972  type SQLServerSink struct {
192973  	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
192974  	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
192975  	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
192976  	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
192977  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
192978  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
192979  	// StoredProcedureParameters - SQL stored procedure parameters.
192980  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
192981  	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
192982  	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
192983  	// TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string).
192984  	TableOption interface{} `json:"tableOption,omitempty"`
192985  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
192986  	AdditionalProperties map[string]interface{} `json:""`
192987  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
192988  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
192989  	// 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])).
192990  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
192991  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
192992  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
192993  	// 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])).
192994  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
192995  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
192996  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
192997  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
192998  	Type TypeBasicCopySink `json:"type,omitempty"`
192999  }
193000  
193001  // MarshalJSON is the custom marshaler for SQLServerSink.
193002  func (sss SQLServerSink) MarshalJSON() ([]byte, error) {
193003  	sss.Type = TypeSQLServerSink
193004  	objectMap := make(map[string]interface{})
193005  	if sss.SQLWriterStoredProcedureName != nil {
193006  		objectMap["sqlWriterStoredProcedureName"] = sss.SQLWriterStoredProcedureName
193007  	}
193008  	if sss.SQLWriterTableType != nil {
193009  		objectMap["sqlWriterTableType"] = sss.SQLWriterTableType
193010  	}
193011  	if sss.PreCopyScript != nil {
193012  		objectMap["preCopyScript"] = sss.PreCopyScript
193013  	}
193014  	if sss.StoredProcedureParameters != nil {
193015  		objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters
193016  	}
193017  	if sss.StoredProcedureTableTypeParameterName != nil {
193018  		objectMap["storedProcedureTableTypeParameterName"] = sss.StoredProcedureTableTypeParameterName
193019  	}
193020  	if sss.TableOption != nil {
193021  		objectMap["tableOption"] = sss.TableOption
193022  	}
193023  	if sss.WriteBatchSize != nil {
193024  		objectMap["writeBatchSize"] = sss.WriteBatchSize
193025  	}
193026  	if sss.WriteBatchTimeout != nil {
193027  		objectMap["writeBatchTimeout"] = sss.WriteBatchTimeout
193028  	}
193029  	if sss.SinkRetryCount != nil {
193030  		objectMap["sinkRetryCount"] = sss.SinkRetryCount
193031  	}
193032  	if sss.SinkRetryWait != nil {
193033  		objectMap["sinkRetryWait"] = sss.SinkRetryWait
193034  	}
193035  	if sss.MaxConcurrentConnections != nil {
193036  		objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections
193037  	}
193038  	if sss.Type != "" {
193039  		objectMap["type"] = sss.Type
193040  	}
193041  	for k, v := range sss.AdditionalProperties {
193042  		objectMap[k] = v
193043  	}
193044  	return json.Marshal(objectMap)
193045  }
193046  
193047  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLServerSink.
193048  func (sss SQLServerSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
193049  	return nil, false
193050  }
193051  
193052  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLServerSink.
193053  func (sss SQLServerSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
193054  	return nil, false
193055  }
193056  
193057  // AsSalesforceSink is the BasicCopySink implementation for SQLServerSink.
193058  func (sss SQLServerSink) AsSalesforceSink() (*SalesforceSink, bool) {
193059  	return nil, false
193060  }
193061  
193062  // AsAzureDataExplorerSink is the BasicCopySink implementation for SQLServerSink.
193063  func (sss SQLServerSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
193064  	return nil, false
193065  }
193066  
193067  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLServerSink.
193068  func (sss SQLServerSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
193069  	return nil, false
193070  }
193071  
193072  // AsDynamicsCrmSink is the BasicCopySink implementation for SQLServerSink.
193073  func (sss SQLServerSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
193074  	return nil, false
193075  }
193076  
193077  // AsDynamicsSink is the BasicCopySink implementation for SQLServerSink.
193078  func (sss SQLServerSink) AsDynamicsSink() (*DynamicsSink, bool) {
193079  	return nil, false
193080  }
193081  
193082  // AsMicrosoftAccessSink is the BasicCopySink implementation for SQLServerSink.
193083  func (sss SQLServerSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
193084  	return nil, false
193085  }
193086  
193087  // AsInformixSink is the BasicCopySink implementation for SQLServerSink.
193088  func (sss SQLServerSink) AsInformixSink() (*InformixSink, bool) {
193089  	return nil, false
193090  }
193091  
193092  // AsOdbcSink is the BasicCopySink implementation for SQLServerSink.
193093  func (sss SQLServerSink) AsOdbcSink() (*OdbcSink, bool) {
193094  	return nil, false
193095  }
193096  
193097  // AsAzureSearchIndexSink is the BasicCopySink implementation for SQLServerSink.
193098  func (sss SQLServerSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
193099  	return nil, false
193100  }
193101  
193102  // AsAzureBlobFSSink is the BasicCopySink implementation for SQLServerSink.
193103  func (sss SQLServerSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
193104  	return nil, false
193105  }
193106  
193107  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLServerSink.
193108  func (sss SQLServerSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
193109  	return nil, false
193110  }
193111  
193112  // AsOracleSink is the BasicCopySink implementation for SQLServerSink.
193113  func (sss SQLServerSink) AsOracleSink() (*OracleSink, bool) {
193114  	return nil, false
193115  }
193116  
193117  // AsSQLDWSink is the BasicCopySink implementation for SQLServerSink.
193118  func (sss SQLServerSink) AsSQLDWSink() (*SQLDWSink, bool) {
193119  	return nil, false
193120  }
193121  
193122  // AsSQLMISink is the BasicCopySink implementation for SQLServerSink.
193123  func (sss SQLServerSink) AsSQLMISink() (*SQLMISink, bool) {
193124  	return nil, false
193125  }
193126  
193127  // AsAzureSQLSink is the BasicCopySink implementation for SQLServerSink.
193128  func (sss SQLServerSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
193129  	return nil, false
193130  }
193131  
193132  // AsSQLServerSink is the BasicCopySink implementation for SQLServerSink.
193133  func (sss SQLServerSink) AsSQLServerSink() (*SQLServerSink, bool) {
193134  	return &sss, true
193135  }
193136  
193137  // AsSQLSink is the BasicCopySink implementation for SQLServerSink.
193138  func (sss SQLServerSink) AsSQLSink() (*SQLSink, bool) {
193139  	return nil, false
193140  }
193141  
193142  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLServerSink.
193143  func (sss SQLServerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
193144  	return nil, false
193145  }
193146  
193147  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLServerSink.
193148  func (sss SQLServerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
193149  	return nil, false
193150  }
193151  
193152  // AsFileSystemSink is the BasicCopySink implementation for SQLServerSink.
193153  func (sss SQLServerSink) AsFileSystemSink() (*FileSystemSink, bool) {
193154  	return nil, false
193155  }
193156  
193157  // AsBlobSink is the BasicCopySink implementation for SQLServerSink.
193158  func (sss SQLServerSink) AsBlobSink() (*BlobSink, bool) {
193159  	return nil, false
193160  }
193161  
193162  // AsBinarySink is the BasicCopySink implementation for SQLServerSink.
193163  func (sss SQLServerSink) AsBinarySink() (*BinarySink, bool) {
193164  	return nil, false
193165  }
193166  
193167  // AsParquetSink is the BasicCopySink implementation for SQLServerSink.
193168  func (sss SQLServerSink) AsParquetSink() (*ParquetSink, bool) {
193169  	return nil, false
193170  }
193171  
193172  // AsAvroSink is the BasicCopySink implementation for SQLServerSink.
193173  func (sss SQLServerSink) AsAvroSink() (*AvroSink, bool) {
193174  	return nil, false
193175  }
193176  
193177  // AsAzureTableSink is the BasicCopySink implementation for SQLServerSink.
193178  func (sss SQLServerSink) AsAzureTableSink() (*AzureTableSink, bool) {
193179  	return nil, false
193180  }
193181  
193182  // AsAzureQueueSink is the BasicCopySink implementation for SQLServerSink.
193183  func (sss SQLServerSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
193184  	return nil, false
193185  }
193186  
193187  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLServerSink.
193188  func (sss SQLServerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
193189  	return nil, false
193190  }
193191  
193192  // AsAzureMySQLSink is the BasicCopySink implementation for SQLServerSink.
193193  func (sss SQLServerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
193194  	return nil, false
193195  }
193196  
193197  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLServerSink.
193198  func (sss SQLServerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
193199  	return nil, false
193200  }
193201  
193202  // AsOrcSink is the BasicCopySink implementation for SQLServerSink.
193203  func (sss SQLServerSink) AsOrcSink() (*OrcSink, bool) {
193204  	return nil, false
193205  }
193206  
193207  // AsJSONSink is the BasicCopySink implementation for SQLServerSink.
193208  func (sss SQLServerSink) AsJSONSink() (*JSONSink, bool) {
193209  	return nil, false
193210  }
193211  
193212  // AsDelimitedTextSink is the BasicCopySink implementation for SQLServerSink.
193213  func (sss SQLServerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
193214  	return nil, false
193215  }
193216  
193217  // AsCopySink is the BasicCopySink implementation for SQLServerSink.
193218  func (sss SQLServerSink) AsCopySink() (*CopySink, bool) {
193219  	return nil, false
193220  }
193221  
193222  // AsBasicCopySink is the BasicCopySink implementation for SQLServerSink.
193223  func (sss SQLServerSink) AsBasicCopySink() (BasicCopySink, bool) {
193224  	return &sss, true
193225  }
193226  
193227  // UnmarshalJSON is the custom unmarshaler for SQLServerSink struct.
193228  func (sss *SQLServerSink) UnmarshalJSON(body []byte) error {
193229  	var m map[string]*json.RawMessage
193230  	err := json.Unmarshal(body, &m)
193231  	if err != nil {
193232  		return err
193233  	}
193234  	for k, v := range m {
193235  		switch k {
193236  		case "sqlWriterStoredProcedureName":
193237  			if v != nil {
193238  				var SQLWriterStoredProcedureName interface{}
193239  				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
193240  				if err != nil {
193241  					return err
193242  				}
193243  				sss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
193244  			}
193245  		case "sqlWriterTableType":
193246  			if v != nil {
193247  				var SQLWriterTableType interface{}
193248  				err = json.Unmarshal(*v, &SQLWriterTableType)
193249  				if err != nil {
193250  					return err
193251  				}
193252  				sss.SQLWriterTableType = SQLWriterTableType
193253  			}
193254  		case "preCopyScript":
193255  			if v != nil {
193256  				var preCopyScript interface{}
193257  				err = json.Unmarshal(*v, &preCopyScript)
193258  				if err != nil {
193259  					return err
193260  				}
193261  				sss.PreCopyScript = preCopyScript
193262  			}
193263  		case "storedProcedureParameters":
193264  			if v != nil {
193265  				var storedProcedureParameters map[string]*StoredProcedureParameter
193266  				err = json.Unmarshal(*v, &storedProcedureParameters)
193267  				if err != nil {
193268  					return err
193269  				}
193270  				sss.StoredProcedureParameters = storedProcedureParameters
193271  			}
193272  		case "storedProcedureTableTypeParameterName":
193273  			if v != nil {
193274  				var storedProcedureTableTypeParameterName interface{}
193275  				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
193276  				if err != nil {
193277  					return err
193278  				}
193279  				sss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
193280  			}
193281  		case "tableOption":
193282  			if v != nil {
193283  				var tableOption interface{}
193284  				err = json.Unmarshal(*v, &tableOption)
193285  				if err != nil {
193286  					return err
193287  				}
193288  				sss.TableOption = tableOption
193289  			}
193290  		default:
193291  			if v != nil {
193292  				var additionalProperties interface{}
193293  				err = json.Unmarshal(*v, &additionalProperties)
193294  				if err != nil {
193295  					return err
193296  				}
193297  				if sss.AdditionalProperties == nil {
193298  					sss.AdditionalProperties = make(map[string]interface{})
193299  				}
193300  				sss.AdditionalProperties[k] = additionalProperties
193301  			}
193302  		case "writeBatchSize":
193303  			if v != nil {
193304  				var writeBatchSize interface{}
193305  				err = json.Unmarshal(*v, &writeBatchSize)
193306  				if err != nil {
193307  					return err
193308  				}
193309  				sss.WriteBatchSize = writeBatchSize
193310  			}
193311  		case "writeBatchTimeout":
193312  			if v != nil {
193313  				var writeBatchTimeout interface{}
193314  				err = json.Unmarshal(*v, &writeBatchTimeout)
193315  				if err != nil {
193316  					return err
193317  				}
193318  				sss.WriteBatchTimeout = writeBatchTimeout
193319  			}
193320  		case "sinkRetryCount":
193321  			if v != nil {
193322  				var sinkRetryCount interface{}
193323  				err = json.Unmarshal(*v, &sinkRetryCount)
193324  				if err != nil {
193325  					return err
193326  				}
193327  				sss.SinkRetryCount = sinkRetryCount
193328  			}
193329  		case "sinkRetryWait":
193330  			if v != nil {
193331  				var sinkRetryWait interface{}
193332  				err = json.Unmarshal(*v, &sinkRetryWait)
193333  				if err != nil {
193334  					return err
193335  				}
193336  				sss.SinkRetryWait = sinkRetryWait
193337  			}
193338  		case "maxConcurrentConnections":
193339  			if v != nil {
193340  				var maxConcurrentConnections interface{}
193341  				err = json.Unmarshal(*v, &maxConcurrentConnections)
193342  				if err != nil {
193343  					return err
193344  				}
193345  				sss.MaxConcurrentConnections = maxConcurrentConnections
193346  			}
193347  		case "type":
193348  			if v != nil {
193349  				var typeVar TypeBasicCopySink
193350  				err = json.Unmarshal(*v, &typeVar)
193351  				if err != nil {
193352  					return err
193353  				}
193354  				sss.Type = typeVar
193355  			}
193356  		}
193357  	}
193358  
193359  	return nil
193360  }
193361  
193362  // SQLServerSource a copy activity SQL server source.
193363  type SQLServerSource struct {
193364  	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
193365  	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
193366  	// 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).
193367  	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
193368  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
193369  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
193370  	// ProduceAdditionalTypes - Which additional types to produce.
193371  	ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"`
193372  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
193373  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
193374  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
193375  	AdditionalProperties map[string]interface{} `json:""`
193376  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
193377  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
193378  	// 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])).
193379  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
193380  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
193381  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
193382  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
193383  	Type TypeBasicCopySource `json:"type,omitempty"`
193384  }
193385  
193386  // MarshalJSON is the custom marshaler for SQLServerSource.
193387  func (sss SQLServerSource) MarshalJSON() ([]byte, error) {
193388  	sss.Type = TypeSQLServerSource
193389  	objectMap := make(map[string]interface{})
193390  	if sss.SQLReaderQuery != nil {
193391  		objectMap["sqlReaderQuery"] = sss.SQLReaderQuery
193392  	}
193393  	if sss.SQLReaderStoredProcedureName != nil {
193394  		objectMap["sqlReaderStoredProcedureName"] = sss.SQLReaderStoredProcedureName
193395  	}
193396  	if sss.StoredProcedureParameters != nil {
193397  		objectMap["storedProcedureParameters"] = sss.StoredProcedureParameters
193398  	}
193399  	if sss.ProduceAdditionalTypes != nil {
193400  		objectMap["produceAdditionalTypes"] = sss.ProduceAdditionalTypes
193401  	}
193402  	if sss.QueryTimeout != nil {
193403  		objectMap["queryTimeout"] = sss.QueryTimeout
193404  	}
193405  	if sss.SourceRetryCount != nil {
193406  		objectMap["sourceRetryCount"] = sss.SourceRetryCount
193407  	}
193408  	if sss.SourceRetryWait != nil {
193409  		objectMap["sourceRetryWait"] = sss.SourceRetryWait
193410  	}
193411  	if sss.MaxConcurrentConnections != nil {
193412  		objectMap["maxConcurrentConnections"] = sss.MaxConcurrentConnections
193413  	}
193414  	if sss.Type != "" {
193415  		objectMap["type"] = sss.Type
193416  	}
193417  	for k, v := range sss.AdditionalProperties {
193418  		objectMap[k] = v
193419  	}
193420  	return json.Marshal(objectMap)
193421  }
193422  
193423  // AsHTTPSource is the BasicCopySource implementation for SQLServerSource.
193424  func (sss SQLServerSource) AsHTTPSource() (*HTTPSource, bool) {
193425  	return nil, false
193426  }
193427  
193428  // AsAzureBlobFSSource is the BasicCopySource implementation for SQLServerSource.
193429  func (sss SQLServerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
193430  	return nil, false
193431  }
193432  
193433  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLServerSource.
193434  func (sss SQLServerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
193435  	return nil, false
193436  }
193437  
193438  // AsOffice365Source is the BasicCopySource implementation for SQLServerSource.
193439  func (sss SQLServerSource) AsOffice365Source() (*Office365Source, bool) {
193440  	return nil, false
193441  }
193442  
193443  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLServerSource.
193444  func (sss SQLServerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
193445  	return nil, false
193446  }
193447  
193448  // AsMongoDbV2Source is the BasicCopySource implementation for SQLServerSource.
193449  func (sss SQLServerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
193450  	return nil, false
193451  }
193452  
193453  // AsMongoDbSource is the BasicCopySource implementation for SQLServerSource.
193454  func (sss SQLServerSource) AsMongoDbSource() (*MongoDbSource, bool) {
193455  	return nil, false
193456  }
193457  
193458  // AsWebSource is the BasicCopySource implementation for SQLServerSource.
193459  func (sss SQLServerSource) AsWebSource() (*WebSource, bool) {
193460  	return nil, false
193461  }
193462  
193463  // AsOracleSource is the BasicCopySource implementation for SQLServerSource.
193464  func (sss SQLServerSource) AsOracleSource() (*OracleSource, bool) {
193465  	return nil, false
193466  }
193467  
193468  // AsAzureDataExplorerSource is the BasicCopySource implementation for SQLServerSource.
193469  func (sss SQLServerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
193470  	return nil, false
193471  }
193472  
193473  // AsHdfsSource is the BasicCopySource implementation for SQLServerSource.
193474  func (sss SQLServerSource) AsHdfsSource() (*HdfsSource, bool) {
193475  	return nil, false
193476  }
193477  
193478  // AsFileSystemSource is the BasicCopySource implementation for SQLServerSource.
193479  func (sss SQLServerSource) AsFileSystemSource() (*FileSystemSource, bool) {
193480  	return nil, false
193481  }
193482  
193483  // AsRestSource is the BasicCopySource implementation for SQLServerSource.
193484  func (sss SQLServerSource) AsRestSource() (*RestSource, bool) {
193485  	return nil, false
193486  }
193487  
193488  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLServerSource.
193489  func (sss SQLServerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
193490  	return nil, false
193491  }
193492  
193493  // AsODataSource is the BasicCopySource implementation for SQLServerSource.
193494  func (sss SQLServerSource) AsODataSource() (*ODataSource, bool) {
193495  	return nil, false
193496  }
193497  
193498  // AsMicrosoftAccessSource is the BasicCopySource implementation for SQLServerSource.
193499  func (sss SQLServerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
193500  	return nil, false
193501  }
193502  
193503  // AsRelationalSource is the BasicCopySource implementation for SQLServerSource.
193504  func (sss SQLServerSource) AsRelationalSource() (*RelationalSource, bool) {
193505  	return nil, false
193506  }
193507  
193508  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLServerSource.
193509  func (sss SQLServerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
193510  	return nil, false
193511  }
193512  
193513  // AsDynamicsCrmSource is the BasicCopySource implementation for SQLServerSource.
193514  func (sss SQLServerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
193515  	return nil, false
193516  }
193517  
193518  // AsDynamicsSource is the BasicCopySource implementation for SQLServerSource.
193519  func (sss SQLServerSource) AsDynamicsSource() (*DynamicsSource, bool) {
193520  	return nil, false
193521  }
193522  
193523  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLServerSource.
193524  func (sss SQLServerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
193525  	return nil, false
193526  }
193527  
193528  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLServerSource.
193529  func (sss SQLServerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
193530  	return nil, false
193531  }
193532  
193533  // AsBlobSource is the BasicCopySource implementation for SQLServerSource.
193534  func (sss SQLServerSource) AsBlobSource() (*BlobSource, bool) {
193535  	return nil, false
193536  }
193537  
193538  // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLServerSource.
193539  func (sss SQLServerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
193540  	return nil, false
193541  }
193542  
193543  // AsGoogleAdWordsSource is the BasicCopySource implementation for SQLServerSource.
193544  func (sss SQLServerSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
193545  	return nil, false
193546  }
193547  
193548  // AsOracleServiceCloudSource is the BasicCopySource implementation for SQLServerSource.
193549  func (sss SQLServerSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
193550  	return nil, false
193551  }
193552  
193553  // AsDynamicsAXSource is the BasicCopySource implementation for SQLServerSource.
193554  func (sss SQLServerSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
193555  	return nil, false
193556  }
193557  
193558  // AsResponsysSource is the BasicCopySource implementation for SQLServerSource.
193559  func (sss SQLServerSource) AsResponsysSource() (*ResponsysSource, bool) {
193560  	return nil, false
193561  }
193562  
193563  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLServerSource.
193564  func (sss SQLServerSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
193565  	return nil, false
193566  }
193567  
193568  // AsVerticaSource is the BasicCopySource implementation for SQLServerSource.
193569  func (sss SQLServerSource) AsVerticaSource() (*VerticaSource, bool) {
193570  	return nil, false
193571  }
193572  
193573  // AsNetezzaSource is the BasicCopySource implementation for SQLServerSource.
193574  func (sss SQLServerSource) AsNetezzaSource() (*NetezzaSource, bool) {
193575  	return nil, false
193576  }
193577  
193578  // AsZohoSource is the BasicCopySource implementation for SQLServerSource.
193579  func (sss SQLServerSource) AsZohoSource() (*ZohoSource, bool) {
193580  	return nil, false
193581  }
193582  
193583  // AsXeroSource is the BasicCopySource implementation for SQLServerSource.
193584  func (sss SQLServerSource) AsXeroSource() (*XeroSource, bool) {
193585  	return nil, false
193586  }
193587  
193588  // AsSquareSource is the BasicCopySource implementation for SQLServerSource.
193589  func (sss SQLServerSource) AsSquareSource() (*SquareSource, bool) {
193590  	return nil, false
193591  }
193592  
193593  // AsSparkSource is the BasicCopySource implementation for SQLServerSource.
193594  func (sss SQLServerSource) AsSparkSource() (*SparkSource, bool) {
193595  	return nil, false
193596  }
193597  
193598  // AsShopifySource is the BasicCopySource implementation for SQLServerSource.
193599  func (sss SQLServerSource) AsShopifySource() (*ShopifySource, bool) {
193600  	return nil, false
193601  }
193602  
193603  // AsServiceNowSource is the BasicCopySource implementation for SQLServerSource.
193604  func (sss SQLServerSource) AsServiceNowSource() (*ServiceNowSource, bool) {
193605  	return nil, false
193606  }
193607  
193608  // AsQuickBooksSource is the BasicCopySource implementation for SQLServerSource.
193609  func (sss SQLServerSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
193610  	return nil, false
193611  }
193612  
193613  // AsPrestoSource is the BasicCopySource implementation for SQLServerSource.
193614  func (sss SQLServerSource) AsPrestoSource() (*PrestoSource, bool) {
193615  	return nil, false
193616  }
193617  
193618  // AsPhoenixSource is the BasicCopySource implementation for SQLServerSource.
193619  func (sss SQLServerSource) AsPhoenixSource() (*PhoenixSource, bool) {
193620  	return nil, false
193621  }
193622  
193623  // AsPaypalSource is the BasicCopySource implementation for SQLServerSource.
193624  func (sss SQLServerSource) AsPaypalSource() (*PaypalSource, bool) {
193625  	return nil, false
193626  }
193627  
193628  // AsMarketoSource is the BasicCopySource implementation for SQLServerSource.
193629  func (sss SQLServerSource) AsMarketoSource() (*MarketoSource, bool) {
193630  	return nil, false
193631  }
193632  
193633  // AsAzureMariaDBSource is the BasicCopySource implementation for SQLServerSource.
193634  func (sss SQLServerSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
193635  	return nil, false
193636  }
193637  
193638  // AsMariaDBSource is the BasicCopySource implementation for SQLServerSource.
193639  func (sss SQLServerSource) AsMariaDBSource() (*MariaDBSource, bool) {
193640  	return nil, false
193641  }
193642  
193643  // AsMagentoSource is the BasicCopySource implementation for SQLServerSource.
193644  func (sss SQLServerSource) AsMagentoSource() (*MagentoSource, bool) {
193645  	return nil, false
193646  }
193647  
193648  // AsJiraSource is the BasicCopySource implementation for SQLServerSource.
193649  func (sss SQLServerSource) AsJiraSource() (*JiraSource, bool) {
193650  	return nil, false
193651  }
193652  
193653  // AsImpalaSource is the BasicCopySource implementation for SQLServerSource.
193654  func (sss SQLServerSource) AsImpalaSource() (*ImpalaSource, bool) {
193655  	return nil, false
193656  }
193657  
193658  // AsHubspotSource is the BasicCopySource implementation for SQLServerSource.
193659  func (sss SQLServerSource) AsHubspotSource() (*HubspotSource, bool) {
193660  	return nil, false
193661  }
193662  
193663  // AsHiveSource is the BasicCopySource implementation for SQLServerSource.
193664  func (sss SQLServerSource) AsHiveSource() (*HiveSource, bool) {
193665  	return nil, false
193666  }
193667  
193668  // AsHBaseSource is the BasicCopySource implementation for SQLServerSource.
193669  func (sss SQLServerSource) AsHBaseSource() (*HBaseSource, bool) {
193670  	return nil, false
193671  }
193672  
193673  // AsGreenplumSource is the BasicCopySource implementation for SQLServerSource.
193674  func (sss SQLServerSource) AsGreenplumSource() (*GreenplumSource, bool) {
193675  	return nil, false
193676  }
193677  
193678  // AsGoogleBigQuerySource is the BasicCopySource implementation for SQLServerSource.
193679  func (sss SQLServerSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
193680  	return nil, false
193681  }
193682  
193683  // AsEloquaSource is the BasicCopySource implementation for SQLServerSource.
193684  func (sss SQLServerSource) AsEloquaSource() (*EloquaSource, bool) {
193685  	return nil, false
193686  }
193687  
193688  // AsDrillSource is the BasicCopySource implementation for SQLServerSource.
193689  func (sss SQLServerSource) AsDrillSource() (*DrillSource, bool) {
193690  	return nil, false
193691  }
193692  
193693  // AsCouchbaseSource is the BasicCopySource implementation for SQLServerSource.
193694  func (sss SQLServerSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
193695  	return nil, false
193696  }
193697  
193698  // AsConcurSource is the BasicCopySource implementation for SQLServerSource.
193699  func (sss SQLServerSource) AsConcurSource() (*ConcurSource, bool) {
193700  	return nil, false
193701  }
193702  
193703  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLServerSource.
193704  func (sss SQLServerSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
193705  	return nil, false
193706  }
193707  
193708  // AsAmazonMWSSource is the BasicCopySource implementation for SQLServerSource.
193709  func (sss SQLServerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
193710  	return nil, false
193711  }
193712  
193713  // AsCassandraSource is the BasicCopySource implementation for SQLServerSource.
193714  func (sss SQLServerSource) AsCassandraSource() (*CassandraSource, bool) {
193715  	return nil, false
193716  }
193717  
193718  // AsTeradataSource is the BasicCopySource implementation for SQLServerSource.
193719  func (sss SQLServerSource) AsTeradataSource() (*TeradataSource, bool) {
193720  	return nil, false
193721  }
193722  
193723  // AsAzureMySQLSource is the BasicCopySource implementation for SQLServerSource.
193724  func (sss SQLServerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
193725  	return nil, false
193726  }
193727  
193728  // AsSQLDWSource is the BasicCopySource implementation for SQLServerSource.
193729  func (sss SQLServerSource) AsSQLDWSource() (*SQLDWSource, bool) {
193730  	return nil, false
193731  }
193732  
193733  // AsSQLMISource is the BasicCopySource implementation for SQLServerSource.
193734  func (sss SQLServerSource) AsSQLMISource() (*SQLMISource, bool) {
193735  	return nil, false
193736  }
193737  
193738  // AsAzureSQLSource is the BasicCopySource implementation for SQLServerSource.
193739  func (sss SQLServerSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
193740  	return nil, false
193741  }
193742  
193743  // AsSQLServerSource is the BasicCopySource implementation for SQLServerSource.
193744  func (sss SQLServerSource) AsSQLServerSource() (*SQLServerSource, bool) {
193745  	return &sss, true
193746  }
193747  
193748  // AsSQLSource is the BasicCopySource implementation for SQLServerSource.
193749  func (sss SQLServerSource) AsSQLSource() (*SQLSource, bool) {
193750  	return nil, false
193751  }
193752  
193753  // AsSapTableSource is the BasicCopySource implementation for SQLServerSource.
193754  func (sss SQLServerSource) AsSapTableSource() (*SapTableSource, bool) {
193755  	return nil, false
193756  }
193757  
193758  // AsSapOpenHubSource is the BasicCopySource implementation for SQLServerSource.
193759  func (sss SQLServerSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
193760  	return nil, false
193761  }
193762  
193763  // AsSapHanaSource is the BasicCopySource implementation for SQLServerSource.
193764  func (sss SQLServerSource) AsSapHanaSource() (*SapHanaSource, bool) {
193765  	return nil, false
193766  }
193767  
193768  // AsSapEccSource is the BasicCopySource implementation for SQLServerSource.
193769  func (sss SQLServerSource) AsSapEccSource() (*SapEccSource, bool) {
193770  	return nil, false
193771  }
193772  
193773  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLServerSource.
193774  func (sss SQLServerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
193775  	return nil, false
193776  }
193777  
193778  // AsSalesforceSource is the BasicCopySource implementation for SQLServerSource.
193779  func (sss SQLServerSource) AsSalesforceSource() (*SalesforceSource, bool) {
193780  	return nil, false
193781  }
193782  
193783  // AsSapBwSource is the BasicCopySource implementation for SQLServerSource.
193784  func (sss SQLServerSource) AsSapBwSource() (*SapBwSource, bool) {
193785  	return nil, false
193786  }
193787  
193788  // AsSybaseSource is the BasicCopySource implementation for SQLServerSource.
193789  func (sss SQLServerSource) AsSybaseSource() (*SybaseSource, bool) {
193790  	return nil, false
193791  }
193792  
193793  // AsPostgreSQLSource is the BasicCopySource implementation for SQLServerSource.
193794  func (sss SQLServerSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
193795  	return nil, false
193796  }
193797  
193798  // AsMySQLSource is the BasicCopySource implementation for SQLServerSource.
193799  func (sss SQLServerSource) AsMySQLSource() (*MySQLSource, bool) {
193800  	return nil, false
193801  }
193802  
193803  // AsOdbcSource is the BasicCopySource implementation for SQLServerSource.
193804  func (sss SQLServerSource) AsOdbcSource() (*OdbcSource, bool) {
193805  	return nil, false
193806  }
193807  
193808  // AsDb2Source is the BasicCopySource implementation for SQLServerSource.
193809  func (sss SQLServerSource) AsDb2Source() (*Db2Source, bool) {
193810  	return nil, false
193811  }
193812  
193813  // AsInformixSource is the BasicCopySource implementation for SQLServerSource.
193814  func (sss SQLServerSource) AsInformixSource() (*InformixSource, bool) {
193815  	return nil, false
193816  }
193817  
193818  // AsAzureTableSource is the BasicCopySource implementation for SQLServerSource.
193819  func (sss SQLServerSource) AsAzureTableSource() (*AzureTableSource, bool) {
193820  	return nil, false
193821  }
193822  
193823  // AsTabularSource is the BasicCopySource implementation for SQLServerSource.
193824  func (sss SQLServerSource) AsTabularSource() (*TabularSource, bool) {
193825  	return nil, false
193826  }
193827  
193828  // AsBasicTabularSource is the BasicCopySource implementation for SQLServerSource.
193829  func (sss SQLServerSource) AsBasicTabularSource() (BasicTabularSource, bool) {
193830  	return &sss, true
193831  }
193832  
193833  // AsBinarySource is the BasicCopySource implementation for SQLServerSource.
193834  func (sss SQLServerSource) AsBinarySource() (*BinarySource, bool) {
193835  	return nil, false
193836  }
193837  
193838  // AsOrcSource is the BasicCopySource implementation for SQLServerSource.
193839  func (sss SQLServerSource) AsOrcSource() (*OrcSource, bool) {
193840  	return nil, false
193841  }
193842  
193843  // AsJSONSource is the BasicCopySource implementation for SQLServerSource.
193844  func (sss SQLServerSource) AsJSONSource() (*JSONSource, bool) {
193845  	return nil, false
193846  }
193847  
193848  // AsDelimitedTextSource is the BasicCopySource implementation for SQLServerSource.
193849  func (sss SQLServerSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
193850  	return nil, false
193851  }
193852  
193853  // AsParquetSource is the BasicCopySource implementation for SQLServerSource.
193854  func (sss SQLServerSource) AsParquetSource() (*ParquetSource, bool) {
193855  	return nil, false
193856  }
193857  
193858  // AsAvroSource is the BasicCopySource implementation for SQLServerSource.
193859  func (sss SQLServerSource) AsAvroSource() (*AvroSource, bool) {
193860  	return nil, false
193861  }
193862  
193863  // AsCopySource is the BasicCopySource implementation for SQLServerSource.
193864  func (sss SQLServerSource) AsCopySource() (*CopySource, bool) {
193865  	return nil, false
193866  }
193867  
193868  // AsBasicCopySource is the BasicCopySource implementation for SQLServerSource.
193869  func (sss SQLServerSource) AsBasicCopySource() (BasicCopySource, bool) {
193870  	return &sss, true
193871  }
193872  
193873  // UnmarshalJSON is the custom unmarshaler for SQLServerSource struct.
193874  func (sss *SQLServerSource) UnmarshalJSON(body []byte) error {
193875  	var m map[string]*json.RawMessage
193876  	err := json.Unmarshal(body, &m)
193877  	if err != nil {
193878  		return err
193879  	}
193880  	for k, v := range m {
193881  		switch k {
193882  		case "sqlReaderQuery":
193883  			if v != nil {
193884  				var SQLReaderQuery interface{}
193885  				err = json.Unmarshal(*v, &SQLReaderQuery)
193886  				if err != nil {
193887  					return err
193888  				}
193889  				sss.SQLReaderQuery = SQLReaderQuery
193890  			}
193891  		case "sqlReaderStoredProcedureName":
193892  			if v != nil {
193893  				var SQLReaderStoredProcedureName interface{}
193894  				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
193895  				if err != nil {
193896  					return err
193897  				}
193898  				sss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
193899  			}
193900  		case "storedProcedureParameters":
193901  			if v != nil {
193902  				var storedProcedureParameters map[string]*StoredProcedureParameter
193903  				err = json.Unmarshal(*v, &storedProcedureParameters)
193904  				if err != nil {
193905  					return err
193906  				}
193907  				sss.StoredProcedureParameters = storedProcedureParameters
193908  			}
193909  		case "produceAdditionalTypes":
193910  			if v != nil {
193911  				var produceAdditionalTypes interface{}
193912  				err = json.Unmarshal(*v, &produceAdditionalTypes)
193913  				if err != nil {
193914  					return err
193915  				}
193916  				sss.ProduceAdditionalTypes = produceAdditionalTypes
193917  			}
193918  		case "queryTimeout":
193919  			if v != nil {
193920  				var queryTimeout interface{}
193921  				err = json.Unmarshal(*v, &queryTimeout)
193922  				if err != nil {
193923  					return err
193924  				}
193925  				sss.QueryTimeout = queryTimeout
193926  			}
193927  		default:
193928  			if v != nil {
193929  				var additionalProperties interface{}
193930  				err = json.Unmarshal(*v, &additionalProperties)
193931  				if err != nil {
193932  					return err
193933  				}
193934  				if sss.AdditionalProperties == nil {
193935  					sss.AdditionalProperties = make(map[string]interface{})
193936  				}
193937  				sss.AdditionalProperties[k] = additionalProperties
193938  			}
193939  		case "sourceRetryCount":
193940  			if v != nil {
193941  				var sourceRetryCount interface{}
193942  				err = json.Unmarshal(*v, &sourceRetryCount)
193943  				if err != nil {
193944  					return err
193945  				}
193946  				sss.SourceRetryCount = sourceRetryCount
193947  			}
193948  		case "sourceRetryWait":
193949  			if v != nil {
193950  				var sourceRetryWait interface{}
193951  				err = json.Unmarshal(*v, &sourceRetryWait)
193952  				if err != nil {
193953  					return err
193954  				}
193955  				sss.SourceRetryWait = sourceRetryWait
193956  			}
193957  		case "maxConcurrentConnections":
193958  			if v != nil {
193959  				var maxConcurrentConnections interface{}
193960  				err = json.Unmarshal(*v, &maxConcurrentConnections)
193961  				if err != nil {
193962  					return err
193963  				}
193964  				sss.MaxConcurrentConnections = maxConcurrentConnections
193965  			}
193966  		case "type":
193967  			if v != nil {
193968  				var typeVar TypeBasicCopySource
193969  				err = json.Unmarshal(*v, &typeVar)
193970  				if err != nil {
193971  					return err
193972  				}
193973  				sss.Type = typeVar
193974  			}
193975  		}
193976  	}
193977  
193978  	return nil
193979  }
193980  
193981  // SQLServerStoredProcedureActivity SQL stored procedure activity type.
193982  type SQLServerStoredProcedureActivity struct {
193983  	// SQLServerStoredProcedureActivityTypeProperties - SQL stored procedure activity properties.
193984  	*SQLServerStoredProcedureActivityTypeProperties `json:"typeProperties,omitempty"`
193985  	// LinkedServiceName - Linked service reference.
193986  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
193987  	// Policy - Activity policy.
193988  	Policy *ActivityPolicy `json:"policy,omitempty"`
193989  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
193990  	AdditionalProperties map[string]interface{} `json:""`
193991  	// Name - Activity name.
193992  	Name *string `json:"name,omitempty"`
193993  	// Description - Activity description.
193994  	Description *string `json:"description,omitempty"`
193995  	// DependsOn - Activity depends on condition.
193996  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
193997  	// UserProperties - Activity user properties.
193998  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
193999  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
194000  	Type TypeBasicActivity `json:"type,omitempty"`
194001  }
194002  
194003  // MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivity.
194004  func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) {
194005  	ssspa.Type = TypeSQLServerStoredProcedure
194006  	objectMap := make(map[string]interface{})
194007  	if ssspa.SQLServerStoredProcedureActivityTypeProperties != nil {
194008  		objectMap["typeProperties"] = ssspa.SQLServerStoredProcedureActivityTypeProperties
194009  	}
194010  	if ssspa.LinkedServiceName != nil {
194011  		objectMap["linkedServiceName"] = ssspa.LinkedServiceName
194012  	}
194013  	if ssspa.Policy != nil {
194014  		objectMap["policy"] = ssspa.Policy
194015  	}
194016  	if ssspa.Name != nil {
194017  		objectMap["name"] = ssspa.Name
194018  	}
194019  	if ssspa.Description != nil {
194020  		objectMap["description"] = ssspa.Description
194021  	}
194022  	if ssspa.DependsOn != nil {
194023  		objectMap["dependsOn"] = ssspa.DependsOn
194024  	}
194025  	if ssspa.UserProperties != nil {
194026  		objectMap["userProperties"] = ssspa.UserProperties
194027  	}
194028  	if ssspa.Type != "" {
194029  		objectMap["type"] = ssspa.Type
194030  	}
194031  	for k, v := range ssspa.AdditionalProperties {
194032  		objectMap[k] = v
194033  	}
194034  	return json.Marshal(objectMap)
194035  }
194036  
194037  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194038  func (ssspa SQLServerStoredProcedureActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
194039  	return nil, false
194040  }
194041  
194042  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194043  func (ssspa SQLServerStoredProcedureActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
194044  	return nil, false
194045  }
194046  
194047  // AsSynapseNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194048  func (ssspa SQLServerStoredProcedureActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
194049  	return nil, false
194050  }
194051  
194052  // AsExecuteDataFlowActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194053  func (ssspa SQLServerStoredProcedureActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
194054  	return nil, false
194055  }
194056  
194057  // AsAzureFunctionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194058  func (ssspa SQLServerStoredProcedureActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
194059  	return nil, false
194060  }
194061  
194062  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194063  func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
194064  	return nil, false
194065  }
194066  
194067  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194068  func (ssspa SQLServerStoredProcedureActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
194069  	return nil, false
194070  }
194071  
194072  // AsDatabricksNotebookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194073  func (ssspa SQLServerStoredProcedureActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
194074  	return nil, false
194075  }
194076  
194077  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194078  func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
194079  	return nil, false
194080  }
194081  
194082  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194083  func (ssspa SQLServerStoredProcedureActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
194084  	return nil, false
194085  }
194086  
194087  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194088  func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
194089  	return nil, false
194090  }
194091  
194092  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194093  func (ssspa SQLServerStoredProcedureActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
194094  	return nil, false
194095  }
194096  
194097  // AsGetMetadataActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194098  func (ssspa SQLServerStoredProcedureActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
194099  	return nil, false
194100  }
194101  
194102  // AsWebActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194103  func (ssspa SQLServerStoredProcedureActivity) AsWebActivity() (*WebActivity, bool) {
194104  	return nil, false
194105  }
194106  
194107  // AsLookupActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194108  func (ssspa SQLServerStoredProcedureActivity) AsLookupActivity() (*LookupActivity, bool) {
194109  	return nil, false
194110  }
194111  
194112  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194113  func (ssspa SQLServerStoredProcedureActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
194114  	return nil, false
194115  }
194116  
194117  // AsDeleteActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194118  func (ssspa SQLServerStoredProcedureActivity) AsDeleteActivity() (*DeleteActivity, bool) {
194119  	return nil, false
194120  }
194121  
194122  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194123  func (ssspa SQLServerStoredProcedureActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
194124  	return &ssspa, true
194125  }
194126  
194127  // AsCustomActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194128  func (ssspa SQLServerStoredProcedureActivity) AsCustomActivity() (*CustomActivity, bool) {
194129  	return nil, false
194130  }
194131  
194132  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194133  func (ssspa SQLServerStoredProcedureActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
194134  	return nil, false
194135  }
194136  
194137  // AsHDInsightSparkActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194138  func (ssspa SQLServerStoredProcedureActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
194139  	return nil, false
194140  }
194141  
194142  // AsHDInsightStreamingActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194143  func (ssspa SQLServerStoredProcedureActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
194144  	return nil, false
194145  }
194146  
194147  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194148  func (ssspa SQLServerStoredProcedureActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
194149  	return nil, false
194150  }
194151  
194152  // AsHDInsightPigActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194153  func (ssspa SQLServerStoredProcedureActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
194154  	return nil, false
194155  }
194156  
194157  // AsHDInsightHiveActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194158  func (ssspa SQLServerStoredProcedureActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
194159  	return nil, false
194160  }
194161  
194162  // AsCopyActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194163  func (ssspa SQLServerStoredProcedureActivity) AsCopyActivity() (*CopyActivity, bool) {
194164  	return nil, false
194165  }
194166  
194167  // AsExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194168  func (ssspa SQLServerStoredProcedureActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
194169  	return nil, false
194170  }
194171  
194172  // AsBasicExecutionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194173  func (ssspa SQLServerStoredProcedureActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
194174  	return &ssspa, true
194175  }
194176  
194177  // AsWebHookActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194178  func (ssspa SQLServerStoredProcedureActivity) AsWebHookActivity() (*WebHookActivity, bool) {
194179  	return nil, false
194180  }
194181  
194182  // AsAppendVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194183  func (ssspa SQLServerStoredProcedureActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
194184  	return nil, false
194185  }
194186  
194187  // AsSetVariableActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194188  func (ssspa SQLServerStoredProcedureActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
194189  	return nil, false
194190  }
194191  
194192  // AsFilterActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194193  func (ssspa SQLServerStoredProcedureActivity) AsFilterActivity() (*FilterActivity, bool) {
194194  	return nil, false
194195  }
194196  
194197  // AsValidationActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194198  func (ssspa SQLServerStoredProcedureActivity) AsValidationActivity() (*ValidationActivity, bool) {
194199  	return nil, false
194200  }
194201  
194202  // AsUntilActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194203  func (ssspa SQLServerStoredProcedureActivity) AsUntilActivity() (*UntilActivity, bool) {
194204  	return nil, false
194205  }
194206  
194207  // AsWaitActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194208  func (ssspa SQLServerStoredProcedureActivity) AsWaitActivity() (*WaitActivity, bool) {
194209  	return nil, false
194210  }
194211  
194212  // AsForEachActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194213  func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActivity, bool) {
194214  	return nil, false
194215  }
194216  
194217  // AsSwitchActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194218  func (ssspa SQLServerStoredProcedureActivity) AsSwitchActivity() (*SwitchActivity, bool) {
194219  	return nil, false
194220  }
194221  
194222  // AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194223  func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
194224  	return nil, false
194225  }
194226  
194227  // AsExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194228  func (ssspa SQLServerStoredProcedureActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
194229  	return nil, false
194230  }
194231  
194232  // AsControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194233  func (ssspa SQLServerStoredProcedureActivity) AsControlActivity() (*ControlActivity, bool) {
194234  	return nil, false
194235  }
194236  
194237  // AsBasicControlActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194238  func (ssspa SQLServerStoredProcedureActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
194239  	return nil, false
194240  }
194241  
194242  // AsActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194243  func (ssspa SQLServerStoredProcedureActivity) AsActivity() (*Activity, bool) {
194244  	return nil, false
194245  }
194246  
194247  // AsBasicActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity.
194248  func (ssspa SQLServerStoredProcedureActivity) AsBasicActivity() (BasicActivity, bool) {
194249  	return &ssspa, true
194250  }
194251  
194252  // UnmarshalJSON is the custom unmarshaler for SQLServerStoredProcedureActivity struct.
194253  func (ssspa *SQLServerStoredProcedureActivity) UnmarshalJSON(body []byte) error {
194254  	var m map[string]*json.RawMessage
194255  	err := json.Unmarshal(body, &m)
194256  	if err != nil {
194257  		return err
194258  	}
194259  	for k, v := range m {
194260  		switch k {
194261  		case "typeProperties":
194262  			if v != nil {
194263  				var SQLServerStoredProcedureActivityTypeProperties SQLServerStoredProcedureActivityTypeProperties
194264  				err = json.Unmarshal(*v, &SQLServerStoredProcedureActivityTypeProperties)
194265  				if err != nil {
194266  					return err
194267  				}
194268  				ssspa.SQLServerStoredProcedureActivityTypeProperties = &SQLServerStoredProcedureActivityTypeProperties
194269  			}
194270  		case "linkedServiceName":
194271  			if v != nil {
194272  				var linkedServiceName LinkedServiceReference
194273  				err = json.Unmarshal(*v, &linkedServiceName)
194274  				if err != nil {
194275  					return err
194276  				}
194277  				ssspa.LinkedServiceName = &linkedServiceName
194278  			}
194279  		case "policy":
194280  			if v != nil {
194281  				var policy ActivityPolicy
194282  				err = json.Unmarshal(*v, &policy)
194283  				if err != nil {
194284  					return err
194285  				}
194286  				ssspa.Policy = &policy
194287  			}
194288  		default:
194289  			if v != nil {
194290  				var additionalProperties interface{}
194291  				err = json.Unmarshal(*v, &additionalProperties)
194292  				if err != nil {
194293  					return err
194294  				}
194295  				if ssspa.AdditionalProperties == nil {
194296  					ssspa.AdditionalProperties = make(map[string]interface{})
194297  				}
194298  				ssspa.AdditionalProperties[k] = additionalProperties
194299  			}
194300  		case "name":
194301  			if v != nil {
194302  				var name string
194303  				err = json.Unmarshal(*v, &name)
194304  				if err != nil {
194305  					return err
194306  				}
194307  				ssspa.Name = &name
194308  			}
194309  		case "description":
194310  			if v != nil {
194311  				var description string
194312  				err = json.Unmarshal(*v, &description)
194313  				if err != nil {
194314  					return err
194315  				}
194316  				ssspa.Description = &description
194317  			}
194318  		case "dependsOn":
194319  			if v != nil {
194320  				var dependsOn []ActivityDependency
194321  				err = json.Unmarshal(*v, &dependsOn)
194322  				if err != nil {
194323  					return err
194324  				}
194325  				ssspa.DependsOn = &dependsOn
194326  			}
194327  		case "userProperties":
194328  			if v != nil {
194329  				var userProperties []UserProperty
194330  				err = json.Unmarshal(*v, &userProperties)
194331  				if err != nil {
194332  					return err
194333  				}
194334  				ssspa.UserProperties = &userProperties
194335  			}
194336  		case "type":
194337  			if v != nil {
194338  				var typeVar TypeBasicActivity
194339  				err = json.Unmarshal(*v, &typeVar)
194340  				if err != nil {
194341  					return err
194342  				}
194343  				ssspa.Type = typeVar
194344  			}
194345  		}
194346  	}
194347  
194348  	return nil
194349  }
194350  
194351  // SQLServerStoredProcedureActivityTypeProperties SQL stored procedure activity properties.
194352  type SQLServerStoredProcedureActivityTypeProperties struct {
194353  	// StoredProcedureName - Stored procedure name. Type: string (or Expression with resultType string).
194354  	StoredProcedureName interface{} `json:"storedProcedureName,omitempty"`
194355  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
194356  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
194357  }
194358  
194359  // MarshalJSON is the custom marshaler for SQLServerStoredProcedureActivityTypeProperties.
194360  func (ssspatp SQLServerStoredProcedureActivityTypeProperties) MarshalJSON() ([]byte, error) {
194361  	objectMap := make(map[string]interface{})
194362  	if ssspatp.StoredProcedureName != nil {
194363  		objectMap["storedProcedureName"] = ssspatp.StoredProcedureName
194364  	}
194365  	if ssspatp.StoredProcedureParameters != nil {
194366  		objectMap["storedProcedureParameters"] = ssspatp.StoredProcedureParameters
194367  	}
194368  	return json.Marshal(objectMap)
194369  }
194370  
194371  // SQLServerTableDataset the on-premises SQL Server dataset.
194372  type SQLServerTableDataset struct {
194373  	// SQLServerTableDatasetTypeProperties - On-premises SQL Server dataset properties.
194374  	*SQLServerTableDatasetTypeProperties `json:"typeProperties,omitempty"`
194375  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
194376  	AdditionalProperties map[string]interface{} `json:""`
194377  	// Description - Dataset description.
194378  	Description *string `json:"description,omitempty"`
194379  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
194380  	Structure interface{} `json:"structure,omitempty"`
194381  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
194382  	Schema interface{} `json:"schema,omitempty"`
194383  	// LinkedServiceName - Linked service reference.
194384  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
194385  	// Parameters - Parameters for dataset.
194386  	Parameters map[string]*ParameterSpecification `json:"parameters"`
194387  	// Annotations - List of tags that can be used for describing the Dataset.
194388  	Annotations *[]interface{} `json:"annotations,omitempty"`
194389  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
194390  	Folder *DatasetFolder `json:"folder,omitempty"`
194391  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
194392  	Type TypeBasicDataset `json:"type,omitempty"`
194393  }
194394  
194395  // MarshalJSON is the custom marshaler for SQLServerTableDataset.
194396  func (sstd SQLServerTableDataset) MarshalJSON() ([]byte, error) {
194397  	sstd.Type = TypeSQLServerTable
194398  	objectMap := make(map[string]interface{})
194399  	if sstd.SQLServerTableDatasetTypeProperties != nil {
194400  		objectMap["typeProperties"] = sstd.SQLServerTableDatasetTypeProperties
194401  	}
194402  	if sstd.Description != nil {
194403  		objectMap["description"] = sstd.Description
194404  	}
194405  	if sstd.Structure != nil {
194406  		objectMap["structure"] = sstd.Structure
194407  	}
194408  	if sstd.Schema != nil {
194409  		objectMap["schema"] = sstd.Schema
194410  	}
194411  	if sstd.LinkedServiceName != nil {
194412  		objectMap["linkedServiceName"] = sstd.LinkedServiceName
194413  	}
194414  	if sstd.Parameters != nil {
194415  		objectMap["parameters"] = sstd.Parameters
194416  	}
194417  	if sstd.Annotations != nil {
194418  		objectMap["annotations"] = sstd.Annotations
194419  	}
194420  	if sstd.Folder != nil {
194421  		objectMap["folder"] = sstd.Folder
194422  	}
194423  	if sstd.Type != "" {
194424  		objectMap["type"] = sstd.Type
194425  	}
194426  	for k, v := range sstd.AdditionalProperties {
194427  		objectMap[k] = v
194428  	}
194429  	return json.Marshal(objectMap)
194430  }
194431  
194432  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194433  func (sstd SQLServerTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
194434  	return nil, false
194435  }
194436  
194437  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194438  func (sstd SQLServerTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
194439  	return nil, false
194440  }
194441  
194442  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194443  func (sstd SQLServerTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
194444  	return nil, false
194445  }
194446  
194447  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194448  func (sstd SQLServerTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
194449  	return nil, false
194450  }
194451  
194452  // AsResponsysObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194453  func (sstd SQLServerTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
194454  	return nil, false
194455  }
194456  
194457  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194458  func (sstd SQLServerTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
194459  	return nil, false
194460  }
194461  
194462  // AsVerticaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194463  func (sstd SQLServerTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
194464  	return nil, false
194465  }
194466  
194467  // AsNetezzaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194468  func (sstd SQLServerTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
194469  	return nil, false
194470  }
194471  
194472  // AsZohoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194473  func (sstd SQLServerTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
194474  	return nil, false
194475  }
194476  
194477  // AsXeroObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194478  func (sstd SQLServerTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
194479  	return nil, false
194480  }
194481  
194482  // AsSquareObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194483  func (sstd SQLServerTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
194484  	return nil, false
194485  }
194486  
194487  // AsSparkObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194488  func (sstd SQLServerTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
194489  	return nil, false
194490  }
194491  
194492  // AsShopifyObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194493  func (sstd SQLServerTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
194494  	return nil, false
194495  }
194496  
194497  // AsServiceNowObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194498  func (sstd SQLServerTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
194499  	return nil, false
194500  }
194501  
194502  // AsQuickBooksObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194503  func (sstd SQLServerTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
194504  	return nil, false
194505  }
194506  
194507  // AsPrestoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194508  func (sstd SQLServerTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
194509  	return nil, false
194510  }
194511  
194512  // AsPhoenixObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194513  func (sstd SQLServerTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
194514  	return nil, false
194515  }
194516  
194517  // AsPaypalObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194518  func (sstd SQLServerTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
194519  	return nil, false
194520  }
194521  
194522  // AsMarketoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194523  func (sstd SQLServerTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
194524  	return nil, false
194525  }
194526  
194527  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194528  func (sstd SQLServerTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
194529  	return nil, false
194530  }
194531  
194532  // AsMariaDBTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194533  func (sstd SQLServerTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
194534  	return nil, false
194535  }
194536  
194537  // AsMagentoObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194538  func (sstd SQLServerTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
194539  	return nil, false
194540  }
194541  
194542  // AsJiraObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194543  func (sstd SQLServerTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
194544  	return nil, false
194545  }
194546  
194547  // AsImpalaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194548  func (sstd SQLServerTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
194549  	return nil, false
194550  }
194551  
194552  // AsHubspotObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194553  func (sstd SQLServerTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
194554  	return nil, false
194555  }
194556  
194557  // AsHiveObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194558  func (sstd SQLServerTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
194559  	return nil, false
194560  }
194561  
194562  // AsHBaseObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194563  func (sstd SQLServerTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
194564  	return nil, false
194565  }
194566  
194567  // AsGreenplumTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194568  func (sstd SQLServerTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
194569  	return nil, false
194570  }
194571  
194572  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194573  func (sstd SQLServerTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
194574  	return nil, false
194575  }
194576  
194577  // AsEloquaObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194578  func (sstd SQLServerTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
194579  	return nil, false
194580  }
194581  
194582  // AsDrillTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194583  func (sstd SQLServerTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
194584  	return nil, false
194585  }
194586  
194587  // AsCouchbaseTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194588  func (sstd SQLServerTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
194589  	return nil, false
194590  }
194591  
194592  // AsConcurObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194593  func (sstd SQLServerTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
194594  	return nil, false
194595  }
194596  
194597  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194598  func (sstd SQLServerTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
194599  	return nil, false
194600  }
194601  
194602  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194603  func (sstd SQLServerTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
194604  	return nil, false
194605  }
194606  
194607  // AsAzureSearchIndexDataset is the BasicDataset implementation for SQLServerTableDataset.
194608  func (sstd SQLServerTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
194609  	return nil, false
194610  }
194611  
194612  // AsWebTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194613  func (sstd SQLServerTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
194614  	return nil, false
194615  }
194616  
194617  // AsSapTableResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194618  func (sstd SQLServerTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
194619  	return nil, false
194620  }
194621  
194622  // AsRestResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194623  func (sstd SQLServerTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
194624  	return nil, false
194625  }
194626  
194627  // AsSQLServerTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194628  func (sstd SQLServerTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
194629  	return &sstd, true
194630  }
194631  
194632  // AsSapOpenHubTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194633  func (sstd SQLServerTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
194634  	return nil, false
194635  }
194636  
194637  // AsSapHanaTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194638  func (sstd SQLServerTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
194639  	return nil, false
194640  }
194641  
194642  // AsSapEccResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194643  func (sstd SQLServerTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
194644  	return nil, false
194645  }
194646  
194647  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194648  func (sstd SQLServerTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
194649  	return nil, false
194650  }
194651  
194652  // AsSapBwCubeDataset is the BasicDataset implementation for SQLServerTableDataset.
194653  func (sstd SQLServerTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
194654  	return nil, false
194655  }
194656  
194657  // AsSybaseTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194658  func (sstd SQLServerTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
194659  	return nil, false
194660  }
194661  
194662  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194663  func (sstd SQLServerTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
194664  	return nil, false
194665  }
194666  
194667  // AsSalesforceObjectDataset is the BasicDataset implementation for SQLServerTableDataset.
194668  func (sstd SQLServerTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
194669  	return nil, false
194670  }
194671  
194672  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194673  func (sstd SQLServerTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
194674  	return nil, false
194675  }
194676  
194677  // AsPostgreSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194678  func (sstd SQLServerTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
194679  	return nil, false
194680  }
194681  
194682  // AsMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194683  func (sstd SQLServerTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
194684  	return nil, false
194685  }
194686  
194687  // AsOdbcTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194688  func (sstd SQLServerTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
194689  	return nil, false
194690  }
194691  
194692  // AsInformixTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194693  func (sstd SQLServerTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
194694  	return nil, false
194695  }
194696  
194697  // AsRelationalTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194698  func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
194699  	return nil, false
194700  }
194701  
194702  // AsDb2TableDataset is the BasicDataset implementation for SQLServerTableDataset.
194703  func (sstd SQLServerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
194704  	return nil, false
194705  }
194706  
194707  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194708  func (sstd SQLServerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
194709  	return nil, false
194710  }
194711  
194712  // AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194713  func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
194714  	return nil, false
194715  }
194716  
194717  // AsTeradataTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194718  func (sstd SQLServerTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
194719  	return nil, false
194720  }
194721  
194722  // AsOracleTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194723  func (sstd SQLServerTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
194724  	return nil, false
194725  }
194726  
194727  // AsODataResourceDataset is the BasicDataset implementation for SQLServerTableDataset.
194728  func (sstd SQLServerTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
194729  	return nil, false
194730  }
194731  
194732  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
194733  func (sstd SQLServerTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
194734  	return nil, false
194735  }
194736  
194737  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
194738  func (sstd SQLServerTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
194739  	return nil, false
194740  }
194741  
194742  // AsMongoDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
194743  func (sstd SQLServerTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
194744  	return nil, false
194745  }
194746  
194747  // AsOffice365Dataset is the BasicDataset implementation for SQLServerTableDataset.
194748  func (sstd SQLServerTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
194749  	return nil, false
194750  }
194751  
194752  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
194753  func (sstd SQLServerTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
194754  	return nil, false
194755  }
194756  
194757  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
194758  func (sstd SQLServerTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
194759  	return nil, false
194760  }
194761  
194762  // AsDynamicsEntityDataset is the BasicDataset implementation for SQLServerTableDataset.
194763  func (sstd SQLServerTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
194764  	return nil, false
194765  }
194766  
194767  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
194768  func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
194769  	return nil, false
194770  }
194771  
194772  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset.
194773  func (sstd SQLServerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
194774  	return nil, false
194775  }
194776  
194777  // AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset.
194778  func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) {
194779  	return nil, false
194780  }
194781  
194782  // AsCassandraTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194783  func (sstd SQLServerTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
194784  	return nil, false
194785  }
194786  
194787  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194788  func (sstd SQLServerTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
194789  	return nil, false
194790  }
194791  
194792  // AsAzureSQLMITableDataset is the BasicDataset implementation for SQLServerTableDataset.
194793  func (sstd SQLServerTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
194794  	return nil, false
194795  }
194796  
194797  // AsAzureSQLTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194798  func (sstd SQLServerTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
194799  	return nil, false
194800  }
194801  
194802  // AsAzureTableDataset is the BasicDataset implementation for SQLServerTableDataset.
194803  func (sstd SQLServerTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
194804  	return nil, false
194805  }
194806  
194807  // AsBinaryDataset is the BasicDataset implementation for SQLServerTableDataset.
194808  func (sstd SQLServerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
194809  	return nil, false
194810  }
194811  
194812  // AsOrcDataset is the BasicDataset implementation for SQLServerTableDataset.
194813  func (sstd SQLServerTableDataset) AsOrcDataset() (*OrcDataset, bool) {
194814  	return nil, false
194815  }
194816  
194817  // AsJSONDataset is the BasicDataset implementation for SQLServerTableDataset.
194818  func (sstd SQLServerTableDataset) AsJSONDataset() (*JSONDataset, bool) {
194819  	return nil, false
194820  }
194821  
194822  // AsDelimitedTextDataset is the BasicDataset implementation for SQLServerTableDataset.
194823  func (sstd SQLServerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
194824  	return nil, false
194825  }
194826  
194827  // AsParquetDataset is the BasicDataset implementation for SQLServerTableDataset.
194828  func (sstd SQLServerTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
194829  	return nil, false
194830  }
194831  
194832  // AsAvroDataset is the BasicDataset implementation for SQLServerTableDataset.
194833  func (sstd SQLServerTableDataset) AsAvroDataset() (*AvroDataset, bool) {
194834  	return nil, false
194835  }
194836  
194837  // AsDataset is the BasicDataset implementation for SQLServerTableDataset.
194838  func (sstd SQLServerTableDataset) AsDataset() (*Dataset, bool) {
194839  	return nil, false
194840  }
194841  
194842  // AsBasicDataset is the BasicDataset implementation for SQLServerTableDataset.
194843  func (sstd SQLServerTableDataset) AsBasicDataset() (BasicDataset, bool) {
194844  	return &sstd, true
194845  }
194846  
194847  // UnmarshalJSON is the custom unmarshaler for SQLServerTableDataset struct.
194848  func (sstd *SQLServerTableDataset) UnmarshalJSON(body []byte) error {
194849  	var m map[string]*json.RawMessage
194850  	err := json.Unmarshal(body, &m)
194851  	if err != nil {
194852  		return err
194853  	}
194854  	for k, v := range m {
194855  		switch k {
194856  		case "typeProperties":
194857  			if v != nil {
194858  				var SQLServerTableDatasetTypeProperties SQLServerTableDatasetTypeProperties
194859  				err = json.Unmarshal(*v, &SQLServerTableDatasetTypeProperties)
194860  				if err != nil {
194861  					return err
194862  				}
194863  				sstd.SQLServerTableDatasetTypeProperties = &SQLServerTableDatasetTypeProperties
194864  			}
194865  		default:
194866  			if v != nil {
194867  				var additionalProperties interface{}
194868  				err = json.Unmarshal(*v, &additionalProperties)
194869  				if err != nil {
194870  					return err
194871  				}
194872  				if sstd.AdditionalProperties == nil {
194873  					sstd.AdditionalProperties = make(map[string]interface{})
194874  				}
194875  				sstd.AdditionalProperties[k] = additionalProperties
194876  			}
194877  		case "description":
194878  			if v != nil {
194879  				var description string
194880  				err = json.Unmarshal(*v, &description)
194881  				if err != nil {
194882  					return err
194883  				}
194884  				sstd.Description = &description
194885  			}
194886  		case "structure":
194887  			if v != nil {
194888  				var structure interface{}
194889  				err = json.Unmarshal(*v, &structure)
194890  				if err != nil {
194891  					return err
194892  				}
194893  				sstd.Structure = structure
194894  			}
194895  		case "schema":
194896  			if v != nil {
194897  				var schema interface{}
194898  				err = json.Unmarshal(*v, &schema)
194899  				if err != nil {
194900  					return err
194901  				}
194902  				sstd.Schema = schema
194903  			}
194904  		case "linkedServiceName":
194905  			if v != nil {
194906  				var linkedServiceName LinkedServiceReference
194907  				err = json.Unmarshal(*v, &linkedServiceName)
194908  				if err != nil {
194909  					return err
194910  				}
194911  				sstd.LinkedServiceName = &linkedServiceName
194912  			}
194913  		case "parameters":
194914  			if v != nil {
194915  				var parameters map[string]*ParameterSpecification
194916  				err = json.Unmarshal(*v, &parameters)
194917  				if err != nil {
194918  					return err
194919  				}
194920  				sstd.Parameters = parameters
194921  			}
194922  		case "annotations":
194923  			if v != nil {
194924  				var annotations []interface{}
194925  				err = json.Unmarshal(*v, &annotations)
194926  				if err != nil {
194927  					return err
194928  				}
194929  				sstd.Annotations = &annotations
194930  			}
194931  		case "folder":
194932  			if v != nil {
194933  				var folder DatasetFolder
194934  				err = json.Unmarshal(*v, &folder)
194935  				if err != nil {
194936  					return err
194937  				}
194938  				sstd.Folder = &folder
194939  			}
194940  		case "type":
194941  			if v != nil {
194942  				var typeVar TypeBasicDataset
194943  				err = json.Unmarshal(*v, &typeVar)
194944  				if err != nil {
194945  					return err
194946  				}
194947  				sstd.Type = typeVar
194948  			}
194949  		}
194950  	}
194951  
194952  	return nil
194953  }
194954  
194955  // SQLServerTableDatasetTypeProperties on-premises SQL Server dataset properties.
194956  type SQLServerTableDatasetTypeProperties struct {
194957  	// TableName - This property will be retired. Please consider using schema + table properties instead.
194958  	TableName interface{} `json:"tableName,omitempty"`
194959  	// Schema - The schema name of the SQL Server dataset. Type: string (or Expression with resultType string).
194960  	Schema interface{} `json:"schema,omitempty"`
194961  	// Table - The table name of the SQL Server dataset. Type: string (or Expression with resultType string).
194962  	Table interface{} `json:"table,omitempty"`
194963  }
194964  
194965  // SQLSink a copy activity SQL sink.
194966  type SQLSink struct {
194967  	// SQLWriterStoredProcedureName - SQL writer stored procedure name. Type: string (or Expression with resultType string).
194968  	SQLWriterStoredProcedureName interface{} `json:"sqlWriterStoredProcedureName,omitempty"`
194969  	// SQLWriterTableType - SQL writer table type. Type: string (or Expression with resultType string).
194970  	SQLWriterTableType interface{} `json:"sqlWriterTableType,omitempty"`
194971  	// PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string).
194972  	PreCopyScript interface{} `json:"preCopyScript,omitempty"`
194973  	// StoredProcedureParameters - SQL stored procedure parameters.
194974  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
194975  	// StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string).
194976  	StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"`
194977  	// TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string).
194978  	TableOption interface{} `json:"tableOption,omitempty"`
194979  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
194980  	AdditionalProperties map[string]interface{} `json:""`
194981  	// WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
194982  	WriteBatchSize interface{} `json:"writeBatchSize,omitempty"`
194983  	// 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])).
194984  	WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"`
194985  	// SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer).
194986  	SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"`
194987  	// 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])).
194988  	SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"`
194989  	// MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer).
194990  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
194991  	// Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink'
194992  	Type TypeBasicCopySink `json:"type,omitempty"`
194993  }
194994  
194995  // MarshalJSON is the custom marshaler for SQLSink.
194996  func (ss SQLSink) MarshalJSON() ([]byte, error) {
194997  	ss.Type = TypeSQLSink
194998  	objectMap := make(map[string]interface{})
194999  	if ss.SQLWriterStoredProcedureName != nil {
195000  		objectMap["sqlWriterStoredProcedureName"] = ss.SQLWriterStoredProcedureName
195001  	}
195002  	if ss.SQLWriterTableType != nil {
195003  		objectMap["sqlWriterTableType"] = ss.SQLWriterTableType
195004  	}
195005  	if ss.PreCopyScript != nil {
195006  		objectMap["preCopyScript"] = ss.PreCopyScript
195007  	}
195008  	if ss.StoredProcedureParameters != nil {
195009  		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
195010  	}
195011  	if ss.StoredProcedureTableTypeParameterName != nil {
195012  		objectMap["storedProcedureTableTypeParameterName"] = ss.StoredProcedureTableTypeParameterName
195013  	}
195014  	if ss.TableOption != nil {
195015  		objectMap["tableOption"] = ss.TableOption
195016  	}
195017  	if ss.WriteBatchSize != nil {
195018  		objectMap["writeBatchSize"] = ss.WriteBatchSize
195019  	}
195020  	if ss.WriteBatchTimeout != nil {
195021  		objectMap["writeBatchTimeout"] = ss.WriteBatchTimeout
195022  	}
195023  	if ss.SinkRetryCount != nil {
195024  		objectMap["sinkRetryCount"] = ss.SinkRetryCount
195025  	}
195026  	if ss.SinkRetryWait != nil {
195027  		objectMap["sinkRetryWait"] = ss.SinkRetryWait
195028  	}
195029  	if ss.MaxConcurrentConnections != nil {
195030  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
195031  	}
195032  	if ss.Type != "" {
195033  		objectMap["type"] = ss.Type
195034  	}
195035  	for k, v := range ss.AdditionalProperties {
195036  		objectMap[k] = v
195037  	}
195038  	return json.Marshal(objectMap)
195039  }
195040  
195041  // AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for SQLSink.
195042  func (ss SQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) {
195043  	return nil, false
195044  }
195045  
195046  // AsSalesforceServiceCloudSink is the BasicCopySink implementation for SQLSink.
195047  func (ss SQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) {
195048  	return nil, false
195049  }
195050  
195051  // AsSalesforceSink is the BasicCopySink implementation for SQLSink.
195052  func (ss SQLSink) AsSalesforceSink() (*SalesforceSink, bool) {
195053  	return nil, false
195054  }
195055  
195056  // AsAzureDataExplorerSink is the BasicCopySink implementation for SQLSink.
195057  func (ss SQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) {
195058  	return nil, false
195059  }
195060  
195061  // AsCommonDataServiceForAppsSink is the BasicCopySink implementation for SQLSink.
195062  func (ss SQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) {
195063  	return nil, false
195064  }
195065  
195066  // AsDynamicsCrmSink is the BasicCopySink implementation for SQLSink.
195067  func (ss SQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) {
195068  	return nil, false
195069  }
195070  
195071  // AsDynamicsSink is the BasicCopySink implementation for SQLSink.
195072  func (ss SQLSink) AsDynamicsSink() (*DynamicsSink, bool) {
195073  	return nil, false
195074  }
195075  
195076  // AsMicrosoftAccessSink is the BasicCopySink implementation for SQLSink.
195077  func (ss SQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) {
195078  	return nil, false
195079  }
195080  
195081  // AsInformixSink is the BasicCopySink implementation for SQLSink.
195082  func (ss SQLSink) AsInformixSink() (*InformixSink, bool) {
195083  	return nil, false
195084  }
195085  
195086  // AsOdbcSink is the BasicCopySink implementation for SQLSink.
195087  func (ss SQLSink) AsOdbcSink() (*OdbcSink, bool) {
195088  	return nil, false
195089  }
195090  
195091  // AsAzureSearchIndexSink is the BasicCopySink implementation for SQLSink.
195092  func (ss SQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) {
195093  	return nil, false
195094  }
195095  
195096  // AsAzureBlobFSSink is the BasicCopySink implementation for SQLSink.
195097  func (ss SQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) {
195098  	return nil, false
195099  }
195100  
195101  // AsAzureDataLakeStoreSink is the BasicCopySink implementation for SQLSink.
195102  func (ss SQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) {
195103  	return nil, false
195104  }
195105  
195106  // AsOracleSink is the BasicCopySink implementation for SQLSink.
195107  func (ss SQLSink) AsOracleSink() (*OracleSink, bool) {
195108  	return nil, false
195109  }
195110  
195111  // AsSQLDWSink is the BasicCopySink implementation for SQLSink.
195112  func (ss SQLSink) AsSQLDWSink() (*SQLDWSink, bool) {
195113  	return nil, false
195114  }
195115  
195116  // AsSQLMISink is the BasicCopySink implementation for SQLSink.
195117  func (ss SQLSink) AsSQLMISink() (*SQLMISink, bool) {
195118  	return nil, false
195119  }
195120  
195121  // AsAzureSQLSink is the BasicCopySink implementation for SQLSink.
195122  func (ss SQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) {
195123  	return nil, false
195124  }
195125  
195126  // AsSQLServerSink is the BasicCopySink implementation for SQLSink.
195127  func (ss SQLSink) AsSQLServerSink() (*SQLServerSink, bool) {
195128  	return nil, false
195129  }
195130  
195131  // AsSQLSink is the BasicCopySink implementation for SQLSink.
195132  func (ss SQLSink) AsSQLSink() (*SQLSink, bool) {
195133  	return &ss, true
195134  }
195135  
195136  // AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLSink.
195137  func (ss SQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) {
195138  	return nil, false
195139  }
195140  
195141  // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink.
195142  func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) {
195143  	return nil, false
195144  }
195145  
195146  // AsFileSystemSink is the BasicCopySink implementation for SQLSink.
195147  func (ss SQLSink) AsFileSystemSink() (*FileSystemSink, bool) {
195148  	return nil, false
195149  }
195150  
195151  // AsBlobSink is the BasicCopySink implementation for SQLSink.
195152  func (ss SQLSink) AsBlobSink() (*BlobSink, bool) {
195153  	return nil, false
195154  }
195155  
195156  // AsBinarySink is the BasicCopySink implementation for SQLSink.
195157  func (ss SQLSink) AsBinarySink() (*BinarySink, bool) {
195158  	return nil, false
195159  }
195160  
195161  // AsParquetSink is the BasicCopySink implementation for SQLSink.
195162  func (ss SQLSink) AsParquetSink() (*ParquetSink, bool) {
195163  	return nil, false
195164  }
195165  
195166  // AsAvroSink is the BasicCopySink implementation for SQLSink.
195167  func (ss SQLSink) AsAvroSink() (*AvroSink, bool) {
195168  	return nil, false
195169  }
195170  
195171  // AsAzureTableSink is the BasicCopySink implementation for SQLSink.
195172  func (ss SQLSink) AsAzureTableSink() (*AzureTableSink, bool) {
195173  	return nil, false
195174  }
195175  
195176  // AsAzureQueueSink is the BasicCopySink implementation for SQLSink.
195177  func (ss SQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) {
195178  	return nil, false
195179  }
195180  
195181  // AsSapCloudForCustomerSink is the BasicCopySink implementation for SQLSink.
195182  func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) {
195183  	return nil, false
195184  }
195185  
195186  // AsAzureMySQLSink is the BasicCopySink implementation for SQLSink.
195187  func (ss SQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) {
195188  	return nil, false
195189  }
195190  
195191  // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLSink.
195192  func (ss SQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) {
195193  	return nil, false
195194  }
195195  
195196  // AsOrcSink is the BasicCopySink implementation for SQLSink.
195197  func (ss SQLSink) AsOrcSink() (*OrcSink, bool) {
195198  	return nil, false
195199  }
195200  
195201  // AsJSONSink is the BasicCopySink implementation for SQLSink.
195202  func (ss SQLSink) AsJSONSink() (*JSONSink, bool) {
195203  	return nil, false
195204  }
195205  
195206  // AsDelimitedTextSink is the BasicCopySink implementation for SQLSink.
195207  func (ss SQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) {
195208  	return nil, false
195209  }
195210  
195211  // AsCopySink is the BasicCopySink implementation for SQLSink.
195212  func (ss SQLSink) AsCopySink() (*CopySink, bool) {
195213  	return nil, false
195214  }
195215  
195216  // AsBasicCopySink is the BasicCopySink implementation for SQLSink.
195217  func (ss SQLSink) AsBasicCopySink() (BasicCopySink, bool) {
195218  	return &ss, true
195219  }
195220  
195221  // UnmarshalJSON is the custom unmarshaler for SQLSink struct.
195222  func (ss *SQLSink) UnmarshalJSON(body []byte) error {
195223  	var m map[string]*json.RawMessage
195224  	err := json.Unmarshal(body, &m)
195225  	if err != nil {
195226  		return err
195227  	}
195228  	for k, v := range m {
195229  		switch k {
195230  		case "sqlWriterStoredProcedureName":
195231  			if v != nil {
195232  				var SQLWriterStoredProcedureName interface{}
195233  				err = json.Unmarshal(*v, &SQLWriterStoredProcedureName)
195234  				if err != nil {
195235  					return err
195236  				}
195237  				ss.SQLWriterStoredProcedureName = SQLWriterStoredProcedureName
195238  			}
195239  		case "sqlWriterTableType":
195240  			if v != nil {
195241  				var SQLWriterTableType interface{}
195242  				err = json.Unmarshal(*v, &SQLWriterTableType)
195243  				if err != nil {
195244  					return err
195245  				}
195246  				ss.SQLWriterTableType = SQLWriterTableType
195247  			}
195248  		case "preCopyScript":
195249  			if v != nil {
195250  				var preCopyScript interface{}
195251  				err = json.Unmarshal(*v, &preCopyScript)
195252  				if err != nil {
195253  					return err
195254  				}
195255  				ss.PreCopyScript = preCopyScript
195256  			}
195257  		case "storedProcedureParameters":
195258  			if v != nil {
195259  				var storedProcedureParameters map[string]*StoredProcedureParameter
195260  				err = json.Unmarshal(*v, &storedProcedureParameters)
195261  				if err != nil {
195262  					return err
195263  				}
195264  				ss.StoredProcedureParameters = storedProcedureParameters
195265  			}
195266  		case "storedProcedureTableTypeParameterName":
195267  			if v != nil {
195268  				var storedProcedureTableTypeParameterName interface{}
195269  				err = json.Unmarshal(*v, &storedProcedureTableTypeParameterName)
195270  				if err != nil {
195271  					return err
195272  				}
195273  				ss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName
195274  			}
195275  		case "tableOption":
195276  			if v != nil {
195277  				var tableOption interface{}
195278  				err = json.Unmarshal(*v, &tableOption)
195279  				if err != nil {
195280  					return err
195281  				}
195282  				ss.TableOption = tableOption
195283  			}
195284  		default:
195285  			if v != nil {
195286  				var additionalProperties interface{}
195287  				err = json.Unmarshal(*v, &additionalProperties)
195288  				if err != nil {
195289  					return err
195290  				}
195291  				if ss.AdditionalProperties == nil {
195292  					ss.AdditionalProperties = make(map[string]interface{})
195293  				}
195294  				ss.AdditionalProperties[k] = additionalProperties
195295  			}
195296  		case "writeBatchSize":
195297  			if v != nil {
195298  				var writeBatchSize interface{}
195299  				err = json.Unmarshal(*v, &writeBatchSize)
195300  				if err != nil {
195301  					return err
195302  				}
195303  				ss.WriteBatchSize = writeBatchSize
195304  			}
195305  		case "writeBatchTimeout":
195306  			if v != nil {
195307  				var writeBatchTimeout interface{}
195308  				err = json.Unmarshal(*v, &writeBatchTimeout)
195309  				if err != nil {
195310  					return err
195311  				}
195312  				ss.WriteBatchTimeout = writeBatchTimeout
195313  			}
195314  		case "sinkRetryCount":
195315  			if v != nil {
195316  				var sinkRetryCount interface{}
195317  				err = json.Unmarshal(*v, &sinkRetryCount)
195318  				if err != nil {
195319  					return err
195320  				}
195321  				ss.SinkRetryCount = sinkRetryCount
195322  			}
195323  		case "sinkRetryWait":
195324  			if v != nil {
195325  				var sinkRetryWait interface{}
195326  				err = json.Unmarshal(*v, &sinkRetryWait)
195327  				if err != nil {
195328  					return err
195329  				}
195330  				ss.SinkRetryWait = sinkRetryWait
195331  			}
195332  		case "maxConcurrentConnections":
195333  			if v != nil {
195334  				var maxConcurrentConnections interface{}
195335  				err = json.Unmarshal(*v, &maxConcurrentConnections)
195336  				if err != nil {
195337  					return err
195338  				}
195339  				ss.MaxConcurrentConnections = maxConcurrentConnections
195340  			}
195341  		case "type":
195342  			if v != nil {
195343  				var typeVar TypeBasicCopySink
195344  				err = json.Unmarshal(*v, &typeVar)
195345  				if err != nil {
195346  					return err
195347  				}
195348  				ss.Type = typeVar
195349  			}
195350  		}
195351  	}
195352  
195353  	return nil
195354  }
195355  
195356  // SQLSource a copy activity SQL source.
195357  type SQLSource struct {
195358  	// SQLReaderQuery - SQL reader query. Type: string (or Expression with resultType string).
195359  	SQLReaderQuery interface{} `json:"sqlReaderQuery,omitempty"`
195360  	// 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).
195361  	SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"`
195362  	// StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}".
195363  	StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"`
195364  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
195365  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
195366  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
195367  	AdditionalProperties map[string]interface{} `json:""`
195368  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
195369  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
195370  	// 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])).
195371  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
195372  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
195373  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
195374  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
195375  	Type TypeBasicCopySource `json:"type,omitempty"`
195376  }
195377  
195378  // MarshalJSON is the custom marshaler for SQLSource.
195379  func (ss SQLSource) MarshalJSON() ([]byte, error) {
195380  	ss.Type = TypeSQLSource
195381  	objectMap := make(map[string]interface{})
195382  	if ss.SQLReaderQuery != nil {
195383  		objectMap["sqlReaderQuery"] = ss.SQLReaderQuery
195384  	}
195385  	if ss.SQLReaderStoredProcedureName != nil {
195386  		objectMap["sqlReaderStoredProcedureName"] = ss.SQLReaderStoredProcedureName
195387  	}
195388  	if ss.StoredProcedureParameters != nil {
195389  		objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters
195390  	}
195391  	if ss.QueryTimeout != nil {
195392  		objectMap["queryTimeout"] = ss.QueryTimeout
195393  	}
195394  	if ss.SourceRetryCount != nil {
195395  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
195396  	}
195397  	if ss.SourceRetryWait != nil {
195398  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
195399  	}
195400  	if ss.MaxConcurrentConnections != nil {
195401  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
195402  	}
195403  	if ss.Type != "" {
195404  		objectMap["type"] = ss.Type
195405  	}
195406  	for k, v := range ss.AdditionalProperties {
195407  		objectMap[k] = v
195408  	}
195409  	return json.Marshal(objectMap)
195410  }
195411  
195412  // AsHTTPSource is the BasicCopySource implementation for SQLSource.
195413  func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) {
195414  	return nil, false
195415  }
195416  
195417  // AsAzureBlobFSSource is the BasicCopySource implementation for SQLSource.
195418  func (ss SQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
195419  	return nil, false
195420  }
195421  
195422  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource.
195423  func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
195424  	return nil, false
195425  }
195426  
195427  // AsOffice365Source is the BasicCopySource implementation for SQLSource.
195428  func (ss SQLSource) AsOffice365Source() (*Office365Source, bool) {
195429  	return nil, false
195430  }
195431  
195432  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLSource.
195433  func (ss SQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
195434  	return nil, false
195435  }
195436  
195437  // AsMongoDbV2Source is the BasicCopySource implementation for SQLSource.
195438  func (ss SQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
195439  	return nil, false
195440  }
195441  
195442  // AsMongoDbSource is the BasicCopySource implementation for SQLSource.
195443  func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) {
195444  	return nil, false
195445  }
195446  
195447  // AsWebSource is the BasicCopySource implementation for SQLSource.
195448  func (ss SQLSource) AsWebSource() (*WebSource, bool) {
195449  	return nil, false
195450  }
195451  
195452  // AsOracleSource is the BasicCopySource implementation for SQLSource.
195453  func (ss SQLSource) AsOracleSource() (*OracleSource, bool) {
195454  	return nil, false
195455  }
195456  
195457  // AsAzureDataExplorerSource is the BasicCopySource implementation for SQLSource.
195458  func (ss SQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
195459  	return nil, false
195460  }
195461  
195462  // AsHdfsSource is the BasicCopySource implementation for SQLSource.
195463  func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) {
195464  	return nil, false
195465  }
195466  
195467  // AsFileSystemSource is the BasicCopySource implementation for SQLSource.
195468  func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) {
195469  	return nil, false
195470  }
195471  
195472  // AsRestSource is the BasicCopySource implementation for SQLSource.
195473  func (ss SQLSource) AsRestSource() (*RestSource, bool) {
195474  	return nil, false
195475  }
195476  
195477  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLSource.
195478  func (ss SQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
195479  	return nil, false
195480  }
195481  
195482  // AsODataSource is the BasicCopySource implementation for SQLSource.
195483  func (ss SQLSource) AsODataSource() (*ODataSource, bool) {
195484  	return nil, false
195485  }
195486  
195487  // AsMicrosoftAccessSource is the BasicCopySource implementation for SQLSource.
195488  func (ss SQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
195489  	return nil, false
195490  }
195491  
195492  // AsRelationalSource is the BasicCopySource implementation for SQLSource.
195493  func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) {
195494  	return nil, false
195495  }
195496  
195497  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLSource.
195498  func (ss SQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
195499  	return nil, false
195500  }
195501  
195502  // AsDynamicsCrmSource is the BasicCopySource implementation for SQLSource.
195503  func (ss SQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
195504  	return nil, false
195505  }
195506  
195507  // AsDynamicsSource is the BasicCopySource implementation for SQLSource.
195508  func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) {
195509  	return nil, false
195510  }
195511  
195512  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLSource.
195513  func (ss SQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
195514  	return nil, false
195515  }
195516  
195517  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource.
195518  func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
195519  	return nil, false
195520  }
195521  
195522  // AsBlobSource is the BasicCopySource implementation for SQLSource.
195523  func (ss SQLSource) AsBlobSource() (*BlobSource, bool) {
195524  	return nil, false
195525  }
195526  
195527  // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource.
195528  func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
195529  	return nil, false
195530  }
195531  
195532  // AsGoogleAdWordsSource is the BasicCopySource implementation for SQLSource.
195533  func (ss SQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
195534  	return nil, false
195535  }
195536  
195537  // AsOracleServiceCloudSource is the BasicCopySource implementation for SQLSource.
195538  func (ss SQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
195539  	return nil, false
195540  }
195541  
195542  // AsDynamicsAXSource is the BasicCopySource implementation for SQLSource.
195543  func (ss SQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
195544  	return nil, false
195545  }
195546  
195547  // AsResponsysSource is the BasicCopySource implementation for SQLSource.
195548  func (ss SQLSource) AsResponsysSource() (*ResponsysSource, bool) {
195549  	return nil, false
195550  }
195551  
195552  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SQLSource.
195553  func (ss SQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
195554  	return nil, false
195555  }
195556  
195557  // AsVerticaSource is the BasicCopySource implementation for SQLSource.
195558  func (ss SQLSource) AsVerticaSource() (*VerticaSource, bool) {
195559  	return nil, false
195560  }
195561  
195562  // AsNetezzaSource is the BasicCopySource implementation for SQLSource.
195563  func (ss SQLSource) AsNetezzaSource() (*NetezzaSource, bool) {
195564  	return nil, false
195565  }
195566  
195567  // AsZohoSource is the BasicCopySource implementation for SQLSource.
195568  func (ss SQLSource) AsZohoSource() (*ZohoSource, bool) {
195569  	return nil, false
195570  }
195571  
195572  // AsXeroSource is the BasicCopySource implementation for SQLSource.
195573  func (ss SQLSource) AsXeroSource() (*XeroSource, bool) {
195574  	return nil, false
195575  }
195576  
195577  // AsSquareSource is the BasicCopySource implementation for SQLSource.
195578  func (ss SQLSource) AsSquareSource() (*SquareSource, bool) {
195579  	return nil, false
195580  }
195581  
195582  // AsSparkSource is the BasicCopySource implementation for SQLSource.
195583  func (ss SQLSource) AsSparkSource() (*SparkSource, bool) {
195584  	return nil, false
195585  }
195586  
195587  // AsShopifySource is the BasicCopySource implementation for SQLSource.
195588  func (ss SQLSource) AsShopifySource() (*ShopifySource, bool) {
195589  	return nil, false
195590  }
195591  
195592  // AsServiceNowSource is the BasicCopySource implementation for SQLSource.
195593  func (ss SQLSource) AsServiceNowSource() (*ServiceNowSource, bool) {
195594  	return nil, false
195595  }
195596  
195597  // AsQuickBooksSource is the BasicCopySource implementation for SQLSource.
195598  func (ss SQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
195599  	return nil, false
195600  }
195601  
195602  // AsPrestoSource is the BasicCopySource implementation for SQLSource.
195603  func (ss SQLSource) AsPrestoSource() (*PrestoSource, bool) {
195604  	return nil, false
195605  }
195606  
195607  // AsPhoenixSource is the BasicCopySource implementation for SQLSource.
195608  func (ss SQLSource) AsPhoenixSource() (*PhoenixSource, bool) {
195609  	return nil, false
195610  }
195611  
195612  // AsPaypalSource is the BasicCopySource implementation for SQLSource.
195613  func (ss SQLSource) AsPaypalSource() (*PaypalSource, bool) {
195614  	return nil, false
195615  }
195616  
195617  // AsMarketoSource is the BasicCopySource implementation for SQLSource.
195618  func (ss SQLSource) AsMarketoSource() (*MarketoSource, bool) {
195619  	return nil, false
195620  }
195621  
195622  // AsAzureMariaDBSource is the BasicCopySource implementation for SQLSource.
195623  func (ss SQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
195624  	return nil, false
195625  }
195626  
195627  // AsMariaDBSource is the BasicCopySource implementation for SQLSource.
195628  func (ss SQLSource) AsMariaDBSource() (*MariaDBSource, bool) {
195629  	return nil, false
195630  }
195631  
195632  // AsMagentoSource is the BasicCopySource implementation for SQLSource.
195633  func (ss SQLSource) AsMagentoSource() (*MagentoSource, bool) {
195634  	return nil, false
195635  }
195636  
195637  // AsJiraSource is the BasicCopySource implementation for SQLSource.
195638  func (ss SQLSource) AsJiraSource() (*JiraSource, bool) {
195639  	return nil, false
195640  }
195641  
195642  // AsImpalaSource is the BasicCopySource implementation for SQLSource.
195643  func (ss SQLSource) AsImpalaSource() (*ImpalaSource, bool) {
195644  	return nil, false
195645  }
195646  
195647  // AsHubspotSource is the BasicCopySource implementation for SQLSource.
195648  func (ss SQLSource) AsHubspotSource() (*HubspotSource, bool) {
195649  	return nil, false
195650  }
195651  
195652  // AsHiveSource is the BasicCopySource implementation for SQLSource.
195653  func (ss SQLSource) AsHiveSource() (*HiveSource, bool) {
195654  	return nil, false
195655  }
195656  
195657  // AsHBaseSource is the BasicCopySource implementation for SQLSource.
195658  func (ss SQLSource) AsHBaseSource() (*HBaseSource, bool) {
195659  	return nil, false
195660  }
195661  
195662  // AsGreenplumSource is the BasicCopySource implementation for SQLSource.
195663  func (ss SQLSource) AsGreenplumSource() (*GreenplumSource, bool) {
195664  	return nil, false
195665  }
195666  
195667  // AsGoogleBigQuerySource is the BasicCopySource implementation for SQLSource.
195668  func (ss SQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
195669  	return nil, false
195670  }
195671  
195672  // AsEloquaSource is the BasicCopySource implementation for SQLSource.
195673  func (ss SQLSource) AsEloquaSource() (*EloquaSource, bool) {
195674  	return nil, false
195675  }
195676  
195677  // AsDrillSource is the BasicCopySource implementation for SQLSource.
195678  func (ss SQLSource) AsDrillSource() (*DrillSource, bool) {
195679  	return nil, false
195680  }
195681  
195682  // AsCouchbaseSource is the BasicCopySource implementation for SQLSource.
195683  func (ss SQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
195684  	return nil, false
195685  }
195686  
195687  // AsConcurSource is the BasicCopySource implementation for SQLSource.
195688  func (ss SQLSource) AsConcurSource() (*ConcurSource, bool) {
195689  	return nil, false
195690  }
195691  
195692  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SQLSource.
195693  func (ss SQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
195694  	return nil, false
195695  }
195696  
195697  // AsAmazonMWSSource is the BasicCopySource implementation for SQLSource.
195698  func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
195699  	return nil, false
195700  }
195701  
195702  // AsCassandraSource is the BasicCopySource implementation for SQLSource.
195703  func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) {
195704  	return nil, false
195705  }
195706  
195707  // AsTeradataSource is the BasicCopySource implementation for SQLSource.
195708  func (ss SQLSource) AsTeradataSource() (*TeradataSource, bool) {
195709  	return nil, false
195710  }
195711  
195712  // AsAzureMySQLSource is the BasicCopySource implementation for SQLSource.
195713  func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
195714  	return nil, false
195715  }
195716  
195717  // AsSQLDWSource is the BasicCopySource implementation for SQLSource.
195718  func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) {
195719  	return nil, false
195720  }
195721  
195722  // AsSQLMISource is the BasicCopySource implementation for SQLSource.
195723  func (ss SQLSource) AsSQLMISource() (*SQLMISource, bool) {
195724  	return nil, false
195725  }
195726  
195727  // AsAzureSQLSource is the BasicCopySource implementation for SQLSource.
195728  func (ss SQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
195729  	return nil, false
195730  }
195731  
195732  // AsSQLServerSource is the BasicCopySource implementation for SQLSource.
195733  func (ss SQLSource) AsSQLServerSource() (*SQLServerSource, bool) {
195734  	return nil, false
195735  }
195736  
195737  // AsSQLSource is the BasicCopySource implementation for SQLSource.
195738  func (ss SQLSource) AsSQLSource() (*SQLSource, bool) {
195739  	return &ss, true
195740  }
195741  
195742  // AsSapTableSource is the BasicCopySource implementation for SQLSource.
195743  func (ss SQLSource) AsSapTableSource() (*SapTableSource, bool) {
195744  	return nil, false
195745  }
195746  
195747  // AsSapOpenHubSource is the BasicCopySource implementation for SQLSource.
195748  func (ss SQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
195749  	return nil, false
195750  }
195751  
195752  // AsSapHanaSource is the BasicCopySource implementation for SQLSource.
195753  func (ss SQLSource) AsSapHanaSource() (*SapHanaSource, bool) {
195754  	return nil, false
195755  }
195756  
195757  // AsSapEccSource is the BasicCopySource implementation for SQLSource.
195758  func (ss SQLSource) AsSapEccSource() (*SapEccSource, bool) {
195759  	return nil, false
195760  }
195761  
195762  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SQLSource.
195763  func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
195764  	return nil, false
195765  }
195766  
195767  // AsSalesforceSource is the BasicCopySource implementation for SQLSource.
195768  func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) {
195769  	return nil, false
195770  }
195771  
195772  // AsSapBwSource is the BasicCopySource implementation for SQLSource.
195773  func (ss SQLSource) AsSapBwSource() (*SapBwSource, bool) {
195774  	return nil, false
195775  }
195776  
195777  // AsSybaseSource is the BasicCopySource implementation for SQLSource.
195778  func (ss SQLSource) AsSybaseSource() (*SybaseSource, bool) {
195779  	return nil, false
195780  }
195781  
195782  // AsPostgreSQLSource is the BasicCopySource implementation for SQLSource.
195783  func (ss SQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
195784  	return nil, false
195785  }
195786  
195787  // AsMySQLSource is the BasicCopySource implementation for SQLSource.
195788  func (ss SQLSource) AsMySQLSource() (*MySQLSource, bool) {
195789  	return nil, false
195790  }
195791  
195792  // AsOdbcSource is the BasicCopySource implementation for SQLSource.
195793  func (ss SQLSource) AsOdbcSource() (*OdbcSource, bool) {
195794  	return nil, false
195795  }
195796  
195797  // AsDb2Source is the BasicCopySource implementation for SQLSource.
195798  func (ss SQLSource) AsDb2Source() (*Db2Source, bool) {
195799  	return nil, false
195800  }
195801  
195802  // AsInformixSource is the BasicCopySource implementation for SQLSource.
195803  func (ss SQLSource) AsInformixSource() (*InformixSource, bool) {
195804  	return nil, false
195805  }
195806  
195807  // AsAzureTableSource is the BasicCopySource implementation for SQLSource.
195808  func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) {
195809  	return nil, false
195810  }
195811  
195812  // AsTabularSource is the BasicCopySource implementation for SQLSource.
195813  func (ss SQLSource) AsTabularSource() (*TabularSource, bool) {
195814  	return nil, false
195815  }
195816  
195817  // AsBasicTabularSource is the BasicCopySource implementation for SQLSource.
195818  func (ss SQLSource) AsBasicTabularSource() (BasicTabularSource, bool) {
195819  	return &ss, true
195820  }
195821  
195822  // AsBinarySource is the BasicCopySource implementation for SQLSource.
195823  func (ss SQLSource) AsBinarySource() (*BinarySource, bool) {
195824  	return nil, false
195825  }
195826  
195827  // AsOrcSource is the BasicCopySource implementation for SQLSource.
195828  func (ss SQLSource) AsOrcSource() (*OrcSource, bool) {
195829  	return nil, false
195830  }
195831  
195832  // AsJSONSource is the BasicCopySource implementation for SQLSource.
195833  func (ss SQLSource) AsJSONSource() (*JSONSource, bool) {
195834  	return nil, false
195835  }
195836  
195837  // AsDelimitedTextSource is the BasicCopySource implementation for SQLSource.
195838  func (ss SQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
195839  	return nil, false
195840  }
195841  
195842  // AsParquetSource is the BasicCopySource implementation for SQLSource.
195843  func (ss SQLSource) AsParquetSource() (*ParquetSource, bool) {
195844  	return nil, false
195845  }
195846  
195847  // AsAvroSource is the BasicCopySource implementation for SQLSource.
195848  func (ss SQLSource) AsAvroSource() (*AvroSource, bool) {
195849  	return nil, false
195850  }
195851  
195852  // AsCopySource is the BasicCopySource implementation for SQLSource.
195853  func (ss SQLSource) AsCopySource() (*CopySource, bool) {
195854  	return nil, false
195855  }
195856  
195857  // AsBasicCopySource is the BasicCopySource implementation for SQLSource.
195858  func (ss SQLSource) AsBasicCopySource() (BasicCopySource, bool) {
195859  	return &ss, true
195860  }
195861  
195862  // UnmarshalJSON is the custom unmarshaler for SQLSource struct.
195863  func (ss *SQLSource) UnmarshalJSON(body []byte) error {
195864  	var m map[string]*json.RawMessage
195865  	err := json.Unmarshal(body, &m)
195866  	if err != nil {
195867  		return err
195868  	}
195869  	for k, v := range m {
195870  		switch k {
195871  		case "sqlReaderQuery":
195872  			if v != nil {
195873  				var SQLReaderQuery interface{}
195874  				err = json.Unmarshal(*v, &SQLReaderQuery)
195875  				if err != nil {
195876  					return err
195877  				}
195878  				ss.SQLReaderQuery = SQLReaderQuery
195879  			}
195880  		case "sqlReaderStoredProcedureName":
195881  			if v != nil {
195882  				var SQLReaderStoredProcedureName interface{}
195883  				err = json.Unmarshal(*v, &SQLReaderStoredProcedureName)
195884  				if err != nil {
195885  					return err
195886  				}
195887  				ss.SQLReaderStoredProcedureName = SQLReaderStoredProcedureName
195888  			}
195889  		case "storedProcedureParameters":
195890  			if v != nil {
195891  				var storedProcedureParameters map[string]*StoredProcedureParameter
195892  				err = json.Unmarshal(*v, &storedProcedureParameters)
195893  				if err != nil {
195894  					return err
195895  				}
195896  				ss.StoredProcedureParameters = storedProcedureParameters
195897  			}
195898  		case "queryTimeout":
195899  			if v != nil {
195900  				var queryTimeout interface{}
195901  				err = json.Unmarshal(*v, &queryTimeout)
195902  				if err != nil {
195903  					return err
195904  				}
195905  				ss.QueryTimeout = queryTimeout
195906  			}
195907  		default:
195908  			if v != nil {
195909  				var additionalProperties interface{}
195910  				err = json.Unmarshal(*v, &additionalProperties)
195911  				if err != nil {
195912  					return err
195913  				}
195914  				if ss.AdditionalProperties == nil {
195915  					ss.AdditionalProperties = make(map[string]interface{})
195916  				}
195917  				ss.AdditionalProperties[k] = additionalProperties
195918  			}
195919  		case "sourceRetryCount":
195920  			if v != nil {
195921  				var sourceRetryCount interface{}
195922  				err = json.Unmarshal(*v, &sourceRetryCount)
195923  				if err != nil {
195924  					return err
195925  				}
195926  				ss.SourceRetryCount = sourceRetryCount
195927  			}
195928  		case "sourceRetryWait":
195929  			if v != nil {
195930  				var sourceRetryWait interface{}
195931  				err = json.Unmarshal(*v, &sourceRetryWait)
195932  				if err != nil {
195933  					return err
195934  				}
195935  				ss.SourceRetryWait = sourceRetryWait
195936  			}
195937  		case "maxConcurrentConnections":
195938  			if v != nil {
195939  				var maxConcurrentConnections interface{}
195940  				err = json.Unmarshal(*v, &maxConcurrentConnections)
195941  				if err != nil {
195942  					return err
195943  				}
195944  				ss.MaxConcurrentConnections = maxConcurrentConnections
195945  			}
195946  		case "type":
195947  			if v != nil {
195948  				var typeVar TypeBasicCopySource
195949  				err = json.Unmarshal(*v, &typeVar)
195950  				if err != nil {
195951  					return err
195952  				}
195953  				ss.Type = typeVar
195954  			}
195955  		}
195956  	}
195957  
195958  	return nil
195959  }
195960  
195961  // SquareLinkedService square Service linked service.
195962  type SquareLinkedService struct {
195963  	// SquareLinkedServiceTypeProperties - Square Service linked service properties.
195964  	*SquareLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
195965  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
195966  	AdditionalProperties map[string]interface{} `json:""`
195967  	// ConnectVia - The integration runtime reference.
195968  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
195969  	// Description - Linked service description.
195970  	Description *string `json:"description,omitempty"`
195971  	// Parameters - Parameters for linked service.
195972  	Parameters map[string]*ParameterSpecification `json:"parameters"`
195973  	// Annotations - List of tags that can be used for describing the linked service.
195974  	Annotations *[]interface{} `json:"annotations,omitempty"`
195975  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
195976  	Type TypeBasicLinkedService `json:"type,omitempty"`
195977  }
195978  
195979  // MarshalJSON is the custom marshaler for SquareLinkedService.
195980  func (sls SquareLinkedService) MarshalJSON() ([]byte, error) {
195981  	sls.Type = TypeSquare
195982  	objectMap := make(map[string]interface{})
195983  	if sls.SquareLinkedServiceTypeProperties != nil {
195984  		objectMap["typeProperties"] = sls.SquareLinkedServiceTypeProperties
195985  	}
195986  	if sls.ConnectVia != nil {
195987  		objectMap["connectVia"] = sls.ConnectVia
195988  	}
195989  	if sls.Description != nil {
195990  		objectMap["description"] = sls.Description
195991  	}
195992  	if sls.Parameters != nil {
195993  		objectMap["parameters"] = sls.Parameters
195994  	}
195995  	if sls.Annotations != nil {
195996  		objectMap["annotations"] = sls.Annotations
195997  	}
195998  	if sls.Type != "" {
195999  		objectMap["type"] = sls.Type
196000  	}
196001  	for k, v := range sls.AdditionalProperties {
196002  		objectMap[k] = v
196003  	}
196004  	return json.Marshal(objectMap)
196005  }
196006  
196007  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196008  func (sls SquareLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
196009  	return nil, false
196010  }
196011  
196012  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196013  func (sls SquareLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
196014  	return nil, false
196015  }
196016  
196017  // AsSapTableLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196018  func (sls SquareLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
196019  	return nil, false
196020  }
196021  
196022  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196023  func (sls SquareLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
196024  	return nil, false
196025  }
196026  
196027  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196028  func (sls SquareLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
196029  	return nil, false
196030  }
196031  
196032  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196033  func (sls SquareLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
196034  	return nil, false
196035  }
196036  
196037  // AsResponsysLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196038  func (sls SquareLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
196039  	return nil, false
196040  }
196041  
196042  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196043  func (sls SquareLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
196044  	return nil, false
196045  }
196046  
196047  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196048  func (sls SquareLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
196049  	return nil, false
196050  }
196051  
196052  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196053  func (sls SquareLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
196054  	return nil, false
196055  }
196056  
196057  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196058  func (sls SquareLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
196059  	return nil, false
196060  }
196061  
196062  // AsNetezzaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196063  func (sls SquareLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
196064  	return nil, false
196065  }
196066  
196067  // AsVerticaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196068  func (sls SquareLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
196069  	return nil, false
196070  }
196071  
196072  // AsZohoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196073  func (sls SquareLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
196074  	return nil, false
196075  }
196076  
196077  // AsXeroLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196078  func (sls SquareLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
196079  	return nil, false
196080  }
196081  
196082  // AsSquareLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196083  func (sls SquareLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
196084  	return &sls, true
196085  }
196086  
196087  // AsSparkLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196088  func (sls SquareLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
196089  	return nil, false
196090  }
196091  
196092  // AsShopifyLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196093  func (sls SquareLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
196094  	return nil, false
196095  }
196096  
196097  // AsServiceNowLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196098  func (sls SquareLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
196099  	return nil, false
196100  }
196101  
196102  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196103  func (sls SquareLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
196104  	return nil, false
196105  }
196106  
196107  // AsPrestoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196108  func (sls SquareLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
196109  	return nil, false
196110  }
196111  
196112  // AsPhoenixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196113  func (sls SquareLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
196114  	return nil, false
196115  }
196116  
196117  // AsPaypalLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196118  func (sls SquareLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
196119  	return nil, false
196120  }
196121  
196122  // AsMarketoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196123  func (sls SquareLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
196124  	return nil, false
196125  }
196126  
196127  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196128  func (sls SquareLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
196129  	return nil, false
196130  }
196131  
196132  // AsMariaDBLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196133  func (sls SquareLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
196134  	return nil, false
196135  }
196136  
196137  // AsMagentoLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196138  func (sls SquareLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
196139  	return nil, false
196140  }
196141  
196142  // AsJiraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196143  func (sls SquareLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
196144  	return nil, false
196145  }
196146  
196147  // AsImpalaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196148  func (sls SquareLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
196149  	return nil, false
196150  }
196151  
196152  // AsHubspotLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196153  func (sls SquareLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
196154  	return nil, false
196155  }
196156  
196157  // AsHiveLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196158  func (sls SquareLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
196159  	return nil, false
196160  }
196161  
196162  // AsHBaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196163  func (sls SquareLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
196164  	return nil, false
196165  }
196166  
196167  // AsGreenplumLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196168  func (sls SquareLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
196169  	return nil, false
196170  }
196171  
196172  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196173  func (sls SquareLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
196174  	return nil, false
196175  }
196176  
196177  // AsEloquaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196178  func (sls SquareLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
196179  	return nil, false
196180  }
196181  
196182  // AsDrillLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196183  func (sls SquareLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
196184  	return nil, false
196185  }
196186  
196187  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196188  func (sls SquareLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
196189  	return nil, false
196190  }
196191  
196192  // AsConcurLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196193  func (sls SquareLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
196194  	return nil, false
196195  }
196196  
196197  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196198  func (sls SquareLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
196199  	return nil, false
196200  }
196201  
196202  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196203  func (sls SquareLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
196204  	return nil, false
196205  }
196206  
196207  // AsSapHanaLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196208  func (sls SquareLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
196209  	return nil, false
196210  }
196211  
196212  // AsSapBWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196213  func (sls SquareLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
196214  	return nil, false
196215  }
196216  
196217  // AsSftpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196218  func (sls SquareLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
196219  	return nil, false
196220  }
196221  
196222  // AsFtpServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196223  func (sls SquareLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
196224  	return nil, false
196225  }
196226  
196227  // AsHTTPLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196228  func (sls SquareLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
196229  	return nil, false
196230  }
196231  
196232  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196233  func (sls SquareLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
196234  	return nil, false
196235  }
196236  
196237  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196238  func (sls SquareLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
196239  	return nil, false
196240  }
196241  
196242  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196243  func (sls SquareLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
196244  	return nil, false
196245  }
196246  
196247  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SquareLinkedService.
196248  func (sls SquareLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
196249  	return nil, false
196250  }
196251  
196252  // AsRestServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196253  func (sls SquareLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
196254  	return nil, false
196255  }
196256  
196257  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196258  func (sls SquareLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
196259  	return nil, false
196260  }
196261  
196262  // AsSapEccLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196263  func (sls SquareLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
196264  	return nil, false
196265  }
196266  
196267  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196268  func (sls SquareLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
196269  	return nil, false
196270  }
196271  
196272  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196273  func (sls SquareLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
196274  	return nil, false
196275  }
196276  
196277  // AsSalesforceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196278  func (sls SquareLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
196279  	return nil, false
196280  }
196281  
196282  // AsOffice365LinkedService is the BasicLinkedService implementation for SquareLinkedService.
196283  func (sls SquareLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
196284  	return nil, false
196285  }
196286  
196287  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196288  func (sls SquareLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
196289  	return nil, false
196290  }
196291  
196292  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196293  func (sls SquareLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
196294  	return nil, false
196295  }
196296  
196297  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SquareLinkedService.
196298  func (sls SquareLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
196299  	return nil, false
196300  }
196301  
196302  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
196303  func (sls SquareLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
196304  	return nil, false
196305  }
196306  
196307  // AsMongoDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196308  func (sls SquareLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
196309  	return nil, false
196310  }
196311  
196312  // AsCassandraLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196313  func (sls SquareLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
196314  	return nil, false
196315  }
196316  
196317  // AsWebLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196318  func (sls SquareLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
196319  	return nil, false
196320  }
196321  
196322  // AsODataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196323  func (sls SquareLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
196324  	return nil, false
196325  }
196326  
196327  // AsHdfsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196328  func (sls SquareLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
196329  	return nil, false
196330  }
196331  
196332  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196333  func (sls SquareLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
196334  	return nil, false
196335  }
196336  
196337  // AsInformixLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196338  func (sls SquareLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
196339  	return nil, false
196340  }
196341  
196342  // AsOdbcLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196343  func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
196344  	return nil, false
196345  }
196346  
196347  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196348  func (sls SquareLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
196349  	return nil, false
196350  }
196351  
196352  // AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196353  func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
196354  	return nil, false
196355  }
196356  
196357  // AsTeradataLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196358  func (sls SquareLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
196359  	return nil, false
196360  }
196361  
196362  // AsDb2LinkedService is the BasicLinkedService implementation for SquareLinkedService.
196363  func (sls SquareLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
196364  	return nil, false
196365  }
196366  
196367  // AsSybaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196368  func (sls SquareLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
196369  	return nil, false
196370  }
196371  
196372  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196373  func (sls SquareLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
196374  	return nil, false
196375  }
196376  
196377  // AsMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196378  func (sls SquareLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
196379  	return nil, false
196380  }
196381  
196382  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196383  func (sls SquareLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
196384  	return nil, false
196385  }
196386  
196387  // AsOracleLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196388  func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
196389  	return nil, false
196390  }
196391  
196392  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196393  func (sls SquareLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
196394  	return nil, false
196395  }
196396  
196397  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196398  func (sls SquareLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
196399  	return nil, false
196400  }
196401  
196402  // AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196403  func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
196404  	return nil, false
196405  }
196406  
196407  // AsHDInsightLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196408  func (sls SquareLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
196409  	return nil, false
196410  }
196411  
196412  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196413  func (sls SquareLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
196414  	return nil, false
196415  }
196416  
196417  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196418  func (sls SquareLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
196419  	return nil, false
196420  }
196421  
196422  // AsDynamicsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196423  func (sls SquareLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
196424  	return nil, false
196425  }
196426  
196427  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196428  func (sls SquareLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
196429  	return nil, false
196430  }
196431  
196432  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196433  func (sls SquareLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
196434  	return nil, false
196435  }
196436  
196437  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196438  func (sls SquareLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
196439  	return nil, false
196440  }
196441  
196442  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SquareLinkedService.
196443  func (sls SquareLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
196444  	return nil, false
196445  }
196446  
196447  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196448  func (sls SquareLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
196449  	return nil, false
196450  }
196451  
196452  // AsSQLServerLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196453  func (sls SquareLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
196454  	return nil, false
196455  }
196456  
196457  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196458  func (sls SquareLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
196459  	return nil, false
196460  }
196461  
196462  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196463  func (sls SquareLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
196464  	return nil, false
196465  }
196466  
196467  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196468  func (sls SquareLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
196469  	return nil, false
196470  }
196471  
196472  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196473  func (sls SquareLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
196474  	return nil, false
196475  }
196476  
196477  // AsLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196478  func (sls SquareLinkedService) AsLinkedService() (*LinkedService, bool) {
196479  	return nil, false
196480  }
196481  
196482  // AsBasicLinkedService is the BasicLinkedService implementation for SquareLinkedService.
196483  func (sls SquareLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
196484  	return &sls, true
196485  }
196486  
196487  // UnmarshalJSON is the custom unmarshaler for SquareLinkedService struct.
196488  func (sls *SquareLinkedService) UnmarshalJSON(body []byte) error {
196489  	var m map[string]*json.RawMessage
196490  	err := json.Unmarshal(body, &m)
196491  	if err != nil {
196492  		return err
196493  	}
196494  	for k, v := range m {
196495  		switch k {
196496  		case "typeProperties":
196497  			if v != nil {
196498  				var squareLinkedServiceTypeProperties SquareLinkedServiceTypeProperties
196499  				err = json.Unmarshal(*v, &squareLinkedServiceTypeProperties)
196500  				if err != nil {
196501  					return err
196502  				}
196503  				sls.SquareLinkedServiceTypeProperties = &squareLinkedServiceTypeProperties
196504  			}
196505  		default:
196506  			if v != nil {
196507  				var additionalProperties interface{}
196508  				err = json.Unmarshal(*v, &additionalProperties)
196509  				if err != nil {
196510  					return err
196511  				}
196512  				if sls.AdditionalProperties == nil {
196513  					sls.AdditionalProperties = make(map[string]interface{})
196514  				}
196515  				sls.AdditionalProperties[k] = additionalProperties
196516  			}
196517  		case "connectVia":
196518  			if v != nil {
196519  				var connectVia IntegrationRuntimeReference
196520  				err = json.Unmarshal(*v, &connectVia)
196521  				if err != nil {
196522  					return err
196523  				}
196524  				sls.ConnectVia = &connectVia
196525  			}
196526  		case "description":
196527  			if v != nil {
196528  				var description string
196529  				err = json.Unmarshal(*v, &description)
196530  				if err != nil {
196531  					return err
196532  				}
196533  				sls.Description = &description
196534  			}
196535  		case "parameters":
196536  			if v != nil {
196537  				var parameters map[string]*ParameterSpecification
196538  				err = json.Unmarshal(*v, &parameters)
196539  				if err != nil {
196540  					return err
196541  				}
196542  				sls.Parameters = parameters
196543  			}
196544  		case "annotations":
196545  			if v != nil {
196546  				var annotations []interface{}
196547  				err = json.Unmarshal(*v, &annotations)
196548  				if err != nil {
196549  					return err
196550  				}
196551  				sls.Annotations = &annotations
196552  			}
196553  		case "type":
196554  			if v != nil {
196555  				var typeVar TypeBasicLinkedService
196556  				err = json.Unmarshal(*v, &typeVar)
196557  				if err != nil {
196558  					return err
196559  				}
196560  				sls.Type = typeVar
196561  			}
196562  		}
196563  	}
196564  
196565  	return nil
196566  }
196567  
196568  // SquareLinkedServiceTypeProperties square Service linked service properties.
196569  type SquareLinkedServiceTypeProperties struct {
196570  	// Host - The URL of the Square instance. (i.e. mystore.mysquare.com)
196571  	Host interface{} `json:"host,omitempty"`
196572  	// ClientID - The client ID associated with your Square application.
196573  	ClientID interface{} `json:"clientId,omitempty"`
196574  	// ClientSecret - The client secret associated with your Square application.
196575  	ClientSecret BasicSecretBase `json:"clientSecret,omitempty"`
196576  	// RedirectURI - The redirect URL assigned in the Square application dashboard. (i.e. http://localhost:2500)
196577  	RedirectURI interface{} `json:"redirectUri,omitempty"`
196578  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
196579  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
196580  	// 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.
196581  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
196582  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
196583  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
196584  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
196585  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
196586  }
196587  
196588  // UnmarshalJSON is the custom unmarshaler for SquareLinkedServiceTypeProperties struct.
196589  func (slstp *SquareLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
196590  	var m map[string]*json.RawMessage
196591  	err := json.Unmarshal(body, &m)
196592  	if err != nil {
196593  		return err
196594  	}
196595  	for k, v := range m {
196596  		switch k {
196597  		case "host":
196598  			if v != nil {
196599  				var host interface{}
196600  				err = json.Unmarshal(*v, &host)
196601  				if err != nil {
196602  					return err
196603  				}
196604  				slstp.Host = host
196605  			}
196606  		case "clientId":
196607  			if v != nil {
196608  				var clientID interface{}
196609  				err = json.Unmarshal(*v, &clientID)
196610  				if err != nil {
196611  					return err
196612  				}
196613  				slstp.ClientID = clientID
196614  			}
196615  		case "clientSecret":
196616  			if v != nil {
196617  				clientSecret, err := unmarshalBasicSecretBase(*v)
196618  				if err != nil {
196619  					return err
196620  				}
196621  				slstp.ClientSecret = clientSecret
196622  			}
196623  		case "redirectUri":
196624  			if v != nil {
196625  				var redirectURI interface{}
196626  				err = json.Unmarshal(*v, &redirectURI)
196627  				if err != nil {
196628  					return err
196629  				}
196630  				slstp.RedirectURI = redirectURI
196631  			}
196632  		case "useEncryptedEndpoints":
196633  			if v != nil {
196634  				var useEncryptedEndpoints interface{}
196635  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
196636  				if err != nil {
196637  					return err
196638  				}
196639  				slstp.UseEncryptedEndpoints = useEncryptedEndpoints
196640  			}
196641  		case "useHostVerification":
196642  			if v != nil {
196643  				var useHostVerification interface{}
196644  				err = json.Unmarshal(*v, &useHostVerification)
196645  				if err != nil {
196646  					return err
196647  				}
196648  				slstp.UseHostVerification = useHostVerification
196649  			}
196650  		case "usePeerVerification":
196651  			if v != nil {
196652  				var usePeerVerification interface{}
196653  				err = json.Unmarshal(*v, &usePeerVerification)
196654  				if err != nil {
196655  					return err
196656  				}
196657  				slstp.UsePeerVerification = usePeerVerification
196658  			}
196659  		case "encryptedCredential":
196660  			if v != nil {
196661  				var encryptedCredential interface{}
196662  				err = json.Unmarshal(*v, &encryptedCredential)
196663  				if err != nil {
196664  					return err
196665  				}
196666  				slstp.EncryptedCredential = encryptedCredential
196667  			}
196668  		}
196669  	}
196670  
196671  	return nil
196672  }
196673  
196674  // SquareObjectDataset square Service dataset.
196675  type SquareObjectDataset struct {
196676  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
196677  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
196678  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
196679  	AdditionalProperties map[string]interface{} `json:""`
196680  	// Description - Dataset description.
196681  	Description *string `json:"description,omitempty"`
196682  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
196683  	Structure interface{} `json:"structure,omitempty"`
196684  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
196685  	Schema interface{} `json:"schema,omitempty"`
196686  	// LinkedServiceName - Linked service reference.
196687  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
196688  	// Parameters - Parameters for dataset.
196689  	Parameters map[string]*ParameterSpecification `json:"parameters"`
196690  	// Annotations - List of tags that can be used for describing the Dataset.
196691  	Annotations *[]interface{} `json:"annotations,omitempty"`
196692  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
196693  	Folder *DatasetFolder `json:"folder,omitempty"`
196694  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
196695  	Type TypeBasicDataset `json:"type,omitempty"`
196696  }
196697  
196698  // MarshalJSON is the custom marshaler for SquareObjectDataset.
196699  func (sod SquareObjectDataset) MarshalJSON() ([]byte, error) {
196700  	sod.Type = TypeSquareObject
196701  	objectMap := make(map[string]interface{})
196702  	if sod.GenericDatasetTypeProperties != nil {
196703  		objectMap["typeProperties"] = sod.GenericDatasetTypeProperties
196704  	}
196705  	if sod.Description != nil {
196706  		objectMap["description"] = sod.Description
196707  	}
196708  	if sod.Structure != nil {
196709  		objectMap["structure"] = sod.Structure
196710  	}
196711  	if sod.Schema != nil {
196712  		objectMap["schema"] = sod.Schema
196713  	}
196714  	if sod.LinkedServiceName != nil {
196715  		objectMap["linkedServiceName"] = sod.LinkedServiceName
196716  	}
196717  	if sod.Parameters != nil {
196718  		objectMap["parameters"] = sod.Parameters
196719  	}
196720  	if sod.Annotations != nil {
196721  		objectMap["annotations"] = sod.Annotations
196722  	}
196723  	if sod.Folder != nil {
196724  		objectMap["folder"] = sod.Folder
196725  	}
196726  	if sod.Type != "" {
196727  		objectMap["type"] = sod.Type
196728  	}
196729  	for k, v := range sod.AdditionalProperties {
196730  		objectMap[k] = v
196731  	}
196732  	return json.Marshal(objectMap)
196733  }
196734  
196735  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196736  func (sod SquareObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
196737  	return nil, false
196738  }
196739  
196740  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SquareObjectDataset.
196741  func (sod SquareObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
196742  	return nil, false
196743  }
196744  
196745  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196746  func (sod SquareObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
196747  	return nil, false
196748  }
196749  
196750  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SquareObjectDataset.
196751  func (sod SquareObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
196752  	return nil, false
196753  }
196754  
196755  // AsResponsysObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196756  func (sod SquareObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
196757  	return nil, false
196758  }
196759  
196760  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196761  func (sod SquareObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
196762  	return nil, false
196763  }
196764  
196765  // AsVerticaTableDataset is the BasicDataset implementation for SquareObjectDataset.
196766  func (sod SquareObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
196767  	return nil, false
196768  }
196769  
196770  // AsNetezzaTableDataset is the BasicDataset implementation for SquareObjectDataset.
196771  func (sod SquareObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
196772  	return nil, false
196773  }
196774  
196775  // AsZohoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196776  func (sod SquareObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
196777  	return nil, false
196778  }
196779  
196780  // AsXeroObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196781  func (sod SquareObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
196782  	return nil, false
196783  }
196784  
196785  // AsSquareObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196786  func (sod SquareObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
196787  	return &sod, true
196788  }
196789  
196790  // AsSparkObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196791  func (sod SquareObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
196792  	return nil, false
196793  }
196794  
196795  // AsShopifyObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196796  func (sod SquareObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
196797  	return nil, false
196798  }
196799  
196800  // AsServiceNowObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196801  func (sod SquareObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
196802  	return nil, false
196803  }
196804  
196805  // AsQuickBooksObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196806  func (sod SquareObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
196807  	return nil, false
196808  }
196809  
196810  // AsPrestoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196811  func (sod SquareObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
196812  	return nil, false
196813  }
196814  
196815  // AsPhoenixObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196816  func (sod SquareObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
196817  	return nil, false
196818  }
196819  
196820  // AsPaypalObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196821  func (sod SquareObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
196822  	return nil, false
196823  }
196824  
196825  // AsMarketoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196826  func (sod SquareObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
196827  	return nil, false
196828  }
196829  
196830  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset.
196831  func (sod SquareObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
196832  	return nil, false
196833  }
196834  
196835  // AsMariaDBTableDataset is the BasicDataset implementation for SquareObjectDataset.
196836  func (sod SquareObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
196837  	return nil, false
196838  }
196839  
196840  // AsMagentoObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196841  func (sod SquareObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
196842  	return nil, false
196843  }
196844  
196845  // AsJiraObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196846  func (sod SquareObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
196847  	return nil, false
196848  }
196849  
196850  // AsImpalaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196851  func (sod SquareObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
196852  	return nil, false
196853  }
196854  
196855  // AsHubspotObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196856  func (sod SquareObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
196857  	return nil, false
196858  }
196859  
196860  // AsHiveObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196861  func (sod SquareObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
196862  	return nil, false
196863  }
196864  
196865  // AsHBaseObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196866  func (sod SquareObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
196867  	return nil, false
196868  }
196869  
196870  // AsGreenplumTableDataset is the BasicDataset implementation for SquareObjectDataset.
196871  func (sod SquareObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
196872  	return nil, false
196873  }
196874  
196875  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196876  func (sod SquareObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
196877  	return nil, false
196878  }
196879  
196880  // AsEloquaObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196881  func (sod SquareObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
196882  	return nil, false
196883  }
196884  
196885  // AsDrillTableDataset is the BasicDataset implementation for SquareObjectDataset.
196886  func (sod SquareObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
196887  	return nil, false
196888  }
196889  
196890  // AsCouchbaseTableDataset is the BasicDataset implementation for SquareObjectDataset.
196891  func (sod SquareObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
196892  	return nil, false
196893  }
196894  
196895  // AsConcurObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196896  func (sod SquareObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
196897  	return nil, false
196898  }
196899  
196900  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
196901  func (sod SquareObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
196902  	return nil, false
196903  }
196904  
196905  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196906  func (sod SquareObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
196907  	return nil, false
196908  }
196909  
196910  // AsAzureSearchIndexDataset is the BasicDataset implementation for SquareObjectDataset.
196911  func (sod SquareObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
196912  	return nil, false
196913  }
196914  
196915  // AsWebTableDataset is the BasicDataset implementation for SquareObjectDataset.
196916  func (sod SquareObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
196917  	return nil, false
196918  }
196919  
196920  // AsSapTableResourceDataset is the BasicDataset implementation for SquareObjectDataset.
196921  func (sod SquareObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
196922  	return nil, false
196923  }
196924  
196925  // AsRestResourceDataset is the BasicDataset implementation for SquareObjectDataset.
196926  func (sod SquareObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
196927  	return nil, false
196928  }
196929  
196930  // AsSQLServerTableDataset is the BasicDataset implementation for SquareObjectDataset.
196931  func (sod SquareObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
196932  	return nil, false
196933  }
196934  
196935  // AsSapOpenHubTableDataset is the BasicDataset implementation for SquareObjectDataset.
196936  func (sod SquareObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
196937  	return nil, false
196938  }
196939  
196940  // AsSapHanaTableDataset is the BasicDataset implementation for SquareObjectDataset.
196941  func (sod SquareObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
196942  	return nil, false
196943  }
196944  
196945  // AsSapEccResourceDataset is the BasicDataset implementation for SquareObjectDataset.
196946  func (sod SquareObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
196947  	return nil, false
196948  }
196949  
196950  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SquareObjectDataset.
196951  func (sod SquareObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
196952  	return nil, false
196953  }
196954  
196955  // AsSapBwCubeDataset is the BasicDataset implementation for SquareObjectDataset.
196956  func (sod SquareObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
196957  	return nil, false
196958  }
196959  
196960  // AsSybaseTableDataset is the BasicDataset implementation for SquareObjectDataset.
196961  func (sod SquareObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
196962  	return nil, false
196963  }
196964  
196965  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196966  func (sod SquareObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
196967  	return nil, false
196968  }
196969  
196970  // AsSalesforceObjectDataset is the BasicDataset implementation for SquareObjectDataset.
196971  func (sod SquareObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
196972  	return nil, false
196973  }
196974  
196975  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SquareObjectDataset.
196976  func (sod SquareObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
196977  	return nil, false
196978  }
196979  
196980  // AsPostgreSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
196981  func (sod SquareObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
196982  	return nil, false
196983  }
196984  
196985  // AsMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
196986  func (sod SquareObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
196987  	return nil, false
196988  }
196989  
196990  // AsOdbcTableDataset is the BasicDataset implementation for SquareObjectDataset.
196991  func (sod SquareObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
196992  	return nil, false
196993  }
196994  
196995  // AsInformixTableDataset is the BasicDataset implementation for SquareObjectDataset.
196996  func (sod SquareObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
196997  	return nil, false
196998  }
196999  
197000  // AsRelationalTableDataset is the BasicDataset implementation for SquareObjectDataset.
197001  func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
197002  	return nil, false
197003  }
197004  
197005  // AsDb2TableDataset is the BasicDataset implementation for SquareObjectDataset.
197006  func (sod SquareObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
197007  	return nil, false
197008  }
197009  
197010  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SquareObjectDataset.
197011  func (sod SquareObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
197012  	return nil, false
197013  }
197014  
197015  // AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
197016  func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
197017  	return nil, false
197018  }
197019  
197020  // AsTeradataTableDataset is the BasicDataset implementation for SquareObjectDataset.
197021  func (sod SquareObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
197022  	return nil, false
197023  }
197024  
197025  // AsOracleTableDataset is the BasicDataset implementation for SquareObjectDataset.
197026  func (sod SquareObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
197027  	return nil, false
197028  }
197029  
197030  // AsODataResourceDataset is the BasicDataset implementation for SquareObjectDataset.
197031  func (sod SquareObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
197032  	return nil, false
197033  }
197034  
197035  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset.
197036  func (sod SquareObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
197037  	return nil, false
197038  }
197039  
197040  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SquareObjectDataset.
197041  func (sod SquareObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
197042  	return nil, false
197043  }
197044  
197045  // AsMongoDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
197046  func (sod SquareObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
197047  	return nil, false
197048  }
197049  
197050  // AsOffice365Dataset is the BasicDataset implementation for SquareObjectDataset.
197051  func (sod SquareObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
197052  	return nil, false
197053  }
197054  
197055  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
197056  func (sod SquareObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
197057  	return nil, false
197058  }
197059  
197060  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SquareObjectDataset.
197061  func (sod SquareObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
197062  	return nil, false
197063  }
197064  
197065  // AsDynamicsEntityDataset is the BasicDataset implementation for SquareObjectDataset.
197066  func (sod SquareObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
197067  	return nil, false
197068  }
197069  
197070  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SquareObjectDataset.
197071  func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
197072  	return nil, false
197073  }
197074  
197075  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset.
197076  func (sod SquareObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
197077  	return nil, false
197078  }
197079  
197080  // AsCustomDataset is the BasicDataset implementation for SquareObjectDataset.
197081  func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
197082  	return nil, false
197083  }
197084  
197085  // AsCassandraTableDataset is the BasicDataset implementation for SquareObjectDataset.
197086  func (sod SquareObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
197087  	return nil, false
197088  }
197089  
197090  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SquareObjectDataset.
197091  func (sod SquareObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
197092  	return nil, false
197093  }
197094  
197095  // AsAzureSQLMITableDataset is the BasicDataset implementation for SquareObjectDataset.
197096  func (sod SquareObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
197097  	return nil, false
197098  }
197099  
197100  // AsAzureSQLTableDataset is the BasicDataset implementation for SquareObjectDataset.
197101  func (sod SquareObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
197102  	return nil, false
197103  }
197104  
197105  // AsAzureTableDataset is the BasicDataset implementation for SquareObjectDataset.
197106  func (sod SquareObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
197107  	return nil, false
197108  }
197109  
197110  // AsBinaryDataset is the BasicDataset implementation for SquareObjectDataset.
197111  func (sod SquareObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
197112  	return nil, false
197113  }
197114  
197115  // AsOrcDataset is the BasicDataset implementation for SquareObjectDataset.
197116  func (sod SquareObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
197117  	return nil, false
197118  }
197119  
197120  // AsJSONDataset is the BasicDataset implementation for SquareObjectDataset.
197121  func (sod SquareObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
197122  	return nil, false
197123  }
197124  
197125  // AsDelimitedTextDataset is the BasicDataset implementation for SquareObjectDataset.
197126  func (sod SquareObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
197127  	return nil, false
197128  }
197129  
197130  // AsParquetDataset is the BasicDataset implementation for SquareObjectDataset.
197131  func (sod SquareObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
197132  	return nil, false
197133  }
197134  
197135  // AsAvroDataset is the BasicDataset implementation for SquareObjectDataset.
197136  func (sod SquareObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
197137  	return nil, false
197138  }
197139  
197140  // AsDataset is the BasicDataset implementation for SquareObjectDataset.
197141  func (sod SquareObjectDataset) AsDataset() (*Dataset, bool) {
197142  	return nil, false
197143  }
197144  
197145  // AsBasicDataset is the BasicDataset implementation for SquareObjectDataset.
197146  func (sod SquareObjectDataset) AsBasicDataset() (BasicDataset, bool) {
197147  	return &sod, true
197148  }
197149  
197150  // UnmarshalJSON is the custom unmarshaler for SquareObjectDataset struct.
197151  func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error {
197152  	var m map[string]*json.RawMessage
197153  	err := json.Unmarshal(body, &m)
197154  	if err != nil {
197155  		return err
197156  	}
197157  	for k, v := range m {
197158  		switch k {
197159  		case "typeProperties":
197160  			if v != nil {
197161  				var genericDatasetTypeProperties GenericDatasetTypeProperties
197162  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
197163  				if err != nil {
197164  					return err
197165  				}
197166  				sod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
197167  			}
197168  		default:
197169  			if v != nil {
197170  				var additionalProperties interface{}
197171  				err = json.Unmarshal(*v, &additionalProperties)
197172  				if err != nil {
197173  					return err
197174  				}
197175  				if sod.AdditionalProperties == nil {
197176  					sod.AdditionalProperties = make(map[string]interface{})
197177  				}
197178  				sod.AdditionalProperties[k] = additionalProperties
197179  			}
197180  		case "description":
197181  			if v != nil {
197182  				var description string
197183  				err = json.Unmarshal(*v, &description)
197184  				if err != nil {
197185  					return err
197186  				}
197187  				sod.Description = &description
197188  			}
197189  		case "structure":
197190  			if v != nil {
197191  				var structure interface{}
197192  				err = json.Unmarshal(*v, &structure)
197193  				if err != nil {
197194  					return err
197195  				}
197196  				sod.Structure = structure
197197  			}
197198  		case "schema":
197199  			if v != nil {
197200  				var schema interface{}
197201  				err = json.Unmarshal(*v, &schema)
197202  				if err != nil {
197203  					return err
197204  				}
197205  				sod.Schema = schema
197206  			}
197207  		case "linkedServiceName":
197208  			if v != nil {
197209  				var linkedServiceName LinkedServiceReference
197210  				err = json.Unmarshal(*v, &linkedServiceName)
197211  				if err != nil {
197212  					return err
197213  				}
197214  				sod.LinkedServiceName = &linkedServiceName
197215  			}
197216  		case "parameters":
197217  			if v != nil {
197218  				var parameters map[string]*ParameterSpecification
197219  				err = json.Unmarshal(*v, &parameters)
197220  				if err != nil {
197221  					return err
197222  				}
197223  				sod.Parameters = parameters
197224  			}
197225  		case "annotations":
197226  			if v != nil {
197227  				var annotations []interface{}
197228  				err = json.Unmarshal(*v, &annotations)
197229  				if err != nil {
197230  					return err
197231  				}
197232  				sod.Annotations = &annotations
197233  			}
197234  		case "folder":
197235  			if v != nil {
197236  				var folder DatasetFolder
197237  				err = json.Unmarshal(*v, &folder)
197238  				if err != nil {
197239  					return err
197240  				}
197241  				sod.Folder = &folder
197242  			}
197243  		case "type":
197244  			if v != nil {
197245  				var typeVar TypeBasicDataset
197246  				err = json.Unmarshal(*v, &typeVar)
197247  				if err != nil {
197248  					return err
197249  				}
197250  				sod.Type = typeVar
197251  			}
197252  		}
197253  	}
197254  
197255  	return nil
197256  }
197257  
197258  // SquareSource a copy activity Square Service source.
197259  type SquareSource struct {
197260  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
197261  	Query interface{} `json:"query,omitempty"`
197262  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
197263  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
197264  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
197265  	AdditionalProperties map[string]interface{} `json:""`
197266  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
197267  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
197268  	// 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])).
197269  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
197270  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
197271  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
197272  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
197273  	Type TypeBasicCopySource `json:"type,omitempty"`
197274  }
197275  
197276  // MarshalJSON is the custom marshaler for SquareSource.
197277  func (ss SquareSource) MarshalJSON() ([]byte, error) {
197278  	ss.Type = TypeSquareSource
197279  	objectMap := make(map[string]interface{})
197280  	if ss.Query != nil {
197281  		objectMap["query"] = ss.Query
197282  	}
197283  	if ss.QueryTimeout != nil {
197284  		objectMap["queryTimeout"] = ss.QueryTimeout
197285  	}
197286  	if ss.SourceRetryCount != nil {
197287  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
197288  	}
197289  	if ss.SourceRetryWait != nil {
197290  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
197291  	}
197292  	if ss.MaxConcurrentConnections != nil {
197293  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
197294  	}
197295  	if ss.Type != "" {
197296  		objectMap["type"] = ss.Type
197297  	}
197298  	for k, v := range ss.AdditionalProperties {
197299  		objectMap[k] = v
197300  	}
197301  	return json.Marshal(objectMap)
197302  }
197303  
197304  // AsHTTPSource is the BasicCopySource implementation for SquareSource.
197305  func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) {
197306  	return nil, false
197307  }
197308  
197309  // AsAzureBlobFSSource is the BasicCopySource implementation for SquareSource.
197310  func (ss SquareSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
197311  	return nil, false
197312  }
197313  
197314  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource.
197315  func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
197316  	return nil, false
197317  }
197318  
197319  // AsOffice365Source is the BasicCopySource implementation for SquareSource.
197320  func (ss SquareSource) AsOffice365Source() (*Office365Source, bool) {
197321  	return nil, false
197322  }
197323  
197324  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SquareSource.
197325  func (ss SquareSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
197326  	return nil, false
197327  }
197328  
197329  // AsMongoDbV2Source is the BasicCopySource implementation for SquareSource.
197330  func (ss SquareSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
197331  	return nil, false
197332  }
197333  
197334  // AsMongoDbSource is the BasicCopySource implementation for SquareSource.
197335  func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) {
197336  	return nil, false
197337  }
197338  
197339  // AsWebSource is the BasicCopySource implementation for SquareSource.
197340  func (ss SquareSource) AsWebSource() (*WebSource, bool) {
197341  	return nil, false
197342  }
197343  
197344  // AsOracleSource is the BasicCopySource implementation for SquareSource.
197345  func (ss SquareSource) AsOracleSource() (*OracleSource, bool) {
197346  	return nil, false
197347  }
197348  
197349  // AsAzureDataExplorerSource is the BasicCopySource implementation for SquareSource.
197350  func (ss SquareSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
197351  	return nil, false
197352  }
197353  
197354  // AsHdfsSource is the BasicCopySource implementation for SquareSource.
197355  func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) {
197356  	return nil, false
197357  }
197358  
197359  // AsFileSystemSource is the BasicCopySource implementation for SquareSource.
197360  func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) {
197361  	return nil, false
197362  }
197363  
197364  // AsRestSource is the BasicCopySource implementation for SquareSource.
197365  func (ss SquareSource) AsRestSource() (*RestSource, bool) {
197366  	return nil, false
197367  }
197368  
197369  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SquareSource.
197370  func (ss SquareSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
197371  	return nil, false
197372  }
197373  
197374  // AsODataSource is the BasicCopySource implementation for SquareSource.
197375  func (ss SquareSource) AsODataSource() (*ODataSource, bool) {
197376  	return nil, false
197377  }
197378  
197379  // AsMicrosoftAccessSource is the BasicCopySource implementation for SquareSource.
197380  func (ss SquareSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
197381  	return nil, false
197382  }
197383  
197384  // AsRelationalSource is the BasicCopySource implementation for SquareSource.
197385  func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) {
197386  	return nil, false
197387  }
197388  
197389  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SquareSource.
197390  func (ss SquareSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
197391  	return nil, false
197392  }
197393  
197394  // AsDynamicsCrmSource is the BasicCopySource implementation for SquareSource.
197395  func (ss SquareSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
197396  	return nil, false
197397  }
197398  
197399  // AsDynamicsSource is the BasicCopySource implementation for SquareSource.
197400  func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) {
197401  	return nil, false
197402  }
197403  
197404  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SquareSource.
197405  func (ss SquareSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
197406  	return nil, false
197407  }
197408  
197409  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource.
197410  func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
197411  	return nil, false
197412  }
197413  
197414  // AsBlobSource is the BasicCopySource implementation for SquareSource.
197415  func (ss SquareSource) AsBlobSource() (*BlobSource, bool) {
197416  	return nil, false
197417  }
197418  
197419  // AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource.
197420  func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
197421  	return nil, false
197422  }
197423  
197424  // AsGoogleAdWordsSource is the BasicCopySource implementation for SquareSource.
197425  func (ss SquareSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
197426  	return nil, false
197427  }
197428  
197429  // AsOracleServiceCloudSource is the BasicCopySource implementation for SquareSource.
197430  func (ss SquareSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
197431  	return nil, false
197432  }
197433  
197434  // AsDynamicsAXSource is the BasicCopySource implementation for SquareSource.
197435  func (ss SquareSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
197436  	return nil, false
197437  }
197438  
197439  // AsResponsysSource is the BasicCopySource implementation for SquareSource.
197440  func (ss SquareSource) AsResponsysSource() (*ResponsysSource, bool) {
197441  	return nil, false
197442  }
197443  
197444  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SquareSource.
197445  func (ss SquareSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
197446  	return nil, false
197447  }
197448  
197449  // AsVerticaSource is the BasicCopySource implementation for SquareSource.
197450  func (ss SquareSource) AsVerticaSource() (*VerticaSource, bool) {
197451  	return nil, false
197452  }
197453  
197454  // AsNetezzaSource is the BasicCopySource implementation for SquareSource.
197455  func (ss SquareSource) AsNetezzaSource() (*NetezzaSource, bool) {
197456  	return nil, false
197457  }
197458  
197459  // AsZohoSource is the BasicCopySource implementation for SquareSource.
197460  func (ss SquareSource) AsZohoSource() (*ZohoSource, bool) {
197461  	return nil, false
197462  }
197463  
197464  // AsXeroSource is the BasicCopySource implementation for SquareSource.
197465  func (ss SquareSource) AsXeroSource() (*XeroSource, bool) {
197466  	return nil, false
197467  }
197468  
197469  // AsSquareSource is the BasicCopySource implementation for SquareSource.
197470  func (ss SquareSource) AsSquareSource() (*SquareSource, bool) {
197471  	return &ss, true
197472  }
197473  
197474  // AsSparkSource is the BasicCopySource implementation for SquareSource.
197475  func (ss SquareSource) AsSparkSource() (*SparkSource, bool) {
197476  	return nil, false
197477  }
197478  
197479  // AsShopifySource is the BasicCopySource implementation for SquareSource.
197480  func (ss SquareSource) AsShopifySource() (*ShopifySource, bool) {
197481  	return nil, false
197482  }
197483  
197484  // AsServiceNowSource is the BasicCopySource implementation for SquareSource.
197485  func (ss SquareSource) AsServiceNowSource() (*ServiceNowSource, bool) {
197486  	return nil, false
197487  }
197488  
197489  // AsQuickBooksSource is the BasicCopySource implementation for SquareSource.
197490  func (ss SquareSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
197491  	return nil, false
197492  }
197493  
197494  // AsPrestoSource is the BasicCopySource implementation for SquareSource.
197495  func (ss SquareSource) AsPrestoSource() (*PrestoSource, bool) {
197496  	return nil, false
197497  }
197498  
197499  // AsPhoenixSource is the BasicCopySource implementation for SquareSource.
197500  func (ss SquareSource) AsPhoenixSource() (*PhoenixSource, bool) {
197501  	return nil, false
197502  }
197503  
197504  // AsPaypalSource is the BasicCopySource implementation for SquareSource.
197505  func (ss SquareSource) AsPaypalSource() (*PaypalSource, bool) {
197506  	return nil, false
197507  }
197508  
197509  // AsMarketoSource is the BasicCopySource implementation for SquareSource.
197510  func (ss SquareSource) AsMarketoSource() (*MarketoSource, bool) {
197511  	return nil, false
197512  }
197513  
197514  // AsAzureMariaDBSource is the BasicCopySource implementation for SquareSource.
197515  func (ss SquareSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
197516  	return nil, false
197517  }
197518  
197519  // AsMariaDBSource is the BasicCopySource implementation for SquareSource.
197520  func (ss SquareSource) AsMariaDBSource() (*MariaDBSource, bool) {
197521  	return nil, false
197522  }
197523  
197524  // AsMagentoSource is the BasicCopySource implementation for SquareSource.
197525  func (ss SquareSource) AsMagentoSource() (*MagentoSource, bool) {
197526  	return nil, false
197527  }
197528  
197529  // AsJiraSource is the BasicCopySource implementation for SquareSource.
197530  func (ss SquareSource) AsJiraSource() (*JiraSource, bool) {
197531  	return nil, false
197532  }
197533  
197534  // AsImpalaSource is the BasicCopySource implementation for SquareSource.
197535  func (ss SquareSource) AsImpalaSource() (*ImpalaSource, bool) {
197536  	return nil, false
197537  }
197538  
197539  // AsHubspotSource is the BasicCopySource implementation for SquareSource.
197540  func (ss SquareSource) AsHubspotSource() (*HubspotSource, bool) {
197541  	return nil, false
197542  }
197543  
197544  // AsHiveSource is the BasicCopySource implementation for SquareSource.
197545  func (ss SquareSource) AsHiveSource() (*HiveSource, bool) {
197546  	return nil, false
197547  }
197548  
197549  // AsHBaseSource is the BasicCopySource implementation for SquareSource.
197550  func (ss SquareSource) AsHBaseSource() (*HBaseSource, bool) {
197551  	return nil, false
197552  }
197553  
197554  // AsGreenplumSource is the BasicCopySource implementation for SquareSource.
197555  func (ss SquareSource) AsGreenplumSource() (*GreenplumSource, bool) {
197556  	return nil, false
197557  }
197558  
197559  // AsGoogleBigQuerySource is the BasicCopySource implementation for SquareSource.
197560  func (ss SquareSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
197561  	return nil, false
197562  }
197563  
197564  // AsEloquaSource is the BasicCopySource implementation for SquareSource.
197565  func (ss SquareSource) AsEloquaSource() (*EloquaSource, bool) {
197566  	return nil, false
197567  }
197568  
197569  // AsDrillSource is the BasicCopySource implementation for SquareSource.
197570  func (ss SquareSource) AsDrillSource() (*DrillSource, bool) {
197571  	return nil, false
197572  }
197573  
197574  // AsCouchbaseSource is the BasicCopySource implementation for SquareSource.
197575  func (ss SquareSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
197576  	return nil, false
197577  }
197578  
197579  // AsConcurSource is the BasicCopySource implementation for SquareSource.
197580  func (ss SquareSource) AsConcurSource() (*ConcurSource, bool) {
197581  	return nil, false
197582  }
197583  
197584  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SquareSource.
197585  func (ss SquareSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
197586  	return nil, false
197587  }
197588  
197589  // AsAmazonMWSSource is the BasicCopySource implementation for SquareSource.
197590  func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
197591  	return nil, false
197592  }
197593  
197594  // AsCassandraSource is the BasicCopySource implementation for SquareSource.
197595  func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) {
197596  	return nil, false
197597  }
197598  
197599  // AsTeradataSource is the BasicCopySource implementation for SquareSource.
197600  func (ss SquareSource) AsTeradataSource() (*TeradataSource, bool) {
197601  	return nil, false
197602  }
197603  
197604  // AsAzureMySQLSource is the BasicCopySource implementation for SquareSource.
197605  func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
197606  	return nil, false
197607  }
197608  
197609  // AsSQLDWSource is the BasicCopySource implementation for SquareSource.
197610  func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) {
197611  	return nil, false
197612  }
197613  
197614  // AsSQLMISource is the BasicCopySource implementation for SquareSource.
197615  func (ss SquareSource) AsSQLMISource() (*SQLMISource, bool) {
197616  	return nil, false
197617  }
197618  
197619  // AsAzureSQLSource is the BasicCopySource implementation for SquareSource.
197620  func (ss SquareSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
197621  	return nil, false
197622  }
197623  
197624  // AsSQLServerSource is the BasicCopySource implementation for SquareSource.
197625  func (ss SquareSource) AsSQLServerSource() (*SQLServerSource, bool) {
197626  	return nil, false
197627  }
197628  
197629  // AsSQLSource is the BasicCopySource implementation for SquareSource.
197630  func (ss SquareSource) AsSQLSource() (*SQLSource, bool) {
197631  	return nil, false
197632  }
197633  
197634  // AsSapTableSource is the BasicCopySource implementation for SquareSource.
197635  func (ss SquareSource) AsSapTableSource() (*SapTableSource, bool) {
197636  	return nil, false
197637  }
197638  
197639  // AsSapOpenHubSource is the BasicCopySource implementation for SquareSource.
197640  func (ss SquareSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
197641  	return nil, false
197642  }
197643  
197644  // AsSapHanaSource is the BasicCopySource implementation for SquareSource.
197645  func (ss SquareSource) AsSapHanaSource() (*SapHanaSource, bool) {
197646  	return nil, false
197647  }
197648  
197649  // AsSapEccSource is the BasicCopySource implementation for SquareSource.
197650  func (ss SquareSource) AsSapEccSource() (*SapEccSource, bool) {
197651  	return nil, false
197652  }
197653  
197654  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SquareSource.
197655  func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
197656  	return nil, false
197657  }
197658  
197659  // AsSalesforceSource is the BasicCopySource implementation for SquareSource.
197660  func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) {
197661  	return nil, false
197662  }
197663  
197664  // AsSapBwSource is the BasicCopySource implementation for SquareSource.
197665  func (ss SquareSource) AsSapBwSource() (*SapBwSource, bool) {
197666  	return nil, false
197667  }
197668  
197669  // AsSybaseSource is the BasicCopySource implementation for SquareSource.
197670  func (ss SquareSource) AsSybaseSource() (*SybaseSource, bool) {
197671  	return nil, false
197672  }
197673  
197674  // AsPostgreSQLSource is the BasicCopySource implementation for SquareSource.
197675  func (ss SquareSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
197676  	return nil, false
197677  }
197678  
197679  // AsMySQLSource is the BasicCopySource implementation for SquareSource.
197680  func (ss SquareSource) AsMySQLSource() (*MySQLSource, bool) {
197681  	return nil, false
197682  }
197683  
197684  // AsOdbcSource is the BasicCopySource implementation for SquareSource.
197685  func (ss SquareSource) AsOdbcSource() (*OdbcSource, bool) {
197686  	return nil, false
197687  }
197688  
197689  // AsDb2Source is the BasicCopySource implementation for SquareSource.
197690  func (ss SquareSource) AsDb2Source() (*Db2Source, bool) {
197691  	return nil, false
197692  }
197693  
197694  // AsInformixSource is the BasicCopySource implementation for SquareSource.
197695  func (ss SquareSource) AsInformixSource() (*InformixSource, bool) {
197696  	return nil, false
197697  }
197698  
197699  // AsAzureTableSource is the BasicCopySource implementation for SquareSource.
197700  func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) {
197701  	return nil, false
197702  }
197703  
197704  // AsTabularSource is the BasicCopySource implementation for SquareSource.
197705  func (ss SquareSource) AsTabularSource() (*TabularSource, bool) {
197706  	return nil, false
197707  }
197708  
197709  // AsBasicTabularSource is the BasicCopySource implementation for SquareSource.
197710  func (ss SquareSource) AsBasicTabularSource() (BasicTabularSource, bool) {
197711  	return &ss, true
197712  }
197713  
197714  // AsBinarySource is the BasicCopySource implementation for SquareSource.
197715  func (ss SquareSource) AsBinarySource() (*BinarySource, bool) {
197716  	return nil, false
197717  }
197718  
197719  // AsOrcSource is the BasicCopySource implementation for SquareSource.
197720  func (ss SquareSource) AsOrcSource() (*OrcSource, bool) {
197721  	return nil, false
197722  }
197723  
197724  // AsJSONSource is the BasicCopySource implementation for SquareSource.
197725  func (ss SquareSource) AsJSONSource() (*JSONSource, bool) {
197726  	return nil, false
197727  }
197728  
197729  // AsDelimitedTextSource is the BasicCopySource implementation for SquareSource.
197730  func (ss SquareSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
197731  	return nil, false
197732  }
197733  
197734  // AsParquetSource is the BasicCopySource implementation for SquareSource.
197735  func (ss SquareSource) AsParquetSource() (*ParquetSource, bool) {
197736  	return nil, false
197737  }
197738  
197739  // AsAvroSource is the BasicCopySource implementation for SquareSource.
197740  func (ss SquareSource) AsAvroSource() (*AvroSource, bool) {
197741  	return nil, false
197742  }
197743  
197744  // AsCopySource is the BasicCopySource implementation for SquareSource.
197745  func (ss SquareSource) AsCopySource() (*CopySource, bool) {
197746  	return nil, false
197747  }
197748  
197749  // AsBasicCopySource is the BasicCopySource implementation for SquareSource.
197750  func (ss SquareSource) AsBasicCopySource() (BasicCopySource, bool) {
197751  	return &ss, true
197752  }
197753  
197754  // UnmarshalJSON is the custom unmarshaler for SquareSource struct.
197755  func (ss *SquareSource) UnmarshalJSON(body []byte) error {
197756  	var m map[string]*json.RawMessage
197757  	err := json.Unmarshal(body, &m)
197758  	if err != nil {
197759  		return err
197760  	}
197761  	for k, v := range m {
197762  		switch k {
197763  		case "query":
197764  			if v != nil {
197765  				var query interface{}
197766  				err = json.Unmarshal(*v, &query)
197767  				if err != nil {
197768  					return err
197769  				}
197770  				ss.Query = query
197771  			}
197772  		case "queryTimeout":
197773  			if v != nil {
197774  				var queryTimeout interface{}
197775  				err = json.Unmarshal(*v, &queryTimeout)
197776  				if err != nil {
197777  					return err
197778  				}
197779  				ss.QueryTimeout = queryTimeout
197780  			}
197781  		default:
197782  			if v != nil {
197783  				var additionalProperties interface{}
197784  				err = json.Unmarshal(*v, &additionalProperties)
197785  				if err != nil {
197786  					return err
197787  				}
197788  				if ss.AdditionalProperties == nil {
197789  					ss.AdditionalProperties = make(map[string]interface{})
197790  				}
197791  				ss.AdditionalProperties[k] = additionalProperties
197792  			}
197793  		case "sourceRetryCount":
197794  			if v != nil {
197795  				var sourceRetryCount interface{}
197796  				err = json.Unmarshal(*v, &sourceRetryCount)
197797  				if err != nil {
197798  					return err
197799  				}
197800  				ss.SourceRetryCount = sourceRetryCount
197801  			}
197802  		case "sourceRetryWait":
197803  			if v != nil {
197804  				var sourceRetryWait interface{}
197805  				err = json.Unmarshal(*v, &sourceRetryWait)
197806  				if err != nil {
197807  					return err
197808  				}
197809  				ss.SourceRetryWait = sourceRetryWait
197810  			}
197811  		case "maxConcurrentConnections":
197812  			if v != nil {
197813  				var maxConcurrentConnections interface{}
197814  				err = json.Unmarshal(*v, &maxConcurrentConnections)
197815  				if err != nil {
197816  					return err
197817  				}
197818  				ss.MaxConcurrentConnections = maxConcurrentConnections
197819  			}
197820  		case "type":
197821  			if v != nil {
197822  				var typeVar TypeBasicCopySource
197823  				err = json.Unmarshal(*v, &typeVar)
197824  				if err != nil {
197825  					return err
197826  				}
197827  				ss.Type = typeVar
197828  			}
197829  		}
197830  	}
197831  
197832  	return nil
197833  }
197834  
197835  // SSISAccessCredential SSIS access credential.
197836  type SSISAccessCredential struct {
197837  	// Domain - Domain for windows authentication.
197838  	Domain interface{} `json:"domain,omitempty"`
197839  	// UserName - UseName for windows authentication.
197840  	UserName interface{} `json:"userName,omitempty"`
197841  	// Password - Password for windows authentication.
197842  	Password BasicSecretBase `json:"password,omitempty"`
197843  }
197844  
197845  // UnmarshalJSON is the custom unmarshaler for SSISAccessCredential struct.
197846  func (sac *SSISAccessCredential) UnmarshalJSON(body []byte) error {
197847  	var m map[string]*json.RawMessage
197848  	err := json.Unmarshal(body, &m)
197849  	if err != nil {
197850  		return err
197851  	}
197852  	for k, v := range m {
197853  		switch k {
197854  		case "domain":
197855  			if v != nil {
197856  				var domain interface{}
197857  				err = json.Unmarshal(*v, &domain)
197858  				if err != nil {
197859  					return err
197860  				}
197861  				sac.Domain = domain
197862  			}
197863  		case "userName":
197864  			if v != nil {
197865  				var userName interface{}
197866  				err = json.Unmarshal(*v, &userName)
197867  				if err != nil {
197868  					return err
197869  				}
197870  				sac.UserName = userName
197871  			}
197872  		case "password":
197873  			if v != nil {
197874  				password, err := unmarshalBasicSecretBase(*v)
197875  				if err != nil {
197876  					return err
197877  				}
197878  				sac.Password = password
197879  			}
197880  		}
197881  	}
197882  
197883  	return nil
197884  }
197885  
197886  // SSISChildPackage SSIS embedded child package.
197887  type SSISChildPackage struct {
197888  	// PackagePath - Path for embedded child package. Type: string (or Expression with resultType string).
197889  	PackagePath interface{} `json:"packagePath,omitempty"`
197890  	// PackageName - Name for embedded child package.
197891  	PackageName *string `json:"packageName,omitempty"`
197892  	// PackageContent - Content for embedded child package. Type: string (or Expression with resultType string).
197893  	PackageContent interface{} `json:"packageContent,omitempty"`
197894  	// PackageLastModifiedDate - Last modified date for embedded child package.
197895  	PackageLastModifiedDate *string `json:"packageLastModifiedDate,omitempty"`
197896  }
197897  
197898  // SSISExecutionCredential SSIS package execution credential.
197899  type SSISExecutionCredential struct {
197900  	// Domain - Domain for windows authentication.
197901  	Domain interface{} `json:"domain,omitempty"`
197902  	// UserName - UseName for windows authentication.
197903  	UserName interface{} `json:"userName,omitempty"`
197904  	// Password - Password for windows authentication.
197905  	Password *SecureString `json:"password,omitempty"`
197906  }
197907  
197908  // SSISExecutionParameter SSIS execution parameter.
197909  type SSISExecutionParameter struct {
197910  	// Value - SSIS package execution parameter value. Type: string (or Expression with resultType string).
197911  	Value interface{} `json:"value,omitempty"`
197912  }
197913  
197914  // SSISLogLocation SSIS package execution log location
197915  type SSISLogLocation struct {
197916  	// LogPath - The SSIS package execution log path. Type: string (or Expression with resultType string).
197917  	LogPath interface{} `json:"logPath,omitempty"`
197918  	// Type - The type of SSIS log location.
197919  	Type *string `json:"type,omitempty"`
197920  	// SSISLogLocationTypeProperties - SSIS package execution log location properties.
197921  	*SSISLogLocationTypeProperties `json:"typeProperties,omitempty"`
197922  }
197923  
197924  // MarshalJSON is the custom marshaler for SSISLogLocation.
197925  func (sll SSISLogLocation) MarshalJSON() ([]byte, error) {
197926  	objectMap := make(map[string]interface{})
197927  	if sll.LogPath != nil {
197928  		objectMap["logPath"] = sll.LogPath
197929  	}
197930  	if sll.Type != nil {
197931  		objectMap["type"] = sll.Type
197932  	}
197933  	if sll.SSISLogLocationTypeProperties != nil {
197934  		objectMap["typeProperties"] = sll.SSISLogLocationTypeProperties
197935  	}
197936  	return json.Marshal(objectMap)
197937  }
197938  
197939  // UnmarshalJSON is the custom unmarshaler for SSISLogLocation struct.
197940  func (sll *SSISLogLocation) UnmarshalJSON(body []byte) error {
197941  	var m map[string]*json.RawMessage
197942  	err := json.Unmarshal(body, &m)
197943  	if err != nil {
197944  		return err
197945  	}
197946  	for k, v := range m {
197947  		switch k {
197948  		case "logPath":
197949  			if v != nil {
197950  				var logPath interface{}
197951  				err = json.Unmarshal(*v, &logPath)
197952  				if err != nil {
197953  					return err
197954  				}
197955  				sll.LogPath = logPath
197956  			}
197957  		case "type":
197958  			if v != nil {
197959  				var typeVar string
197960  				err = json.Unmarshal(*v, &typeVar)
197961  				if err != nil {
197962  					return err
197963  				}
197964  				sll.Type = &typeVar
197965  			}
197966  		case "typeProperties":
197967  			if v != nil {
197968  				var sSISLogLocationTypeProperties SSISLogLocationTypeProperties
197969  				err = json.Unmarshal(*v, &sSISLogLocationTypeProperties)
197970  				if err != nil {
197971  					return err
197972  				}
197973  				sll.SSISLogLocationTypeProperties = &sSISLogLocationTypeProperties
197974  			}
197975  		}
197976  	}
197977  
197978  	return nil
197979  }
197980  
197981  // SSISLogLocationTypeProperties SSIS package execution log location properties.
197982  type SSISLogLocationTypeProperties struct {
197983  	// AccessCredential - The package execution log access credential.
197984  	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
197985  	// 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])).
197986  	LogRefreshInterval interface{} `json:"logRefreshInterval,omitempty"`
197987  }
197988  
197989  // SsisObjectMetadataStatusResponse the status of the operation.
197990  type SsisObjectMetadataStatusResponse struct {
197991  	// Status - The status of the operation.
197992  	Status *string `json:"status,omitempty"`
197993  	// Name - The operation name.
197994  	Name *string `json:"name,omitempty"`
197995  	// Properties - The operation properties.
197996  	Properties *string `json:"properties,omitempty"`
197997  	// Error - The operation error message.
197998  	Error *string `json:"error,omitempty"`
197999  }
198000  
198001  // SSISPackageLocation SSIS package location.
198002  type SSISPackageLocation struct {
198003  	// PackagePath - The SSIS package path. Type: string (or Expression with resultType string).
198004  	PackagePath interface{} `json:"packagePath,omitempty"`
198005  	// Type - The type of SSIS package location. Possible values include: 'SSISDB', 'File', 'InlinePackage'
198006  	Type SsisPackageLocationType `json:"type,omitempty"`
198007  	// SSISPackageLocationTypeProperties - SSIS package location properties.
198008  	*SSISPackageLocationTypeProperties `json:"typeProperties,omitempty"`
198009  }
198010  
198011  // MarshalJSON is the custom marshaler for SSISPackageLocation.
198012  func (spl SSISPackageLocation) MarshalJSON() ([]byte, error) {
198013  	objectMap := make(map[string]interface{})
198014  	if spl.PackagePath != nil {
198015  		objectMap["packagePath"] = spl.PackagePath
198016  	}
198017  	if spl.Type != "" {
198018  		objectMap["type"] = spl.Type
198019  	}
198020  	if spl.SSISPackageLocationTypeProperties != nil {
198021  		objectMap["typeProperties"] = spl.SSISPackageLocationTypeProperties
198022  	}
198023  	return json.Marshal(objectMap)
198024  }
198025  
198026  // UnmarshalJSON is the custom unmarshaler for SSISPackageLocation struct.
198027  func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error {
198028  	var m map[string]*json.RawMessage
198029  	err := json.Unmarshal(body, &m)
198030  	if err != nil {
198031  		return err
198032  	}
198033  	for k, v := range m {
198034  		switch k {
198035  		case "packagePath":
198036  			if v != nil {
198037  				var packagePath interface{}
198038  				err = json.Unmarshal(*v, &packagePath)
198039  				if err != nil {
198040  					return err
198041  				}
198042  				spl.PackagePath = packagePath
198043  			}
198044  		case "type":
198045  			if v != nil {
198046  				var typeVar SsisPackageLocationType
198047  				err = json.Unmarshal(*v, &typeVar)
198048  				if err != nil {
198049  					return err
198050  				}
198051  				spl.Type = typeVar
198052  			}
198053  		case "typeProperties":
198054  			if v != nil {
198055  				var sSISPackageLocationTypeProperties SSISPackageLocationTypeProperties
198056  				err = json.Unmarshal(*v, &sSISPackageLocationTypeProperties)
198057  				if err != nil {
198058  					return err
198059  				}
198060  				spl.SSISPackageLocationTypeProperties = &sSISPackageLocationTypeProperties
198061  			}
198062  		}
198063  	}
198064  
198065  	return nil
198066  }
198067  
198068  // SSISPackageLocationTypeProperties SSIS package location properties.
198069  type SSISPackageLocationTypeProperties struct {
198070  	// PackagePassword - Password of the package.
198071  	PackagePassword BasicSecretBase `json:"packagePassword,omitempty"`
198072  	// AccessCredential - The package access credential.
198073  	AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"`
198074  	// ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string).
198075  	ConfigurationPath interface{} `json:"configurationPath,omitempty"`
198076  	// PackageName - The package name.
198077  	PackageName *string `json:"packageName,omitempty"`
198078  	// PackageContent - The embedded package content. Type: string (or Expression with resultType string).
198079  	PackageContent interface{} `json:"packageContent,omitempty"`
198080  	// PackageLastModifiedDate - The embedded package last modified date.
198081  	PackageLastModifiedDate *string `json:"packageLastModifiedDate,omitempty"`
198082  	// ChildPackages - The embedded child package list.
198083  	ChildPackages *[]SSISChildPackage `json:"childPackages,omitempty"`
198084  }
198085  
198086  // UnmarshalJSON is the custom unmarshaler for SSISPackageLocationTypeProperties struct.
198087  func (spltp *SSISPackageLocationTypeProperties) UnmarshalJSON(body []byte) error {
198088  	var m map[string]*json.RawMessage
198089  	err := json.Unmarshal(body, &m)
198090  	if err != nil {
198091  		return err
198092  	}
198093  	for k, v := range m {
198094  		switch k {
198095  		case "packagePassword":
198096  			if v != nil {
198097  				packagePassword, err := unmarshalBasicSecretBase(*v)
198098  				if err != nil {
198099  					return err
198100  				}
198101  				spltp.PackagePassword = packagePassword
198102  			}
198103  		case "accessCredential":
198104  			if v != nil {
198105  				var accessCredential SSISAccessCredential
198106  				err = json.Unmarshal(*v, &accessCredential)
198107  				if err != nil {
198108  					return err
198109  				}
198110  				spltp.AccessCredential = &accessCredential
198111  			}
198112  		case "configurationPath":
198113  			if v != nil {
198114  				var configurationPath interface{}
198115  				err = json.Unmarshal(*v, &configurationPath)
198116  				if err != nil {
198117  					return err
198118  				}
198119  				spltp.ConfigurationPath = configurationPath
198120  			}
198121  		case "packageName":
198122  			if v != nil {
198123  				var packageName string
198124  				err = json.Unmarshal(*v, &packageName)
198125  				if err != nil {
198126  					return err
198127  				}
198128  				spltp.PackageName = &packageName
198129  			}
198130  		case "packageContent":
198131  			if v != nil {
198132  				var packageContent interface{}
198133  				err = json.Unmarshal(*v, &packageContent)
198134  				if err != nil {
198135  					return err
198136  				}
198137  				spltp.PackageContent = packageContent
198138  			}
198139  		case "packageLastModifiedDate":
198140  			if v != nil {
198141  				var packageLastModifiedDate string
198142  				err = json.Unmarshal(*v, &packageLastModifiedDate)
198143  				if err != nil {
198144  					return err
198145  				}
198146  				spltp.PackageLastModifiedDate = &packageLastModifiedDate
198147  			}
198148  		case "childPackages":
198149  			if v != nil {
198150  				var childPackages []SSISChildPackage
198151  				err = json.Unmarshal(*v, &childPackages)
198152  				if err != nil {
198153  					return err
198154  				}
198155  				spltp.ChildPackages = &childPackages
198156  			}
198157  		}
198158  	}
198159  
198160  	return nil
198161  }
198162  
198163  // SSISPropertyOverride SSIS property override.
198164  type SSISPropertyOverride struct {
198165  	// Value - SSIS package property override value. Type: string (or Expression with resultType string).
198166  	Value interface{} `json:"value,omitempty"`
198167  	// IsSensitive - Whether SSIS package property override value is sensitive data. Value will be encrypted in SSISDB if it is true
198168  	IsSensitive *bool `json:"isSensitive,omitempty"`
198169  }
198170  
198171  // StagingSettings staging settings.
198172  type StagingSettings struct {
198173  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
198174  	AdditionalProperties map[string]interface{} `json:""`
198175  	// LinkedServiceName - Staging linked service reference.
198176  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
198177  	// Path - The path to storage for storing the interim data. Type: string (or Expression with resultType string).
198178  	Path interface{} `json:"path,omitempty"`
198179  	// EnableCompression - Specifies whether to use compression when copying data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
198180  	EnableCompression interface{} `json:"enableCompression,omitempty"`
198181  }
198182  
198183  // MarshalJSON is the custom marshaler for StagingSettings.
198184  func (ss StagingSettings) MarshalJSON() ([]byte, error) {
198185  	objectMap := make(map[string]interface{})
198186  	if ss.LinkedServiceName != nil {
198187  		objectMap["linkedServiceName"] = ss.LinkedServiceName
198188  	}
198189  	if ss.Path != nil {
198190  		objectMap["path"] = ss.Path
198191  	}
198192  	if ss.EnableCompression != nil {
198193  		objectMap["enableCompression"] = ss.EnableCompression
198194  	}
198195  	for k, v := range ss.AdditionalProperties {
198196  		objectMap[k] = v
198197  	}
198198  	return json.Marshal(objectMap)
198199  }
198200  
198201  // UnmarshalJSON is the custom unmarshaler for StagingSettings struct.
198202  func (ss *StagingSettings) UnmarshalJSON(body []byte) error {
198203  	var m map[string]*json.RawMessage
198204  	err := json.Unmarshal(body, &m)
198205  	if err != nil {
198206  		return err
198207  	}
198208  	for k, v := range m {
198209  		switch k {
198210  		default:
198211  			if v != nil {
198212  				var additionalProperties interface{}
198213  				err = json.Unmarshal(*v, &additionalProperties)
198214  				if err != nil {
198215  					return err
198216  				}
198217  				if ss.AdditionalProperties == nil {
198218  					ss.AdditionalProperties = make(map[string]interface{})
198219  				}
198220  				ss.AdditionalProperties[k] = additionalProperties
198221  			}
198222  		case "linkedServiceName":
198223  			if v != nil {
198224  				var linkedServiceName LinkedServiceReference
198225  				err = json.Unmarshal(*v, &linkedServiceName)
198226  				if err != nil {
198227  					return err
198228  				}
198229  				ss.LinkedServiceName = &linkedServiceName
198230  			}
198231  		case "path":
198232  			if v != nil {
198233  				var pathVar interface{}
198234  				err = json.Unmarshal(*v, &pathVar)
198235  				if err != nil {
198236  					return err
198237  				}
198238  				ss.Path = pathVar
198239  			}
198240  		case "enableCompression":
198241  			if v != nil {
198242  				var enableCompression interface{}
198243  				err = json.Unmarshal(*v, &enableCompression)
198244  				if err != nil {
198245  					return err
198246  				}
198247  				ss.EnableCompression = enableCompression
198248  			}
198249  		}
198250  	}
198251  
198252  	return nil
198253  }
198254  
198255  // StartDataFlowDebugSessionRequest request body structure for starting data flow debug session.
198256  type StartDataFlowDebugSessionRequest struct {
198257  	// SessionID - The ID of data flow debug session.
198258  	SessionID *string `json:"sessionId,omitempty"`
198259  	// DataFlow - Data flow instance.
198260  	DataFlow *DataFlowResource `json:"dataFlow,omitempty"`
198261  	// Datasets - List of datasets.
198262  	Datasets *[]DatasetResource `json:"datasets,omitempty"`
198263  	// LinkedServices - List of linked services.
198264  	LinkedServices *[]LinkedServiceResource `json:"linkedServices,omitempty"`
198265  	// Staging - Staging info for debug session.
198266  	Staging interface{} `json:"staging,omitempty"`
198267  	// DebugSettings - Data flow debug settings.
198268  	DebugSettings interface{} `json:"debugSettings,omitempty"`
198269  	// IncrementalDebug - The type of new Databricks cluster.
198270  	IncrementalDebug *bool `json:"incrementalDebug,omitempty"`
198271  }
198272  
198273  // StartDataFlowDebugSessionResponse response body structure for starting data flow debug session.
198274  type StartDataFlowDebugSessionResponse struct {
198275  	// JobVersion - The ID of data flow debug job version.
198276  	JobVersion *string `json:"jobVersion,omitempty"`
198277  }
198278  
198279  // StoredProcedureParameter SQL stored procedure parameter.
198280  type StoredProcedureParameter struct {
198281  	// Value - Stored procedure parameter value. Type: string (or Expression with resultType string).
198282  	Value interface{} `json:"value,omitempty"`
198283  	// Type - Stored procedure parameter type. Possible values include: 'String', 'Int', 'Int64', 'Decimal', 'GUID', 'Boolean', 'Date'
198284  	Type StoredProcedureParameterType `json:"type,omitempty"`
198285  }
198286  
198287  // BasicStoreReadSettings connector read setting.
198288  type BasicStoreReadSettings interface {
198289  	AsHdfsReadSettings() (*HdfsReadSettings, bool)
198290  	AsHTTPReadSettings() (*HTTPReadSettings, bool)
198291  	AsSftpReadSettings() (*SftpReadSettings, bool)
198292  	AsFtpReadSettings() (*FtpReadSettings, bool)
198293  	AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool)
198294  	AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool)
198295  	AsFileServerReadSettings() (*FileServerReadSettings, bool)
198296  	AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool)
198297  	AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool)
198298  	AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool)
198299  	AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool)
198300  	AsStoreReadSettings() (*StoreReadSettings, bool)
198301  }
198302  
198303  // StoreReadSettings connector read setting.
198304  type StoreReadSettings struct {
198305  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
198306  	AdditionalProperties map[string]interface{} `json:""`
198307  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
198308  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
198309  	// Type - Possible values include: 'TypeStoreReadSettings', 'TypeHdfsReadSettings', 'TypeHTTPReadSettings', 'TypeSftpReadSettings', 'TypeFtpReadSettings', 'TypeGoogleCloudStorageReadSettings', 'TypeAzureFileStorageReadSettings', 'TypeFileServerReadSettings', 'TypeAmazonS3ReadSettings', 'TypeAzureDataLakeStoreReadSettings', 'TypeAzureBlobFSReadSettings', 'TypeAzureBlobStorageReadSettings'
198310  	Type TypeBasicStoreReadSettings `json:"type,omitempty"`
198311  }
198312  
198313  func unmarshalBasicStoreReadSettings(body []byte) (BasicStoreReadSettings, error) {
198314  	var m map[string]interface{}
198315  	err := json.Unmarshal(body, &m)
198316  	if err != nil {
198317  		return nil, err
198318  	}
198319  
198320  	switch m["type"] {
198321  	case string(TypeHdfsReadSettings):
198322  		var hrs HdfsReadSettings
198323  		err := json.Unmarshal(body, &hrs)
198324  		return hrs, err
198325  	case string(TypeHTTPReadSettings):
198326  		var hrs HTTPReadSettings
198327  		err := json.Unmarshal(body, &hrs)
198328  		return hrs, err
198329  	case string(TypeSftpReadSettings):
198330  		var srs SftpReadSettings
198331  		err := json.Unmarshal(body, &srs)
198332  		return srs, err
198333  	case string(TypeFtpReadSettings):
198334  		var frs FtpReadSettings
198335  		err := json.Unmarshal(body, &frs)
198336  		return frs, err
198337  	case string(TypeGoogleCloudStorageReadSettings):
198338  		var gcsrs GoogleCloudStorageReadSettings
198339  		err := json.Unmarshal(body, &gcsrs)
198340  		return gcsrs, err
198341  	case string(TypeAzureFileStorageReadSettings):
198342  		var afsrs AzureFileStorageReadSettings
198343  		err := json.Unmarshal(body, &afsrs)
198344  		return afsrs, err
198345  	case string(TypeFileServerReadSettings):
198346  		var fsrs FileServerReadSettings
198347  		err := json.Unmarshal(body, &fsrs)
198348  		return fsrs, err
198349  	case string(TypeAmazonS3ReadSettings):
198350  		var asrs AmazonS3ReadSettings
198351  		err := json.Unmarshal(body, &asrs)
198352  		return asrs, err
198353  	case string(TypeAzureDataLakeStoreReadSettings):
198354  		var adlsrs AzureDataLakeStoreReadSettings
198355  		err := json.Unmarshal(body, &adlsrs)
198356  		return adlsrs, err
198357  	case string(TypeAzureBlobFSReadSettings):
198358  		var abfrs AzureBlobFSReadSettings
198359  		err := json.Unmarshal(body, &abfrs)
198360  		return abfrs, err
198361  	case string(TypeAzureBlobStorageReadSettings):
198362  		var absrs AzureBlobStorageReadSettings
198363  		err := json.Unmarshal(body, &absrs)
198364  		return absrs, err
198365  	default:
198366  		var srs StoreReadSettings
198367  		err := json.Unmarshal(body, &srs)
198368  		return srs, err
198369  	}
198370  }
198371  func unmarshalBasicStoreReadSettingsArray(body []byte) ([]BasicStoreReadSettings, error) {
198372  	var rawMessages []*json.RawMessage
198373  	err := json.Unmarshal(body, &rawMessages)
198374  	if err != nil {
198375  		return nil, err
198376  	}
198377  
198378  	srsArray := make([]BasicStoreReadSettings, len(rawMessages))
198379  
198380  	for index, rawMessage := range rawMessages {
198381  		srs, err := unmarshalBasicStoreReadSettings(*rawMessage)
198382  		if err != nil {
198383  			return nil, err
198384  		}
198385  		srsArray[index] = srs
198386  	}
198387  	return srsArray, nil
198388  }
198389  
198390  // MarshalJSON is the custom marshaler for StoreReadSettings.
198391  func (srs StoreReadSettings) MarshalJSON() ([]byte, error) {
198392  	srs.Type = TypeStoreReadSettings
198393  	objectMap := make(map[string]interface{})
198394  	if srs.MaxConcurrentConnections != nil {
198395  		objectMap["maxConcurrentConnections"] = srs.MaxConcurrentConnections
198396  	}
198397  	if srs.Type != "" {
198398  		objectMap["type"] = srs.Type
198399  	}
198400  	for k, v := range srs.AdditionalProperties {
198401  		objectMap[k] = v
198402  	}
198403  	return json.Marshal(objectMap)
198404  }
198405  
198406  // AsHdfsReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198407  func (srs StoreReadSettings) AsHdfsReadSettings() (*HdfsReadSettings, bool) {
198408  	return nil, false
198409  }
198410  
198411  // AsHTTPReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198412  func (srs StoreReadSettings) AsHTTPReadSettings() (*HTTPReadSettings, bool) {
198413  	return nil, false
198414  }
198415  
198416  // AsSftpReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198417  func (srs StoreReadSettings) AsSftpReadSettings() (*SftpReadSettings, bool) {
198418  	return nil, false
198419  }
198420  
198421  // AsFtpReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198422  func (srs StoreReadSettings) AsFtpReadSettings() (*FtpReadSettings, bool) {
198423  	return nil, false
198424  }
198425  
198426  // AsGoogleCloudStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198427  func (srs StoreReadSettings) AsGoogleCloudStorageReadSettings() (*GoogleCloudStorageReadSettings, bool) {
198428  	return nil, false
198429  }
198430  
198431  // AsAzureFileStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198432  func (srs StoreReadSettings) AsAzureFileStorageReadSettings() (*AzureFileStorageReadSettings, bool) {
198433  	return nil, false
198434  }
198435  
198436  // AsFileServerReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198437  func (srs StoreReadSettings) AsFileServerReadSettings() (*FileServerReadSettings, bool) {
198438  	return nil, false
198439  }
198440  
198441  // AsAmazonS3ReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198442  func (srs StoreReadSettings) AsAmazonS3ReadSettings() (*AmazonS3ReadSettings, bool) {
198443  	return nil, false
198444  }
198445  
198446  // AsAzureDataLakeStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198447  func (srs StoreReadSettings) AsAzureDataLakeStoreReadSettings() (*AzureDataLakeStoreReadSettings, bool) {
198448  	return nil, false
198449  }
198450  
198451  // AsAzureBlobFSReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198452  func (srs StoreReadSettings) AsAzureBlobFSReadSettings() (*AzureBlobFSReadSettings, bool) {
198453  	return nil, false
198454  }
198455  
198456  // AsAzureBlobStorageReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198457  func (srs StoreReadSettings) AsAzureBlobStorageReadSettings() (*AzureBlobStorageReadSettings, bool) {
198458  	return nil, false
198459  }
198460  
198461  // AsStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198462  func (srs StoreReadSettings) AsStoreReadSettings() (*StoreReadSettings, bool) {
198463  	return &srs, true
198464  }
198465  
198466  // AsBasicStoreReadSettings is the BasicStoreReadSettings implementation for StoreReadSettings.
198467  func (srs StoreReadSettings) AsBasicStoreReadSettings() (BasicStoreReadSettings, bool) {
198468  	return &srs, true
198469  }
198470  
198471  // UnmarshalJSON is the custom unmarshaler for StoreReadSettings struct.
198472  func (srs *StoreReadSettings) UnmarshalJSON(body []byte) error {
198473  	var m map[string]*json.RawMessage
198474  	err := json.Unmarshal(body, &m)
198475  	if err != nil {
198476  		return err
198477  	}
198478  	for k, v := range m {
198479  		switch k {
198480  		default:
198481  			if v != nil {
198482  				var additionalProperties interface{}
198483  				err = json.Unmarshal(*v, &additionalProperties)
198484  				if err != nil {
198485  					return err
198486  				}
198487  				if srs.AdditionalProperties == nil {
198488  					srs.AdditionalProperties = make(map[string]interface{})
198489  				}
198490  				srs.AdditionalProperties[k] = additionalProperties
198491  			}
198492  		case "maxConcurrentConnections":
198493  			if v != nil {
198494  				var maxConcurrentConnections interface{}
198495  				err = json.Unmarshal(*v, &maxConcurrentConnections)
198496  				if err != nil {
198497  					return err
198498  				}
198499  				srs.MaxConcurrentConnections = maxConcurrentConnections
198500  			}
198501  		case "type":
198502  			if v != nil {
198503  				var typeVar TypeBasicStoreReadSettings
198504  				err = json.Unmarshal(*v, &typeVar)
198505  				if err != nil {
198506  					return err
198507  				}
198508  				srs.Type = typeVar
198509  			}
198510  		}
198511  	}
198512  
198513  	return nil
198514  }
198515  
198516  // BasicStoreWriteSettings connector write settings.
198517  type BasicStoreWriteSettings interface {
198518  	AsFileServerWriteSettings() (*FileServerWriteSettings, bool)
198519  	AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool)
198520  	AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool)
198521  	AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool)
198522  	AsSftpWriteSettings() (*SftpWriteSettings, bool)
198523  	AsStoreWriteSettings() (*StoreWriteSettings, bool)
198524  }
198525  
198526  // StoreWriteSettings connector write settings.
198527  type StoreWriteSettings struct {
198528  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
198529  	AdditionalProperties map[string]interface{} `json:""`
198530  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
198531  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
198532  	// CopyBehavior - The type of copy behavior for copy sink.
198533  	CopyBehavior interface{} `json:"copyBehavior,omitempty"`
198534  	// Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings', 'TypeSftpWriteSettings'
198535  	Type TypeBasicStoreWriteSettings `json:"type,omitempty"`
198536  }
198537  
198538  func unmarshalBasicStoreWriteSettings(body []byte) (BasicStoreWriteSettings, error) {
198539  	var m map[string]interface{}
198540  	err := json.Unmarshal(body, &m)
198541  	if err != nil {
198542  		return nil, err
198543  	}
198544  
198545  	switch m["type"] {
198546  	case string(TypeFileServerWriteSettings):
198547  		var fsws FileServerWriteSettings
198548  		err := json.Unmarshal(body, &fsws)
198549  		return fsws, err
198550  	case string(TypeAzureDataLakeStoreWriteSettings):
198551  		var adlsws AzureDataLakeStoreWriteSettings
198552  		err := json.Unmarshal(body, &adlsws)
198553  		return adlsws, err
198554  	case string(TypeAzureBlobFSWriteSettings):
198555  		var abfws AzureBlobFSWriteSettings
198556  		err := json.Unmarshal(body, &abfws)
198557  		return abfws, err
198558  	case string(TypeAzureBlobStorageWriteSettings):
198559  		var absws AzureBlobStorageWriteSettings
198560  		err := json.Unmarshal(body, &absws)
198561  		return absws, err
198562  	case string(TypeSftpWriteSettings):
198563  		var sws SftpWriteSettings
198564  		err := json.Unmarshal(body, &sws)
198565  		return sws, err
198566  	default:
198567  		var sws StoreWriteSettings
198568  		err := json.Unmarshal(body, &sws)
198569  		return sws, err
198570  	}
198571  }
198572  func unmarshalBasicStoreWriteSettingsArray(body []byte) ([]BasicStoreWriteSettings, error) {
198573  	var rawMessages []*json.RawMessage
198574  	err := json.Unmarshal(body, &rawMessages)
198575  	if err != nil {
198576  		return nil, err
198577  	}
198578  
198579  	swsArray := make([]BasicStoreWriteSettings, len(rawMessages))
198580  
198581  	for index, rawMessage := range rawMessages {
198582  		sws, err := unmarshalBasicStoreWriteSettings(*rawMessage)
198583  		if err != nil {
198584  			return nil, err
198585  		}
198586  		swsArray[index] = sws
198587  	}
198588  	return swsArray, nil
198589  }
198590  
198591  // MarshalJSON is the custom marshaler for StoreWriteSettings.
198592  func (sws StoreWriteSettings) MarshalJSON() ([]byte, error) {
198593  	sws.Type = TypeStoreWriteSettings
198594  	objectMap := make(map[string]interface{})
198595  	if sws.MaxConcurrentConnections != nil {
198596  		objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections
198597  	}
198598  	if sws.CopyBehavior != nil {
198599  		objectMap["copyBehavior"] = sws.CopyBehavior
198600  	}
198601  	if sws.Type != "" {
198602  		objectMap["type"] = sws.Type
198603  	}
198604  	for k, v := range sws.AdditionalProperties {
198605  		objectMap[k] = v
198606  	}
198607  	return json.Marshal(objectMap)
198608  }
198609  
198610  // AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198611  func (sws StoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) {
198612  	return nil, false
198613  }
198614  
198615  // AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198616  func (sws StoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) {
198617  	return nil, false
198618  }
198619  
198620  // AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198621  func (sws StoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) {
198622  	return nil, false
198623  }
198624  
198625  // AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198626  func (sws StoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) {
198627  	return nil, false
198628  }
198629  
198630  // AsSftpWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198631  func (sws StoreWriteSettings) AsSftpWriteSettings() (*SftpWriteSettings, bool) {
198632  	return nil, false
198633  }
198634  
198635  // AsStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198636  func (sws StoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) {
198637  	return &sws, true
198638  }
198639  
198640  // AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings.
198641  func (sws StoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) {
198642  	return &sws, true
198643  }
198644  
198645  // UnmarshalJSON is the custom unmarshaler for StoreWriteSettings struct.
198646  func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error {
198647  	var m map[string]*json.RawMessage
198648  	err := json.Unmarshal(body, &m)
198649  	if err != nil {
198650  		return err
198651  	}
198652  	for k, v := range m {
198653  		switch k {
198654  		default:
198655  			if v != nil {
198656  				var additionalProperties interface{}
198657  				err = json.Unmarshal(*v, &additionalProperties)
198658  				if err != nil {
198659  					return err
198660  				}
198661  				if sws.AdditionalProperties == nil {
198662  					sws.AdditionalProperties = make(map[string]interface{})
198663  				}
198664  				sws.AdditionalProperties[k] = additionalProperties
198665  			}
198666  		case "maxConcurrentConnections":
198667  			if v != nil {
198668  				var maxConcurrentConnections interface{}
198669  				err = json.Unmarshal(*v, &maxConcurrentConnections)
198670  				if err != nil {
198671  					return err
198672  				}
198673  				sws.MaxConcurrentConnections = maxConcurrentConnections
198674  			}
198675  		case "copyBehavior":
198676  			if v != nil {
198677  				var copyBehavior interface{}
198678  				err = json.Unmarshal(*v, &copyBehavior)
198679  				if err != nil {
198680  					return err
198681  				}
198682  				sws.CopyBehavior = copyBehavior
198683  			}
198684  		case "type":
198685  			if v != nil {
198686  				var typeVar TypeBasicStoreWriteSettings
198687  				err = json.Unmarshal(*v, &typeVar)
198688  				if err != nil {
198689  					return err
198690  				}
198691  				sws.Type = typeVar
198692  			}
198693  		}
198694  	}
198695  
198696  	return nil
198697  }
198698  
198699  // SubResource azure Synapse nested resource, which belongs to a workspace.
198700  type SubResource struct {
198701  	// Etag - READ-ONLY; Resource Etag.
198702  	Etag *string `json:"etag,omitempty"`
198703  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
198704  	ID *string `json:"id,omitempty"`
198705  	// Name - READ-ONLY; The name of the resource
198706  	Name *string `json:"name,omitempty"`
198707  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
198708  	Type *string `json:"type,omitempty"`
198709  }
198710  
198711  // MarshalJSON is the custom marshaler for SubResource.
198712  func (sr SubResource) MarshalJSON() ([]byte, error) {
198713  	objectMap := make(map[string]interface{})
198714  	return json.Marshal(objectMap)
198715  }
198716  
198717  // SubResourceDebugResource azure Synapse nested debug resource.
198718  type SubResourceDebugResource struct {
198719  	// Name - The resource name.
198720  	Name *string `json:"name,omitempty"`
198721  }
198722  
198723  // SwitchActivity this activity evaluates an expression and executes activities under the cases property
198724  // that correspond to the expression evaluation expected in the equals property.
198725  type SwitchActivity struct {
198726  	// SwitchActivityTypeProperties - Switch activity properties.
198727  	*SwitchActivityTypeProperties `json:"typeProperties,omitempty"`
198728  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
198729  	AdditionalProperties map[string]interface{} `json:""`
198730  	// Name - Activity name.
198731  	Name *string `json:"name,omitempty"`
198732  	// Description - Activity description.
198733  	Description *string `json:"description,omitempty"`
198734  	// DependsOn - Activity depends on condition.
198735  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
198736  	// UserProperties - Activity user properties.
198737  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
198738  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
198739  	Type TypeBasicActivity `json:"type,omitempty"`
198740  }
198741  
198742  // MarshalJSON is the custom marshaler for SwitchActivity.
198743  func (sa SwitchActivity) MarshalJSON() ([]byte, error) {
198744  	sa.Type = TypeSwitch
198745  	objectMap := make(map[string]interface{})
198746  	if sa.SwitchActivityTypeProperties != nil {
198747  		objectMap["typeProperties"] = sa.SwitchActivityTypeProperties
198748  	}
198749  	if sa.Name != nil {
198750  		objectMap["name"] = sa.Name
198751  	}
198752  	if sa.Description != nil {
198753  		objectMap["description"] = sa.Description
198754  	}
198755  	if sa.DependsOn != nil {
198756  		objectMap["dependsOn"] = sa.DependsOn
198757  	}
198758  	if sa.UserProperties != nil {
198759  		objectMap["userProperties"] = sa.UserProperties
198760  	}
198761  	if sa.Type != "" {
198762  		objectMap["type"] = sa.Type
198763  	}
198764  	for k, v := range sa.AdditionalProperties {
198765  		objectMap[k] = v
198766  	}
198767  	return json.Marshal(objectMap)
198768  }
198769  
198770  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SwitchActivity.
198771  func (sa SwitchActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
198772  	return nil, false
198773  }
198774  
198775  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SwitchActivity.
198776  func (sa SwitchActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
198777  	return nil, false
198778  }
198779  
198780  // AsSynapseNotebookActivity is the BasicActivity implementation for SwitchActivity.
198781  func (sa SwitchActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
198782  	return nil, false
198783  }
198784  
198785  // AsExecuteDataFlowActivity is the BasicActivity implementation for SwitchActivity.
198786  func (sa SwitchActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
198787  	return nil, false
198788  }
198789  
198790  // AsAzureFunctionActivity is the BasicActivity implementation for SwitchActivity.
198791  func (sa SwitchActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
198792  	return nil, false
198793  }
198794  
198795  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SwitchActivity.
198796  func (sa SwitchActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
198797  	return nil, false
198798  }
198799  
198800  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SwitchActivity.
198801  func (sa SwitchActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
198802  	return nil, false
198803  }
198804  
198805  // AsDatabricksNotebookActivity is the BasicActivity implementation for SwitchActivity.
198806  func (sa SwitchActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
198807  	return nil, false
198808  }
198809  
198810  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SwitchActivity.
198811  func (sa SwitchActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
198812  	return nil, false
198813  }
198814  
198815  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SwitchActivity.
198816  func (sa SwitchActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
198817  	return nil, false
198818  }
198819  
198820  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SwitchActivity.
198821  func (sa SwitchActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
198822  	return nil, false
198823  }
198824  
198825  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SwitchActivity.
198826  func (sa SwitchActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
198827  	return nil, false
198828  }
198829  
198830  // AsGetMetadataActivity is the BasicActivity implementation for SwitchActivity.
198831  func (sa SwitchActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
198832  	return nil, false
198833  }
198834  
198835  // AsWebActivity is the BasicActivity implementation for SwitchActivity.
198836  func (sa SwitchActivity) AsWebActivity() (*WebActivity, bool) {
198837  	return nil, false
198838  }
198839  
198840  // AsLookupActivity is the BasicActivity implementation for SwitchActivity.
198841  func (sa SwitchActivity) AsLookupActivity() (*LookupActivity, bool) {
198842  	return nil, false
198843  }
198844  
198845  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SwitchActivity.
198846  func (sa SwitchActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
198847  	return nil, false
198848  }
198849  
198850  // AsDeleteActivity is the BasicActivity implementation for SwitchActivity.
198851  func (sa SwitchActivity) AsDeleteActivity() (*DeleteActivity, bool) {
198852  	return nil, false
198853  }
198854  
198855  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SwitchActivity.
198856  func (sa SwitchActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
198857  	return nil, false
198858  }
198859  
198860  // AsCustomActivity is the BasicActivity implementation for SwitchActivity.
198861  func (sa SwitchActivity) AsCustomActivity() (*CustomActivity, bool) {
198862  	return nil, false
198863  }
198864  
198865  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SwitchActivity.
198866  func (sa SwitchActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
198867  	return nil, false
198868  }
198869  
198870  // AsHDInsightSparkActivity is the BasicActivity implementation for SwitchActivity.
198871  func (sa SwitchActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
198872  	return nil, false
198873  }
198874  
198875  // AsHDInsightStreamingActivity is the BasicActivity implementation for SwitchActivity.
198876  func (sa SwitchActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
198877  	return nil, false
198878  }
198879  
198880  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SwitchActivity.
198881  func (sa SwitchActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
198882  	return nil, false
198883  }
198884  
198885  // AsHDInsightPigActivity is the BasicActivity implementation for SwitchActivity.
198886  func (sa SwitchActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
198887  	return nil, false
198888  }
198889  
198890  // AsHDInsightHiveActivity is the BasicActivity implementation for SwitchActivity.
198891  func (sa SwitchActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
198892  	return nil, false
198893  }
198894  
198895  // AsCopyActivity is the BasicActivity implementation for SwitchActivity.
198896  func (sa SwitchActivity) AsCopyActivity() (*CopyActivity, bool) {
198897  	return nil, false
198898  }
198899  
198900  // AsExecutionActivity is the BasicActivity implementation for SwitchActivity.
198901  func (sa SwitchActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
198902  	return nil, false
198903  }
198904  
198905  // AsBasicExecutionActivity is the BasicActivity implementation for SwitchActivity.
198906  func (sa SwitchActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
198907  	return nil, false
198908  }
198909  
198910  // AsWebHookActivity is the BasicActivity implementation for SwitchActivity.
198911  func (sa SwitchActivity) AsWebHookActivity() (*WebHookActivity, bool) {
198912  	return nil, false
198913  }
198914  
198915  // AsAppendVariableActivity is the BasicActivity implementation for SwitchActivity.
198916  func (sa SwitchActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
198917  	return nil, false
198918  }
198919  
198920  // AsSetVariableActivity is the BasicActivity implementation for SwitchActivity.
198921  func (sa SwitchActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
198922  	return nil, false
198923  }
198924  
198925  // AsFilterActivity is the BasicActivity implementation for SwitchActivity.
198926  func (sa SwitchActivity) AsFilterActivity() (*FilterActivity, bool) {
198927  	return nil, false
198928  }
198929  
198930  // AsValidationActivity is the BasicActivity implementation for SwitchActivity.
198931  func (sa SwitchActivity) AsValidationActivity() (*ValidationActivity, bool) {
198932  	return nil, false
198933  }
198934  
198935  // AsUntilActivity is the BasicActivity implementation for SwitchActivity.
198936  func (sa SwitchActivity) AsUntilActivity() (*UntilActivity, bool) {
198937  	return nil, false
198938  }
198939  
198940  // AsWaitActivity is the BasicActivity implementation for SwitchActivity.
198941  func (sa SwitchActivity) AsWaitActivity() (*WaitActivity, bool) {
198942  	return nil, false
198943  }
198944  
198945  // AsForEachActivity is the BasicActivity implementation for SwitchActivity.
198946  func (sa SwitchActivity) AsForEachActivity() (*ForEachActivity, bool) {
198947  	return nil, false
198948  }
198949  
198950  // AsSwitchActivity is the BasicActivity implementation for SwitchActivity.
198951  func (sa SwitchActivity) AsSwitchActivity() (*SwitchActivity, bool) {
198952  	return &sa, true
198953  }
198954  
198955  // AsIfConditionActivity is the BasicActivity implementation for SwitchActivity.
198956  func (sa SwitchActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
198957  	return nil, false
198958  }
198959  
198960  // AsExecutePipelineActivity is the BasicActivity implementation for SwitchActivity.
198961  func (sa SwitchActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
198962  	return nil, false
198963  }
198964  
198965  // AsControlActivity is the BasicActivity implementation for SwitchActivity.
198966  func (sa SwitchActivity) AsControlActivity() (*ControlActivity, bool) {
198967  	return nil, false
198968  }
198969  
198970  // AsBasicControlActivity is the BasicActivity implementation for SwitchActivity.
198971  func (sa SwitchActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
198972  	return &sa, true
198973  }
198974  
198975  // AsActivity is the BasicActivity implementation for SwitchActivity.
198976  func (sa SwitchActivity) AsActivity() (*Activity, bool) {
198977  	return nil, false
198978  }
198979  
198980  // AsBasicActivity is the BasicActivity implementation for SwitchActivity.
198981  func (sa SwitchActivity) AsBasicActivity() (BasicActivity, bool) {
198982  	return &sa, true
198983  }
198984  
198985  // UnmarshalJSON is the custom unmarshaler for SwitchActivity struct.
198986  func (sa *SwitchActivity) UnmarshalJSON(body []byte) error {
198987  	var m map[string]*json.RawMessage
198988  	err := json.Unmarshal(body, &m)
198989  	if err != nil {
198990  		return err
198991  	}
198992  	for k, v := range m {
198993  		switch k {
198994  		case "typeProperties":
198995  			if v != nil {
198996  				var switchActivityTypeProperties SwitchActivityTypeProperties
198997  				err = json.Unmarshal(*v, &switchActivityTypeProperties)
198998  				if err != nil {
198999  					return err
199000  				}
199001  				sa.SwitchActivityTypeProperties = &switchActivityTypeProperties
199002  			}
199003  		default:
199004  			if v != nil {
199005  				var additionalProperties interface{}
199006  				err = json.Unmarshal(*v, &additionalProperties)
199007  				if err != nil {
199008  					return err
199009  				}
199010  				if sa.AdditionalProperties == nil {
199011  					sa.AdditionalProperties = make(map[string]interface{})
199012  				}
199013  				sa.AdditionalProperties[k] = additionalProperties
199014  			}
199015  		case "name":
199016  			if v != nil {
199017  				var name string
199018  				err = json.Unmarshal(*v, &name)
199019  				if err != nil {
199020  					return err
199021  				}
199022  				sa.Name = &name
199023  			}
199024  		case "description":
199025  			if v != nil {
199026  				var description string
199027  				err = json.Unmarshal(*v, &description)
199028  				if err != nil {
199029  					return err
199030  				}
199031  				sa.Description = &description
199032  			}
199033  		case "dependsOn":
199034  			if v != nil {
199035  				var dependsOn []ActivityDependency
199036  				err = json.Unmarshal(*v, &dependsOn)
199037  				if err != nil {
199038  					return err
199039  				}
199040  				sa.DependsOn = &dependsOn
199041  			}
199042  		case "userProperties":
199043  			if v != nil {
199044  				var userProperties []UserProperty
199045  				err = json.Unmarshal(*v, &userProperties)
199046  				if err != nil {
199047  					return err
199048  				}
199049  				sa.UserProperties = &userProperties
199050  			}
199051  		case "type":
199052  			if v != nil {
199053  				var typeVar TypeBasicActivity
199054  				err = json.Unmarshal(*v, &typeVar)
199055  				if err != nil {
199056  					return err
199057  				}
199058  				sa.Type = typeVar
199059  			}
199060  		}
199061  	}
199062  
199063  	return nil
199064  }
199065  
199066  // SwitchActivityTypeProperties switch activity properties.
199067  type SwitchActivityTypeProperties struct {
199068  	// On - An expression that would evaluate to a string or integer. This is used to determine the block of activities in cases that will be executed.
199069  	On *Expression `json:"on,omitempty"`
199070  	// Cases - List of cases that correspond to expected values of the 'on' property. This is an optional property and if not provided, the activity will execute activities provided in defaultActivities.
199071  	Cases *[]SwitchCase `json:"cases,omitempty"`
199072  	// DefaultActivities - List of activities to execute if no case condition is satisfied. This is an optional property and if not provided, the activity will exit without any action.
199073  	DefaultActivities *[]BasicActivity `json:"defaultActivities,omitempty"`
199074  }
199075  
199076  // UnmarshalJSON is the custom unmarshaler for SwitchActivityTypeProperties struct.
199077  func (satp *SwitchActivityTypeProperties) UnmarshalJSON(body []byte) error {
199078  	var m map[string]*json.RawMessage
199079  	err := json.Unmarshal(body, &m)
199080  	if err != nil {
199081  		return err
199082  	}
199083  	for k, v := range m {
199084  		switch k {
199085  		case "on":
199086  			if v != nil {
199087  				var on Expression
199088  				err = json.Unmarshal(*v, &on)
199089  				if err != nil {
199090  					return err
199091  				}
199092  				satp.On = &on
199093  			}
199094  		case "cases":
199095  			if v != nil {
199096  				var cases []SwitchCase
199097  				err = json.Unmarshal(*v, &cases)
199098  				if err != nil {
199099  					return err
199100  				}
199101  				satp.Cases = &cases
199102  			}
199103  		case "defaultActivities":
199104  			if v != nil {
199105  				defaultActivities, err := unmarshalBasicActivityArray(*v)
199106  				if err != nil {
199107  					return err
199108  				}
199109  				satp.DefaultActivities = &defaultActivities
199110  			}
199111  		}
199112  	}
199113  
199114  	return nil
199115  }
199116  
199117  // SwitchCase switch cases with have a value and corresponding activities.
199118  type SwitchCase struct {
199119  	// Value - Expected value that satisfies the expression result of the 'on' property.
199120  	Value *string `json:"value,omitempty"`
199121  	// Activities - List of activities to execute for satisfied case condition.
199122  	Activities *[]BasicActivity `json:"activities,omitempty"`
199123  }
199124  
199125  // UnmarshalJSON is the custom unmarshaler for SwitchCase struct.
199126  func (sc *SwitchCase) UnmarshalJSON(body []byte) error {
199127  	var m map[string]*json.RawMessage
199128  	err := json.Unmarshal(body, &m)
199129  	if err != nil {
199130  		return err
199131  	}
199132  	for k, v := range m {
199133  		switch k {
199134  		case "value":
199135  			if v != nil {
199136  				var value string
199137  				err = json.Unmarshal(*v, &value)
199138  				if err != nil {
199139  					return err
199140  				}
199141  				sc.Value = &value
199142  			}
199143  		case "activities":
199144  			if v != nil {
199145  				activities, err := unmarshalBasicActivityArray(*v)
199146  				if err != nil {
199147  					return err
199148  				}
199149  				sc.Activities = &activities
199150  			}
199151  		}
199152  	}
199153  
199154  	return nil
199155  }
199156  
199157  // SybaseLinkedService linked service for Sybase data source.
199158  type SybaseLinkedService struct {
199159  	// SybaseLinkedServiceTypeProperties - Sybase linked service properties.
199160  	*SybaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
199161  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
199162  	AdditionalProperties map[string]interface{} `json:""`
199163  	// ConnectVia - The integration runtime reference.
199164  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
199165  	// Description - Linked service description.
199166  	Description *string `json:"description,omitempty"`
199167  	// Parameters - Parameters for linked service.
199168  	Parameters map[string]*ParameterSpecification `json:"parameters"`
199169  	// Annotations - List of tags that can be used for describing the linked service.
199170  	Annotations *[]interface{} `json:"annotations,omitempty"`
199171  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
199172  	Type TypeBasicLinkedService `json:"type,omitempty"`
199173  }
199174  
199175  // MarshalJSON is the custom marshaler for SybaseLinkedService.
199176  func (sls SybaseLinkedService) MarshalJSON() ([]byte, error) {
199177  	sls.Type = TypeSybase
199178  	objectMap := make(map[string]interface{})
199179  	if sls.SybaseLinkedServiceTypeProperties != nil {
199180  		objectMap["typeProperties"] = sls.SybaseLinkedServiceTypeProperties
199181  	}
199182  	if sls.ConnectVia != nil {
199183  		objectMap["connectVia"] = sls.ConnectVia
199184  	}
199185  	if sls.Description != nil {
199186  		objectMap["description"] = sls.Description
199187  	}
199188  	if sls.Parameters != nil {
199189  		objectMap["parameters"] = sls.Parameters
199190  	}
199191  	if sls.Annotations != nil {
199192  		objectMap["annotations"] = sls.Annotations
199193  	}
199194  	if sls.Type != "" {
199195  		objectMap["type"] = sls.Type
199196  	}
199197  	for k, v := range sls.AdditionalProperties {
199198  		objectMap[k] = v
199199  	}
199200  	return json.Marshal(objectMap)
199201  }
199202  
199203  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199204  func (sls SybaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
199205  	return nil, false
199206  }
199207  
199208  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199209  func (sls SybaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
199210  	return nil, false
199211  }
199212  
199213  // AsSapTableLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199214  func (sls SybaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
199215  	return nil, false
199216  }
199217  
199218  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199219  func (sls SybaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
199220  	return nil, false
199221  }
199222  
199223  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199224  func (sls SybaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
199225  	return nil, false
199226  }
199227  
199228  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199229  func (sls SybaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
199230  	return nil, false
199231  }
199232  
199233  // AsResponsysLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199234  func (sls SybaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
199235  	return nil, false
199236  }
199237  
199238  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199239  func (sls SybaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
199240  	return nil, false
199241  }
199242  
199243  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199244  func (sls SybaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
199245  	return nil, false
199246  }
199247  
199248  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199249  func (sls SybaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
199250  	return nil, false
199251  }
199252  
199253  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199254  func (sls SybaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
199255  	return nil, false
199256  }
199257  
199258  // AsNetezzaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199259  func (sls SybaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
199260  	return nil, false
199261  }
199262  
199263  // AsVerticaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199264  func (sls SybaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
199265  	return nil, false
199266  }
199267  
199268  // AsZohoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199269  func (sls SybaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
199270  	return nil, false
199271  }
199272  
199273  // AsXeroLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199274  func (sls SybaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
199275  	return nil, false
199276  }
199277  
199278  // AsSquareLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199279  func (sls SybaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
199280  	return nil, false
199281  }
199282  
199283  // AsSparkLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199284  func (sls SybaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
199285  	return nil, false
199286  }
199287  
199288  // AsShopifyLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199289  func (sls SybaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
199290  	return nil, false
199291  }
199292  
199293  // AsServiceNowLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199294  func (sls SybaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
199295  	return nil, false
199296  }
199297  
199298  // AsQuickBooksLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199299  func (sls SybaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
199300  	return nil, false
199301  }
199302  
199303  // AsPrestoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199304  func (sls SybaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
199305  	return nil, false
199306  }
199307  
199308  // AsPhoenixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199309  func (sls SybaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
199310  	return nil, false
199311  }
199312  
199313  // AsPaypalLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199314  func (sls SybaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
199315  	return nil, false
199316  }
199317  
199318  // AsMarketoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199319  func (sls SybaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
199320  	return nil, false
199321  }
199322  
199323  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199324  func (sls SybaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
199325  	return nil, false
199326  }
199327  
199328  // AsMariaDBLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199329  func (sls SybaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
199330  	return nil, false
199331  }
199332  
199333  // AsMagentoLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199334  func (sls SybaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
199335  	return nil, false
199336  }
199337  
199338  // AsJiraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199339  func (sls SybaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
199340  	return nil, false
199341  }
199342  
199343  // AsImpalaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199344  func (sls SybaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
199345  	return nil, false
199346  }
199347  
199348  // AsHubspotLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199349  func (sls SybaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
199350  	return nil, false
199351  }
199352  
199353  // AsHiveLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199354  func (sls SybaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
199355  	return nil, false
199356  }
199357  
199358  // AsHBaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199359  func (sls SybaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
199360  	return nil, false
199361  }
199362  
199363  // AsGreenplumLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199364  func (sls SybaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
199365  	return nil, false
199366  }
199367  
199368  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199369  func (sls SybaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
199370  	return nil, false
199371  }
199372  
199373  // AsEloquaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199374  func (sls SybaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
199375  	return nil, false
199376  }
199377  
199378  // AsDrillLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199379  func (sls SybaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
199380  	return nil, false
199381  }
199382  
199383  // AsCouchbaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199384  func (sls SybaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
199385  	return nil, false
199386  }
199387  
199388  // AsConcurLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199389  func (sls SybaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
199390  	return nil, false
199391  }
199392  
199393  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199394  func (sls SybaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
199395  	return nil, false
199396  }
199397  
199398  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199399  func (sls SybaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
199400  	return nil, false
199401  }
199402  
199403  // AsSapHanaLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199404  func (sls SybaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
199405  	return nil, false
199406  }
199407  
199408  // AsSapBWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199409  func (sls SybaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
199410  	return nil, false
199411  }
199412  
199413  // AsSftpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199414  func (sls SybaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
199415  	return nil, false
199416  }
199417  
199418  // AsFtpServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199419  func (sls SybaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
199420  	return nil, false
199421  }
199422  
199423  // AsHTTPLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199424  func (sls SybaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
199425  	return nil, false
199426  }
199427  
199428  // AsAzureSearchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199429  func (sls SybaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
199430  	return nil, false
199431  }
199432  
199433  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199434  func (sls SybaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
199435  	return nil, false
199436  }
199437  
199438  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199439  func (sls SybaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
199440  	return nil, false
199441  }
199442  
199443  // AsAmazonS3LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199444  func (sls SybaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
199445  	return nil, false
199446  }
199447  
199448  // AsRestServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199449  func (sls SybaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
199450  	return nil, false
199451  }
199452  
199453  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199454  func (sls SybaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
199455  	return nil, false
199456  }
199457  
199458  // AsSapEccLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199459  func (sls SybaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
199460  	return nil, false
199461  }
199462  
199463  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199464  func (sls SybaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
199465  	return nil, false
199466  }
199467  
199468  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199469  func (sls SybaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
199470  	return nil, false
199471  }
199472  
199473  // AsSalesforceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199474  func (sls SybaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
199475  	return nil, false
199476  }
199477  
199478  // AsOffice365LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199479  func (sls SybaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
199480  	return nil, false
199481  }
199482  
199483  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199484  func (sls SybaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
199485  	return nil, false
199486  }
199487  
199488  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199489  func (sls SybaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
199490  	return nil, false
199491  }
199492  
199493  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199494  func (sls SybaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
199495  	return nil, false
199496  }
199497  
199498  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199499  func (sls SybaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
199500  	return nil, false
199501  }
199502  
199503  // AsMongoDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199504  func (sls SybaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
199505  	return nil, false
199506  }
199507  
199508  // AsCassandraLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199509  func (sls SybaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
199510  	return nil, false
199511  }
199512  
199513  // AsWebLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199514  func (sls SybaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
199515  	return nil, false
199516  }
199517  
199518  // AsODataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199519  func (sls SybaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
199520  	return nil, false
199521  }
199522  
199523  // AsHdfsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199524  func (sls SybaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
199525  	return nil, false
199526  }
199527  
199528  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199529  func (sls SybaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
199530  	return nil, false
199531  }
199532  
199533  // AsInformixLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199534  func (sls SybaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
199535  	return nil, false
199536  }
199537  
199538  // AsOdbcLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199539  func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
199540  	return nil, false
199541  }
199542  
199543  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199544  func (sls SybaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
199545  	return nil, false
199546  }
199547  
199548  // AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199549  func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
199550  	return nil, false
199551  }
199552  
199553  // AsTeradataLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199554  func (sls SybaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
199555  	return nil, false
199556  }
199557  
199558  // AsDb2LinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199559  func (sls SybaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
199560  	return nil, false
199561  }
199562  
199563  // AsSybaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199564  func (sls SybaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
199565  	return &sls, true
199566  }
199567  
199568  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199569  func (sls SybaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
199570  	return nil, false
199571  }
199572  
199573  // AsMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199574  func (sls SybaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
199575  	return nil, false
199576  }
199577  
199578  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199579  func (sls SybaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
199580  	return nil, false
199581  }
199582  
199583  // AsOracleLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199584  func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
199585  	return nil, false
199586  }
199587  
199588  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199589  func (sls SybaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
199590  	return nil, false
199591  }
199592  
199593  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199594  func (sls SybaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
199595  	return nil, false
199596  }
199597  
199598  // AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199599  func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
199600  	return nil, false
199601  }
199602  
199603  // AsHDInsightLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199604  func (sls SybaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
199605  	return nil, false
199606  }
199607  
199608  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199609  func (sls SybaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
199610  	return nil, false
199611  }
199612  
199613  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199614  func (sls SybaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
199615  	return nil, false
199616  }
199617  
199618  // AsDynamicsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199619  func (sls SybaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
199620  	return nil, false
199621  }
199622  
199623  // AsCosmosDbLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199624  func (sls SybaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
199625  	return nil, false
199626  }
199627  
199628  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199629  func (sls SybaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
199630  	return nil, false
199631  }
199632  
199633  // AsAzureBatchLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199634  func (sls SybaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
199635  	return nil, false
199636  }
199637  
199638  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199639  func (sls SybaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
199640  	return nil, false
199641  }
199642  
199643  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199644  func (sls SybaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
199645  	return nil, false
199646  }
199647  
199648  // AsSQLServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199649  func (sls SybaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
199650  	return nil, false
199651  }
199652  
199653  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199654  func (sls SybaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
199655  	return nil, false
199656  }
199657  
199658  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199659  func (sls SybaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
199660  	return nil, false
199661  }
199662  
199663  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199664  func (sls SybaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
199665  	return nil, false
199666  }
199667  
199668  // AsAzureStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199669  func (sls SybaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
199670  	return nil, false
199671  }
199672  
199673  // AsLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199674  func (sls SybaseLinkedService) AsLinkedService() (*LinkedService, bool) {
199675  	return nil, false
199676  }
199677  
199678  // AsBasicLinkedService is the BasicLinkedService implementation for SybaseLinkedService.
199679  func (sls SybaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
199680  	return &sls, true
199681  }
199682  
199683  // UnmarshalJSON is the custom unmarshaler for SybaseLinkedService struct.
199684  func (sls *SybaseLinkedService) UnmarshalJSON(body []byte) error {
199685  	var m map[string]*json.RawMessage
199686  	err := json.Unmarshal(body, &m)
199687  	if err != nil {
199688  		return err
199689  	}
199690  	for k, v := range m {
199691  		switch k {
199692  		case "typeProperties":
199693  			if v != nil {
199694  				var sybaseLinkedServiceTypeProperties SybaseLinkedServiceTypeProperties
199695  				err = json.Unmarshal(*v, &sybaseLinkedServiceTypeProperties)
199696  				if err != nil {
199697  					return err
199698  				}
199699  				sls.SybaseLinkedServiceTypeProperties = &sybaseLinkedServiceTypeProperties
199700  			}
199701  		default:
199702  			if v != nil {
199703  				var additionalProperties interface{}
199704  				err = json.Unmarshal(*v, &additionalProperties)
199705  				if err != nil {
199706  					return err
199707  				}
199708  				if sls.AdditionalProperties == nil {
199709  					sls.AdditionalProperties = make(map[string]interface{})
199710  				}
199711  				sls.AdditionalProperties[k] = additionalProperties
199712  			}
199713  		case "connectVia":
199714  			if v != nil {
199715  				var connectVia IntegrationRuntimeReference
199716  				err = json.Unmarshal(*v, &connectVia)
199717  				if err != nil {
199718  					return err
199719  				}
199720  				sls.ConnectVia = &connectVia
199721  			}
199722  		case "description":
199723  			if v != nil {
199724  				var description string
199725  				err = json.Unmarshal(*v, &description)
199726  				if err != nil {
199727  					return err
199728  				}
199729  				sls.Description = &description
199730  			}
199731  		case "parameters":
199732  			if v != nil {
199733  				var parameters map[string]*ParameterSpecification
199734  				err = json.Unmarshal(*v, &parameters)
199735  				if err != nil {
199736  					return err
199737  				}
199738  				sls.Parameters = parameters
199739  			}
199740  		case "annotations":
199741  			if v != nil {
199742  				var annotations []interface{}
199743  				err = json.Unmarshal(*v, &annotations)
199744  				if err != nil {
199745  					return err
199746  				}
199747  				sls.Annotations = &annotations
199748  			}
199749  		case "type":
199750  			if v != nil {
199751  				var typeVar TypeBasicLinkedService
199752  				err = json.Unmarshal(*v, &typeVar)
199753  				if err != nil {
199754  					return err
199755  				}
199756  				sls.Type = typeVar
199757  			}
199758  		}
199759  	}
199760  
199761  	return nil
199762  }
199763  
199764  // SybaseLinkedServiceTypeProperties sybase linked service properties.
199765  type SybaseLinkedServiceTypeProperties struct {
199766  	// Server - Server name for connection. Type: string (or Expression with resultType string).
199767  	Server interface{} `json:"server,omitempty"`
199768  	// Database - Database name for connection. Type: string (or Expression with resultType string).
199769  	Database interface{} `json:"database,omitempty"`
199770  	// Schema - Schema name for connection. Type: string (or Expression with resultType string).
199771  	Schema interface{} `json:"schema,omitempty"`
199772  	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'SybaseAuthenticationTypeBasic', 'SybaseAuthenticationTypeWindows'
199773  	AuthenticationType SybaseAuthenticationType `json:"authenticationType,omitempty"`
199774  	// Username - Username for authentication. Type: string (or Expression with resultType string).
199775  	Username interface{} `json:"username,omitempty"`
199776  	// Password - Password for authentication.
199777  	Password BasicSecretBase `json:"password,omitempty"`
199778  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
199779  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
199780  }
199781  
199782  // UnmarshalJSON is the custom unmarshaler for SybaseLinkedServiceTypeProperties struct.
199783  func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
199784  	var m map[string]*json.RawMessage
199785  	err := json.Unmarshal(body, &m)
199786  	if err != nil {
199787  		return err
199788  	}
199789  	for k, v := range m {
199790  		switch k {
199791  		case "server":
199792  			if v != nil {
199793  				var server interface{}
199794  				err = json.Unmarshal(*v, &server)
199795  				if err != nil {
199796  					return err
199797  				}
199798  				slstp.Server = server
199799  			}
199800  		case "database":
199801  			if v != nil {
199802  				var databaseVar interface{}
199803  				err = json.Unmarshal(*v, &databaseVar)
199804  				if err != nil {
199805  					return err
199806  				}
199807  				slstp.Database = databaseVar
199808  			}
199809  		case "schema":
199810  			if v != nil {
199811  				var schema interface{}
199812  				err = json.Unmarshal(*v, &schema)
199813  				if err != nil {
199814  					return err
199815  				}
199816  				slstp.Schema = schema
199817  			}
199818  		case "authenticationType":
199819  			if v != nil {
199820  				var authenticationType SybaseAuthenticationType
199821  				err = json.Unmarshal(*v, &authenticationType)
199822  				if err != nil {
199823  					return err
199824  				}
199825  				slstp.AuthenticationType = authenticationType
199826  			}
199827  		case "username":
199828  			if v != nil {
199829  				var username interface{}
199830  				err = json.Unmarshal(*v, &username)
199831  				if err != nil {
199832  					return err
199833  				}
199834  				slstp.Username = username
199835  			}
199836  		case "password":
199837  			if v != nil {
199838  				password, err := unmarshalBasicSecretBase(*v)
199839  				if err != nil {
199840  					return err
199841  				}
199842  				slstp.Password = password
199843  			}
199844  		case "encryptedCredential":
199845  			if v != nil {
199846  				var encryptedCredential interface{}
199847  				err = json.Unmarshal(*v, &encryptedCredential)
199848  				if err != nil {
199849  					return err
199850  				}
199851  				slstp.EncryptedCredential = encryptedCredential
199852  			}
199853  		}
199854  	}
199855  
199856  	return nil
199857  }
199858  
199859  // SybaseSource a copy activity source for Sybase databases.
199860  type SybaseSource struct {
199861  	// Query - Database query. Type: string (or Expression with resultType string).
199862  	Query interface{} `json:"query,omitempty"`
199863  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
199864  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
199865  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
199866  	AdditionalProperties map[string]interface{} `json:""`
199867  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
199868  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
199869  	// 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])).
199870  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
199871  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
199872  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
199873  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
199874  	Type TypeBasicCopySource `json:"type,omitempty"`
199875  }
199876  
199877  // MarshalJSON is the custom marshaler for SybaseSource.
199878  func (ss SybaseSource) MarshalJSON() ([]byte, error) {
199879  	ss.Type = TypeSybaseSource
199880  	objectMap := make(map[string]interface{})
199881  	if ss.Query != nil {
199882  		objectMap["query"] = ss.Query
199883  	}
199884  	if ss.QueryTimeout != nil {
199885  		objectMap["queryTimeout"] = ss.QueryTimeout
199886  	}
199887  	if ss.SourceRetryCount != nil {
199888  		objectMap["sourceRetryCount"] = ss.SourceRetryCount
199889  	}
199890  	if ss.SourceRetryWait != nil {
199891  		objectMap["sourceRetryWait"] = ss.SourceRetryWait
199892  	}
199893  	if ss.MaxConcurrentConnections != nil {
199894  		objectMap["maxConcurrentConnections"] = ss.MaxConcurrentConnections
199895  	}
199896  	if ss.Type != "" {
199897  		objectMap["type"] = ss.Type
199898  	}
199899  	for k, v := range ss.AdditionalProperties {
199900  		objectMap[k] = v
199901  	}
199902  	return json.Marshal(objectMap)
199903  }
199904  
199905  // AsHTTPSource is the BasicCopySource implementation for SybaseSource.
199906  func (ss SybaseSource) AsHTTPSource() (*HTTPSource, bool) {
199907  	return nil, false
199908  }
199909  
199910  // AsAzureBlobFSSource is the BasicCopySource implementation for SybaseSource.
199911  func (ss SybaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
199912  	return nil, false
199913  }
199914  
199915  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for SybaseSource.
199916  func (ss SybaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
199917  	return nil, false
199918  }
199919  
199920  // AsOffice365Source is the BasicCopySource implementation for SybaseSource.
199921  func (ss SybaseSource) AsOffice365Source() (*Office365Source, bool) {
199922  	return nil, false
199923  }
199924  
199925  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SybaseSource.
199926  func (ss SybaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
199927  	return nil, false
199928  }
199929  
199930  // AsMongoDbV2Source is the BasicCopySource implementation for SybaseSource.
199931  func (ss SybaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
199932  	return nil, false
199933  }
199934  
199935  // AsMongoDbSource is the BasicCopySource implementation for SybaseSource.
199936  func (ss SybaseSource) AsMongoDbSource() (*MongoDbSource, bool) {
199937  	return nil, false
199938  }
199939  
199940  // AsWebSource is the BasicCopySource implementation for SybaseSource.
199941  func (ss SybaseSource) AsWebSource() (*WebSource, bool) {
199942  	return nil, false
199943  }
199944  
199945  // AsOracleSource is the BasicCopySource implementation for SybaseSource.
199946  func (ss SybaseSource) AsOracleSource() (*OracleSource, bool) {
199947  	return nil, false
199948  }
199949  
199950  // AsAzureDataExplorerSource is the BasicCopySource implementation for SybaseSource.
199951  func (ss SybaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
199952  	return nil, false
199953  }
199954  
199955  // AsHdfsSource is the BasicCopySource implementation for SybaseSource.
199956  func (ss SybaseSource) AsHdfsSource() (*HdfsSource, bool) {
199957  	return nil, false
199958  }
199959  
199960  // AsFileSystemSource is the BasicCopySource implementation for SybaseSource.
199961  func (ss SybaseSource) AsFileSystemSource() (*FileSystemSource, bool) {
199962  	return nil, false
199963  }
199964  
199965  // AsRestSource is the BasicCopySource implementation for SybaseSource.
199966  func (ss SybaseSource) AsRestSource() (*RestSource, bool) {
199967  	return nil, false
199968  }
199969  
199970  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for SybaseSource.
199971  func (ss SybaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
199972  	return nil, false
199973  }
199974  
199975  // AsODataSource is the BasicCopySource implementation for SybaseSource.
199976  func (ss SybaseSource) AsODataSource() (*ODataSource, bool) {
199977  	return nil, false
199978  }
199979  
199980  // AsMicrosoftAccessSource is the BasicCopySource implementation for SybaseSource.
199981  func (ss SybaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
199982  	return nil, false
199983  }
199984  
199985  // AsRelationalSource is the BasicCopySource implementation for SybaseSource.
199986  func (ss SybaseSource) AsRelationalSource() (*RelationalSource, bool) {
199987  	return nil, false
199988  }
199989  
199990  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SybaseSource.
199991  func (ss SybaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
199992  	return nil, false
199993  }
199994  
199995  // AsDynamicsCrmSource is the BasicCopySource implementation for SybaseSource.
199996  func (ss SybaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
199997  	return nil, false
199998  }
199999  
200000  // AsDynamicsSource is the BasicCopySource implementation for SybaseSource.
200001  func (ss SybaseSource) AsDynamicsSource() (*DynamicsSource, bool) {
200002  	return nil, false
200003  }
200004  
200005  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for SybaseSource.
200006  func (ss SybaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
200007  	return nil, false
200008  }
200009  
200010  // AsDocumentDbCollectionSource is the BasicCopySource implementation for SybaseSource.
200011  func (ss SybaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
200012  	return nil, false
200013  }
200014  
200015  // AsBlobSource is the BasicCopySource implementation for SybaseSource.
200016  func (ss SybaseSource) AsBlobSource() (*BlobSource, bool) {
200017  	return nil, false
200018  }
200019  
200020  // AsAmazonRedshiftSource is the BasicCopySource implementation for SybaseSource.
200021  func (ss SybaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
200022  	return nil, false
200023  }
200024  
200025  // AsGoogleAdWordsSource is the BasicCopySource implementation for SybaseSource.
200026  func (ss SybaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
200027  	return nil, false
200028  }
200029  
200030  // AsOracleServiceCloudSource is the BasicCopySource implementation for SybaseSource.
200031  func (ss SybaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
200032  	return nil, false
200033  }
200034  
200035  // AsDynamicsAXSource is the BasicCopySource implementation for SybaseSource.
200036  func (ss SybaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
200037  	return nil, false
200038  }
200039  
200040  // AsResponsysSource is the BasicCopySource implementation for SybaseSource.
200041  func (ss SybaseSource) AsResponsysSource() (*ResponsysSource, bool) {
200042  	return nil, false
200043  }
200044  
200045  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for SybaseSource.
200046  func (ss SybaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
200047  	return nil, false
200048  }
200049  
200050  // AsVerticaSource is the BasicCopySource implementation for SybaseSource.
200051  func (ss SybaseSource) AsVerticaSource() (*VerticaSource, bool) {
200052  	return nil, false
200053  }
200054  
200055  // AsNetezzaSource is the BasicCopySource implementation for SybaseSource.
200056  func (ss SybaseSource) AsNetezzaSource() (*NetezzaSource, bool) {
200057  	return nil, false
200058  }
200059  
200060  // AsZohoSource is the BasicCopySource implementation for SybaseSource.
200061  func (ss SybaseSource) AsZohoSource() (*ZohoSource, bool) {
200062  	return nil, false
200063  }
200064  
200065  // AsXeroSource is the BasicCopySource implementation for SybaseSource.
200066  func (ss SybaseSource) AsXeroSource() (*XeroSource, bool) {
200067  	return nil, false
200068  }
200069  
200070  // AsSquareSource is the BasicCopySource implementation for SybaseSource.
200071  func (ss SybaseSource) AsSquareSource() (*SquareSource, bool) {
200072  	return nil, false
200073  }
200074  
200075  // AsSparkSource is the BasicCopySource implementation for SybaseSource.
200076  func (ss SybaseSource) AsSparkSource() (*SparkSource, bool) {
200077  	return nil, false
200078  }
200079  
200080  // AsShopifySource is the BasicCopySource implementation for SybaseSource.
200081  func (ss SybaseSource) AsShopifySource() (*ShopifySource, bool) {
200082  	return nil, false
200083  }
200084  
200085  // AsServiceNowSource is the BasicCopySource implementation for SybaseSource.
200086  func (ss SybaseSource) AsServiceNowSource() (*ServiceNowSource, bool) {
200087  	return nil, false
200088  }
200089  
200090  // AsQuickBooksSource is the BasicCopySource implementation for SybaseSource.
200091  func (ss SybaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
200092  	return nil, false
200093  }
200094  
200095  // AsPrestoSource is the BasicCopySource implementation for SybaseSource.
200096  func (ss SybaseSource) AsPrestoSource() (*PrestoSource, bool) {
200097  	return nil, false
200098  }
200099  
200100  // AsPhoenixSource is the BasicCopySource implementation for SybaseSource.
200101  func (ss SybaseSource) AsPhoenixSource() (*PhoenixSource, bool) {
200102  	return nil, false
200103  }
200104  
200105  // AsPaypalSource is the BasicCopySource implementation for SybaseSource.
200106  func (ss SybaseSource) AsPaypalSource() (*PaypalSource, bool) {
200107  	return nil, false
200108  }
200109  
200110  // AsMarketoSource is the BasicCopySource implementation for SybaseSource.
200111  func (ss SybaseSource) AsMarketoSource() (*MarketoSource, bool) {
200112  	return nil, false
200113  }
200114  
200115  // AsAzureMariaDBSource is the BasicCopySource implementation for SybaseSource.
200116  func (ss SybaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
200117  	return nil, false
200118  }
200119  
200120  // AsMariaDBSource is the BasicCopySource implementation for SybaseSource.
200121  func (ss SybaseSource) AsMariaDBSource() (*MariaDBSource, bool) {
200122  	return nil, false
200123  }
200124  
200125  // AsMagentoSource is the BasicCopySource implementation for SybaseSource.
200126  func (ss SybaseSource) AsMagentoSource() (*MagentoSource, bool) {
200127  	return nil, false
200128  }
200129  
200130  // AsJiraSource is the BasicCopySource implementation for SybaseSource.
200131  func (ss SybaseSource) AsJiraSource() (*JiraSource, bool) {
200132  	return nil, false
200133  }
200134  
200135  // AsImpalaSource is the BasicCopySource implementation for SybaseSource.
200136  func (ss SybaseSource) AsImpalaSource() (*ImpalaSource, bool) {
200137  	return nil, false
200138  }
200139  
200140  // AsHubspotSource is the BasicCopySource implementation for SybaseSource.
200141  func (ss SybaseSource) AsHubspotSource() (*HubspotSource, bool) {
200142  	return nil, false
200143  }
200144  
200145  // AsHiveSource is the BasicCopySource implementation for SybaseSource.
200146  func (ss SybaseSource) AsHiveSource() (*HiveSource, bool) {
200147  	return nil, false
200148  }
200149  
200150  // AsHBaseSource is the BasicCopySource implementation for SybaseSource.
200151  func (ss SybaseSource) AsHBaseSource() (*HBaseSource, bool) {
200152  	return nil, false
200153  }
200154  
200155  // AsGreenplumSource is the BasicCopySource implementation for SybaseSource.
200156  func (ss SybaseSource) AsGreenplumSource() (*GreenplumSource, bool) {
200157  	return nil, false
200158  }
200159  
200160  // AsGoogleBigQuerySource is the BasicCopySource implementation for SybaseSource.
200161  func (ss SybaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
200162  	return nil, false
200163  }
200164  
200165  // AsEloquaSource is the BasicCopySource implementation for SybaseSource.
200166  func (ss SybaseSource) AsEloquaSource() (*EloquaSource, bool) {
200167  	return nil, false
200168  }
200169  
200170  // AsDrillSource is the BasicCopySource implementation for SybaseSource.
200171  func (ss SybaseSource) AsDrillSource() (*DrillSource, bool) {
200172  	return nil, false
200173  }
200174  
200175  // AsCouchbaseSource is the BasicCopySource implementation for SybaseSource.
200176  func (ss SybaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
200177  	return nil, false
200178  }
200179  
200180  // AsConcurSource is the BasicCopySource implementation for SybaseSource.
200181  func (ss SybaseSource) AsConcurSource() (*ConcurSource, bool) {
200182  	return nil, false
200183  }
200184  
200185  // AsAzurePostgreSQLSource is the BasicCopySource implementation for SybaseSource.
200186  func (ss SybaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
200187  	return nil, false
200188  }
200189  
200190  // AsAmazonMWSSource is the BasicCopySource implementation for SybaseSource.
200191  func (ss SybaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
200192  	return nil, false
200193  }
200194  
200195  // AsCassandraSource is the BasicCopySource implementation for SybaseSource.
200196  func (ss SybaseSource) AsCassandraSource() (*CassandraSource, bool) {
200197  	return nil, false
200198  }
200199  
200200  // AsTeradataSource is the BasicCopySource implementation for SybaseSource.
200201  func (ss SybaseSource) AsTeradataSource() (*TeradataSource, bool) {
200202  	return nil, false
200203  }
200204  
200205  // AsAzureMySQLSource is the BasicCopySource implementation for SybaseSource.
200206  func (ss SybaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
200207  	return nil, false
200208  }
200209  
200210  // AsSQLDWSource is the BasicCopySource implementation for SybaseSource.
200211  func (ss SybaseSource) AsSQLDWSource() (*SQLDWSource, bool) {
200212  	return nil, false
200213  }
200214  
200215  // AsSQLMISource is the BasicCopySource implementation for SybaseSource.
200216  func (ss SybaseSource) AsSQLMISource() (*SQLMISource, bool) {
200217  	return nil, false
200218  }
200219  
200220  // AsAzureSQLSource is the BasicCopySource implementation for SybaseSource.
200221  func (ss SybaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
200222  	return nil, false
200223  }
200224  
200225  // AsSQLServerSource is the BasicCopySource implementation for SybaseSource.
200226  func (ss SybaseSource) AsSQLServerSource() (*SQLServerSource, bool) {
200227  	return nil, false
200228  }
200229  
200230  // AsSQLSource is the BasicCopySource implementation for SybaseSource.
200231  func (ss SybaseSource) AsSQLSource() (*SQLSource, bool) {
200232  	return nil, false
200233  }
200234  
200235  // AsSapTableSource is the BasicCopySource implementation for SybaseSource.
200236  func (ss SybaseSource) AsSapTableSource() (*SapTableSource, bool) {
200237  	return nil, false
200238  }
200239  
200240  // AsSapOpenHubSource is the BasicCopySource implementation for SybaseSource.
200241  func (ss SybaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
200242  	return nil, false
200243  }
200244  
200245  // AsSapHanaSource is the BasicCopySource implementation for SybaseSource.
200246  func (ss SybaseSource) AsSapHanaSource() (*SapHanaSource, bool) {
200247  	return nil, false
200248  }
200249  
200250  // AsSapEccSource is the BasicCopySource implementation for SybaseSource.
200251  func (ss SybaseSource) AsSapEccSource() (*SapEccSource, bool) {
200252  	return nil, false
200253  }
200254  
200255  // AsSapCloudForCustomerSource is the BasicCopySource implementation for SybaseSource.
200256  func (ss SybaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
200257  	return nil, false
200258  }
200259  
200260  // AsSalesforceSource is the BasicCopySource implementation for SybaseSource.
200261  func (ss SybaseSource) AsSalesforceSource() (*SalesforceSource, bool) {
200262  	return nil, false
200263  }
200264  
200265  // AsSapBwSource is the BasicCopySource implementation for SybaseSource.
200266  func (ss SybaseSource) AsSapBwSource() (*SapBwSource, bool) {
200267  	return nil, false
200268  }
200269  
200270  // AsSybaseSource is the BasicCopySource implementation for SybaseSource.
200271  func (ss SybaseSource) AsSybaseSource() (*SybaseSource, bool) {
200272  	return &ss, true
200273  }
200274  
200275  // AsPostgreSQLSource is the BasicCopySource implementation for SybaseSource.
200276  func (ss SybaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
200277  	return nil, false
200278  }
200279  
200280  // AsMySQLSource is the BasicCopySource implementation for SybaseSource.
200281  func (ss SybaseSource) AsMySQLSource() (*MySQLSource, bool) {
200282  	return nil, false
200283  }
200284  
200285  // AsOdbcSource is the BasicCopySource implementation for SybaseSource.
200286  func (ss SybaseSource) AsOdbcSource() (*OdbcSource, bool) {
200287  	return nil, false
200288  }
200289  
200290  // AsDb2Source is the BasicCopySource implementation for SybaseSource.
200291  func (ss SybaseSource) AsDb2Source() (*Db2Source, bool) {
200292  	return nil, false
200293  }
200294  
200295  // AsInformixSource is the BasicCopySource implementation for SybaseSource.
200296  func (ss SybaseSource) AsInformixSource() (*InformixSource, bool) {
200297  	return nil, false
200298  }
200299  
200300  // AsAzureTableSource is the BasicCopySource implementation for SybaseSource.
200301  func (ss SybaseSource) AsAzureTableSource() (*AzureTableSource, bool) {
200302  	return nil, false
200303  }
200304  
200305  // AsTabularSource is the BasicCopySource implementation for SybaseSource.
200306  func (ss SybaseSource) AsTabularSource() (*TabularSource, bool) {
200307  	return nil, false
200308  }
200309  
200310  // AsBasicTabularSource is the BasicCopySource implementation for SybaseSource.
200311  func (ss SybaseSource) AsBasicTabularSource() (BasicTabularSource, bool) {
200312  	return &ss, true
200313  }
200314  
200315  // AsBinarySource is the BasicCopySource implementation for SybaseSource.
200316  func (ss SybaseSource) AsBinarySource() (*BinarySource, bool) {
200317  	return nil, false
200318  }
200319  
200320  // AsOrcSource is the BasicCopySource implementation for SybaseSource.
200321  func (ss SybaseSource) AsOrcSource() (*OrcSource, bool) {
200322  	return nil, false
200323  }
200324  
200325  // AsJSONSource is the BasicCopySource implementation for SybaseSource.
200326  func (ss SybaseSource) AsJSONSource() (*JSONSource, bool) {
200327  	return nil, false
200328  }
200329  
200330  // AsDelimitedTextSource is the BasicCopySource implementation for SybaseSource.
200331  func (ss SybaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
200332  	return nil, false
200333  }
200334  
200335  // AsParquetSource is the BasicCopySource implementation for SybaseSource.
200336  func (ss SybaseSource) AsParquetSource() (*ParquetSource, bool) {
200337  	return nil, false
200338  }
200339  
200340  // AsAvroSource is the BasicCopySource implementation for SybaseSource.
200341  func (ss SybaseSource) AsAvroSource() (*AvroSource, bool) {
200342  	return nil, false
200343  }
200344  
200345  // AsCopySource is the BasicCopySource implementation for SybaseSource.
200346  func (ss SybaseSource) AsCopySource() (*CopySource, bool) {
200347  	return nil, false
200348  }
200349  
200350  // AsBasicCopySource is the BasicCopySource implementation for SybaseSource.
200351  func (ss SybaseSource) AsBasicCopySource() (BasicCopySource, bool) {
200352  	return &ss, true
200353  }
200354  
200355  // UnmarshalJSON is the custom unmarshaler for SybaseSource struct.
200356  func (ss *SybaseSource) UnmarshalJSON(body []byte) error {
200357  	var m map[string]*json.RawMessage
200358  	err := json.Unmarshal(body, &m)
200359  	if err != nil {
200360  		return err
200361  	}
200362  	for k, v := range m {
200363  		switch k {
200364  		case "query":
200365  			if v != nil {
200366  				var query interface{}
200367  				err = json.Unmarshal(*v, &query)
200368  				if err != nil {
200369  					return err
200370  				}
200371  				ss.Query = query
200372  			}
200373  		case "queryTimeout":
200374  			if v != nil {
200375  				var queryTimeout interface{}
200376  				err = json.Unmarshal(*v, &queryTimeout)
200377  				if err != nil {
200378  					return err
200379  				}
200380  				ss.QueryTimeout = queryTimeout
200381  			}
200382  		default:
200383  			if v != nil {
200384  				var additionalProperties interface{}
200385  				err = json.Unmarshal(*v, &additionalProperties)
200386  				if err != nil {
200387  					return err
200388  				}
200389  				if ss.AdditionalProperties == nil {
200390  					ss.AdditionalProperties = make(map[string]interface{})
200391  				}
200392  				ss.AdditionalProperties[k] = additionalProperties
200393  			}
200394  		case "sourceRetryCount":
200395  			if v != nil {
200396  				var sourceRetryCount interface{}
200397  				err = json.Unmarshal(*v, &sourceRetryCount)
200398  				if err != nil {
200399  					return err
200400  				}
200401  				ss.SourceRetryCount = sourceRetryCount
200402  			}
200403  		case "sourceRetryWait":
200404  			if v != nil {
200405  				var sourceRetryWait interface{}
200406  				err = json.Unmarshal(*v, &sourceRetryWait)
200407  				if err != nil {
200408  					return err
200409  				}
200410  				ss.SourceRetryWait = sourceRetryWait
200411  			}
200412  		case "maxConcurrentConnections":
200413  			if v != nil {
200414  				var maxConcurrentConnections interface{}
200415  				err = json.Unmarshal(*v, &maxConcurrentConnections)
200416  				if err != nil {
200417  					return err
200418  				}
200419  				ss.MaxConcurrentConnections = maxConcurrentConnections
200420  			}
200421  		case "type":
200422  			if v != nil {
200423  				var typeVar TypeBasicCopySource
200424  				err = json.Unmarshal(*v, &typeVar)
200425  				if err != nil {
200426  					return err
200427  				}
200428  				ss.Type = typeVar
200429  			}
200430  		}
200431  	}
200432  
200433  	return nil
200434  }
200435  
200436  // SybaseTableDataset the Sybase table dataset.
200437  type SybaseTableDataset struct {
200438  	// SybaseTableDatasetTypeProperties - Sybase table dataset properties.
200439  	*SybaseTableDatasetTypeProperties `json:"typeProperties,omitempty"`
200440  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
200441  	AdditionalProperties map[string]interface{} `json:""`
200442  	// Description - Dataset description.
200443  	Description *string `json:"description,omitempty"`
200444  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
200445  	Structure interface{} `json:"structure,omitempty"`
200446  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
200447  	Schema interface{} `json:"schema,omitempty"`
200448  	// LinkedServiceName - Linked service reference.
200449  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
200450  	// Parameters - Parameters for dataset.
200451  	Parameters map[string]*ParameterSpecification `json:"parameters"`
200452  	// Annotations - List of tags that can be used for describing the Dataset.
200453  	Annotations *[]interface{} `json:"annotations,omitempty"`
200454  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
200455  	Folder *DatasetFolder `json:"folder,omitempty"`
200456  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
200457  	Type TypeBasicDataset `json:"type,omitempty"`
200458  }
200459  
200460  // MarshalJSON is the custom marshaler for SybaseTableDataset.
200461  func (std SybaseTableDataset) MarshalJSON() ([]byte, error) {
200462  	std.Type = TypeSybaseTable
200463  	objectMap := make(map[string]interface{})
200464  	if std.SybaseTableDatasetTypeProperties != nil {
200465  		objectMap["typeProperties"] = std.SybaseTableDatasetTypeProperties
200466  	}
200467  	if std.Description != nil {
200468  		objectMap["description"] = std.Description
200469  	}
200470  	if std.Structure != nil {
200471  		objectMap["structure"] = std.Structure
200472  	}
200473  	if std.Schema != nil {
200474  		objectMap["schema"] = std.Schema
200475  	}
200476  	if std.LinkedServiceName != nil {
200477  		objectMap["linkedServiceName"] = std.LinkedServiceName
200478  	}
200479  	if std.Parameters != nil {
200480  		objectMap["parameters"] = std.Parameters
200481  	}
200482  	if std.Annotations != nil {
200483  		objectMap["annotations"] = std.Annotations
200484  	}
200485  	if std.Folder != nil {
200486  		objectMap["folder"] = std.Folder
200487  	}
200488  	if std.Type != "" {
200489  		objectMap["type"] = std.Type
200490  	}
200491  	for k, v := range std.AdditionalProperties {
200492  		objectMap[k] = v
200493  	}
200494  	return json.Marshal(objectMap)
200495  }
200496  
200497  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200498  func (std SybaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
200499  	return nil, false
200500  }
200501  
200502  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for SybaseTableDataset.
200503  func (std SybaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
200504  	return nil, false
200505  }
200506  
200507  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200508  func (std SybaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
200509  	return nil, false
200510  }
200511  
200512  // AsDynamicsAXResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200513  func (std SybaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
200514  	return nil, false
200515  }
200516  
200517  // AsResponsysObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200518  func (std SybaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
200519  	return nil, false
200520  }
200521  
200522  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200523  func (std SybaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
200524  	return nil, false
200525  }
200526  
200527  // AsVerticaTableDataset is the BasicDataset implementation for SybaseTableDataset.
200528  func (std SybaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
200529  	return nil, false
200530  }
200531  
200532  // AsNetezzaTableDataset is the BasicDataset implementation for SybaseTableDataset.
200533  func (std SybaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
200534  	return nil, false
200535  }
200536  
200537  // AsZohoObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200538  func (std SybaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
200539  	return nil, false
200540  }
200541  
200542  // AsXeroObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200543  func (std SybaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
200544  	return nil, false
200545  }
200546  
200547  // AsSquareObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200548  func (std SybaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
200549  	return nil, false
200550  }
200551  
200552  // AsSparkObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200553  func (std SybaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
200554  	return nil, false
200555  }
200556  
200557  // AsShopifyObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200558  func (std SybaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
200559  	return nil, false
200560  }
200561  
200562  // AsServiceNowObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200563  func (std SybaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
200564  	return nil, false
200565  }
200566  
200567  // AsQuickBooksObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200568  func (std SybaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
200569  	return nil, false
200570  }
200571  
200572  // AsPrestoObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200573  func (std SybaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
200574  	return nil, false
200575  }
200576  
200577  // AsPhoenixObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200578  func (std SybaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
200579  	return nil, false
200580  }
200581  
200582  // AsPaypalObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200583  func (std SybaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
200584  	return nil, false
200585  }
200586  
200587  // AsMarketoObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200588  func (std SybaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
200589  	return nil, false
200590  }
200591  
200592  // AsAzureMariaDBTableDataset is the BasicDataset implementation for SybaseTableDataset.
200593  func (std SybaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
200594  	return nil, false
200595  }
200596  
200597  // AsMariaDBTableDataset is the BasicDataset implementation for SybaseTableDataset.
200598  func (std SybaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
200599  	return nil, false
200600  }
200601  
200602  // AsMagentoObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200603  func (std SybaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
200604  	return nil, false
200605  }
200606  
200607  // AsJiraObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200608  func (std SybaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
200609  	return nil, false
200610  }
200611  
200612  // AsImpalaObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200613  func (std SybaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
200614  	return nil, false
200615  }
200616  
200617  // AsHubspotObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200618  func (std SybaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
200619  	return nil, false
200620  }
200621  
200622  // AsHiveObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200623  func (std SybaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
200624  	return nil, false
200625  }
200626  
200627  // AsHBaseObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200628  func (std SybaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
200629  	return nil, false
200630  }
200631  
200632  // AsGreenplumTableDataset is the BasicDataset implementation for SybaseTableDataset.
200633  func (std SybaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
200634  	return nil, false
200635  }
200636  
200637  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200638  func (std SybaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
200639  	return nil, false
200640  }
200641  
200642  // AsEloquaObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200643  func (std SybaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
200644  	return nil, false
200645  }
200646  
200647  // AsDrillTableDataset is the BasicDataset implementation for SybaseTableDataset.
200648  func (std SybaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
200649  	return nil, false
200650  }
200651  
200652  // AsCouchbaseTableDataset is the BasicDataset implementation for SybaseTableDataset.
200653  func (std SybaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
200654  	return nil, false
200655  }
200656  
200657  // AsConcurObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200658  func (std SybaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
200659  	return nil, false
200660  }
200661  
200662  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for SybaseTableDataset.
200663  func (std SybaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
200664  	return nil, false
200665  }
200666  
200667  // AsAmazonMWSObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200668  func (std SybaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
200669  	return nil, false
200670  }
200671  
200672  // AsAzureSearchIndexDataset is the BasicDataset implementation for SybaseTableDataset.
200673  func (std SybaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
200674  	return nil, false
200675  }
200676  
200677  // AsWebTableDataset is the BasicDataset implementation for SybaseTableDataset.
200678  func (std SybaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
200679  	return nil, false
200680  }
200681  
200682  // AsSapTableResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200683  func (std SybaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
200684  	return nil, false
200685  }
200686  
200687  // AsRestResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200688  func (std SybaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
200689  	return nil, false
200690  }
200691  
200692  // AsSQLServerTableDataset is the BasicDataset implementation for SybaseTableDataset.
200693  func (std SybaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
200694  	return nil, false
200695  }
200696  
200697  // AsSapOpenHubTableDataset is the BasicDataset implementation for SybaseTableDataset.
200698  func (std SybaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
200699  	return nil, false
200700  }
200701  
200702  // AsSapHanaTableDataset is the BasicDataset implementation for SybaseTableDataset.
200703  func (std SybaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
200704  	return nil, false
200705  }
200706  
200707  // AsSapEccResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200708  func (std SybaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
200709  	return nil, false
200710  }
200711  
200712  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200713  func (std SybaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
200714  	return nil, false
200715  }
200716  
200717  // AsSapBwCubeDataset is the BasicDataset implementation for SybaseTableDataset.
200718  func (std SybaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
200719  	return nil, false
200720  }
200721  
200722  // AsSybaseTableDataset is the BasicDataset implementation for SybaseTableDataset.
200723  func (std SybaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
200724  	return &std, true
200725  }
200726  
200727  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200728  func (std SybaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
200729  	return nil, false
200730  }
200731  
200732  // AsSalesforceObjectDataset is the BasicDataset implementation for SybaseTableDataset.
200733  func (std SybaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
200734  	return nil, false
200735  }
200736  
200737  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for SybaseTableDataset.
200738  func (std SybaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
200739  	return nil, false
200740  }
200741  
200742  // AsPostgreSQLTableDataset is the BasicDataset implementation for SybaseTableDataset.
200743  func (std SybaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
200744  	return nil, false
200745  }
200746  
200747  // AsMySQLTableDataset is the BasicDataset implementation for SybaseTableDataset.
200748  func (std SybaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
200749  	return nil, false
200750  }
200751  
200752  // AsOdbcTableDataset is the BasicDataset implementation for SybaseTableDataset.
200753  func (std SybaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
200754  	return nil, false
200755  }
200756  
200757  // AsInformixTableDataset is the BasicDataset implementation for SybaseTableDataset.
200758  func (std SybaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
200759  	return nil, false
200760  }
200761  
200762  // AsRelationalTableDataset is the BasicDataset implementation for SybaseTableDataset.
200763  func (std SybaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
200764  	return nil, false
200765  }
200766  
200767  // AsDb2TableDataset is the BasicDataset implementation for SybaseTableDataset.
200768  func (std SybaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
200769  	return nil, false
200770  }
200771  
200772  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for SybaseTableDataset.
200773  func (std SybaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
200774  	return nil, false
200775  }
200776  
200777  // AsAzureMySQLTableDataset is the BasicDataset implementation for SybaseTableDataset.
200778  func (std SybaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
200779  	return nil, false
200780  }
200781  
200782  // AsTeradataTableDataset is the BasicDataset implementation for SybaseTableDataset.
200783  func (std SybaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
200784  	return nil, false
200785  }
200786  
200787  // AsOracleTableDataset is the BasicDataset implementation for SybaseTableDataset.
200788  func (std SybaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
200789  	return nil, false
200790  }
200791  
200792  // AsODataResourceDataset is the BasicDataset implementation for SybaseTableDataset.
200793  func (std SybaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
200794  	return nil, false
200795  }
200796  
200797  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for SybaseTableDataset.
200798  func (std SybaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
200799  	return nil, false
200800  }
200801  
200802  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for SybaseTableDataset.
200803  func (std SybaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
200804  	return nil, false
200805  }
200806  
200807  // AsMongoDbCollectionDataset is the BasicDataset implementation for SybaseTableDataset.
200808  func (std SybaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
200809  	return nil, false
200810  }
200811  
200812  // AsOffice365Dataset is the BasicDataset implementation for SybaseTableDataset.
200813  func (std SybaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
200814  	return nil, false
200815  }
200816  
200817  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for SybaseTableDataset.
200818  func (std SybaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
200819  	return nil, false
200820  }
200821  
200822  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for SybaseTableDataset.
200823  func (std SybaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
200824  	return nil, false
200825  }
200826  
200827  // AsDynamicsEntityDataset is the BasicDataset implementation for SybaseTableDataset.
200828  func (std SybaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
200829  	return nil, false
200830  }
200831  
200832  // AsDocumentDbCollectionDataset is the BasicDataset implementation for SybaseTableDataset.
200833  func (std SybaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
200834  	return nil, false
200835  }
200836  
200837  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SybaseTableDataset.
200838  func (std SybaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
200839  	return nil, false
200840  }
200841  
200842  // AsCustomDataset is the BasicDataset implementation for SybaseTableDataset.
200843  func (std SybaseTableDataset) AsCustomDataset() (*CustomDataset, bool) {
200844  	return nil, false
200845  }
200846  
200847  // AsCassandraTableDataset is the BasicDataset implementation for SybaseTableDataset.
200848  func (std SybaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
200849  	return nil, false
200850  }
200851  
200852  // AsAzureSQLDWTableDataset is the BasicDataset implementation for SybaseTableDataset.
200853  func (std SybaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
200854  	return nil, false
200855  }
200856  
200857  // AsAzureSQLMITableDataset is the BasicDataset implementation for SybaseTableDataset.
200858  func (std SybaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
200859  	return nil, false
200860  }
200861  
200862  // AsAzureSQLTableDataset is the BasicDataset implementation for SybaseTableDataset.
200863  func (std SybaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
200864  	return nil, false
200865  }
200866  
200867  // AsAzureTableDataset is the BasicDataset implementation for SybaseTableDataset.
200868  func (std SybaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
200869  	return nil, false
200870  }
200871  
200872  // AsBinaryDataset is the BasicDataset implementation for SybaseTableDataset.
200873  func (std SybaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
200874  	return nil, false
200875  }
200876  
200877  // AsOrcDataset is the BasicDataset implementation for SybaseTableDataset.
200878  func (std SybaseTableDataset) AsOrcDataset() (*OrcDataset, bool) {
200879  	return nil, false
200880  }
200881  
200882  // AsJSONDataset is the BasicDataset implementation for SybaseTableDataset.
200883  func (std SybaseTableDataset) AsJSONDataset() (*JSONDataset, bool) {
200884  	return nil, false
200885  }
200886  
200887  // AsDelimitedTextDataset is the BasicDataset implementation for SybaseTableDataset.
200888  func (std SybaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
200889  	return nil, false
200890  }
200891  
200892  // AsParquetDataset is the BasicDataset implementation for SybaseTableDataset.
200893  func (std SybaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
200894  	return nil, false
200895  }
200896  
200897  // AsAvroDataset is the BasicDataset implementation for SybaseTableDataset.
200898  func (std SybaseTableDataset) AsAvroDataset() (*AvroDataset, bool) {
200899  	return nil, false
200900  }
200901  
200902  // AsDataset is the BasicDataset implementation for SybaseTableDataset.
200903  func (std SybaseTableDataset) AsDataset() (*Dataset, bool) {
200904  	return nil, false
200905  }
200906  
200907  // AsBasicDataset is the BasicDataset implementation for SybaseTableDataset.
200908  func (std SybaseTableDataset) AsBasicDataset() (BasicDataset, bool) {
200909  	return &std, true
200910  }
200911  
200912  // UnmarshalJSON is the custom unmarshaler for SybaseTableDataset struct.
200913  func (std *SybaseTableDataset) UnmarshalJSON(body []byte) error {
200914  	var m map[string]*json.RawMessage
200915  	err := json.Unmarshal(body, &m)
200916  	if err != nil {
200917  		return err
200918  	}
200919  	for k, v := range m {
200920  		switch k {
200921  		case "typeProperties":
200922  			if v != nil {
200923  				var sybaseTableDatasetTypeProperties SybaseTableDatasetTypeProperties
200924  				err = json.Unmarshal(*v, &sybaseTableDatasetTypeProperties)
200925  				if err != nil {
200926  					return err
200927  				}
200928  				std.SybaseTableDatasetTypeProperties = &sybaseTableDatasetTypeProperties
200929  			}
200930  		default:
200931  			if v != nil {
200932  				var additionalProperties interface{}
200933  				err = json.Unmarshal(*v, &additionalProperties)
200934  				if err != nil {
200935  					return err
200936  				}
200937  				if std.AdditionalProperties == nil {
200938  					std.AdditionalProperties = make(map[string]interface{})
200939  				}
200940  				std.AdditionalProperties[k] = additionalProperties
200941  			}
200942  		case "description":
200943  			if v != nil {
200944  				var description string
200945  				err = json.Unmarshal(*v, &description)
200946  				if err != nil {
200947  					return err
200948  				}
200949  				std.Description = &description
200950  			}
200951  		case "structure":
200952  			if v != nil {
200953  				var structure interface{}
200954  				err = json.Unmarshal(*v, &structure)
200955  				if err != nil {
200956  					return err
200957  				}
200958  				std.Structure = structure
200959  			}
200960  		case "schema":
200961  			if v != nil {
200962  				var schema interface{}
200963  				err = json.Unmarshal(*v, &schema)
200964  				if err != nil {
200965  					return err
200966  				}
200967  				std.Schema = schema
200968  			}
200969  		case "linkedServiceName":
200970  			if v != nil {
200971  				var linkedServiceName LinkedServiceReference
200972  				err = json.Unmarshal(*v, &linkedServiceName)
200973  				if err != nil {
200974  					return err
200975  				}
200976  				std.LinkedServiceName = &linkedServiceName
200977  			}
200978  		case "parameters":
200979  			if v != nil {
200980  				var parameters map[string]*ParameterSpecification
200981  				err = json.Unmarshal(*v, &parameters)
200982  				if err != nil {
200983  					return err
200984  				}
200985  				std.Parameters = parameters
200986  			}
200987  		case "annotations":
200988  			if v != nil {
200989  				var annotations []interface{}
200990  				err = json.Unmarshal(*v, &annotations)
200991  				if err != nil {
200992  					return err
200993  				}
200994  				std.Annotations = &annotations
200995  			}
200996  		case "folder":
200997  			if v != nil {
200998  				var folder DatasetFolder
200999  				err = json.Unmarshal(*v, &folder)
201000  				if err != nil {
201001  					return err
201002  				}
201003  				std.Folder = &folder
201004  			}
201005  		case "type":
201006  			if v != nil {
201007  				var typeVar TypeBasicDataset
201008  				err = json.Unmarshal(*v, &typeVar)
201009  				if err != nil {
201010  					return err
201011  				}
201012  				std.Type = typeVar
201013  			}
201014  		}
201015  	}
201016  
201017  	return nil
201018  }
201019  
201020  // SybaseTableDatasetTypeProperties sybase table dataset properties.
201021  type SybaseTableDatasetTypeProperties struct {
201022  	// TableName - The Sybase table name. Type: string (or Expression with resultType string).
201023  	TableName interface{} `json:"tableName,omitempty"`
201024  }
201025  
201026  // SynapseNotebookActivity execute Synapse notebook activity.
201027  type SynapseNotebookActivity struct {
201028  	// SynapseNotebookActivityTypeProperties - Execute Synapse notebook activity properties.
201029  	*SynapseNotebookActivityTypeProperties `json:"typeProperties,omitempty"`
201030  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
201031  	AdditionalProperties map[string]interface{} `json:""`
201032  	// Name - Activity name.
201033  	Name *string `json:"name,omitempty"`
201034  	// Description - Activity description.
201035  	Description *string `json:"description,omitempty"`
201036  	// DependsOn - Activity depends on condition.
201037  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
201038  	// UserProperties - Activity user properties.
201039  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
201040  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
201041  	Type TypeBasicActivity `json:"type,omitempty"`
201042  }
201043  
201044  // MarshalJSON is the custom marshaler for SynapseNotebookActivity.
201045  func (sna SynapseNotebookActivity) MarshalJSON() ([]byte, error) {
201046  	sna.Type = TypeSynapseNotebook
201047  	objectMap := make(map[string]interface{})
201048  	if sna.SynapseNotebookActivityTypeProperties != nil {
201049  		objectMap["typeProperties"] = sna.SynapseNotebookActivityTypeProperties
201050  	}
201051  	if sna.Name != nil {
201052  		objectMap["name"] = sna.Name
201053  	}
201054  	if sna.Description != nil {
201055  		objectMap["description"] = sna.Description
201056  	}
201057  	if sna.DependsOn != nil {
201058  		objectMap["dependsOn"] = sna.DependsOn
201059  	}
201060  	if sna.UserProperties != nil {
201061  		objectMap["userProperties"] = sna.UserProperties
201062  	}
201063  	if sna.Type != "" {
201064  		objectMap["type"] = sna.Type
201065  	}
201066  	for k, v := range sna.AdditionalProperties {
201067  		objectMap[k] = v
201068  	}
201069  	return json.Marshal(objectMap)
201070  }
201071  
201072  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SynapseNotebookActivity.
201073  func (sna SynapseNotebookActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
201074  	return nil, false
201075  }
201076  
201077  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201078  func (sna SynapseNotebookActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
201079  	return nil, false
201080  }
201081  
201082  // AsSynapseNotebookActivity is the BasicActivity implementation for SynapseNotebookActivity.
201083  func (sna SynapseNotebookActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
201084  	return &sna, true
201085  }
201086  
201087  // AsExecuteDataFlowActivity is the BasicActivity implementation for SynapseNotebookActivity.
201088  func (sna SynapseNotebookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
201089  	return nil, false
201090  }
201091  
201092  // AsAzureFunctionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201093  func (sna SynapseNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
201094  	return nil, false
201095  }
201096  
201097  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SynapseNotebookActivity.
201098  func (sna SynapseNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
201099  	return nil, false
201100  }
201101  
201102  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SynapseNotebookActivity.
201103  func (sna SynapseNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
201104  	return nil, false
201105  }
201106  
201107  // AsDatabricksNotebookActivity is the BasicActivity implementation for SynapseNotebookActivity.
201108  func (sna SynapseNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
201109  	return nil, false
201110  }
201111  
201112  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SynapseNotebookActivity.
201113  func (sna SynapseNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
201114  	return nil, false
201115  }
201116  
201117  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SynapseNotebookActivity.
201118  func (sna SynapseNotebookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
201119  	return nil, false
201120  }
201121  
201122  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SynapseNotebookActivity.
201123  func (sna SynapseNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
201124  	return nil, false
201125  }
201126  
201127  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201128  func (sna SynapseNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
201129  	return nil, false
201130  }
201131  
201132  // AsGetMetadataActivity is the BasicActivity implementation for SynapseNotebookActivity.
201133  func (sna SynapseNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
201134  	return nil, false
201135  }
201136  
201137  // AsWebActivity is the BasicActivity implementation for SynapseNotebookActivity.
201138  func (sna SynapseNotebookActivity) AsWebActivity() (*WebActivity, bool) {
201139  	return nil, false
201140  }
201141  
201142  // AsLookupActivity is the BasicActivity implementation for SynapseNotebookActivity.
201143  func (sna SynapseNotebookActivity) AsLookupActivity() (*LookupActivity, bool) {
201144  	return nil, false
201145  }
201146  
201147  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SynapseNotebookActivity.
201148  func (sna SynapseNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
201149  	return nil, false
201150  }
201151  
201152  // AsDeleteActivity is the BasicActivity implementation for SynapseNotebookActivity.
201153  func (sna SynapseNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) {
201154  	return nil, false
201155  }
201156  
201157  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SynapseNotebookActivity.
201158  func (sna SynapseNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
201159  	return nil, false
201160  }
201161  
201162  // AsCustomActivity is the BasicActivity implementation for SynapseNotebookActivity.
201163  func (sna SynapseNotebookActivity) AsCustomActivity() (*CustomActivity, bool) {
201164  	return nil, false
201165  }
201166  
201167  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SynapseNotebookActivity.
201168  func (sna SynapseNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
201169  	return nil, false
201170  }
201171  
201172  // AsHDInsightSparkActivity is the BasicActivity implementation for SynapseNotebookActivity.
201173  func (sna SynapseNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
201174  	return nil, false
201175  }
201176  
201177  // AsHDInsightStreamingActivity is the BasicActivity implementation for SynapseNotebookActivity.
201178  func (sna SynapseNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
201179  	return nil, false
201180  }
201181  
201182  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SynapseNotebookActivity.
201183  func (sna SynapseNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
201184  	return nil, false
201185  }
201186  
201187  // AsHDInsightPigActivity is the BasicActivity implementation for SynapseNotebookActivity.
201188  func (sna SynapseNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
201189  	return nil, false
201190  }
201191  
201192  // AsHDInsightHiveActivity is the BasicActivity implementation for SynapseNotebookActivity.
201193  func (sna SynapseNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
201194  	return nil, false
201195  }
201196  
201197  // AsCopyActivity is the BasicActivity implementation for SynapseNotebookActivity.
201198  func (sna SynapseNotebookActivity) AsCopyActivity() (*CopyActivity, bool) {
201199  	return nil, false
201200  }
201201  
201202  // AsExecutionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201203  func (sna SynapseNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
201204  	return nil, false
201205  }
201206  
201207  // AsBasicExecutionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201208  func (sna SynapseNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
201209  	return nil, false
201210  }
201211  
201212  // AsWebHookActivity is the BasicActivity implementation for SynapseNotebookActivity.
201213  func (sna SynapseNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) {
201214  	return nil, false
201215  }
201216  
201217  // AsAppendVariableActivity is the BasicActivity implementation for SynapseNotebookActivity.
201218  func (sna SynapseNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
201219  	return nil, false
201220  }
201221  
201222  // AsSetVariableActivity is the BasicActivity implementation for SynapseNotebookActivity.
201223  func (sna SynapseNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
201224  	return nil, false
201225  }
201226  
201227  // AsFilterActivity is the BasicActivity implementation for SynapseNotebookActivity.
201228  func (sna SynapseNotebookActivity) AsFilterActivity() (*FilterActivity, bool) {
201229  	return nil, false
201230  }
201231  
201232  // AsValidationActivity is the BasicActivity implementation for SynapseNotebookActivity.
201233  func (sna SynapseNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) {
201234  	return nil, false
201235  }
201236  
201237  // AsUntilActivity is the BasicActivity implementation for SynapseNotebookActivity.
201238  func (sna SynapseNotebookActivity) AsUntilActivity() (*UntilActivity, bool) {
201239  	return nil, false
201240  }
201241  
201242  // AsWaitActivity is the BasicActivity implementation for SynapseNotebookActivity.
201243  func (sna SynapseNotebookActivity) AsWaitActivity() (*WaitActivity, bool) {
201244  	return nil, false
201245  }
201246  
201247  // AsForEachActivity is the BasicActivity implementation for SynapseNotebookActivity.
201248  func (sna SynapseNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) {
201249  	return nil, false
201250  }
201251  
201252  // AsSwitchActivity is the BasicActivity implementation for SynapseNotebookActivity.
201253  func (sna SynapseNotebookActivity) AsSwitchActivity() (*SwitchActivity, bool) {
201254  	return nil, false
201255  }
201256  
201257  // AsIfConditionActivity is the BasicActivity implementation for SynapseNotebookActivity.
201258  func (sna SynapseNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
201259  	return nil, false
201260  }
201261  
201262  // AsExecutePipelineActivity is the BasicActivity implementation for SynapseNotebookActivity.
201263  func (sna SynapseNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
201264  	return nil, false
201265  }
201266  
201267  // AsControlActivity is the BasicActivity implementation for SynapseNotebookActivity.
201268  func (sna SynapseNotebookActivity) AsControlActivity() (*ControlActivity, bool) {
201269  	return nil, false
201270  }
201271  
201272  // AsBasicControlActivity is the BasicActivity implementation for SynapseNotebookActivity.
201273  func (sna SynapseNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
201274  	return nil, false
201275  }
201276  
201277  // AsActivity is the BasicActivity implementation for SynapseNotebookActivity.
201278  func (sna SynapseNotebookActivity) AsActivity() (*Activity, bool) {
201279  	return nil, false
201280  }
201281  
201282  // AsBasicActivity is the BasicActivity implementation for SynapseNotebookActivity.
201283  func (sna SynapseNotebookActivity) AsBasicActivity() (BasicActivity, bool) {
201284  	return &sna, true
201285  }
201286  
201287  // UnmarshalJSON is the custom unmarshaler for SynapseNotebookActivity struct.
201288  func (sna *SynapseNotebookActivity) UnmarshalJSON(body []byte) error {
201289  	var m map[string]*json.RawMessage
201290  	err := json.Unmarshal(body, &m)
201291  	if err != nil {
201292  		return err
201293  	}
201294  	for k, v := range m {
201295  		switch k {
201296  		case "typeProperties":
201297  			if v != nil {
201298  				var synapseNotebookActivityTypeProperties SynapseNotebookActivityTypeProperties
201299  				err = json.Unmarshal(*v, &synapseNotebookActivityTypeProperties)
201300  				if err != nil {
201301  					return err
201302  				}
201303  				sna.SynapseNotebookActivityTypeProperties = &synapseNotebookActivityTypeProperties
201304  			}
201305  		default:
201306  			if v != nil {
201307  				var additionalProperties interface{}
201308  				err = json.Unmarshal(*v, &additionalProperties)
201309  				if err != nil {
201310  					return err
201311  				}
201312  				if sna.AdditionalProperties == nil {
201313  					sna.AdditionalProperties = make(map[string]interface{})
201314  				}
201315  				sna.AdditionalProperties[k] = additionalProperties
201316  			}
201317  		case "name":
201318  			if v != nil {
201319  				var name string
201320  				err = json.Unmarshal(*v, &name)
201321  				if err != nil {
201322  					return err
201323  				}
201324  				sna.Name = &name
201325  			}
201326  		case "description":
201327  			if v != nil {
201328  				var description string
201329  				err = json.Unmarshal(*v, &description)
201330  				if err != nil {
201331  					return err
201332  				}
201333  				sna.Description = &description
201334  			}
201335  		case "dependsOn":
201336  			if v != nil {
201337  				var dependsOn []ActivityDependency
201338  				err = json.Unmarshal(*v, &dependsOn)
201339  				if err != nil {
201340  					return err
201341  				}
201342  				sna.DependsOn = &dependsOn
201343  			}
201344  		case "userProperties":
201345  			if v != nil {
201346  				var userProperties []UserProperty
201347  				err = json.Unmarshal(*v, &userProperties)
201348  				if err != nil {
201349  					return err
201350  				}
201351  				sna.UserProperties = &userProperties
201352  			}
201353  		case "type":
201354  			if v != nil {
201355  				var typeVar TypeBasicActivity
201356  				err = json.Unmarshal(*v, &typeVar)
201357  				if err != nil {
201358  					return err
201359  				}
201360  				sna.Type = typeVar
201361  			}
201362  		}
201363  	}
201364  
201365  	return nil
201366  }
201367  
201368  // SynapseNotebookActivityTypeProperties execute Synapse notebook activity properties.
201369  type SynapseNotebookActivityTypeProperties struct {
201370  	// Notebook - Synapse notebook reference.
201371  	Notebook *SynapseNotebookReference `json:"notebook,omitempty"`
201372  	// Parameters - Notebook parameters.
201373  	Parameters map[string]interface{} `json:"parameters"`
201374  }
201375  
201376  // MarshalJSON is the custom marshaler for SynapseNotebookActivityTypeProperties.
201377  func (snatp SynapseNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) {
201378  	objectMap := make(map[string]interface{})
201379  	if snatp.Notebook != nil {
201380  		objectMap["notebook"] = snatp.Notebook
201381  	}
201382  	if snatp.Parameters != nil {
201383  		objectMap["parameters"] = snatp.Parameters
201384  	}
201385  	return json.Marshal(objectMap)
201386  }
201387  
201388  // SynapseNotebookReference synapse notebook reference type.
201389  type SynapseNotebookReference struct {
201390  	// Type - Synapse notebook reference type.
201391  	Type *string `json:"type,omitempty"`
201392  	// ReferenceName - Reference notebook name.
201393  	ReferenceName *string `json:"referenceName,omitempty"`
201394  }
201395  
201396  // SynapseSparkJobActivityTypeProperties execute spark job activity properties.
201397  type SynapseSparkJobActivityTypeProperties struct {
201398  	// SparkJob - Synapse spark job reference.
201399  	SparkJob *SynapseSparkJobReference `json:"sparkJob,omitempty"`
201400  }
201401  
201402  // SynapseSparkJobDefinitionActivity execute spark job activity.
201403  type SynapseSparkJobDefinitionActivity struct {
201404  	// SynapseSparkJobActivityTypeProperties - Execute spark job activity properties.
201405  	*SynapseSparkJobActivityTypeProperties `json:"typeProperties,omitempty"`
201406  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
201407  	AdditionalProperties map[string]interface{} `json:""`
201408  	// Name - Activity name.
201409  	Name *string `json:"name,omitempty"`
201410  	// Description - Activity description.
201411  	Description *string `json:"description,omitempty"`
201412  	// DependsOn - Activity depends on condition.
201413  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
201414  	// UserProperties - Activity user properties.
201415  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
201416  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
201417  	Type TypeBasicActivity `json:"type,omitempty"`
201418  }
201419  
201420  // MarshalJSON is the custom marshaler for SynapseSparkJobDefinitionActivity.
201421  func (ssjda SynapseSparkJobDefinitionActivity) MarshalJSON() ([]byte, error) {
201422  	ssjda.Type = TypeSparkJob
201423  	objectMap := make(map[string]interface{})
201424  	if ssjda.SynapseSparkJobActivityTypeProperties != nil {
201425  		objectMap["typeProperties"] = ssjda.SynapseSparkJobActivityTypeProperties
201426  	}
201427  	if ssjda.Name != nil {
201428  		objectMap["name"] = ssjda.Name
201429  	}
201430  	if ssjda.Description != nil {
201431  		objectMap["description"] = ssjda.Description
201432  	}
201433  	if ssjda.DependsOn != nil {
201434  		objectMap["dependsOn"] = ssjda.DependsOn
201435  	}
201436  	if ssjda.UserProperties != nil {
201437  		objectMap["userProperties"] = ssjda.UserProperties
201438  	}
201439  	if ssjda.Type != "" {
201440  		objectMap["type"] = ssjda.Type
201441  	}
201442  	for k, v := range ssjda.AdditionalProperties {
201443  		objectMap[k] = v
201444  	}
201445  	return json.Marshal(objectMap)
201446  }
201447  
201448  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201449  func (ssjda SynapseSparkJobDefinitionActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
201450  	return nil, false
201451  }
201452  
201453  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201454  func (ssjda SynapseSparkJobDefinitionActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
201455  	return &ssjda, true
201456  }
201457  
201458  // AsSynapseNotebookActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201459  func (ssjda SynapseSparkJobDefinitionActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
201460  	return nil, false
201461  }
201462  
201463  // AsExecuteDataFlowActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201464  func (ssjda SynapseSparkJobDefinitionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
201465  	return nil, false
201466  }
201467  
201468  // AsAzureFunctionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201469  func (ssjda SynapseSparkJobDefinitionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
201470  	return nil, false
201471  }
201472  
201473  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201474  func (ssjda SynapseSparkJobDefinitionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
201475  	return nil, false
201476  }
201477  
201478  // AsDatabricksSparkJarActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201479  func (ssjda SynapseSparkJobDefinitionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
201480  	return nil, false
201481  }
201482  
201483  // AsDatabricksNotebookActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201484  func (ssjda SynapseSparkJobDefinitionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
201485  	return nil, false
201486  }
201487  
201488  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201489  func (ssjda SynapseSparkJobDefinitionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
201490  	return nil, false
201491  }
201492  
201493  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201494  func (ssjda SynapseSparkJobDefinitionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
201495  	return nil, false
201496  }
201497  
201498  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201499  func (ssjda SynapseSparkJobDefinitionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
201500  	return nil, false
201501  }
201502  
201503  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201504  func (ssjda SynapseSparkJobDefinitionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
201505  	return nil, false
201506  }
201507  
201508  // AsGetMetadataActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201509  func (ssjda SynapseSparkJobDefinitionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
201510  	return nil, false
201511  }
201512  
201513  // AsWebActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201514  func (ssjda SynapseSparkJobDefinitionActivity) AsWebActivity() (*WebActivity, bool) {
201515  	return nil, false
201516  }
201517  
201518  // AsLookupActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201519  func (ssjda SynapseSparkJobDefinitionActivity) AsLookupActivity() (*LookupActivity, bool) {
201520  	return nil, false
201521  }
201522  
201523  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201524  func (ssjda SynapseSparkJobDefinitionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
201525  	return nil, false
201526  }
201527  
201528  // AsDeleteActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201529  func (ssjda SynapseSparkJobDefinitionActivity) AsDeleteActivity() (*DeleteActivity, bool) {
201530  	return nil, false
201531  }
201532  
201533  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201534  func (ssjda SynapseSparkJobDefinitionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
201535  	return nil, false
201536  }
201537  
201538  // AsCustomActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201539  func (ssjda SynapseSparkJobDefinitionActivity) AsCustomActivity() (*CustomActivity, bool) {
201540  	return nil, false
201541  }
201542  
201543  // AsExecuteSSISPackageActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201544  func (ssjda SynapseSparkJobDefinitionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
201545  	return nil, false
201546  }
201547  
201548  // AsHDInsightSparkActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201549  func (ssjda SynapseSparkJobDefinitionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
201550  	return nil, false
201551  }
201552  
201553  // AsHDInsightStreamingActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201554  func (ssjda SynapseSparkJobDefinitionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
201555  	return nil, false
201556  }
201557  
201558  // AsHDInsightMapReduceActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201559  func (ssjda SynapseSparkJobDefinitionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
201560  	return nil, false
201561  }
201562  
201563  // AsHDInsightPigActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201564  func (ssjda SynapseSparkJobDefinitionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
201565  	return nil, false
201566  }
201567  
201568  // AsHDInsightHiveActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201569  func (ssjda SynapseSparkJobDefinitionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
201570  	return nil, false
201571  }
201572  
201573  // AsCopyActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201574  func (ssjda SynapseSparkJobDefinitionActivity) AsCopyActivity() (*CopyActivity, bool) {
201575  	return nil, false
201576  }
201577  
201578  // AsExecutionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201579  func (ssjda SynapseSparkJobDefinitionActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
201580  	return nil, false
201581  }
201582  
201583  // AsBasicExecutionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201584  func (ssjda SynapseSparkJobDefinitionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
201585  	return nil, false
201586  }
201587  
201588  // AsWebHookActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201589  func (ssjda SynapseSparkJobDefinitionActivity) AsWebHookActivity() (*WebHookActivity, bool) {
201590  	return nil, false
201591  }
201592  
201593  // AsAppendVariableActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201594  func (ssjda SynapseSparkJobDefinitionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
201595  	return nil, false
201596  }
201597  
201598  // AsSetVariableActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201599  func (ssjda SynapseSparkJobDefinitionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
201600  	return nil, false
201601  }
201602  
201603  // AsFilterActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201604  func (ssjda SynapseSparkJobDefinitionActivity) AsFilterActivity() (*FilterActivity, bool) {
201605  	return nil, false
201606  }
201607  
201608  // AsValidationActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201609  func (ssjda SynapseSparkJobDefinitionActivity) AsValidationActivity() (*ValidationActivity, bool) {
201610  	return nil, false
201611  }
201612  
201613  // AsUntilActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201614  func (ssjda SynapseSparkJobDefinitionActivity) AsUntilActivity() (*UntilActivity, bool) {
201615  	return nil, false
201616  }
201617  
201618  // AsWaitActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201619  func (ssjda SynapseSparkJobDefinitionActivity) AsWaitActivity() (*WaitActivity, bool) {
201620  	return nil, false
201621  }
201622  
201623  // AsForEachActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201624  func (ssjda SynapseSparkJobDefinitionActivity) AsForEachActivity() (*ForEachActivity, bool) {
201625  	return nil, false
201626  }
201627  
201628  // AsSwitchActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201629  func (ssjda SynapseSparkJobDefinitionActivity) AsSwitchActivity() (*SwitchActivity, bool) {
201630  	return nil, false
201631  }
201632  
201633  // AsIfConditionActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201634  func (ssjda SynapseSparkJobDefinitionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
201635  	return nil, false
201636  }
201637  
201638  // AsExecutePipelineActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201639  func (ssjda SynapseSparkJobDefinitionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
201640  	return nil, false
201641  }
201642  
201643  // AsControlActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201644  func (ssjda SynapseSparkJobDefinitionActivity) AsControlActivity() (*ControlActivity, bool) {
201645  	return nil, false
201646  }
201647  
201648  // AsBasicControlActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201649  func (ssjda SynapseSparkJobDefinitionActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
201650  	return nil, false
201651  }
201652  
201653  // AsActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201654  func (ssjda SynapseSparkJobDefinitionActivity) AsActivity() (*Activity, bool) {
201655  	return nil, false
201656  }
201657  
201658  // AsBasicActivity is the BasicActivity implementation for SynapseSparkJobDefinitionActivity.
201659  func (ssjda SynapseSparkJobDefinitionActivity) AsBasicActivity() (BasicActivity, bool) {
201660  	return &ssjda, true
201661  }
201662  
201663  // UnmarshalJSON is the custom unmarshaler for SynapseSparkJobDefinitionActivity struct.
201664  func (ssjda *SynapseSparkJobDefinitionActivity) UnmarshalJSON(body []byte) error {
201665  	var m map[string]*json.RawMessage
201666  	err := json.Unmarshal(body, &m)
201667  	if err != nil {
201668  		return err
201669  	}
201670  	for k, v := range m {
201671  		switch k {
201672  		case "typeProperties":
201673  			if v != nil {
201674  				var synapseSparkJobActivityTypeProperties SynapseSparkJobActivityTypeProperties
201675  				err = json.Unmarshal(*v, &synapseSparkJobActivityTypeProperties)
201676  				if err != nil {
201677  					return err
201678  				}
201679  				ssjda.SynapseSparkJobActivityTypeProperties = &synapseSparkJobActivityTypeProperties
201680  			}
201681  		default:
201682  			if v != nil {
201683  				var additionalProperties interface{}
201684  				err = json.Unmarshal(*v, &additionalProperties)
201685  				if err != nil {
201686  					return err
201687  				}
201688  				if ssjda.AdditionalProperties == nil {
201689  					ssjda.AdditionalProperties = make(map[string]interface{})
201690  				}
201691  				ssjda.AdditionalProperties[k] = additionalProperties
201692  			}
201693  		case "name":
201694  			if v != nil {
201695  				var name string
201696  				err = json.Unmarshal(*v, &name)
201697  				if err != nil {
201698  					return err
201699  				}
201700  				ssjda.Name = &name
201701  			}
201702  		case "description":
201703  			if v != nil {
201704  				var description string
201705  				err = json.Unmarshal(*v, &description)
201706  				if err != nil {
201707  					return err
201708  				}
201709  				ssjda.Description = &description
201710  			}
201711  		case "dependsOn":
201712  			if v != nil {
201713  				var dependsOn []ActivityDependency
201714  				err = json.Unmarshal(*v, &dependsOn)
201715  				if err != nil {
201716  					return err
201717  				}
201718  				ssjda.DependsOn = &dependsOn
201719  			}
201720  		case "userProperties":
201721  			if v != nil {
201722  				var userProperties []UserProperty
201723  				err = json.Unmarshal(*v, &userProperties)
201724  				if err != nil {
201725  					return err
201726  				}
201727  				ssjda.UserProperties = &userProperties
201728  			}
201729  		case "type":
201730  			if v != nil {
201731  				var typeVar TypeBasicActivity
201732  				err = json.Unmarshal(*v, &typeVar)
201733  				if err != nil {
201734  					return err
201735  				}
201736  				ssjda.Type = typeVar
201737  			}
201738  		}
201739  	}
201740  
201741  	return nil
201742  }
201743  
201744  // SynapseSparkJobReference synapse spark job reference type.
201745  type SynapseSparkJobReference struct {
201746  	// Type - Synapse spark job reference type.
201747  	Type *string `json:"type,omitempty"`
201748  	// ReferenceName - Reference spark job name.
201749  	ReferenceName *string `json:"referenceName,omitempty"`
201750  }
201751  
201752  // BasicTabularSource copy activity sources of tabular type.
201753  type BasicTabularSource interface {
201754  	AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool)
201755  	AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool)
201756  	AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool)
201757  	AsDynamicsAXSource() (*DynamicsAXSource, bool)
201758  	AsResponsysSource() (*ResponsysSource, bool)
201759  	AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool)
201760  	AsVerticaSource() (*VerticaSource, bool)
201761  	AsNetezzaSource() (*NetezzaSource, bool)
201762  	AsZohoSource() (*ZohoSource, bool)
201763  	AsXeroSource() (*XeroSource, bool)
201764  	AsSquareSource() (*SquareSource, bool)
201765  	AsSparkSource() (*SparkSource, bool)
201766  	AsShopifySource() (*ShopifySource, bool)
201767  	AsServiceNowSource() (*ServiceNowSource, bool)
201768  	AsQuickBooksSource() (*QuickBooksSource, bool)
201769  	AsPrestoSource() (*PrestoSource, bool)
201770  	AsPhoenixSource() (*PhoenixSource, bool)
201771  	AsPaypalSource() (*PaypalSource, bool)
201772  	AsMarketoSource() (*MarketoSource, bool)
201773  	AsAzureMariaDBSource() (*AzureMariaDBSource, bool)
201774  	AsMariaDBSource() (*MariaDBSource, bool)
201775  	AsMagentoSource() (*MagentoSource, bool)
201776  	AsJiraSource() (*JiraSource, bool)
201777  	AsImpalaSource() (*ImpalaSource, bool)
201778  	AsHubspotSource() (*HubspotSource, bool)
201779  	AsHiveSource() (*HiveSource, bool)
201780  	AsHBaseSource() (*HBaseSource, bool)
201781  	AsGreenplumSource() (*GreenplumSource, bool)
201782  	AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool)
201783  	AsEloquaSource() (*EloquaSource, bool)
201784  	AsDrillSource() (*DrillSource, bool)
201785  	AsCouchbaseSource() (*CouchbaseSource, bool)
201786  	AsConcurSource() (*ConcurSource, bool)
201787  	AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool)
201788  	AsAmazonMWSSource() (*AmazonMWSSource, bool)
201789  	AsCassandraSource() (*CassandraSource, bool)
201790  	AsTeradataSource() (*TeradataSource, bool)
201791  	AsAzureMySQLSource() (*AzureMySQLSource, bool)
201792  	AsSQLDWSource() (*SQLDWSource, bool)
201793  	AsSQLMISource() (*SQLMISource, bool)
201794  	AsAzureSQLSource() (*AzureSQLSource, bool)
201795  	AsSQLServerSource() (*SQLServerSource, bool)
201796  	AsSQLSource() (*SQLSource, bool)
201797  	AsSapTableSource() (*SapTableSource, bool)
201798  	AsSapOpenHubSource() (*SapOpenHubSource, bool)
201799  	AsSapHanaSource() (*SapHanaSource, bool)
201800  	AsSapEccSource() (*SapEccSource, bool)
201801  	AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool)
201802  	AsSalesforceSource() (*SalesforceSource, bool)
201803  	AsSapBwSource() (*SapBwSource, bool)
201804  	AsSybaseSource() (*SybaseSource, bool)
201805  	AsPostgreSQLSource() (*PostgreSQLSource, bool)
201806  	AsMySQLSource() (*MySQLSource, bool)
201807  	AsOdbcSource() (*OdbcSource, bool)
201808  	AsDb2Source() (*Db2Source, bool)
201809  	AsInformixSource() (*InformixSource, bool)
201810  	AsAzureTableSource() (*AzureTableSource, bool)
201811  	AsTabularSource() (*TabularSource, bool)
201812  }
201813  
201814  // TabularSource copy activity sources of tabular type.
201815  type TabularSource struct {
201816  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
201817  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
201818  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
201819  	AdditionalProperties map[string]interface{} `json:""`
201820  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
201821  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
201822  	// 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])).
201823  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
201824  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
201825  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
201826  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
201827  	Type TypeBasicCopySource `json:"type,omitempty"`
201828  }
201829  
201830  func unmarshalBasicTabularSource(body []byte) (BasicTabularSource, error) {
201831  	var m map[string]interface{}
201832  	err := json.Unmarshal(body, &m)
201833  	if err != nil {
201834  		return nil, err
201835  	}
201836  
201837  	switch m["type"] {
201838  	case string(TypeAmazonRedshiftSource):
201839  		var ars AmazonRedshiftSource
201840  		err := json.Unmarshal(body, &ars)
201841  		return ars, err
201842  	case string(TypeGoogleAdWordsSource):
201843  		var gaws GoogleAdWordsSource
201844  		err := json.Unmarshal(body, &gaws)
201845  		return gaws, err
201846  	case string(TypeOracleServiceCloudSource):
201847  		var oscs OracleServiceCloudSource
201848  		err := json.Unmarshal(body, &oscs)
201849  		return oscs, err
201850  	case string(TypeDynamicsAXSource):
201851  		var das DynamicsAXSource
201852  		err := json.Unmarshal(body, &das)
201853  		return das, err
201854  	case string(TypeResponsysSource):
201855  		var rs ResponsysSource
201856  		err := json.Unmarshal(body, &rs)
201857  		return rs, err
201858  	case string(TypeSalesforceMarketingCloudSource):
201859  		var smcs SalesforceMarketingCloudSource
201860  		err := json.Unmarshal(body, &smcs)
201861  		return smcs, err
201862  	case string(TypeVerticaSource):
201863  		var vs VerticaSource
201864  		err := json.Unmarshal(body, &vs)
201865  		return vs, err
201866  	case string(TypeNetezzaSource):
201867  		var ns NetezzaSource
201868  		err := json.Unmarshal(body, &ns)
201869  		return ns, err
201870  	case string(TypeZohoSource):
201871  		var zs ZohoSource
201872  		err := json.Unmarshal(body, &zs)
201873  		return zs, err
201874  	case string(TypeXeroSource):
201875  		var xs XeroSource
201876  		err := json.Unmarshal(body, &xs)
201877  		return xs, err
201878  	case string(TypeSquareSource):
201879  		var ss SquareSource
201880  		err := json.Unmarshal(body, &ss)
201881  		return ss, err
201882  	case string(TypeSparkSource):
201883  		var ss SparkSource
201884  		err := json.Unmarshal(body, &ss)
201885  		return ss, err
201886  	case string(TypeShopifySource):
201887  		var ss ShopifySource
201888  		err := json.Unmarshal(body, &ss)
201889  		return ss, err
201890  	case string(TypeServiceNowSource):
201891  		var sns ServiceNowSource
201892  		err := json.Unmarshal(body, &sns)
201893  		return sns, err
201894  	case string(TypeQuickBooksSource):
201895  		var qbs QuickBooksSource
201896  		err := json.Unmarshal(body, &qbs)
201897  		return qbs, err
201898  	case string(TypePrestoSource):
201899  		var ps PrestoSource
201900  		err := json.Unmarshal(body, &ps)
201901  		return ps, err
201902  	case string(TypePhoenixSource):
201903  		var ps PhoenixSource
201904  		err := json.Unmarshal(body, &ps)
201905  		return ps, err
201906  	case string(TypePaypalSource):
201907  		var ps PaypalSource
201908  		err := json.Unmarshal(body, &ps)
201909  		return ps, err
201910  	case string(TypeMarketoSource):
201911  		var ms MarketoSource
201912  		err := json.Unmarshal(body, &ms)
201913  		return ms, err
201914  	case string(TypeAzureMariaDBSource):
201915  		var amds AzureMariaDBSource
201916  		err := json.Unmarshal(body, &amds)
201917  		return amds, err
201918  	case string(TypeMariaDBSource):
201919  		var mds MariaDBSource
201920  		err := json.Unmarshal(body, &mds)
201921  		return mds, err
201922  	case string(TypeMagentoSource):
201923  		var ms MagentoSource
201924  		err := json.Unmarshal(body, &ms)
201925  		return ms, err
201926  	case string(TypeJiraSource):
201927  		var js JiraSource
201928  		err := json.Unmarshal(body, &js)
201929  		return js, err
201930  	case string(TypeImpalaSource):
201931  		var is ImpalaSource
201932  		err := json.Unmarshal(body, &is)
201933  		return is, err
201934  	case string(TypeHubspotSource):
201935  		var hs HubspotSource
201936  		err := json.Unmarshal(body, &hs)
201937  		return hs, err
201938  	case string(TypeHiveSource):
201939  		var hs HiveSource
201940  		err := json.Unmarshal(body, &hs)
201941  		return hs, err
201942  	case string(TypeHBaseSource):
201943  		var hbs HBaseSource
201944  		err := json.Unmarshal(body, &hbs)
201945  		return hbs, err
201946  	case string(TypeGreenplumSource):
201947  		var gs GreenplumSource
201948  		err := json.Unmarshal(body, &gs)
201949  		return gs, err
201950  	case string(TypeGoogleBigQuerySource):
201951  		var gbqs GoogleBigQuerySource
201952  		err := json.Unmarshal(body, &gbqs)
201953  		return gbqs, err
201954  	case string(TypeEloquaSource):
201955  		var es EloquaSource
201956  		err := json.Unmarshal(body, &es)
201957  		return es, err
201958  	case string(TypeDrillSource):
201959  		var ds DrillSource
201960  		err := json.Unmarshal(body, &ds)
201961  		return ds, err
201962  	case string(TypeCouchbaseSource):
201963  		var cs CouchbaseSource
201964  		err := json.Unmarshal(body, &cs)
201965  		return cs, err
201966  	case string(TypeConcurSource):
201967  		var cs ConcurSource
201968  		err := json.Unmarshal(body, &cs)
201969  		return cs, err
201970  	case string(TypeAzurePostgreSQLSource):
201971  		var apss AzurePostgreSQLSource
201972  		err := json.Unmarshal(body, &apss)
201973  		return apss, err
201974  	case string(TypeAmazonMWSSource):
201975  		var ams AmazonMWSSource
201976  		err := json.Unmarshal(body, &ams)
201977  		return ams, err
201978  	case string(TypeCassandraSource):
201979  		var cs CassandraSource
201980  		err := json.Unmarshal(body, &cs)
201981  		return cs, err
201982  	case string(TypeTeradataSource):
201983  		var ts TeradataSource
201984  		err := json.Unmarshal(body, &ts)
201985  		return ts, err
201986  	case string(TypeAzureMySQLSource):
201987  		var amss AzureMySQLSource
201988  		err := json.Unmarshal(body, &amss)
201989  		return amss, err
201990  	case string(TypeSQLDWSource):
201991  		var sds SQLDWSource
201992  		err := json.Unmarshal(body, &sds)
201993  		return sds, err
201994  	case string(TypeSQLMISource):
201995  		var sms SQLMISource
201996  		err := json.Unmarshal(body, &sms)
201997  		return sms, err
201998  	case string(TypeAzureSQLSource):
201999  		var ass AzureSQLSource
202000  		err := json.Unmarshal(body, &ass)
202001  		return ass, err
202002  	case string(TypeSQLServerSource):
202003  		var sss SQLServerSource
202004  		err := json.Unmarshal(body, &sss)
202005  		return sss, err
202006  	case string(TypeSQLSource):
202007  		var ss SQLSource
202008  		err := json.Unmarshal(body, &ss)
202009  		return ss, err
202010  	case string(TypeSapTableSource):
202011  		var sts SapTableSource
202012  		err := json.Unmarshal(body, &sts)
202013  		return sts, err
202014  	case string(TypeSapOpenHubSource):
202015  		var sohs SapOpenHubSource
202016  		err := json.Unmarshal(body, &sohs)
202017  		return sohs, err
202018  	case string(TypeSapHanaSource):
202019  		var shs SapHanaSource
202020  		err := json.Unmarshal(body, &shs)
202021  		return shs, err
202022  	case string(TypeSapEccSource):
202023  		var ses SapEccSource
202024  		err := json.Unmarshal(body, &ses)
202025  		return ses, err
202026  	case string(TypeSapCloudForCustomerSource):
202027  		var scfcs SapCloudForCustomerSource
202028  		err := json.Unmarshal(body, &scfcs)
202029  		return scfcs, err
202030  	case string(TypeSalesforceSource):
202031  		var ss SalesforceSource
202032  		err := json.Unmarshal(body, &ss)
202033  		return ss, err
202034  	case string(TypeSapBwSource):
202035  		var sbs SapBwSource
202036  		err := json.Unmarshal(body, &sbs)
202037  		return sbs, err
202038  	case string(TypeSybaseSource):
202039  		var ss SybaseSource
202040  		err := json.Unmarshal(body, &ss)
202041  		return ss, err
202042  	case string(TypePostgreSQLSource):
202043  		var pss PostgreSQLSource
202044  		err := json.Unmarshal(body, &pss)
202045  		return pss, err
202046  	case string(TypeMySQLSource):
202047  		var mss MySQLSource
202048  		err := json.Unmarshal(body, &mss)
202049  		return mss, err
202050  	case string(TypeOdbcSource):
202051  		var osVar OdbcSource
202052  		err := json.Unmarshal(body, &osVar)
202053  		return osVar, err
202054  	case string(TypeDb2Source):
202055  		var d2s Db2Source
202056  		err := json.Unmarshal(body, &d2s)
202057  		return d2s, err
202058  	case string(TypeInformixSource):
202059  		var is InformixSource
202060  		err := json.Unmarshal(body, &is)
202061  		return is, err
202062  	case string(TypeAzureTableSource):
202063  		var ats AzureTableSource
202064  		err := json.Unmarshal(body, &ats)
202065  		return ats, err
202066  	default:
202067  		var ts TabularSource
202068  		err := json.Unmarshal(body, &ts)
202069  		return ts, err
202070  	}
202071  }
202072  func unmarshalBasicTabularSourceArray(body []byte) ([]BasicTabularSource, error) {
202073  	var rawMessages []*json.RawMessage
202074  	err := json.Unmarshal(body, &rawMessages)
202075  	if err != nil {
202076  		return nil, err
202077  	}
202078  
202079  	tsArray := make([]BasicTabularSource, len(rawMessages))
202080  
202081  	for index, rawMessage := range rawMessages {
202082  		ts, err := unmarshalBasicTabularSource(*rawMessage)
202083  		if err != nil {
202084  			return nil, err
202085  		}
202086  		tsArray[index] = ts
202087  	}
202088  	return tsArray, nil
202089  }
202090  
202091  // MarshalJSON is the custom marshaler for TabularSource.
202092  func (ts TabularSource) MarshalJSON() ([]byte, error) {
202093  	ts.Type = TypeTabularSource
202094  	objectMap := make(map[string]interface{})
202095  	if ts.QueryTimeout != nil {
202096  		objectMap["queryTimeout"] = ts.QueryTimeout
202097  	}
202098  	if ts.SourceRetryCount != nil {
202099  		objectMap["sourceRetryCount"] = ts.SourceRetryCount
202100  	}
202101  	if ts.SourceRetryWait != nil {
202102  		objectMap["sourceRetryWait"] = ts.SourceRetryWait
202103  	}
202104  	if ts.MaxConcurrentConnections != nil {
202105  		objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections
202106  	}
202107  	if ts.Type != "" {
202108  		objectMap["type"] = ts.Type
202109  	}
202110  	for k, v := range ts.AdditionalProperties {
202111  		objectMap[k] = v
202112  	}
202113  	return json.Marshal(objectMap)
202114  }
202115  
202116  // AsHTTPSource is the BasicCopySource implementation for TabularSource.
202117  func (ts TabularSource) AsHTTPSource() (*HTTPSource, bool) {
202118  	return nil, false
202119  }
202120  
202121  // AsAzureBlobFSSource is the BasicCopySource implementation for TabularSource.
202122  func (ts TabularSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
202123  	return nil, false
202124  }
202125  
202126  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for TabularSource.
202127  func (ts TabularSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
202128  	return nil, false
202129  }
202130  
202131  // AsOffice365Source is the BasicCopySource implementation for TabularSource.
202132  func (ts TabularSource) AsOffice365Source() (*Office365Source, bool) {
202133  	return nil, false
202134  }
202135  
202136  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TabularSource.
202137  func (ts TabularSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
202138  	return nil, false
202139  }
202140  
202141  // AsMongoDbV2Source is the BasicCopySource implementation for TabularSource.
202142  func (ts TabularSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
202143  	return nil, false
202144  }
202145  
202146  // AsMongoDbSource is the BasicCopySource implementation for TabularSource.
202147  func (ts TabularSource) AsMongoDbSource() (*MongoDbSource, bool) {
202148  	return nil, false
202149  }
202150  
202151  // AsWebSource is the BasicCopySource implementation for TabularSource.
202152  func (ts TabularSource) AsWebSource() (*WebSource, bool) {
202153  	return nil, false
202154  }
202155  
202156  // AsOracleSource is the BasicCopySource implementation for TabularSource.
202157  func (ts TabularSource) AsOracleSource() (*OracleSource, bool) {
202158  	return nil, false
202159  }
202160  
202161  // AsAzureDataExplorerSource is the BasicCopySource implementation for TabularSource.
202162  func (ts TabularSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
202163  	return nil, false
202164  }
202165  
202166  // AsHdfsSource is the BasicCopySource implementation for TabularSource.
202167  func (ts TabularSource) AsHdfsSource() (*HdfsSource, bool) {
202168  	return nil, false
202169  }
202170  
202171  // AsFileSystemSource is the BasicCopySource implementation for TabularSource.
202172  func (ts TabularSource) AsFileSystemSource() (*FileSystemSource, bool) {
202173  	return nil, false
202174  }
202175  
202176  // AsRestSource is the BasicCopySource implementation for TabularSource.
202177  func (ts TabularSource) AsRestSource() (*RestSource, bool) {
202178  	return nil, false
202179  }
202180  
202181  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for TabularSource.
202182  func (ts TabularSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
202183  	return nil, false
202184  }
202185  
202186  // AsODataSource is the BasicCopySource implementation for TabularSource.
202187  func (ts TabularSource) AsODataSource() (*ODataSource, bool) {
202188  	return nil, false
202189  }
202190  
202191  // AsMicrosoftAccessSource is the BasicCopySource implementation for TabularSource.
202192  func (ts TabularSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
202193  	return nil, false
202194  }
202195  
202196  // AsRelationalSource is the BasicCopySource implementation for TabularSource.
202197  func (ts TabularSource) AsRelationalSource() (*RelationalSource, bool) {
202198  	return nil, false
202199  }
202200  
202201  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TabularSource.
202202  func (ts TabularSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
202203  	return nil, false
202204  }
202205  
202206  // AsDynamicsCrmSource is the BasicCopySource implementation for TabularSource.
202207  func (ts TabularSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
202208  	return nil, false
202209  }
202210  
202211  // AsDynamicsSource is the BasicCopySource implementation for TabularSource.
202212  func (ts TabularSource) AsDynamicsSource() (*DynamicsSource, bool) {
202213  	return nil, false
202214  }
202215  
202216  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for TabularSource.
202217  func (ts TabularSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
202218  	return nil, false
202219  }
202220  
202221  // AsDocumentDbCollectionSource is the BasicCopySource implementation for TabularSource.
202222  func (ts TabularSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
202223  	return nil, false
202224  }
202225  
202226  // AsBlobSource is the BasicCopySource implementation for TabularSource.
202227  func (ts TabularSource) AsBlobSource() (*BlobSource, bool) {
202228  	return nil, false
202229  }
202230  
202231  // AsAmazonRedshiftSource is the BasicCopySource implementation for TabularSource.
202232  func (ts TabularSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
202233  	return nil, false
202234  }
202235  
202236  // AsGoogleAdWordsSource is the BasicCopySource implementation for TabularSource.
202237  func (ts TabularSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
202238  	return nil, false
202239  }
202240  
202241  // AsOracleServiceCloudSource is the BasicCopySource implementation for TabularSource.
202242  func (ts TabularSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
202243  	return nil, false
202244  }
202245  
202246  // AsDynamicsAXSource is the BasicCopySource implementation for TabularSource.
202247  func (ts TabularSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
202248  	return nil, false
202249  }
202250  
202251  // AsResponsysSource is the BasicCopySource implementation for TabularSource.
202252  func (ts TabularSource) AsResponsysSource() (*ResponsysSource, bool) {
202253  	return nil, false
202254  }
202255  
202256  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TabularSource.
202257  func (ts TabularSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
202258  	return nil, false
202259  }
202260  
202261  // AsVerticaSource is the BasicCopySource implementation for TabularSource.
202262  func (ts TabularSource) AsVerticaSource() (*VerticaSource, bool) {
202263  	return nil, false
202264  }
202265  
202266  // AsNetezzaSource is the BasicCopySource implementation for TabularSource.
202267  func (ts TabularSource) AsNetezzaSource() (*NetezzaSource, bool) {
202268  	return nil, false
202269  }
202270  
202271  // AsZohoSource is the BasicCopySource implementation for TabularSource.
202272  func (ts TabularSource) AsZohoSource() (*ZohoSource, bool) {
202273  	return nil, false
202274  }
202275  
202276  // AsXeroSource is the BasicCopySource implementation for TabularSource.
202277  func (ts TabularSource) AsXeroSource() (*XeroSource, bool) {
202278  	return nil, false
202279  }
202280  
202281  // AsSquareSource is the BasicCopySource implementation for TabularSource.
202282  func (ts TabularSource) AsSquareSource() (*SquareSource, bool) {
202283  	return nil, false
202284  }
202285  
202286  // AsSparkSource is the BasicCopySource implementation for TabularSource.
202287  func (ts TabularSource) AsSparkSource() (*SparkSource, bool) {
202288  	return nil, false
202289  }
202290  
202291  // AsShopifySource is the BasicCopySource implementation for TabularSource.
202292  func (ts TabularSource) AsShopifySource() (*ShopifySource, bool) {
202293  	return nil, false
202294  }
202295  
202296  // AsServiceNowSource is the BasicCopySource implementation for TabularSource.
202297  func (ts TabularSource) AsServiceNowSource() (*ServiceNowSource, bool) {
202298  	return nil, false
202299  }
202300  
202301  // AsQuickBooksSource is the BasicCopySource implementation for TabularSource.
202302  func (ts TabularSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
202303  	return nil, false
202304  }
202305  
202306  // AsPrestoSource is the BasicCopySource implementation for TabularSource.
202307  func (ts TabularSource) AsPrestoSource() (*PrestoSource, bool) {
202308  	return nil, false
202309  }
202310  
202311  // AsPhoenixSource is the BasicCopySource implementation for TabularSource.
202312  func (ts TabularSource) AsPhoenixSource() (*PhoenixSource, bool) {
202313  	return nil, false
202314  }
202315  
202316  // AsPaypalSource is the BasicCopySource implementation for TabularSource.
202317  func (ts TabularSource) AsPaypalSource() (*PaypalSource, bool) {
202318  	return nil, false
202319  }
202320  
202321  // AsMarketoSource is the BasicCopySource implementation for TabularSource.
202322  func (ts TabularSource) AsMarketoSource() (*MarketoSource, bool) {
202323  	return nil, false
202324  }
202325  
202326  // AsAzureMariaDBSource is the BasicCopySource implementation for TabularSource.
202327  func (ts TabularSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
202328  	return nil, false
202329  }
202330  
202331  // AsMariaDBSource is the BasicCopySource implementation for TabularSource.
202332  func (ts TabularSource) AsMariaDBSource() (*MariaDBSource, bool) {
202333  	return nil, false
202334  }
202335  
202336  // AsMagentoSource is the BasicCopySource implementation for TabularSource.
202337  func (ts TabularSource) AsMagentoSource() (*MagentoSource, bool) {
202338  	return nil, false
202339  }
202340  
202341  // AsJiraSource is the BasicCopySource implementation for TabularSource.
202342  func (ts TabularSource) AsJiraSource() (*JiraSource, bool) {
202343  	return nil, false
202344  }
202345  
202346  // AsImpalaSource is the BasicCopySource implementation for TabularSource.
202347  func (ts TabularSource) AsImpalaSource() (*ImpalaSource, bool) {
202348  	return nil, false
202349  }
202350  
202351  // AsHubspotSource is the BasicCopySource implementation for TabularSource.
202352  func (ts TabularSource) AsHubspotSource() (*HubspotSource, bool) {
202353  	return nil, false
202354  }
202355  
202356  // AsHiveSource is the BasicCopySource implementation for TabularSource.
202357  func (ts TabularSource) AsHiveSource() (*HiveSource, bool) {
202358  	return nil, false
202359  }
202360  
202361  // AsHBaseSource is the BasicCopySource implementation for TabularSource.
202362  func (ts TabularSource) AsHBaseSource() (*HBaseSource, bool) {
202363  	return nil, false
202364  }
202365  
202366  // AsGreenplumSource is the BasicCopySource implementation for TabularSource.
202367  func (ts TabularSource) AsGreenplumSource() (*GreenplumSource, bool) {
202368  	return nil, false
202369  }
202370  
202371  // AsGoogleBigQuerySource is the BasicCopySource implementation for TabularSource.
202372  func (ts TabularSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
202373  	return nil, false
202374  }
202375  
202376  // AsEloquaSource is the BasicCopySource implementation for TabularSource.
202377  func (ts TabularSource) AsEloquaSource() (*EloquaSource, bool) {
202378  	return nil, false
202379  }
202380  
202381  // AsDrillSource is the BasicCopySource implementation for TabularSource.
202382  func (ts TabularSource) AsDrillSource() (*DrillSource, bool) {
202383  	return nil, false
202384  }
202385  
202386  // AsCouchbaseSource is the BasicCopySource implementation for TabularSource.
202387  func (ts TabularSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
202388  	return nil, false
202389  }
202390  
202391  // AsConcurSource is the BasicCopySource implementation for TabularSource.
202392  func (ts TabularSource) AsConcurSource() (*ConcurSource, bool) {
202393  	return nil, false
202394  }
202395  
202396  // AsAzurePostgreSQLSource is the BasicCopySource implementation for TabularSource.
202397  func (ts TabularSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
202398  	return nil, false
202399  }
202400  
202401  // AsAmazonMWSSource is the BasicCopySource implementation for TabularSource.
202402  func (ts TabularSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
202403  	return nil, false
202404  }
202405  
202406  // AsCassandraSource is the BasicCopySource implementation for TabularSource.
202407  func (ts TabularSource) AsCassandraSource() (*CassandraSource, bool) {
202408  	return nil, false
202409  }
202410  
202411  // AsTeradataSource is the BasicCopySource implementation for TabularSource.
202412  func (ts TabularSource) AsTeradataSource() (*TeradataSource, bool) {
202413  	return nil, false
202414  }
202415  
202416  // AsAzureMySQLSource is the BasicCopySource implementation for TabularSource.
202417  func (ts TabularSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
202418  	return nil, false
202419  }
202420  
202421  // AsSQLDWSource is the BasicCopySource implementation for TabularSource.
202422  func (ts TabularSource) AsSQLDWSource() (*SQLDWSource, bool) {
202423  	return nil, false
202424  }
202425  
202426  // AsSQLMISource is the BasicCopySource implementation for TabularSource.
202427  func (ts TabularSource) AsSQLMISource() (*SQLMISource, bool) {
202428  	return nil, false
202429  }
202430  
202431  // AsAzureSQLSource is the BasicCopySource implementation for TabularSource.
202432  func (ts TabularSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
202433  	return nil, false
202434  }
202435  
202436  // AsSQLServerSource is the BasicCopySource implementation for TabularSource.
202437  func (ts TabularSource) AsSQLServerSource() (*SQLServerSource, bool) {
202438  	return nil, false
202439  }
202440  
202441  // AsSQLSource is the BasicCopySource implementation for TabularSource.
202442  func (ts TabularSource) AsSQLSource() (*SQLSource, bool) {
202443  	return nil, false
202444  }
202445  
202446  // AsSapTableSource is the BasicCopySource implementation for TabularSource.
202447  func (ts TabularSource) AsSapTableSource() (*SapTableSource, bool) {
202448  	return nil, false
202449  }
202450  
202451  // AsSapOpenHubSource is the BasicCopySource implementation for TabularSource.
202452  func (ts TabularSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
202453  	return nil, false
202454  }
202455  
202456  // AsSapHanaSource is the BasicCopySource implementation for TabularSource.
202457  func (ts TabularSource) AsSapHanaSource() (*SapHanaSource, bool) {
202458  	return nil, false
202459  }
202460  
202461  // AsSapEccSource is the BasicCopySource implementation for TabularSource.
202462  func (ts TabularSource) AsSapEccSource() (*SapEccSource, bool) {
202463  	return nil, false
202464  }
202465  
202466  // AsSapCloudForCustomerSource is the BasicCopySource implementation for TabularSource.
202467  func (ts TabularSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
202468  	return nil, false
202469  }
202470  
202471  // AsSalesforceSource is the BasicCopySource implementation for TabularSource.
202472  func (ts TabularSource) AsSalesforceSource() (*SalesforceSource, bool) {
202473  	return nil, false
202474  }
202475  
202476  // AsSapBwSource is the BasicCopySource implementation for TabularSource.
202477  func (ts TabularSource) AsSapBwSource() (*SapBwSource, bool) {
202478  	return nil, false
202479  }
202480  
202481  // AsSybaseSource is the BasicCopySource implementation for TabularSource.
202482  func (ts TabularSource) AsSybaseSource() (*SybaseSource, bool) {
202483  	return nil, false
202484  }
202485  
202486  // AsPostgreSQLSource is the BasicCopySource implementation for TabularSource.
202487  func (ts TabularSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
202488  	return nil, false
202489  }
202490  
202491  // AsMySQLSource is the BasicCopySource implementation for TabularSource.
202492  func (ts TabularSource) AsMySQLSource() (*MySQLSource, bool) {
202493  	return nil, false
202494  }
202495  
202496  // AsOdbcSource is the BasicCopySource implementation for TabularSource.
202497  func (ts TabularSource) AsOdbcSource() (*OdbcSource, bool) {
202498  	return nil, false
202499  }
202500  
202501  // AsDb2Source is the BasicCopySource implementation for TabularSource.
202502  func (ts TabularSource) AsDb2Source() (*Db2Source, bool) {
202503  	return nil, false
202504  }
202505  
202506  // AsInformixSource is the BasicCopySource implementation for TabularSource.
202507  func (ts TabularSource) AsInformixSource() (*InformixSource, bool) {
202508  	return nil, false
202509  }
202510  
202511  // AsAzureTableSource is the BasicCopySource implementation for TabularSource.
202512  func (ts TabularSource) AsAzureTableSource() (*AzureTableSource, bool) {
202513  	return nil, false
202514  }
202515  
202516  // AsTabularSource is the BasicCopySource implementation for TabularSource.
202517  func (ts TabularSource) AsTabularSource() (*TabularSource, bool) {
202518  	return &ts, true
202519  }
202520  
202521  // AsBasicTabularSource is the BasicCopySource implementation for TabularSource.
202522  func (ts TabularSource) AsBasicTabularSource() (BasicTabularSource, bool) {
202523  	return &ts, true
202524  }
202525  
202526  // AsBinarySource is the BasicCopySource implementation for TabularSource.
202527  func (ts TabularSource) AsBinarySource() (*BinarySource, bool) {
202528  	return nil, false
202529  }
202530  
202531  // AsOrcSource is the BasicCopySource implementation for TabularSource.
202532  func (ts TabularSource) AsOrcSource() (*OrcSource, bool) {
202533  	return nil, false
202534  }
202535  
202536  // AsJSONSource is the BasicCopySource implementation for TabularSource.
202537  func (ts TabularSource) AsJSONSource() (*JSONSource, bool) {
202538  	return nil, false
202539  }
202540  
202541  // AsDelimitedTextSource is the BasicCopySource implementation for TabularSource.
202542  func (ts TabularSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
202543  	return nil, false
202544  }
202545  
202546  // AsParquetSource is the BasicCopySource implementation for TabularSource.
202547  func (ts TabularSource) AsParquetSource() (*ParquetSource, bool) {
202548  	return nil, false
202549  }
202550  
202551  // AsAvroSource is the BasicCopySource implementation for TabularSource.
202552  func (ts TabularSource) AsAvroSource() (*AvroSource, bool) {
202553  	return nil, false
202554  }
202555  
202556  // AsCopySource is the BasicCopySource implementation for TabularSource.
202557  func (ts TabularSource) AsCopySource() (*CopySource, bool) {
202558  	return nil, false
202559  }
202560  
202561  // AsBasicCopySource is the BasicCopySource implementation for TabularSource.
202562  func (ts TabularSource) AsBasicCopySource() (BasicCopySource, bool) {
202563  	return &ts, true
202564  }
202565  
202566  // UnmarshalJSON is the custom unmarshaler for TabularSource struct.
202567  func (ts *TabularSource) UnmarshalJSON(body []byte) error {
202568  	var m map[string]*json.RawMessage
202569  	err := json.Unmarshal(body, &m)
202570  	if err != nil {
202571  		return err
202572  	}
202573  	for k, v := range m {
202574  		switch k {
202575  		case "queryTimeout":
202576  			if v != nil {
202577  				var queryTimeout interface{}
202578  				err = json.Unmarshal(*v, &queryTimeout)
202579  				if err != nil {
202580  					return err
202581  				}
202582  				ts.QueryTimeout = queryTimeout
202583  			}
202584  		default:
202585  			if v != nil {
202586  				var additionalProperties interface{}
202587  				err = json.Unmarshal(*v, &additionalProperties)
202588  				if err != nil {
202589  					return err
202590  				}
202591  				if ts.AdditionalProperties == nil {
202592  					ts.AdditionalProperties = make(map[string]interface{})
202593  				}
202594  				ts.AdditionalProperties[k] = additionalProperties
202595  			}
202596  		case "sourceRetryCount":
202597  			if v != nil {
202598  				var sourceRetryCount interface{}
202599  				err = json.Unmarshal(*v, &sourceRetryCount)
202600  				if err != nil {
202601  					return err
202602  				}
202603  				ts.SourceRetryCount = sourceRetryCount
202604  			}
202605  		case "sourceRetryWait":
202606  			if v != nil {
202607  				var sourceRetryWait interface{}
202608  				err = json.Unmarshal(*v, &sourceRetryWait)
202609  				if err != nil {
202610  					return err
202611  				}
202612  				ts.SourceRetryWait = sourceRetryWait
202613  			}
202614  		case "maxConcurrentConnections":
202615  			if v != nil {
202616  				var maxConcurrentConnections interface{}
202617  				err = json.Unmarshal(*v, &maxConcurrentConnections)
202618  				if err != nil {
202619  					return err
202620  				}
202621  				ts.MaxConcurrentConnections = maxConcurrentConnections
202622  			}
202623  		case "type":
202624  			if v != nil {
202625  				var typeVar TypeBasicCopySource
202626  				err = json.Unmarshal(*v, &typeVar)
202627  				if err != nil {
202628  					return err
202629  				}
202630  				ts.Type = typeVar
202631  			}
202632  		}
202633  	}
202634  
202635  	return nil
202636  }
202637  
202638  // TabularTranslator a copy activity tabular translator.
202639  type TabularTranslator struct {
202640  	// ColumnMappings - Column mappings. Example: "UserId: MyUserId, Group: MyGroup, Name: MyName" Type: string (or Expression with resultType string). This property will be retired. Please use mappings property.
202641  	ColumnMappings interface{} `json:"columnMappings,omitempty"`
202642  	// SchemaMapping - The schema mapping to map between tabular data and hierarchical data. Example: {"Column1": "$.Column1", "Column2": "$.Column2.Property1", "Column3": "$.Column2.Property2"}. Type: object (or Expression with resultType object). This property will be retired. Please use mappings property.
202643  	SchemaMapping interface{} `json:"schemaMapping,omitempty"`
202644  	// CollectionReference - The JSON Path of the Nested Array that is going to do cross-apply. Type: object (or Expression with resultType object).
202645  	CollectionReference interface{} `json:"collectionReference,omitempty"`
202646  	// MapComplexValuesToString - Whether to map complex (array and object) values to simple strings in json format. Type: boolean (or Expression with resultType boolean).
202647  	MapComplexValuesToString interface{} `json:"mapComplexValuesToString,omitempty"`
202648  	// Mappings - Column mappings with logical types. Tabular->tabular example: [{"source":{"name":"CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"name":"CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}].  Hierarchical->tabular example: [{"source":{"path":"$.CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"path":"$.CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}]. Type: object (or Expression with resultType object).
202649  	Mappings interface{} `json:"mappings,omitempty"`
202650  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
202651  	AdditionalProperties map[string]interface{} `json:""`
202652  	// Type - Possible values include: 'TypeCopyTranslator', 'TypeTabularTranslator'
202653  	Type TypeBasicCopyTranslator `json:"type,omitempty"`
202654  }
202655  
202656  // MarshalJSON is the custom marshaler for TabularTranslator.
202657  func (tt TabularTranslator) MarshalJSON() ([]byte, error) {
202658  	tt.Type = TypeTabularTranslator
202659  	objectMap := make(map[string]interface{})
202660  	if tt.ColumnMappings != nil {
202661  		objectMap["columnMappings"] = tt.ColumnMappings
202662  	}
202663  	if tt.SchemaMapping != nil {
202664  		objectMap["schemaMapping"] = tt.SchemaMapping
202665  	}
202666  	if tt.CollectionReference != nil {
202667  		objectMap["collectionReference"] = tt.CollectionReference
202668  	}
202669  	if tt.MapComplexValuesToString != nil {
202670  		objectMap["mapComplexValuesToString"] = tt.MapComplexValuesToString
202671  	}
202672  	if tt.Mappings != nil {
202673  		objectMap["mappings"] = tt.Mappings
202674  	}
202675  	if tt.Type != "" {
202676  		objectMap["type"] = tt.Type
202677  	}
202678  	for k, v := range tt.AdditionalProperties {
202679  		objectMap[k] = v
202680  	}
202681  	return json.Marshal(objectMap)
202682  }
202683  
202684  // AsTabularTranslator is the BasicCopyTranslator implementation for TabularTranslator.
202685  func (tt TabularTranslator) AsTabularTranslator() (*TabularTranslator, bool) {
202686  	return &tt, true
202687  }
202688  
202689  // AsCopyTranslator is the BasicCopyTranslator implementation for TabularTranslator.
202690  func (tt TabularTranslator) AsCopyTranslator() (*CopyTranslator, bool) {
202691  	return nil, false
202692  }
202693  
202694  // AsBasicCopyTranslator is the BasicCopyTranslator implementation for TabularTranslator.
202695  func (tt TabularTranslator) AsBasicCopyTranslator() (BasicCopyTranslator, bool) {
202696  	return &tt, true
202697  }
202698  
202699  // UnmarshalJSON is the custom unmarshaler for TabularTranslator struct.
202700  func (tt *TabularTranslator) UnmarshalJSON(body []byte) error {
202701  	var m map[string]*json.RawMessage
202702  	err := json.Unmarshal(body, &m)
202703  	if err != nil {
202704  		return err
202705  	}
202706  	for k, v := range m {
202707  		switch k {
202708  		case "columnMappings":
202709  			if v != nil {
202710  				var columnMappings interface{}
202711  				err = json.Unmarshal(*v, &columnMappings)
202712  				if err != nil {
202713  					return err
202714  				}
202715  				tt.ColumnMappings = columnMappings
202716  			}
202717  		case "schemaMapping":
202718  			if v != nil {
202719  				var schemaMapping interface{}
202720  				err = json.Unmarshal(*v, &schemaMapping)
202721  				if err != nil {
202722  					return err
202723  				}
202724  				tt.SchemaMapping = schemaMapping
202725  			}
202726  		case "collectionReference":
202727  			if v != nil {
202728  				var collectionReference interface{}
202729  				err = json.Unmarshal(*v, &collectionReference)
202730  				if err != nil {
202731  					return err
202732  				}
202733  				tt.CollectionReference = collectionReference
202734  			}
202735  		case "mapComplexValuesToString":
202736  			if v != nil {
202737  				var mapComplexValuesToString interface{}
202738  				err = json.Unmarshal(*v, &mapComplexValuesToString)
202739  				if err != nil {
202740  					return err
202741  				}
202742  				tt.MapComplexValuesToString = mapComplexValuesToString
202743  			}
202744  		case "mappings":
202745  			if v != nil {
202746  				var mappings interface{}
202747  				err = json.Unmarshal(*v, &mappings)
202748  				if err != nil {
202749  					return err
202750  				}
202751  				tt.Mappings = mappings
202752  			}
202753  		default:
202754  			if v != nil {
202755  				var additionalProperties interface{}
202756  				err = json.Unmarshal(*v, &additionalProperties)
202757  				if err != nil {
202758  					return err
202759  				}
202760  				if tt.AdditionalProperties == nil {
202761  					tt.AdditionalProperties = make(map[string]interface{})
202762  				}
202763  				tt.AdditionalProperties[k] = additionalProperties
202764  			}
202765  		case "type":
202766  			if v != nil {
202767  				var typeVar TypeBasicCopyTranslator
202768  				err = json.Unmarshal(*v, &typeVar)
202769  				if err != nil {
202770  					return err
202771  				}
202772  				tt.Type = typeVar
202773  			}
202774  		}
202775  	}
202776  
202777  	return nil
202778  }
202779  
202780  // TeradataLinkedService linked service for Teradata data source.
202781  type TeradataLinkedService struct {
202782  	// TeradataLinkedServiceTypeProperties - Teradata linked service properties.
202783  	*TeradataLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
202784  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
202785  	AdditionalProperties map[string]interface{} `json:""`
202786  	// ConnectVia - The integration runtime reference.
202787  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
202788  	// Description - Linked service description.
202789  	Description *string `json:"description,omitempty"`
202790  	// Parameters - Parameters for linked service.
202791  	Parameters map[string]*ParameterSpecification `json:"parameters"`
202792  	// Annotations - List of tags that can be used for describing the linked service.
202793  	Annotations *[]interface{} `json:"annotations,omitempty"`
202794  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
202795  	Type TypeBasicLinkedService `json:"type,omitempty"`
202796  }
202797  
202798  // MarshalJSON is the custom marshaler for TeradataLinkedService.
202799  func (TLSVar TeradataLinkedService) MarshalJSON() ([]byte, error) {
202800  	TLSVar.Type = TypeTeradata
202801  	objectMap := make(map[string]interface{})
202802  	if TLSVar.TeradataLinkedServiceTypeProperties != nil {
202803  		objectMap["typeProperties"] = TLSVar.TeradataLinkedServiceTypeProperties
202804  	}
202805  	if TLSVar.ConnectVia != nil {
202806  		objectMap["connectVia"] = TLSVar.ConnectVia
202807  	}
202808  	if TLSVar.Description != nil {
202809  		objectMap["description"] = TLSVar.Description
202810  	}
202811  	if TLSVar.Parameters != nil {
202812  		objectMap["parameters"] = TLSVar.Parameters
202813  	}
202814  	if TLSVar.Annotations != nil {
202815  		objectMap["annotations"] = TLSVar.Annotations
202816  	}
202817  	if TLSVar.Type != "" {
202818  		objectMap["type"] = TLSVar.Type
202819  	}
202820  	for k, v := range TLSVar.AdditionalProperties {
202821  		objectMap[k] = v
202822  	}
202823  	return json.Marshal(objectMap)
202824  }
202825  
202826  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202827  func (TLSVar TeradataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
202828  	return nil, false
202829  }
202830  
202831  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202832  func (TLSVar TeradataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
202833  	return nil, false
202834  }
202835  
202836  // AsSapTableLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202837  func (TLSVar TeradataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
202838  	return nil, false
202839  }
202840  
202841  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202842  func (TLSVar TeradataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
202843  	return nil, false
202844  }
202845  
202846  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202847  func (TLSVar TeradataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
202848  	return nil, false
202849  }
202850  
202851  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202852  func (TLSVar TeradataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
202853  	return nil, false
202854  }
202855  
202856  // AsResponsysLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202857  func (TLSVar TeradataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
202858  	return nil, false
202859  }
202860  
202861  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202862  func (TLSVar TeradataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
202863  	return nil, false
202864  }
202865  
202866  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202867  func (TLSVar TeradataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
202868  	return nil, false
202869  }
202870  
202871  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202872  func (TLSVar TeradataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
202873  	return nil, false
202874  }
202875  
202876  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202877  func (TLSVar TeradataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
202878  	return nil, false
202879  }
202880  
202881  // AsNetezzaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202882  func (TLSVar TeradataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
202883  	return nil, false
202884  }
202885  
202886  // AsVerticaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202887  func (TLSVar TeradataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
202888  	return nil, false
202889  }
202890  
202891  // AsZohoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202892  func (TLSVar TeradataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
202893  	return nil, false
202894  }
202895  
202896  // AsXeroLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202897  func (TLSVar TeradataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
202898  	return nil, false
202899  }
202900  
202901  // AsSquareLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202902  func (TLSVar TeradataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
202903  	return nil, false
202904  }
202905  
202906  // AsSparkLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202907  func (TLSVar TeradataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
202908  	return nil, false
202909  }
202910  
202911  // AsShopifyLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202912  func (TLSVar TeradataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
202913  	return nil, false
202914  }
202915  
202916  // AsServiceNowLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202917  func (TLSVar TeradataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
202918  	return nil, false
202919  }
202920  
202921  // AsQuickBooksLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202922  func (TLSVar TeradataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
202923  	return nil, false
202924  }
202925  
202926  // AsPrestoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202927  func (TLSVar TeradataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
202928  	return nil, false
202929  }
202930  
202931  // AsPhoenixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202932  func (TLSVar TeradataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
202933  	return nil, false
202934  }
202935  
202936  // AsPaypalLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202937  func (TLSVar TeradataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
202938  	return nil, false
202939  }
202940  
202941  // AsMarketoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202942  func (TLSVar TeradataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
202943  	return nil, false
202944  }
202945  
202946  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202947  func (TLSVar TeradataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
202948  	return nil, false
202949  }
202950  
202951  // AsMariaDBLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202952  func (TLSVar TeradataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
202953  	return nil, false
202954  }
202955  
202956  // AsMagentoLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202957  func (TLSVar TeradataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
202958  	return nil, false
202959  }
202960  
202961  // AsJiraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202962  func (TLSVar TeradataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
202963  	return nil, false
202964  }
202965  
202966  // AsImpalaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202967  func (TLSVar TeradataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
202968  	return nil, false
202969  }
202970  
202971  // AsHubspotLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202972  func (TLSVar TeradataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
202973  	return nil, false
202974  }
202975  
202976  // AsHiveLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202977  func (TLSVar TeradataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
202978  	return nil, false
202979  }
202980  
202981  // AsHBaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202982  func (TLSVar TeradataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
202983  	return nil, false
202984  }
202985  
202986  // AsGreenplumLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202987  func (TLSVar TeradataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
202988  	return nil, false
202989  }
202990  
202991  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202992  func (TLSVar TeradataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
202993  	return nil, false
202994  }
202995  
202996  // AsEloquaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
202997  func (TLSVar TeradataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
202998  	return nil, false
202999  }
203000  
203001  // AsDrillLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203002  func (TLSVar TeradataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
203003  	return nil, false
203004  }
203005  
203006  // AsCouchbaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203007  func (TLSVar TeradataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
203008  	return nil, false
203009  }
203010  
203011  // AsConcurLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203012  func (TLSVar TeradataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
203013  	return nil, false
203014  }
203015  
203016  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203017  func (TLSVar TeradataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
203018  	return nil, false
203019  }
203020  
203021  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203022  func (TLSVar TeradataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
203023  	return nil, false
203024  }
203025  
203026  // AsSapHanaLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203027  func (TLSVar TeradataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
203028  	return nil, false
203029  }
203030  
203031  // AsSapBWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203032  func (TLSVar TeradataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
203033  	return nil, false
203034  }
203035  
203036  // AsSftpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203037  func (TLSVar TeradataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
203038  	return nil, false
203039  }
203040  
203041  // AsFtpServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203042  func (TLSVar TeradataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
203043  	return nil, false
203044  }
203045  
203046  // AsHTTPLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203047  func (TLSVar TeradataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
203048  	return nil, false
203049  }
203050  
203051  // AsAzureSearchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203052  func (TLSVar TeradataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
203053  	return nil, false
203054  }
203055  
203056  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203057  func (TLSVar TeradataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
203058  	return nil, false
203059  }
203060  
203061  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203062  func (TLSVar TeradataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
203063  	return nil, false
203064  }
203065  
203066  // AsAmazonS3LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203067  func (TLSVar TeradataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
203068  	return nil, false
203069  }
203070  
203071  // AsRestServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203072  func (TLSVar TeradataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
203073  	return nil, false
203074  }
203075  
203076  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203077  func (TLSVar TeradataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
203078  	return nil, false
203079  }
203080  
203081  // AsSapEccLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203082  func (TLSVar TeradataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
203083  	return nil, false
203084  }
203085  
203086  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203087  func (TLSVar TeradataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
203088  	return nil, false
203089  }
203090  
203091  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203092  func (TLSVar TeradataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
203093  	return nil, false
203094  }
203095  
203096  // AsSalesforceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203097  func (TLSVar TeradataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
203098  	return nil, false
203099  }
203100  
203101  // AsOffice365LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203102  func (TLSVar TeradataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
203103  	return nil, false
203104  }
203105  
203106  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203107  func (TLSVar TeradataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
203108  	return nil, false
203109  }
203110  
203111  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203112  func (TLSVar TeradataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
203113  	return nil, false
203114  }
203115  
203116  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203117  func (TLSVar TeradataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
203118  	return nil, false
203119  }
203120  
203121  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203122  func (TLSVar TeradataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
203123  	return nil, false
203124  }
203125  
203126  // AsMongoDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203127  func (TLSVar TeradataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
203128  	return nil, false
203129  }
203130  
203131  // AsCassandraLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203132  func (TLSVar TeradataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
203133  	return nil, false
203134  }
203135  
203136  // AsWebLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203137  func (TLSVar TeradataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
203138  	return nil, false
203139  }
203140  
203141  // AsODataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203142  func (TLSVar TeradataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
203143  	return nil, false
203144  }
203145  
203146  // AsHdfsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203147  func (TLSVar TeradataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
203148  	return nil, false
203149  }
203150  
203151  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203152  func (TLSVar TeradataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
203153  	return nil, false
203154  }
203155  
203156  // AsInformixLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203157  func (TLSVar TeradataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
203158  	return nil, false
203159  }
203160  
203161  // AsOdbcLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203162  func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
203163  	return nil, false
203164  }
203165  
203166  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203167  func (TLSVar TeradataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
203168  	return nil, false
203169  }
203170  
203171  // AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203172  func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
203173  	return nil, false
203174  }
203175  
203176  // AsTeradataLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203177  func (TLSVar TeradataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
203178  	return &TLSVar, true
203179  }
203180  
203181  // AsDb2LinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203182  func (TLSVar TeradataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
203183  	return nil, false
203184  }
203185  
203186  // AsSybaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203187  func (TLSVar TeradataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
203188  	return nil, false
203189  }
203190  
203191  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203192  func (TLSVar TeradataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
203193  	return nil, false
203194  }
203195  
203196  // AsMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203197  func (TLSVar TeradataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
203198  	return nil, false
203199  }
203200  
203201  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203202  func (TLSVar TeradataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
203203  	return nil, false
203204  }
203205  
203206  // AsOracleLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203207  func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
203208  	return nil, false
203209  }
203210  
203211  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203212  func (TLSVar TeradataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
203213  	return nil, false
203214  }
203215  
203216  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203217  func (TLSVar TeradataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
203218  	return nil, false
203219  }
203220  
203221  // AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203222  func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
203223  	return nil, false
203224  }
203225  
203226  // AsHDInsightLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203227  func (TLSVar TeradataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
203228  	return nil, false
203229  }
203230  
203231  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203232  func (TLSVar TeradataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
203233  	return nil, false
203234  }
203235  
203236  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203237  func (TLSVar TeradataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
203238  	return nil, false
203239  }
203240  
203241  // AsDynamicsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203242  func (TLSVar TeradataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
203243  	return nil, false
203244  }
203245  
203246  // AsCosmosDbLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203247  func (TLSVar TeradataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
203248  	return nil, false
203249  }
203250  
203251  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203252  func (TLSVar TeradataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
203253  	return nil, false
203254  }
203255  
203256  // AsAzureBatchLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203257  func (TLSVar TeradataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
203258  	return nil, false
203259  }
203260  
203261  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203262  func (TLSVar TeradataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
203263  	return nil, false
203264  }
203265  
203266  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203267  func (TLSVar TeradataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
203268  	return nil, false
203269  }
203270  
203271  // AsSQLServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203272  func (TLSVar TeradataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
203273  	return nil, false
203274  }
203275  
203276  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203277  func (TLSVar TeradataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
203278  	return nil, false
203279  }
203280  
203281  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203282  func (TLSVar TeradataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
203283  	return nil, false
203284  }
203285  
203286  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203287  func (TLSVar TeradataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
203288  	return nil, false
203289  }
203290  
203291  // AsAzureStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203292  func (TLSVar TeradataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
203293  	return nil, false
203294  }
203295  
203296  // AsLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203297  func (TLSVar TeradataLinkedService) AsLinkedService() (*LinkedService, bool) {
203298  	return nil, false
203299  }
203300  
203301  // AsBasicLinkedService is the BasicLinkedService implementation for TeradataLinkedService.
203302  func (TLSVar TeradataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
203303  	return &TLSVar, true
203304  }
203305  
203306  // UnmarshalJSON is the custom unmarshaler for TeradataLinkedService struct.
203307  func (TLSVar *TeradataLinkedService) UnmarshalJSON(body []byte) error {
203308  	var m map[string]*json.RawMessage
203309  	err := json.Unmarshal(body, &m)
203310  	if err != nil {
203311  		return err
203312  	}
203313  	for k, v := range m {
203314  		switch k {
203315  		case "typeProperties":
203316  			if v != nil {
203317  				var teradataLinkedServiceTypeProperties TeradataLinkedServiceTypeProperties
203318  				err = json.Unmarshal(*v, &teradataLinkedServiceTypeProperties)
203319  				if err != nil {
203320  					return err
203321  				}
203322  				TLSVar.TeradataLinkedServiceTypeProperties = &teradataLinkedServiceTypeProperties
203323  			}
203324  		default:
203325  			if v != nil {
203326  				var additionalProperties interface{}
203327  				err = json.Unmarshal(*v, &additionalProperties)
203328  				if err != nil {
203329  					return err
203330  				}
203331  				if TLSVar.AdditionalProperties == nil {
203332  					TLSVar.AdditionalProperties = make(map[string]interface{})
203333  				}
203334  				TLSVar.AdditionalProperties[k] = additionalProperties
203335  			}
203336  		case "connectVia":
203337  			if v != nil {
203338  				var connectVia IntegrationRuntimeReference
203339  				err = json.Unmarshal(*v, &connectVia)
203340  				if err != nil {
203341  					return err
203342  				}
203343  				TLSVar.ConnectVia = &connectVia
203344  			}
203345  		case "description":
203346  			if v != nil {
203347  				var description string
203348  				err = json.Unmarshal(*v, &description)
203349  				if err != nil {
203350  					return err
203351  				}
203352  				TLSVar.Description = &description
203353  			}
203354  		case "parameters":
203355  			if v != nil {
203356  				var parameters map[string]*ParameterSpecification
203357  				err = json.Unmarshal(*v, &parameters)
203358  				if err != nil {
203359  					return err
203360  				}
203361  				TLSVar.Parameters = parameters
203362  			}
203363  		case "annotations":
203364  			if v != nil {
203365  				var annotations []interface{}
203366  				err = json.Unmarshal(*v, &annotations)
203367  				if err != nil {
203368  					return err
203369  				}
203370  				TLSVar.Annotations = &annotations
203371  			}
203372  		case "type":
203373  			if v != nil {
203374  				var typeVar TypeBasicLinkedService
203375  				err = json.Unmarshal(*v, &typeVar)
203376  				if err != nil {
203377  					return err
203378  				}
203379  				TLSVar.Type = typeVar
203380  			}
203381  		}
203382  	}
203383  
203384  	return nil
203385  }
203386  
203387  // TeradataLinkedServiceTypeProperties teradata linked service properties.
203388  type TeradataLinkedServiceTypeProperties struct {
203389  	// ConnectionString - Teradata ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
203390  	ConnectionString interface{} `json:"connectionString,omitempty"`
203391  	// Server - Server name for connection. Type: string (or Expression with resultType string).
203392  	Server interface{} `json:"server,omitempty"`
203393  	// AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'TeradataAuthenticationTypeBasic', 'TeradataAuthenticationTypeWindows'
203394  	AuthenticationType TeradataAuthenticationType `json:"authenticationType,omitempty"`
203395  	// Username - Username for authentication. Type: string (or Expression with resultType string).
203396  	Username interface{} `json:"username,omitempty"`
203397  	// Password - Password for authentication.
203398  	Password BasicSecretBase `json:"password,omitempty"`
203399  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
203400  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
203401  }
203402  
203403  // UnmarshalJSON is the custom unmarshaler for TeradataLinkedServiceTypeProperties struct.
203404  func (tlstp *TeradataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
203405  	var m map[string]*json.RawMessage
203406  	err := json.Unmarshal(body, &m)
203407  	if err != nil {
203408  		return err
203409  	}
203410  	for k, v := range m {
203411  		switch k {
203412  		case "connectionString":
203413  			if v != nil {
203414  				var connectionString interface{}
203415  				err = json.Unmarshal(*v, &connectionString)
203416  				if err != nil {
203417  					return err
203418  				}
203419  				tlstp.ConnectionString = connectionString
203420  			}
203421  		case "server":
203422  			if v != nil {
203423  				var server interface{}
203424  				err = json.Unmarshal(*v, &server)
203425  				if err != nil {
203426  					return err
203427  				}
203428  				tlstp.Server = server
203429  			}
203430  		case "authenticationType":
203431  			if v != nil {
203432  				var authenticationType TeradataAuthenticationType
203433  				err = json.Unmarshal(*v, &authenticationType)
203434  				if err != nil {
203435  					return err
203436  				}
203437  				tlstp.AuthenticationType = authenticationType
203438  			}
203439  		case "username":
203440  			if v != nil {
203441  				var username interface{}
203442  				err = json.Unmarshal(*v, &username)
203443  				if err != nil {
203444  					return err
203445  				}
203446  				tlstp.Username = username
203447  			}
203448  		case "password":
203449  			if v != nil {
203450  				password, err := unmarshalBasicSecretBase(*v)
203451  				if err != nil {
203452  					return err
203453  				}
203454  				tlstp.Password = password
203455  			}
203456  		case "encryptedCredential":
203457  			if v != nil {
203458  				var encryptedCredential interface{}
203459  				err = json.Unmarshal(*v, &encryptedCredential)
203460  				if err != nil {
203461  					return err
203462  				}
203463  				tlstp.EncryptedCredential = encryptedCredential
203464  			}
203465  		}
203466  	}
203467  
203468  	return nil
203469  }
203470  
203471  // TeradataPartitionSettings the settings that will be leveraged for teradata source partitioning.
203472  type TeradataPartitionSettings struct {
203473  	// PartitionColumnName - The name of the column that will be used for proceeding range or hash partitioning. Type: string (or Expression with resultType string).
203474  	PartitionColumnName interface{} `json:"partitionColumnName,omitempty"`
203475  	// PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
203476  	PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"`
203477  	// PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string).
203478  	PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"`
203479  }
203480  
203481  // TeradataSource a copy activity Teradata source.
203482  type TeradataSource struct {
203483  	// Query - Teradata query. Type: string (or Expression with resultType string).
203484  	Query interface{} `json:"query,omitempty"`
203485  	// PartitionOption - The partition mechanism that will be used for teradata read in parallel. Possible values include: 'TeradataPartitionOptionNone', 'TeradataPartitionOptionHash', 'TeradataPartitionOptionDynamicRange'
203486  	PartitionOption TeradataPartitionOption `json:"partitionOption,omitempty"`
203487  	// PartitionSettings - The settings that will be leveraged for teradata source partitioning.
203488  	PartitionSettings *TeradataPartitionSettings `json:"partitionSettings,omitempty"`
203489  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
203490  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
203491  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
203492  	AdditionalProperties map[string]interface{} `json:""`
203493  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
203494  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
203495  	// 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])).
203496  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
203497  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
203498  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
203499  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
203500  	Type TypeBasicCopySource `json:"type,omitempty"`
203501  }
203502  
203503  // MarshalJSON is the custom marshaler for TeradataSource.
203504  func (ts TeradataSource) MarshalJSON() ([]byte, error) {
203505  	ts.Type = TypeTeradataSource
203506  	objectMap := make(map[string]interface{})
203507  	if ts.Query != nil {
203508  		objectMap["query"] = ts.Query
203509  	}
203510  	if ts.PartitionOption != "" {
203511  		objectMap["partitionOption"] = ts.PartitionOption
203512  	}
203513  	if ts.PartitionSettings != nil {
203514  		objectMap["partitionSettings"] = ts.PartitionSettings
203515  	}
203516  	if ts.QueryTimeout != nil {
203517  		objectMap["queryTimeout"] = ts.QueryTimeout
203518  	}
203519  	if ts.SourceRetryCount != nil {
203520  		objectMap["sourceRetryCount"] = ts.SourceRetryCount
203521  	}
203522  	if ts.SourceRetryWait != nil {
203523  		objectMap["sourceRetryWait"] = ts.SourceRetryWait
203524  	}
203525  	if ts.MaxConcurrentConnections != nil {
203526  		objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections
203527  	}
203528  	if ts.Type != "" {
203529  		objectMap["type"] = ts.Type
203530  	}
203531  	for k, v := range ts.AdditionalProperties {
203532  		objectMap[k] = v
203533  	}
203534  	return json.Marshal(objectMap)
203535  }
203536  
203537  // AsHTTPSource is the BasicCopySource implementation for TeradataSource.
203538  func (ts TeradataSource) AsHTTPSource() (*HTTPSource, bool) {
203539  	return nil, false
203540  }
203541  
203542  // AsAzureBlobFSSource is the BasicCopySource implementation for TeradataSource.
203543  func (ts TeradataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
203544  	return nil, false
203545  }
203546  
203547  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for TeradataSource.
203548  func (ts TeradataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
203549  	return nil, false
203550  }
203551  
203552  // AsOffice365Source is the BasicCopySource implementation for TeradataSource.
203553  func (ts TeradataSource) AsOffice365Source() (*Office365Source, bool) {
203554  	return nil, false
203555  }
203556  
203557  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TeradataSource.
203558  func (ts TeradataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
203559  	return nil, false
203560  }
203561  
203562  // AsMongoDbV2Source is the BasicCopySource implementation for TeradataSource.
203563  func (ts TeradataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
203564  	return nil, false
203565  }
203566  
203567  // AsMongoDbSource is the BasicCopySource implementation for TeradataSource.
203568  func (ts TeradataSource) AsMongoDbSource() (*MongoDbSource, bool) {
203569  	return nil, false
203570  }
203571  
203572  // AsWebSource is the BasicCopySource implementation for TeradataSource.
203573  func (ts TeradataSource) AsWebSource() (*WebSource, bool) {
203574  	return nil, false
203575  }
203576  
203577  // AsOracleSource is the BasicCopySource implementation for TeradataSource.
203578  func (ts TeradataSource) AsOracleSource() (*OracleSource, bool) {
203579  	return nil, false
203580  }
203581  
203582  // AsAzureDataExplorerSource is the BasicCopySource implementation for TeradataSource.
203583  func (ts TeradataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
203584  	return nil, false
203585  }
203586  
203587  // AsHdfsSource is the BasicCopySource implementation for TeradataSource.
203588  func (ts TeradataSource) AsHdfsSource() (*HdfsSource, bool) {
203589  	return nil, false
203590  }
203591  
203592  // AsFileSystemSource is the BasicCopySource implementation for TeradataSource.
203593  func (ts TeradataSource) AsFileSystemSource() (*FileSystemSource, bool) {
203594  	return nil, false
203595  }
203596  
203597  // AsRestSource is the BasicCopySource implementation for TeradataSource.
203598  func (ts TeradataSource) AsRestSource() (*RestSource, bool) {
203599  	return nil, false
203600  }
203601  
203602  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for TeradataSource.
203603  func (ts TeradataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
203604  	return nil, false
203605  }
203606  
203607  // AsODataSource is the BasicCopySource implementation for TeradataSource.
203608  func (ts TeradataSource) AsODataSource() (*ODataSource, bool) {
203609  	return nil, false
203610  }
203611  
203612  // AsMicrosoftAccessSource is the BasicCopySource implementation for TeradataSource.
203613  func (ts TeradataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
203614  	return nil, false
203615  }
203616  
203617  // AsRelationalSource is the BasicCopySource implementation for TeradataSource.
203618  func (ts TeradataSource) AsRelationalSource() (*RelationalSource, bool) {
203619  	return nil, false
203620  }
203621  
203622  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TeradataSource.
203623  func (ts TeradataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
203624  	return nil, false
203625  }
203626  
203627  // AsDynamicsCrmSource is the BasicCopySource implementation for TeradataSource.
203628  func (ts TeradataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
203629  	return nil, false
203630  }
203631  
203632  // AsDynamicsSource is the BasicCopySource implementation for TeradataSource.
203633  func (ts TeradataSource) AsDynamicsSource() (*DynamicsSource, bool) {
203634  	return nil, false
203635  }
203636  
203637  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for TeradataSource.
203638  func (ts TeradataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
203639  	return nil, false
203640  }
203641  
203642  // AsDocumentDbCollectionSource is the BasicCopySource implementation for TeradataSource.
203643  func (ts TeradataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
203644  	return nil, false
203645  }
203646  
203647  // AsBlobSource is the BasicCopySource implementation for TeradataSource.
203648  func (ts TeradataSource) AsBlobSource() (*BlobSource, bool) {
203649  	return nil, false
203650  }
203651  
203652  // AsAmazonRedshiftSource is the BasicCopySource implementation for TeradataSource.
203653  func (ts TeradataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
203654  	return nil, false
203655  }
203656  
203657  // AsGoogleAdWordsSource is the BasicCopySource implementation for TeradataSource.
203658  func (ts TeradataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
203659  	return nil, false
203660  }
203661  
203662  // AsOracleServiceCloudSource is the BasicCopySource implementation for TeradataSource.
203663  func (ts TeradataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
203664  	return nil, false
203665  }
203666  
203667  // AsDynamicsAXSource is the BasicCopySource implementation for TeradataSource.
203668  func (ts TeradataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
203669  	return nil, false
203670  }
203671  
203672  // AsResponsysSource is the BasicCopySource implementation for TeradataSource.
203673  func (ts TeradataSource) AsResponsysSource() (*ResponsysSource, bool) {
203674  	return nil, false
203675  }
203676  
203677  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TeradataSource.
203678  func (ts TeradataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
203679  	return nil, false
203680  }
203681  
203682  // AsVerticaSource is the BasicCopySource implementation for TeradataSource.
203683  func (ts TeradataSource) AsVerticaSource() (*VerticaSource, bool) {
203684  	return nil, false
203685  }
203686  
203687  // AsNetezzaSource is the BasicCopySource implementation for TeradataSource.
203688  func (ts TeradataSource) AsNetezzaSource() (*NetezzaSource, bool) {
203689  	return nil, false
203690  }
203691  
203692  // AsZohoSource is the BasicCopySource implementation for TeradataSource.
203693  func (ts TeradataSource) AsZohoSource() (*ZohoSource, bool) {
203694  	return nil, false
203695  }
203696  
203697  // AsXeroSource is the BasicCopySource implementation for TeradataSource.
203698  func (ts TeradataSource) AsXeroSource() (*XeroSource, bool) {
203699  	return nil, false
203700  }
203701  
203702  // AsSquareSource is the BasicCopySource implementation for TeradataSource.
203703  func (ts TeradataSource) AsSquareSource() (*SquareSource, bool) {
203704  	return nil, false
203705  }
203706  
203707  // AsSparkSource is the BasicCopySource implementation for TeradataSource.
203708  func (ts TeradataSource) AsSparkSource() (*SparkSource, bool) {
203709  	return nil, false
203710  }
203711  
203712  // AsShopifySource is the BasicCopySource implementation for TeradataSource.
203713  func (ts TeradataSource) AsShopifySource() (*ShopifySource, bool) {
203714  	return nil, false
203715  }
203716  
203717  // AsServiceNowSource is the BasicCopySource implementation for TeradataSource.
203718  func (ts TeradataSource) AsServiceNowSource() (*ServiceNowSource, bool) {
203719  	return nil, false
203720  }
203721  
203722  // AsQuickBooksSource is the BasicCopySource implementation for TeradataSource.
203723  func (ts TeradataSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
203724  	return nil, false
203725  }
203726  
203727  // AsPrestoSource is the BasicCopySource implementation for TeradataSource.
203728  func (ts TeradataSource) AsPrestoSource() (*PrestoSource, bool) {
203729  	return nil, false
203730  }
203731  
203732  // AsPhoenixSource is the BasicCopySource implementation for TeradataSource.
203733  func (ts TeradataSource) AsPhoenixSource() (*PhoenixSource, bool) {
203734  	return nil, false
203735  }
203736  
203737  // AsPaypalSource is the BasicCopySource implementation for TeradataSource.
203738  func (ts TeradataSource) AsPaypalSource() (*PaypalSource, bool) {
203739  	return nil, false
203740  }
203741  
203742  // AsMarketoSource is the BasicCopySource implementation for TeradataSource.
203743  func (ts TeradataSource) AsMarketoSource() (*MarketoSource, bool) {
203744  	return nil, false
203745  }
203746  
203747  // AsAzureMariaDBSource is the BasicCopySource implementation for TeradataSource.
203748  func (ts TeradataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
203749  	return nil, false
203750  }
203751  
203752  // AsMariaDBSource is the BasicCopySource implementation for TeradataSource.
203753  func (ts TeradataSource) AsMariaDBSource() (*MariaDBSource, bool) {
203754  	return nil, false
203755  }
203756  
203757  // AsMagentoSource is the BasicCopySource implementation for TeradataSource.
203758  func (ts TeradataSource) AsMagentoSource() (*MagentoSource, bool) {
203759  	return nil, false
203760  }
203761  
203762  // AsJiraSource is the BasicCopySource implementation for TeradataSource.
203763  func (ts TeradataSource) AsJiraSource() (*JiraSource, bool) {
203764  	return nil, false
203765  }
203766  
203767  // AsImpalaSource is the BasicCopySource implementation for TeradataSource.
203768  func (ts TeradataSource) AsImpalaSource() (*ImpalaSource, bool) {
203769  	return nil, false
203770  }
203771  
203772  // AsHubspotSource is the BasicCopySource implementation for TeradataSource.
203773  func (ts TeradataSource) AsHubspotSource() (*HubspotSource, bool) {
203774  	return nil, false
203775  }
203776  
203777  // AsHiveSource is the BasicCopySource implementation for TeradataSource.
203778  func (ts TeradataSource) AsHiveSource() (*HiveSource, bool) {
203779  	return nil, false
203780  }
203781  
203782  // AsHBaseSource is the BasicCopySource implementation for TeradataSource.
203783  func (ts TeradataSource) AsHBaseSource() (*HBaseSource, bool) {
203784  	return nil, false
203785  }
203786  
203787  // AsGreenplumSource is the BasicCopySource implementation for TeradataSource.
203788  func (ts TeradataSource) AsGreenplumSource() (*GreenplumSource, bool) {
203789  	return nil, false
203790  }
203791  
203792  // AsGoogleBigQuerySource is the BasicCopySource implementation for TeradataSource.
203793  func (ts TeradataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
203794  	return nil, false
203795  }
203796  
203797  // AsEloquaSource is the BasicCopySource implementation for TeradataSource.
203798  func (ts TeradataSource) AsEloquaSource() (*EloquaSource, bool) {
203799  	return nil, false
203800  }
203801  
203802  // AsDrillSource is the BasicCopySource implementation for TeradataSource.
203803  func (ts TeradataSource) AsDrillSource() (*DrillSource, bool) {
203804  	return nil, false
203805  }
203806  
203807  // AsCouchbaseSource is the BasicCopySource implementation for TeradataSource.
203808  func (ts TeradataSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
203809  	return nil, false
203810  }
203811  
203812  // AsConcurSource is the BasicCopySource implementation for TeradataSource.
203813  func (ts TeradataSource) AsConcurSource() (*ConcurSource, bool) {
203814  	return nil, false
203815  }
203816  
203817  // AsAzurePostgreSQLSource is the BasicCopySource implementation for TeradataSource.
203818  func (ts TeradataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
203819  	return nil, false
203820  }
203821  
203822  // AsAmazonMWSSource is the BasicCopySource implementation for TeradataSource.
203823  func (ts TeradataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
203824  	return nil, false
203825  }
203826  
203827  // AsCassandraSource is the BasicCopySource implementation for TeradataSource.
203828  func (ts TeradataSource) AsCassandraSource() (*CassandraSource, bool) {
203829  	return nil, false
203830  }
203831  
203832  // AsTeradataSource is the BasicCopySource implementation for TeradataSource.
203833  func (ts TeradataSource) AsTeradataSource() (*TeradataSource, bool) {
203834  	return &ts, true
203835  }
203836  
203837  // AsAzureMySQLSource is the BasicCopySource implementation for TeradataSource.
203838  func (ts TeradataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
203839  	return nil, false
203840  }
203841  
203842  // AsSQLDWSource is the BasicCopySource implementation for TeradataSource.
203843  func (ts TeradataSource) AsSQLDWSource() (*SQLDWSource, bool) {
203844  	return nil, false
203845  }
203846  
203847  // AsSQLMISource is the BasicCopySource implementation for TeradataSource.
203848  func (ts TeradataSource) AsSQLMISource() (*SQLMISource, bool) {
203849  	return nil, false
203850  }
203851  
203852  // AsAzureSQLSource is the BasicCopySource implementation for TeradataSource.
203853  func (ts TeradataSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
203854  	return nil, false
203855  }
203856  
203857  // AsSQLServerSource is the BasicCopySource implementation for TeradataSource.
203858  func (ts TeradataSource) AsSQLServerSource() (*SQLServerSource, bool) {
203859  	return nil, false
203860  }
203861  
203862  // AsSQLSource is the BasicCopySource implementation for TeradataSource.
203863  func (ts TeradataSource) AsSQLSource() (*SQLSource, bool) {
203864  	return nil, false
203865  }
203866  
203867  // AsSapTableSource is the BasicCopySource implementation for TeradataSource.
203868  func (ts TeradataSource) AsSapTableSource() (*SapTableSource, bool) {
203869  	return nil, false
203870  }
203871  
203872  // AsSapOpenHubSource is the BasicCopySource implementation for TeradataSource.
203873  func (ts TeradataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
203874  	return nil, false
203875  }
203876  
203877  // AsSapHanaSource is the BasicCopySource implementation for TeradataSource.
203878  func (ts TeradataSource) AsSapHanaSource() (*SapHanaSource, bool) {
203879  	return nil, false
203880  }
203881  
203882  // AsSapEccSource is the BasicCopySource implementation for TeradataSource.
203883  func (ts TeradataSource) AsSapEccSource() (*SapEccSource, bool) {
203884  	return nil, false
203885  }
203886  
203887  // AsSapCloudForCustomerSource is the BasicCopySource implementation for TeradataSource.
203888  func (ts TeradataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
203889  	return nil, false
203890  }
203891  
203892  // AsSalesforceSource is the BasicCopySource implementation for TeradataSource.
203893  func (ts TeradataSource) AsSalesforceSource() (*SalesforceSource, bool) {
203894  	return nil, false
203895  }
203896  
203897  // AsSapBwSource is the BasicCopySource implementation for TeradataSource.
203898  func (ts TeradataSource) AsSapBwSource() (*SapBwSource, bool) {
203899  	return nil, false
203900  }
203901  
203902  // AsSybaseSource is the BasicCopySource implementation for TeradataSource.
203903  func (ts TeradataSource) AsSybaseSource() (*SybaseSource, bool) {
203904  	return nil, false
203905  }
203906  
203907  // AsPostgreSQLSource is the BasicCopySource implementation for TeradataSource.
203908  func (ts TeradataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
203909  	return nil, false
203910  }
203911  
203912  // AsMySQLSource is the BasicCopySource implementation for TeradataSource.
203913  func (ts TeradataSource) AsMySQLSource() (*MySQLSource, bool) {
203914  	return nil, false
203915  }
203916  
203917  // AsOdbcSource is the BasicCopySource implementation for TeradataSource.
203918  func (ts TeradataSource) AsOdbcSource() (*OdbcSource, bool) {
203919  	return nil, false
203920  }
203921  
203922  // AsDb2Source is the BasicCopySource implementation for TeradataSource.
203923  func (ts TeradataSource) AsDb2Source() (*Db2Source, bool) {
203924  	return nil, false
203925  }
203926  
203927  // AsInformixSource is the BasicCopySource implementation for TeradataSource.
203928  func (ts TeradataSource) AsInformixSource() (*InformixSource, bool) {
203929  	return nil, false
203930  }
203931  
203932  // AsAzureTableSource is the BasicCopySource implementation for TeradataSource.
203933  func (ts TeradataSource) AsAzureTableSource() (*AzureTableSource, bool) {
203934  	return nil, false
203935  }
203936  
203937  // AsTabularSource is the BasicCopySource implementation for TeradataSource.
203938  func (ts TeradataSource) AsTabularSource() (*TabularSource, bool) {
203939  	return nil, false
203940  }
203941  
203942  // AsBasicTabularSource is the BasicCopySource implementation for TeradataSource.
203943  func (ts TeradataSource) AsBasicTabularSource() (BasicTabularSource, bool) {
203944  	return &ts, true
203945  }
203946  
203947  // AsBinarySource is the BasicCopySource implementation for TeradataSource.
203948  func (ts TeradataSource) AsBinarySource() (*BinarySource, bool) {
203949  	return nil, false
203950  }
203951  
203952  // AsOrcSource is the BasicCopySource implementation for TeradataSource.
203953  func (ts TeradataSource) AsOrcSource() (*OrcSource, bool) {
203954  	return nil, false
203955  }
203956  
203957  // AsJSONSource is the BasicCopySource implementation for TeradataSource.
203958  func (ts TeradataSource) AsJSONSource() (*JSONSource, bool) {
203959  	return nil, false
203960  }
203961  
203962  // AsDelimitedTextSource is the BasicCopySource implementation for TeradataSource.
203963  func (ts TeradataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
203964  	return nil, false
203965  }
203966  
203967  // AsParquetSource is the BasicCopySource implementation for TeradataSource.
203968  func (ts TeradataSource) AsParquetSource() (*ParquetSource, bool) {
203969  	return nil, false
203970  }
203971  
203972  // AsAvroSource is the BasicCopySource implementation for TeradataSource.
203973  func (ts TeradataSource) AsAvroSource() (*AvroSource, bool) {
203974  	return nil, false
203975  }
203976  
203977  // AsCopySource is the BasicCopySource implementation for TeradataSource.
203978  func (ts TeradataSource) AsCopySource() (*CopySource, bool) {
203979  	return nil, false
203980  }
203981  
203982  // AsBasicCopySource is the BasicCopySource implementation for TeradataSource.
203983  func (ts TeradataSource) AsBasicCopySource() (BasicCopySource, bool) {
203984  	return &ts, true
203985  }
203986  
203987  // UnmarshalJSON is the custom unmarshaler for TeradataSource struct.
203988  func (ts *TeradataSource) UnmarshalJSON(body []byte) error {
203989  	var m map[string]*json.RawMessage
203990  	err := json.Unmarshal(body, &m)
203991  	if err != nil {
203992  		return err
203993  	}
203994  	for k, v := range m {
203995  		switch k {
203996  		case "query":
203997  			if v != nil {
203998  				var query interface{}
203999  				err = json.Unmarshal(*v, &query)
204000  				if err != nil {
204001  					return err
204002  				}
204003  				ts.Query = query
204004  			}
204005  		case "partitionOption":
204006  			if v != nil {
204007  				var partitionOption TeradataPartitionOption
204008  				err = json.Unmarshal(*v, &partitionOption)
204009  				if err != nil {
204010  					return err
204011  				}
204012  				ts.PartitionOption = partitionOption
204013  			}
204014  		case "partitionSettings":
204015  			if v != nil {
204016  				var partitionSettings TeradataPartitionSettings
204017  				err = json.Unmarshal(*v, &partitionSettings)
204018  				if err != nil {
204019  					return err
204020  				}
204021  				ts.PartitionSettings = &partitionSettings
204022  			}
204023  		case "queryTimeout":
204024  			if v != nil {
204025  				var queryTimeout interface{}
204026  				err = json.Unmarshal(*v, &queryTimeout)
204027  				if err != nil {
204028  					return err
204029  				}
204030  				ts.QueryTimeout = queryTimeout
204031  			}
204032  		default:
204033  			if v != nil {
204034  				var additionalProperties interface{}
204035  				err = json.Unmarshal(*v, &additionalProperties)
204036  				if err != nil {
204037  					return err
204038  				}
204039  				if ts.AdditionalProperties == nil {
204040  					ts.AdditionalProperties = make(map[string]interface{})
204041  				}
204042  				ts.AdditionalProperties[k] = additionalProperties
204043  			}
204044  		case "sourceRetryCount":
204045  			if v != nil {
204046  				var sourceRetryCount interface{}
204047  				err = json.Unmarshal(*v, &sourceRetryCount)
204048  				if err != nil {
204049  					return err
204050  				}
204051  				ts.SourceRetryCount = sourceRetryCount
204052  			}
204053  		case "sourceRetryWait":
204054  			if v != nil {
204055  				var sourceRetryWait interface{}
204056  				err = json.Unmarshal(*v, &sourceRetryWait)
204057  				if err != nil {
204058  					return err
204059  				}
204060  				ts.SourceRetryWait = sourceRetryWait
204061  			}
204062  		case "maxConcurrentConnections":
204063  			if v != nil {
204064  				var maxConcurrentConnections interface{}
204065  				err = json.Unmarshal(*v, &maxConcurrentConnections)
204066  				if err != nil {
204067  					return err
204068  				}
204069  				ts.MaxConcurrentConnections = maxConcurrentConnections
204070  			}
204071  		case "type":
204072  			if v != nil {
204073  				var typeVar TypeBasicCopySource
204074  				err = json.Unmarshal(*v, &typeVar)
204075  				if err != nil {
204076  					return err
204077  				}
204078  				ts.Type = typeVar
204079  			}
204080  		}
204081  	}
204082  
204083  	return nil
204084  }
204085  
204086  // TeradataTableDataset the Teradata database dataset.
204087  type TeradataTableDataset struct {
204088  	// TeradataTableDatasetTypeProperties - Teradata dataset properties.
204089  	*TeradataTableDatasetTypeProperties `json:"typeProperties,omitempty"`
204090  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
204091  	AdditionalProperties map[string]interface{} `json:""`
204092  	// Description - Dataset description.
204093  	Description *string `json:"description,omitempty"`
204094  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
204095  	Structure interface{} `json:"structure,omitempty"`
204096  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
204097  	Schema interface{} `json:"schema,omitempty"`
204098  	// LinkedServiceName - Linked service reference.
204099  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
204100  	// Parameters - Parameters for dataset.
204101  	Parameters map[string]*ParameterSpecification `json:"parameters"`
204102  	// Annotations - List of tags that can be used for describing the Dataset.
204103  	Annotations *[]interface{} `json:"annotations,omitempty"`
204104  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
204105  	Folder *DatasetFolder `json:"folder,omitempty"`
204106  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
204107  	Type TypeBasicDataset `json:"type,omitempty"`
204108  }
204109  
204110  // MarshalJSON is the custom marshaler for TeradataTableDataset.
204111  func (ttd TeradataTableDataset) MarshalJSON() ([]byte, error) {
204112  	ttd.Type = TypeTeradataTable
204113  	objectMap := make(map[string]interface{})
204114  	if ttd.TeradataTableDatasetTypeProperties != nil {
204115  		objectMap["typeProperties"] = ttd.TeradataTableDatasetTypeProperties
204116  	}
204117  	if ttd.Description != nil {
204118  		objectMap["description"] = ttd.Description
204119  	}
204120  	if ttd.Structure != nil {
204121  		objectMap["structure"] = ttd.Structure
204122  	}
204123  	if ttd.Schema != nil {
204124  		objectMap["schema"] = ttd.Schema
204125  	}
204126  	if ttd.LinkedServiceName != nil {
204127  		objectMap["linkedServiceName"] = ttd.LinkedServiceName
204128  	}
204129  	if ttd.Parameters != nil {
204130  		objectMap["parameters"] = ttd.Parameters
204131  	}
204132  	if ttd.Annotations != nil {
204133  		objectMap["annotations"] = ttd.Annotations
204134  	}
204135  	if ttd.Folder != nil {
204136  		objectMap["folder"] = ttd.Folder
204137  	}
204138  	if ttd.Type != "" {
204139  		objectMap["type"] = ttd.Type
204140  	}
204141  	for k, v := range ttd.AdditionalProperties {
204142  		objectMap[k] = v
204143  	}
204144  	return json.Marshal(objectMap)
204145  }
204146  
204147  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204148  func (ttd TeradataTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
204149  	return nil, false
204150  }
204151  
204152  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for TeradataTableDataset.
204153  func (ttd TeradataTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
204154  	return nil, false
204155  }
204156  
204157  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204158  func (ttd TeradataTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
204159  	return nil, false
204160  }
204161  
204162  // AsDynamicsAXResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204163  func (ttd TeradataTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
204164  	return nil, false
204165  }
204166  
204167  // AsResponsysObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204168  func (ttd TeradataTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
204169  	return nil, false
204170  }
204171  
204172  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204173  func (ttd TeradataTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
204174  	return nil, false
204175  }
204176  
204177  // AsVerticaTableDataset is the BasicDataset implementation for TeradataTableDataset.
204178  func (ttd TeradataTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
204179  	return nil, false
204180  }
204181  
204182  // AsNetezzaTableDataset is the BasicDataset implementation for TeradataTableDataset.
204183  func (ttd TeradataTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
204184  	return nil, false
204185  }
204186  
204187  // AsZohoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204188  func (ttd TeradataTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
204189  	return nil, false
204190  }
204191  
204192  // AsXeroObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204193  func (ttd TeradataTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
204194  	return nil, false
204195  }
204196  
204197  // AsSquareObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204198  func (ttd TeradataTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
204199  	return nil, false
204200  }
204201  
204202  // AsSparkObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204203  func (ttd TeradataTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
204204  	return nil, false
204205  }
204206  
204207  // AsShopifyObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204208  func (ttd TeradataTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
204209  	return nil, false
204210  }
204211  
204212  // AsServiceNowObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204213  func (ttd TeradataTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
204214  	return nil, false
204215  }
204216  
204217  // AsQuickBooksObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204218  func (ttd TeradataTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
204219  	return nil, false
204220  }
204221  
204222  // AsPrestoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204223  func (ttd TeradataTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
204224  	return nil, false
204225  }
204226  
204227  // AsPhoenixObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204228  func (ttd TeradataTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
204229  	return nil, false
204230  }
204231  
204232  // AsPaypalObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204233  func (ttd TeradataTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
204234  	return nil, false
204235  }
204236  
204237  // AsMarketoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204238  func (ttd TeradataTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
204239  	return nil, false
204240  }
204241  
204242  // AsAzureMariaDBTableDataset is the BasicDataset implementation for TeradataTableDataset.
204243  func (ttd TeradataTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
204244  	return nil, false
204245  }
204246  
204247  // AsMariaDBTableDataset is the BasicDataset implementation for TeradataTableDataset.
204248  func (ttd TeradataTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
204249  	return nil, false
204250  }
204251  
204252  // AsMagentoObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204253  func (ttd TeradataTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
204254  	return nil, false
204255  }
204256  
204257  // AsJiraObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204258  func (ttd TeradataTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
204259  	return nil, false
204260  }
204261  
204262  // AsImpalaObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204263  func (ttd TeradataTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
204264  	return nil, false
204265  }
204266  
204267  // AsHubspotObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204268  func (ttd TeradataTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
204269  	return nil, false
204270  }
204271  
204272  // AsHiveObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204273  func (ttd TeradataTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
204274  	return nil, false
204275  }
204276  
204277  // AsHBaseObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204278  func (ttd TeradataTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
204279  	return nil, false
204280  }
204281  
204282  // AsGreenplumTableDataset is the BasicDataset implementation for TeradataTableDataset.
204283  func (ttd TeradataTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
204284  	return nil, false
204285  }
204286  
204287  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204288  func (ttd TeradataTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
204289  	return nil, false
204290  }
204291  
204292  // AsEloquaObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204293  func (ttd TeradataTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
204294  	return nil, false
204295  }
204296  
204297  // AsDrillTableDataset is the BasicDataset implementation for TeradataTableDataset.
204298  func (ttd TeradataTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
204299  	return nil, false
204300  }
204301  
204302  // AsCouchbaseTableDataset is the BasicDataset implementation for TeradataTableDataset.
204303  func (ttd TeradataTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
204304  	return nil, false
204305  }
204306  
204307  // AsConcurObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204308  func (ttd TeradataTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
204309  	return nil, false
204310  }
204311  
204312  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
204313  func (ttd TeradataTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
204314  	return nil, false
204315  }
204316  
204317  // AsAmazonMWSObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204318  func (ttd TeradataTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
204319  	return nil, false
204320  }
204321  
204322  // AsAzureSearchIndexDataset is the BasicDataset implementation for TeradataTableDataset.
204323  func (ttd TeradataTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
204324  	return nil, false
204325  }
204326  
204327  // AsWebTableDataset is the BasicDataset implementation for TeradataTableDataset.
204328  func (ttd TeradataTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
204329  	return nil, false
204330  }
204331  
204332  // AsSapTableResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204333  func (ttd TeradataTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
204334  	return nil, false
204335  }
204336  
204337  // AsRestResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204338  func (ttd TeradataTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
204339  	return nil, false
204340  }
204341  
204342  // AsSQLServerTableDataset is the BasicDataset implementation for TeradataTableDataset.
204343  func (ttd TeradataTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
204344  	return nil, false
204345  }
204346  
204347  // AsSapOpenHubTableDataset is the BasicDataset implementation for TeradataTableDataset.
204348  func (ttd TeradataTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
204349  	return nil, false
204350  }
204351  
204352  // AsSapHanaTableDataset is the BasicDataset implementation for TeradataTableDataset.
204353  func (ttd TeradataTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
204354  	return nil, false
204355  }
204356  
204357  // AsSapEccResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204358  func (ttd TeradataTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
204359  	return nil, false
204360  }
204361  
204362  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204363  func (ttd TeradataTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
204364  	return nil, false
204365  }
204366  
204367  // AsSapBwCubeDataset is the BasicDataset implementation for TeradataTableDataset.
204368  func (ttd TeradataTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
204369  	return nil, false
204370  }
204371  
204372  // AsSybaseTableDataset is the BasicDataset implementation for TeradataTableDataset.
204373  func (ttd TeradataTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
204374  	return nil, false
204375  }
204376  
204377  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204378  func (ttd TeradataTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
204379  	return nil, false
204380  }
204381  
204382  // AsSalesforceObjectDataset is the BasicDataset implementation for TeradataTableDataset.
204383  func (ttd TeradataTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
204384  	return nil, false
204385  }
204386  
204387  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for TeradataTableDataset.
204388  func (ttd TeradataTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
204389  	return nil, false
204390  }
204391  
204392  // AsPostgreSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
204393  func (ttd TeradataTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
204394  	return nil, false
204395  }
204396  
204397  // AsMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
204398  func (ttd TeradataTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
204399  	return nil, false
204400  }
204401  
204402  // AsOdbcTableDataset is the BasicDataset implementation for TeradataTableDataset.
204403  func (ttd TeradataTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
204404  	return nil, false
204405  }
204406  
204407  // AsInformixTableDataset is the BasicDataset implementation for TeradataTableDataset.
204408  func (ttd TeradataTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
204409  	return nil, false
204410  }
204411  
204412  // AsRelationalTableDataset is the BasicDataset implementation for TeradataTableDataset.
204413  func (ttd TeradataTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
204414  	return nil, false
204415  }
204416  
204417  // AsDb2TableDataset is the BasicDataset implementation for TeradataTableDataset.
204418  func (ttd TeradataTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
204419  	return nil, false
204420  }
204421  
204422  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for TeradataTableDataset.
204423  func (ttd TeradataTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
204424  	return nil, false
204425  }
204426  
204427  // AsAzureMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
204428  func (ttd TeradataTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
204429  	return nil, false
204430  }
204431  
204432  // AsTeradataTableDataset is the BasicDataset implementation for TeradataTableDataset.
204433  func (ttd TeradataTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
204434  	return &ttd, true
204435  }
204436  
204437  // AsOracleTableDataset is the BasicDataset implementation for TeradataTableDataset.
204438  func (ttd TeradataTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
204439  	return nil, false
204440  }
204441  
204442  // AsODataResourceDataset is the BasicDataset implementation for TeradataTableDataset.
204443  func (ttd TeradataTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
204444  	return nil, false
204445  }
204446  
204447  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset.
204448  func (ttd TeradataTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
204449  	return nil, false
204450  }
204451  
204452  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for TeradataTableDataset.
204453  func (ttd TeradataTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
204454  	return nil, false
204455  }
204456  
204457  // AsMongoDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset.
204458  func (ttd TeradataTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
204459  	return nil, false
204460  }
204461  
204462  // AsOffice365Dataset is the BasicDataset implementation for TeradataTableDataset.
204463  func (ttd TeradataTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
204464  	return nil, false
204465  }
204466  
204467  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for TeradataTableDataset.
204468  func (ttd TeradataTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
204469  	return nil, false
204470  }
204471  
204472  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for TeradataTableDataset.
204473  func (ttd TeradataTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
204474  	return nil, false
204475  }
204476  
204477  // AsDynamicsEntityDataset is the BasicDataset implementation for TeradataTableDataset.
204478  func (ttd TeradataTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
204479  	return nil, false
204480  }
204481  
204482  // AsDocumentDbCollectionDataset is the BasicDataset implementation for TeradataTableDataset.
204483  func (ttd TeradataTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
204484  	return nil, false
204485  }
204486  
204487  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset.
204488  func (ttd TeradataTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
204489  	return nil, false
204490  }
204491  
204492  // AsCustomDataset is the BasicDataset implementation for TeradataTableDataset.
204493  func (ttd TeradataTableDataset) AsCustomDataset() (*CustomDataset, bool) {
204494  	return nil, false
204495  }
204496  
204497  // AsCassandraTableDataset is the BasicDataset implementation for TeradataTableDataset.
204498  func (ttd TeradataTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
204499  	return nil, false
204500  }
204501  
204502  // AsAzureSQLDWTableDataset is the BasicDataset implementation for TeradataTableDataset.
204503  func (ttd TeradataTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
204504  	return nil, false
204505  }
204506  
204507  // AsAzureSQLMITableDataset is the BasicDataset implementation for TeradataTableDataset.
204508  func (ttd TeradataTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
204509  	return nil, false
204510  }
204511  
204512  // AsAzureSQLTableDataset is the BasicDataset implementation for TeradataTableDataset.
204513  func (ttd TeradataTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
204514  	return nil, false
204515  }
204516  
204517  // AsAzureTableDataset is the BasicDataset implementation for TeradataTableDataset.
204518  func (ttd TeradataTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
204519  	return nil, false
204520  }
204521  
204522  // AsBinaryDataset is the BasicDataset implementation for TeradataTableDataset.
204523  func (ttd TeradataTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
204524  	return nil, false
204525  }
204526  
204527  // AsOrcDataset is the BasicDataset implementation for TeradataTableDataset.
204528  func (ttd TeradataTableDataset) AsOrcDataset() (*OrcDataset, bool) {
204529  	return nil, false
204530  }
204531  
204532  // AsJSONDataset is the BasicDataset implementation for TeradataTableDataset.
204533  func (ttd TeradataTableDataset) AsJSONDataset() (*JSONDataset, bool) {
204534  	return nil, false
204535  }
204536  
204537  // AsDelimitedTextDataset is the BasicDataset implementation for TeradataTableDataset.
204538  func (ttd TeradataTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
204539  	return nil, false
204540  }
204541  
204542  // AsParquetDataset is the BasicDataset implementation for TeradataTableDataset.
204543  func (ttd TeradataTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
204544  	return nil, false
204545  }
204546  
204547  // AsAvroDataset is the BasicDataset implementation for TeradataTableDataset.
204548  func (ttd TeradataTableDataset) AsAvroDataset() (*AvroDataset, bool) {
204549  	return nil, false
204550  }
204551  
204552  // AsDataset is the BasicDataset implementation for TeradataTableDataset.
204553  func (ttd TeradataTableDataset) AsDataset() (*Dataset, bool) {
204554  	return nil, false
204555  }
204556  
204557  // AsBasicDataset is the BasicDataset implementation for TeradataTableDataset.
204558  func (ttd TeradataTableDataset) AsBasicDataset() (BasicDataset, bool) {
204559  	return &ttd, true
204560  }
204561  
204562  // UnmarshalJSON is the custom unmarshaler for TeradataTableDataset struct.
204563  func (ttd *TeradataTableDataset) UnmarshalJSON(body []byte) error {
204564  	var m map[string]*json.RawMessage
204565  	err := json.Unmarshal(body, &m)
204566  	if err != nil {
204567  		return err
204568  	}
204569  	for k, v := range m {
204570  		switch k {
204571  		case "typeProperties":
204572  			if v != nil {
204573  				var teradataTableDatasetTypeProperties TeradataTableDatasetTypeProperties
204574  				err = json.Unmarshal(*v, &teradataTableDatasetTypeProperties)
204575  				if err != nil {
204576  					return err
204577  				}
204578  				ttd.TeradataTableDatasetTypeProperties = &teradataTableDatasetTypeProperties
204579  			}
204580  		default:
204581  			if v != nil {
204582  				var additionalProperties interface{}
204583  				err = json.Unmarshal(*v, &additionalProperties)
204584  				if err != nil {
204585  					return err
204586  				}
204587  				if ttd.AdditionalProperties == nil {
204588  					ttd.AdditionalProperties = make(map[string]interface{})
204589  				}
204590  				ttd.AdditionalProperties[k] = additionalProperties
204591  			}
204592  		case "description":
204593  			if v != nil {
204594  				var description string
204595  				err = json.Unmarshal(*v, &description)
204596  				if err != nil {
204597  					return err
204598  				}
204599  				ttd.Description = &description
204600  			}
204601  		case "structure":
204602  			if v != nil {
204603  				var structure interface{}
204604  				err = json.Unmarshal(*v, &structure)
204605  				if err != nil {
204606  					return err
204607  				}
204608  				ttd.Structure = structure
204609  			}
204610  		case "schema":
204611  			if v != nil {
204612  				var schema interface{}
204613  				err = json.Unmarshal(*v, &schema)
204614  				if err != nil {
204615  					return err
204616  				}
204617  				ttd.Schema = schema
204618  			}
204619  		case "linkedServiceName":
204620  			if v != nil {
204621  				var linkedServiceName LinkedServiceReference
204622  				err = json.Unmarshal(*v, &linkedServiceName)
204623  				if err != nil {
204624  					return err
204625  				}
204626  				ttd.LinkedServiceName = &linkedServiceName
204627  			}
204628  		case "parameters":
204629  			if v != nil {
204630  				var parameters map[string]*ParameterSpecification
204631  				err = json.Unmarshal(*v, &parameters)
204632  				if err != nil {
204633  					return err
204634  				}
204635  				ttd.Parameters = parameters
204636  			}
204637  		case "annotations":
204638  			if v != nil {
204639  				var annotations []interface{}
204640  				err = json.Unmarshal(*v, &annotations)
204641  				if err != nil {
204642  					return err
204643  				}
204644  				ttd.Annotations = &annotations
204645  			}
204646  		case "folder":
204647  			if v != nil {
204648  				var folder DatasetFolder
204649  				err = json.Unmarshal(*v, &folder)
204650  				if err != nil {
204651  					return err
204652  				}
204653  				ttd.Folder = &folder
204654  			}
204655  		case "type":
204656  			if v != nil {
204657  				var typeVar TypeBasicDataset
204658  				err = json.Unmarshal(*v, &typeVar)
204659  				if err != nil {
204660  					return err
204661  				}
204662  				ttd.Type = typeVar
204663  			}
204664  		}
204665  	}
204666  
204667  	return nil
204668  }
204669  
204670  // TeradataTableDatasetTypeProperties teradata dataset properties.
204671  type TeradataTableDatasetTypeProperties struct {
204672  	// Database - The database name of Teradata. Type: string (or Expression with resultType string).
204673  	Database interface{} `json:"database,omitempty"`
204674  	// Table - The table name of Teradata. Type: string (or Expression with resultType string).
204675  	Table interface{} `json:"table,omitempty"`
204676  }
204677  
204678  // TextFormat the data stored in text format.
204679  type TextFormat struct {
204680  	// ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string).
204681  	ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"`
204682  	// RowDelimiter - The row delimiter. Type: string (or Expression with resultType string).
204683  	RowDelimiter interface{} `json:"rowDelimiter,omitempty"`
204684  	// EscapeChar - The escape character. Type: string (or Expression with resultType string).
204685  	EscapeChar interface{} `json:"escapeChar,omitempty"`
204686  	// QuoteChar - The quote character. Type: string (or Expression with resultType string).
204687  	QuoteChar interface{} `json:"quoteChar,omitempty"`
204688  	// NullValue - The null value string. Type: string (or Expression with resultType string).
204689  	NullValue interface{} `json:"nullValue,omitempty"`
204690  	// 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).
204691  	EncodingName interface{} `json:"encodingName,omitempty"`
204692  	// TreatEmptyAsNull - Treat empty column values in the text file as null. The default value is true. Type: boolean (or Expression with resultType boolean).
204693  	TreatEmptyAsNull interface{} `json:"treatEmptyAsNull,omitempty"`
204694  	// 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).
204695  	SkipLineCount interface{} `json:"skipLineCount,omitempty"`
204696  	// 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).
204697  	FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"`
204698  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
204699  	AdditionalProperties map[string]interface{} `json:""`
204700  	// Serializer - Serializer. Type: string (or Expression with resultType string).
204701  	Serializer interface{} `json:"serializer,omitempty"`
204702  	// Deserializer - Deserializer. Type: string (or Expression with resultType string).
204703  	Deserializer interface{} `json:"deserializer,omitempty"`
204704  	// Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeTextFormat', 'TypeJSONFormat', 'TypeAvroFormat', 'TypeOrcFormat', 'TypeParquetFormat'
204705  	Type TypeBasicDatasetStorageFormat `json:"type,omitempty"`
204706  }
204707  
204708  // MarshalJSON is the custom marshaler for TextFormat.
204709  func (tf TextFormat) MarshalJSON() ([]byte, error) {
204710  	tf.Type = TypeTextFormat
204711  	objectMap := make(map[string]interface{})
204712  	if tf.ColumnDelimiter != nil {
204713  		objectMap["columnDelimiter"] = tf.ColumnDelimiter
204714  	}
204715  	if tf.RowDelimiter != nil {
204716  		objectMap["rowDelimiter"] = tf.RowDelimiter
204717  	}
204718  	if tf.EscapeChar != nil {
204719  		objectMap["escapeChar"] = tf.EscapeChar
204720  	}
204721  	if tf.QuoteChar != nil {
204722  		objectMap["quoteChar"] = tf.QuoteChar
204723  	}
204724  	if tf.NullValue != nil {
204725  		objectMap["nullValue"] = tf.NullValue
204726  	}
204727  	if tf.EncodingName != nil {
204728  		objectMap["encodingName"] = tf.EncodingName
204729  	}
204730  	if tf.TreatEmptyAsNull != nil {
204731  		objectMap["treatEmptyAsNull"] = tf.TreatEmptyAsNull
204732  	}
204733  	if tf.SkipLineCount != nil {
204734  		objectMap["skipLineCount"] = tf.SkipLineCount
204735  	}
204736  	if tf.FirstRowAsHeader != nil {
204737  		objectMap["firstRowAsHeader"] = tf.FirstRowAsHeader
204738  	}
204739  	if tf.Serializer != nil {
204740  		objectMap["serializer"] = tf.Serializer
204741  	}
204742  	if tf.Deserializer != nil {
204743  		objectMap["deserializer"] = tf.Deserializer
204744  	}
204745  	if tf.Type != "" {
204746  		objectMap["type"] = tf.Type
204747  	}
204748  	for k, v := range tf.AdditionalProperties {
204749  		objectMap[k] = v
204750  	}
204751  	return json.Marshal(objectMap)
204752  }
204753  
204754  // AsTextFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204755  func (tf TextFormat) AsTextFormat() (*TextFormat, bool) {
204756  	return &tf, true
204757  }
204758  
204759  // AsJSONFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204760  func (tf TextFormat) AsJSONFormat() (*JSONFormat, bool) {
204761  	return nil, false
204762  }
204763  
204764  // AsAvroFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204765  func (tf TextFormat) AsAvroFormat() (*AvroFormat, bool) {
204766  	return nil, false
204767  }
204768  
204769  // AsOrcFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204770  func (tf TextFormat) AsOrcFormat() (*OrcFormat, bool) {
204771  	return nil, false
204772  }
204773  
204774  // AsParquetFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204775  func (tf TextFormat) AsParquetFormat() (*ParquetFormat, bool) {
204776  	return nil, false
204777  }
204778  
204779  // AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204780  func (tf TextFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) {
204781  	return nil, false
204782  }
204783  
204784  // AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for TextFormat.
204785  func (tf TextFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) {
204786  	return &tf, true
204787  }
204788  
204789  // UnmarshalJSON is the custom unmarshaler for TextFormat struct.
204790  func (tf *TextFormat) UnmarshalJSON(body []byte) error {
204791  	var m map[string]*json.RawMessage
204792  	err := json.Unmarshal(body, &m)
204793  	if err != nil {
204794  		return err
204795  	}
204796  	for k, v := range m {
204797  		switch k {
204798  		case "columnDelimiter":
204799  			if v != nil {
204800  				var columnDelimiter interface{}
204801  				err = json.Unmarshal(*v, &columnDelimiter)
204802  				if err != nil {
204803  					return err
204804  				}
204805  				tf.ColumnDelimiter = columnDelimiter
204806  			}
204807  		case "rowDelimiter":
204808  			if v != nil {
204809  				var rowDelimiter interface{}
204810  				err = json.Unmarshal(*v, &rowDelimiter)
204811  				if err != nil {
204812  					return err
204813  				}
204814  				tf.RowDelimiter = rowDelimiter
204815  			}
204816  		case "escapeChar":
204817  			if v != nil {
204818  				var escapeChar interface{}
204819  				err = json.Unmarshal(*v, &escapeChar)
204820  				if err != nil {
204821  					return err
204822  				}
204823  				tf.EscapeChar = escapeChar
204824  			}
204825  		case "quoteChar":
204826  			if v != nil {
204827  				var quoteChar interface{}
204828  				err = json.Unmarshal(*v, &quoteChar)
204829  				if err != nil {
204830  					return err
204831  				}
204832  				tf.QuoteChar = quoteChar
204833  			}
204834  		case "nullValue":
204835  			if v != nil {
204836  				var nullValue interface{}
204837  				err = json.Unmarshal(*v, &nullValue)
204838  				if err != nil {
204839  					return err
204840  				}
204841  				tf.NullValue = nullValue
204842  			}
204843  		case "encodingName":
204844  			if v != nil {
204845  				var encodingName interface{}
204846  				err = json.Unmarshal(*v, &encodingName)
204847  				if err != nil {
204848  					return err
204849  				}
204850  				tf.EncodingName = encodingName
204851  			}
204852  		case "treatEmptyAsNull":
204853  			if v != nil {
204854  				var treatEmptyAsNull interface{}
204855  				err = json.Unmarshal(*v, &treatEmptyAsNull)
204856  				if err != nil {
204857  					return err
204858  				}
204859  				tf.TreatEmptyAsNull = treatEmptyAsNull
204860  			}
204861  		case "skipLineCount":
204862  			if v != nil {
204863  				var skipLineCount interface{}
204864  				err = json.Unmarshal(*v, &skipLineCount)
204865  				if err != nil {
204866  					return err
204867  				}
204868  				tf.SkipLineCount = skipLineCount
204869  			}
204870  		case "firstRowAsHeader":
204871  			if v != nil {
204872  				var firstRowAsHeader interface{}
204873  				err = json.Unmarshal(*v, &firstRowAsHeader)
204874  				if err != nil {
204875  					return err
204876  				}
204877  				tf.FirstRowAsHeader = firstRowAsHeader
204878  			}
204879  		default:
204880  			if v != nil {
204881  				var additionalProperties interface{}
204882  				err = json.Unmarshal(*v, &additionalProperties)
204883  				if err != nil {
204884  					return err
204885  				}
204886  				if tf.AdditionalProperties == nil {
204887  					tf.AdditionalProperties = make(map[string]interface{})
204888  				}
204889  				tf.AdditionalProperties[k] = additionalProperties
204890  			}
204891  		case "serializer":
204892  			if v != nil {
204893  				var serializer interface{}
204894  				err = json.Unmarshal(*v, &serializer)
204895  				if err != nil {
204896  					return err
204897  				}
204898  				tf.Serializer = serializer
204899  			}
204900  		case "deserializer":
204901  			if v != nil {
204902  				var deserializer interface{}
204903  				err = json.Unmarshal(*v, &deserializer)
204904  				if err != nil {
204905  					return err
204906  				}
204907  				tf.Deserializer = deserializer
204908  			}
204909  		case "type":
204910  			if v != nil {
204911  				var typeVar TypeBasicDatasetStorageFormat
204912  				err = json.Unmarshal(*v, &typeVar)
204913  				if err != nil {
204914  					return err
204915  				}
204916  				tf.Type = typeVar
204917  			}
204918  		}
204919  	}
204920  
204921  	return nil
204922  }
204923  
204924  // TrackedResource the resource model definition for an Azure Resource Manager tracked top level resource
204925  // which has 'tags' and a 'location'
204926  type TrackedResource struct {
204927  	// Tags - Resource tags.
204928  	Tags map[string]*string `json:"tags"`
204929  	// Location - The geo-location where the resource lives
204930  	Location *string `json:"location,omitempty"`
204931  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
204932  	ID *string `json:"id,omitempty"`
204933  	// Name - READ-ONLY; The name of the resource
204934  	Name *string `json:"name,omitempty"`
204935  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
204936  	Type *string `json:"type,omitempty"`
204937  }
204938  
204939  // MarshalJSON is the custom marshaler for TrackedResource.
204940  func (tr TrackedResource) MarshalJSON() ([]byte, error) {
204941  	objectMap := make(map[string]interface{})
204942  	if tr.Tags != nil {
204943  		objectMap["tags"] = tr.Tags
204944  	}
204945  	if tr.Location != nil {
204946  		objectMap["location"] = tr.Location
204947  	}
204948  	return json.Marshal(objectMap)
204949  }
204950  
204951  // Transformation a data flow transformation.
204952  type Transformation struct {
204953  	// Name - Transformation name.
204954  	Name *string `json:"name,omitempty"`
204955  	// Description - Transformation description.
204956  	Description *string `json:"description,omitempty"`
204957  }
204958  
204959  // BasicTrigger azure Synapse nested object which contains information about creating pipeline run
204960  type BasicTrigger interface {
204961  	AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool)
204962  	AsChainingTrigger() (*ChainingTrigger, bool)
204963  	AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool)
204964  	AsBlobEventsTrigger() (*BlobEventsTrigger, bool)
204965  	AsBlobTrigger() (*BlobTrigger, bool)
204966  	AsScheduleTrigger() (*ScheduleTrigger, bool)
204967  	AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool)
204968  	AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool)
204969  	AsTrigger() (*Trigger, bool)
204970  }
204971  
204972  // Trigger azure Synapse nested object which contains information about creating pipeline run
204973  type Trigger struct {
204974  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
204975  	AdditionalProperties map[string]interface{} `json:""`
204976  	// Description - Trigger description.
204977  	Description *string `json:"description,omitempty"`
204978  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
204979  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
204980  	// Annotations - List of tags that can be used for describing the trigger.
204981  	Annotations *[]interface{} `json:"annotations,omitempty"`
204982  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
204983  	Type TypeBasicTrigger `json:"type,omitempty"`
204984  }
204985  
204986  func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) {
204987  	var m map[string]interface{}
204988  	err := json.Unmarshal(body, &m)
204989  	if err != nil {
204990  		return nil, err
204991  	}
204992  
204993  	switch m["type"] {
204994  	case string(TypeRerunTumblingWindowTrigger):
204995  		var rtwt RerunTumblingWindowTrigger
204996  		err := json.Unmarshal(body, &rtwt)
204997  		return rtwt, err
204998  	case string(TypeChainingTrigger):
204999  		var ct ChainingTrigger
205000  		err := json.Unmarshal(body, &ct)
205001  		return ct, err
205002  	case string(TypeTumblingWindowTrigger):
205003  		var twt TumblingWindowTrigger
205004  		err := json.Unmarshal(body, &twt)
205005  		return twt, err
205006  	case string(TypeBlobEventsTrigger):
205007  		var bet BlobEventsTrigger
205008  		err := json.Unmarshal(body, &bet)
205009  		return bet, err
205010  	case string(TypeBlobTrigger):
205011  		var bt BlobTrigger
205012  		err := json.Unmarshal(body, &bt)
205013  		return bt, err
205014  	case string(TypeScheduleTrigger):
205015  		var st ScheduleTrigger
205016  		err := json.Unmarshal(body, &st)
205017  		return st, err
205018  	case string(TypeMultiplePipelineTrigger):
205019  		var mpt MultiplePipelineTrigger
205020  		err := json.Unmarshal(body, &mpt)
205021  		return mpt, err
205022  	default:
205023  		var t Trigger
205024  		err := json.Unmarshal(body, &t)
205025  		return t, err
205026  	}
205027  }
205028  func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) {
205029  	var rawMessages []*json.RawMessage
205030  	err := json.Unmarshal(body, &rawMessages)
205031  	if err != nil {
205032  		return nil, err
205033  	}
205034  
205035  	tArray := make([]BasicTrigger, len(rawMessages))
205036  
205037  	for index, rawMessage := range rawMessages {
205038  		t, err := unmarshalBasicTrigger(*rawMessage)
205039  		if err != nil {
205040  			return nil, err
205041  		}
205042  		tArray[index] = t
205043  	}
205044  	return tArray, nil
205045  }
205046  
205047  // MarshalJSON is the custom marshaler for Trigger.
205048  func (t Trigger) MarshalJSON() ([]byte, error) {
205049  	t.Type = TypeTrigger
205050  	objectMap := make(map[string]interface{})
205051  	if t.Description != nil {
205052  		objectMap["description"] = t.Description
205053  	}
205054  	if t.Annotations != nil {
205055  		objectMap["annotations"] = t.Annotations
205056  	}
205057  	if t.Type != "" {
205058  		objectMap["type"] = t.Type
205059  	}
205060  	for k, v := range t.AdditionalProperties {
205061  		objectMap[k] = v
205062  	}
205063  	return json.Marshal(objectMap)
205064  }
205065  
205066  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
205067  func (t Trigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
205068  	return nil, false
205069  }
205070  
205071  // AsChainingTrigger is the BasicTrigger implementation for Trigger.
205072  func (t Trigger) AsChainingTrigger() (*ChainingTrigger, bool) {
205073  	return nil, false
205074  }
205075  
205076  // AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger.
205077  func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
205078  	return nil, false
205079  }
205080  
205081  // AsBlobEventsTrigger is the BasicTrigger implementation for Trigger.
205082  func (t Trigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
205083  	return nil, false
205084  }
205085  
205086  // AsBlobTrigger is the BasicTrigger implementation for Trigger.
205087  func (t Trigger) AsBlobTrigger() (*BlobTrigger, bool) {
205088  	return nil, false
205089  }
205090  
205091  // AsScheduleTrigger is the BasicTrigger implementation for Trigger.
205092  func (t Trigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
205093  	return nil, false
205094  }
205095  
205096  // AsMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
205097  func (t Trigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
205098  	return nil, false
205099  }
205100  
205101  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for Trigger.
205102  func (t Trigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
205103  	return nil, false
205104  }
205105  
205106  // AsTrigger is the BasicTrigger implementation for Trigger.
205107  func (t Trigger) AsTrigger() (*Trigger, bool) {
205108  	return &t, true
205109  }
205110  
205111  // AsBasicTrigger is the BasicTrigger implementation for Trigger.
205112  func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) {
205113  	return &t, true
205114  }
205115  
205116  // UnmarshalJSON is the custom unmarshaler for Trigger struct.
205117  func (t *Trigger) UnmarshalJSON(body []byte) error {
205118  	var m map[string]*json.RawMessage
205119  	err := json.Unmarshal(body, &m)
205120  	if err != nil {
205121  		return err
205122  	}
205123  	for k, v := range m {
205124  		switch k {
205125  		default:
205126  			if v != nil {
205127  				var additionalProperties interface{}
205128  				err = json.Unmarshal(*v, &additionalProperties)
205129  				if err != nil {
205130  					return err
205131  				}
205132  				if t.AdditionalProperties == nil {
205133  					t.AdditionalProperties = make(map[string]interface{})
205134  				}
205135  				t.AdditionalProperties[k] = additionalProperties
205136  			}
205137  		case "description":
205138  			if v != nil {
205139  				var description string
205140  				err = json.Unmarshal(*v, &description)
205141  				if err != nil {
205142  					return err
205143  				}
205144  				t.Description = &description
205145  			}
205146  		case "runtimeState":
205147  			if v != nil {
205148  				var runtimeState TriggerRuntimeState
205149  				err = json.Unmarshal(*v, &runtimeState)
205150  				if err != nil {
205151  					return err
205152  				}
205153  				t.RuntimeState = runtimeState
205154  			}
205155  		case "annotations":
205156  			if v != nil {
205157  				var annotations []interface{}
205158  				err = json.Unmarshal(*v, &annotations)
205159  				if err != nil {
205160  					return err
205161  				}
205162  				t.Annotations = &annotations
205163  			}
205164  		case "type":
205165  			if v != nil {
205166  				var typeVar TypeBasicTrigger
205167  				err = json.Unmarshal(*v, &typeVar)
205168  				if err != nil {
205169  					return err
205170  				}
205171  				t.Type = typeVar
205172  			}
205173  		}
205174  	}
205175  
205176  	return nil
205177  }
205178  
205179  // TriggerCreateOrUpdateTriggerFuture an abstraction for monitoring and retrieving the results of a
205180  // long-running operation.
205181  type TriggerCreateOrUpdateTriggerFuture struct {
205182  	azure.FutureAPI
205183  	// Result returns the result of the asynchronous operation.
205184  	// If the operation has not completed it will return an error.
205185  	Result func(TriggerClient) (TriggerResource, error)
205186  }
205187  
205188  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205189  func (future *TriggerCreateOrUpdateTriggerFuture) UnmarshalJSON(body []byte) error {
205190  	var azFuture azure.Future
205191  	if err := json.Unmarshal(body, &azFuture); err != nil {
205192  		return err
205193  	}
205194  	future.FutureAPI = &azFuture
205195  	future.Result = future.result
205196  	return nil
205197  }
205198  
205199  // result is the default implementation for TriggerCreateOrUpdateTriggerFuture.Result.
205200  func (future *TriggerCreateOrUpdateTriggerFuture) result(client TriggerClient) (tr TriggerResource, err error) {
205201  	var done bool
205202  	done, err = future.DoneWithContext(context.Background(), client)
205203  	if err != nil {
205204  		err = autorest.NewErrorWithError(err, "artifacts.TriggerCreateOrUpdateTriggerFuture", "Result", future.Response(), "Polling failure")
205205  		return
205206  	}
205207  	if !done {
205208  		tr.Response.Response = future.Response()
205209  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerCreateOrUpdateTriggerFuture")
205210  		return
205211  	}
205212  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
205213  	if tr.Response.Response, err = future.GetResult(sender); err == nil && tr.Response.Response.StatusCode != http.StatusNoContent {
205214  		tr, err = client.CreateOrUpdateTriggerResponder(tr.Response.Response)
205215  		if err != nil {
205216  			err = autorest.NewErrorWithError(err, "artifacts.TriggerCreateOrUpdateTriggerFuture", "Result", tr.Response.Response, "Failure responding to request")
205217  		}
205218  	}
205219  	return
205220  }
205221  
205222  // TriggerDeleteTriggerFuture an abstraction for monitoring and retrieving the results of a long-running
205223  // operation.
205224  type TriggerDeleteTriggerFuture struct {
205225  	azure.FutureAPI
205226  	// Result returns the result of the asynchronous operation.
205227  	// If the operation has not completed it will return an error.
205228  	Result func(TriggerClient) (autorest.Response, error)
205229  }
205230  
205231  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205232  func (future *TriggerDeleteTriggerFuture) UnmarshalJSON(body []byte) error {
205233  	var azFuture azure.Future
205234  	if err := json.Unmarshal(body, &azFuture); err != nil {
205235  		return err
205236  	}
205237  	future.FutureAPI = &azFuture
205238  	future.Result = future.result
205239  	return nil
205240  }
205241  
205242  // result is the default implementation for TriggerDeleteTriggerFuture.Result.
205243  func (future *TriggerDeleteTriggerFuture) result(client TriggerClient) (ar autorest.Response, err error) {
205244  	var done bool
205245  	done, err = future.DoneWithContext(context.Background(), client)
205246  	if err != nil {
205247  		err = autorest.NewErrorWithError(err, "artifacts.TriggerDeleteTriggerFuture", "Result", future.Response(), "Polling failure")
205248  		return
205249  	}
205250  	if !done {
205251  		ar.Response = future.Response()
205252  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerDeleteTriggerFuture")
205253  		return
205254  	}
205255  	ar.Response = future.Response()
205256  	return
205257  }
205258  
205259  // TriggerDependencyProvisioningStatus defines the response of a provision trigger dependency operation.
205260  type TriggerDependencyProvisioningStatus struct {
205261  	// TriggerName - Trigger name.
205262  	TriggerName *string `json:"triggerName,omitempty"`
205263  	// ProvisioningStatus - Provisioning status.
205264  	ProvisioningStatus *string `json:"provisioningStatus,omitempty"`
205265  }
205266  
205267  // BasicTriggerDependencyReference trigger referenced dependency.
205268  type BasicTriggerDependencyReference interface {
205269  	AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool)
205270  	AsTriggerDependencyReference() (*TriggerDependencyReference, bool)
205271  }
205272  
205273  // TriggerDependencyReference trigger referenced dependency.
205274  type TriggerDependencyReference struct {
205275  	// ReferenceTrigger - Referenced trigger.
205276  	ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"`
205277  	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
205278  	Type TypeBasicDependencyReference `json:"type,omitempty"`
205279  }
205280  
205281  func unmarshalBasicTriggerDependencyReference(body []byte) (BasicTriggerDependencyReference, error) {
205282  	var m map[string]interface{}
205283  	err := json.Unmarshal(body, &m)
205284  	if err != nil {
205285  		return nil, err
205286  	}
205287  
205288  	switch m["type"] {
205289  	case string(TypeTumblingWindowTriggerDependencyReference):
205290  		var twtdr TumblingWindowTriggerDependencyReference
205291  		err := json.Unmarshal(body, &twtdr)
205292  		return twtdr, err
205293  	default:
205294  		var tdr TriggerDependencyReference
205295  		err := json.Unmarshal(body, &tdr)
205296  		return tdr, err
205297  	}
205298  }
205299  func unmarshalBasicTriggerDependencyReferenceArray(body []byte) ([]BasicTriggerDependencyReference, error) {
205300  	var rawMessages []*json.RawMessage
205301  	err := json.Unmarshal(body, &rawMessages)
205302  	if err != nil {
205303  		return nil, err
205304  	}
205305  
205306  	tdrArray := make([]BasicTriggerDependencyReference, len(rawMessages))
205307  
205308  	for index, rawMessage := range rawMessages {
205309  		tdr, err := unmarshalBasicTriggerDependencyReference(*rawMessage)
205310  		if err != nil {
205311  			return nil, err
205312  		}
205313  		tdrArray[index] = tdr
205314  	}
205315  	return tdrArray, nil
205316  }
205317  
205318  // MarshalJSON is the custom marshaler for TriggerDependencyReference.
205319  func (tdr TriggerDependencyReference) MarshalJSON() ([]byte, error) {
205320  	tdr.Type = TypeTriggerDependencyReference
205321  	objectMap := make(map[string]interface{})
205322  	if tdr.ReferenceTrigger != nil {
205323  		objectMap["referenceTrigger"] = tdr.ReferenceTrigger
205324  	}
205325  	if tdr.Type != "" {
205326  		objectMap["type"] = tdr.Type
205327  	}
205328  	return json.Marshal(objectMap)
205329  }
205330  
205331  // AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205332  func (tdr TriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
205333  	return nil, false
205334  }
205335  
205336  // AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205337  func (tdr TriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
205338  	return nil, false
205339  }
205340  
205341  // AsTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205342  func (tdr TriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
205343  	return &tdr, true
205344  }
205345  
205346  // AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205347  func (tdr TriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
205348  	return &tdr, true
205349  }
205350  
205351  // AsDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205352  func (tdr TriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) {
205353  	return nil, false
205354  }
205355  
205356  // AsBasicDependencyReference is the BasicDependencyReference implementation for TriggerDependencyReference.
205357  func (tdr TriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
205358  	return &tdr, true
205359  }
205360  
205361  // TriggerListResponse a list of trigger resources.
205362  type TriggerListResponse struct {
205363  	autorest.Response `json:"-"`
205364  	// Value - List of triggers.
205365  	Value *[]TriggerResource `json:"value,omitempty"`
205366  	// NextLink - The link to the next page of results, if any remaining results exist.
205367  	NextLink *string `json:"nextLink,omitempty"`
205368  }
205369  
205370  // TriggerListResponseIterator provides access to a complete listing of TriggerResource values.
205371  type TriggerListResponseIterator struct {
205372  	i    int
205373  	page TriggerListResponsePage
205374  }
205375  
205376  // NextWithContext advances to the next value.  If there was an error making
205377  // the request the iterator does not advance and the error is returned.
205378  func (iter *TriggerListResponseIterator) NextWithContext(ctx context.Context) (err error) {
205379  	if tracing.IsEnabled() {
205380  		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponseIterator.NextWithContext")
205381  		defer func() {
205382  			sc := -1
205383  			if iter.Response().Response.Response != nil {
205384  				sc = iter.Response().Response.Response.StatusCode
205385  			}
205386  			tracing.EndSpan(ctx, sc, err)
205387  		}()
205388  	}
205389  	iter.i++
205390  	if iter.i < len(iter.page.Values()) {
205391  		return nil
205392  	}
205393  	err = iter.page.NextWithContext(ctx)
205394  	if err != nil {
205395  		iter.i--
205396  		return err
205397  	}
205398  	iter.i = 0
205399  	return nil
205400  }
205401  
205402  // Next advances to the next value.  If there was an error making
205403  // the request the iterator does not advance and the error is returned.
205404  // Deprecated: Use NextWithContext() instead.
205405  func (iter *TriggerListResponseIterator) Next() error {
205406  	return iter.NextWithContext(context.Background())
205407  }
205408  
205409  // NotDone returns true if the enumeration should be started or is not yet complete.
205410  func (iter TriggerListResponseIterator) NotDone() bool {
205411  	return iter.page.NotDone() && iter.i < len(iter.page.Values())
205412  }
205413  
205414  // Response returns the raw server response from the last page request.
205415  func (iter TriggerListResponseIterator) Response() TriggerListResponse {
205416  	return iter.page.Response()
205417  }
205418  
205419  // Value returns the current value or a zero-initialized value if the
205420  // iterator has advanced beyond the end of the collection.
205421  func (iter TriggerListResponseIterator) Value() TriggerResource {
205422  	if !iter.page.NotDone() {
205423  		return TriggerResource{}
205424  	}
205425  	return iter.page.Values()[iter.i]
205426  }
205427  
205428  // Creates a new instance of the TriggerListResponseIterator type.
205429  func NewTriggerListResponseIterator(page TriggerListResponsePage) TriggerListResponseIterator {
205430  	return TriggerListResponseIterator{page: page}
205431  }
205432  
205433  // IsEmpty returns true if the ListResult contains no values.
205434  func (tlr TriggerListResponse) IsEmpty() bool {
205435  	return tlr.Value == nil || len(*tlr.Value) == 0
205436  }
205437  
205438  // hasNextLink returns true if the NextLink is not empty.
205439  func (tlr TriggerListResponse) hasNextLink() bool {
205440  	return tlr.NextLink != nil && len(*tlr.NextLink) != 0
205441  }
205442  
205443  // triggerListResponsePreparer prepares a request to retrieve the next set of results.
205444  // It returns nil if no more results exist.
205445  func (tlr TriggerListResponse) triggerListResponsePreparer(ctx context.Context) (*http.Request, error) {
205446  	if !tlr.hasNextLink() {
205447  		return nil, nil
205448  	}
205449  	return autorest.Prepare((&http.Request{}).WithContext(ctx),
205450  		autorest.AsJSON(),
205451  		autorest.AsGet(),
205452  		autorest.WithBaseURL(to.String(tlr.NextLink)))
205453  }
205454  
205455  // TriggerListResponsePage contains a page of TriggerResource values.
205456  type TriggerListResponsePage struct {
205457  	fn  func(context.Context, TriggerListResponse) (TriggerListResponse, error)
205458  	tlr TriggerListResponse
205459  }
205460  
205461  // NextWithContext advances to the next page of values.  If there was an error making
205462  // the request the page does not advance and the error is returned.
205463  func (page *TriggerListResponsePage) NextWithContext(ctx context.Context) (err error) {
205464  	if tracing.IsEnabled() {
205465  		ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListResponsePage.NextWithContext")
205466  		defer func() {
205467  			sc := -1
205468  			if page.Response().Response.Response != nil {
205469  				sc = page.Response().Response.Response.StatusCode
205470  			}
205471  			tracing.EndSpan(ctx, sc, err)
205472  		}()
205473  	}
205474  	for {
205475  		next, err := page.fn(ctx, page.tlr)
205476  		if err != nil {
205477  			return err
205478  		}
205479  		page.tlr = next
205480  		if !next.hasNextLink() || !next.IsEmpty() {
205481  			break
205482  		}
205483  	}
205484  	return nil
205485  }
205486  
205487  // Next advances to the next page of values.  If there was an error making
205488  // the request the page does not advance and the error is returned.
205489  // Deprecated: Use NextWithContext() instead.
205490  func (page *TriggerListResponsePage) Next() error {
205491  	return page.NextWithContext(context.Background())
205492  }
205493  
205494  // NotDone returns true if the page enumeration should be started or is not yet complete.
205495  func (page TriggerListResponsePage) NotDone() bool {
205496  	return !page.tlr.IsEmpty()
205497  }
205498  
205499  // Response returns the raw server response from the last page request.
205500  func (page TriggerListResponsePage) Response() TriggerListResponse {
205501  	return page.tlr
205502  }
205503  
205504  // Values returns the slice of values for the current page or nil if there are no values.
205505  func (page TriggerListResponsePage) Values() []TriggerResource {
205506  	if page.tlr.IsEmpty() {
205507  		return nil
205508  	}
205509  	return *page.tlr.Value
205510  }
205511  
205512  // Creates a new instance of the TriggerListResponsePage type.
205513  func NewTriggerListResponsePage(cur TriggerListResponse, getNextPage func(context.Context, TriggerListResponse) (TriggerListResponse, error)) TriggerListResponsePage {
205514  	return TriggerListResponsePage{
205515  		fn:  getNextPage,
205516  		tlr: cur,
205517  	}
205518  }
205519  
205520  // TriggerPipelineReference pipeline that needs to be triggered with the given parameters.
205521  type TriggerPipelineReference struct {
205522  	// PipelineReference - Pipeline reference.
205523  	PipelineReference *PipelineReference `json:"pipelineReference,omitempty"`
205524  	// Parameters - Pipeline parameters.
205525  	Parameters map[string]interface{} `json:"parameters"`
205526  }
205527  
205528  // MarshalJSON is the custom marshaler for TriggerPipelineReference.
205529  func (tpr TriggerPipelineReference) MarshalJSON() ([]byte, error) {
205530  	objectMap := make(map[string]interface{})
205531  	if tpr.PipelineReference != nil {
205532  		objectMap["pipelineReference"] = tpr.PipelineReference
205533  	}
205534  	if tpr.Parameters != nil {
205535  		objectMap["parameters"] = tpr.Parameters
205536  	}
205537  	return json.Marshal(objectMap)
205538  }
205539  
205540  // TriggerReference trigger reference type.
205541  type TriggerReference struct {
205542  	// Type - Trigger reference type.
205543  	Type *string `json:"type,omitempty"`
205544  	// ReferenceName - Reference trigger name.
205545  	ReferenceName *string `json:"referenceName,omitempty"`
205546  }
205547  
205548  // TriggerResource trigger resource type.
205549  type TriggerResource struct {
205550  	autorest.Response `json:"-"`
205551  	// Properties - Properties of the trigger.
205552  	Properties BasicTrigger `json:"properties,omitempty"`
205553  	// Etag - READ-ONLY; Resource Etag.
205554  	Etag *string `json:"etag,omitempty"`
205555  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
205556  	ID *string `json:"id,omitempty"`
205557  	// Name - READ-ONLY; The name of the resource
205558  	Name *string `json:"name,omitempty"`
205559  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
205560  	Type *string `json:"type,omitempty"`
205561  }
205562  
205563  // MarshalJSON is the custom marshaler for TriggerResource.
205564  func (tr TriggerResource) MarshalJSON() ([]byte, error) {
205565  	objectMap := make(map[string]interface{})
205566  	objectMap["properties"] = tr.Properties
205567  	return json.Marshal(objectMap)
205568  }
205569  
205570  // UnmarshalJSON is the custom unmarshaler for TriggerResource struct.
205571  func (tr *TriggerResource) UnmarshalJSON(body []byte) error {
205572  	var m map[string]*json.RawMessage
205573  	err := json.Unmarshal(body, &m)
205574  	if err != nil {
205575  		return err
205576  	}
205577  	for k, v := range m {
205578  		switch k {
205579  		case "properties":
205580  			if v != nil {
205581  				properties, err := unmarshalBasicTrigger(*v)
205582  				if err != nil {
205583  					return err
205584  				}
205585  				tr.Properties = properties
205586  			}
205587  		case "etag":
205588  			if v != nil {
205589  				var etag string
205590  				err = json.Unmarshal(*v, &etag)
205591  				if err != nil {
205592  					return err
205593  				}
205594  				tr.Etag = &etag
205595  			}
205596  		case "id":
205597  			if v != nil {
205598  				var ID string
205599  				err = json.Unmarshal(*v, &ID)
205600  				if err != nil {
205601  					return err
205602  				}
205603  				tr.ID = &ID
205604  			}
205605  		case "name":
205606  			if v != nil {
205607  				var name string
205608  				err = json.Unmarshal(*v, &name)
205609  				if err != nil {
205610  					return err
205611  				}
205612  				tr.Name = &name
205613  			}
205614  		case "type":
205615  			if v != nil {
205616  				var typeVar string
205617  				err = json.Unmarshal(*v, &typeVar)
205618  				if err != nil {
205619  					return err
205620  				}
205621  				tr.Type = &typeVar
205622  			}
205623  		}
205624  	}
205625  
205626  	return nil
205627  }
205628  
205629  // TriggerRun trigger runs.
205630  type TriggerRun struct {
205631  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
205632  	AdditionalProperties map[string]interface{} `json:""`
205633  	// TriggerRunID - READ-ONLY; Trigger run id.
205634  	TriggerRunID *string `json:"triggerRunId,omitempty"`
205635  	// TriggerName - READ-ONLY; Trigger name.
205636  	TriggerName *string `json:"triggerName,omitempty"`
205637  	// TriggerType - READ-ONLY; Trigger type.
205638  	TriggerType *string `json:"triggerType,omitempty"`
205639  	// TriggerRunTimestamp - READ-ONLY; Trigger run start time.
205640  	TriggerRunTimestamp *date.Time `json:"triggerRunTimestamp,omitempty"`
205641  	// Status - READ-ONLY; Trigger run status. Possible values include: 'TriggerRunStatusSucceeded', 'TriggerRunStatusFailed', 'TriggerRunStatusInprogress'
205642  	Status TriggerRunStatus `json:"status,omitempty"`
205643  	// Message - READ-ONLY; Trigger error message.
205644  	Message *string `json:"message,omitempty"`
205645  	// Properties - READ-ONLY; List of property name and value related to trigger run. Name, value pair depends on type of trigger.
205646  	Properties map[string]*string `json:"properties"`
205647  	// TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run.
205648  	TriggeredPipelines map[string]*string `json:"triggeredPipelines"`
205649  }
205650  
205651  // MarshalJSON is the custom marshaler for TriggerRun.
205652  func (tr TriggerRun) MarshalJSON() ([]byte, error) {
205653  	objectMap := make(map[string]interface{})
205654  	for k, v := range tr.AdditionalProperties {
205655  		objectMap[k] = v
205656  	}
205657  	return json.Marshal(objectMap)
205658  }
205659  
205660  // UnmarshalJSON is the custom unmarshaler for TriggerRun struct.
205661  func (tr *TriggerRun) UnmarshalJSON(body []byte) error {
205662  	var m map[string]*json.RawMessage
205663  	err := json.Unmarshal(body, &m)
205664  	if err != nil {
205665  		return err
205666  	}
205667  	for k, v := range m {
205668  		switch k {
205669  		default:
205670  			if v != nil {
205671  				var additionalProperties interface{}
205672  				err = json.Unmarshal(*v, &additionalProperties)
205673  				if err != nil {
205674  					return err
205675  				}
205676  				if tr.AdditionalProperties == nil {
205677  					tr.AdditionalProperties = make(map[string]interface{})
205678  				}
205679  				tr.AdditionalProperties[k] = additionalProperties
205680  			}
205681  		case "triggerRunId":
205682  			if v != nil {
205683  				var triggerRunID string
205684  				err = json.Unmarshal(*v, &triggerRunID)
205685  				if err != nil {
205686  					return err
205687  				}
205688  				tr.TriggerRunID = &triggerRunID
205689  			}
205690  		case "triggerName":
205691  			if v != nil {
205692  				var triggerName string
205693  				err = json.Unmarshal(*v, &triggerName)
205694  				if err != nil {
205695  					return err
205696  				}
205697  				tr.TriggerName = &triggerName
205698  			}
205699  		case "triggerType":
205700  			if v != nil {
205701  				var triggerType string
205702  				err = json.Unmarshal(*v, &triggerType)
205703  				if err != nil {
205704  					return err
205705  				}
205706  				tr.TriggerType = &triggerType
205707  			}
205708  		case "triggerRunTimestamp":
205709  			if v != nil {
205710  				var triggerRunTimestamp date.Time
205711  				err = json.Unmarshal(*v, &triggerRunTimestamp)
205712  				if err != nil {
205713  					return err
205714  				}
205715  				tr.TriggerRunTimestamp = &triggerRunTimestamp
205716  			}
205717  		case "status":
205718  			if v != nil {
205719  				var status TriggerRunStatus
205720  				err = json.Unmarshal(*v, &status)
205721  				if err != nil {
205722  					return err
205723  				}
205724  				tr.Status = status
205725  			}
205726  		case "message":
205727  			if v != nil {
205728  				var message string
205729  				err = json.Unmarshal(*v, &message)
205730  				if err != nil {
205731  					return err
205732  				}
205733  				tr.Message = &message
205734  			}
205735  		case "properties":
205736  			if v != nil {
205737  				var properties map[string]*string
205738  				err = json.Unmarshal(*v, &properties)
205739  				if err != nil {
205740  					return err
205741  				}
205742  				tr.Properties = properties
205743  			}
205744  		case "triggeredPipelines":
205745  			if v != nil {
205746  				var triggeredPipelines map[string]*string
205747  				err = json.Unmarshal(*v, &triggeredPipelines)
205748  				if err != nil {
205749  					return err
205750  				}
205751  				tr.TriggeredPipelines = triggeredPipelines
205752  			}
205753  		}
205754  	}
205755  
205756  	return nil
205757  }
205758  
205759  // TriggerRunsQueryResponse a list of trigger runs.
205760  type TriggerRunsQueryResponse struct {
205761  	autorest.Response `json:"-"`
205762  	// Value - List of trigger runs.
205763  	Value *[]TriggerRun `json:"value,omitempty"`
205764  	// ContinuationToken - The continuation token for getting the next page of results, if any remaining results exist, null otherwise.
205765  	ContinuationToken *string `json:"continuationToken,omitempty"`
205766  }
205767  
205768  // TriggerStartTriggerFuture an abstraction for monitoring and retrieving the results of a long-running
205769  // operation.
205770  type TriggerStartTriggerFuture struct {
205771  	azure.FutureAPI
205772  	// Result returns the result of the asynchronous operation.
205773  	// If the operation has not completed it will return an error.
205774  	Result func(TriggerClient) (autorest.Response, error)
205775  }
205776  
205777  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205778  func (future *TriggerStartTriggerFuture) UnmarshalJSON(body []byte) error {
205779  	var azFuture azure.Future
205780  	if err := json.Unmarshal(body, &azFuture); err != nil {
205781  		return err
205782  	}
205783  	future.FutureAPI = &azFuture
205784  	future.Result = future.result
205785  	return nil
205786  }
205787  
205788  // result is the default implementation for TriggerStartTriggerFuture.Result.
205789  func (future *TriggerStartTriggerFuture) result(client TriggerClient) (ar autorest.Response, err error) {
205790  	var done bool
205791  	done, err = future.DoneWithContext(context.Background(), client)
205792  	if err != nil {
205793  		err = autorest.NewErrorWithError(err, "artifacts.TriggerStartTriggerFuture", "Result", future.Response(), "Polling failure")
205794  		return
205795  	}
205796  	if !done {
205797  		ar.Response = future.Response()
205798  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerStartTriggerFuture")
205799  		return
205800  	}
205801  	ar.Response = future.Response()
205802  	return
205803  }
205804  
205805  // TriggerStopTriggerFuture an abstraction for monitoring and retrieving the results of a long-running
205806  // operation.
205807  type TriggerStopTriggerFuture struct {
205808  	azure.FutureAPI
205809  	// Result returns the result of the asynchronous operation.
205810  	// If the operation has not completed it will return an error.
205811  	Result func(TriggerClient) (autorest.Response, error)
205812  }
205813  
205814  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205815  func (future *TriggerStopTriggerFuture) UnmarshalJSON(body []byte) error {
205816  	var azFuture azure.Future
205817  	if err := json.Unmarshal(body, &azFuture); err != nil {
205818  		return err
205819  	}
205820  	future.FutureAPI = &azFuture
205821  	future.Result = future.result
205822  	return nil
205823  }
205824  
205825  // result is the default implementation for TriggerStopTriggerFuture.Result.
205826  func (future *TriggerStopTriggerFuture) result(client TriggerClient) (ar autorest.Response, err error) {
205827  	var done bool
205828  	done, err = future.DoneWithContext(context.Background(), client)
205829  	if err != nil {
205830  		err = autorest.NewErrorWithError(err, "artifacts.TriggerStopTriggerFuture", "Result", future.Response(), "Polling failure")
205831  		return
205832  	}
205833  	if !done {
205834  		ar.Response = future.Response()
205835  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerStopTriggerFuture")
205836  		return
205837  	}
205838  	ar.Response = future.Response()
205839  	return
205840  }
205841  
205842  // TriggerSubscribeTriggerToEventsFuture an abstraction for monitoring and retrieving the results of a
205843  // long-running operation.
205844  type TriggerSubscribeTriggerToEventsFuture struct {
205845  	azure.FutureAPI
205846  	// Result returns the result of the asynchronous operation.
205847  	// If the operation has not completed it will return an error.
205848  	Result func(TriggerClient) (TriggerSubscriptionOperationStatus, error)
205849  }
205850  
205851  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205852  func (future *TriggerSubscribeTriggerToEventsFuture) UnmarshalJSON(body []byte) error {
205853  	var azFuture azure.Future
205854  	if err := json.Unmarshal(body, &azFuture); err != nil {
205855  		return err
205856  	}
205857  	future.FutureAPI = &azFuture
205858  	future.Result = future.result
205859  	return nil
205860  }
205861  
205862  // result is the default implementation for TriggerSubscribeTriggerToEventsFuture.Result.
205863  func (future *TriggerSubscribeTriggerToEventsFuture) result(client TriggerClient) (tsos TriggerSubscriptionOperationStatus, err error) {
205864  	var done bool
205865  	done, err = future.DoneWithContext(context.Background(), client)
205866  	if err != nil {
205867  		err = autorest.NewErrorWithError(err, "artifacts.TriggerSubscribeTriggerToEventsFuture", "Result", future.Response(), "Polling failure")
205868  		return
205869  	}
205870  	if !done {
205871  		tsos.Response.Response = future.Response()
205872  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerSubscribeTriggerToEventsFuture")
205873  		return
205874  	}
205875  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
205876  	if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent {
205877  		tsos, err = client.SubscribeTriggerToEventsResponder(tsos.Response.Response)
205878  		if err != nil {
205879  			err = autorest.NewErrorWithError(err, "artifacts.TriggerSubscribeTriggerToEventsFuture", "Result", tsos.Response.Response, "Failure responding to request")
205880  		}
205881  	}
205882  	return
205883  }
205884  
205885  // TriggerSubscriptionOperationStatus defines the response of a trigger subscription operation.
205886  type TriggerSubscriptionOperationStatus struct {
205887  	autorest.Response `json:"-"`
205888  	// TriggerName - READ-ONLY; Trigger name.
205889  	TriggerName *string `json:"triggerName,omitempty"`
205890  	// Status - READ-ONLY; Event Subscription Status. Possible values include: 'Enabled', 'Provisioning', 'Deprovisioning', 'Disabled', 'Unknown'
205891  	Status EventSubscriptionStatus `json:"status,omitempty"`
205892  }
205893  
205894  // MarshalJSON is the custom marshaler for TriggerSubscriptionOperationStatus.
205895  func (tsos TriggerSubscriptionOperationStatus) MarshalJSON() ([]byte, error) {
205896  	objectMap := make(map[string]interface{})
205897  	return json.Marshal(objectMap)
205898  }
205899  
205900  // TriggerUnsubscribeTriggerFromEventsFuture an abstraction for monitoring and retrieving the results of a
205901  // long-running operation.
205902  type TriggerUnsubscribeTriggerFromEventsFuture struct {
205903  	azure.FutureAPI
205904  	// Result returns the result of the asynchronous operation.
205905  	// If the operation has not completed it will return an error.
205906  	Result func(TriggerClient) (TriggerSubscriptionOperationStatus, error)
205907  }
205908  
205909  // UnmarshalJSON is the custom unmarshaller for CreateFuture.
205910  func (future *TriggerUnsubscribeTriggerFromEventsFuture) UnmarshalJSON(body []byte) error {
205911  	var azFuture azure.Future
205912  	if err := json.Unmarshal(body, &azFuture); err != nil {
205913  		return err
205914  	}
205915  	future.FutureAPI = &azFuture
205916  	future.Result = future.result
205917  	return nil
205918  }
205919  
205920  // result is the default implementation for TriggerUnsubscribeTriggerFromEventsFuture.Result.
205921  func (future *TriggerUnsubscribeTriggerFromEventsFuture) result(client TriggerClient) (tsos TriggerSubscriptionOperationStatus, err error) {
205922  	var done bool
205923  	done, err = future.DoneWithContext(context.Background(), client)
205924  	if err != nil {
205925  		err = autorest.NewErrorWithError(err, "artifacts.TriggerUnsubscribeTriggerFromEventsFuture", "Result", future.Response(), "Polling failure")
205926  		return
205927  	}
205928  	if !done {
205929  		tsos.Response.Response = future.Response()
205930  		err = azure.NewAsyncOpIncompleteError("artifacts.TriggerUnsubscribeTriggerFromEventsFuture")
205931  		return
205932  	}
205933  	sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
205934  	if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent {
205935  		tsos, err = client.UnsubscribeTriggerFromEventsResponder(tsos.Response.Response)
205936  		if err != nil {
205937  			err = autorest.NewErrorWithError(err, "artifacts.TriggerUnsubscribeTriggerFromEventsFuture", "Result", tsos.Response.Response, "Failure responding to request")
205938  		}
205939  	}
205940  	return
205941  }
205942  
205943  // TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a
205944  // start time without gaps and also supports backfill scenarios (when start time is in the past).
205945  type TumblingWindowTrigger struct {
205946  	// Pipeline - Pipeline for which runs are created when an event is fired for trigger window that is ready.
205947  	Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"`
205948  	// TumblingWindowTriggerTypeProperties - Tumbling Window Trigger properties.
205949  	*TumblingWindowTriggerTypeProperties `json:"typeProperties,omitempty"`
205950  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
205951  	AdditionalProperties map[string]interface{} `json:""`
205952  	// Description - Trigger description.
205953  	Description *string `json:"description,omitempty"`
205954  	// RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled'
205955  	RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"`
205956  	// Annotations - List of tags that can be used for describing the trigger.
205957  	Annotations *[]interface{} `json:"annotations,omitempty"`
205958  	// Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger'
205959  	Type TypeBasicTrigger `json:"type,omitempty"`
205960  }
205961  
205962  // MarshalJSON is the custom marshaler for TumblingWindowTrigger.
205963  func (twt TumblingWindowTrigger) MarshalJSON() ([]byte, error) {
205964  	twt.Type = TypeTumblingWindowTrigger
205965  	objectMap := make(map[string]interface{})
205966  	if twt.Pipeline != nil {
205967  		objectMap["pipeline"] = twt.Pipeline
205968  	}
205969  	if twt.TumblingWindowTriggerTypeProperties != nil {
205970  		objectMap["typeProperties"] = twt.TumblingWindowTriggerTypeProperties
205971  	}
205972  	if twt.Description != nil {
205973  		objectMap["description"] = twt.Description
205974  	}
205975  	if twt.Annotations != nil {
205976  		objectMap["annotations"] = twt.Annotations
205977  	}
205978  	if twt.Type != "" {
205979  		objectMap["type"] = twt.Type
205980  	}
205981  	for k, v := range twt.AdditionalProperties {
205982  		objectMap[k] = v
205983  	}
205984  	return json.Marshal(objectMap)
205985  }
205986  
205987  // AsRerunTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
205988  func (twt TumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) {
205989  	return nil, false
205990  }
205991  
205992  // AsChainingTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
205993  func (twt TumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) {
205994  	return nil, false
205995  }
205996  
205997  // AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
205998  func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) {
205999  	return &twt, true
206000  }
206001  
206002  // AsBlobEventsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206003  func (twt TumblingWindowTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) {
206004  	return nil, false
206005  }
206006  
206007  // AsBlobTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206008  func (twt TumblingWindowTrigger) AsBlobTrigger() (*BlobTrigger, bool) {
206009  	return nil, false
206010  }
206011  
206012  // AsScheduleTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206013  func (twt TumblingWindowTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) {
206014  	return nil, false
206015  }
206016  
206017  // AsMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206018  func (twt TumblingWindowTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) {
206019  	return nil, false
206020  }
206021  
206022  // AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206023  func (twt TumblingWindowTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) {
206024  	return nil, false
206025  }
206026  
206027  // AsTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206028  func (twt TumblingWindowTrigger) AsTrigger() (*Trigger, bool) {
206029  	return nil, false
206030  }
206031  
206032  // AsBasicTrigger is the BasicTrigger implementation for TumblingWindowTrigger.
206033  func (twt TumblingWindowTrigger) AsBasicTrigger() (BasicTrigger, bool) {
206034  	return &twt, true
206035  }
206036  
206037  // UnmarshalJSON is the custom unmarshaler for TumblingWindowTrigger struct.
206038  func (twt *TumblingWindowTrigger) UnmarshalJSON(body []byte) error {
206039  	var m map[string]*json.RawMessage
206040  	err := json.Unmarshal(body, &m)
206041  	if err != nil {
206042  		return err
206043  	}
206044  	for k, v := range m {
206045  		switch k {
206046  		case "pipeline":
206047  			if v != nil {
206048  				var pipeline TriggerPipelineReference
206049  				err = json.Unmarshal(*v, &pipeline)
206050  				if err != nil {
206051  					return err
206052  				}
206053  				twt.Pipeline = &pipeline
206054  			}
206055  		case "typeProperties":
206056  			if v != nil {
206057  				var tumblingWindowTriggerTypeProperties TumblingWindowTriggerTypeProperties
206058  				err = json.Unmarshal(*v, &tumblingWindowTriggerTypeProperties)
206059  				if err != nil {
206060  					return err
206061  				}
206062  				twt.TumblingWindowTriggerTypeProperties = &tumblingWindowTriggerTypeProperties
206063  			}
206064  		default:
206065  			if v != nil {
206066  				var additionalProperties interface{}
206067  				err = json.Unmarshal(*v, &additionalProperties)
206068  				if err != nil {
206069  					return err
206070  				}
206071  				if twt.AdditionalProperties == nil {
206072  					twt.AdditionalProperties = make(map[string]interface{})
206073  				}
206074  				twt.AdditionalProperties[k] = additionalProperties
206075  			}
206076  		case "description":
206077  			if v != nil {
206078  				var description string
206079  				err = json.Unmarshal(*v, &description)
206080  				if err != nil {
206081  					return err
206082  				}
206083  				twt.Description = &description
206084  			}
206085  		case "runtimeState":
206086  			if v != nil {
206087  				var runtimeState TriggerRuntimeState
206088  				err = json.Unmarshal(*v, &runtimeState)
206089  				if err != nil {
206090  					return err
206091  				}
206092  				twt.RuntimeState = runtimeState
206093  			}
206094  		case "annotations":
206095  			if v != nil {
206096  				var annotations []interface{}
206097  				err = json.Unmarshal(*v, &annotations)
206098  				if err != nil {
206099  					return err
206100  				}
206101  				twt.Annotations = &annotations
206102  			}
206103  		case "type":
206104  			if v != nil {
206105  				var typeVar TypeBasicTrigger
206106  				err = json.Unmarshal(*v, &typeVar)
206107  				if err != nil {
206108  					return err
206109  				}
206110  				twt.Type = typeVar
206111  			}
206112  		}
206113  	}
206114  
206115  	return nil
206116  }
206117  
206118  // TumblingWindowTriggerDependencyReference referenced tumbling window trigger dependency.
206119  type TumblingWindowTriggerDependencyReference struct {
206120  	// Offset - Timespan applied to the start time of a tumbling window when evaluating dependency.
206121  	Offset *string `json:"offset,omitempty"`
206122  	// Size - The size of the window when evaluating the dependency. If undefined the frequency of the tumbling window will be used.
206123  	Size *string `json:"size,omitempty"`
206124  	// ReferenceTrigger - Referenced trigger.
206125  	ReferenceTrigger *TriggerReference `json:"referenceTrigger,omitempty"`
206126  	// Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference'
206127  	Type TypeBasicDependencyReference `json:"type,omitempty"`
206128  }
206129  
206130  // MarshalJSON is the custom marshaler for TumblingWindowTriggerDependencyReference.
206131  func (twtdr TumblingWindowTriggerDependencyReference) MarshalJSON() ([]byte, error) {
206132  	twtdr.Type = TypeTumblingWindowTriggerDependencyReference
206133  	objectMap := make(map[string]interface{})
206134  	if twtdr.Offset != nil {
206135  		objectMap["offset"] = twtdr.Offset
206136  	}
206137  	if twtdr.Size != nil {
206138  		objectMap["size"] = twtdr.Size
206139  	}
206140  	if twtdr.ReferenceTrigger != nil {
206141  		objectMap["referenceTrigger"] = twtdr.ReferenceTrigger
206142  	}
206143  	if twtdr.Type != "" {
206144  		objectMap["type"] = twtdr.Type
206145  	}
206146  	return json.Marshal(objectMap)
206147  }
206148  
206149  // AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206150  func (twtdr TumblingWindowTriggerDependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) {
206151  	return nil, false
206152  }
206153  
206154  // AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206155  func (twtdr TumblingWindowTriggerDependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) {
206156  	return &twtdr, true
206157  }
206158  
206159  // AsTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206160  func (twtdr TumblingWindowTriggerDependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) {
206161  	return nil, false
206162  }
206163  
206164  // AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206165  func (twtdr TumblingWindowTriggerDependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) {
206166  	return &twtdr, true
206167  }
206168  
206169  // AsDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206170  func (twtdr TumblingWindowTriggerDependencyReference) AsDependencyReference() (*DependencyReference, bool) {
206171  	return nil, false
206172  }
206173  
206174  // AsBasicDependencyReference is the BasicDependencyReference implementation for TumblingWindowTriggerDependencyReference.
206175  func (twtdr TumblingWindowTriggerDependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) {
206176  	return &twtdr, true
206177  }
206178  
206179  // TumblingWindowTriggerTypeProperties tumbling Window Trigger properties.
206180  type TumblingWindowTriggerTypeProperties struct {
206181  	// Frequency - The frequency of the time windows. Possible values include: 'TumblingWindowFrequencyMinute', 'TumblingWindowFrequencyHour'
206182  	Frequency TumblingWindowFrequency `json:"frequency,omitempty"`
206183  	// Interval - The interval of the time windows. The minimum interval allowed is 15 Minutes.
206184  	Interval *int32 `json:"interval,omitempty"`
206185  	// 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.
206186  	StartTime *date.Time `json:"startTime,omitempty"`
206187  	// 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.
206188  	EndTime *date.Time `json:"endTime,omitempty"`
206189  	// 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])).
206190  	Delay interface{} `json:"delay,omitempty"`
206191  	// MaxConcurrency - The max number of parallel time windows (ready for execution) for which a new run is triggered.
206192  	MaxConcurrency *int32 `json:"maxConcurrency,omitempty"`
206193  	// RetryPolicy - Retry policy that will be applied for failed pipeline runs.
206194  	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
206195  	// DependsOn - Triggers that this trigger depends on. Only tumbling window triggers are supported.
206196  	DependsOn *[]BasicDependencyReference `json:"dependsOn,omitempty"`
206197  }
206198  
206199  // UnmarshalJSON is the custom unmarshaler for TumblingWindowTriggerTypeProperties struct.
206200  func (twtP *TumblingWindowTriggerTypeProperties) UnmarshalJSON(body []byte) error {
206201  	var m map[string]*json.RawMessage
206202  	err := json.Unmarshal(body, &m)
206203  	if err != nil {
206204  		return err
206205  	}
206206  	for k, v := range m {
206207  		switch k {
206208  		case "frequency":
206209  			if v != nil {
206210  				var frequency TumblingWindowFrequency
206211  				err = json.Unmarshal(*v, &frequency)
206212  				if err != nil {
206213  					return err
206214  				}
206215  				twtP.Frequency = frequency
206216  			}
206217  		case "interval":
206218  			if v != nil {
206219  				var interval int32
206220  				err = json.Unmarshal(*v, &interval)
206221  				if err != nil {
206222  					return err
206223  				}
206224  				twtP.Interval = &interval
206225  			}
206226  		case "startTime":
206227  			if v != nil {
206228  				var startTime date.Time
206229  				err = json.Unmarshal(*v, &startTime)
206230  				if err != nil {
206231  					return err
206232  				}
206233  				twtP.StartTime = &startTime
206234  			}
206235  		case "endTime":
206236  			if v != nil {
206237  				var endTime date.Time
206238  				err = json.Unmarshal(*v, &endTime)
206239  				if err != nil {
206240  					return err
206241  				}
206242  				twtP.EndTime = &endTime
206243  			}
206244  		case "delay":
206245  			if v != nil {
206246  				var delay interface{}
206247  				err = json.Unmarshal(*v, &delay)
206248  				if err != nil {
206249  					return err
206250  				}
206251  				twtP.Delay = delay
206252  			}
206253  		case "maxConcurrency":
206254  			if v != nil {
206255  				var maxConcurrency int32
206256  				err = json.Unmarshal(*v, &maxConcurrency)
206257  				if err != nil {
206258  					return err
206259  				}
206260  				twtP.MaxConcurrency = &maxConcurrency
206261  			}
206262  		case "retryPolicy":
206263  			if v != nil {
206264  				var retryPolicy RetryPolicy
206265  				err = json.Unmarshal(*v, &retryPolicy)
206266  				if err != nil {
206267  					return err
206268  				}
206269  				twtP.RetryPolicy = &retryPolicy
206270  			}
206271  		case "dependsOn":
206272  			if v != nil {
206273  				dependsOn, err := unmarshalBasicDependencyReferenceArray(*v)
206274  				if err != nil {
206275  					return err
206276  				}
206277  				twtP.DependsOn = &dependsOn
206278  			}
206279  		}
206280  	}
206281  
206282  	return nil
206283  }
206284  
206285  // UntilActivity this activity executes inner activities until the specified boolean expression results to
206286  // true or timeout is reached, whichever is earlier.
206287  type UntilActivity struct {
206288  	// UntilActivityTypeProperties - Until activity properties.
206289  	*UntilActivityTypeProperties `json:"typeProperties,omitempty"`
206290  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
206291  	AdditionalProperties map[string]interface{} `json:""`
206292  	// Name - Activity name.
206293  	Name *string `json:"name,omitempty"`
206294  	// Description - Activity description.
206295  	Description *string `json:"description,omitempty"`
206296  	// DependsOn - Activity depends on condition.
206297  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
206298  	// UserProperties - Activity user properties.
206299  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
206300  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
206301  	Type TypeBasicActivity `json:"type,omitempty"`
206302  }
206303  
206304  // MarshalJSON is the custom marshaler for UntilActivity.
206305  func (ua UntilActivity) MarshalJSON() ([]byte, error) {
206306  	ua.Type = TypeUntil
206307  	objectMap := make(map[string]interface{})
206308  	if ua.UntilActivityTypeProperties != nil {
206309  		objectMap["typeProperties"] = ua.UntilActivityTypeProperties
206310  	}
206311  	if ua.Name != nil {
206312  		objectMap["name"] = ua.Name
206313  	}
206314  	if ua.Description != nil {
206315  		objectMap["description"] = ua.Description
206316  	}
206317  	if ua.DependsOn != nil {
206318  		objectMap["dependsOn"] = ua.DependsOn
206319  	}
206320  	if ua.UserProperties != nil {
206321  		objectMap["userProperties"] = ua.UserProperties
206322  	}
206323  	if ua.Type != "" {
206324  		objectMap["type"] = ua.Type
206325  	}
206326  	for k, v := range ua.AdditionalProperties {
206327  		objectMap[k] = v
206328  	}
206329  	return json.Marshal(objectMap)
206330  }
206331  
206332  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for UntilActivity.
206333  func (ua UntilActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
206334  	return nil, false
206335  }
206336  
206337  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for UntilActivity.
206338  func (ua UntilActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
206339  	return nil, false
206340  }
206341  
206342  // AsSynapseNotebookActivity is the BasicActivity implementation for UntilActivity.
206343  func (ua UntilActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
206344  	return nil, false
206345  }
206346  
206347  // AsExecuteDataFlowActivity is the BasicActivity implementation for UntilActivity.
206348  func (ua UntilActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
206349  	return nil, false
206350  }
206351  
206352  // AsAzureFunctionActivity is the BasicActivity implementation for UntilActivity.
206353  func (ua UntilActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
206354  	return nil, false
206355  }
206356  
206357  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for UntilActivity.
206358  func (ua UntilActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
206359  	return nil, false
206360  }
206361  
206362  // AsDatabricksSparkJarActivity is the BasicActivity implementation for UntilActivity.
206363  func (ua UntilActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
206364  	return nil, false
206365  }
206366  
206367  // AsDatabricksNotebookActivity is the BasicActivity implementation for UntilActivity.
206368  func (ua UntilActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
206369  	return nil, false
206370  }
206371  
206372  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for UntilActivity.
206373  func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
206374  	return nil, false
206375  }
206376  
206377  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for UntilActivity.
206378  func (ua UntilActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
206379  	return nil, false
206380  }
206381  
206382  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity.
206383  func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
206384  	return nil, false
206385  }
206386  
206387  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for UntilActivity.
206388  func (ua UntilActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
206389  	return nil, false
206390  }
206391  
206392  // AsGetMetadataActivity is the BasicActivity implementation for UntilActivity.
206393  func (ua UntilActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
206394  	return nil, false
206395  }
206396  
206397  // AsWebActivity is the BasicActivity implementation for UntilActivity.
206398  func (ua UntilActivity) AsWebActivity() (*WebActivity, bool) {
206399  	return nil, false
206400  }
206401  
206402  // AsLookupActivity is the BasicActivity implementation for UntilActivity.
206403  func (ua UntilActivity) AsLookupActivity() (*LookupActivity, bool) {
206404  	return nil, false
206405  }
206406  
206407  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for UntilActivity.
206408  func (ua UntilActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
206409  	return nil, false
206410  }
206411  
206412  // AsDeleteActivity is the BasicActivity implementation for UntilActivity.
206413  func (ua UntilActivity) AsDeleteActivity() (*DeleteActivity, bool) {
206414  	return nil, false
206415  }
206416  
206417  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for UntilActivity.
206418  func (ua UntilActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
206419  	return nil, false
206420  }
206421  
206422  // AsCustomActivity is the BasicActivity implementation for UntilActivity.
206423  func (ua UntilActivity) AsCustomActivity() (*CustomActivity, bool) {
206424  	return nil, false
206425  }
206426  
206427  // AsExecuteSSISPackageActivity is the BasicActivity implementation for UntilActivity.
206428  func (ua UntilActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
206429  	return nil, false
206430  }
206431  
206432  // AsHDInsightSparkActivity is the BasicActivity implementation for UntilActivity.
206433  func (ua UntilActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
206434  	return nil, false
206435  }
206436  
206437  // AsHDInsightStreamingActivity is the BasicActivity implementation for UntilActivity.
206438  func (ua UntilActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
206439  	return nil, false
206440  }
206441  
206442  // AsHDInsightMapReduceActivity is the BasicActivity implementation for UntilActivity.
206443  func (ua UntilActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
206444  	return nil, false
206445  }
206446  
206447  // AsHDInsightPigActivity is the BasicActivity implementation for UntilActivity.
206448  func (ua UntilActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
206449  	return nil, false
206450  }
206451  
206452  // AsHDInsightHiveActivity is the BasicActivity implementation for UntilActivity.
206453  func (ua UntilActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
206454  	return nil, false
206455  }
206456  
206457  // AsCopyActivity is the BasicActivity implementation for UntilActivity.
206458  func (ua UntilActivity) AsCopyActivity() (*CopyActivity, bool) {
206459  	return nil, false
206460  }
206461  
206462  // AsExecutionActivity is the BasicActivity implementation for UntilActivity.
206463  func (ua UntilActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
206464  	return nil, false
206465  }
206466  
206467  // AsBasicExecutionActivity is the BasicActivity implementation for UntilActivity.
206468  func (ua UntilActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
206469  	return nil, false
206470  }
206471  
206472  // AsWebHookActivity is the BasicActivity implementation for UntilActivity.
206473  func (ua UntilActivity) AsWebHookActivity() (*WebHookActivity, bool) {
206474  	return nil, false
206475  }
206476  
206477  // AsAppendVariableActivity is the BasicActivity implementation for UntilActivity.
206478  func (ua UntilActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
206479  	return nil, false
206480  }
206481  
206482  // AsSetVariableActivity is the BasicActivity implementation for UntilActivity.
206483  func (ua UntilActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
206484  	return nil, false
206485  }
206486  
206487  // AsFilterActivity is the BasicActivity implementation for UntilActivity.
206488  func (ua UntilActivity) AsFilterActivity() (*FilterActivity, bool) {
206489  	return nil, false
206490  }
206491  
206492  // AsValidationActivity is the BasicActivity implementation for UntilActivity.
206493  func (ua UntilActivity) AsValidationActivity() (*ValidationActivity, bool) {
206494  	return nil, false
206495  }
206496  
206497  // AsUntilActivity is the BasicActivity implementation for UntilActivity.
206498  func (ua UntilActivity) AsUntilActivity() (*UntilActivity, bool) {
206499  	return &ua, true
206500  }
206501  
206502  // AsWaitActivity is the BasicActivity implementation for UntilActivity.
206503  func (ua UntilActivity) AsWaitActivity() (*WaitActivity, bool) {
206504  	return nil, false
206505  }
206506  
206507  // AsForEachActivity is the BasicActivity implementation for UntilActivity.
206508  func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) {
206509  	return nil, false
206510  }
206511  
206512  // AsSwitchActivity is the BasicActivity implementation for UntilActivity.
206513  func (ua UntilActivity) AsSwitchActivity() (*SwitchActivity, bool) {
206514  	return nil, false
206515  }
206516  
206517  // AsIfConditionActivity is the BasicActivity implementation for UntilActivity.
206518  func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
206519  	return nil, false
206520  }
206521  
206522  // AsExecutePipelineActivity is the BasicActivity implementation for UntilActivity.
206523  func (ua UntilActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
206524  	return nil, false
206525  }
206526  
206527  // AsControlActivity is the BasicActivity implementation for UntilActivity.
206528  func (ua UntilActivity) AsControlActivity() (*ControlActivity, bool) {
206529  	return nil, false
206530  }
206531  
206532  // AsBasicControlActivity is the BasicActivity implementation for UntilActivity.
206533  func (ua UntilActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
206534  	return &ua, true
206535  }
206536  
206537  // AsActivity is the BasicActivity implementation for UntilActivity.
206538  func (ua UntilActivity) AsActivity() (*Activity, bool) {
206539  	return nil, false
206540  }
206541  
206542  // AsBasicActivity is the BasicActivity implementation for UntilActivity.
206543  func (ua UntilActivity) AsBasicActivity() (BasicActivity, bool) {
206544  	return &ua, true
206545  }
206546  
206547  // UnmarshalJSON is the custom unmarshaler for UntilActivity struct.
206548  func (ua *UntilActivity) UnmarshalJSON(body []byte) error {
206549  	var m map[string]*json.RawMessage
206550  	err := json.Unmarshal(body, &m)
206551  	if err != nil {
206552  		return err
206553  	}
206554  	for k, v := range m {
206555  		switch k {
206556  		case "typeProperties":
206557  			if v != nil {
206558  				var untilActivityTypeProperties UntilActivityTypeProperties
206559  				err = json.Unmarshal(*v, &untilActivityTypeProperties)
206560  				if err != nil {
206561  					return err
206562  				}
206563  				ua.UntilActivityTypeProperties = &untilActivityTypeProperties
206564  			}
206565  		default:
206566  			if v != nil {
206567  				var additionalProperties interface{}
206568  				err = json.Unmarshal(*v, &additionalProperties)
206569  				if err != nil {
206570  					return err
206571  				}
206572  				if ua.AdditionalProperties == nil {
206573  					ua.AdditionalProperties = make(map[string]interface{})
206574  				}
206575  				ua.AdditionalProperties[k] = additionalProperties
206576  			}
206577  		case "name":
206578  			if v != nil {
206579  				var name string
206580  				err = json.Unmarshal(*v, &name)
206581  				if err != nil {
206582  					return err
206583  				}
206584  				ua.Name = &name
206585  			}
206586  		case "description":
206587  			if v != nil {
206588  				var description string
206589  				err = json.Unmarshal(*v, &description)
206590  				if err != nil {
206591  					return err
206592  				}
206593  				ua.Description = &description
206594  			}
206595  		case "dependsOn":
206596  			if v != nil {
206597  				var dependsOn []ActivityDependency
206598  				err = json.Unmarshal(*v, &dependsOn)
206599  				if err != nil {
206600  					return err
206601  				}
206602  				ua.DependsOn = &dependsOn
206603  			}
206604  		case "userProperties":
206605  			if v != nil {
206606  				var userProperties []UserProperty
206607  				err = json.Unmarshal(*v, &userProperties)
206608  				if err != nil {
206609  					return err
206610  				}
206611  				ua.UserProperties = &userProperties
206612  			}
206613  		case "type":
206614  			if v != nil {
206615  				var typeVar TypeBasicActivity
206616  				err = json.Unmarshal(*v, &typeVar)
206617  				if err != nil {
206618  					return err
206619  				}
206620  				ua.Type = typeVar
206621  			}
206622  		}
206623  	}
206624  
206625  	return nil
206626  }
206627  
206628  // UntilActivityTypeProperties until activity properties.
206629  type UntilActivityTypeProperties struct {
206630  	// Expression - An expression that would evaluate to Boolean. The loop will continue until this expression evaluates to true
206631  	Expression *Expression `json:"expression,omitempty"`
206632  	// 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])).
206633  	Timeout interface{} `json:"timeout,omitempty"`
206634  	// Activities - List of activities to execute.
206635  	Activities *[]BasicActivity `json:"activities,omitempty"`
206636  }
206637  
206638  // UnmarshalJSON is the custom unmarshaler for UntilActivityTypeProperties struct.
206639  func (uatp *UntilActivityTypeProperties) UnmarshalJSON(body []byte) error {
206640  	var m map[string]*json.RawMessage
206641  	err := json.Unmarshal(body, &m)
206642  	if err != nil {
206643  		return err
206644  	}
206645  	for k, v := range m {
206646  		switch k {
206647  		case "expression":
206648  			if v != nil {
206649  				var expression Expression
206650  				err = json.Unmarshal(*v, &expression)
206651  				if err != nil {
206652  					return err
206653  				}
206654  				uatp.Expression = &expression
206655  			}
206656  		case "timeout":
206657  			if v != nil {
206658  				var timeout interface{}
206659  				err = json.Unmarshal(*v, &timeout)
206660  				if err != nil {
206661  					return err
206662  				}
206663  				uatp.Timeout = timeout
206664  			}
206665  		case "activities":
206666  			if v != nil {
206667  				activities, err := unmarshalBasicActivityArray(*v)
206668  				if err != nil {
206669  					return err
206670  				}
206671  				uatp.Activities = &activities
206672  			}
206673  		}
206674  	}
206675  
206676  	return nil
206677  }
206678  
206679  // UserProperty user property.
206680  type UserProperty struct {
206681  	// Name - User property name.
206682  	Name *string `json:"name,omitempty"`
206683  	// Value - User property value. Type: string (or Expression with resultType string).
206684  	Value interface{} `json:"value,omitempty"`
206685  }
206686  
206687  // ValidationActivity this activity verifies that an external resource exists.
206688  type ValidationActivity struct {
206689  	// ValidationActivityTypeProperties - Validation activity properties.
206690  	*ValidationActivityTypeProperties `json:"typeProperties,omitempty"`
206691  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
206692  	AdditionalProperties map[string]interface{} `json:""`
206693  	// Name - Activity name.
206694  	Name *string `json:"name,omitempty"`
206695  	// Description - Activity description.
206696  	Description *string `json:"description,omitempty"`
206697  	// DependsOn - Activity depends on condition.
206698  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
206699  	// UserProperties - Activity user properties.
206700  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
206701  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
206702  	Type TypeBasicActivity `json:"type,omitempty"`
206703  }
206704  
206705  // MarshalJSON is the custom marshaler for ValidationActivity.
206706  func (va ValidationActivity) MarshalJSON() ([]byte, error) {
206707  	va.Type = TypeValidation
206708  	objectMap := make(map[string]interface{})
206709  	if va.ValidationActivityTypeProperties != nil {
206710  		objectMap["typeProperties"] = va.ValidationActivityTypeProperties
206711  	}
206712  	if va.Name != nil {
206713  		objectMap["name"] = va.Name
206714  	}
206715  	if va.Description != nil {
206716  		objectMap["description"] = va.Description
206717  	}
206718  	if va.DependsOn != nil {
206719  		objectMap["dependsOn"] = va.DependsOn
206720  	}
206721  	if va.UserProperties != nil {
206722  		objectMap["userProperties"] = va.UserProperties
206723  	}
206724  	if va.Type != "" {
206725  		objectMap["type"] = va.Type
206726  	}
206727  	for k, v := range va.AdditionalProperties {
206728  		objectMap[k] = v
206729  	}
206730  	return json.Marshal(objectMap)
206731  }
206732  
206733  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for ValidationActivity.
206734  func (va ValidationActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
206735  	return nil, false
206736  }
206737  
206738  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for ValidationActivity.
206739  func (va ValidationActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
206740  	return nil, false
206741  }
206742  
206743  // AsSynapseNotebookActivity is the BasicActivity implementation for ValidationActivity.
206744  func (va ValidationActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
206745  	return nil, false
206746  }
206747  
206748  // AsExecuteDataFlowActivity is the BasicActivity implementation for ValidationActivity.
206749  func (va ValidationActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
206750  	return nil, false
206751  }
206752  
206753  // AsAzureFunctionActivity is the BasicActivity implementation for ValidationActivity.
206754  func (va ValidationActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
206755  	return nil, false
206756  }
206757  
206758  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for ValidationActivity.
206759  func (va ValidationActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
206760  	return nil, false
206761  }
206762  
206763  // AsDatabricksSparkJarActivity is the BasicActivity implementation for ValidationActivity.
206764  func (va ValidationActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
206765  	return nil, false
206766  }
206767  
206768  // AsDatabricksNotebookActivity is the BasicActivity implementation for ValidationActivity.
206769  func (va ValidationActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
206770  	return nil, false
206771  }
206772  
206773  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ValidationActivity.
206774  func (va ValidationActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
206775  	return nil, false
206776  }
206777  
206778  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ValidationActivity.
206779  func (va ValidationActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
206780  	return nil, false
206781  }
206782  
206783  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ValidationActivity.
206784  func (va ValidationActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
206785  	return nil, false
206786  }
206787  
206788  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ValidationActivity.
206789  func (va ValidationActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
206790  	return nil, false
206791  }
206792  
206793  // AsGetMetadataActivity is the BasicActivity implementation for ValidationActivity.
206794  func (va ValidationActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
206795  	return nil, false
206796  }
206797  
206798  // AsWebActivity is the BasicActivity implementation for ValidationActivity.
206799  func (va ValidationActivity) AsWebActivity() (*WebActivity, bool) {
206800  	return nil, false
206801  }
206802  
206803  // AsLookupActivity is the BasicActivity implementation for ValidationActivity.
206804  func (va ValidationActivity) AsLookupActivity() (*LookupActivity, bool) {
206805  	return nil, false
206806  }
206807  
206808  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ValidationActivity.
206809  func (va ValidationActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
206810  	return nil, false
206811  }
206812  
206813  // AsDeleteActivity is the BasicActivity implementation for ValidationActivity.
206814  func (va ValidationActivity) AsDeleteActivity() (*DeleteActivity, bool) {
206815  	return nil, false
206816  }
206817  
206818  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ValidationActivity.
206819  func (va ValidationActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
206820  	return nil, false
206821  }
206822  
206823  // AsCustomActivity is the BasicActivity implementation for ValidationActivity.
206824  func (va ValidationActivity) AsCustomActivity() (*CustomActivity, bool) {
206825  	return nil, false
206826  }
206827  
206828  // AsExecuteSSISPackageActivity is the BasicActivity implementation for ValidationActivity.
206829  func (va ValidationActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
206830  	return nil, false
206831  }
206832  
206833  // AsHDInsightSparkActivity is the BasicActivity implementation for ValidationActivity.
206834  func (va ValidationActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
206835  	return nil, false
206836  }
206837  
206838  // AsHDInsightStreamingActivity is the BasicActivity implementation for ValidationActivity.
206839  func (va ValidationActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
206840  	return nil, false
206841  }
206842  
206843  // AsHDInsightMapReduceActivity is the BasicActivity implementation for ValidationActivity.
206844  func (va ValidationActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
206845  	return nil, false
206846  }
206847  
206848  // AsHDInsightPigActivity is the BasicActivity implementation for ValidationActivity.
206849  func (va ValidationActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
206850  	return nil, false
206851  }
206852  
206853  // AsHDInsightHiveActivity is the BasicActivity implementation for ValidationActivity.
206854  func (va ValidationActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
206855  	return nil, false
206856  }
206857  
206858  // AsCopyActivity is the BasicActivity implementation for ValidationActivity.
206859  func (va ValidationActivity) AsCopyActivity() (*CopyActivity, bool) {
206860  	return nil, false
206861  }
206862  
206863  // AsExecutionActivity is the BasicActivity implementation for ValidationActivity.
206864  func (va ValidationActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
206865  	return nil, false
206866  }
206867  
206868  // AsBasicExecutionActivity is the BasicActivity implementation for ValidationActivity.
206869  func (va ValidationActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
206870  	return nil, false
206871  }
206872  
206873  // AsWebHookActivity is the BasicActivity implementation for ValidationActivity.
206874  func (va ValidationActivity) AsWebHookActivity() (*WebHookActivity, bool) {
206875  	return nil, false
206876  }
206877  
206878  // AsAppendVariableActivity is the BasicActivity implementation for ValidationActivity.
206879  func (va ValidationActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
206880  	return nil, false
206881  }
206882  
206883  // AsSetVariableActivity is the BasicActivity implementation for ValidationActivity.
206884  func (va ValidationActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
206885  	return nil, false
206886  }
206887  
206888  // AsFilterActivity is the BasicActivity implementation for ValidationActivity.
206889  func (va ValidationActivity) AsFilterActivity() (*FilterActivity, bool) {
206890  	return nil, false
206891  }
206892  
206893  // AsValidationActivity is the BasicActivity implementation for ValidationActivity.
206894  func (va ValidationActivity) AsValidationActivity() (*ValidationActivity, bool) {
206895  	return &va, true
206896  }
206897  
206898  // AsUntilActivity is the BasicActivity implementation for ValidationActivity.
206899  func (va ValidationActivity) AsUntilActivity() (*UntilActivity, bool) {
206900  	return nil, false
206901  }
206902  
206903  // AsWaitActivity is the BasicActivity implementation for ValidationActivity.
206904  func (va ValidationActivity) AsWaitActivity() (*WaitActivity, bool) {
206905  	return nil, false
206906  }
206907  
206908  // AsForEachActivity is the BasicActivity implementation for ValidationActivity.
206909  func (va ValidationActivity) AsForEachActivity() (*ForEachActivity, bool) {
206910  	return nil, false
206911  }
206912  
206913  // AsSwitchActivity is the BasicActivity implementation for ValidationActivity.
206914  func (va ValidationActivity) AsSwitchActivity() (*SwitchActivity, bool) {
206915  	return nil, false
206916  }
206917  
206918  // AsIfConditionActivity is the BasicActivity implementation for ValidationActivity.
206919  func (va ValidationActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
206920  	return nil, false
206921  }
206922  
206923  // AsExecutePipelineActivity is the BasicActivity implementation for ValidationActivity.
206924  func (va ValidationActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
206925  	return nil, false
206926  }
206927  
206928  // AsControlActivity is the BasicActivity implementation for ValidationActivity.
206929  func (va ValidationActivity) AsControlActivity() (*ControlActivity, bool) {
206930  	return nil, false
206931  }
206932  
206933  // AsBasicControlActivity is the BasicActivity implementation for ValidationActivity.
206934  func (va ValidationActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
206935  	return &va, true
206936  }
206937  
206938  // AsActivity is the BasicActivity implementation for ValidationActivity.
206939  func (va ValidationActivity) AsActivity() (*Activity, bool) {
206940  	return nil, false
206941  }
206942  
206943  // AsBasicActivity is the BasicActivity implementation for ValidationActivity.
206944  func (va ValidationActivity) AsBasicActivity() (BasicActivity, bool) {
206945  	return &va, true
206946  }
206947  
206948  // UnmarshalJSON is the custom unmarshaler for ValidationActivity struct.
206949  func (va *ValidationActivity) UnmarshalJSON(body []byte) error {
206950  	var m map[string]*json.RawMessage
206951  	err := json.Unmarshal(body, &m)
206952  	if err != nil {
206953  		return err
206954  	}
206955  	for k, v := range m {
206956  		switch k {
206957  		case "typeProperties":
206958  			if v != nil {
206959  				var validationActivityTypeProperties ValidationActivityTypeProperties
206960  				err = json.Unmarshal(*v, &validationActivityTypeProperties)
206961  				if err != nil {
206962  					return err
206963  				}
206964  				va.ValidationActivityTypeProperties = &validationActivityTypeProperties
206965  			}
206966  		default:
206967  			if v != nil {
206968  				var additionalProperties interface{}
206969  				err = json.Unmarshal(*v, &additionalProperties)
206970  				if err != nil {
206971  					return err
206972  				}
206973  				if va.AdditionalProperties == nil {
206974  					va.AdditionalProperties = make(map[string]interface{})
206975  				}
206976  				va.AdditionalProperties[k] = additionalProperties
206977  			}
206978  		case "name":
206979  			if v != nil {
206980  				var name string
206981  				err = json.Unmarshal(*v, &name)
206982  				if err != nil {
206983  					return err
206984  				}
206985  				va.Name = &name
206986  			}
206987  		case "description":
206988  			if v != nil {
206989  				var description string
206990  				err = json.Unmarshal(*v, &description)
206991  				if err != nil {
206992  					return err
206993  				}
206994  				va.Description = &description
206995  			}
206996  		case "dependsOn":
206997  			if v != nil {
206998  				var dependsOn []ActivityDependency
206999  				err = json.Unmarshal(*v, &dependsOn)
207000  				if err != nil {
207001  					return err
207002  				}
207003  				va.DependsOn = &dependsOn
207004  			}
207005  		case "userProperties":
207006  			if v != nil {
207007  				var userProperties []UserProperty
207008  				err = json.Unmarshal(*v, &userProperties)
207009  				if err != nil {
207010  					return err
207011  				}
207012  				va.UserProperties = &userProperties
207013  			}
207014  		case "type":
207015  			if v != nil {
207016  				var typeVar TypeBasicActivity
207017  				err = json.Unmarshal(*v, &typeVar)
207018  				if err != nil {
207019  					return err
207020  				}
207021  				va.Type = typeVar
207022  			}
207023  		}
207024  	}
207025  
207026  	return nil
207027  }
207028  
207029  // ValidationActivityTypeProperties validation activity properties.
207030  type ValidationActivityTypeProperties struct {
207031  	// 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])).
207032  	Timeout interface{} `json:"timeout,omitempty"`
207033  	// 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).
207034  	Sleep interface{} `json:"sleep,omitempty"`
207035  	// 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).
207036  	MinimumSize interface{} `json:"minimumSize,omitempty"`
207037  	// 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).
207038  	ChildItems interface{} `json:"childItems,omitempty"`
207039  	// Dataset - Validation activity dataset reference.
207040  	Dataset *DatasetReference `json:"dataset,omitempty"`
207041  }
207042  
207043  // VariableSpecification definition of a single variable for a Pipeline.
207044  type VariableSpecification struct {
207045  	// Type - Variable type. Possible values include: 'VariableTypeString', 'VariableTypeBool', 'VariableTypeBoolean', 'VariableTypeArray'
207046  	Type VariableType `json:"type,omitempty"`
207047  	// DefaultValue - Default value of variable.
207048  	DefaultValue interface{} `json:"defaultValue,omitempty"`
207049  }
207050  
207051  // VerticaDatasetTypeProperties vertica Properties
207052  type VerticaDatasetTypeProperties struct {
207053  	// TableName - This property will be retired. Please consider using schema + table properties instead.
207054  	TableName interface{} `json:"tableName,omitempty"`
207055  	// Table - The table name of the Vertica. Type: string (or Expression with resultType string).
207056  	Table interface{} `json:"table,omitempty"`
207057  	// Schema - The schema name of the Vertica. Type: string (or Expression with resultType string).
207058  	Schema interface{} `json:"schema,omitempty"`
207059  }
207060  
207061  // VerticaLinkedService vertica linked service.
207062  type VerticaLinkedService struct {
207063  	// VerticaLinkedServiceTypeProperties - Vertica linked service properties.
207064  	*VerticaLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
207065  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
207066  	AdditionalProperties map[string]interface{} `json:""`
207067  	// ConnectVia - The integration runtime reference.
207068  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
207069  	// Description - Linked service description.
207070  	Description *string `json:"description,omitempty"`
207071  	// Parameters - Parameters for linked service.
207072  	Parameters map[string]*ParameterSpecification `json:"parameters"`
207073  	// Annotations - List of tags that can be used for describing the linked service.
207074  	Annotations *[]interface{} `json:"annotations,omitempty"`
207075  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
207076  	Type TypeBasicLinkedService `json:"type,omitempty"`
207077  }
207078  
207079  // MarshalJSON is the custom marshaler for VerticaLinkedService.
207080  func (vls VerticaLinkedService) MarshalJSON() ([]byte, error) {
207081  	vls.Type = TypeVertica
207082  	objectMap := make(map[string]interface{})
207083  	if vls.VerticaLinkedServiceTypeProperties != nil {
207084  		objectMap["typeProperties"] = vls.VerticaLinkedServiceTypeProperties
207085  	}
207086  	if vls.ConnectVia != nil {
207087  		objectMap["connectVia"] = vls.ConnectVia
207088  	}
207089  	if vls.Description != nil {
207090  		objectMap["description"] = vls.Description
207091  	}
207092  	if vls.Parameters != nil {
207093  		objectMap["parameters"] = vls.Parameters
207094  	}
207095  	if vls.Annotations != nil {
207096  		objectMap["annotations"] = vls.Annotations
207097  	}
207098  	if vls.Type != "" {
207099  		objectMap["type"] = vls.Type
207100  	}
207101  	for k, v := range vls.AdditionalProperties {
207102  		objectMap[k] = v
207103  	}
207104  	return json.Marshal(objectMap)
207105  }
207106  
207107  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207108  func (vls VerticaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
207109  	return nil, false
207110  }
207111  
207112  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207113  func (vls VerticaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
207114  	return nil, false
207115  }
207116  
207117  // AsSapTableLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207118  func (vls VerticaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
207119  	return nil, false
207120  }
207121  
207122  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207123  func (vls VerticaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
207124  	return nil, false
207125  }
207126  
207127  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207128  func (vls VerticaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
207129  	return nil, false
207130  }
207131  
207132  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207133  func (vls VerticaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
207134  	return nil, false
207135  }
207136  
207137  // AsResponsysLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207138  func (vls VerticaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
207139  	return nil, false
207140  }
207141  
207142  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207143  func (vls VerticaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
207144  	return nil, false
207145  }
207146  
207147  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207148  func (vls VerticaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
207149  	return nil, false
207150  }
207151  
207152  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207153  func (vls VerticaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
207154  	return nil, false
207155  }
207156  
207157  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207158  func (vls VerticaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
207159  	return nil, false
207160  }
207161  
207162  // AsNetezzaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207163  func (vls VerticaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
207164  	return nil, false
207165  }
207166  
207167  // AsVerticaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207168  func (vls VerticaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
207169  	return &vls, true
207170  }
207171  
207172  // AsZohoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207173  func (vls VerticaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
207174  	return nil, false
207175  }
207176  
207177  // AsXeroLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207178  func (vls VerticaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
207179  	return nil, false
207180  }
207181  
207182  // AsSquareLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207183  func (vls VerticaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
207184  	return nil, false
207185  }
207186  
207187  // AsSparkLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207188  func (vls VerticaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
207189  	return nil, false
207190  }
207191  
207192  // AsShopifyLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207193  func (vls VerticaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
207194  	return nil, false
207195  }
207196  
207197  // AsServiceNowLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207198  func (vls VerticaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
207199  	return nil, false
207200  }
207201  
207202  // AsQuickBooksLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207203  func (vls VerticaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
207204  	return nil, false
207205  }
207206  
207207  // AsPrestoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207208  func (vls VerticaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
207209  	return nil, false
207210  }
207211  
207212  // AsPhoenixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207213  func (vls VerticaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
207214  	return nil, false
207215  }
207216  
207217  // AsPaypalLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207218  func (vls VerticaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
207219  	return nil, false
207220  }
207221  
207222  // AsMarketoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207223  func (vls VerticaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
207224  	return nil, false
207225  }
207226  
207227  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207228  func (vls VerticaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
207229  	return nil, false
207230  }
207231  
207232  // AsMariaDBLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207233  func (vls VerticaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
207234  	return nil, false
207235  }
207236  
207237  // AsMagentoLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207238  func (vls VerticaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
207239  	return nil, false
207240  }
207241  
207242  // AsJiraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207243  func (vls VerticaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
207244  	return nil, false
207245  }
207246  
207247  // AsImpalaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207248  func (vls VerticaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
207249  	return nil, false
207250  }
207251  
207252  // AsHubspotLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207253  func (vls VerticaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
207254  	return nil, false
207255  }
207256  
207257  // AsHiveLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207258  func (vls VerticaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
207259  	return nil, false
207260  }
207261  
207262  // AsHBaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207263  func (vls VerticaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
207264  	return nil, false
207265  }
207266  
207267  // AsGreenplumLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207268  func (vls VerticaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
207269  	return nil, false
207270  }
207271  
207272  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207273  func (vls VerticaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
207274  	return nil, false
207275  }
207276  
207277  // AsEloquaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207278  func (vls VerticaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
207279  	return nil, false
207280  }
207281  
207282  // AsDrillLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207283  func (vls VerticaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
207284  	return nil, false
207285  }
207286  
207287  // AsCouchbaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207288  func (vls VerticaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
207289  	return nil, false
207290  }
207291  
207292  // AsConcurLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207293  func (vls VerticaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
207294  	return nil, false
207295  }
207296  
207297  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207298  func (vls VerticaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
207299  	return nil, false
207300  }
207301  
207302  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207303  func (vls VerticaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
207304  	return nil, false
207305  }
207306  
207307  // AsSapHanaLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207308  func (vls VerticaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
207309  	return nil, false
207310  }
207311  
207312  // AsSapBWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207313  func (vls VerticaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
207314  	return nil, false
207315  }
207316  
207317  // AsSftpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207318  func (vls VerticaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
207319  	return nil, false
207320  }
207321  
207322  // AsFtpServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207323  func (vls VerticaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
207324  	return nil, false
207325  }
207326  
207327  // AsHTTPLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207328  func (vls VerticaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
207329  	return nil, false
207330  }
207331  
207332  // AsAzureSearchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207333  func (vls VerticaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
207334  	return nil, false
207335  }
207336  
207337  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207338  func (vls VerticaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
207339  	return nil, false
207340  }
207341  
207342  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207343  func (vls VerticaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
207344  	return nil, false
207345  }
207346  
207347  // AsAmazonS3LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207348  func (vls VerticaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
207349  	return nil, false
207350  }
207351  
207352  // AsRestServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207353  func (vls VerticaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
207354  	return nil, false
207355  }
207356  
207357  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207358  func (vls VerticaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
207359  	return nil, false
207360  }
207361  
207362  // AsSapEccLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207363  func (vls VerticaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
207364  	return nil, false
207365  }
207366  
207367  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207368  func (vls VerticaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
207369  	return nil, false
207370  }
207371  
207372  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207373  func (vls VerticaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
207374  	return nil, false
207375  }
207376  
207377  // AsSalesforceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207378  func (vls VerticaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
207379  	return nil, false
207380  }
207381  
207382  // AsOffice365LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207383  func (vls VerticaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
207384  	return nil, false
207385  }
207386  
207387  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207388  func (vls VerticaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
207389  	return nil, false
207390  }
207391  
207392  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207393  func (vls VerticaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
207394  	return nil, false
207395  }
207396  
207397  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207398  func (vls VerticaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
207399  	return nil, false
207400  }
207401  
207402  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207403  func (vls VerticaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
207404  	return nil, false
207405  }
207406  
207407  // AsMongoDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207408  func (vls VerticaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
207409  	return nil, false
207410  }
207411  
207412  // AsCassandraLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207413  func (vls VerticaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
207414  	return nil, false
207415  }
207416  
207417  // AsWebLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207418  func (vls VerticaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
207419  	return nil, false
207420  }
207421  
207422  // AsODataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207423  func (vls VerticaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
207424  	return nil, false
207425  }
207426  
207427  // AsHdfsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207428  func (vls VerticaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
207429  	return nil, false
207430  }
207431  
207432  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207433  func (vls VerticaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
207434  	return nil, false
207435  }
207436  
207437  // AsInformixLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207438  func (vls VerticaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
207439  	return nil, false
207440  }
207441  
207442  // AsOdbcLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207443  func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
207444  	return nil, false
207445  }
207446  
207447  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207448  func (vls VerticaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
207449  	return nil, false
207450  }
207451  
207452  // AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207453  func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
207454  	return nil, false
207455  }
207456  
207457  // AsTeradataLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207458  func (vls VerticaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
207459  	return nil, false
207460  }
207461  
207462  // AsDb2LinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207463  func (vls VerticaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
207464  	return nil, false
207465  }
207466  
207467  // AsSybaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207468  func (vls VerticaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
207469  	return nil, false
207470  }
207471  
207472  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207473  func (vls VerticaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
207474  	return nil, false
207475  }
207476  
207477  // AsMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207478  func (vls VerticaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
207479  	return nil, false
207480  }
207481  
207482  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207483  func (vls VerticaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
207484  	return nil, false
207485  }
207486  
207487  // AsOracleLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207488  func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
207489  	return nil, false
207490  }
207491  
207492  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207493  func (vls VerticaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
207494  	return nil, false
207495  }
207496  
207497  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207498  func (vls VerticaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
207499  	return nil, false
207500  }
207501  
207502  // AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207503  func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
207504  	return nil, false
207505  }
207506  
207507  // AsHDInsightLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207508  func (vls VerticaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
207509  	return nil, false
207510  }
207511  
207512  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207513  func (vls VerticaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
207514  	return nil, false
207515  }
207516  
207517  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207518  func (vls VerticaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
207519  	return nil, false
207520  }
207521  
207522  // AsDynamicsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207523  func (vls VerticaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
207524  	return nil, false
207525  }
207526  
207527  // AsCosmosDbLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207528  func (vls VerticaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
207529  	return nil, false
207530  }
207531  
207532  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207533  func (vls VerticaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
207534  	return nil, false
207535  }
207536  
207537  // AsAzureBatchLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207538  func (vls VerticaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
207539  	return nil, false
207540  }
207541  
207542  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207543  func (vls VerticaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
207544  	return nil, false
207545  }
207546  
207547  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207548  func (vls VerticaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
207549  	return nil, false
207550  }
207551  
207552  // AsSQLServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207553  func (vls VerticaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
207554  	return nil, false
207555  }
207556  
207557  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207558  func (vls VerticaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
207559  	return nil, false
207560  }
207561  
207562  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207563  func (vls VerticaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
207564  	return nil, false
207565  }
207566  
207567  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207568  func (vls VerticaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
207569  	return nil, false
207570  }
207571  
207572  // AsAzureStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207573  func (vls VerticaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
207574  	return nil, false
207575  }
207576  
207577  // AsLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207578  func (vls VerticaLinkedService) AsLinkedService() (*LinkedService, bool) {
207579  	return nil, false
207580  }
207581  
207582  // AsBasicLinkedService is the BasicLinkedService implementation for VerticaLinkedService.
207583  func (vls VerticaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
207584  	return &vls, true
207585  }
207586  
207587  // UnmarshalJSON is the custom unmarshaler for VerticaLinkedService struct.
207588  func (vls *VerticaLinkedService) UnmarshalJSON(body []byte) error {
207589  	var m map[string]*json.RawMessage
207590  	err := json.Unmarshal(body, &m)
207591  	if err != nil {
207592  		return err
207593  	}
207594  	for k, v := range m {
207595  		switch k {
207596  		case "typeProperties":
207597  			if v != nil {
207598  				var verticaLinkedServiceTypeProperties VerticaLinkedServiceTypeProperties
207599  				err = json.Unmarshal(*v, &verticaLinkedServiceTypeProperties)
207600  				if err != nil {
207601  					return err
207602  				}
207603  				vls.VerticaLinkedServiceTypeProperties = &verticaLinkedServiceTypeProperties
207604  			}
207605  		default:
207606  			if v != nil {
207607  				var additionalProperties interface{}
207608  				err = json.Unmarshal(*v, &additionalProperties)
207609  				if err != nil {
207610  					return err
207611  				}
207612  				if vls.AdditionalProperties == nil {
207613  					vls.AdditionalProperties = make(map[string]interface{})
207614  				}
207615  				vls.AdditionalProperties[k] = additionalProperties
207616  			}
207617  		case "connectVia":
207618  			if v != nil {
207619  				var connectVia IntegrationRuntimeReference
207620  				err = json.Unmarshal(*v, &connectVia)
207621  				if err != nil {
207622  					return err
207623  				}
207624  				vls.ConnectVia = &connectVia
207625  			}
207626  		case "description":
207627  			if v != nil {
207628  				var description string
207629  				err = json.Unmarshal(*v, &description)
207630  				if err != nil {
207631  					return err
207632  				}
207633  				vls.Description = &description
207634  			}
207635  		case "parameters":
207636  			if v != nil {
207637  				var parameters map[string]*ParameterSpecification
207638  				err = json.Unmarshal(*v, &parameters)
207639  				if err != nil {
207640  					return err
207641  				}
207642  				vls.Parameters = parameters
207643  			}
207644  		case "annotations":
207645  			if v != nil {
207646  				var annotations []interface{}
207647  				err = json.Unmarshal(*v, &annotations)
207648  				if err != nil {
207649  					return err
207650  				}
207651  				vls.Annotations = &annotations
207652  			}
207653  		case "type":
207654  			if v != nil {
207655  				var typeVar TypeBasicLinkedService
207656  				err = json.Unmarshal(*v, &typeVar)
207657  				if err != nil {
207658  					return err
207659  				}
207660  				vls.Type = typeVar
207661  			}
207662  		}
207663  	}
207664  
207665  	return nil
207666  }
207667  
207668  // VerticaLinkedServiceTypeProperties vertica linked service properties.
207669  type VerticaLinkedServiceTypeProperties struct {
207670  	// ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
207671  	ConnectionString interface{} `json:"connectionString,omitempty"`
207672  	// Pwd - The Azure key vault secret reference of password in connection string.
207673  	Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"`
207674  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
207675  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
207676  }
207677  
207678  // VerticaSource a copy activity Vertica source.
207679  type VerticaSource struct {
207680  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
207681  	Query interface{} `json:"query,omitempty"`
207682  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
207683  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
207684  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
207685  	AdditionalProperties map[string]interface{} `json:""`
207686  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
207687  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
207688  	// 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])).
207689  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
207690  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
207691  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
207692  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
207693  	Type TypeBasicCopySource `json:"type,omitempty"`
207694  }
207695  
207696  // MarshalJSON is the custom marshaler for VerticaSource.
207697  func (vs VerticaSource) MarshalJSON() ([]byte, error) {
207698  	vs.Type = TypeVerticaSource
207699  	objectMap := make(map[string]interface{})
207700  	if vs.Query != nil {
207701  		objectMap["query"] = vs.Query
207702  	}
207703  	if vs.QueryTimeout != nil {
207704  		objectMap["queryTimeout"] = vs.QueryTimeout
207705  	}
207706  	if vs.SourceRetryCount != nil {
207707  		objectMap["sourceRetryCount"] = vs.SourceRetryCount
207708  	}
207709  	if vs.SourceRetryWait != nil {
207710  		objectMap["sourceRetryWait"] = vs.SourceRetryWait
207711  	}
207712  	if vs.MaxConcurrentConnections != nil {
207713  		objectMap["maxConcurrentConnections"] = vs.MaxConcurrentConnections
207714  	}
207715  	if vs.Type != "" {
207716  		objectMap["type"] = vs.Type
207717  	}
207718  	for k, v := range vs.AdditionalProperties {
207719  		objectMap[k] = v
207720  	}
207721  	return json.Marshal(objectMap)
207722  }
207723  
207724  // AsHTTPSource is the BasicCopySource implementation for VerticaSource.
207725  func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) {
207726  	return nil, false
207727  }
207728  
207729  // AsAzureBlobFSSource is the BasicCopySource implementation for VerticaSource.
207730  func (vs VerticaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
207731  	return nil, false
207732  }
207733  
207734  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource.
207735  func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
207736  	return nil, false
207737  }
207738  
207739  // AsOffice365Source is the BasicCopySource implementation for VerticaSource.
207740  func (vs VerticaSource) AsOffice365Source() (*Office365Source, bool) {
207741  	return nil, false
207742  }
207743  
207744  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for VerticaSource.
207745  func (vs VerticaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
207746  	return nil, false
207747  }
207748  
207749  // AsMongoDbV2Source is the BasicCopySource implementation for VerticaSource.
207750  func (vs VerticaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
207751  	return nil, false
207752  }
207753  
207754  // AsMongoDbSource is the BasicCopySource implementation for VerticaSource.
207755  func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) {
207756  	return nil, false
207757  }
207758  
207759  // AsWebSource is the BasicCopySource implementation for VerticaSource.
207760  func (vs VerticaSource) AsWebSource() (*WebSource, bool) {
207761  	return nil, false
207762  }
207763  
207764  // AsOracleSource is the BasicCopySource implementation for VerticaSource.
207765  func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) {
207766  	return nil, false
207767  }
207768  
207769  // AsAzureDataExplorerSource is the BasicCopySource implementation for VerticaSource.
207770  func (vs VerticaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
207771  	return nil, false
207772  }
207773  
207774  // AsHdfsSource is the BasicCopySource implementation for VerticaSource.
207775  func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) {
207776  	return nil, false
207777  }
207778  
207779  // AsFileSystemSource is the BasicCopySource implementation for VerticaSource.
207780  func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) {
207781  	return nil, false
207782  }
207783  
207784  // AsRestSource is the BasicCopySource implementation for VerticaSource.
207785  func (vs VerticaSource) AsRestSource() (*RestSource, bool) {
207786  	return nil, false
207787  }
207788  
207789  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for VerticaSource.
207790  func (vs VerticaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
207791  	return nil, false
207792  }
207793  
207794  // AsODataSource is the BasicCopySource implementation for VerticaSource.
207795  func (vs VerticaSource) AsODataSource() (*ODataSource, bool) {
207796  	return nil, false
207797  }
207798  
207799  // AsMicrosoftAccessSource is the BasicCopySource implementation for VerticaSource.
207800  func (vs VerticaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
207801  	return nil, false
207802  }
207803  
207804  // AsRelationalSource is the BasicCopySource implementation for VerticaSource.
207805  func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) {
207806  	return nil, false
207807  }
207808  
207809  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for VerticaSource.
207810  func (vs VerticaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
207811  	return nil, false
207812  }
207813  
207814  // AsDynamicsCrmSource is the BasicCopySource implementation for VerticaSource.
207815  func (vs VerticaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
207816  	return nil, false
207817  }
207818  
207819  // AsDynamicsSource is the BasicCopySource implementation for VerticaSource.
207820  func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) {
207821  	return nil, false
207822  }
207823  
207824  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for VerticaSource.
207825  func (vs VerticaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
207826  	return nil, false
207827  }
207828  
207829  // AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource.
207830  func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
207831  	return nil, false
207832  }
207833  
207834  // AsBlobSource is the BasicCopySource implementation for VerticaSource.
207835  func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) {
207836  	return nil, false
207837  }
207838  
207839  // AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource.
207840  func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
207841  	return nil, false
207842  }
207843  
207844  // AsGoogleAdWordsSource is the BasicCopySource implementation for VerticaSource.
207845  func (vs VerticaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
207846  	return nil, false
207847  }
207848  
207849  // AsOracleServiceCloudSource is the BasicCopySource implementation for VerticaSource.
207850  func (vs VerticaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
207851  	return nil, false
207852  }
207853  
207854  // AsDynamicsAXSource is the BasicCopySource implementation for VerticaSource.
207855  func (vs VerticaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
207856  	return nil, false
207857  }
207858  
207859  // AsResponsysSource is the BasicCopySource implementation for VerticaSource.
207860  func (vs VerticaSource) AsResponsysSource() (*ResponsysSource, bool) {
207861  	return nil, false
207862  }
207863  
207864  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for VerticaSource.
207865  func (vs VerticaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
207866  	return nil, false
207867  }
207868  
207869  // AsVerticaSource is the BasicCopySource implementation for VerticaSource.
207870  func (vs VerticaSource) AsVerticaSource() (*VerticaSource, bool) {
207871  	return &vs, true
207872  }
207873  
207874  // AsNetezzaSource is the BasicCopySource implementation for VerticaSource.
207875  func (vs VerticaSource) AsNetezzaSource() (*NetezzaSource, bool) {
207876  	return nil, false
207877  }
207878  
207879  // AsZohoSource is the BasicCopySource implementation for VerticaSource.
207880  func (vs VerticaSource) AsZohoSource() (*ZohoSource, bool) {
207881  	return nil, false
207882  }
207883  
207884  // AsXeroSource is the BasicCopySource implementation for VerticaSource.
207885  func (vs VerticaSource) AsXeroSource() (*XeroSource, bool) {
207886  	return nil, false
207887  }
207888  
207889  // AsSquareSource is the BasicCopySource implementation for VerticaSource.
207890  func (vs VerticaSource) AsSquareSource() (*SquareSource, bool) {
207891  	return nil, false
207892  }
207893  
207894  // AsSparkSource is the BasicCopySource implementation for VerticaSource.
207895  func (vs VerticaSource) AsSparkSource() (*SparkSource, bool) {
207896  	return nil, false
207897  }
207898  
207899  // AsShopifySource is the BasicCopySource implementation for VerticaSource.
207900  func (vs VerticaSource) AsShopifySource() (*ShopifySource, bool) {
207901  	return nil, false
207902  }
207903  
207904  // AsServiceNowSource is the BasicCopySource implementation for VerticaSource.
207905  func (vs VerticaSource) AsServiceNowSource() (*ServiceNowSource, bool) {
207906  	return nil, false
207907  }
207908  
207909  // AsQuickBooksSource is the BasicCopySource implementation for VerticaSource.
207910  func (vs VerticaSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
207911  	return nil, false
207912  }
207913  
207914  // AsPrestoSource is the BasicCopySource implementation for VerticaSource.
207915  func (vs VerticaSource) AsPrestoSource() (*PrestoSource, bool) {
207916  	return nil, false
207917  }
207918  
207919  // AsPhoenixSource is the BasicCopySource implementation for VerticaSource.
207920  func (vs VerticaSource) AsPhoenixSource() (*PhoenixSource, bool) {
207921  	return nil, false
207922  }
207923  
207924  // AsPaypalSource is the BasicCopySource implementation for VerticaSource.
207925  func (vs VerticaSource) AsPaypalSource() (*PaypalSource, bool) {
207926  	return nil, false
207927  }
207928  
207929  // AsMarketoSource is the BasicCopySource implementation for VerticaSource.
207930  func (vs VerticaSource) AsMarketoSource() (*MarketoSource, bool) {
207931  	return nil, false
207932  }
207933  
207934  // AsAzureMariaDBSource is the BasicCopySource implementation for VerticaSource.
207935  func (vs VerticaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
207936  	return nil, false
207937  }
207938  
207939  // AsMariaDBSource is the BasicCopySource implementation for VerticaSource.
207940  func (vs VerticaSource) AsMariaDBSource() (*MariaDBSource, bool) {
207941  	return nil, false
207942  }
207943  
207944  // AsMagentoSource is the BasicCopySource implementation for VerticaSource.
207945  func (vs VerticaSource) AsMagentoSource() (*MagentoSource, bool) {
207946  	return nil, false
207947  }
207948  
207949  // AsJiraSource is the BasicCopySource implementation for VerticaSource.
207950  func (vs VerticaSource) AsJiraSource() (*JiraSource, bool) {
207951  	return nil, false
207952  }
207953  
207954  // AsImpalaSource is the BasicCopySource implementation for VerticaSource.
207955  func (vs VerticaSource) AsImpalaSource() (*ImpalaSource, bool) {
207956  	return nil, false
207957  }
207958  
207959  // AsHubspotSource is the BasicCopySource implementation for VerticaSource.
207960  func (vs VerticaSource) AsHubspotSource() (*HubspotSource, bool) {
207961  	return nil, false
207962  }
207963  
207964  // AsHiveSource is the BasicCopySource implementation for VerticaSource.
207965  func (vs VerticaSource) AsHiveSource() (*HiveSource, bool) {
207966  	return nil, false
207967  }
207968  
207969  // AsHBaseSource is the BasicCopySource implementation for VerticaSource.
207970  func (vs VerticaSource) AsHBaseSource() (*HBaseSource, bool) {
207971  	return nil, false
207972  }
207973  
207974  // AsGreenplumSource is the BasicCopySource implementation for VerticaSource.
207975  func (vs VerticaSource) AsGreenplumSource() (*GreenplumSource, bool) {
207976  	return nil, false
207977  }
207978  
207979  // AsGoogleBigQuerySource is the BasicCopySource implementation for VerticaSource.
207980  func (vs VerticaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
207981  	return nil, false
207982  }
207983  
207984  // AsEloquaSource is the BasicCopySource implementation for VerticaSource.
207985  func (vs VerticaSource) AsEloquaSource() (*EloquaSource, bool) {
207986  	return nil, false
207987  }
207988  
207989  // AsDrillSource is the BasicCopySource implementation for VerticaSource.
207990  func (vs VerticaSource) AsDrillSource() (*DrillSource, bool) {
207991  	return nil, false
207992  }
207993  
207994  // AsCouchbaseSource is the BasicCopySource implementation for VerticaSource.
207995  func (vs VerticaSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
207996  	return nil, false
207997  }
207998  
207999  // AsConcurSource is the BasicCopySource implementation for VerticaSource.
208000  func (vs VerticaSource) AsConcurSource() (*ConcurSource, bool) {
208001  	return nil, false
208002  }
208003  
208004  // AsAzurePostgreSQLSource is the BasicCopySource implementation for VerticaSource.
208005  func (vs VerticaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
208006  	return nil, false
208007  }
208008  
208009  // AsAmazonMWSSource is the BasicCopySource implementation for VerticaSource.
208010  func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
208011  	return nil, false
208012  }
208013  
208014  // AsCassandraSource is the BasicCopySource implementation for VerticaSource.
208015  func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) {
208016  	return nil, false
208017  }
208018  
208019  // AsTeradataSource is the BasicCopySource implementation for VerticaSource.
208020  func (vs VerticaSource) AsTeradataSource() (*TeradataSource, bool) {
208021  	return nil, false
208022  }
208023  
208024  // AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource.
208025  func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
208026  	return nil, false
208027  }
208028  
208029  // AsSQLDWSource is the BasicCopySource implementation for VerticaSource.
208030  func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) {
208031  	return nil, false
208032  }
208033  
208034  // AsSQLMISource is the BasicCopySource implementation for VerticaSource.
208035  func (vs VerticaSource) AsSQLMISource() (*SQLMISource, bool) {
208036  	return nil, false
208037  }
208038  
208039  // AsAzureSQLSource is the BasicCopySource implementation for VerticaSource.
208040  func (vs VerticaSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
208041  	return nil, false
208042  }
208043  
208044  // AsSQLServerSource is the BasicCopySource implementation for VerticaSource.
208045  func (vs VerticaSource) AsSQLServerSource() (*SQLServerSource, bool) {
208046  	return nil, false
208047  }
208048  
208049  // AsSQLSource is the BasicCopySource implementation for VerticaSource.
208050  func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) {
208051  	return nil, false
208052  }
208053  
208054  // AsSapTableSource is the BasicCopySource implementation for VerticaSource.
208055  func (vs VerticaSource) AsSapTableSource() (*SapTableSource, bool) {
208056  	return nil, false
208057  }
208058  
208059  // AsSapOpenHubSource is the BasicCopySource implementation for VerticaSource.
208060  func (vs VerticaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
208061  	return nil, false
208062  }
208063  
208064  // AsSapHanaSource is the BasicCopySource implementation for VerticaSource.
208065  func (vs VerticaSource) AsSapHanaSource() (*SapHanaSource, bool) {
208066  	return nil, false
208067  }
208068  
208069  // AsSapEccSource is the BasicCopySource implementation for VerticaSource.
208070  func (vs VerticaSource) AsSapEccSource() (*SapEccSource, bool) {
208071  	return nil, false
208072  }
208073  
208074  // AsSapCloudForCustomerSource is the BasicCopySource implementation for VerticaSource.
208075  func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
208076  	return nil, false
208077  }
208078  
208079  // AsSalesforceSource is the BasicCopySource implementation for VerticaSource.
208080  func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) {
208081  	return nil, false
208082  }
208083  
208084  // AsSapBwSource is the BasicCopySource implementation for VerticaSource.
208085  func (vs VerticaSource) AsSapBwSource() (*SapBwSource, bool) {
208086  	return nil, false
208087  }
208088  
208089  // AsSybaseSource is the BasicCopySource implementation for VerticaSource.
208090  func (vs VerticaSource) AsSybaseSource() (*SybaseSource, bool) {
208091  	return nil, false
208092  }
208093  
208094  // AsPostgreSQLSource is the BasicCopySource implementation for VerticaSource.
208095  func (vs VerticaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
208096  	return nil, false
208097  }
208098  
208099  // AsMySQLSource is the BasicCopySource implementation for VerticaSource.
208100  func (vs VerticaSource) AsMySQLSource() (*MySQLSource, bool) {
208101  	return nil, false
208102  }
208103  
208104  // AsOdbcSource is the BasicCopySource implementation for VerticaSource.
208105  func (vs VerticaSource) AsOdbcSource() (*OdbcSource, bool) {
208106  	return nil, false
208107  }
208108  
208109  // AsDb2Source is the BasicCopySource implementation for VerticaSource.
208110  func (vs VerticaSource) AsDb2Source() (*Db2Source, bool) {
208111  	return nil, false
208112  }
208113  
208114  // AsInformixSource is the BasicCopySource implementation for VerticaSource.
208115  func (vs VerticaSource) AsInformixSource() (*InformixSource, bool) {
208116  	return nil, false
208117  }
208118  
208119  // AsAzureTableSource is the BasicCopySource implementation for VerticaSource.
208120  func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) {
208121  	return nil, false
208122  }
208123  
208124  // AsTabularSource is the BasicCopySource implementation for VerticaSource.
208125  func (vs VerticaSource) AsTabularSource() (*TabularSource, bool) {
208126  	return nil, false
208127  }
208128  
208129  // AsBasicTabularSource is the BasicCopySource implementation for VerticaSource.
208130  func (vs VerticaSource) AsBasicTabularSource() (BasicTabularSource, bool) {
208131  	return &vs, true
208132  }
208133  
208134  // AsBinarySource is the BasicCopySource implementation for VerticaSource.
208135  func (vs VerticaSource) AsBinarySource() (*BinarySource, bool) {
208136  	return nil, false
208137  }
208138  
208139  // AsOrcSource is the BasicCopySource implementation for VerticaSource.
208140  func (vs VerticaSource) AsOrcSource() (*OrcSource, bool) {
208141  	return nil, false
208142  }
208143  
208144  // AsJSONSource is the BasicCopySource implementation for VerticaSource.
208145  func (vs VerticaSource) AsJSONSource() (*JSONSource, bool) {
208146  	return nil, false
208147  }
208148  
208149  // AsDelimitedTextSource is the BasicCopySource implementation for VerticaSource.
208150  func (vs VerticaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
208151  	return nil, false
208152  }
208153  
208154  // AsParquetSource is the BasicCopySource implementation for VerticaSource.
208155  func (vs VerticaSource) AsParquetSource() (*ParquetSource, bool) {
208156  	return nil, false
208157  }
208158  
208159  // AsAvroSource is the BasicCopySource implementation for VerticaSource.
208160  func (vs VerticaSource) AsAvroSource() (*AvroSource, bool) {
208161  	return nil, false
208162  }
208163  
208164  // AsCopySource is the BasicCopySource implementation for VerticaSource.
208165  func (vs VerticaSource) AsCopySource() (*CopySource, bool) {
208166  	return nil, false
208167  }
208168  
208169  // AsBasicCopySource is the BasicCopySource implementation for VerticaSource.
208170  func (vs VerticaSource) AsBasicCopySource() (BasicCopySource, bool) {
208171  	return &vs, true
208172  }
208173  
208174  // UnmarshalJSON is the custom unmarshaler for VerticaSource struct.
208175  func (vs *VerticaSource) UnmarshalJSON(body []byte) error {
208176  	var m map[string]*json.RawMessage
208177  	err := json.Unmarshal(body, &m)
208178  	if err != nil {
208179  		return err
208180  	}
208181  	for k, v := range m {
208182  		switch k {
208183  		case "query":
208184  			if v != nil {
208185  				var query interface{}
208186  				err = json.Unmarshal(*v, &query)
208187  				if err != nil {
208188  					return err
208189  				}
208190  				vs.Query = query
208191  			}
208192  		case "queryTimeout":
208193  			if v != nil {
208194  				var queryTimeout interface{}
208195  				err = json.Unmarshal(*v, &queryTimeout)
208196  				if err != nil {
208197  					return err
208198  				}
208199  				vs.QueryTimeout = queryTimeout
208200  			}
208201  		default:
208202  			if v != nil {
208203  				var additionalProperties interface{}
208204  				err = json.Unmarshal(*v, &additionalProperties)
208205  				if err != nil {
208206  					return err
208207  				}
208208  				if vs.AdditionalProperties == nil {
208209  					vs.AdditionalProperties = make(map[string]interface{})
208210  				}
208211  				vs.AdditionalProperties[k] = additionalProperties
208212  			}
208213  		case "sourceRetryCount":
208214  			if v != nil {
208215  				var sourceRetryCount interface{}
208216  				err = json.Unmarshal(*v, &sourceRetryCount)
208217  				if err != nil {
208218  					return err
208219  				}
208220  				vs.SourceRetryCount = sourceRetryCount
208221  			}
208222  		case "sourceRetryWait":
208223  			if v != nil {
208224  				var sourceRetryWait interface{}
208225  				err = json.Unmarshal(*v, &sourceRetryWait)
208226  				if err != nil {
208227  					return err
208228  				}
208229  				vs.SourceRetryWait = sourceRetryWait
208230  			}
208231  		case "maxConcurrentConnections":
208232  			if v != nil {
208233  				var maxConcurrentConnections interface{}
208234  				err = json.Unmarshal(*v, &maxConcurrentConnections)
208235  				if err != nil {
208236  					return err
208237  				}
208238  				vs.MaxConcurrentConnections = maxConcurrentConnections
208239  			}
208240  		case "type":
208241  			if v != nil {
208242  				var typeVar TypeBasicCopySource
208243  				err = json.Unmarshal(*v, &typeVar)
208244  				if err != nil {
208245  					return err
208246  				}
208247  				vs.Type = typeVar
208248  			}
208249  		}
208250  	}
208251  
208252  	return nil
208253  }
208254  
208255  // VerticaTableDataset vertica dataset.
208256  type VerticaTableDataset struct {
208257  	// VerticaDatasetTypeProperties - Properties specific to this dataset type.
208258  	*VerticaDatasetTypeProperties `json:"typeProperties,omitempty"`
208259  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
208260  	AdditionalProperties map[string]interface{} `json:""`
208261  	// Description - Dataset description.
208262  	Description *string `json:"description,omitempty"`
208263  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
208264  	Structure interface{} `json:"structure,omitempty"`
208265  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
208266  	Schema interface{} `json:"schema,omitempty"`
208267  	// LinkedServiceName - Linked service reference.
208268  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
208269  	// Parameters - Parameters for dataset.
208270  	Parameters map[string]*ParameterSpecification `json:"parameters"`
208271  	// Annotations - List of tags that can be used for describing the Dataset.
208272  	Annotations *[]interface{} `json:"annotations,omitempty"`
208273  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
208274  	Folder *DatasetFolder `json:"folder,omitempty"`
208275  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
208276  	Type TypeBasicDataset `json:"type,omitempty"`
208277  }
208278  
208279  // MarshalJSON is the custom marshaler for VerticaTableDataset.
208280  func (vtd VerticaTableDataset) MarshalJSON() ([]byte, error) {
208281  	vtd.Type = TypeVerticaTable
208282  	objectMap := make(map[string]interface{})
208283  	if vtd.VerticaDatasetTypeProperties != nil {
208284  		objectMap["typeProperties"] = vtd.VerticaDatasetTypeProperties
208285  	}
208286  	if vtd.Description != nil {
208287  		objectMap["description"] = vtd.Description
208288  	}
208289  	if vtd.Structure != nil {
208290  		objectMap["structure"] = vtd.Structure
208291  	}
208292  	if vtd.Schema != nil {
208293  		objectMap["schema"] = vtd.Schema
208294  	}
208295  	if vtd.LinkedServiceName != nil {
208296  		objectMap["linkedServiceName"] = vtd.LinkedServiceName
208297  	}
208298  	if vtd.Parameters != nil {
208299  		objectMap["parameters"] = vtd.Parameters
208300  	}
208301  	if vtd.Annotations != nil {
208302  		objectMap["annotations"] = vtd.Annotations
208303  	}
208304  	if vtd.Folder != nil {
208305  		objectMap["folder"] = vtd.Folder
208306  	}
208307  	if vtd.Type != "" {
208308  		objectMap["type"] = vtd.Type
208309  	}
208310  	for k, v := range vtd.AdditionalProperties {
208311  		objectMap[k] = v
208312  	}
208313  	return json.Marshal(objectMap)
208314  }
208315  
208316  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208317  func (vtd VerticaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
208318  	return nil, false
208319  }
208320  
208321  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for VerticaTableDataset.
208322  func (vtd VerticaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
208323  	return nil, false
208324  }
208325  
208326  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208327  func (vtd VerticaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
208328  	return nil, false
208329  }
208330  
208331  // AsDynamicsAXResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208332  func (vtd VerticaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
208333  	return nil, false
208334  }
208335  
208336  // AsResponsysObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208337  func (vtd VerticaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
208338  	return nil, false
208339  }
208340  
208341  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208342  func (vtd VerticaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
208343  	return nil, false
208344  }
208345  
208346  // AsVerticaTableDataset is the BasicDataset implementation for VerticaTableDataset.
208347  func (vtd VerticaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
208348  	return &vtd, true
208349  }
208350  
208351  // AsNetezzaTableDataset is the BasicDataset implementation for VerticaTableDataset.
208352  func (vtd VerticaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
208353  	return nil, false
208354  }
208355  
208356  // AsZohoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208357  func (vtd VerticaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
208358  	return nil, false
208359  }
208360  
208361  // AsXeroObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208362  func (vtd VerticaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
208363  	return nil, false
208364  }
208365  
208366  // AsSquareObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208367  func (vtd VerticaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
208368  	return nil, false
208369  }
208370  
208371  // AsSparkObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208372  func (vtd VerticaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
208373  	return nil, false
208374  }
208375  
208376  // AsShopifyObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208377  func (vtd VerticaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
208378  	return nil, false
208379  }
208380  
208381  // AsServiceNowObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208382  func (vtd VerticaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
208383  	return nil, false
208384  }
208385  
208386  // AsQuickBooksObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208387  func (vtd VerticaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
208388  	return nil, false
208389  }
208390  
208391  // AsPrestoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208392  func (vtd VerticaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
208393  	return nil, false
208394  }
208395  
208396  // AsPhoenixObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208397  func (vtd VerticaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
208398  	return nil, false
208399  }
208400  
208401  // AsPaypalObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208402  func (vtd VerticaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
208403  	return nil, false
208404  }
208405  
208406  // AsMarketoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208407  func (vtd VerticaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
208408  	return nil, false
208409  }
208410  
208411  // AsAzureMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset.
208412  func (vtd VerticaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
208413  	return nil, false
208414  }
208415  
208416  // AsMariaDBTableDataset is the BasicDataset implementation for VerticaTableDataset.
208417  func (vtd VerticaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
208418  	return nil, false
208419  }
208420  
208421  // AsMagentoObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208422  func (vtd VerticaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
208423  	return nil, false
208424  }
208425  
208426  // AsJiraObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208427  func (vtd VerticaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
208428  	return nil, false
208429  }
208430  
208431  // AsImpalaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208432  func (vtd VerticaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
208433  	return nil, false
208434  }
208435  
208436  // AsHubspotObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208437  func (vtd VerticaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
208438  	return nil, false
208439  }
208440  
208441  // AsHiveObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208442  func (vtd VerticaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
208443  	return nil, false
208444  }
208445  
208446  // AsHBaseObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208447  func (vtd VerticaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
208448  	return nil, false
208449  }
208450  
208451  // AsGreenplumTableDataset is the BasicDataset implementation for VerticaTableDataset.
208452  func (vtd VerticaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
208453  	return nil, false
208454  }
208455  
208456  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208457  func (vtd VerticaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
208458  	return nil, false
208459  }
208460  
208461  // AsEloquaObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208462  func (vtd VerticaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
208463  	return nil, false
208464  }
208465  
208466  // AsDrillTableDataset is the BasicDataset implementation for VerticaTableDataset.
208467  func (vtd VerticaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
208468  	return nil, false
208469  }
208470  
208471  // AsCouchbaseTableDataset is the BasicDataset implementation for VerticaTableDataset.
208472  func (vtd VerticaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
208473  	return nil, false
208474  }
208475  
208476  // AsConcurObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208477  func (vtd VerticaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
208478  	return nil, false
208479  }
208480  
208481  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
208482  func (vtd VerticaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
208483  	return nil, false
208484  }
208485  
208486  // AsAmazonMWSObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208487  func (vtd VerticaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
208488  	return nil, false
208489  }
208490  
208491  // AsAzureSearchIndexDataset is the BasicDataset implementation for VerticaTableDataset.
208492  func (vtd VerticaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
208493  	return nil, false
208494  }
208495  
208496  // AsWebTableDataset is the BasicDataset implementation for VerticaTableDataset.
208497  func (vtd VerticaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
208498  	return nil, false
208499  }
208500  
208501  // AsSapTableResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208502  func (vtd VerticaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
208503  	return nil, false
208504  }
208505  
208506  // AsRestResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208507  func (vtd VerticaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
208508  	return nil, false
208509  }
208510  
208511  // AsSQLServerTableDataset is the BasicDataset implementation for VerticaTableDataset.
208512  func (vtd VerticaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
208513  	return nil, false
208514  }
208515  
208516  // AsSapOpenHubTableDataset is the BasicDataset implementation for VerticaTableDataset.
208517  func (vtd VerticaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
208518  	return nil, false
208519  }
208520  
208521  // AsSapHanaTableDataset is the BasicDataset implementation for VerticaTableDataset.
208522  func (vtd VerticaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
208523  	return nil, false
208524  }
208525  
208526  // AsSapEccResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208527  func (vtd VerticaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
208528  	return nil, false
208529  }
208530  
208531  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208532  func (vtd VerticaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
208533  	return nil, false
208534  }
208535  
208536  // AsSapBwCubeDataset is the BasicDataset implementation for VerticaTableDataset.
208537  func (vtd VerticaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
208538  	return nil, false
208539  }
208540  
208541  // AsSybaseTableDataset is the BasicDataset implementation for VerticaTableDataset.
208542  func (vtd VerticaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
208543  	return nil, false
208544  }
208545  
208546  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208547  func (vtd VerticaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
208548  	return nil, false
208549  }
208550  
208551  // AsSalesforceObjectDataset is the BasicDataset implementation for VerticaTableDataset.
208552  func (vtd VerticaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
208553  	return nil, false
208554  }
208555  
208556  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for VerticaTableDataset.
208557  func (vtd VerticaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
208558  	return nil, false
208559  }
208560  
208561  // AsPostgreSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
208562  func (vtd VerticaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
208563  	return nil, false
208564  }
208565  
208566  // AsMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
208567  func (vtd VerticaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
208568  	return nil, false
208569  }
208570  
208571  // AsOdbcTableDataset is the BasicDataset implementation for VerticaTableDataset.
208572  func (vtd VerticaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
208573  	return nil, false
208574  }
208575  
208576  // AsInformixTableDataset is the BasicDataset implementation for VerticaTableDataset.
208577  func (vtd VerticaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
208578  	return nil, false
208579  }
208580  
208581  // AsRelationalTableDataset is the BasicDataset implementation for VerticaTableDataset.
208582  func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
208583  	return nil, false
208584  }
208585  
208586  // AsDb2TableDataset is the BasicDataset implementation for VerticaTableDataset.
208587  func (vtd VerticaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
208588  	return nil, false
208589  }
208590  
208591  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for VerticaTableDataset.
208592  func (vtd VerticaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
208593  	return nil, false
208594  }
208595  
208596  // AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
208597  func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
208598  	return nil, false
208599  }
208600  
208601  // AsTeradataTableDataset is the BasicDataset implementation for VerticaTableDataset.
208602  func (vtd VerticaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
208603  	return nil, false
208604  }
208605  
208606  // AsOracleTableDataset is the BasicDataset implementation for VerticaTableDataset.
208607  func (vtd VerticaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
208608  	return nil, false
208609  }
208610  
208611  // AsODataResourceDataset is the BasicDataset implementation for VerticaTableDataset.
208612  func (vtd VerticaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
208613  	return nil, false
208614  }
208615  
208616  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset.
208617  func (vtd VerticaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
208618  	return nil, false
208619  }
208620  
208621  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for VerticaTableDataset.
208622  func (vtd VerticaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
208623  	return nil, false
208624  }
208625  
208626  // AsMongoDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
208627  func (vtd VerticaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
208628  	return nil, false
208629  }
208630  
208631  // AsOffice365Dataset is the BasicDataset implementation for VerticaTableDataset.
208632  func (vtd VerticaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
208633  	return nil, false
208634  }
208635  
208636  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
208637  func (vtd VerticaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
208638  	return nil, false
208639  }
208640  
208641  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for VerticaTableDataset.
208642  func (vtd VerticaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
208643  	return nil, false
208644  }
208645  
208646  // AsDynamicsEntityDataset is the BasicDataset implementation for VerticaTableDataset.
208647  func (vtd VerticaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
208648  	return nil, false
208649  }
208650  
208651  // AsDocumentDbCollectionDataset is the BasicDataset implementation for VerticaTableDataset.
208652  func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
208653  	return nil, false
208654  }
208655  
208656  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset.
208657  func (vtd VerticaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
208658  	return nil, false
208659  }
208660  
208661  // AsCustomDataset is the BasicDataset implementation for VerticaTableDataset.
208662  func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) {
208663  	return nil, false
208664  }
208665  
208666  // AsCassandraTableDataset is the BasicDataset implementation for VerticaTableDataset.
208667  func (vtd VerticaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
208668  	return nil, false
208669  }
208670  
208671  // AsAzureSQLDWTableDataset is the BasicDataset implementation for VerticaTableDataset.
208672  func (vtd VerticaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
208673  	return nil, false
208674  }
208675  
208676  // AsAzureSQLMITableDataset is the BasicDataset implementation for VerticaTableDataset.
208677  func (vtd VerticaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
208678  	return nil, false
208679  }
208680  
208681  // AsAzureSQLTableDataset is the BasicDataset implementation for VerticaTableDataset.
208682  func (vtd VerticaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
208683  	return nil, false
208684  }
208685  
208686  // AsAzureTableDataset is the BasicDataset implementation for VerticaTableDataset.
208687  func (vtd VerticaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
208688  	return nil, false
208689  }
208690  
208691  // AsBinaryDataset is the BasicDataset implementation for VerticaTableDataset.
208692  func (vtd VerticaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
208693  	return nil, false
208694  }
208695  
208696  // AsOrcDataset is the BasicDataset implementation for VerticaTableDataset.
208697  func (vtd VerticaTableDataset) AsOrcDataset() (*OrcDataset, bool) {
208698  	return nil, false
208699  }
208700  
208701  // AsJSONDataset is the BasicDataset implementation for VerticaTableDataset.
208702  func (vtd VerticaTableDataset) AsJSONDataset() (*JSONDataset, bool) {
208703  	return nil, false
208704  }
208705  
208706  // AsDelimitedTextDataset is the BasicDataset implementation for VerticaTableDataset.
208707  func (vtd VerticaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
208708  	return nil, false
208709  }
208710  
208711  // AsParquetDataset is the BasicDataset implementation for VerticaTableDataset.
208712  func (vtd VerticaTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
208713  	return nil, false
208714  }
208715  
208716  // AsAvroDataset is the BasicDataset implementation for VerticaTableDataset.
208717  func (vtd VerticaTableDataset) AsAvroDataset() (*AvroDataset, bool) {
208718  	return nil, false
208719  }
208720  
208721  // AsDataset is the BasicDataset implementation for VerticaTableDataset.
208722  func (vtd VerticaTableDataset) AsDataset() (*Dataset, bool) {
208723  	return nil, false
208724  }
208725  
208726  // AsBasicDataset is the BasicDataset implementation for VerticaTableDataset.
208727  func (vtd VerticaTableDataset) AsBasicDataset() (BasicDataset, bool) {
208728  	return &vtd, true
208729  }
208730  
208731  // UnmarshalJSON is the custom unmarshaler for VerticaTableDataset struct.
208732  func (vtd *VerticaTableDataset) UnmarshalJSON(body []byte) error {
208733  	var m map[string]*json.RawMessage
208734  	err := json.Unmarshal(body, &m)
208735  	if err != nil {
208736  		return err
208737  	}
208738  	for k, v := range m {
208739  		switch k {
208740  		case "typeProperties":
208741  			if v != nil {
208742  				var verticaDatasetTypeProperties VerticaDatasetTypeProperties
208743  				err = json.Unmarshal(*v, &verticaDatasetTypeProperties)
208744  				if err != nil {
208745  					return err
208746  				}
208747  				vtd.VerticaDatasetTypeProperties = &verticaDatasetTypeProperties
208748  			}
208749  		default:
208750  			if v != nil {
208751  				var additionalProperties interface{}
208752  				err = json.Unmarshal(*v, &additionalProperties)
208753  				if err != nil {
208754  					return err
208755  				}
208756  				if vtd.AdditionalProperties == nil {
208757  					vtd.AdditionalProperties = make(map[string]interface{})
208758  				}
208759  				vtd.AdditionalProperties[k] = additionalProperties
208760  			}
208761  		case "description":
208762  			if v != nil {
208763  				var description string
208764  				err = json.Unmarshal(*v, &description)
208765  				if err != nil {
208766  					return err
208767  				}
208768  				vtd.Description = &description
208769  			}
208770  		case "structure":
208771  			if v != nil {
208772  				var structure interface{}
208773  				err = json.Unmarshal(*v, &structure)
208774  				if err != nil {
208775  					return err
208776  				}
208777  				vtd.Structure = structure
208778  			}
208779  		case "schema":
208780  			if v != nil {
208781  				var schema interface{}
208782  				err = json.Unmarshal(*v, &schema)
208783  				if err != nil {
208784  					return err
208785  				}
208786  				vtd.Schema = schema
208787  			}
208788  		case "linkedServiceName":
208789  			if v != nil {
208790  				var linkedServiceName LinkedServiceReference
208791  				err = json.Unmarshal(*v, &linkedServiceName)
208792  				if err != nil {
208793  					return err
208794  				}
208795  				vtd.LinkedServiceName = &linkedServiceName
208796  			}
208797  		case "parameters":
208798  			if v != nil {
208799  				var parameters map[string]*ParameterSpecification
208800  				err = json.Unmarshal(*v, &parameters)
208801  				if err != nil {
208802  					return err
208803  				}
208804  				vtd.Parameters = parameters
208805  			}
208806  		case "annotations":
208807  			if v != nil {
208808  				var annotations []interface{}
208809  				err = json.Unmarshal(*v, &annotations)
208810  				if err != nil {
208811  					return err
208812  				}
208813  				vtd.Annotations = &annotations
208814  			}
208815  		case "folder":
208816  			if v != nil {
208817  				var folder DatasetFolder
208818  				err = json.Unmarshal(*v, &folder)
208819  				if err != nil {
208820  					return err
208821  				}
208822  				vtd.Folder = &folder
208823  			}
208824  		case "type":
208825  			if v != nil {
208826  				var typeVar TypeBasicDataset
208827  				err = json.Unmarshal(*v, &typeVar)
208828  				if err != nil {
208829  					return err
208830  				}
208831  				vtd.Type = typeVar
208832  			}
208833  		}
208834  	}
208835  
208836  	return nil
208837  }
208838  
208839  // VirtualNetworkProfile virtual Network Profile
208840  type VirtualNetworkProfile struct {
208841  	// ComputeSubnetID - Subnet ID used for computes in workspace
208842  	ComputeSubnetID *string `json:"computeSubnetId,omitempty"`
208843  }
208844  
208845  // WaitActivity this activity suspends pipeline execution for the specified interval.
208846  type WaitActivity struct {
208847  	// WaitActivityTypeProperties - Wait activity properties.
208848  	*WaitActivityTypeProperties `json:"typeProperties,omitempty"`
208849  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
208850  	AdditionalProperties map[string]interface{} `json:""`
208851  	// Name - Activity name.
208852  	Name *string `json:"name,omitempty"`
208853  	// Description - Activity description.
208854  	Description *string `json:"description,omitempty"`
208855  	// DependsOn - Activity depends on condition.
208856  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
208857  	// UserProperties - Activity user properties.
208858  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
208859  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
208860  	Type TypeBasicActivity `json:"type,omitempty"`
208861  }
208862  
208863  // MarshalJSON is the custom marshaler for WaitActivity.
208864  func (wa WaitActivity) MarshalJSON() ([]byte, error) {
208865  	wa.Type = TypeWait
208866  	objectMap := make(map[string]interface{})
208867  	if wa.WaitActivityTypeProperties != nil {
208868  		objectMap["typeProperties"] = wa.WaitActivityTypeProperties
208869  	}
208870  	if wa.Name != nil {
208871  		objectMap["name"] = wa.Name
208872  	}
208873  	if wa.Description != nil {
208874  		objectMap["description"] = wa.Description
208875  	}
208876  	if wa.DependsOn != nil {
208877  		objectMap["dependsOn"] = wa.DependsOn
208878  	}
208879  	if wa.UserProperties != nil {
208880  		objectMap["userProperties"] = wa.UserProperties
208881  	}
208882  	if wa.Type != "" {
208883  		objectMap["type"] = wa.Type
208884  	}
208885  	for k, v := range wa.AdditionalProperties {
208886  		objectMap[k] = v
208887  	}
208888  	return json.Marshal(objectMap)
208889  }
208890  
208891  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for WaitActivity.
208892  func (wa WaitActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
208893  	return nil, false
208894  }
208895  
208896  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for WaitActivity.
208897  func (wa WaitActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
208898  	return nil, false
208899  }
208900  
208901  // AsSynapseNotebookActivity is the BasicActivity implementation for WaitActivity.
208902  func (wa WaitActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
208903  	return nil, false
208904  }
208905  
208906  // AsExecuteDataFlowActivity is the BasicActivity implementation for WaitActivity.
208907  func (wa WaitActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
208908  	return nil, false
208909  }
208910  
208911  // AsAzureFunctionActivity is the BasicActivity implementation for WaitActivity.
208912  func (wa WaitActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
208913  	return nil, false
208914  }
208915  
208916  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for WaitActivity.
208917  func (wa WaitActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
208918  	return nil, false
208919  }
208920  
208921  // AsDatabricksSparkJarActivity is the BasicActivity implementation for WaitActivity.
208922  func (wa WaitActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
208923  	return nil, false
208924  }
208925  
208926  // AsDatabricksNotebookActivity is the BasicActivity implementation for WaitActivity.
208927  func (wa WaitActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
208928  	return nil, false
208929  }
208930  
208931  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WaitActivity.
208932  func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
208933  	return nil, false
208934  }
208935  
208936  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WaitActivity.
208937  func (wa WaitActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
208938  	return nil, false
208939  }
208940  
208941  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity.
208942  func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
208943  	return nil, false
208944  }
208945  
208946  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WaitActivity.
208947  func (wa WaitActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
208948  	return nil, false
208949  }
208950  
208951  // AsGetMetadataActivity is the BasicActivity implementation for WaitActivity.
208952  func (wa WaitActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
208953  	return nil, false
208954  }
208955  
208956  // AsWebActivity is the BasicActivity implementation for WaitActivity.
208957  func (wa WaitActivity) AsWebActivity() (*WebActivity, bool) {
208958  	return nil, false
208959  }
208960  
208961  // AsLookupActivity is the BasicActivity implementation for WaitActivity.
208962  func (wa WaitActivity) AsLookupActivity() (*LookupActivity, bool) {
208963  	return nil, false
208964  }
208965  
208966  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WaitActivity.
208967  func (wa WaitActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
208968  	return nil, false
208969  }
208970  
208971  // AsDeleteActivity is the BasicActivity implementation for WaitActivity.
208972  func (wa WaitActivity) AsDeleteActivity() (*DeleteActivity, bool) {
208973  	return nil, false
208974  }
208975  
208976  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WaitActivity.
208977  func (wa WaitActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
208978  	return nil, false
208979  }
208980  
208981  // AsCustomActivity is the BasicActivity implementation for WaitActivity.
208982  func (wa WaitActivity) AsCustomActivity() (*CustomActivity, bool) {
208983  	return nil, false
208984  }
208985  
208986  // AsExecuteSSISPackageActivity is the BasicActivity implementation for WaitActivity.
208987  func (wa WaitActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
208988  	return nil, false
208989  }
208990  
208991  // AsHDInsightSparkActivity is the BasicActivity implementation for WaitActivity.
208992  func (wa WaitActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
208993  	return nil, false
208994  }
208995  
208996  // AsHDInsightStreamingActivity is the BasicActivity implementation for WaitActivity.
208997  func (wa WaitActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
208998  	return nil, false
208999  }
209000  
209001  // AsHDInsightMapReduceActivity is the BasicActivity implementation for WaitActivity.
209002  func (wa WaitActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
209003  	return nil, false
209004  }
209005  
209006  // AsHDInsightPigActivity is the BasicActivity implementation for WaitActivity.
209007  func (wa WaitActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
209008  	return nil, false
209009  }
209010  
209011  // AsHDInsightHiveActivity is the BasicActivity implementation for WaitActivity.
209012  func (wa WaitActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
209013  	return nil, false
209014  }
209015  
209016  // AsCopyActivity is the BasicActivity implementation for WaitActivity.
209017  func (wa WaitActivity) AsCopyActivity() (*CopyActivity, bool) {
209018  	return nil, false
209019  }
209020  
209021  // AsExecutionActivity is the BasicActivity implementation for WaitActivity.
209022  func (wa WaitActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
209023  	return nil, false
209024  }
209025  
209026  // AsBasicExecutionActivity is the BasicActivity implementation for WaitActivity.
209027  func (wa WaitActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
209028  	return nil, false
209029  }
209030  
209031  // AsWebHookActivity is the BasicActivity implementation for WaitActivity.
209032  func (wa WaitActivity) AsWebHookActivity() (*WebHookActivity, bool) {
209033  	return nil, false
209034  }
209035  
209036  // AsAppendVariableActivity is the BasicActivity implementation for WaitActivity.
209037  func (wa WaitActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
209038  	return nil, false
209039  }
209040  
209041  // AsSetVariableActivity is the BasicActivity implementation for WaitActivity.
209042  func (wa WaitActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
209043  	return nil, false
209044  }
209045  
209046  // AsFilterActivity is the BasicActivity implementation for WaitActivity.
209047  func (wa WaitActivity) AsFilterActivity() (*FilterActivity, bool) {
209048  	return nil, false
209049  }
209050  
209051  // AsValidationActivity is the BasicActivity implementation for WaitActivity.
209052  func (wa WaitActivity) AsValidationActivity() (*ValidationActivity, bool) {
209053  	return nil, false
209054  }
209055  
209056  // AsUntilActivity is the BasicActivity implementation for WaitActivity.
209057  func (wa WaitActivity) AsUntilActivity() (*UntilActivity, bool) {
209058  	return nil, false
209059  }
209060  
209061  // AsWaitActivity is the BasicActivity implementation for WaitActivity.
209062  func (wa WaitActivity) AsWaitActivity() (*WaitActivity, bool) {
209063  	return &wa, true
209064  }
209065  
209066  // AsForEachActivity is the BasicActivity implementation for WaitActivity.
209067  func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) {
209068  	return nil, false
209069  }
209070  
209071  // AsSwitchActivity is the BasicActivity implementation for WaitActivity.
209072  func (wa WaitActivity) AsSwitchActivity() (*SwitchActivity, bool) {
209073  	return nil, false
209074  }
209075  
209076  // AsIfConditionActivity is the BasicActivity implementation for WaitActivity.
209077  func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
209078  	return nil, false
209079  }
209080  
209081  // AsExecutePipelineActivity is the BasicActivity implementation for WaitActivity.
209082  func (wa WaitActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
209083  	return nil, false
209084  }
209085  
209086  // AsControlActivity is the BasicActivity implementation for WaitActivity.
209087  func (wa WaitActivity) AsControlActivity() (*ControlActivity, bool) {
209088  	return nil, false
209089  }
209090  
209091  // AsBasicControlActivity is the BasicActivity implementation for WaitActivity.
209092  func (wa WaitActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
209093  	return &wa, true
209094  }
209095  
209096  // AsActivity is the BasicActivity implementation for WaitActivity.
209097  func (wa WaitActivity) AsActivity() (*Activity, bool) {
209098  	return nil, false
209099  }
209100  
209101  // AsBasicActivity is the BasicActivity implementation for WaitActivity.
209102  func (wa WaitActivity) AsBasicActivity() (BasicActivity, bool) {
209103  	return &wa, true
209104  }
209105  
209106  // UnmarshalJSON is the custom unmarshaler for WaitActivity struct.
209107  func (wa *WaitActivity) UnmarshalJSON(body []byte) error {
209108  	var m map[string]*json.RawMessage
209109  	err := json.Unmarshal(body, &m)
209110  	if err != nil {
209111  		return err
209112  	}
209113  	for k, v := range m {
209114  		switch k {
209115  		case "typeProperties":
209116  			if v != nil {
209117  				var waitActivityTypeProperties WaitActivityTypeProperties
209118  				err = json.Unmarshal(*v, &waitActivityTypeProperties)
209119  				if err != nil {
209120  					return err
209121  				}
209122  				wa.WaitActivityTypeProperties = &waitActivityTypeProperties
209123  			}
209124  		default:
209125  			if v != nil {
209126  				var additionalProperties interface{}
209127  				err = json.Unmarshal(*v, &additionalProperties)
209128  				if err != nil {
209129  					return err
209130  				}
209131  				if wa.AdditionalProperties == nil {
209132  					wa.AdditionalProperties = make(map[string]interface{})
209133  				}
209134  				wa.AdditionalProperties[k] = additionalProperties
209135  			}
209136  		case "name":
209137  			if v != nil {
209138  				var name string
209139  				err = json.Unmarshal(*v, &name)
209140  				if err != nil {
209141  					return err
209142  				}
209143  				wa.Name = &name
209144  			}
209145  		case "description":
209146  			if v != nil {
209147  				var description string
209148  				err = json.Unmarshal(*v, &description)
209149  				if err != nil {
209150  					return err
209151  				}
209152  				wa.Description = &description
209153  			}
209154  		case "dependsOn":
209155  			if v != nil {
209156  				var dependsOn []ActivityDependency
209157  				err = json.Unmarshal(*v, &dependsOn)
209158  				if err != nil {
209159  					return err
209160  				}
209161  				wa.DependsOn = &dependsOn
209162  			}
209163  		case "userProperties":
209164  			if v != nil {
209165  				var userProperties []UserProperty
209166  				err = json.Unmarshal(*v, &userProperties)
209167  				if err != nil {
209168  					return err
209169  				}
209170  				wa.UserProperties = &userProperties
209171  			}
209172  		case "type":
209173  			if v != nil {
209174  				var typeVar TypeBasicActivity
209175  				err = json.Unmarshal(*v, &typeVar)
209176  				if err != nil {
209177  					return err
209178  				}
209179  				wa.Type = typeVar
209180  			}
209181  		}
209182  	}
209183  
209184  	return nil
209185  }
209186  
209187  // WaitActivityTypeProperties wait activity properties.
209188  type WaitActivityTypeProperties struct {
209189  	// WaitTimeInSeconds - Duration in seconds.
209190  	WaitTimeInSeconds *int32 `json:"waitTimeInSeconds,omitempty"`
209191  }
209192  
209193  // WebActivity web activity.
209194  type WebActivity struct {
209195  	// WebActivityTypeProperties - Web activity properties.
209196  	*WebActivityTypeProperties `json:"typeProperties,omitempty"`
209197  	// LinkedServiceName - Linked service reference.
209198  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
209199  	// Policy - Activity policy.
209200  	Policy *ActivityPolicy `json:"policy,omitempty"`
209201  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
209202  	AdditionalProperties map[string]interface{} `json:""`
209203  	// Name - Activity name.
209204  	Name *string `json:"name,omitempty"`
209205  	// Description - Activity description.
209206  	Description *string `json:"description,omitempty"`
209207  	// DependsOn - Activity depends on condition.
209208  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
209209  	// UserProperties - Activity user properties.
209210  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
209211  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
209212  	Type TypeBasicActivity `json:"type,omitempty"`
209213  }
209214  
209215  // MarshalJSON is the custom marshaler for WebActivity.
209216  func (wa WebActivity) MarshalJSON() ([]byte, error) {
209217  	wa.Type = TypeWebActivity
209218  	objectMap := make(map[string]interface{})
209219  	if wa.WebActivityTypeProperties != nil {
209220  		objectMap["typeProperties"] = wa.WebActivityTypeProperties
209221  	}
209222  	if wa.LinkedServiceName != nil {
209223  		objectMap["linkedServiceName"] = wa.LinkedServiceName
209224  	}
209225  	if wa.Policy != nil {
209226  		objectMap["policy"] = wa.Policy
209227  	}
209228  	if wa.Name != nil {
209229  		objectMap["name"] = wa.Name
209230  	}
209231  	if wa.Description != nil {
209232  		objectMap["description"] = wa.Description
209233  	}
209234  	if wa.DependsOn != nil {
209235  		objectMap["dependsOn"] = wa.DependsOn
209236  	}
209237  	if wa.UserProperties != nil {
209238  		objectMap["userProperties"] = wa.UserProperties
209239  	}
209240  	if wa.Type != "" {
209241  		objectMap["type"] = wa.Type
209242  	}
209243  	for k, v := range wa.AdditionalProperties {
209244  		objectMap[k] = v
209245  	}
209246  	return json.Marshal(objectMap)
209247  }
209248  
209249  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for WebActivity.
209250  func (wa WebActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
209251  	return nil, false
209252  }
209253  
209254  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for WebActivity.
209255  func (wa WebActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
209256  	return nil, false
209257  }
209258  
209259  // AsSynapseNotebookActivity is the BasicActivity implementation for WebActivity.
209260  func (wa WebActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
209261  	return nil, false
209262  }
209263  
209264  // AsExecuteDataFlowActivity is the BasicActivity implementation for WebActivity.
209265  func (wa WebActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
209266  	return nil, false
209267  }
209268  
209269  // AsAzureFunctionActivity is the BasicActivity implementation for WebActivity.
209270  func (wa WebActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
209271  	return nil, false
209272  }
209273  
209274  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebActivity.
209275  func (wa WebActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
209276  	return nil, false
209277  }
209278  
209279  // AsDatabricksSparkJarActivity is the BasicActivity implementation for WebActivity.
209280  func (wa WebActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
209281  	return nil, false
209282  }
209283  
209284  // AsDatabricksNotebookActivity is the BasicActivity implementation for WebActivity.
209285  func (wa WebActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
209286  	return nil, false
209287  }
209288  
209289  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebActivity.
209290  func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
209291  	return nil, false
209292  }
209293  
209294  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebActivity.
209295  func (wa WebActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
209296  	return nil, false
209297  }
209298  
209299  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity.
209300  func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
209301  	return nil, false
209302  }
209303  
209304  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebActivity.
209305  func (wa WebActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
209306  	return nil, false
209307  }
209308  
209309  // AsGetMetadataActivity is the BasicActivity implementation for WebActivity.
209310  func (wa WebActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
209311  	return nil, false
209312  }
209313  
209314  // AsWebActivity is the BasicActivity implementation for WebActivity.
209315  func (wa WebActivity) AsWebActivity() (*WebActivity, bool) {
209316  	return &wa, true
209317  }
209318  
209319  // AsLookupActivity is the BasicActivity implementation for WebActivity.
209320  func (wa WebActivity) AsLookupActivity() (*LookupActivity, bool) {
209321  	return nil, false
209322  }
209323  
209324  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebActivity.
209325  func (wa WebActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
209326  	return nil, false
209327  }
209328  
209329  // AsDeleteActivity is the BasicActivity implementation for WebActivity.
209330  func (wa WebActivity) AsDeleteActivity() (*DeleteActivity, bool) {
209331  	return nil, false
209332  }
209333  
209334  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebActivity.
209335  func (wa WebActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
209336  	return nil, false
209337  }
209338  
209339  // AsCustomActivity is the BasicActivity implementation for WebActivity.
209340  func (wa WebActivity) AsCustomActivity() (*CustomActivity, bool) {
209341  	return nil, false
209342  }
209343  
209344  // AsExecuteSSISPackageActivity is the BasicActivity implementation for WebActivity.
209345  func (wa WebActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
209346  	return nil, false
209347  }
209348  
209349  // AsHDInsightSparkActivity is the BasicActivity implementation for WebActivity.
209350  func (wa WebActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
209351  	return nil, false
209352  }
209353  
209354  // AsHDInsightStreamingActivity is the BasicActivity implementation for WebActivity.
209355  func (wa WebActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
209356  	return nil, false
209357  }
209358  
209359  // AsHDInsightMapReduceActivity is the BasicActivity implementation for WebActivity.
209360  func (wa WebActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
209361  	return nil, false
209362  }
209363  
209364  // AsHDInsightPigActivity is the BasicActivity implementation for WebActivity.
209365  func (wa WebActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
209366  	return nil, false
209367  }
209368  
209369  // AsHDInsightHiveActivity is the BasicActivity implementation for WebActivity.
209370  func (wa WebActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
209371  	return nil, false
209372  }
209373  
209374  // AsCopyActivity is the BasicActivity implementation for WebActivity.
209375  func (wa WebActivity) AsCopyActivity() (*CopyActivity, bool) {
209376  	return nil, false
209377  }
209378  
209379  // AsExecutionActivity is the BasicActivity implementation for WebActivity.
209380  func (wa WebActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
209381  	return nil, false
209382  }
209383  
209384  // AsBasicExecutionActivity is the BasicActivity implementation for WebActivity.
209385  func (wa WebActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
209386  	return &wa, true
209387  }
209388  
209389  // AsWebHookActivity is the BasicActivity implementation for WebActivity.
209390  func (wa WebActivity) AsWebHookActivity() (*WebHookActivity, bool) {
209391  	return nil, false
209392  }
209393  
209394  // AsAppendVariableActivity is the BasicActivity implementation for WebActivity.
209395  func (wa WebActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
209396  	return nil, false
209397  }
209398  
209399  // AsSetVariableActivity is the BasicActivity implementation for WebActivity.
209400  func (wa WebActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
209401  	return nil, false
209402  }
209403  
209404  // AsFilterActivity is the BasicActivity implementation for WebActivity.
209405  func (wa WebActivity) AsFilterActivity() (*FilterActivity, bool) {
209406  	return nil, false
209407  }
209408  
209409  // AsValidationActivity is the BasicActivity implementation for WebActivity.
209410  func (wa WebActivity) AsValidationActivity() (*ValidationActivity, bool) {
209411  	return nil, false
209412  }
209413  
209414  // AsUntilActivity is the BasicActivity implementation for WebActivity.
209415  func (wa WebActivity) AsUntilActivity() (*UntilActivity, bool) {
209416  	return nil, false
209417  }
209418  
209419  // AsWaitActivity is the BasicActivity implementation for WebActivity.
209420  func (wa WebActivity) AsWaitActivity() (*WaitActivity, bool) {
209421  	return nil, false
209422  }
209423  
209424  // AsForEachActivity is the BasicActivity implementation for WebActivity.
209425  func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) {
209426  	return nil, false
209427  }
209428  
209429  // AsSwitchActivity is the BasicActivity implementation for WebActivity.
209430  func (wa WebActivity) AsSwitchActivity() (*SwitchActivity, bool) {
209431  	return nil, false
209432  }
209433  
209434  // AsIfConditionActivity is the BasicActivity implementation for WebActivity.
209435  func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
209436  	return nil, false
209437  }
209438  
209439  // AsExecutePipelineActivity is the BasicActivity implementation for WebActivity.
209440  func (wa WebActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
209441  	return nil, false
209442  }
209443  
209444  // AsControlActivity is the BasicActivity implementation for WebActivity.
209445  func (wa WebActivity) AsControlActivity() (*ControlActivity, bool) {
209446  	return nil, false
209447  }
209448  
209449  // AsBasicControlActivity is the BasicActivity implementation for WebActivity.
209450  func (wa WebActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
209451  	return nil, false
209452  }
209453  
209454  // AsActivity is the BasicActivity implementation for WebActivity.
209455  func (wa WebActivity) AsActivity() (*Activity, bool) {
209456  	return nil, false
209457  }
209458  
209459  // AsBasicActivity is the BasicActivity implementation for WebActivity.
209460  func (wa WebActivity) AsBasicActivity() (BasicActivity, bool) {
209461  	return &wa, true
209462  }
209463  
209464  // UnmarshalJSON is the custom unmarshaler for WebActivity struct.
209465  func (wa *WebActivity) UnmarshalJSON(body []byte) error {
209466  	var m map[string]*json.RawMessage
209467  	err := json.Unmarshal(body, &m)
209468  	if err != nil {
209469  		return err
209470  	}
209471  	for k, v := range m {
209472  		switch k {
209473  		case "typeProperties":
209474  			if v != nil {
209475  				var webActivityTypeProperties WebActivityTypeProperties
209476  				err = json.Unmarshal(*v, &webActivityTypeProperties)
209477  				if err != nil {
209478  					return err
209479  				}
209480  				wa.WebActivityTypeProperties = &webActivityTypeProperties
209481  			}
209482  		case "linkedServiceName":
209483  			if v != nil {
209484  				var linkedServiceName LinkedServiceReference
209485  				err = json.Unmarshal(*v, &linkedServiceName)
209486  				if err != nil {
209487  					return err
209488  				}
209489  				wa.LinkedServiceName = &linkedServiceName
209490  			}
209491  		case "policy":
209492  			if v != nil {
209493  				var policy ActivityPolicy
209494  				err = json.Unmarshal(*v, &policy)
209495  				if err != nil {
209496  					return err
209497  				}
209498  				wa.Policy = &policy
209499  			}
209500  		default:
209501  			if v != nil {
209502  				var additionalProperties interface{}
209503  				err = json.Unmarshal(*v, &additionalProperties)
209504  				if err != nil {
209505  					return err
209506  				}
209507  				if wa.AdditionalProperties == nil {
209508  					wa.AdditionalProperties = make(map[string]interface{})
209509  				}
209510  				wa.AdditionalProperties[k] = additionalProperties
209511  			}
209512  		case "name":
209513  			if v != nil {
209514  				var name string
209515  				err = json.Unmarshal(*v, &name)
209516  				if err != nil {
209517  					return err
209518  				}
209519  				wa.Name = &name
209520  			}
209521  		case "description":
209522  			if v != nil {
209523  				var description string
209524  				err = json.Unmarshal(*v, &description)
209525  				if err != nil {
209526  					return err
209527  				}
209528  				wa.Description = &description
209529  			}
209530  		case "dependsOn":
209531  			if v != nil {
209532  				var dependsOn []ActivityDependency
209533  				err = json.Unmarshal(*v, &dependsOn)
209534  				if err != nil {
209535  					return err
209536  				}
209537  				wa.DependsOn = &dependsOn
209538  			}
209539  		case "userProperties":
209540  			if v != nil {
209541  				var userProperties []UserProperty
209542  				err = json.Unmarshal(*v, &userProperties)
209543  				if err != nil {
209544  					return err
209545  				}
209546  				wa.UserProperties = &userProperties
209547  			}
209548  		case "type":
209549  			if v != nil {
209550  				var typeVar TypeBasicActivity
209551  				err = json.Unmarshal(*v, &typeVar)
209552  				if err != nil {
209553  					return err
209554  				}
209555  				wa.Type = typeVar
209556  			}
209557  		}
209558  	}
209559  
209560  	return nil
209561  }
209562  
209563  // WebActivityAuthentication web activity authentication properties.
209564  type WebActivityAuthentication struct {
209565  	// Type - Web activity authentication (Basic/ClientCertificate/MSI)
209566  	Type *string `json:"type,omitempty"`
209567  	// Pfx - Base64-encoded contents of a PFX file.
209568  	Pfx BasicSecretBase `json:"pfx,omitempty"`
209569  	// Username - Web activity authentication user name for basic authentication.
209570  	Username *string `json:"username,omitempty"`
209571  	// Password - Password for the PFX file or basic authentication.
209572  	Password BasicSecretBase `json:"password,omitempty"`
209573  	// Resource - Resource for which Azure Auth token will be requested when using MSI Authentication.
209574  	Resource *string `json:"resource,omitempty"`
209575  }
209576  
209577  // UnmarshalJSON is the custom unmarshaler for WebActivityAuthentication struct.
209578  func (waa *WebActivityAuthentication) UnmarshalJSON(body []byte) error {
209579  	var m map[string]*json.RawMessage
209580  	err := json.Unmarshal(body, &m)
209581  	if err != nil {
209582  		return err
209583  	}
209584  	for k, v := range m {
209585  		switch k {
209586  		case "type":
209587  			if v != nil {
209588  				var typeVar string
209589  				err = json.Unmarshal(*v, &typeVar)
209590  				if err != nil {
209591  					return err
209592  				}
209593  				waa.Type = &typeVar
209594  			}
209595  		case "pfx":
209596  			if v != nil {
209597  				pfx, err := unmarshalBasicSecretBase(*v)
209598  				if err != nil {
209599  					return err
209600  				}
209601  				waa.Pfx = pfx
209602  			}
209603  		case "username":
209604  			if v != nil {
209605  				var username string
209606  				err = json.Unmarshal(*v, &username)
209607  				if err != nil {
209608  					return err
209609  				}
209610  				waa.Username = &username
209611  			}
209612  		case "password":
209613  			if v != nil {
209614  				password, err := unmarshalBasicSecretBase(*v)
209615  				if err != nil {
209616  					return err
209617  				}
209618  				waa.Password = password
209619  			}
209620  		case "resource":
209621  			if v != nil {
209622  				var resource string
209623  				err = json.Unmarshal(*v, &resource)
209624  				if err != nil {
209625  					return err
209626  				}
209627  				waa.Resource = &resource
209628  			}
209629  		}
209630  	}
209631  
209632  	return nil
209633  }
209634  
209635  // WebActivityTypeProperties web activity type properties.
209636  type WebActivityTypeProperties struct {
209637  	// Method - Rest API method for target endpoint. Possible values include: 'WebActivityMethodGET', 'WebActivityMethodPOST', 'WebActivityMethodPUT', 'WebActivityMethodDELETE'
209638  	Method WebActivityMethod `json:"method,omitempty"`
209639  	// URL - Web activity target endpoint and path. Type: string (or Expression with resultType string).
209640  	URL interface{} `json:"url,omitempty"`
209641  	// 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).
209642  	Headers interface{} `json:"headers,omitempty"`
209643  	// 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).
209644  	Body interface{} `json:"body,omitempty"`
209645  	// Authentication - Authentication method used for calling the endpoint.
209646  	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
209647  	// Datasets - List of datasets passed to web endpoint.
209648  	Datasets *[]DatasetReference `json:"datasets,omitempty"`
209649  	// LinkedServices - List of linked services passed to web endpoint.
209650  	LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"`
209651  	// ConnectVia - The integration runtime reference.
209652  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
209653  }
209654  
209655  // WebAnonymousAuthentication a WebLinkedService that uses anonymous authentication to communicate with an
209656  // HTTP endpoint.
209657  type WebAnonymousAuthentication struct {
209658  	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
209659  	URL interface{} `json:"url,omitempty"`
209660  	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
209661  	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
209662  }
209663  
209664  // MarshalJSON is the custom marshaler for WebAnonymousAuthentication.
209665  func (waa WebAnonymousAuthentication) MarshalJSON() ([]byte, error) {
209666  	waa.AuthenticationType = AuthenticationTypeAnonymous
209667  	objectMap := make(map[string]interface{})
209668  	if waa.URL != nil {
209669  		objectMap["url"] = waa.URL
209670  	}
209671  	if waa.AuthenticationType != "" {
209672  		objectMap["authenticationType"] = waa.AuthenticationType
209673  	}
209674  	return json.Marshal(objectMap)
209675  }
209676  
209677  // AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
209678  func (waa WebAnonymousAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
209679  	return nil, false
209680  }
209681  
209682  // AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
209683  func (waa WebAnonymousAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
209684  	return nil, false
209685  }
209686  
209687  // AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
209688  func (waa WebAnonymousAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
209689  	return &waa, true
209690  }
209691  
209692  // AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
209693  func (waa WebAnonymousAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
209694  	return nil, false
209695  }
209696  
209697  // AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebAnonymousAuthentication.
209698  func (waa WebAnonymousAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
209699  	return &waa, true
209700  }
209701  
209702  // WebBasicAuthentication a WebLinkedService that uses basic authentication to communicate with an HTTP
209703  // endpoint.
209704  type WebBasicAuthentication struct {
209705  	// Username - User name for Basic authentication. Type: string (or Expression with resultType string).
209706  	Username interface{} `json:"username,omitempty"`
209707  	// Password - The password for Basic authentication.
209708  	Password BasicSecretBase `json:"password,omitempty"`
209709  	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
209710  	URL interface{} `json:"url,omitempty"`
209711  	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
209712  	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
209713  }
209714  
209715  // MarshalJSON is the custom marshaler for WebBasicAuthentication.
209716  func (wba WebBasicAuthentication) MarshalJSON() ([]byte, error) {
209717  	wba.AuthenticationType = AuthenticationTypeBasic
209718  	objectMap := make(map[string]interface{})
209719  	if wba.Username != nil {
209720  		objectMap["username"] = wba.Username
209721  	}
209722  	objectMap["password"] = wba.Password
209723  	if wba.URL != nil {
209724  		objectMap["url"] = wba.URL
209725  	}
209726  	if wba.AuthenticationType != "" {
209727  		objectMap["authenticationType"] = wba.AuthenticationType
209728  	}
209729  	return json.Marshal(objectMap)
209730  }
209731  
209732  // AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
209733  func (wba WebBasicAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
209734  	return nil, false
209735  }
209736  
209737  // AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
209738  func (wba WebBasicAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
209739  	return &wba, true
209740  }
209741  
209742  // AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
209743  func (wba WebBasicAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
209744  	return nil, false
209745  }
209746  
209747  // AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
209748  func (wba WebBasicAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
209749  	return nil, false
209750  }
209751  
209752  // AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebBasicAuthentication.
209753  func (wba WebBasicAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
209754  	return &wba, true
209755  }
209756  
209757  // UnmarshalJSON is the custom unmarshaler for WebBasicAuthentication struct.
209758  func (wba *WebBasicAuthentication) UnmarshalJSON(body []byte) error {
209759  	var m map[string]*json.RawMessage
209760  	err := json.Unmarshal(body, &m)
209761  	if err != nil {
209762  		return err
209763  	}
209764  	for k, v := range m {
209765  		switch k {
209766  		case "username":
209767  			if v != nil {
209768  				var username interface{}
209769  				err = json.Unmarshal(*v, &username)
209770  				if err != nil {
209771  					return err
209772  				}
209773  				wba.Username = username
209774  			}
209775  		case "password":
209776  			if v != nil {
209777  				password, err := unmarshalBasicSecretBase(*v)
209778  				if err != nil {
209779  					return err
209780  				}
209781  				wba.Password = password
209782  			}
209783  		case "url":
209784  			if v != nil {
209785  				var URL interface{}
209786  				err = json.Unmarshal(*v, &URL)
209787  				if err != nil {
209788  					return err
209789  				}
209790  				wba.URL = URL
209791  			}
209792  		case "authenticationType":
209793  			if v != nil {
209794  				var authenticationType AuthenticationType
209795  				err = json.Unmarshal(*v, &authenticationType)
209796  				if err != nil {
209797  					return err
209798  				}
209799  				wba.AuthenticationType = authenticationType
209800  			}
209801  		}
209802  	}
209803  
209804  	return nil
209805  }
209806  
209807  // WebClientCertificateAuthentication a WebLinkedService that uses client certificate based authentication
209808  // to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also
209809  // provide valid credentials to the client.
209810  type WebClientCertificateAuthentication struct {
209811  	// Pfx - Base64-encoded contents of a PFX file.
209812  	Pfx BasicSecretBase `json:"pfx,omitempty"`
209813  	// Password - Password for the PFX file.
209814  	Password BasicSecretBase `json:"password,omitempty"`
209815  	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
209816  	URL interface{} `json:"url,omitempty"`
209817  	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
209818  	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
209819  }
209820  
209821  // MarshalJSON is the custom marshaler for WebClientCertificateAuthentication.
209822  func (wcca WebClientCertificateAuthentication) MarshalJSON() ([]byte, error) {
209823  	wcca.AuthenticationType = AuthenticationTypeClientCertificate
209824  	objectMap := make(map[string]interface{})
209825  	objectMap["pfx"] = wcca.Pfx
209826  	objectMap["password"] = wcca.Password
209827  	if wcca.URL != nil {
209828  		objectMap["url"] = wcca.URL
209829  	}
209830  	if wcca.AuthenticationType != "" {
209831  		objectMap["authenticationType"] = wcca.AuthenticationType
209832  	}
209833  	return json.Marshal(objectMap)
209834  }
209835  
209836  // AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
209837  func (wcca WebClientCertificateAuthentication) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
209838  	return &wcca, true
209839  }
209840  
209841  // AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
209842  func (wcca WebClientCertificateAuthentication) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
209843  	return nil, false
209844  }
209845  
209846  // AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
209847  func (wcca WebClientCertificateAuthentication) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
209848  	return nil, false
209849  }
209850  
209851  // AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
209852  func (wcca WebClientCertificateAuthentication) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
209853  	return nil, false
209854  }
209855  
209856  // AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebClientCertificateAuthentication.
209857  func (wcca WebClientCertificateAuthentication) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
209858  	return &wcca, true
209859  }
209860  
209861  // UnmarshalJSON is the custom unmarshaler for WebClientCertificateAuthentication struct.
209862  func (wcca *WebClientCertificateAuthentication) UnmarshalJSON(body []byte) error {
209863  	var m map[string]*json.RawMessage
209864  	err := json.Unmarshal(body, &m)
209865  	if err != nil {
209866  		return err
209867  	}
209868  	for k, v := range m {
209869  		switch k {
209870  		case "pfx":
209871  			if v != nil {
209872  				pfx, err := unmarshalBasicSecretBase(*v)
209873  				if err != nil {
209874  					return err
209875  				}
209876  				wcca.Pfx = pfx
209877  			}
209878  		case "password":
209879  			if v != nil {
209880  				password, err := unmarshalBasicSecretBase(*v)
209881  				if err != nil {
209882  					return err
209883  				}
209884  				wcca.Password = password
209885  			}
209886  		case "url":
209887  			if v != nil {
209888  				var URL interface{}
209889  				err = json.Unmarshal(*v, &URL)
209890  				if err != nil {
209891  					return err
209892  				}
209893  				wcca.URL = URL
209894  			}
209895  		case "authenticationType":
209896  			if v != nil {
209897  				var authenticationType AuthenticationType
209898  				err = json.Unmarshal(*v, &authenticationType)
209899  				if err != nil {
209900  					return err
209901  				}
209902  				wcca.AuthenticationType = authenticationType
209903  			}
209904  		}
209905  	}
209906  
209907  	return nil
209908  }
209909  
209910  // WebHookActivity webHook activity.
209911  type WebHookActivity struct {
209912  	// WebHookActivityTypeProperties - WebHook activity properties.
209913  	*WebHookActivityTypeProperties `json:"typeProperties,omitempty"`
209914  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
209915  	AdditionalProperties map[string]interface{} `json:""`
209916  	// Name - Activity name.
209917  	Name *string `json:"name,omitempty"`
209918  	// Description - Activity description.
209919  	Description *string `json:"description,omitempty"`
209920  	// DependsOn - Activity depends on condition.
209921  	DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"`
209922  	// UserProperties - Activity user properties.
209923  	UserProperties *[]UserProperty `json:"userProperties,omitempty"`
209924  	// Type - Possible values include: 'TypeActivity', 'TypeSQLPoolStoredProcedure', 'TypeSparkJob', 'TypeSynapseNotebook', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', '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', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer'
209925  	Type TypeBasicActivity `json:"type,omitempty"`
209926  }
209927  
209928  // MarshalJSON is the custom marshaler for WebHookActivity.
209929  func (wha WebHookActivity) MarshalJSON() ([]byte, error) {
209930  	wha.Type = TypeWebHook
209931  	objectMap := make(map[string]interface{})
209932  	if wha.WebHookActivityTypeProperties != nil {
209933  		objectMap["typeProperties"] = wha.WebHookActivityTypeProperties
209934  	}
209935  	if wha.Name != nil {
209936  		objectMap["name"] = wha.Name
209937  	}
209938  	if wha.Description != nil {
209939  		objectMap["description"] = wha.Description
209940  	}
209941  	if wha.DependsOn != nil {
209942  		objectMap["dependsOn"] = wha.DependsOn
209943  	}
209944  	if wha.UserProperties != nil {
209945  		objectMap["userProperties"] = wha.UserProperties
209946  	}
209947  	if wha.Type != "" {
209948  		objectMap["type"] = wha.Type
209949  	}
209950  	for k, v := range wha.AdditionalProperties {
209951  		objectMap[k] = v
209952  	}
209953  	return json.Marshal(objectMap)
209954  }
209955  
209956  // AsSQLPoolStoredProcedureActivity is the BasicActivity implementation for WebHookActivity.
209957  func (wha WebHookActivity) AsSQLPoolStoredProcedureActivity() (*SQLPoolStoredProcedureActivity, bool) {
209958  	return nil, false
209959  }
209960  
209961  // AsSynapseSparkJobDefinitionActivity is the BasicActivity implementation for WebHookActivity.
209962  func (wha WebHookActivity) AsSynapseSparkJobDefinitionActivity() (*SynapseSparkJobDefinitionActivity, bool) {
209963  	return nil, false
209964  }
209965  
209966  // AsSynapseNotebookActivity is the BasicActivity implementation for WebHookActivity.
209967  func (wha WebHookActivity) AsSynapseNotebookActivity() (*SynapseNotebookActivity, bool) {
209968  	return nil, false
209969  }
209970  
209971  // AsExecuteDataFlowActivity is the BasicActivity implementation for WebHookActivity.
209972  func (wha WebHookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) {
209973  	return nil, false
209974  }
209975  
209976  // AsAzureFunctionActivity is the BasicActivity implementation for WebHookActivity.
209977  func (wha WebHookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) {
209978  	return nil, false
209979  }
209980  
209981  // AsDatabricksSparkPythonActivity is the BasicActivity implementation for WebHookActivity.
209982  func (wha WebHookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) {
209983  	return nil, false
209984  }
209985  
209986  // AsDatabricksSparkJarActivity is the BasicActivity implementation for WebHookActivity.
209987  func (wha WebHookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) {
209988  	return nil, false
209989  }
209990  
209991  // AsDatabricksNotebookActivity is the BasicActivity implementation for WebHookActivity.
209992  func (wha WebHookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) {
209993  	return nil, false
209994  }
209995  
209996  // AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for WebHookActivity.
209997  func (wha WebHookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) {
209998  	return nil, false
209999  }
210000  
210001  // AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebHookActivity.
210002  func (wha WebHookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) {
210003  	return nil, false
210004  }
210005  
210006  // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebHookActivity.
210007  func (wha WebHookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) {
210008  	return nil, false
210009  }
210010  
210011  // AsAzureMLBatchExecutionActivity is the BasicActivity implementation for WebHookActivity.
210012  func (wha WebHookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) {
210013  	return nil, false
210014  }
210015  
210016  // AsGetMetadataActivity is the BasicActivity implementation for WebHookActivity.
210017  func (wha WebHookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) {
210018  	return nil, false
210019  }
210020  
210021  // AsWebActivity is the BasicActivity implementation for WebHookActivity.
210022  func (wha WebHookActivity) AsWebActivity() (*WebActivity, bool) {
210023  	return nil, false
210024  }
210025  
210026  // AsLookupActivity is the BasicActivity implementation for WebHookActivity.
210027  func (wha WebHookActivity) AsLookupActivity() (*LookupActivity, bool) {
210028  	return nil, false
210029  }
210030  
210031  // AsAzureDataExplorerCommandActivity is the BasicActivity implementation for WebHookActivity.
210032  func (wha WebHookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) {
210033  	return nil, false
210034  }
210035  
210036  // AsDeleteActivity is the BasicActivity implementation for WebHookActivity.
210037  func (wha WebHookActivity) AsDeleteActivity() (*DeleteActivity, bool) {
210038  	return nil, false
210039  }
210040  
210041  // AsSQLServerStoredProcedureActivity is the BasicActivity implementation for WebHookActivity.
210042  func (wha WebHookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) {
210043  	return nil, false
210044  }
210045  
210046  // AsCustomActivity is the BasicActivity implementation for WebHookActivity.
210047  func (wha WebHookActivity) AsCustomActivity() (*CustomActivity, bool) {
210048  	return nil, false
210049  }
210050  
210051  // AsExecuteSSISPackageActivity is the BasicActivity implementation for WebHookActivity.
210052  func (wha WebHookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) {
210053  	return nil, false
210054  }
210055  
210056  // AsHDInsightSparkActivity is the BasicActivity implementation for WebHookActivity.
210057  func (wha WebHookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) {
210058  	return nil, false
210059  }
210060  
210061  // AsHDInsightStreamingActivity is the BasicActivity implementation for WebHookActivity.
210062  func (wha WebHookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) {
210063  	return nil, false
210064  }
210065  
210066  // AsHDInsightMapReduceActivity is the BasicActivity implementation for WebHookActivity.
210067  func (wha WebHookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) {
210068  	return nil, false
210069  }
210070  
210071  // AsHDInsightPigActivity is the BasicActivity implementation for WebHookActivity.
210072  func (wha WebHookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) {
210073  	return nil, false
210074  }
210075  
210076  // AsHDInsightHiveActivity is the BasicActivity implementation for WebHookActivity.
210077  func (wha WebHookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) {
210078  	return nil, false
210079  }
210080  
210081  // AsCopyActivity is the BasicActivity implementation for WebHookActivity.
210082  func (wha WebHookActivity) AsCopyActivity() (*CopyActivity, bool) {
210083  	return nil, false
210084  }
210085  
210086  // AsExecutionActivity is the BasicActivity implementation for WebHookActivity.
210087  func (wha WebHookActivity) AsExecutionActivity() (*ExecutionActivity, bool) {
210088  	return nil, false
210089  }
210090  
210091  // AsBasicExecutionActivity is the BasicActivity implementation for WebHookActivity.
210092  func (wha WebHookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) {
210093  	return nil, false
210094  }
210095  
210096  // AsWebHookActivity is the BasicActivity implementation for WebHookActivity.
210097  func (wha WebHookActivity) AsWebHookActivity() (*WebHookActivity, bool) {
210098  	return &wha, true
210099  }
210100  
210101  // AsAppendVariableActivity is the BasicActivity implementation for WebHookActivity.
210102  func (wha WebHookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) {
210103  	return nil, false
210104  }
210105  
210106  // AsSetVariableActivity is the BasicActivity implementation for WebHookActivity.
210107  func (wha WebHookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) {
210108  	return nil, false
210109  }
210110  
210111  // AsFilterActivity is the BasicActivity implementation for WebHookActivity.
210112  func (wha WebHookActivity) AsFilterActivity() (*FilterActivity, bool) {
210113  	return nil, false
210114  }
210115  
210116  // AsValidationActivity is the BasicActivity implementation for WebHookActivity.
210117  func (wha WebHookActivity) AsValidationActivity() (*ValidationActivity, bool) {
210118  	return nil, false
210119  }
210120  
210121  // AsUntilActivity is the BasicActivity implementation for WebHookActivity.
210122  func (wha WebHookActivity) AsUntilActivity() (*UntilActivity, bool) {
210123  	return nil, false
210124  }
210125  
210126  // AsWaitActivity is the BasicActivity implementation for WebHookActivity.
210127  func (wha WebHookActivity) AsWaitActivity() (*WaitActivity, bool) {
210128  	return nil, false
210129  }
210130  
210131  // AsForEachActivity is the BasicActivity implementation for WebHookActivity.
210132  func (wha WebHookActivity) AsForEachActivity() (*ForEachActivity, bool) {
210133  	return nil, false
210134  }
210135  
210136  // AsSwitchActivity is the BasicActivity implementation for WebHookActivity.
210137  func (wha WebHookActivity) AsSwitchActivity() (*SwitchActivity, bool) {
210138  	return nil, false
210139  }
210140  
210141  // AsIfConditionActivity is the BasicActivity implementation for WebHookActivity.
210142  func (wha WebHookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) {
210143  	return nil, false
210144  }
210145  
210146  // AsExecutePipelineActivity is the BasicActivity implementation for WebHookActivity.
210147  func (wha WebHookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) {
210148  	return nil, false
210149  }
210150  
210151  // AsControlActivity is the BasicActivity implementation for WebHookActivity.
210152  func (wha WebHookActivity) AsControlActivity() (*ControlActivity, bool) {
210153  	return nil, false
210154  }
210155  
210156  // AsBasicControlActivity is the BasicActivity implementation for WebHookActivity.
210157  func (wha WebHookActivity) AsBasicControlActivity() (BasicControlActivity, bool) {
210158  	return &wha, true
210159  }
210160  
210161  // AsActivity is the BasicActivity implementation for WebHookActivity.
210162  func (wha WebHookActivity) AsActivity() (*Activity, bool) {
210163  	return nil, false
210164  }
210165  
210166  // AsBasicActivity is the BasicActivity implementation for WebHookActivity.
210167  func (wha WebHookActivity) AsBasicActivity() (BasicActivity, bool) {
210168  	return &wha, true
210169  }
210170  
210171  // UnmarshalJSON is the custom unmarshaler for WebHookActivity struct.
210172  func (wha *WebHookActivity) UnmarshalJSON(body []byte) error {
210173  	var m map[string]*json.RawMessage
210174  	err := json.Unmarshal(body, &m)
210175  	if err != nil {
210176  		return err
210177  	}
210178  	for k, v := range m {
210179  		switch k {
210180  		case "typeProperties":
210181  			if v != nil {
210182  				var webHookActivityTypeProperties WebHookActivityTypeProperties
210183  				err = json.Unmarshal(*v, &webHookActivityTypeProperties)
210184  				if err != nil {
210185  					return err
210186  				}
210187  				wha.WebHookActivityTypeProperties = &webHookActivityTypeProperties
210188  			}
210189  		default:
210190  			if v != nil {
210191  				var additionalProperties interface{}
210192  				err = json.Unmarshal(*v, &additionalProperties)
210193  				if err != nil {
210194  					return err
210195  				}
210196  				if wha.AdditionalProperties == nil {
210197  					wha.AdditionalProperties = make(map[string]interface{})
210198  				}
210199  				wha.AdditionalProperties[k] = additionalProperties
210200  			}
210201  		case "name":
210202  			if v != nil {
210203  				var name string
210204  				err = json.Unmarshal(*v, &name)
210205  				if err != nil {
210206  					return err
210207  				}
210208  				wha.Name = &name
210209  			}
210210  		case "description":
210211  			if v != nil {
210212  				var description string
210213  				err = json.Unmarshal(*v, &description)
210214  				if err != nil {
210215  					return err
210216  				}
210217  				wha.Description = &description
210218  			}
210219  		case "dependsOn":
210220  			if v != nil {
210221  				var dependsOn []ActivityDependency
210222  				err = json.Unmarshal(*v, &dependsOn)
210223  				if err != nil {
210224  					return err
210225  				}
210226  				wha.DependsOn = &dependsOn
210227  			}
210228  		case "userProperties":
210229  			if v != nil {
210230  				var userProperties []UserProperty
210231  				err = json.Unmarshal(*v, &userProperties)
210232  				if err != nil {
210233  					return err
210234  				}
210235  				wha.UserProperties = &userProperties
210236  			}
210237  		case "type":
210238  			if v != nil {
210239  				var typeVar TypeBasicActivity
210240  				err = json.Unmarshal(*v, &typeVar)
210241  				if err != nil {
210242  					return err
210243  				}
210244  				wha.Type = typeVar
210245  			}
210246  		}
210247  	}
210248  
210249  	return nil
210250  }
210251  
210252  // WebHookActivityTypeProperties webHook activity type properties.
210253  type WebHookActivityTypeProperties struct {
210254  	// Method - Rest API method for target endpoint.
210255  	Method *string `json:"method,omitempty"`
210256  	// URL - WebHook activity target endpoint and path. Type: string (or Expression with resultType string).
210257  	URL interface{} `json:"url,omitempty"`
210258  	// 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])).
210259  	Timeout *string `json:"timeout,omitempty"`
210260  	// 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).
210261  	Headers interface{} `json:"headers,omitempty"`
210262  	// 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).
210263  	Body interface{} `json:"body,omitempty"`
210264  	// Authentication - Authentication method used for calling the endpoint.
210265  	Authentication *WebActivityAuthentication `json:"authentication,omitempty"`
210266  	// ReportStatusOnCallBack - When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean).
210267  	ReportStatusOnCallBack interface{} `json:"reportStatusOnCallBack,omitempty"`
210268  }
210269  
210270  // WebLinkedService web linked service.
210271  type WebLinkedService struct {
210272  	// TypeProperties - Web linked service properties.
210273  	TypeProperties BasicWebLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
210274  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
210275  	AdditionalProperties map[string]interface{} `json:""`
210276  	// ConnectVia - The integration runtime reference.
210277  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
210278  	// Description - Linked service description.
210279  	Description *string `json:"description,omitempty"`
210280  	// Parameters - Parameters for linked service.
210281  	Parameters map[string]*ParameterSpecification `json:"parameters"`
210282  	// Annotations - List of tags that can be used for describing the linked service.
210283  	Annotations *[]interface{} `json:"annotations,omitempty"`
210284  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
210285  	Type TypeBasicLinkedService `json:"type,omitempty"`
210286  }
210287  
210288  // MarshalJSON is the custom marshaler for WebLinkedService.
210289  func (wls WebLinkedService) MarshalJSON() ([]byte, error) {
210290  	wls.Type = TypeWeb
210291  	objectMap := make(map[string]interface{})
210292  	objectMap["typeProperties"] = wls.TypeProperties
210293  	if wls.ConnectVia != nil {
210294  		objectMap["connectVia"] = wls.ConnectVia
210295  	}
210296  	if wls.Description != nil {
210297  		objectMap["description"] = wls.Description
210298  	}
210299  	if wls.Parameters != nil {
210300  		objectMap["parameters"] = wls.Parameters
210301  	}
210302  	if wls.Annotations != nil {
210303  		objectMap["annotations"] = wls.Annotations
210304  	}
210305  	if wls.Type != "" {
210306  		objectMap["type"] = wls.Type
210307  	}
210308  	for k, v := range wls.AdditionalProperties {
210309  		objectMap[k] = v
210310  	}
210311  	return json.Marshal(objectMap)
210312  }
210313  
210314  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for WebLinkedService.
210315  func (wls WebLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
210316  	return nil, false
210317  }
210318  
210319  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210320  func (wls WebLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
210321  	return nil, false
210322  }
210323  
210324  // AsSapTableLinkedService is the BasicLinkedService implementation for WebLinkedService.
210325  func (wls WebLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
210326  	return nil, false
210327  }
210328  
210329  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210330  func (wls WebLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
210331  	return nil, false
210332  }
210333  
210334  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
210335  func (wls WebLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
210336  	return nil, false
210337  }
210338  
210339  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for WebLinkedService.
210340  func (wls WebLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
210341  	return nil, false
210342  }
210343  
210344  // AsResponsysLinkedService is the BasicLinkedService implementation for WebLinkedService.
210345  func (wls WebLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
210346  	return nil, false
210347  }
210348  
210349  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for WebLinkedService.
210350  func (wls WebLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
210351  	return nil, false
210352  }
210353  
210354  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210355  func (wls WebLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
210356  	return nil, false
210357  }
210358  
210359  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for WebLinkedService.
210360  func (wls WebLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
210361  	return nil, false
210362  }
210363  
210364  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
210365  func (wls WebLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
210366  	return nil, false
210367  }
210368  
210369  // AsNetezzaLinkedService is the BasicLinkedService implementation for WebLinkedService.
210370  func (wls WebLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
210371  	return nil, false
210372  }
210373  
210374  // AsVerticaLinkedService is the BasicLinkedService implementation for WebLinkedService.
210375  func (wls WebLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
210376  	return nil, false
210377  }
210378  
210379  // AsZohoLinkedService is the BasicLinkedService implementation for WebLinkedService.
210380  func (wls WebLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
210381  	return nil, false
210382  }
210383  
210384  // AsXeroLinkedService is the BasicLinkedService implementation for WebLinkedService.
210385  func (wls WebLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
210386  	return nil, false
210387  }
210388  
210389  // AsSquareLinkedService is the BasicLinkedService implementation for WebLinkedService.
210390  func (wls WebLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
210391  	return nil, false
210392  }
210393  
210394  // AsSparkLinkedService is the BasicLinkedService implementation for WebLinkedService.
210395  func (wls WebLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
210396  	return nil, false
210397  }
210398  
210399  // AsShopifyLinkedService is the BasicLinkedService implementation for WebLinkedService.
210400  func (wls WebLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
210401  	return nil, false
210402  }
210403  
210404  // AsServiceNowLinkedService is the BasicLinkedService implementation for WebLinkedService.
210405  func (wls WebLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
210406  	return nil, false
210407  }
210408  
210409  // AsQuickBooksLinkedService is the BasicLinkedService implementation for WebLinkedService.
210410  func (wls WebLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
210411  	return nil, false
210412  }
210413  
210414  // AsPrestoLinkedService is the BasicLinkedService implementation for WebLinkedService.
210415  func (wls WebLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
210416  	return nil, false
210417  }
210418  
210419  // AsPhoenixLinkedService is the BasicLinkedService implementation for WebLinkedService.
210420  func (wls WebLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
210421  	return nil, false
210422  }
210423  
210424  // AsPaypalLinkedService is the BasicLinkedService implementation for WebLinkedService.
210425  func (wls WebLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
210426  	return nil, false
210427  }
210428  
210429  // AsMarketoLinkedService is the BasicLinkedService implementation for WebLinkedService.
210430  func (wls WebLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
210431  	return nil, false
210432  }
210433  
210434  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService.
210435  func (wls WebLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
210436  	return nil, false
210437  }
210438  
210439  // AsMariaDBLinkedService is the BasicLinkedService implementation for WebLinkedService.
210440  func (wls WebLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
210441  	return nil, false
210442  }
210443  
210444  // AsMagentoLinkedService is the BasicLinkedService implementation for WebLinkedService.
210445  func (wls WebLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
210446  	return nil, false
210447  }
210448  
210449  // AsJiraLinkedService is the BasicLinkedService implementation for WebLinkedService.
210450  func (wls WebLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
210451  	return nil, false
210452  }
210453  
210454  // AsImpalaLinkedService is the BasicLinkedService implementation for WebLinkedService.
210455  func (wls WebLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
210456  	return nil, false
210457  }
210458  
210459  // AsHubspotLinkedService is the BasicLinkedService implementation for WebLinkedService.
210460  func (wls WebLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
210461  	return nil, false
210462  }
210463  
210464  // AsHiveLinkedService is the BasicLinkedService implementation for WebLinkedService.
210465  func (wls WebLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
210466  	return nil, false
210467  }
210468  
210469  // AsHBaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
210470  func (wls WebLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
210471  	return nil, false
210472  }
210473  
210474  // AsGreenplumLinkedService is the BasicLinkedService implementation for WebLinkedService.
210475  func (wls WebLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
210476  	return nil, false
210477  }
210478  
210479  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for WebLinkedService.
210480  func (wls WebLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
210481  	return nil, false
210482  }
210483  
210484  // AsEloquaLinkedService is the BasicLinkedService implementation for WebLinkedService.
210485  func (wls WebLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
210486  	return nil, false
210487  }
210488  
210489  // AsDrillLinkedService is the BasicLinkedService implementation for WebLinkedService.
210490  func (wls WebLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
210491  	return nil, false
210492  }
210493  
210494  // AsCouchbaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
210495  func (wls WebLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
210496  	return nil, false
210497  }
210498  
210499  // AsConcurLinkedService is the BasicLinkedService implementation for WebLinkedService.
210500  func (wls WebLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
210501  	return nil, false
210502  }
210503  
210504  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
210505  func (wls WebLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
210506  	return nil, false
210507  }
210508  
210509  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for WebLinkedService.
210510  func (wls WebLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
210511  	return nil, false
210512  }
210513  
210514  // AsSapHanaLinkedService is the BasicLinkedService implementation for WebLinkedService.
210515  func (wls WebLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
210516  	return nil, false
210517  }
210518  
210519  // AsSapBWLinkedService is the BasicLinkedService implementation for WebLinkedService.
210520  func (wls WebLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
210521  	return nil, false
210522  }
210523  
210524  // AsSftpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210525  func (wls WebLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
210526  	return nil, false
210527  }
210528  
210529  // AsFtpServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210530  func (wls WebLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
210531  	return nil, false
210532  }
210533  
210534  // AsHTTPLinkedService is the BasicLinkedService implementation for WebLinkedService.
210535  func (wls WebLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
210536  	return nil, false
210537  }
210538  
210539  // AsAzureSearchLinkedService is the BasicLinkedService implementation for WebLinkedService.
210540  func (wls WebLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
210541  	return nil, false
210542  }
210543  
210544  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for WebLinkedService.
210545  func (wls WebLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
210546  	return nil, false
210547  }
210548  
210549  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for WebLinkedService.
210550  func (wls WebLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
210551  	return nil, false
210552  }
210553  
210554  // AsAmazonS3LinkedService is the BasicLinkedService implementation for WebLinkedService.
210555  func (wls WebLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
210556  	return nil, false
210557  }
210558  
210559  // AsRestServiceLinkedService is the BasicLinkedService implementation for WebLinkedService.
210560  func (wls WebLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
210561  	return nil, false
210562  }
210563  
210564  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for WebLinkedService.
210565  func (wls WebLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
210566  	return nil, false
210567  }
210568  
210569  // AsSapEccLinkedService is the BasicLinkedService implementation for WebLinkedService.
210570  func (wls WebLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
210571  	return nil, false
210572  }
210573  
210574  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210575  func (wls WebLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
210576  	return nil, false
210577  }
210578  
210579  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for WebLinkedService.
210580  func (wls WebLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
210581  	return nil, false
210582  }
210583  
210584  // AsSalesforceLinkedService is the BasicLinkedService implementation for WebLinkedService.
210585  func (wls WebLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
210586  	return nil, false
210587  }
210588  
210589  // AsOffice365LinkedService is the BasicLinkedService implementation for WebLinkedService.
210590  func (wls WebLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
210591  	return nil, false
210592  }
210593  
210594  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for WebLinkedService.
210595  func (wls WebLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
210596  	return nil, false
210597  }
210598  
210599  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for WebLinkedService.
210600  func (wls WebLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
210601  	return nil, false
210602  }
210603  
210604  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for WebLinkedService.
210605  func (wls WebLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
210606  	return nil, false
210607  }
210608  
210609  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for WebLinkedService.
210610  func (wls WebLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
210611  	return nil, false
210612  }
210613  
210614  // AsMongoDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
210615  func (wls WebLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
210616  	return nil, false
210617  }
210618  
210619  // AsCassandraLinkedService is the BasicLinkedService implementation for WebLinkedService.
210620  func (wls WebLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
210621  	return nil, false
210622  }
210623  
210624  // AsWebLinkedService is the BasicLinkedService implementation for WebLinkedService.
210625  func (wls WebLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
210626  	return &wls, true
210627  }
210628  
210629  // AsODataLinkedService is the BasicLinkedService implementation for WebLinkedService.
210630  func (wls WebLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
210631  	return nil, false
210632  }
210633  
210634  // AsHdfsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210635  func (wls WebLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
210636  	return nil, false
210637  }
210638  
210639  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for WebLinkedService.
210640  func (wls WebLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
210641  	return nil, false
210642  }
210643  
210644  // AsInformixLinkedService is the BasicLinkedService implementation for WebLinkedService.
210645  func (wls WebLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
210646  	return nil, false
210647  }
210648  
210649  // AsOdbcLinkedService is the BasicLinkedService implementation for WebLinkedService.
210650  func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
210651  	return nil, false
210652  }
210653  
210654  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for WebLinkedService.
210655  func (wls WebLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
210656  	return nil, false
210657  }
210658  
210659  // AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService.
210660  func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
210661  	return nil, false
210662  }
210663  
210664  // AsTeradataLinkedService is the BasicLinkedService implementation for WebLinkedService.
210665  func (wls WebLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
210666  	return nil, false
210667  }
210668  
210669  // AsDb2LinkedService is the BasicLinkedService implementation for WebLinkedService.
210670  func (wls WebLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
210671  	return nil, false
210672  }
210673  
210674  // AsSybaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
210675  func (wls WebLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
210676  	return nil, false
210677  }
210678  
210679  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
210680  func (wls WebLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
210681  	return nil, false
210682  }
210683  
210684  // AsMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
210685  func (wls WebLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
210686  	return nil, false
210687  }
210688  
210689  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for WebLinkedService.
210690  func (wls WebLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
210691  	return nil, false
210692  }
210693  
210694  // AsOracleLinkedService is the BasicLinkedService implementation for WebLinkedService.
210695  func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
210696  	return nil, false
210697  }
210698  
210699  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
210700  func (wls WebLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
210701  	return nil, false
210702  }
210703  
210704  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
210705  func (wls WebLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
210706  	return nil, false
210707  }
210708  
210709  // AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210710  func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
210711  	return nil, false
210712  }
210713  
210714  // AsHDInsightLinkedService is the BasicLinkedService implementation for WebLinkedService.
210715  func (wls WebLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
210716  	return nil, false
210717  }
210718  
210719  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210720  func (wls WebLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
210721  	return nil, false
210722  }
210723  
210724  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for WebLinkedService.
210725  func (wls WebLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
210726  	return nil, false
210727  }
210728  
210729  // AsDynamicsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210730  func (wls WebLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
210731  	return nil, false
210732  }
210733  
210734  // AsCosmosDbLinkedService is the BasicLinkedService implementation for WebLinkedService.
210735  func (wls WebLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
210736  	return nil, false
210737  }
210738  
210739  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for WebLinkedService.
210740  func (wls WebLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
210741  	return nil, false
210742  }
210743  
210744  // AsAzureBatchLinkedService is the BasicLinkedService implementation for WebLinkedService.
210745  func (wls WebLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
210746  	return nil, false
210747  }
210748  
210749  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for WebLinkedService.
210750  func (wls WebLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
210751  	return nil, false
210752  }
210753  
210754  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for WebLinkedService.
210755  func (wls WebLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
210756  	return nil, false
210757  }
210758  
210759  // AsSQLServerLinkedService is the BasicLinkedService implementation for WebLinkedService.
210760  func (wls WebLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
210761  	return nil, false
210762  }
210763  
210764  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for WebLinkedService.
210765  func (wls WebLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
210766  	return nil, false
210767  }
210768  
210769  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
210770  func (wls WebLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
210771  	return nil, false
210772  }
210773  
210774  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
210775  func (wls WebLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
210776  	return nil, false
210777  }
210778  
210779  // AsAzureStorageLinkedService is the BasicLinkedService implementation for WebLinkedService.
210780  func (wls WebLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
210781  	return nil, false
210782  }
210783  
210784  // AsLinkedService is the BasicLinkedService implementation for WebLinkedService.
210785  func (wls WebLinkedService) AsLinkedService() (*LinkedService, bool) {
210786  	return nil, false
210787  }
210788  
210789  // AsBasicLinkedService is the BasicLinkedService implementation for WebLinkedService.
210790  func (wls WebLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
210791  	return &wls, true
210792  }
210793  
210794  // UnmarshalJSON is the custom unmarshaler for WebLinkedService struct.
210795  func (wls *WebLinkedService) UnmarshalJSON(body []byte) error {
210796  	var m map[string]*json.RawMessage
210797  	err := json.Unmarshal(body, &m)
210798  	if err != nil {
210799  		return err
210800  	}
210801  	for k, v := range m {
210802  		switch k {
210803  		case "typeProperties":
210804  			if v != nil {
210805  				typeProperties, err := unmarshalBasicWebLinkedServiceTypeProperties(*v)
210806  				if err != nil {
210807  					return err
210808  				}
210809  				wls.TypeProperties = typeProperties
210810  			}
210811  		default:
210812  			if v != nil {
210813  				var additionalProperties interface{}
210814  				err = json.Unmarshal(*v, &additionalProperties)
210815  				if err != nil {
210816  					return err
210817  				}
210818  				if wls.AdditionalProperties == nil {
210819  					wls.AdditionalProperties = make(map[string]interface{})
210820  				}
210821  				wls.AdditionalProperties[k] = additionalProperties
210822  			}
210823  		case "connectVia":
210824  			if v != nil {
210825  				var connectVia IntegrationRuntimeReference
210826  				err = json.Unmarshal(*v, &connectVia)
210827  				if err != nil {
210828  					return err
210829  				}
210830  				wls.ConnectVia = &connectVia
210831  			}
210832  		case "description":
210833  			if v != nil {
210834  				var description string
210835  				err = json.Unmarshal(*v, &description)
210836  				if err != nil {
210837  					return err
210838  				}
210839  				wls.Description = &description
210840  			}
210841  		case "parameters":
210842  			if v != nil {
210843  				var parameters map[string]*ParameterSpecification
210844  				err = json.Unmarshal(*v, &parameters)
210845  				if err != nil {
210846  					return err
210847  				}
210848  				wls.Parameters = parameters
210849  			}
210850  		case "annotations":
210851  			if v != nil {
210852  				var annotations []interface{}
210853  				err = json.Unmarshal(*v, &annotations)
210854  				if err != nil {
210855  					return err
210856  				}
210857  				wls.Annotations = &annotations
210858  			}
210859  		case "type":
210860  			if v != nil {
210861  				var typeVar TypeBasicLinkedService
210862  				err = json.Unmarshal(*v, &typeVar)
210863  				if err != nil {
210864  					return err
210865  				}
210866  				wls.Type = typeVar
210867  			}
210868  		}
210869  	}
210870  
210871  	return nil
210872  }
210873  
210874  // BasicWebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
210875  // polymorphic based on authenticationType, so not flattened in SDK models.
210876  type BasicWebLinkedServiceTypeProperties interface {
210877  	AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool)
210878  	AsWebBasicAuthentication() (*WebBasicAuthentication, bool)
210879  	AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool)
210880  	AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool)
210881  }
210882  
210883  // WebLinkedServiceTypeProperties base definition of WebLinkedServiceTypeProperties, this typeProperties is
210884  // polymorphic based on authenticationType, so not flattened in SDK models.
210885  type WebLinkedServiceTypeProperties struct {
210886  	// URL - The URL of the web service endpoint, e.g. http://www.microsoft.com . Type: string (or Expression with resultType string).
210887  	URL interface{} `json:"url,omitempty"`
210888  	// AuthenticationType - Possible values include: 'AuthenticationTypeWebLinkedServiceTypeProperties', 'AuthenticationTypeClientCertificate', 'AuthenticationTypeBasic', 'AuthenticationTypeAnonymous'
210889  	AuthenticationType AuthenticationType `json:"authenticationType,omitempty"`
210890  }
210891  
210892  func unmarshalBasicWebLinkedServiceTypeProperties(body []byte) (BasicWebLinkedServiceTypeProperties, error) {
210893  	var m map[string]interface{}
210894  	err := json.Unmarshal(body, &m)
210895  	if err != nil {
210896  		return nil, err
210897  	}
210898  
210899  	switch m["authenticationType"] {
210900  	case string(AuthenticationTypeClientCertificate):
210901  		var wcca WebClientCertificateAuthentication
210902  		err := json.Unmarshal(body, &wcca)
210903  		return wcca, err
210904  	case string(AuthenticationTypeBasic):
210905  		var wba WebBasicAuthentication
210906  		err := json.Unmarshal(body, &wba)
210907  		return wba, err
210908  	case string(AuthenticationTypeAnonymous):
210909  		var waa WebAnonymousAuthentication
210910  		err := json.Unmarshal(body, &waa)
210911  		return waa, err
210912  	default:
210913  		var wlstp WebLinkedServiceTypeProperties
210914  		err := json.Unmarshal(body, &wlstp)
210915  		return wlstp, err
210916  	}
210917  }
210918  func unmarshalBasicWebLinkedServiceTypePropertiesArray(body []byte) ([]BasicWebLinkedServiceTypeProperties, error) {
210919  	var rawMessages []*json.RawMessage
210920  	err := json.Unmarshal(body, &rawMessages)
210921  	if err != nil {
210922  		return nil, err
210923  	}
210924  
210925  	wlstpArray := make([]BasicWebLinkedServiceTypeProperties, len(rawMessages))
210926  
210927  	for index, rawMessage := range rawMessages {
210928  		wlstp, err := unmarshalBasicWebLinkedServiceTypeProperties(*rawMessage)
210929  		if err != nil {
210930  			return nil, err
210931  		}
210932  		wlstpArray[index] = wlstp
210933  	}
210934  	return wlstpArray, nil
210935  }
210936  
210937  // MarshalJSON is the custom marshaler for WebLinkedServiceTypeProperties.
210938  func (wlstp WebLinkedServiceTypeProperties) MarshalJSON() ([]byte, error) {
210939  	wlstp.AuthenticationType = AuthenticationTypeWebLinkedServiceTypeProperties
210940  	objectMap := make(map[string]interface{})
210941  	if wlstp.URL != nil {
210942  		objectMap["url"] = wlstp.URL
210943  	}
210944  	if wlstp.AuthenticationType != "" {
210945  		objectMap["authenticationType"] = wlstp.AuthenticationType
210946  	}
210947  	return json.Marshal(objectMap)
210948  }
210949  
210950  // AsWebClientCertificateAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
210951  func (wlstp WebLinkedServiceTypeProperties) AsWebClientCertificateAuthentication() (*WebClientCertificateAuthentication, bool) {
210952  	return nil, false
210953  }
210954  
210955  // AsWebBasicAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
210956  func (wlstp WebLinkedServiceTypeProperties) AsWebBasicAuthentication() (*WebBasicAuthentication, bool) {
210957  	return nil, false
210958  }
210959  
210960  // AsWebAnonymousAuthentication is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
210961  func (wlstp WebLinkedServiceTypeProperties) AsWebAnonymousAuthentication() (*WebAnonymousAuthentication, bool) {
210962  	return nil, false
210963  }
210964  
210965  // AsWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
210966  func (wlstp WebLinkedServiceTypeProperties) AsWebLinkedServiceTypeProperties() (*WebLinkedServiceTypeProperties, bool) {
210967  	return &wlstp, true
210968  }
210969  
210970  // AsBasicWebLinkedServiceTypeProperties is the BasicWebLinkedServiceTypeProperties implementation for WebLinkedServiceTypeProperties.
210971  func (wlstp WebLinkedServiceTypeProperties) AsBasicWebLinkedServiceTypeProperties() (BasicWebLinkedServiceTypeProperties, bool) {
210972  	return &wlstp, true
210973  }
210974  
210975  // WebSource a copy activity source for web page table.
210976  type WebSource struct {
210977  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
210978  	AdditionalProperties map[string]interface{} `json:""`
210979  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
210980  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
210981  	// 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])).
210982  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
210983  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
210984  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
210985  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
210986  	Type TypeBasicCopySource `json:"type,omitempty"`
210987  }
210988  
210989  // MarshalJSON is the custom marshaler for WebSource.
210990  func (ws WebSource) MarshalJSON() ([]byte, error) {
210991  	ws.Type = TypeWebSource
210992  	objectMap := make(map[string]interface{})
210993  	if ws.SourceRetryCount != nil {
210994  		objectMap["sourceRetryCount"] = ws.SourceRetryCount
210995  	}
210996  	if ws.SourceRetryWait != nil {
210997  		objectMap["sourceRetryWait"] = ws.SourceRetryWait
210998  	}
210999  	if ws.MaxConcurrentConnections != nil {
211000  		objectMap["maxConcurrentConnections"] = ws.MaxConcurrentConnections
211001  	}
211002  	if ws.Type != "" {
211003  		objectMap["type"] = ws.Type
211004  	}
211005  	for k, v := range ws.AdditionalProperties {
211006  		objectMap[k] = v
211007  	}
211008  	return json.Marshal(objectMap)
211009  }
211010  
211011  // AsHTTPSource is the BasicCopySource implementation for WebSource.
211012  func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) {
211013  	return nil, false
211014  }
211015  
211016  // AsAzureBlobFSSource is the BasicCopySource implementation for WebSource.
211017  func (ws WebSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
211018  	return nil, false
211019  }
211020  
211021  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource.
211022  func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
211023  	return nil, false
211024  }
211025  
211026  // AsOffice365Source is the BasicCopySource implementation for WebSource.
211027  func (ws WebSource) AsOffice365Source() (*Office365Source, bool) {
211028  	return nil, false
211029  }
211030  
211031  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for WebSource.
211032  func (ws WebSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
211033  	return nil, false
211034  }
211035  
211036  // AsMongoDbV2Source is the BasicCopySource implementation for WebSource.
211037  func (ws WebSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
211038  	return nil, false
211039  }
211040  
211041  // AsMongoDbSource is the BasicCopySource implementation for WebSource.
211042  func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) {
211043  	return nil, false
211044  }
211045  
211046  // AsWebSource is the BasicCopySource implementation for WebSource.
211047  func (ws WebSource) AsWebSource() (*WebSource, bool) {
211048  	return &ws, true
211049  }
211050  
211051  // AsOracleSource is the BasicCopySource implementation for WebSource.
211052  func (ws WebSource) AsOracleSource() (*OracleSource, bool) {
211053  	return nil, false
211054  }
211055  
211056  // AsAzureDataExplorerSource is the BasicCopySource implementation for WebSource.
211057  func (ws WebSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
211058  	return nil, false
211059  }
211060  
211061  // AsHdfsSource is the BasicCopySource implementation for WebSource.
211062  func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) {
211063  	return nil, false
211064  }
211065  
211066  // AsFileSystemSource is the BasicCopySource implementation for WebSource.
211067  func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) {
211068  	return nil, false
211069  }
211070  
211071  // AsRestSource is the BasicCopySource implementation for WebSource.
211072  func (ws WebSource) AsRestSource() (*RestSource, bool) {
211073  	return nil, false
211074  }
211075  
211076  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for WebSource.
211077  func (ws WebSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
211078  	return nil, false
211079  }
211080  
211081  // AsODataSource is the BasicCopySource implementation for WebSource.
211082  func (ws WebSource) AsODataSource() (*ODataSource, bool) {
211083  	return nil, false
211084  }
211085  
211086  // AsMicrosoftAccessSource is the BasicCopySource implementation for WebSource.
211087  func (ws WebSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
211088  	return nil, false
211089  }
211090  
211091  // AsRelationalSource is the BasicCopySource implementation for WebSource.
211092  func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) {
211093  	return nil, false
211094  }
211095  
211096  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for WebSource.
211097  func (ws WebSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
211098  	return nil, false
211099  }
211100  
211101  // AsDynamicsCrmSource is the BasicCopySource implementation for WebSource.
211102  func (ws WebSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
211103  	return nil, false
211104  }
211105  
211106  // AsDynamicsSource is the BasicCopySource implementation for WebSource.
211107  func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) {
211108  	return nil, false
211109  }
211110  
211111  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for WebSource.
211112  func (ws WebSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
211113  	return nil, false
211114  }
211115  
211116  // AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource.
211117  func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
211118  	return nil, false
211119  }
211120  
211121  // AsBlobSource is the BasicCopySource implementation for WebSource.
211122  func (ws WebSource) AsBlobSource() (*BlobSource, bool) {
211123  	return nil, false
211124  }
211125  
211126  // AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource.
211127  func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
211128  	return nil, false
211129  }
211130  
211131  // AsGoogleAdWordsSource is the BasicCopySource implementation for WebSource.
211132  func (ws WebSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
211133  	return nil, false
211134  }
211135  
211136  // AsOracleServiceCloudSource is the BasicCopySource implementation for WebSource.
211137  func (ws WebSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
211138  	return nil, false
211139  }
211140  
211141  // AsDynamicsAXSource is the BasicCopySource implementation for WebSource.
211142  func (ws WebSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
211143  	return nil, false
211144  }
211145  
211146  // AsResponsysSource is the BasicCopySource implementation for WebSource.
211147  func (ws WebSource) AsResponsysSource() (*ResponsysSource, bool) {
211148  	return nil, false
211149  }
211150  
211151  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for WebSource.
211152  func (ws WebSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
211153  	return nil, false
211154  }
211155  
211156  // AsVerticaSource is the BasicCopySource implementation for WebSource.
211157  func (ws WebSource) AsVerticaSource() (*VerticaSource, bool) {
211158  	return nil, false
211159  }
211160  
211161  // AsNetezzaSource is the BasicCopySource implementation for WebSource.
211162  func (ws WebSource) AsNetezzaSource() (*NetezzaSource, bool) {
211163  	return nil, false
211164  }
211165  
211166  // AsZohoSource is the BasicCopySource implementation for WebSource.
211167  func (ws WebSource) AsZohoSource() (*ZohoSource, bool) {
211168  	return nil, false
211169  }
211170  
211171  // AsXeroSource is the BasicCopySource implementation for WebSource.
211172  func (ws WebSource) AsXeroSource() (*XeroSource, bool) {
211173  	return nil, false
211174  }
211175  
211176  // AsSquareSource is the BasicCopySource implementation for WebSource.
211177  func (ws WebSource) AsSquareSource() (*SquareSource, bool) {
211178  	return nil, false
211179  }
211180  
211181  // AsSparkSource is the BasicCopySource implementation for WebSource.
211182  func (ws WebSource) AsSparkSource() (*SparkSource, bool) {
211183  	return nil, false
211184  }
211185  
211186  // AsShopifySource is the BasicCopySource implementation for WebSource.
211187  func (ws WebSource) AsShopifySource() (*ShopifySource, bool) {
211188  	return nil, false
211189  }
211190  
211191  // AsServiceNowSource is the BasicCopySource implementation for WebSource.
211192  func (ws WebSource) AsServiceNowSource() (*ServiceNowSource, bool) {
211193  	return nil, false
211194  }
211195  
211196  // AsQuickBooksSource is the BasicCopySource implementation for WebSource.
211197  func (ws WebSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
211198  	return nil, false
211199  }
211200  
211201  // AsPrestoSource is the BasicCopySource implementation for WebSource.
211202  func (ws WebSource) AsPrestoSource() (*PrestoSource, bool) {
211203  	return nil, false
211204  }
211205  
211206  // AsPhoenixSource is the BasicCopySource implementation for WebSource.
211207  func (ws WebSource) AsPhoenixSource() (*PhoenixSource, bool) {
211208  	return nil, false
211209  }
211210  
211211  // AsPaypalSource is the BasicCopySource implementation for WebSource.
211212  func (ws WebSource) AsPaypalSource() (*PaypalSource, bool) {
211213  	return nil, false
211214  }
211215  
211216  // AsMarketoSource is the BasicCopySource implementation for WebSource.
211217  func (ws WebSource) AsMarketoSource() (*MarketoSource, bool) {
211218  	return nil, false
211219  }
211220  
211221  // AsAzureMariaDBSource is the BasicCopySource implementation for WebSource.
211222  func (ws WebSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
211223  	return nil, false
211224  }
211225  
211226  // AsMariaDBSource is the BasicCopySource implementation for WebSource.
211227  func (ws WebSource) AsMariaDBSource() (*MariaDBSource, bool) {
211228  	return nil, false
211229  }
211230  
211231  // AsMagentoSource is the BasicCopySource implementation for WebSource.
211232  func (ws WebSource) AsMagentoSource() (*MagentoSource, bool) {
211233  	return nil, false
211234  }
211235  
211236  // AsJiraSource is the BasicCopySource implementation for WebSource.
211237  func (ws WebSource) AsJiraSource() (*JiraSource, bool) {
211238  	return nil, false
211239  }
211240  
211241  // AsImpalaSource is the BasicCopySource implementation for WebSource.
211242  func (ws WebSource) AsImpalaSource() (*ImpalaSource, bool) {
211243  	return nil, false
211244  }
211245  
211246  // AsHubspotSource is the BasicCopySource implementation for WebSource.
211247  func (ws WebSource) AsHubspotSource() (*HubspotSource, bool) {
211248  	return nil, false
211249  }
211250  
211251  // AsHiveSource is the BasicCopySource implementation for WebSource.
211252  func (ws WebSource) AsHiveSource() (*HiveSource, bool) {
211253  	return nil, false
211254  }
211255  
211256  // AsHBaseSource is the BasicCopySource implementation for WebSource.
211257  func (ws WebSource) AsHBaseSource() (*HBaseSource, bool) {
211258  	return nil, false
211259  }
211260  
211261  // AsGreenplumSource is the BasicCopySource implementation for WebSource.
211262  func (ws WebSource) AsGreenplumSource() (*GreenplumSource, bool) {
211263  	return nil, false
211264  }
211265  
211266  // AsGoogleBigQuerySource is the BasicCopySource implementation for WebSource.
211267  func (ws WebSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
211268  	return nil, false
211269  }
211270  
211271  // AsEloquaSource is the BasicCopySource implementation for WebSource.
211272  func (ws WebSource) AsEloquaSource() (*EloquaSource, bool) {
211273  	return nil, false
211274  }
211275  
211276  // AsDrillSource is the BasicCopySource implementation for WebSource.
211277  func (ws WebSource) AsDrillSource() (*DrillSource, bool) {
211278  	return nil, false
211279  }
211280  
211281  // AsCouchbaseSource is the BasicCopySource implementation for WebSource.
211282  func (ws WebSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
211283  	return nil, false
211284  }
211285  
211286  // AsConcurSource is the BasicCopySource implementation for WebSource.
211287  func (ws WebSource) AsConcurSource() (*ConcurSource, bool) {
211288  	return nil, false
211289  }
211290  
211291  // AsAzurePostgreSQLSource is the BasicCopySource implementation for WebSource.
211292  func (ws WebSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
211293  	return nil, false
211294  }
211295  
211296  // AsAmazonMWSSource is the BasicCopySource implementation for WebSource.
211297  func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
211298  	return nil, false
211299  }
211300  
211301  // AsCassandraSource is the BasicCopySource implementation for WebSource.
211302  func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) {
211303  	return nil, false
211304  }
211305  
211306  // AsTeradataSource is the BasicCopySource implementation for WebSource.
211307  func (ws WebSource) AsTeradataSource() (*TeradataSource, bool) {
211308  	return nil, false
211309  }
211310  
211311  // AsAzureMySQLSource is the BasicCopySource implementation for WebSource.
211312  func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
211313  	return nil, false
211314  }
211315  
211316  // AsSQLDWSource is the BasicCopySource implementation for WebSource.
211317  func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) {
211318  	return nil, false
211319  }
211320  
211321  // AsSQLMISource is the BasicCopySource implementation for WebSource.
211322  func (ws WebSource) AsSQLMISource() (*SQLMISource, bool) {
211323  	return nil, false
211324  }
211325  
211326  // AsAzureSQLSource is the BasicCopySource implementation for WebSource.
211327  func (ws WebSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
211328  	return nil, false
211329  }
211330  
211331  // AsSQLServerSource is the BasicCopySource implementation for WebSource.
211332  func (ws WebSource) AsSQLServerSource() (*SQLServerSource, bool) {
211333  	return nil, false
211334  }
211335  
211336  // AsSQLSource is the BasicCopySource implementation for WebSource.
211337  func (ws WebSource) AsSQLSource() (*SQLSource, bool) {
211338  	return nil, false
211339  }
211340  
211341  // AsSapTableSource is the BasicCopySource implementation for WebSource.
211342  func (ws WebSource) AsSapTableSource() (*SapTableSource, bool) {
211343  	return nil, false
211344  }
211345  
211346  // AsSapOpenHubSource is the BasicCopySource implementation for WebSource.
211347  func (ws WebSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
211348  	return nil, false
211349  }
211350  
211351  // AsSapHanaSource is the BasicCopySource implementation for WebSource.
211352  func (ws WebSource) AsSapHanaSource() (*SapHanaSource, bool) {
211353  	return nil, false
211354  }
211355  
211356  // AsSapEccSource is the BasicCopySource implementation for WebSource.
211357  func (ws WebSource) AsSapEccSource() (*SapEccSource, bool) {
211358  	return nil, false
211359  }
211360  
211361  // AsSapCloudForCustomerSource is the BasicCopySource implementation for WebSource.
211362  func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
211363  	return nil, false
211364  }
211365  
211366  // AsSalesforceSource is the BasicCopySource implementation for WebSource.
211367  func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) {
211368  	return nil, false
211369  }
211370  
211371  // AsSapBwSource is the BasicCopySource implementation for WebSource.
211372  func (ws WebSource) AsSapBwSource() (*SapBwSource, bool) {
211373  	return nil, false
211374  }
211375  
211376  // AsSybaseSource is the BasicCopySource implementation for WebSource.
211377  func (ws WebSource) AsSybaseSource() (*SybaseSource, bool) {
211378  	return nil, false
211379  }
211380  
211381  // AsPostgreSQLSource is the BasicCopySource implementation for WebSource.
211382  func (ws WebSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
211383  	return nil, false
211384  }
211385  
211386  // AsMySQLSource is the BasicCopySource implementation for WebSource.
211387  func (ws WebSource) AsMySQLSource() (*MySQLSource, bool) {
211388  	return nil, false
211389  }
211390  
211391  // AsOdbcSource is the BasicCopySource implementation for WebSource.
211392  func (ws WebSource) AsOdbcSource() (*OdbcSource, bool) {
211393  	return nil, false
211394  }
211395  
211396  // AsDb2Source is the BasicCopySource implementation for WebSource.
211397  func (ws WebSource) AsDb2Source() (*Db2Source, bool) {
211398  	return nil, false
211399  }
211400  
211401  // AsInformixSource is the BasicCopySource implementation for WebSource.
211402  func (ws WebSource) AsInformixSource() (*InformixSource, bool) {
211403  	return nil, false
211404  }
211405  
211406  // AsAzureTableSource is the BasicCopySource implementation for WebSource.
211407  func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) {
211408  	return nil, false
211409  }
211410  
211411  // AsTabularSource is the BasicCopySource implementation for WebSource.
211412  func (ws WebSource) AsTabularSource() (*TabularSource, bool) {
211413  	return nil, false
211414  }
211415  
211416  // AsBasicTabularSource is the BasicCopySource implementation for WebSource.
211417  func (ws WebSource) AsBasicTabularSource() (BasicTabularSource, bool) {
211418  	return nil, false
211419  }
211420  
211421  // AsBinarySource is the BasicCopySource implementation for WebSource.
211422  func (ws WebSource) AsBinarySource() (*BinarySource, bool) {
211423  	return nil, false
211424  }
211425  
211426  // AsOrcSource is the BasicCopySource implementation for WebSource.
211427  func (ws WebSource) AsOrcSource() (*OrcSource, bool) {
211428  	return nil, false
211429  }
211430  
211431  // AsJSONSource is the BasicCopySource implementation for WebSource.
211432  func (ws WebSource) AsJSONSource() (*JSONSource, bool) {
211433  	return nil, false
211434  }
211435  
211436  // AsDelimitedTextSource is the BasicCopySource implementation for WebSource.
211437  func (ws WebSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
211438  	return nil, false
211439  }
211440  
211441  // AsParquetSource is the BasicCopySource implementation for WebSource.
211442  func (ws WebSource) AsParquetSource() (*ParquetSource, bool) {
211443  	return nil, false
211444  }
211445  
211446  // AsAvroSource is the BasicCopySource implementation for WebSource.
211447  func (ws WebSource) AsAvroSource() (*AvroSource, bool) {
211448  	return nil, false
211449  }
211450  
211451  // AsCopySource is the BasicCopySource implementation for WebSource.
211452  func (ws WebSource) AsCopySource() (*CopySource, bool) {
211453  	return nil, false
211454  }
211455  
211456  // AsBasicCopySource is the BasicCopySource implementation for WebSource.
211457  func (ws WebSource) AsBasicCopySource() (BasicCopySource, bool) {
211458  	return &ws, true
211459  }
211460  
211461  // UnmarshalJSON is the custom unmarshaler for WebSource struct.
211462  func (ws *WebSource) UnmarshalJSON(body []byte) error {
211463  	var m map[string]*json.RawMessage
211464  	err := json.Unmarshal(body, &m)
211465  	if err != nil {
211466  		return err
211467  	}
211468  	for k, v := range m {
211469  		switch k {
211470  		default:
211471  			if v != nil {
211472  				var additionalProperties interface{}
211473  				err = json.Unmarshal(*v, &additionalProperties)
211474  				if err != nil {
211475  					return err
211476  				}
211477  				if ws.AdditionalProperties == nil {
211478  					ws.AdditionalProperties = make(map[string]interface{})
211479  				}
211480  				ws.AdditionalProperties[k] = additionalProperties
211481  			}
211482  		case "sourceRetryCount":
211483  			if v != nil {
211484  				var sourceRetryCount interface{}
211485  				err = json.Unmarshal(*v, &sourceRetryCount)
211486  				if err != nil {
211487  					return err
211488  				}
211489  				ws.SourceRetryCount = sourceRetryCount
211490  			}
211491  		case "sourceRetryWait":
211492  			if v != nil {
211493  				var sourceRetryWait interface{}
211494  				err = json.Unmarshal(*v, &sourceRetryWait)
211495  				if err != nil {
211496  					return err
211497  				}
211498  				ws.SourceRetryWait = sourceRetryWait
211499  			}
211500  		case "maxConcurrentConnections":
211501  			if v != nil {
211502  				var maxConcurrentConnections interface{}
211503  				err = json.Unmarshal(*v, &maxConcurrentConnections)
211504  				if err != nil {
211505  					return err
211506  				}
211507  				ws.MaxConcurrentConnections = maxConcurrentConnections
211508  			}
211509  		case "type":
211510  			if v != nil {
211511  				var typeVar TypeBasicCopySource
211512  				err = json.Unmarshal(*v, &typeVar)
211513  				if err != nil {
211514  					return err
211515  				}
211516  				ws.Type = typeVar
211517  			}
211518  		}
211519  	}
211520  
211521  	return nil
211522  }
211523  
211524  // WebTableDataset the dataset points to a HTML table in the web page.
211525  type WebTableDataset struct {
211526  	// WebTableDatasetTypeProperties - Web table dataset properties.
211527  	*WebTableDatasetTypeProperties `json:"typeProperties,omitempty"`
211528  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
211529  	AdditionalProperties map[string]interface{} `json:""`
211530  	// Description - Dataset description.
211531  	Description *string `json:"description,omitempty"`
211532  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
211533  	Structure interface{} `json:"structure,omitempty"`
211534  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
211535  	Schema interface{} `json:"schema,omitempty"`
211536  	// LinkedServiceName - Linked service reference.
211537  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
211538  	// Parameters - Parameters for dataset.
211539  	Parameters map[string]*ParameterSpecification `json:"parameters"`
211540  	// Annotations - List of tags that can be used for describing the Dataset.
211541  	Annotations *[]interface{} `json:"annotations,omitempty"`
211542  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
211543  	Folder *DatasetFolder `json:"folder,omitempty"`
211544  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
211545  	Type TypeBasicDataset `json:"type,omitempty"`
211546  }
211547  
211548  // MarshalJSON is the custom marshaler for WebTableDataset.
211549  func (wtd WebTableDataset) MarshalJSON() ([]byte, error) {
211550  	wtd.Type = TypeWebTable
211551  	objectMap := make(map[string]interface{})
211552  	if wtd.WebTableDatasetTypeProperties != nil {
211553  		objectMap["typeProperties"] = wtd.WebTableDatasetTypeProperties
211554  	}
211555  	if wtd.Description != nil {
211556  		objectMap["description"] = wtd.Description
211557  	}
211558  	if wtd.Structure != nil {
211559  		objectMap["structure"] = wtd.Structure
211560  	}
211561  	if wtd.Schema != nil {
211562  		objectMap["schema"] = wtd.Schema
211563  	}
211564  	if wtd.LinkedServiceName != nil {
211565  		objectMap["linkedServiceName"] = wtd.LinkedServiceName
211566  	}
211567  	if wtd.Parameters != nil {
211568  		objectMap["parameters"] = wtd.Parameters
211569  	}
211570  	if wtd.Annotations != nil {
211571  		objectMap["annotations"] = wtd.Annotations
211572  	}
211573  	if wtd.Folder != nil {
211574  		objectMap["folder"] = wtd.Folder
211575  	}
211576  	if wtd.Type != "" {
211577  		objectMap["type"] = wtd.Type
211578  	}
211579  	for k, v := range wtd.AdditionalProperties {
211580  		objectMap[k] = v
211581  	}
211582  	return json.Marshal(objectMap)
211583  }
211584  
211585  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for WebTableDataset.
211586  func (wtd WebTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
211587  	return nil, false
211588  }
211589  
211590  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for WebTableDataset.
211591  func (wtd WebTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
211592  	return nil, false
211593  }
211594  
211595  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
211596  func (wtd WebTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
211597  	return nil, false
211598  }
211599  
211600  // AsDynamicsAXResourceDataset is the BasicDataset implementation for WebTableDataset.
211601  func (wtd WebTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
211602  	return nil, false
211603  }
211604  
211605  // AsResponsysObjectDataset is the BasicDataset implementation for WebTableDataset.
211606  func (wtd WebTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
211607  	return nil, false
211608  }
211609  
211610  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
211611  func (wtd WebTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
211612  	return nil, false
211613  }
211614  
211615  // AsVerticaTableDataset is the BasicDataset implementation for WebTableDataset.
211616  func (wtd WebTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
211617  	return nil, false
211618  }
211619  
211620  // AsNetezzaTableDataset is the BasicDataset implementation for WebTableDataset.
211621  func (wtd WebTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
211622  	return nil, false
211623  }
211624  
211625  // AsZohoObjectDataset is the BasicDataset implementation for WebTableDataset.
211626  func (wtd WebTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
211627  	return nil, false
211628  }
211629  
211630  // AsXeroObjectDataset is the BasicDataset implementation for WebTableDataset.
211631  func (wtd WebTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
211632  	return nil, false
211633  }
211634  
211635  // AsSquareObjectDataset is the BasicDataset implementation for WebTableDataset.
211636  func (wtd WebTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
211637  	return nil, false
211638  }
211639  
211640  // AsSparkObjectDataset is the BasicDataset implementation for WebTableDataset.
211641  func (wtd WebTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
211642  	return nil, false
211643  }
211644  
211645  // AsShopifyObjectDataset is the BasicDataset implementation for WebTableDataset.
211646  func (wtd WebTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
211647  	return nil, false
211648  }
211649  
211650  // AsServiceNowObjectDataset is the BasicDataset implementation for WebTableDataset.
211651  func (wtd WebTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
211652  	return nil, false
211653  }
211654  
211655  // AsQuickBooksObjectDataset is the BasicDataset implementation for WebTableDataset.
211656  func (wtd WebTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
211657  	return nil, false
211658  }
211659  
211660  // AsPrestoObjectDataset is the BasicDataset implementation for WebTableDataset.
211661  func (wtd WebTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
211662  	return nil, false
211663  }
211664  
211665  // AsPhoenixObjectDataset is the BasicDataset implementation for WebTableDataset.
211666  func (wtd WebTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
211667  	return nil, false
211668  }
211669  
211670  // AsPaypalObjectDataset is the BasicDataset implementation for WebTableDataset.
211671  func (wtd WebTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
211672  	return nil, false
211673  }
211674  
211675  // AsMarketoObjectDataset is the BasicDataset implementation for WebTableDataset.
211676  func (wtd WebTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
211677  	return nil, false
211678  }
211679  
211680  // AsAzureMariaDBTableDataset is the BasicDataset implementation for WebTableDataset.
211681  func (wtd WebTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
211682  	return nil, false
211683  }
211684  
211685  // AsMariaDBTableDataset is the BasicDataset implementation for WebTableDataset.
211686  func (wtd WebTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
211687  	return nil, false
211688  }
211689  
211690  // AsMagentoObjectDataset is the BasicDataset implementation for WebTableDataset.
211691  func (wtd WebTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
211692  	return nil, false
211693  }
211694  
211695  // AsJiraObjectDataset is the BasicDataset implementation for WebTableDataset.
211696  func (wtd WebTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
211697  	return nil, false
211698  }
211699  
211700  // AsImpalaObjectDataset is the BasicDataset implementation for WebTableDataset.
211701  func (wtd WebTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
211702  	return nil, false
211703  }
211704  
211705  // AsHubspotObjectDataset is the BasicDataset implementation for WebTableDataset.
211706  func (wtd WebTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
211707  	return nil, false
211708  }
211709  
211710  // AsHiveObjectDataset is the BasicDataset implementation for WebTableDataset.
211711  func (wtd WebTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
211712  	return nil, false
211713  }
211714  
211715  // AsHBaseObjectDataset is the BasicDataset implementation for WebTableDataset.
211716  func (wtd WebTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
211717  	return nil, false
211718  }
211719  
211720  // AsGreenplumTableDataset is the BasicDataset implementation for WebTableDataset.
211721  func (wtd WebTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
211722  	return nil, false
211723  }
211724  
211725  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for WebTableDataset.
211726  func (wtd WebTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
211727  	return nil, false
211728  }
211729  
211730  // AsEloquaObjectDataset is the BasicDataset implementation for WebTableDataset.
211731  func (wtd WebTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
211732  	return nil, false
211733  }
211734  
211735  // AsDrillTableDataset is the BasicDataset implementation for WebTableDataset.
211736  func (wtd WebTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
211737  	return nil, false
211738  }
211739  
211740  // AsCouchbaseTableDataset is the BasicDataset implementation for WebTableDataset.
211741  func (wtd WebTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
211742  	return nil, false
211743  }
211744  
211745  // AsConcurObjectDataset is the BasicDataset implementation for WebTableDataset.
211746  func (wtd WebTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
211747  	return nil, false
211748  }
211749  
211750  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
211751  func (wtd WebTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
211752  	return nil, false
211753  }
211754  
211755  // AsAmazonMWSObjectDataset is the BasicDataset implementation for WebTableDataset.
211756  func (wtd WebTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
211757  	return nil, false
211758  }
211759  
211760  // AsAzureSearchIndexDataset is the BasicDataset implementation for WebTableDataset.
211761  func (wtd WebTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
211762  	return nil, false
211763  }
211764  
211765  // AsWebTableDataset is the BasicDataset implementation for WebTableDataset.
211766  func (wtd WebTableDataset) AsWebTableDataset() (*WebTableDataset, bool) {
211767  	return &wtd, true
211768  }
211769  
211770  // AsSapTableResourceDataset is the BasicDataset implementation for WebTableDataset.
211771  func (wtd WebTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
211772  	return nil, false
211773  }
211774  
211775  // AsRestResourceDataset is the BasicDataset implementation for WebTableDataset.
211776  func (wtd WebTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
211777  	return nil, false
211778  }
211779  
211780  // AsSQLServerTableDataset is the BasicDataset implementation for WebTableDataset.
211781  func (wtd WebTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
211782  	return nil, false
211783  }
211784  
211785  // AsSapOpenHubTableDataset is the BasicDataset implementation for WebTableDataset.
211786  func (wtd WebTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
211787  	return nil, false
211788  }
211789  
211790  // AsSapHanaTableDataset is the BasicDataset implementation for WebTableDataset.
211791  func (wtd WebTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
211792  	return nil, false
211793  }
211794  
211795  // AsSapEccResourceDataset is the BasicDataset implementation for WebTableDataset.
211796  func (wtd WebTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
211797  	return nil, false
211798  }
211799  
211800  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for WebTableDataset.
211801  func (wtd WebTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
211802  	return nil, false
211803  }
211804  
211805  // AsSapBwCubeDataset is the BasicDataset implementation for WebTableDataset.
211806  func (wtd WebTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
211807  	return nil, false
211808  }
211809  
211810  // AsSybaseTableDataset is the BasicDataset implementation for WebTableDataset.
211811  func (wtd WebTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
211812  	return nil, false
211813  }
211814  
211815  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for WebTableDataset.
211816  func (wtd WebTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
211817  	return nil, false
211818  }
211819  
211820  // AsSalesforceObjectDataset is the BasicDataset implementation for WebTableDataset.
211821  func (wtd WebTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
211822  	return nil, false
211823  }
211824  
211825  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for WebTableDataset.
211826  func (wtd WebTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
211827  	return nil, false
211828  }
211829  
211830  // AsPostgreSQLTableDataset is the BasicDataset implementation for WebTableDataset.
211831  func (wtd WebTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
211832  	return nil, false
211833  }
211834  
211835  // AsMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
211836  func (wtd WebTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
211837  	return nil, false
211838  }
211839  
211840  // AsOdbcTableDataset is the BasicDataset implementation for WebTableDataset.
211841  func (wtd WebTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
211842  	return nil, false
211843  }
211844  
211845  // AsInformixTableDataset is the BasicDataset implementation for WebTableDataset.
211846  func (wtd WebTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
211847  	return nil, false
211848  }
211849  
211850  // AsRelationalTableDataset is the BasicDataset implementation for WebTableDataset.
211851  func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
211852  	return nil, false
211853  }
211854  
211855  // AsDb2TableDataset is the BasicDataset implementation for WebTableDataset.
211856  func (wtd WebTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
211857  	return nil, false
211858  }
211859  
211860  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for WebTableDataset.
211861  func (wtd WebTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
211862  	return nil, false
211863  }
211864  
211865  // AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset.
211866  func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
211867  	return nil, false
211868  }
211869  
211870  // AsTeradataTableDataset is the BasicDataset implementation for WebTableDataset.
211871  func (wtd WebTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
211872  	return nil, false
211873  }
211874  
211875  // AsOracleTableDataset is the BasicDataset implementation for WebTableDataset.
211876  func (wtd WebTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
211877  	return nil, false
211878  }
211879  
211880  // AsODataResourceDataset is the BasicDataset implementation for WebTableDataset.
211881  func (wtd WebTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
211882  	return nil, false
211883  }
211884  
211885  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for WebTableDataset.
211886  func (wtd WebTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
211887  	return nil, false
211888  }
211889  
211890  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for WebTableDataset.
211891  func (wtd WebTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
211892  	return nil, false
211893  }
211894  
211895  // AsMongoDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
211896  func (wtd WebTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
211897  	return nil, false
211898  }
211899  
211900  // AsOffice365Dataset is the BasicDataset implementation for WebTableDataset.
211901  func (wtd WebTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
211902  	return nil, false
211903  }
211904  
211905  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for WebTableDataset.
211906  func (wtd WebTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
211907  	return nil, false
211908  }
211909  
211910  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for WebTableDataset.
211911  func (wtd WebTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
211912  	return nil, false
211913  }
211914  
211915  // AsDynamicsEntityDataset is the BasicDataset implementation for WebTableDataset.
211916  func (wtd WebTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
211917  	return nil, false
211918  }
211919  
211920  // AsDocumentDbCollectionDataset is the BasicDataset implementation for WebTableDataset.
211921  func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
211922  	return nil, false
211923  }
211924  
211925  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for WebTableDataset.
211926  func (wtd WebTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
211927  	return nil, false
211928  }
211929  
211930  // AsCustomDataset is the BasicDataset implementation for WebTableDataset.
211931  func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) {
211932  	return nil, false
211933  }
211934  
211935  // AsCassandraTableDataset is the BasicDataset implementation for WebTableDataset.
211936  func (wtd WebTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
211937  	return nil, false
211938  }
211939  
211940  // AsAzureSQLDWTableDataset is the BasicDataset implementation for WebTableDataset.
211941  func (wtd WebTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
211942  	return nil, false
211943  }
211944  
211945  // AsAzureSQLMITableDataset is the BasicDataset implementation for WebTableDataset.
211946  func (wtd WebTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
211947  	return nil, false
211948  }
211949  
211950  // AsAzureSQLTableDataset is the BasicDataset implementation for WebTableDataset.
211951  func (wtd WebTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
211952  	return nil, false
211953  }
211954  
211955  // AsAzureTableDataset is the BasicDataset implementation for WebTableDataset.
211956  func (wtd WebTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
211957  	return nil, false
211958  }
211959  
211960  // AsBinaryDataset is the BasicDataset implementation for WebTableDataset.
211961  func (wtd WebTableDataset) AsBinaryDataset() (*BinaryDataset, bool) {
211962  	return nil, false
211963  }
211964  
211965  // AsOrcDataset is the BasicDataset implementation for WebTableDataset.
211966  func (wtd WebTableDataset) AsOrcDataset() (*OrcDataset, bool) {
211967  	return nil, false
211968  }
211969  
211970  // AsJSONDataset is the BasicDataset implementation for WebTableDataset.
211971  func (wtd WebTableDataset) AsJSONDataset() (*JSONDataset, bool) {
211972  	return nil, false
211973  }
211974  
211975  // AsDelimitedTextDataset is the BasicDataset implementation for WebTableDataset.
211976  func (wtd WebTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
211977  	return nil, false
211978  }
211979  
211980  // AsParquetDataset is the BasicDataset implementation for WebTableDataset.
211981  func (wtd WebTableDataset) AsParquetDataset() (*ParquetDataset, bool) {
211982  	return nil, false
211983  }
211984  
211985  // AsAvroDataset is the BasicDataset implementation for WebTableDataset.
211986  func (wtd WebTableDataset) AsAvroDataset() (*AvroDataset, bool) {
211987  	return nil, false
211988  }
211989  
211990  // AsDataset is the BasicDataset implementation for WebTableDataset.
211991  func (wtd WebTableDataset) AsDataset() (*Dataset, bool) {
211992  	return nil, false
211993  }
211994  
211995  // AsBasicDataset is the BasicDataset implementation for WebTableDataset.
211996  func (wtd WebTableDataset) AsBasicDataset() (BasicDataset, bool) {
211997  	return &wtd, true
211998  }
211999  
212000  // UnmarshalJSON is the custom unmarshaler for WebTableDataset struct.
212001  func (wtd *WebTableDataset) UnmarshalJSON(body []byte) error {
212002  	var m map[string]*json.RawMessage
212003  	err := json.Unmarshal(body, &m)
212004  	if err != nil {
212005  		return err
212006  	}
212007  	for k, v := range m {
212008  		switch k {
212009  		case "typeProperties":
212010  			if v != nil {
212011  				var webTableDatasetTypeProperties WebTableDatasetTypeProperties
212012  				err = json.Unmarshal(*v, &webTableDatasetTypeProperties)
212013  				if err != nil {
212014  					return err
212015  				}
212016  				wtd.WebTableDatasetTypeProperties = &webTableDatasetTypeProperties
212017  			}
212018  		default:
212019  			if v != nil {
212020  				var additionalProperties interface{}
212021  				err = json.Unmarshal(*v, &additionalProperties)
212022  				if err != nil {
212023  					return err
212024  				}
212025  				if wtd.AdditionalProperties == nil {
212026  					wtd.AdditionalProperties = make(map[string]interface{})
212027  				}
212028  				wtd.AdditionalProperties[k] = additionalProperties
212029  			}
212030  		case "description":
212031  			if v != nil {
212032  				var description string
212033  				err = json.Unmarshal(*v, &description)
212034  				if err != nil {
212035  					return err
212036  				}
212037  				wtd.Description = &description
212038  			}
212039  		case "structure":
212040  			if v != nil {
212041  				var structure interface{}
212042  				err = json.Unmarshal(*v, &structure)
212043  				if err != nil {
212044  					return err
212045  				}
212046  				wtd.Structure = structure
212047  			}
212048  		case "schema":
212049  			if v != nil {
212050  				var schema interface{}
212051  				err = json.Unmarshal(*v, &schema)
212052  				if err != nil {
212053  					return err
212054  				}
212055  				wtd.Schema = schema
212056  			}
212057  		case "linkedServiceName":
212058  			if v != nil {
212059  				var linkedServiceName LinkedServiceReference
212060  				err = json.Unmarshal(*v, &linkedServiceName)
212061  				if err != nil {
212062  					return err
212063  				}
212064  				wtd.LinkedServiceName = &linkedServiceName
212065  			}
212066  		case "parameters":
212067  			if v != nil {
212068  				var parameters map[string]*ParameterSpecification
212069  				err = json.Unmarshal(*v, &parameters)
212070  				if err != nil {
212071  					return err
212072  				}
212073  				wtd.Parameters = parameters
212074  			}
212075  		case "annotations":
212076  			if v != nil {
212077  				var annotations []interface{}
212078  				err = json.Unmarshal(*v, &annotations)
212079  				if err != nil {
212080  					return err
212081  				}
212082  				wtd.Annotations = &annotations
212083  			}
212084  		case "folder":
212085  			if v != nil {
212086  				var folder DatasetFolder
212087  				err = json.Unmarshal(*v, &folder)
212088  				if err != nil {
212089  					return err
212090  				}
212091  				wtd.Folder = &folder
212092  			}
212093  		case "type":
212094  			if v != nil {
212095  				var typeVar TypeBasicDataset
212096  				err = json.Unmarshal(*v, &typeVar)
212097  				if err != nil {
212098  					return err
212099  				}
212100  				wtd.Type = typeVar
212101  			}
212102  		}
212103  	}
212104  
212105  	return nil
212106  }
212107  
212108  // WebTableDatasetTypeProperties web table dataset properties.
212109  type WebTableDatasetTypeProperties struct {
212110  	// Index - The zero-based index of the table in the web page. Type: integer (or Expression with resultType integer), minimum: 0.
212111  	Index interface{} `json:"index,omitempty"`
212112  	// Path - The relative URL to the web page from the linked service URL. Type: string (or Expression with resultType string).
212113  	Path interface{} `json:"path,omitempty"`
212114  }
212115  
212116  // Workspace a workspace
212117  type Workspace struct {
212118  	autorest.Response `json:"-"`
212119  	// WorkspaceProperties - Workspace resource properties
212120  	*WorkspaceProperties `json:"properties,omitempty"`
212121  	// Identity - Identity of the workspace
212122  	Identity *ManagedIdentity `json:"identity,omitempty"`
212123  	// Tags - Resource tags.
212124  	Tags map[string]*string `json:"tags"`
212125  	// Location - The geo-location where the resource lives
212126  	Location *string `json:"location,omitempty"`
212127  	// ID - READ-ONLY; Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
212128  	ID *string `json:"id,omitempty"`
212129  	// Name - READ-ONLY; The name of the resource
212130  	Name *string `json:"name,omitempty"`
212131  	// Type - READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
212132  	Type *string `json:"type,omitempty"`
212133  }
212134  
212135  // MarshalJSON is the custom marshaler for Workspace.
212136  func (w Workspace) MarshalJSON() ([]byte, error) {
212137  	objectMap := make(map[string]interface{})
212138  	if w.WorkspaceProperties != nil {
212139  		objectMap["properties"] = w.WorkspaceProperties
212140  	}
212141  	if w.Identity != nil {
212142  		objectMap["identity"] = w.Identity
212143  	}
212144  	if w.Tags != nil {
212145  		objectMap["tags"] = w.Tags
212146  	}
212147  	if w.Location != nil {
212148  		objectMap["location"] = w.Location
212149  	}
212150  	return json.Marshal(objectMap)
212151  }
212152  
212153  // UnmarshalJSON is the custom unmarshaler for Workspace struct.
212154  func (w *Workspace) UnmarshalJSON(body []byte) error {
212155  	var m map[string]*json.RawMessage
212156  	err := json.Unmarshal(body, &m)
212157  	if err != nil {
212158  		return err
212159  	}
212160  	for k, v := range m {
212161  		switch k {
212162  		case "properties":
212163  			if v != nil {
212164  				var workspaceProperties WorkspaceProperties
212165  				err = json.Unmarshal(*v, &workspaceProperties)
212166  				if err != nil {
212167  					return err
212168  				}
212169  				w.WorkspaceProperties = &workspaceProperties
212170  			}
212171  		case "identity":
212172  			if v != nil {
212173  				var identity ManagedIdentity
212174  				err = json.Unmarshal(*v, &identity)
212175  				if err != nil {
212176  					return err
212177  				}
212178  				w.Identity = &identity
212179  			}
212180  		case "tags":
212181  			if v != nil {
212182  				var tags map[string]*string
212183  				err = json.Unmarshal(*v, &tags)
212184  				if err != nil {
212185  					return err
212186  				}
212187  				w.Tags = tags
212188  			}
212189  		case "location":
212190  			if v != nil {
212191  				var location string
212192  				err = json.Unmarshal(*v, &location)
212193  				if err != nil {
212194  					return err
212195  				}
212196  				w.Location = &location
212197  			}
212198  		case "id":
212199  			if v != nil {
212200  				var ID string
212201  				err = json.Unmarshal(*v, &ID)
212202  				if err != nil {
212203  					return err
212204  				}
212205  				w.ID = &ID
212206  			}
212207  		case "name":
212208  			if v != nil {
212209  				var name string
212210  				err = json.Unmarshal(*v, &name)
212211  				if err != nil {
212212  					return err
212213  				}
212214  				w.Name = &name
212215  			}
212216  		case "type":
212217  			if v != nil {
212218  				var typeVar string
212219  				err = json.Unmarshal(*v, &typeVar)
212220  				if err != nil {
212221  					return err
212222  				}
212223  				w.Type = &typeVar
212224  			}
212225  		}
212226  	}
212227  
212228  	return nil
212229  }
212230  
212231  // WorkspaceIdentity identity properties of the workspace resource.
212232  type WorkspaceIdentity struct {
212233  	// Type - The identity type. Currently the only supported type is 'SystemAssigned'.
212234  	Type *string `json:"type,omitempty"`
212235  	// PrincipalID - READ-ONLY; The principal id of the identity.
212236  	PrincipalID *string `json:"principalId,omitempty"`
212237  	// TenantID - READ-ONLY; The client tenant id of the identity.
212238  	TenantID *string `json:"tenantId,omitempty"`
212239  }
212240  
212241  // MarshalJSON is the custom marshaler for WorkspaceIdentity.
212242  func (wi WorkspaceIdentity) MarshalJSON() ([]byte, error) {
212243  	objectMap := make(map[string]interface{})
212244  	if wi.Type != nil {
212245  		objectMap["type"] = wi.Type
212246  	}
212247  	return json.Marshal(objectMap)
212248  }
212249  
212250  // WorkspaceKeyDetails details of the customer managed key associated with the workspace
212251  type WorkspaceKeyDetails struct {
212252  	// Name - Workspace Key sub-resource name
212253  	Name *string `json:"name,omitempty"`
212254  	// KeyVaultURL - Workspace Key sub-resource key vault url
212255  	KeyVaultURL *string `json:"keyVaultUrl,omitempty"`
212256  }
212257  
212258  // WorkspaceProperties workspace properties
212259  type WorkspaceProperties struct {
212260  	// DefaultDataLakeStorage - Workspace default data lake storage account details
212261  	DefaultDataLakeStorage *DataLakeStorageAccountDetails `json:"defaultDataLakeStorage,omitempty"`
212262  	// SQLAdministratorLoginPassword - SQL administrator login password
212263  	SQLAdministratorLoginPassword *string `json:"sqlAdministratorLoginPassword,omitempty"`
212264  	// ManagedResourceGroupName - Workspace managed resource group. The resource group name uniquely identifies the resource group within the user subscriptionId. The resource group name must be no longer than 90 characters long, and must be alphanumeric characters (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'
212265  	ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"`
212266  	// ProvisioningState - READ-ONLY; Resource provisioning state
212267  	ProvisioningState *string `json:"provisioningState,omitempty"`
212268  	// SQLAdministratorLogin - Login for workspace SQL active directory administrator
212269  	SQLAdministratorLogin *string `json:"sqlAdministratorLogin,omitempty"`
212270  	// VirtualNetworkProfile - Virtual Network profile
212271  	VirtualNetworkProfile *VirtualNetworkProfile `json:"virtualNetworkProfile,omitempty"`
212272  	// ConnectivityEndpoints - Connectivity endpoints
212273  	ConnectivityEndpoints map[string]*string `json:"connectivityEndpoints"`
212274  	// ManagedVirtualNetwork - Setting this to 'default' will ensure that all compute for this workspace is in a virtual network managed on behalf of the user.
212275  	ManagedVirtualNetwork *string `json:"managedVirtualNetwork,omitempty"`
212276  	// PrivateEndpointConnections - Private endpoint connections to the workspace
212277  	PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"`
212278  	// Encryption - The encryption details of the workspace
212279  	Encryption *EncryptionDetails `json:"encryption,omitempty"`
212280  	// WorkspaceUID - READ-ONLY; The workspace unique identifier
212281  	WorkspaceUID *uuid.UUID `json:"workspaceUID,omitempty"`
212282  	// ExtraProperties - READ-ONLY; Workspace level configs and feature flags
212283  	ExtraProperties map[string]interface{} `json:"extraProperties"`
212284  	// ManagedVirtualNetworkSettings - Managed Virtual Network Settings
212285  	ManagedVirtualNetworkSettings *ManagedVirtualNetworkSettings `json:"managedVirtualNetworkSettings,omitempty"`
212286  	// WorkspaceRepositoryConfiguration - Git integration settings
212287  	WorkspaceRepositoryConfiguration *WorkspaceRepositoryConfiguration `json:"workspaceRepositoryConfiguration,omitempty"`
212288  	// PurviewConfiguration - Purview Configuration
212289  	PurviewConfiguration *PurviewConfiguration `json:"purviewConfiguration,omitempty"`
212290  }
212291  
212292  // MarshalJSON is the custom marshaler for WorkspaceProperties.
212293  func (wp WorkspaceProperties) MarshalJSON() ([]byte, error) {
212294  	objectMap := make(map[string]interface{})
212295  	if wp.DefaultDataLakeStorage != nil {
212296  		objectMap["defaultDataLakeStorage"] = wp.DefaultDataLakeStorage
212297  	}
212298  	if wp.SQLAdministratorLoginPassword != nil {
212299  		objectMap["sqlAdministratorLoginPassword"] = wp.SQLAdministratorLoginPassword
212300  	}
212301  	if wp.ManagedResourceGroupName != nil {
212302  		objectMap["managedResourceGroupName"] = wp.ManagedResourceGroupName
212303  	}
212304  	if wp.SQLAdministratorLogin != nil {
212305  		objectMap["sqlAdministratorLogin"] = wp.SQLAdministratorLogin
212306  	}
212307  	if wp.VirtualNetworkProfile != nil {
212308  		objectMap["virtualNetworkProfile"] = wp.VirtualNetworkProfile
212309  	}
212310  	if wp.ConnectivityEndpoints != nil {
212311  		objectMap["connectivityEndpoints"] = wp.ConnectivityEndpoints
212312  	}
212313  	if wp.ManagedVirtualNetwork != nil {
212314  		objectMap["managedVirtualNetwork"] = wp.ManagedVirtualNetwork
212315  	}
212316  	if wp.PrivateEndpointConnections != nil {
212317  		objectMap["privateEndpointConnections"] = wp.PrivateEndpointConnections
212318  	}
212319  	if wp.Encryption != nil {
212320  		objectMap["encryption"] = wp.Encryption
212321  	}
212322  	if wp.ManagedVirtualNetworkSettings != nil {
212323  		objectMap["managedVirtualNetworkSettings"] = wp.ManagedVirtualNetworkSettings
212324  	}
212325  	if wp.WorkspaceRepositoryConfiguration != nil {
212326  		objectMap["workspaceRepositoryConfiguration"] = wp.WorkspaceRepositoryConfiguration
212327  	}
212328  	if wp.PurviewConfiguration != nil {
212329  		objectMap["purviewConfiguration"] = wp.PurviewConfiguration
212330  	}
212331  	return json.Marshal(objectMap)
212332  }
212333  
212334  // WorkspaceRepositoryConfiguration git integration settings
212335  type WorkspaceRepositoryConfiguration struct {
212336  	// Type - Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration, WorkspaceGitHubConfiguration
212337  	Type *string `json:"type,omitempty"`
212338  	// HostName - GitHub Enterprise host name. For example: https://github.mydomain.com
212339  	HostName *string `json:"hostName,omitempty"`
212340  	// AccountName - Account name
212341  	AccountName *string `json:"accountName,omitempty"`
212342  	// ProjectName - VSTS project name
212343  	ProjectName *string `json:"projectName,omitempty"`
212344  	// RepositoryName - Repository name
212345  	RepositoryName *string `json:"repositoryName,omitempty"`
212346  	// CollaborationBranch - Collaboration branch
212347  	CollaborationBranch *string `json:"collaborationBranch,omitempty"`
212348  	// RootFolder - Root folder to use in the repository
212349  	RootFolder *string `json:"rootFolder,omitempty"`
212350  }
212351  
212352  // WorkspaceUpdateParameters parameters for updating a workspace resource.
212353  type WorkspaceUpdateParameters struct {
212354  	// Tags - The resource tags.
212355  	Tags map[string]*string `json:"tags"`
212356  	// Identity - Managed service identity of the workspace.
212357  	Identity *WorkspaceIdentity `json:"identity,omitempty"`
212358  }
212359  
212360  // MarshalJSON is the custom marshaler for WorkspaceUpdateParameters.
212361  func (wup WorkspaceUpdateParameters) MarshalJSON() ([]byte, error) {
212362  	objectMap := make(map[string]interface{})
212363  	if wup.Tags != nil {
212364  		objectMap["tags"] = wup.Tags
212365  	}
212366  	if wup.Identity != nil {
212367  		objectMap["identity"] = wup.Identity
212368  	}
212369  	return json.Marshal(objectMap)
212370  }
212371  
212372  // XeroLinkedService xero Service linked service.
212373  type XeroLinkedService struct {
212374  	// XeroLinkedServiceTypeProperties - Xero Service linked service properties.
212375  	*XeroLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
212376  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
212377  	AdditionalProperties map[string]interface{} `json:""`
212378  	// ConnectVia - The integration runtime reference.
212379  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
212380  	// Description - Linked service description.
212381  	Description *string `json:"description,omitempty"`
212382  	// Parameters - Parameters for linked service.
212383  	Parameters map[string]*ParameterSpecification `json:"parameters"`
212384  	// Annotations - List of tags that can be used for describing the linked service.
212385  	Annotations *[]interface{} `json:"annotations,omitempty"`
212386  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
212387  	Type TypeBasicLinkedService `json:"type,omitempty"`
212388  }
212389  
212390  // MarshalJSON is the custom marshaler for XeroLinkedService.
212391  func (xls XeroLinkedService) MarshalJSON() ([]byte, error) {
212392  	xls.Type = TypeXero
212393  	objectMap := make(map[string]interface{})
212394  	if xls.XeroLinkedServiceTypeProperties != nil {
212395  		objectMap["typeProperties"] = xls.XeroLinkedServiceTypeProperties
212396  	}
212397  	if xls.ConnectVia != nil {
212398  		objectMap["connectVia"] = xls.ConnectVia
212399  	}
212400  	if xls.Description != nil {
212401  		objectMap["description"] = xls.Description
212402  	}
212403  	if xls.Parameters != nil {
212404  		objectMap["parameters"] = xls.Parameters
212405  	}
212406  	if xls.Annotations != nil {
212407  		objectMap["annotations"] = xls.Annotations
212408  	}
212409  	if xls.Type != "" {
212410  		objectMap["type"] = xls.Type
212411  	}
212412  	for k, v := range xls.AdditionalProperties {
212413  		objectMap[k] = v
212414  	}
212415  	return json.Marshal(objectMap)
212416  }
212417  
212418  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212419  func (xls XeroLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
212420  	return nil, false
212421  }
212422  
212423  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212424  func (xls XeroLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
212425  	return nil, false
212426  }
212427  
212428  // AsSapTableLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212429  func (xls XeroLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
212430  	return nil, false
212431  }
212432  
212433  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212434  func (xls XeroLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
212435  	return nil, false
212436  }
212437  
212438  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212439  func (xls XeroLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
212440  	return nil, false
212441  }
212442  
212443  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212444  func (xls XeroLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
212445  	return nil, false
212446  }
212447  
212448  // AsResponsysLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212449  func (xls XeroLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
212450  	return nil, false
212451  }
212452  
212453  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212454  func (xls XeroLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
212455  	return nil, false
212456  }
212457  
212458  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212459  func (xls XeroLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
212460  	return nil, false
212461  }
212462  
212463  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212464  func (xls XeroLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
212465  	return nil, false
212466  }
212467  
212468  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212469  func (xls XeroLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
212470  	return nil, false
212471  }
212472  
212473  // AsNetezzaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212474  func (xls XeroLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
212475  	return nil, false
212476  }
212477  
212478  // AsVerticaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212479  func (xls XeroLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
212480  	return nil, false
212481  }
212482  
212483  // AsZohoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212484  func (xls XeroLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
212485  	return nil, false
212486  }
212487  
212488  // AsXeroLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212489  func (xls XeroLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
212490  	return &xls, true
212491  }
212492  
212493  // AsSquareLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212494  func (xls XeroLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
212495  	return nil, false
212496  }
212497  
212498  // AsSparkLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212499  func (xls XeroLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
212500  	return nil, false
212501  }
212502  
212503  // AsShopifyLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212504  func (xls XeroLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
212505  	return nil, false
212506  }
212507  
212508  // AsServiceNowLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212509  func (xls XeroLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
212510  	return nil, false
212511  }
212512  
212513  // AsQuickBooksLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212514  func (xls XeroLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
212515  	return nil, false
212516  }
212517  
212518  // AsPrestoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212519  func (xls XeroLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
212520  	return nil, false
212521  }
212522  
212523  // AsPhoenixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212524  func (xls XeroLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
212525  	return nil, false
212526  }
212527  
212528  // AsPaypalLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212529  func (xls XeroLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
212530  	return nil, false
212531  }
212532  
212533  // AsMarketoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212534  func (xls XeroLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
212535  	return nil, false
212536  }
212537  
212538  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212539  func (xls XeroLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
212540  	return nil, false
212541  }
212542  
212543  // AsMariaDBLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212544  func (xls XeroLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
212545  	return nil, false
212546  }
212547  
212548  // AsMagentoLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212549  func (xls XeroLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
212550  	return nil, false
212551  }
212552  
212553  // AsJiraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212554  func (xls XeroLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
212555  	return nil, false
212556  }
212557  
212558  // AsImpalaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212559  func (xls XeroLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
212560  	return nil, false
212561  }
212562  
212563  // AsHubspotLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212564  func (xls XeroLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
212565  	return nil, false
212566  }
212567  
212568  // AsHiveLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212569  func (xls XeroLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
212570  	return nil, false
212571  }
212572  
212573  // AsHBaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212574  func (xls XeroLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
212575  	return nil, false
212576  }
212577  
212578  // AsGreenplumLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212579  func (xls XeroLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
212580  	return nil, false
212581  }
212582  
212583  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212584  func (xls XeroLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
212585  	return nil, false
212586  }
212587  
212588  // AsEloquaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212589  func (xls XeroLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
212590  	return nil, false
212591  }
212592  
212593  // AsDrillLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212594  func (xls XeroLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
212595  	return nil, false
212596  }
212597  
212598  // AsCouchbaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212599  func (xls XeroLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
212600  	return nil, false
212601  }
212602  
212603  // AsConcurLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212604  func (xls XeroLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
212605  	return nil, false
212606  }
212607  
212608  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212609  func (xls XeroLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
212610  	return nil, false
212611  }
212612  
212613  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212614  func (xls XeroLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
212615  	return nil, false
212616  }
212617  
212618  // AsSapHanaLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212619  func (xls XeroLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
212620  	return nil, false
212621  }
212622  
212623  // AsSapBWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212624  func (xls XeroLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
212625  	return nil, false
212626  }
212627  
212628  // AsSftpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212629  func (xls XeroLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
212630  	return nil, false
212631  }
212632  
212633  // AsFtpServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212634  func (xls XeroLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
212635  	return nil, false
212636  }
212637  
212638  // AsHTTPLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212639  func (xls XeroLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
212640  	return nil, false
212641  }
212642  
212643  // AsAzureSearchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212644  func (xls XeroLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
212645  	return nil, false
212646  }
212647  
212648  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212649  func (xls XeroLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
212650  	return nil, false
212651  }
212652  
212653  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212654  func (xls XeroLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
212655  	return nil, false
212656  }
212657  
212658  // AsAmazonS3LinkedService is the BasicLinkedService implementation for XeroLinkedService.
212659  func (xls XeroLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
212660  	return nil, false
212661  }
212662  
212663  // AsRestServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212664  func (xls XeroLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
212665  	return nil, false
212666  }
212667  
212668  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212669  func (xls XeroLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
212670  	return nil, false
212671  }
212672  
212673  // AsSapEccLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212674  func (xls XeroLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
212675  	return nil, false
212676  }
212677  
212678  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212679  func (xls XeroLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
212680  	return nil, false
212681  }
212682  
212683  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212684  func (xls XeroLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
212685  	return nil, false
212686  }
212687  
212688  // AsSalesforceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212689  func (xls XeroLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
212690  	return nil, false
212691  }
212692  
212693  // AsOffice365LinkedService is the BasicLinkedService implementation for XeroLinkedService.
212694  func (xls XeroLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
212695  	return nil, false
212696  }
212697  
212698  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212699  func (xls XeroLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
212700  	return nil, false
212701  }
212702  
212703  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212704  func (xls XeroLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
212705  	return nil, false
212706  }
212707  
212708  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for XeroLinkedService.
212709  func (xls XeroLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
212710  	return nil, false
212711  }
212712  
212713  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
212714  func (xls XeroLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
212715  	return nil, false
212716  }
212717  
212718  // AsMongoDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212719  func (xls XeroLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
212720  	return nil, false
212721  }
212722  
212723  // AsCassandraLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212724  func (xls XeroLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
212725  	return nil, false
212726  }
212727  
212728  // AsWebLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212729  func (xls XeroLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
212730  	return nil, false
212731  }
212732  
212733  // AsODataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212734  func (xls XeroLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
212735  	return nil, false
212736  }
212737  
212738  // AsHdfsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212739  func (xls XeroLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
212740  	return nil, false
212741  }
212742  
212743  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212744  func (xls XeroLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
212745  	return nil, false
212746  }
212747  
212748  // AsInformixLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212749  func (xls XeroLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
212750  	return nil, false
212751  }
212752  
212753  // AsOdbcLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212754  func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
212755  	return nil, false
212756  }
212757  
212758  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212759  func (xls XeroLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
212760  	return nil, false
212761  }
212762  
212763  // AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212764  func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
212765  	return nil, false
212766  }
212767  
212768  // AsTeradataLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212769  func (xls XeroLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
212770  	return nil, false
212771  }
212772  
212773  // AsDb2LinkedService is the BasicLinkedService implementation for XeroLinkedService.
212774  func (xls XeroLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
212775  	return nil, false
212776  }
212777  
212778  // AsSybaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212779  func (xls XeroLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
212780  	return nil, false
212781  }
212782  
212783  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212784  func (xls XeroLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
212785  	return nil, false
212786  }
212787  
212788  // AsMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212789  func (xls XeroLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
212790  	return nil, false
212791  }
212792  
212793  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212794  func (xls XeroLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
212795  	return nil, false
212796  }
212797  
212798  // AsOracleLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212799  func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
212800  	return nil, false
212801  }
212802  
212803  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212804  func (xls XeroLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
212805  	return nil, false
212806  }
212807  
212808  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212809  func (xls XeroLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
212810  	return nil, false
212811  }
212812  
212813  // AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212814  func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
212815  	return nil, false
212816  }
212817  
212818  // AsHDInsightLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212819  func (xls XeroLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
212820  	return nil, false
212821  }
212822  
212823  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212824  func (xls XeroLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
212825  	return nil, false
212826  }
212827  
212828  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212829  func (xls XeroLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
212830  	return nil, false
212831  }
212832  
212833  // AsDynamicsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212834  func (xls XeroLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
212835  	return nil, false
212836  }
212837  
212838  // AsCosmosDbLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212839  func (xls XeroLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
212840  	return nil, false
212841  }
212842  
212843  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212844  func (xls XeroLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
212845  	return nil, false
212846  }
212847  
212848  // AsAzureBatchLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212849  func (xls XeroLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
212850  	return nil, false
212851  }
212852  
212853  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for XeroLinkedService.
212854  func (xls XeroLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
212855  	return nil, false
212856  }
212857  
212858  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212859  func (xls XeroLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
212860  	return nil, false
212861  }
212862  
212863  // AsSQLServerLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212864  func (xls XeroLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
212865  	return nil, false
212866  }
212867  
212868  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212869  func (xls XeroLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
212870  	return nil, false
212871  }
212872  
212873  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212874  func (xls XeroLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
212875  	return nil, false
212876  }
212877  
212878  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212879  func (xls XeroLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
212880  	return nil, false
212881  }
212882  
212883  // AsAzureStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212884  func (xls XeroLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
212885  	return nil, false
212886  }
212887  
212888  // AsLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212889  func (xls XeroLinkedService) AsLinkedService() (*LinkedService, bool) {
212890  	return nil, false
212891  }
212892  
212893  // AsBasicLinkedService is the BasicLinkedService implementation for XeroLinkedService.
212894  func (xls XeroLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
212895  	return &xls, true
212896  }
212897  
212898  // UnmarshalJSON is the custom unmarshaler for XeroLinkedService struct.
212899  func (xls *XeroLinkedService) UnmarshalJSON(body []byte) error {
212900  	var m map[string]*json.RawMessage
212901  	err := json.Unmarshal(body, &m)
212902  	if err != nil {
212903  		return err
212904  	}
212905  	for k, v := range m {
212906  		switch k {
212907  		case "typeProperties":
212908  			if v != nil {
212909  				var xeroLinkedServiceTypeProperties XeroLinkedServiceTypeProperties
212910  				err = json.Unmarshal(*v, &xeroLinkedServiceTypeProperties)
212911  				if err != nil {
212912  					return err
212913  				}
212914  				xls.XeroLinkedServiceTypeProperties = &xeroLinkedServiceTypeProperties
212915  			}
212916  		default:
212917  			if v != nil {
212918  				var additionalProperties interface{}
212919  				err = json.Unmarshal(*v, &additionalProperties)
212920  				if err != nil {
212921  					return err
212922  				}
212923  				if xls.AdditionalProperties == nil {
212924  					xls.AdditionalProperties = make(map[string]interface{})
212925  				}
212926  				xls.AdditionalProperties[k] = additionalProperties
212927  			}
212928  		case "connectVia":
212929  			if v != nil {
212930  				var connectVia IntegrationRuntimeReference
212931  				err = json.Unmarshal(*v, &connectVia)
212932  				if err != nil {
212933  					return err
212934  				}
212935  				xls.ConnectVia = &connectVia
212936  			}
212937  		case "description":
212938  			if v != nil {
212939  				var description string
212940  				err = json.Unmarshal(*v, &description)
212941  				if err != nil {
212942  					return err
212943  				}
212944  				xls.Description = &description
212945  			}
212946  		case "parameters":
212947  			if v != nil {
212948  				var parameters map[string]*ParameterSpecification
212949  				err = json.Unmarshal(*v, &parameters)
212950  				if err != nil {
212951  					return err
212952  				}
212953  				xls.Parameters = parameters
212954  			}
212955  		case "annotations":
212956  			if v != nil {
212957  				var annotations []interface{}
212958  				err = json.Unmarshal(*v, &annotations)
212959  				if err != nil {
212960  					return err
212961  				}
212962  				xls.Annotations = &annotations
212963  			}
212964  		case "type":
212965  			if v != nil {
212966  				var typeVar TypeBasicLinkedService
212967  				err = json.Unmarshal(*v, &typeVar)
212968  				if err != nil {
212969  					return err
212970  				}
212971  				xls.Type = typeVar
212972  			}
212973  		}
212974  	}
212975  
212976  	return nil
212977  }
212978  
212979  // XeroLinkedServiceTypeProperties xero Service linked service properties.
212980  type XeroLinkedServiceTypeProperties struct {
212981  	// Host - The endpoint of the Xero server. (i.e. api.xero.com)
212982  	Host interface{} `json:"host,omitempty"`
212983  	// ConsumerKey - The consumer key associated with the Xero application.
212984  	ConsumerKey BasicSecretBase `json:"consumerKey,omitempty"`
212985  	// 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(
212986  	// ).
212987  	PrivateKey BasicSecretBase `json:"privateKey,omitempty"`
212988  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
212989  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
212990  	// 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.
212991  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
212992  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
212993  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
212994  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
212995  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
212996  }
212997  
212998  // UnmarshalJSON is the custom unmarshaler for XeroLinkedServiceTypeProperties struct.
212999  func (xlstp *XeroLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
213000  	var m map[string]*json.RawMessage
213001  	err := json.Unmarshal(body, &m)
213002  	if err != nil {
213003  		return err
213004  	}
213005  	for k, v := range m {
213006  		switch k {
213007  		case "host":
213008  			if v != nil {
213009  				var host interface{}
213010  				err = json.Unmarshal(*v, &host)
213011  				if err != nil {
213012  					return err
213013  				}
213014  				xlstp.Host = host
213015  			}
213016  		case "consumerKey":
213017  			if v != nil {
213018  				consumerKey, err := unmarshalBasicSecretBase(*v)
213019  				if err != nil {
213020  					return err
213021  				}
213022  				xlstp.ConsumerKey = consumerKey
213023  			}
213024  		case "privateKey":
213025  			if v != nil {
213026  				privateKey, err := unmarshalBasicSecretBase(*v)
213027  				if err != nil {
213028  					return err
213029  				}
213030  				xlstp.PrivateKey = privateKey
213031  			}
213032  		case "useEncryptedEndpoints":
213033  			if v != nil {
213034  				var useEncryptedEndpoints interface{}
213035  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
213036  				if err != nil {
213037  					return err
213038  				}
213039  				xlstp.UseEncryptedEndpoints = useEncryptedEndpoints
213040  			}
213041  		case "useHostVerification":
213042  			if v != nil {
213043  				var useHostVerification interface{}
213044  				err = json.Unmarshal(*v, &useHostVerification)
213045  				if err != nil {
213046  					return err
213047  				}
213048  				xlstp.UseHostVerification = useHostVerification
213049  			}
213050  		case "usePeerVerification":
213051  			if v != nil {
213052  				var usePeerVerification interface{}
213053  				err = json.Unmarshal(*v, &usePeerVerification)
213054  				if err != nil {
213055  					return err
213056  				}
213057  				xlstp.UsePeerVerification = usePeerVerification
213058  			}
213059  		case "encryptedCredential":
213060  			if v != nil {
213061  				var encryptedCredential interface{}
213062  				err = json.Unmarshal(*v, &encryptedCredential)
213063  				if err != nil {
213064  					return err
213065  				}
213066  				xlstp.EncryptedCredential = encryptedCredential
213067  			}
213068  		}
213069  	}
213070  
213071  	return nil
213072  }
213073  
213074  // XeroObjectDataset xero Service dataset.
213075  type XeroObjectDataset struct {
213076  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
213077  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
213078  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
213079  	AdditionalProperties map[string]interface{} `json:""`
213080  	// Description - Dataset description.
213081  	Description *string `json:"description,omitempty"`
213082  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
213083  	Structure interface{} `json:"structure,omitempty"`
213084  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
213085  	Schema interface{} `json:"schema,omitempty"`
213086  	// LinkedServiceName - Linked service reference.
213087  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
213088  	// Parameters - Parameters for dataset.
213089  	Parameters map[string]*ParameterSpecification `json:"parameters"`
213090  	// Annotations - List of tags that can be used for describing the Dataset.
213091  	Annotations *[]interface{} `json:"annotations,omitempty"`
213092  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
213093  	Folder *DatasetFolder `json:"folder,omitempty"`
213094  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
213095  	Type TypeBasicDataset `json:"type,omitempty"`
213096  }
213097  
213098  // MarshalJSON is the custom marshaler for XeroObjectDataset.
213099  func (xod XeroObjectDataset) MarshalJSON() ([]byte, error) {
213100  	xod.Type = TypeXeroObject
213101  	objectMap := make(map[string]interface{})
213102  	if xod.GenericDatasetTypeProperties != nil {
213103  		objectMap["typeProperties"] = xod.GenericDatasetTypeProperties
213104  	}
213105  	if xod.Description != nil {
213106  		objectMap["description"] = xod.Description
213107  	}
213108  	if xod.Structure != nil {
213109  		objectMap["structure"] = xod.Structure
213110  	}
213111  	if xod.Schema != nil {
213112  		objectMap["schema"] = xod.Schema
213113  	}
213114  	if xod.LinkedServiceName != nil {
213115  		objectMap["linkedServiceName"] = xod.LinkedServiceName
213116  	}
213117  	if xod.Parameters != nil {
213118  		objectMap["parameters"] = xod.Parameters
213119  	}
213120  	if xod.Annotations != nil {
213121  		objectMap["annotations"] = xod.Annotations
213122  	}
213123  	if xod.Folder != nil {
213124  		objectMap["folder"] = xod.Folder
213125  	}
213126  	if xod.Type != "" {
213127  		objectMap["type"] = xod.Type
213128  	}
213129  	for k, v := range xod.AdditionalProperties {
213130  		objectMap[k] = v
213131  	}
213132  	return json.Marshal(objectMap)
213133  }
213134  
213135  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213136  func (xod XeroObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
213137  	return nil, false
213138  }
213139  
213140  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for XeroObjectDataset.
213141  func (xod XeroObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
213142  	return nil, false
213143  }
213144  
213145  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213146  func (xod XeroObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
213147  	return nil, false
213148  }
213149  
213150  // AsDynamicsAXResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213151  func (xod XeroObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
213152  	return nil, false
213153  }
213154  
213155  // AsResponsysObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213156  func (xod XeroObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
213157  	return nil, false
213158  }
213159  
213160  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213161  func (xod XeroObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
213162  	return nil, false
213163  }
213164  
213165  // AsVerticaTableDataset is the BasicDataset implementation for XeroObjectDataset.
213166  func (xod XeroObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
213167  	return nil, false
213168  }
213169  
213170  // AsNetezzaTableDataset is the BasicDataset implementation for XeroObjectDataset.
213171  func (xod XeroObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
213172  	return nil, false
213173  }
213174  
213175  // AsZohoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213176  func (xod XeroObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
213177  	return nil, false
213178  }
213179  
213180  // AsXeroObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213181  func (xod XeroObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
213182  	return &xod, true
213183  }
213184  
213185  // AsSquareObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213186  func (xod XeroObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
213187  	return nil, false
213188  }
213189  
213190  // AsSparkObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213191  func (xod XeroObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
213192  	return nil, false
213193  }
213194  
213195  // AsShopifyObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213196  func (xod XeroObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
213197  	return nil, false
213198  }
213199  
213200  // AsServiceNowObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213201  func (xod XeroObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
213202  	return nil, false
213203  }
213204  
213205  // AsQuickBooksObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213206  func (xod XeroObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
213207  	return nil, false
213208  }
213209  
213210  // AsPrestoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213211  func (xod XeroObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
213212  	return nil, false
213213  }
213214  
213215  // AsPhoenixObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213216  func (xod XeroObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
213217  	return nil, false
213218  }
213219  
213220  // AsPaypalObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213221  func (xod XeroObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
213222  	return nil, false
213223  }
213224  
213225  // AsMarketoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213226  func (xod XeroObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
213227  	return nil, false
213228  }
213229  
213230  // AsAzureMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset.
213231  func (xod XeroObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
213232  	return nil, false
213233  }
213234  
213235  // AsMariaDBTableDataset is the BasicDataset implementation for XeroObjectDataset.
213236  func (xod XeroObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
213237  	return nil, false
213238  }
213239  
213240  // AsMagentoObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213241  func (xod XeroObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
213242  	return nil, false
213243  }
213244  
213245  // AsJiraObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213246  func (xod XeroObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
213247  	return nil, false
213248  }
213249  
213250  // AsImpalaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213251  func (xod XeroObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
213252  	return nil, false
213253  }
213254  
213255  // AsHubspotObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213256  func (xod XeroObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
213257  	return nil, false
213258  }
213259  
213260  // AsHiveObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213261  func (xod XeroObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
213262  	return nil, false
213263  }
213264  
213265  // AsHBaseObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213266  func (xod XeroObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
213267  	return nil, false
213268  }
213269  
213270  // AsGreenplumTableDataset is the BasicDataset implementation for XeroObjectDataset.
213271  func (xod XeroObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
213272  	return nil, false
213273  }
213274  
213275  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213276  func (xod XeroObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
213277  	return nil, false
213278  }
213279  
213280  // AsEloquaObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213281  func (xod XeroObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
213282  	return nil, false
213283  }
213284  
213285  // AsDrillTableDataset is the BasicDataset implementation for XeroObjectDataset.
213286  func (xod XeroObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
213287  	return nil, false
213288  }
213289  
213290  // AsCouchbaseTableDataset is the BasicDataset implementation for XeroObjectDataset.
213291  func (xod XeroObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
213292  	return nil, false
213293  }
213294  
213295  // AsConcurObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213296  func (xod XeroObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
213297  	return nil, false
213298  }
213299  
213300  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
213301  func (xod XeroObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
213302  	return nil, false
213303  }
213304  
213305  // AsAmazonMWSObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213306  func (xod XeroObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
213307  	return nil, false
213308  }
213309  
213310  // AsAzureSearchIndexDataset is the BasicDataset implementation for XeroObjectDataset.
213311  func (xod XeroObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
213312  	return nil, false
213313  }
213314  
213315  // AsWebTableDataset is the BasicDataset implementation for XeroObjectDataset.
213316  func (xod XeroObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
213317  	return nil, false
213318  }
213319  
213320  // AsSapTableResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213321  func (xod XeroObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
213322  	return nil, false
213323  }
213324  
213325  // AsRestResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213326  func (xod XeroObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
213327  	return nil, false
213328  }
213329  
213330  // AsSQLServerTableDataset is the BasicDataset implementation for XeroObjectDataset.
213331  func (xod XeroObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
213332  	return nil, false
213333  }
213334  
213335  // AsSapOpenHubTableDataset is the BasicDataset implementation for XeroObjectDataset.
213336  func (xod XeroObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
213337  	return nil, false
213338  }
213339  
213340  // AsSapHanaTableDataset is the BasicDataset implementation for XeroObjectDataset.
213341  func (xod XeroObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
213342  	return nil, false
213343  }
213344  
213345  // AsSapEccResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213346  func (xod XeroObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
213347  	return nil, false
213348  }
213349  
213350  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213351  func (xod XeroObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
213352  	return nil, false
213353  }
213354  
213355  // AsSapBwCubeDataset is the BasicDataset implementation for XeroObjectDataset.
213356  func (xod XeroObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
213357  	return nil, false
213358  }
213359  
213360  // AsSybaseTableDataset is the BasicDataset implementation for XeroObjectDataset.
213361  func (xod XeroObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
213362  	return nil, false
213363  }
213364  
213365  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213366  func (xod XeroObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
213367  	return nil, false
213368  }
213369  
213370  // AsSalesforceObjectDataset is the BasicDataset implementation for XeroObjectDataset.
213371  func (xod XeroObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
213372  	return nil, false
213373  }
213374  
213375  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for XeroObjectDataset.
213376  func (xod XeroObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
213377  	return nil, false
213378  }
213379  
213380  // AsPostgreSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
213381  func (xod XeroObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
213382  	return nil, false
213383  }
213384  
213385  // AsMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
213386  func (xod XeroObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
213387  	return nil, false
213388  }
213389  
213390  // AsOdbcTableDataset is the BasicDataset implementation for XeroObjectDataset.
213391  func (xod XeroObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
213392  	return nil, false
213393  }
213394  
213395  // AsInformixTableDataset is the BasicDataset implementation for XeroObjectDataset.
213396  func (xod XeroObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
213397  	return nil, false
213398  }
213399  
213400  // AsRelationalTableDataset is the BasicDataset implementation for XeroObjectDataset.
213401  func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
213402  	return nil, false
213403  }
213404  
213405  // AsDb2TableDataset is the BasicDataset implementation for XeroObjectDataset.
213406  func (xod XeroObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
213407  	return nil, false
213408  }
213409  
213410  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for XeroObjectDataset.
213411  func (xod XeroObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
213412  	return nil, false
213413  }
213414  
213415  // AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
213416  func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
213417  	return nil, false
213418  }
213419  
213420  // AsTeradataTableDataset is the BasicDataset implementation for XeroObjectDataset.
213421  func (xod XeroObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
213422  	return nil, false
213423  }
213424  
213425  // AsOracleTableDataset is the BasicDataset implementation for XeroObjectDataset.
213426  func (xod XeroObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
213427  	return nil, false
213428  }
213429  
213430  // AsODataResourceDataset is the BasicDataset implementation for XeroObjectDataset.
213431  func (xod XeroObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
213432  	return nil, false
213433  }
213434  
213435  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset.
213436  func (xod XeroObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
213437  	return nil, false
213438  }
213439  
213440  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for XeroObjectDataset.
213441  func (xod XeroObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
213442  	return nil, false
213443  }
213444  
213445  // AsMongoDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
213446  func (xod XeroObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
213447  	return nil, false
213448  }
213449  
213450  // AsOffice365Dataset is the BasicDataset implementation for XeroObjectDataset.
213451  func (xod XeroObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
213452  	return nil, false
213453  }
213454  
213455  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
213456  func (xod XeroObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
213457  	return nil, false
213458  }
213459  
213460  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for XeroObjectDataset.
213461  func (xod XeroObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
213462  	return nil, false
213463  }
213464  
213465  // AsDynamicsEntityDataset is the BasicDataset implementation for XeroObjectDataset.
213466  func (xod XeroObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
213467  	return nil, false
213468  }
213469  
213470  // AsDocumentDbCollectionDataset is the BasicDataset implementation for XeroObjectDataset.
213471  func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
213472  	return nil, false
213473  }
213474  
213475  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset.
213476  func (xod XeroObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
213477  	return nil, false
213478  }
213479  
213480  // AsCustomDataset is the BasicDataset implementation for XeroObjectDataset.
213481  func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
213482  	return nil, false
213483  }
213484  
213485  // AsCassandraTableDataset is the BasicDataset implementation for XeroObjectDataset.
213486  func (xod XeroObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
213487  	return nil, false
213488  }
213489  
213490  // AsAzureSQLDWTableDataset is the BasicDataset implementation for XeroObjectDataset.
213491  func (xod XeroObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
213492  	return nil, false
213493  }
213494  
213495  // AsAzureSQLMITableDataset is the BasicDataset implementation for XeroObjectDataset.
213496  func (xod XeroObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
213497  	return nil, false
213498  }
213499  
213500  // AsAzureSQLTableDataset is the BasicDataset implementation for XeroObjectDataset.
213501  func (xod XeroObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
213502  	return nil, false
213503  }
213504  
213505  // AsAzureTableDataset is the BasicDataset implementation for XeroObjectDataset.
213506  func (xod XeroObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
213507  	return nil, false
213508  }
213509  
213510  // AsBinaryDataset is the BasicDataset implementation for XeroObjectDataset.
213511  func (xod XeroObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
213512  	return nil, false
213513  }
213514  
213515  // AsOrcDataset is the BasicDataset implementation for XeroObjectDataset.
213516  func (xod XeroObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
213517  	return nil, false
213518  }
213519  
213520  // AsJSONDataset is the BasicDataset implementation for XeroObjectDataset.
213521  func (xod XeroObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
213522  	return nil, false
213523  }
213524  
213525  // AsDelimitedTextDataset is the BasicDataset implementation for XeroObjectDataset.
213526  func (xod XeroObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
213527  	return nil, false
213528  }
213529  
213530  // AsParquetDataset is the BasicDataset implementation for XeroObjectDataset.
213531  func (xod XeroObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
213532  	return nil, false
213533  }
213534  
213535  // AsAvroDataset is the BasicDataset implementation for XeroObjectDataset.
213536  func (xod XeroObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
213537  	return nil, false
213538  }
213539  
213540  // AsDataset is the BasicDataset implementation for XeroObjectDataset.
213541  func (xod XeroObjectDataset) AsDataset() (*Dataset, bool) {
213542  	return nil, false
213543  }
213544  
213545  // AsBasicDataset is the BasicDataset implementation for XeroObjectDataset.
213546  func (xod XeroObjectDataset) AsBasicDataset() (BasicDataset, bool) {
213547  	return &xod, true
213548  }
213549  
213550  // UnmarshalJSON is the custom unmarshaler for XeroObjectDataset struct.
213551  func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error {
213552  	var m map[string]*json.RawMessage
213553  	err := json.Unmarshal(body, &m)
213554  	if err != nil {
213555  		return err
213556  	}
213557  	for k, v := range m {
213558  		switch k {
213559  		case "typeProperties":
213560  			if v != nil {
213561  				var genericDatasetTypeProperties GenericDatasetTypeProperties
213562  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
213563  				if err != nil {
213564  					return err
213565  				}
213566  				xod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
213567  			}
213568  		default:
213569  			if v != nil {
213570  				var additionalProperties interface{}
213571  				err = json.Unmarshal(*v, &additionalProperties)
213572  				if err != nil {
213573  					return err
213574  				}
213575  				if xod.AdditionalProperties == nil {
213576  					xod.AdditionalProperties = make(map[string]interface{})
213577  				}
213578  				xod.AdditionalProperties[k] = additionalProperties
213579  			}
213580  		case "description":
213581  			if v != nil {
213582  				var description string
213583  				err = json.Unmarshal(*v, &description)
213584  				if err != nil {
213585  					return err
213586  				}
213587  				xod.Description = &description
213588  			}
213589  		case "structure":
213590  			if v != nil {
213591  				var structure interface{}
213592  				err = json.Unmarshal(*v, &structure)
213593  				if err != nil {
213594  					return err
213595  				}
213596  				xod.Structure = structure
213597  			}
213598  		case "schema":
213599  			if v != nil {
213600  				var schema interface{}
213601  				err = json.Unmarshal(*v, &schema)
213602  				if err != nil {
213603  					return err
213604  				}
213605  				xod.Schema = schema
213606  			}
213607  		case "linkedServiceName":
213608  			if v != nil {
213609  				var linkedServiceName LinkedServiceReference
213610  				err = json.Unmarshal(*v, &linkedServiceName)
213611  				if err != nil {
213612  					return err
213613  				}
213614  				xod.LinkedServiceName = &linkedServiceName
213615  			}
213616  		case "parameters":
213617  			if v != nil {
213618  				var parameters map[string]*ParameterSpecification
213619  				err = json.Unmarshal(*v, &parameters)
213620  				if err != nil {
213621  					return err
213622  				}
213623  				xod.Parameters = parameters
213624  			}
213625  		case "annotations":
213626  			if v != nil {
213627  				var annotations []interface{}
213628  				err = json.Unmarshal(*v, &annotations)
213629  				if err != nil {
213630  					return err
213631  				}
213632  				xod.Annotations = &annotations
213633  			}
213634  		case "folder":
213635  			if v != nil {
213636  				var folder DatasetFolder
213637  				err = json.Unmarshal(*v, &folder)
213638  				if err != nil {
213639  					return err
213640  				}
213641  				xod.Folder = &folder
213642  			}
213643  		case "type":
213644  			if v != nil {
213645  				var typeVar TypeBasicDataset
213646  				err = json.Unmarshal(*v, &typeVar)
213647  				if err != nil {
213648  					return err
213649  				}
213650  				xod.Type = typeVar
213651  			}
213652  		}
213653  	}
213654  
213655  	return nil
213656  }
213657  
213658  // XeroSource a copy activity Xero Service source.
213659  type XeroSource struct {
213660  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
213661  	Query interface{} `json:"query,omitempty"`
213662  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
213663  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
213664  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
213665  	AdditionalProperties map[string]interface{} `json:""`
213666  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
213667  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
213668  	// 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])).
213669  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
213670  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
213671  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
213672  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
213673  	Type TypeBasicCopySource `json:"type,omitempty"`
213674  }
213675  
213676  // MarshalJSON is the custom marshaler for XeroSource.
213677  func (xs XeroSource) MarshalJSON() ([]byte, error) {
213678  	xs.Type = TypeXeroSource
213679  	objectMap := make(map[string]interface{})
213680  	if xs.Query != nil {
213681  		objectMap["query"] = xs.Query
213682  	}
213683  	if xs.QueryTimeout != nil {
213684  		objectMap["queryTimeout"] = xs.QueryTimeout
213685  	}
213686  	if xs.SourceRetryCount != nil {
213687  		objectMap["sourceRetryCount"] = xs.SourceRetryCount
213688  	}
213689  	if xs.SourceRetryWait != nil {
213690  		objectMap["sourceRetryWait"] = xs.SourceRetryWait
213691  	}
213692  	if xs.MaxConcurrentConnections != nil {
213693  		objectMap["maxConcurrentConnections"] = xs.MaxConcurrentConnections
213694  	}
213695  	if xs.Type != "" {
213696  		objectMap["type"] = xs.Type
213697  	}
213698  	for k, v := range xs.AdditionalProperties {
213699  		objectMap[k] = v
213700  	}
213701  	return json.Marshal(objectMap)
213702  }
213703  
213704  // AsHTTPSource is the BasicCopySource implementation for XeroSource.
213705  func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) {
213706  	return nil, false
213707  }
213708  
213709  // AsAzureBlobFSSource is the BasicCopySource implementation for XeroSource.
213710  func (xs XeroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
213711  	return nil, false
213712  }
213713  
213714  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource.
213715  func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
213716  	return nil, false
213717  }
213718  
213719  // AsOffice365Source is the BasicCopySource implementation for XeroSource.
213720  func (xs XeroSource) AsOffice365Source() (*Office365Source, bool) {
213721  	return nil, false
213722  }
213723  
213724  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for XeroSource.
213725  func (xs XeroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
213726  	return nil, false
213727  }
213728  
213729  // AsMongoDbV2Source is the BasicCopySource implementation for XeroSource.
213730  func (xs XeroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
213731  	return nil, false
213732  }
213733  
213734  // AsMongoDbSource is the BasicCopySource implementation for XeroSource.
213735  func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) {
213736  	return nil, false
213737  }
213738  
213739  // AsWebSource is the BasicCopySource implementation for XeroSource.
213740  func (xs XeroSource) AsWebSource() (*WebSource, bool) {
213741  	return nil, false
213742  }
213743  
213744  // AsOracleSource is the BasicCopySource implementation for XeroSource.
213745  func (xs XeroSource) AsOracleSource() (*OracleSource, bool) {
213746  	return nil, false
213747  }
213748  
213749  // AsAzureDataExplorerSource is the BasicCopySource implementation for XeroSource.
213750  func (xs XeroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
213751  	return nil, false
213752  }
213753  
213754  // AsHdfsSource is the BasicCopySource implementation for XeroSource.
213755  func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) {
213756  	return nil, false
213757  }
213758  
213759  // AsFileSystemSource is the BasicCopySource implementation for XeroSource.
213760  func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) {
213761  	return nil, false
213762  }
213763  
213764  // AsRestSource is the BasicCopySource implementation for XeroSource.
213765  func (xs XeroSource) AsRestSource() (*RestSource, bool) {
213766  	return nil, false
213767  }
213768  
213769  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for XeroSource.
213770  func (xs XeroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
213771  	return nil, false
213772  }
213773  
213774  // AsODataSource is the BasicCopySource implementation for XeroSource.
213775  func (xs XeroSource) AsODataSource() (*ODataSource, bool) {
213776  	return nil, false
213777  }
213778  
213779  // AsMicrosoftAccessSource is the BasicCopySource implementation for XeroSource.
213780  func (xs XeroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
213781  	return nil, false
213782  }
213783  
213784  // AsRelationalSource is the BasicCopySource implementation for XeroSource.
213785  func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) {
213786  	return nil, false
213787  }
213788  
213789  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for XeroSource.
213790  func (xs XeroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
213791  	return nil, false
213792  }
213793  
213794  // AsDynamicsCrmSource is the BasicCopySource implementation for XeroSource.
213795  func (xs XeroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
213796  	return nil, false
213797  }
213798  
213799  // AsDynamicsSource is the BasicCopySource implementation for XeroSource.
213800  func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) {
213801  	return nil, false
213802  }
213803  
213804  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for XeroSource.
213805  func (xs XeroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
213806  	return nil, false
213807  }
213808  
213809  // AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource.
213810  func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
213811  	return nil, false
213812  }
213813  
213814  // AsBlobSource is the BasicCopySource implementation for XeroSource.
213815  func (xs XeroSource) AsBlobSource() (*BlobSource, bool) {
213816  	return nil, false
213817  }
213818  
213819  // AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource.
213820  func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
213821  	return nil, false
213822  }
213823  
213824  // AsGoogleAdWordsSource is the BasicCopySource implementation for XeroSource.
213825  func (xs XeroSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
213826  	return nil, false
213827  }
213828  
213829  // AsOracleServiceCloudSource is the BasicCopySource implementation for XeroSource.
213830  func (xs XeroSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
213831  	return nil, false
213832  }
213833  
213834  // AsDynamicsAXSource is the BasicCopySource implementation for XeroSource.
213835  func (xs XeroSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
213836  	return nil, false
213837  }
213838  
213839  // AsResponsysSource is the BasicCopySource implementation for XeroSource.
213840  func (xs XeroSource) AsResponsysSource() (*ResponsysSource, bool) {
213841  	return nil, false
213842  }
213843  
213844  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for XeroSource.
213845  func (xs XeroSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
213846  	return nil, false
213847  }
213848  
213849  // AsVerticaSource is the BasicCopySource implementation for XeroSource.
213850  func (xs XeroSource) AsVerticaSource() (*VerticaSource, bool) {
213851  	return nil, false
213852  }
213853  
213854  // AsNetezzaSource is the BasicCopySource implementation for XeroSource.
213855  func (xs XeroSource) AsNetezzaSource() (*NetezzaSource, bool) {
213856  	return nil, false
213857  }
213858  
213859  // AsZohoSource is the BasicCopySource implementation for XeroSource.
213860  func (xs XeroSource) AsZohoSource() (*ZohoSource, bool) {
213861  	return nil, false
213862  }
213863  
213864  // AsXeroSource is the BasicCopySource implementation for XeroSource.
213865  func (xs XeroSource) AsXeroSource() (*XeroSource, bool) {
213866  	return &xs, true
213867  }
213868  
213869  // AsSquareSource is the BasicCopySource implementation for XeroSource.
213870  func (xs XeroSource) AsSquareSource() (*SquareSource, bool) {
213871  	return nil, false
213872  }
213873  
213874  // AsSparkSource is the BasicCopySource implementation for XeroSource.
213875  func (xs XeroSource) AsSparkSource() (*SparkSource, bool) {
213876  	return nil, false
213877  }
213878  
213879  // AsShopifySource is the BasicCopySource implementation for XeroSource.
213880  func (xs XeroSource) AsShopifySource() (*ShopifySource, bool) {
213881  	return nil, false
213882  }
213883  
213884  // AsServiceNowSource is the BasicCopySource implementation for XeroSource.
213885  func (xs XeroSource) AsServiceNowSource() (*ServiceNowSource, bool) {
213886  	return nil, false
213887  }
213888  
213889  // AsQuickBooksSource is the BasicCopySource implementation for XeroSource.
213890  func (xs XeroSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
213891  	return nil, false
213892  }
213893  
213894  // AsPrestoSource is the BasicCopySource implementation for XeroSource.
213895  func (xs XeroSource) AsPrestoSource() (*PrestoSource, bool) {
213896  	return nil, false
213897  }
213898  
213899  // AsPhoenixSource is the BasicCopySource implementation for XeroSource.
213900  func (xs XeroSource) AsPhoenixSource() (*PhoenixSource, bool) {
213901  	return nil, false
213902  }
213903  
213904  // AsPaypalSource is the BasicCopySource implementation for XeroSource.
213905  func (xs XeroSource) AsPaypalSource() (*PaypalSource, bool) {
213906  	return nil, false
213907  }
213908  
213909  // AsMarketoSource is the BasicCopySource implementation for XeroSource.
213910  func (xs XeroSource) AsMarketoSource() (*MarketoSource, bool) {
213911  	return nil, false
213912  }
213913  
213914  // AsAzureMariaDBSource is the BasicCopySource implementation for XeroSource.
213915  func (xs XeroSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
213916  	return nil, false
213917  }
213918  
213919  // AsMariaDBSource is the BasicCopySource implementation for XeroSource.
213920  func (xs XeroSource) AsMariaDBSource() (*MariaDBSource, bool) {
213921  	return nil, false
213922  }
213923  
213924  // AsMagentoSource is the BasicCopySource implementation for XeroSource.
213925  func (xs XeroSource) AsMagentoSource() (*MagentoSource, bool) {
213926  	return nil, false
213927  }
213928  
213929  // AsJiraSource is the BasicCopySource implementation for XeroSource.
213930  func (xs XeroSource) AsJiraSource() (*JiraSource, bool) {
213931  	return nil, false
213932  }
213933  
213934  // AsImpalaSource is the BasicCopySource implementation for XeroSource.
213935  func (xs XeroSource) AsImpalaSource() (*ImpalaSource, bool) {
213936  	return nil, false
213937  }
213938  
213939  // AsHubspotSource is the BasicCopySource implementation for XeroSource.
213940  func (xs XeroSource) AsHubspotSource() (*HubspotSource, bool) {
213941  	return nil, false
213942  }
213943  
213944  // AsHiveSource is the BasicCopySource implementation for XeroSource.
213945  func (xs XeroSource) AsHiveSource() (*HiveSource, bool) {
213946  	return nil, false
213947  }
213948  
213949  // AsHBaseSource is the BasicCopySource implementation for XeroSource.
213950  func (xs XeroSource) AsHBaseSource() (*HBaseSource, bool) {
213951  	return nil, false
213952  }
213953  
213954  // AsGreenplumSource is the BasicCopySource implementation for XeroSource.
213955  func (xs XeroSource) AsGreenplumSource() (*GreenplumSource, bool) {
213956  	return nil, false
213957  }
213958  
213959  // AsGoogleBigQuerySource is the BasicCopySource implementation for XeroSource.
213960  func (xs XeroSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
213961  	return nil, false
213962  }
213963  
213964  // AsEloquaSource is the BasicCopySource implementation for XeroSource.
213965  func (xs XeroSource) AsEloquaSource() (*EloquaSource, bool) {
213966  	return nil, false
213967  }
213968  
213969  // AsDrillSource is the BasicCopySource implementation for XeroSource.
213970  func (xs XeroSource) AsDrillSource() (*DrillSource, bool) {
213971  	return nil, false
213972  }
213973  
213974  // AsCouchbaseSource is the BasicCopySource implementation for XeroSource.
213975  func (xs XeroSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
213976  	return nil, false
213977  }
213978  
213979  // AsConcurSource is the BasicCopySource implementation for XeroSource.
213980  func (xs XeroSource) AsConcurSource() (*ConcurSource, bool) {
213981  	return nil, false
213982  }
213983  
213984  // AsAzurePostgreSQLSource is the BasicCopySource implementation for XeroSource.
213985  func (xs XeroSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
213986  	return nil, false
213987  }
213988  
213989  // AsAmazonMWSSource is the BasicCopySource implementation for XeroSource.
213990  func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
213991  	return nil, false
213992  }
213993  
213994  // AsCassandraSource is the BasicCopySource implementation for XeroSource.
213995  func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) {
213996  	return nil, false
213997  }
213998  
213999  // AsTeradataSource is the BasicCopySource implementation for XeroSource.
214000  func (xs XeroSource) AsTeradataSource() (*TeradataSource, bool) {
214001  	return nil, false
214002  }
214003  
214004  // AsAzureMySQLSource is the BasicCopySource implementation for XeroSource.
214005  func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
214006  	return nil, false
214007  }
214008  
214009  // AsSQLDWSource is the BasicCopySource implementation for XeroSource.
214010  func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) {
214011  	return nil, false
214012  }
214013  
214014  // AsSQLMISource is the BasicCopySource implementation for XeroSource.
214015  func (xs XeroSource) AsSQLMISource() (*SQLMISource, bool) {
214016  	return nil, false
214017  }
214018  
214019  // AsAzureSQLSource is the BasicCopySource implementation for XeroSource.
214020  func (xs XeroSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
214021  	return nil, false
214022  }
214023  
214024  // AsSQLServerSource is the BasicCopySource implementation for XeroSource.
214025  func (xs XeroSource) AsSQLServerSource() (*SQLServerSource, bool) {
214026  	return nil, false
214027  }
214028  
214029  // AsSQLSource is the BasicCopySource implementation for XeroSource.
214030  func (xs XeroSource) AsSQLSource() (*SQLSource, bool) {
214031  	return nil, false
214032  }
214033  
214034  // AsSapTableSource is the BasicCopySource implementation for XeroSource.
214035  func (xs XeroSource) AsSapTableSource() (*SapTableSource, bool) {
214036  	return nil, false
214037  }
214038  
214039  // AsSapOpenHubSource is the BasicCopySource implementation for XeroSource.
214040  func (xs XeroSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
214041  	return nil, false
214042  }
214043  
214044  // AsSapHanaSource is the BasicCopySource implementation for XeroSource.
214045  func (xs XeroSource) AsSapHanaSource() (*SapHanaSource, bool) {
214046  	return nil, false
214047  }
214048  
214049  // AsSapEccSource is the BasicCopySource implementation for XeroSource.
214050  func (xs XeroSource) AsSapEccSource() (*SapEccSource, bool) {
214051  	return nil, false
214052  }
214053  
214054  // AsSapCloudForCustomerSource is the BasicCopySource implementation for XeroSource.
214055  func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
214056  	return nil, false
214057  }
214058  
214059  // AsSalesforceSource is the BasicCopySource implementation for XeroSource.
214060  func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) {
214061  	return nil, false
214062  }
214063  
214064  // AsSapBwSource is the BasicCopySource implementation for XeroSource.
214065  func (xs XeroSource) AsSapBwSource() (*SapBwSource, bool) {
214066  	return nil, false
214067  }
214068  
214069  // AsSybaseSource is the BasicCopySource implementation for XeroSource.
214070  func (xs XeroSource) AsSybaseSource() (*SybaseSource, bool) {
214071  	return nil, false
214072  }
214073  
214074  // AsPostgreSQLSource is the BasicCopySource implementation for XeroSource.
214075  func (xs XeroSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
214076  	return nil, false
214077  }
214078  
214079  // AsMySQLSource is the BasicCopySource implementation for XeroSource.
214080  func (xs XeroSource) AsMySQLSource() (*MySQLSource, bool) {
214081  	return nil, false
214082  }
214083  
214084  // AsOdbcSource is the BasicCopySource implementation for XeroSource.
214085  func (xs XeroSource) AsOdbcSource() (*OdbcSource, bool) {
214086  	return nil, false
214087  }
214088  
214089  // AsDb2Source is the BasicCopySource implementation for XeroSource.
214090  func (xs XeroSource) AsDb2Source() (*Db2Source, bool) {
214091  	return nil, false
214092  }
214093  
214094  // AsInformixSource is the BasicCopySource implementation for XeroSource.
214095  func (xs XeroSource) AsInformixSource() (*InformixSource, bool) {
214096  	return nil, false
214097  }
214098  
214099  // AsAzureTableSource is the BasicCopySource implementation for XeroSource.
214100  func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) {
214101  	return nil, false
214102  }
214103  
214104  // AsTabularSource is the BasicCopySource implementation for XeroSource.
214105  func (xs XeroSource) AsTabularSource() (*TabularSource, bool) {
214106  	return nil, false
214107  }
214108  
214109  // AsBasicTabularSource is the BasicCopySource implementation for XeroSource.
214110  func (xs XeroSource) AsBasicTabularSource() (BasicTabularSource, bool) {
214111  	return &xs, true
214112  }
214113  
214114  // AsBinarySource is the BasicCopySource implementation for XeroSource.
214115  func (xs XeroSource) AsBinarySource() (*BinarySource, bool) {
214116  	return nil, false
214117  }
214118  
214119  // AsOrcSource is the BasicCopySource implementation for XeroSource.
214120  func (xs XeroSource) AsOrcSource() (*OrcSource, bool) {
214121  	return nil, false
214122  }
214123  
214124  // AsJSONSource is the BasicCopySource implementation for XeroSource.
214125  func (xs XeroSource) AsJSONSource() (*JSONSource, bool) {
214126  	return nil, false
214127  }
214128  
214129  // AsDelimitedTextSource is the BasicCopySource implementation for XeroSource.
214130  func (xs XeroSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
214131  	return nil, false
214132  }
214133  
214134  // AsParquetSource is the BasicCopySource implementation for XeroSource.
214135  func (xs XeroSource) AsParquetSource() (*ParquetSource, bool) {
214136  	return nil, false
214137  }
214138  
214139  // AsAvroSource is the BasicCopySource implementation for XeroSource.
214140  func (xs XeroSource) AsAvroSource() (*AvroSource, bool) {
214141  	return nil, false
214142  }
214143  
214144  // AsCopySource is the BasicCopySource implementation for XeroSource.
214145  func (xs XeroSource) AsCopySource() (*CopySource, bool) {
214146  	return nil, false
214147  }
214148  
214149  // AsBasicCopySource is the BasicCopySource implementation for XeroSource.
214150  func (xs XeroSource) AsBasicCopySource() (BasicCopySource, bool) {
214151  	return &xs, true
214152  }
214153  
214154  // UnmarshalJSON is the custom unmarshaler for XeroSource struct.
214155  func (xs *XeroSource) UnmarshalJSON(body []byte) error {
214156  	var m map[string]*json.RawMessage
214157  	err := json.Unmarshal(body, &m)
214158  	if err != nil {
214159  		return err
214160  	}
214161  	for k, v := range m {
214162  		switch k {
214163  		case "query":
214164  			if v != nil {
214165  				var query interface{}
214166  				err = json.Unmarshal(*v, &query)
214167  				if err != nil {
214168  					return err
214169  				}
214170  				xs.Query = query
214171  			}
214172  		case "queryTimeout":
214173  			if v != nil {
214174  				var queryTimeout interface{}
214175  				err = json.Unmarshal(*v, &queryTimeout)
214176  				if err != nil {
214177  					return err
214178  				}
214179  				xs.QueryTimeout = queryTimeout
214180  			}
214181  		default:
214182  			if v != nil {
214183  				var additionalProperties interface{}
214184  				err = json.Unmarshal(*v, &additionalProperties)
214185  				if err != nil {
214186  					return err
214187  				}
214188  				if xs.AdditionalProperties == nil {
214189  					xs.AdditionalProperties = make(map[string]interface{})
214190  				}
214191  				xs.AdditionalProperties[k] = additionalProperties
214192  			}
214193  		case "sourceRetryCount":
214194  			if v != nil {
214195  				var sourceRetryCount interface{}
214196  				err = json.Unmarshal(*v, &sourceRetryCount)
214197  				if err != nil {
214198  					return err
214199  				}
214200  				xs.SourceRetryCount = sourceRetryCount
214201  			}
214202  		case "sourceRetryWait":
214203  			if v != nil {
214204  				var sourceRetryWait interface{}
214205  				err = json.Unmarshal(*v, &sourceRetryWait)
214206  				if err != nil {
214207  					return err
214208  				}
214209  				xs.SourceRetryWait = sourceRetryWait
214210  			}
214211  		case "maxConcurrentConnections":
214212  			if v != nil {
214213  				var maxConcurrentConnections interface{}
214214  				err = json.Unmarshal(*v, &maxConcurrentConnections)
214215  				if err != nil {
214216  					return err
214217  				}
214218  				xs.MaxConcurrentConnections = maxConcurrentConnections
214219  			}
214220  		case "type":
214221  			if v != nil {
214222  				var typeVar TypeBasicCopySource
214223  				err = json.Unmarshal(*v, &typeVar)
214224  				if err != nil {
214225  					return err
214226  				}
214227  				xs.Type = typeVar
214228  			}
214229  		}
214230  	}
214231  
214232  	return nil
214233  }
214234  
214235  // ZohoLinkedService zoho server linked service.
214236  type ZohoLinkedService struct {
214237  	// ZohoLinkedServiceTypeProperties - Zoho server linked service properties.
214238  	*ZohoLinkedServiceTypeProperties `json:"typeProperties,omitempty"`
214239  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
214240  	AdditionalProperties map[string]interface{} `json:""`
214241  	// ConnectVia - The integration runtime reference.
214242  	ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"`
214243  	// Description - Linked service description.
214244  	Description *string `json:"description,omitempty"`
214245  	// Parameters - Parameters for linked service.
214246  	Parameters map[string]*ParameterSpecification `json:"parameters"`
214247  	// Annotations - List of tags that can be used for describing the linked service.
214248  	Annotations *[]interface{} `json:"annotations,omitempty"`
214249  	// 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', 'TypeAzureMariaDB', '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', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage'
214250  	Type TypeBasicLinkedService `json:"type,omitempty"`
214251  }
214252  
214253  // MarshalJSON is the custom marshaler for ZohoLinkedService.
214254  func (zls ZohoLinkedService) MarshalJSON() ([]byte, error) {
214255  	zls.Type = TypeZoho
214256  	objectMap := make(map[string]interface{})
214257  	if zls.ZohoLinkedServiceTypeProperties != nil {
214258  		objectMap["typeProperties"] = zls.ZohoLinkedServiceTypeProperties
214259  	}
214260  	if zls.ConnectVia != nil {
214261  		objectMap["connectVia"] = zls.ConnectVia
214262  	}
214263  	if zls.Description != nil {
214264  		objectMap["description"] = zls.Description
214265  	}
214266  	if zls.Parameters != nil {
214267  		objectMap["parameters"] = zls.Parameters
214268  	}
214269  	if zls.Annotations != nil {
214270  		objectMap["annotations"] = zls.Annotations
214271  	}
214272  	if zls.Type != "" {
214273  		objectMap["type"] = zls.Type
214274  	}
214275  	for k, v := range zls.AdditionalProperties {
214276  		objectMap[k] = v
214277  	}
214278  	return json.Marshal(objectMap)
214279  }
214280  
214281  // AsAzureFunctionLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214282  func (zls ZohoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) {
214283  	return nil, false
214284  }
214285  
214286  // AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214287  func (zls ZohoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) {
214288  	return nil, false
214289  }
214290  
214291  // AsSapTableLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214292  func (zls ZohoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) {
214293  	return nil, false
214294  }
214295  
214296  // AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214297  func (zls ZohoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) {
214298  	return nil, false
214299  }
214300  
214301  // AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214302  func (zls ZohoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) {
214303  	return nil, false
214304  }
214305  
214306  // AsDynamicsAXLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214307  func (zls ZohoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) {
214308  	return nil, false
214309  }
214310  
214311  // AsResponsysLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214312  func (zls ZohoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) {
214313  	return nil, false
214314  }
214315  
214316  // AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214317  func (zls ZohoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) {
214318  	return nil, false
214319  }
214320  
214321  // AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214322  func (zls ZohoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) {
214323  	return nil, false
214324  }
214325  
214326  // AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214327  func (zls ZohoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) {
214328  	return nil, false
214329  }
214330  
214331  // AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214332  func (zls ZohoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) {
214333  	return nil, false
214334  }
214335  
214336  // AsNetezzaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214337  func (zls ZohoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) {
214338  	return nil, false
214339  }
214340  
214341  // AsVerticaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214342  func (zls ZohoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) {
214343  	return nil, false
214344  }
214345  
214346  // AsZohoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214347  func (zls ZohoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) {
214348  	return &zls, true
214349  }
214350  
214351  // AsXeroLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214352  func (zls ZohoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) {
214353  	return nil, false
214354  }
214355  
214356  // AsSquareLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214357  func (zls ZohoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) {
214358  	return nil, false
214359  }
214360  
214361  // AsSparkLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214362  func (zls ZohoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) {
214363  	return nil, false
214364  }
214365  
214366  // AsShopifyLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214367  func (zls ZohoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) {
214368  	return nil, false
214369  }
214370  
214371  // AsServiceNowLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214372  func (zls ZohoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) {
214373  	return nil, false
214374  }
214375  
214376  // AsQuickBooksLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214377  func (zls ZohoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) {
214378  	return nil, false
214379  }
214380  
214381  // AsPrestoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214382  func (zls ZohoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) {
214383  	return nil, false
214384  }
214385  
214386  // AsPhoenixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214387  func (zls ZohoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) {
214388  	return nil, false
214389  }
214390  
214391  // AsPaypalLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214392  func (zls ZohoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) {
214393  	return nil, false
214394  }
214395  
214396  // AsMarketoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214397  func (zls ZohoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) {
214398  	return nil, false
214399  }
214400  
214401  // AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214402  func (zls ZohoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) {
214403  	return nil, false
214404  }
214405  
214406  // AsMariaDBLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214407  func (zls ZohoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) {
214408  	return nil, false
214409  }
214410  
214411  // AsMagentoLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214412  func (zls ZohoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) {
214413  	return nil, false
214414  }
214415  
214416  // AsJiraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214417  func (zls ZohoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) {
214418  	return nil, false
214419  }
214420  
214421  // AsImpalaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214422  func (zls ZohoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) {
214423  	return nil, false
214424  }
214425  
214426  // AsHubspotLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214427  func (zls ZohoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) {
214428  	return nil, false
214429  }
214430  
214431  // AsHiveLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214432  func (zls ZohoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) {
214433  	return nil, false
214434  }
214435  
214436  // AsHBaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214437  func (zls ZohoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) {
214438  	return nil, false
214439  }
214440  
214441  // AsGreenplumLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214442  func (zls ZohoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) {
214443  	return nil, false
214444  }
214445  
214446  // AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214447  func (zls ZohoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) {
214448  	return nil, false
214449  }
214450  
214451  // AsEloquaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214452  func (zls ZohoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) {
214453  	return nil, false
214454  }
214455  
214456  // AsDrillLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214457  func (zls ZohoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) {
214458  	return nil, false
214459  }
214460  
214461  // AsCouchbaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214462  func (zls ZohoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) {
214463  	return nil, false
214464  }
214465  
214466  // AsConcurLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214467  func (zls ZohoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) {
214468  	return nil, false
214469  }
214470  
214471  // AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214472  func (zls ZohoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) {
214473  	return nil, false
214474  }
214475  
214476  // AsAmazonMWSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214477  func (zls ZohoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) {
214478  	return nil, false
214479  }
214480  
214481  // AsSapHanaLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214482  func (zls ZohoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) {
214483  	return nil, false
214484  }
214485  
214486  // AsSapBWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214487  func (zls ZohoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) {
214488  	return nil, false
214489  }
214490  
214491  // AsSftpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214492  func (zls ZohoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) {
214493  	return nil, false
214494  }
214495  
214496  // AsFtpServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214497  func (zls ZohoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) {
214498  	return nil, false
214499  }
214500  
214501  // AsHTTPLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214502  func (zls ZohoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) {
214503  	return nil, false
214504  }
214505  
214506  // AsAzureSearchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214507  func (zls ZohoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) {
214508  	return nil, false
214509  }
214510  
214511  // AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214512  func (zls ZohoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) {
214513  	return nil, false
214514  }
214515  
214516  // AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214517  func (zls ZohoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) {
214518  	return nil, false
214519  }
214520  
214521  // AsAmazonS3LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214522  func (zls ZohoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) {
214523  	return nil, false
214524  }
214525  
214526  // AsRestServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214527  func (zls ZohoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) {
214528  	return nil, false
214529  }
214530  
214531  // AsSapOpenHubLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214532  func (zls ZohoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) {
214533  	return nil, false
214534  }
214535  
214536  // AsSapEccLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214537  func (zls ZohoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) {
214538  	return nil, false
214539  }
214540  
214541  // AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214542  func (zls ZohoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) {
214543  	return nil, false
214544  }
214545  
214546  // AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214547  func (zls ZohoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) {
214548  	return nil, false
214549  }
214550  
214551  // AsSalesforceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214552  func (zls ZohoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) {
214553  	return nil, false
214554  }
214555  
214556  // AsOffice365LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214557  func (zls ZohoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) {
214558  	return nil, false
214559  }
214560  
214561  // AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214562  func (zls ZohoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) {
214563  	return nil, false
214564  }
214565  
214566  // AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214567  func (zls ZohoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) {
214568  	return nil, false
214569  }
214570  
214571  // AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214572  func (zls ZohoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) {
214573  	return nil, false
214574  }
214575  
214576  // AsMongoDbV2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214577  func (zls ZohoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) {
214578  	return nil, false
214579  }
214580  
214581  // AsMongoDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214582  func (zls ZohoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) {
214583  	return nil, false
214584  }
214585  
214586  // AsCassandraLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214587  func (zls ZohoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) {
214588  	return nil, false
214589  }
214590  
214591  // AsWebLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214592  func (zls ZohoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) {
214593  	return nil, false
214594  }
214595  
214596  // AsODataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214597  func (zls ZohoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) {
214598  	return nil, false
214599  }
214600  
214601  // AsHdfsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214602  func (zls ZohoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) {
214603  	return nil, false
214604  }
214605  
214606  // AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214607  func (zls ZohoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) {
214608  	return nil, false
214609  }
214610  
214611  // AsInformixLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214612  func (zls ZohoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) {
214613  	return nil, false
214614  }
214615  
214616  // AsOdbcLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214617  func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) {
214618  	return nil, false
214619  }
214620  
214621  // AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214622  func (zls ZohoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) {
214623  	return nil, false
214624  }
214625  
214626  // AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214627  func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) {
214628  	return nil, false
214629  }
214630  
214631  // AsTeradataLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214632  func (zls ZohoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) {
214633  	return nil, false
214634  }
214635  
214636  // AsDb2LinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214637  func (zls ZohoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) {
214638  	return nil, false
214639  }
214640  
214641  // AsSybaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214642  func (zls ZohoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) {
214643  	return nil, false
214644  }
214645  
214646  // AsPostgreSQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214647  func (zls ZohoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) {
214648  	return nil, false
214649  }
214650  
214651  // AsMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214652  func (zls ZohoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) {
214653  	return nil, false
214654  }
214655  
214656  // AsAzureMySQLLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214657  func (zls ZohoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) {
214658  	return nil, false
214659  }
214660  
214661  // AsOracleLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214662  func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) {
214663  	return nil, false
214664  }
214665  
214666  // AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214667  func (zls ZohoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) {
214668  	return nil, false
214669  }
214670  
214671  // AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214672  func (zls ZohoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) {
214673  	return nil, false
214674  }
214675  
214676  // AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214677  func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) {
214678  	return nil, false
214679  }
214680  
214681  // AsHDInsightLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214682  func (zls ZohoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) {
214683  	return nil, false
214684  }
214685  
214686  // AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214687  func (zls ZohoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) {
214688  	return nil, false
214689  }
214690  
214691  // AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214692  func (zls ZohoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) {
214693  	return nil, false
214694  }
214695  
214696  // AsDynamicsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214697  func (zls ZohoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) {
214698  	return nil, false
214699  }
214700  
214701  // AsCosmosDbLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214702  func (zls ZohoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) {
214703  	return nil, false
214704  }
214705  
214706  // AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214707  func (zls ZohoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) {
214708  	return nil, false
214709  }
214710  
214711  // AsAzureBatchLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214712  func (zls ZohoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) {
214713  	return nil, false
214714  }
214715  
214716  // AsAzureSQLMILinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214717  func (zls ZohoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) {
214718  	return nil, false
214719  }
214720  
214721  // AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214722  func (zls ZohoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) {
214723  	return nil, false
214724  }
214725  
214726  // AsSQLServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214727  func (zls ZohoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) {
214728  	return nil, false
214729  }
214730  
214731  // AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214732  func (zls ZohoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) {
214733  	return nil, false
214734  }
214735  
214736  // AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214737  func (zls ZohoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) {
214738  	return nil, false
214739  }
214740  
214741  // AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214742  func (zls ZohoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) {
214743  	return nil, false
214744  }
214745  
214746  // AsAzureStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214747  func (zls ZohoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) {
214748  	return nil, false
214749  }
214750  
214751  // AsLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214752  func (zls ZohoLinkedService) AsLinkedService() (*LinkedService, bool) {
214753  	return nil, false
214754  }
214755  
214756  // AsBasicLinkedService is the BasicLinkedService implementation for ZohoLinkedService.
214757  func (zls ZohoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) {
214758  	return &zls, true
214759  }
214760  
214761  // UnmarshalJSON is the custom unmarshaler for ZohoLinkedService struct.
214762  func (zls *ZohoLinkedService) UnmarshalJSON(body []byte) error {
214763  	var m map[string]*json.RawMessage
214764  	err := json.Unmarshal(body, &m)
214765  	if err != nil {
214766  		return err
214767  	}
214768  	for k, v := range m {
214769  		switch k {
214770  		case "typeProperties":
214771  			if v != nil {
214772  				var zohoLinkedServiceTypeProperties ZohoLinkedServiceTypeProperties
214773  				err = json.Unmarshal(*v, &zohoLinkedServiceTypeProperties)
214774  				if err != nil {
214775  					return err
214776  				}
214777  				zls.ZohoLinkedServiceTypeProperties = &zohoLinkedServiceTypeProperties
214778  			}
214779  		default:
214780  			if v != nil {
214781  				var additionalProperties interface{}
214782  				err = json.Unmarshal(*v, &additionalProperties)
214783  				if err != nil {
214784  					return err
214785  				}
214786  				if zls.AdditionalProperties == nil {
214787  					zls.AdditionalProperties = make(map[string]interface{})
214788  				}
214789  				zls.AdditionalProperties[k] = additionalProperties
214790  			}
214791  		case "connectVia":
214792  			if v != nil {
214793  				var connectVia IntegrationRuntimeReference
214794  				err = json.Unmarshal(*v, &connectVia)
214795  				if err != nil {
214796  					return err
214797  				}
214798  				zls.ConnectVia = &connectVia
214799  			}
214800  		case "description":
214801  			if v != nil {
214802  				var description string
214803  				err = json.Unmarshal(*v, &description)
214804  				if err != nil {
214805  					return err
214806  				}
214807  				zls.Description = &description
214808  			}
214809  		case "parameters":
214810  			if v != nil {
214811  				var parameters map[string]*ParameterSpecification
214812  				err = json.Unmarshal(*v, &parameters)
214813  				if err != nil {
214814  					return err
214815  				}
214816  				zls.Parameters = parameters
214817  			}
214818  		case "annotations":
214819  			if v != nil {
214820  				var annotations []interface{}
214821  				err = json.Unmarshal(*v, &annotations)
214822  				if err != nil {
214823  					return err
214824  				}
214825  				zls.Annotations = &annotations
214826  			}
214827  		case "type":
214828  			if v != nil {
214829  				var typeVar TypeBasicLinkedService
214830  				err = json.Unmarshal(*v, &typeVar)
214831  				if err != nil {
214832  					return err
214833  				}
214834  				zls.Type = typeVar
214835  			}
214836  		}
214837  	}
214838  
214839  	return nil
214840  }
214841  
214842  // ZohoLinkedServiceTypeProperties zoho server linked service properties.
214843  type ZohoLinkedServiceTypeProperties struct {
214844  	// Endpoint - The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)
214845  	Endpoint interface{} `json:"endpoint,omitempty"`
214846  	// AccessToken - The access token for Zoho authentication.
214847  	AccessToken BasicSecretBase `json:"accessToken,omitempty"`
214848  	// UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
214849  	UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"`
214850  	// 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.
214851  	UseHostVerification interface{} `json:"useHostVerification,omitempty"`
214852  	// UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
214853  	UsePeerVerification interface{} `json:"usePeerVerification,omitempty"`
214854  	// EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
214855  	EncryptedCredential interface{} `json:"encryptedCredential,omitempty"`
214856  }
214857  
214858  // UnmarshalJSON is the custom unmarshaler for ZohoLinkedServiceTypeProperties struct.
214859  func (zlstp *ZohoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error {
214860  	var m map[string]*json.RawMessage
214861  	err := json.Unmarshal(body, &m)
214862  	if err != nil {
214863  		return err
214864  	}
214865  	for k, v := range m {
214866  		switch k {
214867  		case "endpoint":
214868  			if v != nil {
214869  				var endpoint interface{}
214870  				err = json.Unmarshal(*v, &endpoint)
214871  				if err != nil {
214872  					return err
214873  				}
214874  				zlstp.Endpoint = endpoint
214875  			}
214876  		case "accessToken":
214877  			if v != nil {
214878  				accessToken, err := unmarshalBasicSecretBase(*v)
214879  				if err != nil {
214880  					return err
214881  				}
214882  				zlstp.AccessToken = accessToken
214883  			}
214884  		case "useEncryptedEndpoints":
214885  			if v != nil {
214886  				var useEncryptedEndpoints interface{}
214887  				err = json.Unmarshal(*v, &useEncryptedEndpoints)
214888  				if err != nil {
214889  					return err
214890  				}
214891  				zlstp.UseEncryptedEndpoints = useEncryptedEndpoints
214892  			}
214893  		case "useHostVerification":
214894  			if v != nil {
214895  				var useHostVerification interface{}
214896  				err = json.Unmarshal(*v, &useHostVerification)
214897  				if err != nil {
214898  					return err
214899  				}
214900  				zlstp.UseHostVerification = useHostVerification
214901  			}
214902  		case "usePeerVerification":
214903  			if v != nil {
214904  				var usePeerVerification interface{}
214905  				err = json.Unmarshal(*v, &usePeerVerification)
214906  				if err != nil {
214907  					return err
214908  				}
214909  				zlstp.UsePeerVerification = usePeerVerification
214910  			}
214911  		case "encryptedCredential":
214912  			if v != nil {
214913  				var encryptedCredential interface{}
214914  				err = json.Unmarshal(*v, &encryptedCredential)
214915  				if err != nil {
214916  					return err
214917  				}
214918  				zlstp.EncryptedCredential = encryptedCredential
214919  			}
214920  		}
214921  	}
214922  
214923  	return nil
214924  }
214925  
214926  // ZohoObjectDataset zoho server dataset.
214927  type ZohoObjectDataset struct {
214928  	// GenericDatasetTypeProperties - Properties specific to this dataset type.
214929  	*GenericDatasetTypeProperties `json:"typeProperties,omitempty"`
214930  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
214931  	AdditionalProperties map[string]interface{} `json:""`
214932  	// Description - Dataset description.
214933  	Description *string `json:"description,omitempty"`
214934  	// Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.
214935  	Structure interface{} `json:"structure,omitempty"`
214936  	// Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.
214937  	Schema interface{} `json:"schema,omitempty"`
214938  	// LinkedServiceName - Linked service reference.
214939  	LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"`
214940  	// Parameters - Parameters for dataset.
214941  	Parameters map[string]*ParameterSpecification `json:"parameters"`
214942  	// Annotations - List of tags that can be used for describing the Dataset.
214943  	Annotations *[]interface{} `json:"annotations,omitempty"`
214944  	// Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
214945  	Folder *DatasetFolder `json:"folder,omitempty"`
214946  	// Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeOffice365Table', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro'
214947  	Type TypeBasicDataset `json:"type,omitempty"`
214948  }
214949  
214950  // MarshalJSON is the custom marshaler for ZohoObjectDataset.
214951  func (zod ZohoObjectDataset) MarshalJSON() ([]byte, error) {
214952  	zod.Type = TypeZohoObject
214953  	objectMap := make(map[string]interface{})
214954  	if zod.GenericDatasetTypeProperties != nil {
214955  		objectMap["typeProperties"] = zod.GenericDatasetTypeProperties
214956  	}
214957  	if zod.Description != nil {
214958  		objectMap["description"] = zod.Description
214959  	}
214960  	if zod.Structure != nil {
214961  		objectMap["structure"] = zod.Structure
214962  	}
214963  	if zod.Schema != nil {
214964  		objectMap["schema"] = zod.Schema
214965  	}
214966  	if zod.LinkedServiceName != nil {
214967  		objectMap["linkedServiceName"] = zod.LinkedServiceName
214968  	}
214969  	if zod.Parameters != nil {
214970  		objectMap["parameters"] = zod.Parameters
214971  	}
214972  	if zod.Annotations != nil {
214973  		objectMap["annotations"] = zod.Annotations
214974  	}
214975  	if zod.Folder != nil {
214976  		objectMap["folder"] = zod.Folder
214977  	}
214978  	if zod.Type != "" {
214979  		objectMap["type"] = zod.Type
214980  	}
214981  	for k, v := range zod.AdditionalProperties {
214982  		objectMap[k] = v
214983  	}
214984  	return json.Marshal(objectMap)
214985  }
214986  
214987  // AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
214988  func (zod ZohoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) {
214989  	return nil, false
214990  }
214991  
214992  // AsAzureDataExplorerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
214993  func (zod ZohoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) {
214994  	return nil, false
214995  }
214996  
214997  // AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
214998  func (zod ZohoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) {
214999  	return nil, false
215000  }
215001  
215002  // AsDynamicsAXResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215003  func (zod ZohoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) {
215004  	return nil, false
215005  }
215006  
215007  // AsResponsysObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215008  func (zod ZohoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) {
215009  	return nil, false
215010  }
215011  
215012  // AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215013  func (zod ZohoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) {
215014  	return nil, false
215015  }
215016  
215017  // AsVerticaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215018  func (zod ZohoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) {
215019  	return nil, false
215020  }
215021  
215022  // AsNetezzaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215023  func (zod ZohoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) {
215024  	return nil, false
215025  }
215026  
215027  // AsZohoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215028  func (zod ZohoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) {
215029  	return &zod, true
215030  }
215031  
215032  // AsXeroObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215033  func (zod ZohoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) {
215034  	return nil, false
215035  }
215036  
215037  // AsSquareObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215038  func (zod ZohoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) {
215039  	return nil, false
215040  }
215041  
215042  // AsSparkObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215043  func (zod ZohoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) {
215044  	return nil, false
215045  }
215046  
215047  // AsShopifyObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215048  func (zod ZohoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) {
215049  	return nil, false
215050  }
215051  
215052  // AsServiceNowObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215053  func (zod ZohoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) {
215054  	return nil, false
215055  }
215056  
215057  // AsQuickBooksObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215058  func (zod ZohoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) {
215059  	return nil, false
215060  }
215061  
215062  // AsPrestoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215063  func (zod ZohoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) {
215064  	return nil, false
215065  }
215066  
215067  // AsPhoenixObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215068  func (zod ZohoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) {
215069  	return nil, false
215070  }
215071  
215072  // AsPaypalObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215073  func (zod ZohoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) {
215074  	return nil, false
215075  }
215076  
215077  // AsMarketoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215078  func (zod ZohoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) {
215079  	return nil, false
215080  }
215081  
215082  // AsAzureMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215083  func (zod ZohoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) {
215084  	return nil, false
215085  }
215086  
215087  // AsMariaDBTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215088  func (zod ZohoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) {
215089  	return nil, false
215090  }
215091  
215092  // AsMagentoObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215093  func (zod ZohoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) {
215094  	return nil, false
215095  }
215096  
215097  // AsJiraObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215098  func (zod ZohoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) {
215099  	return nil, false
215100  }
215101  
215102  // AsImpalaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215103  func (zod ZohoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) {
215104  	return nil, false
215105  }
215106  
215107  // AsHubspotObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215108  func (zod ZohoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) {
215109  	return nil, false
215110  }
215111  
215112  // AsHiveObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215113  func (zod ZohoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) {
215114  	return nil, false
215115  }
215116  
215117  // AsHBaseObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215118  func (zod ZohoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) {
215119  	return nil, false
215120  }
215121  
215122  // AsGreenplumTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215123  func (zod ZohoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) {
215124  	return nil, false
215125  }
215126  
215127  // AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215128  func (zod ZohoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) {
215129  	return nil, false
215130  }
215131  
215132  // AsEloquaObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215133  func (zod ZohoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) {
215134  	return nil, false
215135  }
215136  
215137  // AsDrillTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215138  func (zod ZohoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) {
215139  	return nil, false
215140  }
215141  
215142  // AsCouchbaseTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215143  func (zod ZohoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) {
215144  	return nil, false
215145  }
215146  
215147  // AsConcurObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215148  func (zod ZohoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) {
215149  	return nil, false
215150  }
215151  
215152  // AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215153  func (zod ZohoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) {
215154  	return nil, false
215155  }
215156  
215157  // AsAmazonMWSObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215158  func (zod ZohoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) {
215159  	return nil, false
215160  }
215161  
215162  // AsAzureSearchIndexDataset is the BasicDataset implementation for ZohoObjectDataset.
215163  func (zod ZohoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) {
215164  	return nil, false
215165  }
215166  
215167  // AsWebTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215168  func (zod ZohoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) {
215169  	return nil, false
215170  }
215171  
215172  // AsSapTableResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215173  func (zod ZohoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) {
215174  	return nil, false
215175  }
215176  
215177  // AsRestResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215178  func (zod ZohoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) {
215179  	return nil, false
215180  }
215181  
215182  // AsSQLServerTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215183  func (zod ZohoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) {
215184  	return nil, false
215185  }
215186  
215187  // AsSapOpenHubTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215188  func (zod ZohoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) {
215189  	return nil, false
215190  }
215191  
215192  // AsSapHanaTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215193  func (zod ZohoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) {
215194  	return nil, false
215195  }
215196  
215197  // AsSapEccResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215198  func (zod ZohoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) {
215199  	return nil, false
215200  }
215201  
215202  // AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215203  func (zod ZohoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) {
215204  	return nil, false
215205  }
215206  
215207  // AsSapBwCubeDataset is the BasicDataset implementation for ZohoObjectDataset.
215208  func (zod ZohoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) {
215209  	return nil, false
215210  }
215211  
215212  // AsSybaseTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215213  func (zod ZohoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) {
215214  	return nil, false
215215  }
215216  
215217  // AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215218  func (zod ZohoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) {
215219  	return nil, false
215220  }
215221  
215222  // AsSalesforceObjectDataset is the BasicDataset implementation for ZohoObjectDataset.
215223  func (zod ZohoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) {
215224  	return nil, false
215225  }
215226  
215227  // AsMicrosoftAccessTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215228  func (zod ZohoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) {
215229  	return nil, false
215230  }
215231  
215232  // AsPostgreSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215233  func (zod ZohoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) {
215234  	return nil, false
215235  }
215236  
215237  // AsMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215238  func (zod ZohoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) {
215239  	return nil, false
215240  }
215241  
215242  // AsOdbcTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215243  func (zod ZohoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) {
215244  	return nil, false
215245  }
215246  
215247  // AsInformixTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215248  func (zod ZohoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) {
215249  	return nil, false
215250  }
215251  
215252  // AsRelationalTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215253  func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) {
215254  	return nil, false
215255  }
215256  
215257  // AsDb2TableDataset is the BasicDataset implementation for ZohoObjectDataset.
215258  func (zod ZohoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) {
215259  	return nil, false
215260  }
215261  
215262  // AsAmazonRedshiftTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215263  func (zod ZohoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) {
215264  	return nil, false
215265  }
215266  
215267  // AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215268  func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) {
215269  	return nil, false
215270  }
215271  
215272  // AsTeradataTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215273  func (zod ZohoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) {
215274  	return nil, false
215275  }
215276  
215277  // AsOracleTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215278  func (zod ZohoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) {
215279  	return nil, false
215280  }
215281  
215282  // AsODataResourceDataset is the BasicDataset implementation for ZohoObjectDataset.
215283  func (zod ZohoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) {
215284  	return nil, false
215285  }
215286  
215287  // AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
215288  func (zod ZohoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) {
215289  	return nil, false
215290  }
215291  
215292  // AsMongoDbV2CollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
215293  func (zod ZohoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) {
215294  	return nil, false
215295  }
215296  
215297  // AsMongoDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
215298  func (zod ZohoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) {
215299  	return nil, false
215300  }
215301  
215302  // AsOffice365Dataset is the BasicDataset implementation for ZohoObjectDataset.
215303  func (zod ZohoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) {
215304  	return nil, false
215305  }
215306  
215307  // AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
215308  func (zod ZohoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) {
215309  	return nil, false
215310  }
215311  
215312  // AsDynamicsCrmEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
215313  func (zod ZohoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) {
215314  	return nil, false
215315  }
215316  
215317  // AsDynamicsEntityDataset is the BasicDataset implementation for ZohoObjectDataset.
215318  func (zod ZohoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) {
215319  	return nil, false
215320  }
215321  
215322  // AsDocumentDbCollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
215323  func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) {
215324  	return nil, false
215325  }
215326  
215327  // AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset.
215328  func (zod ZohoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) {
215329  	return nil, false
215330  }
215331  
215332  // AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset.
215333  func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) {
215334  	return nil, false
215335  }
215336  
215337  // AsCassandraTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215338  func (zod ZohoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) {
215339  	return nil, false
215340  }
215341  
215342  // AsAzureSQLDWTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215343  func (zod ZohoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) {
215344  	return nil, false
215345  }
215346  
215347  // AsAzureSQLMITableDataset is the BasicDataset implementation for ZohoObjectDataset.
215348  func (zod ZohoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) {
215349  	return nil, false
215350  }
215351  
215352  // AsAzureSQLTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215353  func (zod ZohoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) {
215354  	return nil, false
215355  }
215356  
215357  // AsAzureTableDataset is the BasicDataset implementation for ZohoObjectDataset.
215358  func (zod ZohoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) {
215359  	return nil, false
215360  }
215361  
215362  // AsBinaryDataset is the BasicDataset implementation for ZohoObjectDataset.
215363  func (zod ZohoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) {
215364  	return nil, false
215365  }
215366  
215367  // AsOrcDataset is the BasicDataset implementation for ZohoObjectDataset.
215368  func (zod ZohoObjectDataset) AsOrcDataset() (*OrcDataset, bool) {
215369  	return nil, false
215370  }
215371  
215372  // AsJSONDataset is the BasicDataset implementation for ZohoObjectDataset.
215373  func (zod ZohoObjectDataset) AsJSONDataset() (*JSONDataset, bool) {
215374  	return nil, false
215375  }
215376  
215377  // AsDelimitedTextDataset is the BasicDataset implementation for ZohoObjectDataset.
215378  func (zod ZohoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) {
215379  	return nil, false
215380  }
215381  
215382  // AsParquetDataset is the BasicDataset implementation for ZohoObjectDataset.
215383  func (zod ZohoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) {
215384  	return nil, false
215385  }
215386  
215387  // AsAvroDataset is the BasicDataset implementation for ZohoObjectDataset.
215388  func (zod ZohoObjectDataset) AsAvroDataset() (*AvroDataset, bool) {
215389  	return nil, false
215390  }
215391  
215392  // AsDataset is the BasicDataset implementation for ZohoObjectDataset.
215393  func (zod ZohoObjectDataset) AsDataset() (*Dataset, bool) {
215394  	return nil, false
215395  }
215396  
215397  // AsBasicDataset is the BasicDataset implementation for ZohoObjectDataset.
215398  func (zod ZohoObjectDataset) AsBasicDataset() (BasicDataset, bool) {
215399  	return &zod, true
215400  }
215401  
215402  // UnmarshalJSON is the custom unmarshaler for ZohoObjectDataset struct.
215403  func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error {
215404  	var m map[string]*json.RawMessage
215405  	err := json.Unmarshal(body, &m)
215406  	if err != nil {
215407  		return err
215408  	}
215409  	for k, v := range m {
215410  		switch k {
215411  		case "typeProperties":
215412  			if v != nil {
215413  				var genericDatasetTypeProperties GenericDatasetTypeProperties
215414  				err = json.Unmarshal(*v, &genericDatasetTypeProperties)
215415  				if err != nil {
215416  					return err
215417  				}
215418  				zod.GenericDatasetTypeProperties = &genericDatasetTypeProperties
215419  			}
215420  		default:
215421  			if v != nil {
215422  				var additionalProperties interface{}
215423  				err = json.Unmarshal(*v, &additionalProperties)
215424  				if err != nil {
215425  					return err
215426  				}
215427  				if zod.AdditionalProperties == nil {
215428  					zod.AdditionalProperties = make(map[string]interface{})
215429  				}
215430  				zod.AdditionalProperties[k] = additionalProperties
215431  			}
215432  		case "description":
215433  			if v != nil {
215434  				var description string
215435  				err = json.Unmarshal(*v, &description)
215436  				if err != nil {
215437  					return err
215438  				}
215439  				zod.Description = &description
215440  			}
215441  		case "structure":
215442  			if v != nil {
215443  				var structure interface{}
215444  				err = json.Unmarshal(*v, &structure)
215445  				if err != nil {
215446  					return err
215447  				}
215448  				zod.Structure = structure
215449  			}
215450  		case "schema":
215451  			if v != nil {
215452  				var schema interface{}
215453  				err = json.Unmarshal(*v, &schema)
215454  				if err != nil {
215455  					return err
215456  				}
215457  				zod.Schema = schema
215458  			}
215459  		case "linkedServiceName":
215460  			if v != nil {
215461  				var linkedServiceName LinkedServiceReference
215462  				err = json.Unmarshal(*v, &linkedServiceName)
215463  				if err != nil {
215464  					return err
215465  				}
215466  				zod.LinkedServiceName = &linkedServiceName
215467  			}
215468  		case "parameters":
215469  			if v != nil {
215470  				var parameters map[string]*ParameterSpecification
215471  				err = json.Unmarshal(*v, &parameters)
215472  				if err != nil {
215473  					return err
215474  				}
215475  				zod.Parameters = parameters
215476  			}
215477  		case "annotations":
215478  			if v != nil {
215479  				var annotations []interface{}
215480  				err = json.Unmarshal(*v, &annotations)
215481  				if err != nil {
215482  					return err
215483  				}
215484  				zod.Annotations = &annotations
215485  			}
215486  		case "folder":
215487  			if v != nil {
215488  				var folder DatasetFolder
215489  				err = json.Unmarshal(*v, &folder)
215490  				if err != nil {
215491  					return err
215492  				}
215493  				zod.Folder = &folder
215494  			}
215495  		case "type":
215496  			if v != nil {
215497  				var typeVar TypeBasicDataset
215498  				err = json.Unmarshal(*v, &typeVar)
215499  				if err != nil {
215500  					return err
215501  				}
215502  				zod.Type = typeVar
215503  			}
215504  		}
215505  	}
215506  
215507  	return nil
215508  }
215509  
215510  // ZohoSource a copy activity Zoho server source.
215511  type ZohoSource struct {
215512  	// Query - A query to retrieve data from source. Type: string (or Expression with resultType string).
215513  	Query interface{} `json:"query,omitempty"`
215514  	// QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
215515  	QueryTimeout interface{} `json:"queryTimeout,omitempty"`
215516  	// AdditionalProperties - Unmatched properties from the message are deserialized this collection
215517  	AdditionalProperties map[string]interface{} `json:""`
215518  	// SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer).
215519  	SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"`
215520  	// 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])).
215521  	SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"`
215522  	// MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer).
215523  	MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"`
215524  	// Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource'
215525  	Type TypeBasicCopySource `json:"type,omitempty"`
215526  }
215527  
215528  // MarshalJSON is the custom marshaler for ZohoSource.
215529  func (zs ZohoSource) MarshalJSON() ([]byte, error) {
215530  	zs.Type = TypeZohoSource
215531  	objectMap := make(map[string]interface{})
215532  	if zs.Query != nil {
215533  		objectMap["query"] = zs.Query
215534  	}
215535  	if zs.QueryTimeout != nil {
215536  		objectMap["queryTimeout"] = zs.QueryTimeout
215537  	}
215538  	if zs.SourceRetryCount != nil {
215539  		objectMap["sourceRetryCount"] = zs.SourceRetryCount
215540  	}
215541  	if zs.SourceRetryWait != nil {
215542  		objectMap["sourceRetryWait"] = zs.SourceRetryWait
215543  	}
215544  	if zs.MaxConcurrentConnections != nil {
215545  		objectMap["maxConcurrentConnections"] = zs.MaxConcurrentConnections
215546  	}
215547  	if zs.Type != "" {
215548  		objectMap["type"] = zs.Type
215549  	}
215550  	for k, v := range zs.AdditionalProperties {
215551  		objectMap[k] = v
215552  	}
215553  	return json.Marshal(objectMap)
215554  }
215555  
215556  // AsHTTPSource is the BasicCopySource implementation for ZohoSource.
215557  func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) {
215558  	return nil, false
215559  }
215560  
215561  // AsAzureBlobFSSource is the BasicCopySource implementation for ZohoSource.
215562  func (zs ZohoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) {
215563  	return nil, false
215564  }
215565  
215566  // AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource.
215567  func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) {
215568  	return nil, false
215569  }
215570  
215571  // AsOffice365Source is the BasicCopySource implementation for ZohoSource.
215572  func (zs ZohoSource) AsOffice365Source() (*Office365Source, bool) {
215573  	return nil, false
215574  }
215575  
215576  // AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ZohoSource.
215577  func (zs ZohoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) {
215578  	return nil, false
215579  }
215580  
215581  // AsMongoDbV2Source is the BasicCopySource implementation for ZohoSource.
215582  func (zs ZohoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) {
215583  	return nil, false
215584  }
215585  
215586  // AsMongoDbSource is the BasicCopySource implementation for ZohoSource.
215587  func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) {
215588  	return nil, false
215589  }
215590  
215591  // AsWebSource is the BasicCopySource implementation for ZohoSource.
215592  func (zs ZohoSource) AsWebSource() (*WebSource, bool) {
215593  	return nil, false
215594  }
215595  
215596  // AsOracleSource is the BasicCopySource implementation for ZohoSource.
215597  func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) {
215598  	return nil, false
215599  }
215600  
215601  // AsAzureDataExplorerSource is the BasicCopySource implementation for ZohoSource.
215602  func (zs ZohoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) {
215603  	return nil, false
215604  }
215605  
215606  // AsHdfsSource is the BasicCopySource implementation for ZohoSource.
215607  func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) {
215608  	return nil, false
215609  }
215610  
215611  // AsFileSystemSource is the BasicCopySource implementation for ZohoSource.
215612  func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) {
215613  	return nil, false
215614  }
215615  
215616  // AsRestSource is the BasicCopySource implementation for ZohoSource.
215617  func (zs ZohoSource) AsRestSource() (*RestSource, bool) {
215618  	return nil, false
215619  }
215620  
215621  // AsSalesforceServiceCloudSource is the BasicCopySource implementation for ZohoSource.
215622  func (zs ZohoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) {
215623  	return nil, false
215624  }
215625  
215626  // AsODataSource is the BasicCopySource implementation for ZohoSource.
215627  func (zs ZohoSource) AsODataSource() (*ODataSource, bool) {
215628  	return nil, false
215629  }
215630  
215631  // AsMicrosoftAccessSource is the BasicCopySource implementation for ZohoSource.
215632  func (zs ZohoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) {
215633  	return nil, false
215634  }
215635  
215636  // AsRelationalSource is the BasicCopySource implementation for ZohoSource.
215637  func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) {
215638  	return nil, false
215639  }
215640  
215641  // AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ZohoSource.
215642  func (zs ZohoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) {
215643  	return nil, false
215644  }
215645  
215646  // AsDynamicsCrmSource is the BasicCopySource implementation for ZohoSource.
215647  func (zs ZohoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) {
215648  	return nil, false
215649  }
215650  
215651  // AsDynamicsSource is the BasicCopySource implementation for ZohoSource.
215652  func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) {
215653  	return nil, false
215654  }
215655  
215656  // AsCosmosDbSQLAPISource is the BasicCopySource implementation for ZohoSource.
215657  func (zs ZohoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) {
215658  	return nil, false
215659  }
215660  
215661  // AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource.
215662  func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) {
215663  	return nil, false
215664  }
215665  
215666  // AsBlobSource is the BasicCopySource implementation for ZohoSource.
215667  func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) {
215668  	return nil, false
215669  }
215670  
215671  // AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource.
215672  func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) {
215673  	return nil, false
215674  }
215675  
215676  // AsGoogleAdWordsSource is the BasicCopySource implementation for ZohoSource.
215677  func (zs ZohoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) {
215678  	return nil, false
215679  }
215680  
215681  // AsOracleServiceCloudSource is the BasicCopySource implementation for ZohoSource.
215682  func (zs ZohoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) {
215683  	return nil, false
215684  }
215685  
215686  // AsDynamicsAXSource is the BasicCopySource implementation for ZohoSource.
215687  func (zs ZohoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) {
215688  	return nil, false
215689  }
215690  
215691  // AsResponsysSource is the BasicCopySource implementation for ZohoSource.
215692  func (zs ZohoSource) AsResponsysSource() (*ResponsysSource, bool) {
215693  	return nil, false
215694  }
215695  
215696  // AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ZohoSource.
215697  func (zs ZohoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) {
215698  	return nil, false
215699  }
215700  
215701  // AsVerticaSource is the BasicCopySource implementation for ZohoSource.
215702  func (zs ZohoSource) AsVerticaSource() (*VerticaSource, bool) {
215703  	return nil, false
215704  }
215705  
215706  // AsNetezzaSource is the BasicCopySource implementation for ZohoSource.
215707  func (zs ZohoSource) AsNetezzaSource() (*NetezzaSource, bool) {
215708  	return nil, false
215709  }
215710  
215711  // AsZohoSource is the BasicCopySource implementation for ZohoSource.
215712  func (zs ZohoSource) AsZohoSource() (*ZohoSource, bool) {
215713  	return &zs, true
215714  }
215715  
215716  // AsXeroSource is the BasicCopySource implementation for ZohoSource.
215717  func (zs ZohoSource) AsXeroSource() (*XeroSource, bool) {
215718  	return nil, false
215719  }
215720  
215721  // AsSquareSource is the BasicCopySource implementation for ZohoSource.
215722  func (zs ZohoSource) AsSquareSource() (*SquareSource, bool) {
215723  	return nil, false
215724  }
215725  
215726  // AsSparkSource is the BasicCopySource implementation for ZohoSource.
215727  func (zs ZohoSource) AsSparkSource() (*SparkSource, bool) {
215728  	return nil, false
215729  }
215730  
215731  // AsShopifySource is the BasicCopySource implementation for ZohoSource.
215732  func (zs ZohoSource) AsShopifySource() (*ShopifySource, bool) {
215733  	return nil, false
215734  }
215735  
215736  // AsServiceNowSource is the BasicCopySource implementation for ZohoSource.
215737  func (zs ZohoSource) AsServiceNowSource() (*ServiceNowSource, bool) {
215738  	return nil, false
215739  }
215740  
215741  // AsQuickBooksSource is the BasicCopySource implementation for ZohoSource.
215742  func (zs ZohoSource) AsQuickBooksSource() (*QuickBooksSource, bool) {
215743  	return nil, false
215744  }
215745  
215746  // AsPrestoSource is the BasicCopySource implementation for ZohoSource.
215747  func (zs ZohoSource) AsPrestoSource() (*PrestoSource, bool) {
215748  	return nil, false
215749  }
215750  
215751  // AsPhoenixSource is the BasicCopySource implementation for ZohoSource.
215752  func (zs ZohoSource) AsPhoenixSource() (*PhoenixSource, bool) {
215753  	return nil, false
215754  }
215755  
215756  // AsPaypalSource is the BasicCopySource implementation for ZohoSource.
215757  func (zs ZohoSource) AsPaypalSource() (*PaypalSource, bool) {
215758  	return nil, false
215759  }
215760  
215761  // AsMarketoSource is the BasicCopySource implementation for ZohoSource.
215762  func (zs ZohoSource) AsMarketoSource() (*MarketoSource, bool) {
215763  	return nil, false
215764  }
215765  
215766  // AsAzureMariaDBSource is the BasicCopySource implementation for ZohoSource.
215767  func (zs ZohoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) {
215768  	return nil, false
215769  }
215770  
215771  // AsMariaDBSource is the BasicCopySource implementation for ZohoSource.
215772  func (zs ZohoSource) AsMariaDBSource() (*MariaDBSource, bool) {
215773  	return nil, false
215774  }
215775  
215776  // AsMagentoSource is the BasicCopySource implementation for ZohoSource.
215777  func (zs ZohoSource) AsMagentoSource() (*MagentoSource, bool) {
215778  	return nil, false
215779  }
215780  
215781  // AsJiraSource is the BasicCopySource implementation for ZohoSource.
215782  func (zs ZohoSource) AsJiraSource() (*JiraSource, bool) {
215783  	return nil, false
215784  }
215785  
215786  // AsImpalaSource is the BasicCopySource implementation for ZohoSource.
215787  func (zs ZohoSource) AsImpalaSource() (*ImpalaSource, bool) {
215788  	return nil, false
215789  }
215790  
215791  // AsHubspotSource is the BasicCopySource implementation for ZohoSource.
215792  func (zs ZohoSource) AsHubspotSource() (*HubspotSource, bool) {
215793  	return nil, false
215794  }
215795  
215796  // AsHiveSource is the BasicCopySource implementation for ZohoSource.
215797  func (zs ZohoSource) AsHiveSource() (*HiveSource, bool) {
215798  	return nil, false
215799  }
215800  
215801  // AsHBaseSource is the BasicCopySource implementation for ZohoSource.
215802  func (zs ZohoSource) AsHBaseSource() (*HBaseSource, bool) {
215803  	return nil, false
215804  }
215805  
215806  // AsGreenplumSource is the BasicCopySource implementation for ZohoSource.
215807  func (zs ZohoSource) AsGreenplumSource() (*GreenplumSource, bool) {
215808  	return nil, false
215809  }
215810  
215811  // AsGoogleBigQuerySource is the BasicCopySource implementation for ZohoSource.
215812  func (zs ZohoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) {
215813  	return nil, false
215814  }
215815  
215816  // AsEloquaSource is the BasicCopySource implementation for ZohoSource.
215817  func (zs ZohoSource) AsEloquaSource() (*EloquaSource, bool) {
215818  	return nil, false
215819  }
215820  
215821  // AsDrillSource is the BasicCopySource implementation for ZohoSource.
215822  func (zs ZohoSource) AsDrillSource() (*DrillSource, bool) {
215823  	return nil, false
215824  }
215825  
215826  // AsCouchbaseSource is the BasicCopySource implementation for ZohoSource.
215827  func (zs ZohoSource) AsCouchbaseSource() (*CouchbaseSource, bool) {
215828  	return nil, false
215829  }
215830  
215831  // AsConcurSource is the BasicCopySource implementation for ZohoSource.
215832  func (zs ZohoSource) AsConcurSource() (*ConcurSource, bool) {
215833  	return nil, false
215834  }
215835  
215836  // AsAzurePostgreSQLSource is the BasicCopySource implementation for ZohoSource.
215837  func (zs ZohoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) {
215838  	return nil, false
215839  }
215840  
215841  // AsAmazonMWSSource is the BasicCopySource implementation for ZohoSource.
215842  func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) {
215843  	return nil, false
215844  }
215845  
215846  // AsCassandraSource is the BasicCopySource implementation for ZohoSource.
215847  func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) {
215848  	return nil, false
215849  }
215850  
215851  // AsTeradataSource is the BasicCopySource implementation for ZohoSource.
215852  func (zs ZohoSource) AsTeradataSource() (*TeradataSource, bool) {
215853  	return nil, false
215854  }
215855  
215856  // AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource.
215857  func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) {
215858  	return nil, false
215859  }
215860  
215861  // AsSQLDWSource is the BasicCopySource implementation for ZohoSource.
215862  func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) {
215863  	return nil, false
215864  }
215865  
215866  // AsSQLMISource is the BasicCopySource implementation for ZohoSource.
215867  func (zs ZohoSource) AsSQLMISource() (*SQLMISource, bool) {
215868  	return nil, false
215869  }
215870  
215871  // AsAzureSQLSource is the BasicCopySource implementation for ZohoSource.
215872  func (zs ZohoSource) AsAzureSQLSource() (*AzureSQLSource, bool) {
215873  	return nil, false
215874  }
215875  
215876  // AsSQLServerSource is the BasicCopySource implementation for ZohoSource.
215877  func (zs ZohoSource) AsSQLServerSource() (*SQLServerSource, bool) {
215878  	return nil, false
215879  }
215880  
215881  // AsSQLSource is the BasicCopySource implementation for ZohoSource.
215882  func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) {
215883  	return nil, false
215884  }
215885  
215886  // AsSapTableSource is the BasicCopySource implementation for ZohoSource.
215887  func (zs ZohoSource) AsSapTableSource() (*SapTableSource, bool) {
215888  	return nil, false
215889  }
215890  
215891  // AsSapOpenHubSource is the BasicCopySource implementation for ZohoSource.
215892  func (zs ZohoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) {
215893  	return nil, false
215894  }
215895  
215896  // AsSapHanaSource is the BasicCopySource implementation for ZohoSource.
215897  func (zs ZohoSource) AsSapHanaSource() (*SapHanaSource, bool) {
215898  	return nil, false
215899  }
215900  
215901  // AsSapEccSource is the BasicCopySource implementation for ZohoSource.
215902  func (zs ZohoSource) AsSapEccSource() (*SapEccSource, bool) {
215903  	return nil, false
215904  }
215905  
215906  // AsSapCloudForCustomerSource is the BasicCopySource implementation for ZohoSource.
215907  func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) {
215908  	return nil, false
215909  }
215910  
215911  // AsSalesforceSource is the BasicCopySource implementation for ZohoSource.
215912  func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) {
215913  	return nil, false
215914  }
215915  
215916  // AsSapBwSource is the BasicCopySource implementation for ZohoSource.
215917  func (zs ZohoSource) AsSapBwSource() (*SapBwSource, bool) {
215918  	return nil, false
215919  }
215920  
215921  // AsSybaseSource is the BasicCopySource implementation for ZohoSource.
215922  func (zs ZohoSource) AsSybaseSource() (*SybaseSource, bool) {
215923  	return nil, false
215924  }
215925  
215926  // AsPostgreSQLSource is the BasicCopySource implementation for ZohoSource.
215927  func (zs ZohoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) {
215928  	return nil, false
215929  }
215930  
215931  // AsMySQLSource is the BasicCopySource implementation for ZohoSource.
215932  func (zs ZohoSource) AsMySQLSource() (*MySQLSource, bool) {
215933  	return nil, false
215934  }
215935  
215936  // AsOdbcSource is the BasicCopySource implementation for ZohoSource.
215937  func (zs ZohoSource) AsOdbcSource() (*OdbcSource, bool) {
215938  	return nil, false
215939  }
215940  
215941  // AsDb2Source is the BasicCopySource implementation for ZohoSource.
215942  func (zs ZohoSource) AsDb2Source() (*Db2Source, bool) {
215943  	return nil, false
215944  }
215945  
215946  // AsInformixSource is the BasicCopySource implementation for ZohoSource.
215947  func (zs ZohoSource) AsInformixSource() (*InformixSource, bool) {
215948  	return nil, false
215949  }
215950  
215951  // AsAzureTableSource is the BasicCopySource implementation for ZohoSource.
215952  func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) {
215953  	return nil, false
215954  }
215955  
215956  // AsTabularSource is the BasicCopySource implementation for ZohoSource.
215957  func (zs ZohoSource) AsTabularSource() (*TabularSource, bool) {
215958  	return nil, false
215959  }
215960  
215961  // AsBasicTabularSource is the BasicCopySource implementation for ZohoSource.
215962  func (zs ZohoSource) AsBasicTabularSource() (BasicTabularSource, bool) {
215963  	return &zs, true
215964  }
215965  
215966  // AsBinarySource is the BasicCopySource implementation for ZohoSource.
215967  func (zs ZohoSource) AsBinarySource() (*BinarySource, bool) {
215968  	return nil, false
215969  }
215970  
215971  // AsOrcSource is the BasicCopySource implementation for ZohoSource.
215972  func (zs ZohoSource) AsOrcSource() (*OrcSource, bool) {
215973  	return nil, false
215974  }
215975  
215976  // AsJSONSource is the BasicCopySource implementation for ZohoSource.
215977  func (zs ZohoSource) AsJSONSource() (*JSONSource, bool) {
215978  	return nil, false
215979  }
215980  
215981  // AsDelimitedTextSource is the BasicCopySource implementation for ZohoSource.
215982  func (zs ZohoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) {
215983  	return nil, false
215984  }
215985  
215986  // AsParquetSource is the BasicCopySource implementation for ZohoSource.
215987  func (zs ZohoSource) AsParquetSource() (*ParquetSource, bool) {
215988  	return nil, false
215989  }
215990  
215991  // AsAvroSource is the BasicCopySource implementation for ZohoSource.
215992  func (zs ZohoSource) AsAvroSource() (*AvroSource, bool) {
215993  	return nil, false
215994  }
215995  
215996  // AsCopySource is the BasicCopySource implementation for ZohoSource.
215997  func (zs ZohoSource) AsCopySource() (*CopySource, bool) {
215998  	return nil, false
215999  }
216000  
216001  // AsBasicCopySource is the BasicCopySource implementation for ZohoSource.
216002  func (zs ZohoSource) AsBasicCopySource() (BasicCopySource, bool) {
216003  	return &zs, true
216004  }
216005  
216006  // UnmarshalJSON is the custom unmarshaler for ZohoSource struct.
216007  func (zs *ZohoSource) UnmarshalJSON(body []byte) error {
216008  	var m map[string]*json.RawMessage
216009  	err := json.Unmarshal(body, &m)
216010  	if err != nil {
216011  		return err
216012  	}
216013  	for k, v := range m {
216014  		switch k {
216015  		case "query":
216016  			if v != nil {
216017  				var query interface{}
216018  				err = json.Unmarshal(*v, &query)
216019  				if err != nil {
216020  					return err
216021  				}
216022  				zs.Query = query
216023  			}
216024  		case "queryTimeout":
216025  			if v != nil {
216026  				var queryTimeout interface{}
216027  				err = json.Unmarshal(*v, &queryTimeout)
216028  				if err != nil {
216029  					return err
216030  				}
216031  				zs.QueryTimeout = queryTimeout
216032  			}
216033  		default:
216034  			if v != nil {
216035  				var additionalProperties interface{}
216036  				err = json.Unmarshal(*v, &additionalProperties)
216037  				if err != nil {
216038  					return err
216039  				}
216040  				if zs.AdditionalProperties == nil {
216041  					zs.AdditionalProperties = make(map[string]interface{})
216042  				}
216043  				zs.AdditionalProperties[k] = additionalProperties
216044  			}
216045  		case "sourceRetryCount":
216046  			if v != nil {
216047  				var sourceRetryCount interface{}
216048  				err = json.Unmarshal(*v, &sourceRetryCount)
216049  				if err != nil {
216050  					return err
216051  				}
216052  				zs.SourceRetryCount = sourceRetryCount
216053  			}
216054  		case "sourceRetryWait":
216055  			if v != nil {
216056  				var sourceRetryWait interface{}
216057  				err = json.Unmarshal(*v, &sourceRetryWait)
216058  				if err != nil {
216059  					return err
216060  				}
216061  				zs.SourceRetryWait = sourceRetryWait
216062  			}
216063  		case "maxConcurrentConnections":
216064  			if v != nil {
216065  				var maxConcurrentConnections interface{}
216066  				err = json.Unmarshal(*v, &maxConcurrentConnections)
216067  				if err != nil {
216068  					return err
216069  				}
216070  				zs.MaxConcurrentConnections = maxConcurrentConnections
216071  			}
216072  		case "type":
216073  			if v != nil {
216074  				var typeVar TypeBasicCopySource
216075  				err = json.Unmarshal(*v, &typeVar)
216076  				if err != nil {
216077  					return err
216078  				}
216079  				zs.Type = typeVar
216080  			}
216081  		}
216082  	}
216083  
216084  	return nil
216085  }
216086  

View as plain text